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

(* Specifications: *)
Lemma boxy_expand_spec: forall (p: pred (K0.knot*KI.other)), boxy expandM p <-> (fun p: pred (K0.knot*KI.other) => forall x y, expandR x y -> proj1_sig p x -> proj1_sig p y) p.
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).