(* Finally, we must show that f_Sn preserves unsquashing. *)

(* Specifications: *)
Lemma Fn_iso2 : forall m,
m <= n + 1 ->
g_F' f oo f_F' g oo fmap F (K1.approx m) = fmap F (K1.approx m).
Lemma gn_unsquash : forall k2,
level k2 <= n ->
forall U2,
U2 = K2.unsquash k2 ->
K1.unsquash (g k2) = (fst U2, g_F' f (snd U2)).
Lemma gn_squash : forall m F2,
m <= n ->
g (K2.squash (m, F2)) = K1.squash (m, g_F' f F2).
Lemma fSn_unsquash : forall k1,
level k1 <= n + 1 ->
forall U1,
U1 = K1.unsquash k1 ->
K2.unsquash (f_Sn k1) = (fst U1, f_F' (g_Sn) (snd U1)).
Lemma gn_gSn_eq_n : forall k,
level k <= n ->
g k = g_Sn k.