Module TF := TyFunctorProp2TyFunctor(K.TF).
Definition knot : Type := K.knot.
Definition predicate := (knot * other) -> T.
Definition ag_knot : ageable knot :=
K.ag_knot.
Existing Instance ag_knot.
Existing Instance ag_prod.
Definition squash : (nat * F predicate) -> knot :=
K.squash.
Definition unsquash : knot -> (nat * F predicate) :=
K.unsquash.
Definition approx (n:nat) (p:predicate) : predicate :=
fun w => if le_gt_dec n (level w) then T_bot else p w.

Lemma unsquash_squash : forall n x', unsquash (squash (n,x')) = (n,fmap F (approx n) x').