This document presents information about Directed Acyclic Graphs (DAGs):
1) A DAG is a directed graph that contains no cycles. It can be used to represent common subexpressions in a compiler by only compiling a subexpression once but using its value multiple times.
2) DAGs can also represent prerequisites in a university course schedule or constraints in a construction project, with edges drawn from nodes a to b whenever a occurs before b.
3) Partial orders used to prevent cycles in DAGs must be transitive and non-reflexive.