Let x be given.
Let F be given.
Apply HexInv to the current goal.
Let g be given.
Assume Hgpack.
We prove the intermediate
claim Hgfun:
function_on g Y X.
We prove the intermediate
claim HyY:
y ∈ Y.
An exact proof term for the current goal is (Hfunf x HxX).
We prove the intermediate
claim HFyClosed:
closed_in Y Ty Fy.
We prove the intermediate
claim HynotFy:
y ∉ Fy.
We prove the intermediate
claim HgyF:
apply_fun g y ∈ F.
An
exact proof term for the current goal is
(SepE2 Y (λu : set ⇒ apply_fun g u ∈ F) y HyFy).
We prove the intermediate
claim HgyEq:
apply_fun g y = x.
An exact proof term for the current goal is (Hgf x HxX).
We prove the intermediate
claim HxF:
x ∈ F.
rewrite the current goal using HgyEq (from right to left).
An exact proof term for the current goal is HgyF.
An exact proof term for the current goal is (HxnotF HxF).
Apply (HsepY y HyY Fy HFyClosed HynotFy) to the current goal.
Let h be given.
Assume Hhpack.
We use
(compose_fun X f h) to
witness the existential quantifier.
We prove the intermediate
claim Hhy0:
apply_fun h y = 0.
We prove the intermediate
claim HhFy:
∀z : set, z ∈ Fy → apply_fun h z = 1.
Apply andI to the current goal.
Apply andI to the current goal.
rewrite the current goal using Hhy0 (from right to left).
Use reflexivity.
Let z be given.
We prove the intermediate
claim HzX:
z ∈ X.
An
exact proof term for the current goal is
(closed_in_subset X Tx F HFcl z HzF).
We prove the intermediate
claim HfzY:
apply_fun f z ∈ Y.
An exact proof term for the current goal is (Hfunf z HzX).
An exact proof term for the current goal is (Hgf z HzX).
We prove the intermediate
claim HfzFy:
apply_fun f z ∈ Fy.
We prove the intermediate
claim HFyDef:
Fy = preimage_of Y g F.
rewrite the current goal using HFyDef (from left to right).
rewrite the current goal using HpreDef (from left to right).
rewrite the current goal using Hgfz (from left to right).
An exact proof term for the current goal is HzF.
An
exact proof term for the current goal is
(HhFy (apply_fun f z) HfzFy).