Arguments unsquash_inj [k1 k2] _.

(* Specifications: *)
Axiom squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Axiom unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap (approx n) Fp.
Lemma squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Lemma unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap F (approx n) (approx n) Fp.
Lemma squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Lemma unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap KI.F (approx n) Fp.
Lemma squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Lemma unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap KI.F (approx n) Fp.
Lemma squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Lemma unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap KI.F (approx n) Fp.
Lemma squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Lemma unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap KI.F (approx n) (approx n) Fp.
Lemma squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Lemma unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap F (approx n) Fp.
Lemma ag_knot_facts : ageable_facts knot def_knot_level def_knot_age1.
Definition ag_knot : ageable knot :=
mkAgeable knot def_knot_level def_knot_age1 ag_knot_facts .
Lemma pred_ext : forall (p1 p2:predicate),
(forall x, proj1_sig p1 x = proj1_sig p2 x) ->
p1 = p2.
Lemma approx_spec : forall n p ko,
proj1_sig (approx n p) ko =
if (le_gt_dec n (knot_level_def (fst ko))) then T_bot else proj1_sig p ko.
Lemma ag_knot_facts : ageable_facts knot knot_level_def knot_age1_def.
Definition ageable_knot : ageable knot :=
mkAgeable knot knot_level_def knot_age1_def ag_knot_facts.
Lemma squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Lemma unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap F (approx n) (approx n) Fp.
Axiom squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Axiom unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap KI.F (approx n) (approx n) Fp.
Lemma squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Lemma unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap F (approx n) (approx n) Fp.
Lemma pred_ext : forall (p1 p2:predicate),
(forall x, proj1_sig p1 x = proj1_sig p2 x) ->
p1 = p2.
Lemma approx_spec : forall n p ko,
proj1_sig (approx n p) ko =
if (le_gt_dec n (knot_level_def (fst ko))) then T_bot else proj1_sig p ko.
Lemma ag_knot_facts : ageable_facts knot knot_level_def knot_age1_def.
Definition ageable_knot : ageable knot :=
mkAgeable knot knot_level_def knot_age1_def ag_knot_facts.
Lemma squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Lemma unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = bimap (approx n) (approx n) Fp.
Lemma squash_surj : forall k, exists n, exists Fp,
squash (n, Fp) = k.
Lemma unsquash_approx : forall k n Fp,
unsquash k = (n, Fp) ->
Fp = fmap F (approx n) Fp.