edge from its source and the only incoming edge into its target. Another type of flow graph commonly used is the call graph, in which nodes correspond to entire subroutines. The general notion of flow graph has been called program graph, but the same term has also been used to denote only control-flow graphs. Flow graphs have also been called unlabeled flowgraphs, and proper flowgraphs. These graphs are sometimes used in software testing. When required to have a single exit, flow graphs have two properties not shared with directed graphs in general. Flow graphs can be nested, which is the equivalent of a subroutine call (although there is no notion of passing parameters), and flow graphs can also be sequenced, which is the equivalent of sequential execution of two pieces of code. Prime flow graphs are defined as flow graphs that cannot be decomposed via nesting or sequencing using a chosen pattern of subgraphs, for example the primitives of structured programming. Theoretical research has been done on determining, for example, the proportion of prime flow graphs given a chosen set of graphs. Set theory Peter Aczel has used rooted directed graphs such that every node is reachable from the root (which he calls accessible pointed graphs) to formulate Aczel's anti-foundation axiom in non-well-founded set theory. In this context, each vertex of an accessible pointed graph models a (non-well-founded) set within Aczel's (non-well-founded) set theory, and an arc from a vertex v to a vertex w models that v is an element of w. Aczel's anti-foundation axiom states that every accessible pointed graph models a family of (non-well-founded) sets in this way. Combinatorial game theory Given a purely combinatorial game, there is an associated rooted directed graph whose vertices are game positions and whose edges are moves, and graph traversal starting from the root is used to create a game tree. If the graph contains directed cycles, then a position in the game could repeat infinitely many times, and rules are usually needed to prevent the game from continuing indefinitely. Otherwise, the graph is a directed acyclic graph, and if it isn't a rooted tree, then the game has transpositions. This graph and its topology is important in the study of game complexity, where the state-space complexity is the number of vertices in the graph, the average game length is the average number of vertices traversed from the root to a