Definition pkp: bijection predicate K0.predicate :=
      (bij_sym (sig_sig_iff_bij hered_hereditary)) ooo
      (bij_sym (sig_sigsig_bij (hereditary age) _)) ooo
      (sig_sig_iff_bij boxy_expand_spec).Module K := knot_full_variant.KnotFull(Input)(Output).Definition knot := K.knot.Definition ageable_knot := K.ageable_knot.Definition squash: (nat * KI.F assert) -> knot := K.squash.Definition unsquash: knot -> (nat * KI.F assert) := K.unsquash.Definition approx: nat -> assert -> assert := K.approx.

(* Specifications: *)
Lemma approx_spec : forall n p k, proj1_sig (approx n p) k = (level (fst k) < n /\ proj1_sig p k).