Suppose you have a family of sets R

_{n}indexed by natural numbers, some operations dom

_{n}, cod

_{n}: R

_{n+1}→ PR

_{n}(where P indicates powerset) and a predicate v

_{n}: R

_{n}→ bool. Elements of R

_{n}are called "n-cells" and things satisfying v

_{n}are called "virtual n-cells" — they serve to record domain and codomain in a slick way.

A subset C of R

_{n}is an

*n-precycle*if it has exactly one virtual n-cell in it. We write that cell as k(C) and define C* to be C without k(C). (C,D) ∈ PR

_{n+1}× PR

_{n+1}is a

*prespan*if C and D are both precycles with k(C) = k(D).

Let an n-precycle P be given. A subset C of R

_{n+1}is

*balanced over P*if the union of (dom

_{n}x)* for x ∈ C is equal to P*, and no overlap occurs while computing this union, and so too for cod.

A 0-precycle is a

*0-cycle*if its cardinality is two. (Think of the two-point 0-sphere) An (n+1)-precycle P is an

*n-cycle*if there is an n-precycle Q such that

- P is a precycle over Q
- P has no strict subset that is also a precycle balanced over Q
- Q is a union of n-cycles
- dom(k(P)) and cod(k(P)) are subsets of Q

(C,D) ∈ PR

_{n+1}× PR

_{n+1}is a

*span*if C and D are both cycles with k(C) = k(D).

(R

_{n}, dom, cod, v) is a

*ω-graph*if (dom x, cod x) is a span for every x, and for every span (D, C), there is exactly one virtual cell x such that dom x = D and cod x = C. As well there must be exactly one virtual cell in R

_{0}.