Definition assert := { p:pred (K0.knot * KI.other) | boxy expandM p }.Module KI := Input.Module K0 := K0.Definition predicate: Type := assert.

Lemma hered_hereditary : forall (p:K0.knot*KI.other -> Prop), K0.hered p <-> (hereditary age p /\ (fun p:K0.knot*KI.other -> Prop => forall x y, expandR x y -> p x -> p y) p).