(* Now for the main definitions and theorems *)

Definition f (k : K1.knot) : K2.knot := fst (fg (level k)) k.Definition g (k : K2.knot) : K1.knot := snd (fg (level k)) k.Definition fF : TF.F K1.predicate -> TF.F K2.predicate :=
  f_F' g.Definition gF : TF.F K2.predicate -> TF.F K1.predicate :=
  g_F' f.

Lemma g_squash : forall n F2, g (K2.squash (n, F2)) = K1.squash (n, gF F2).