Let X, Tx, Y and Ty be given.
We prove the intermediate
claim HB0:
basis_on X0 B0.
We prove the intermediate
claim HT0:
topology_on X0 T0.
Set Xi to be the term
graph I (λi : set ⇒ If_i (i = 0) (X,Tx) (Y,Ty)).
We prove the intermediate
claim HXi0:
apply_fun Xi 0 = (X,Tx).
We prove the intermediate
claim H0I:
0 ∈ I.
An
exact proof term for the current goal is
In_0_2.
rewrite the current goal using
(apply_fun_graph I (λi0 : set ⇒ If_i (i0 = 0) (X,Tx) (Y,Ty)) 0 H0I) (from left to right).
We prove the intermediate
claim H00:
0 = 0.
rewrite the current goal using
(If_i_1 (0 = 0) (X,Tx) (Y,Ty) H00) (from left to right).
Use reflexivity.
We prove the intermediate
claim HXi1:
apply_fun Xi 1 = (Y,Ty).
We prove the intermediate
claim H1I:
1 ∈ I.
An
exact proof term for the current goal is
In_1_2.
rewrite the current goal using
(apply_fun_graph I (λi0 : set ⇒ If_i (i0 = 0) (X,Tx) (Y,Ty)) 1 H1I) (from left to right).
We prove the intermediate
claim H10:
¬ (1 = 0).
An
exact proof term for the current goal is
neq_1_0.
rewrite the current goal using
(If_i_0 (1 = 0) (X,Tx) (Y,Ty) H10) (from left to right).
Use reflexivity.
rewrite the current goal using Hsf (from left to right).
rewrite the current goal using HXi0 (from left to right).
An
exact proof term for the current goal is
(tuple_2_0_eq X Tx).
rewrite the current goal using Hsf (from left to right).
rewrite the current goal using HXi0 (from left to right).
An
exact proof term for the current goal is
(tuple_2_1_eq X Tx).
rewrite the current goal using Hsf (from left to right).
rewrite the current goal using HXi1 (from left to right).
An
exact proof term for the current goal is
(tuple_2_0_eq Y Ty).
rewrite the current goal using Hsf (from left to right).
rewrite the current goal using HXi1 (from left to right).
An
exact proof term for the current goal is
(tuple_2_1_eq Y Ty).
We prove the intermediate
claim HIne:
I ≠ Empty.
Let i be given.
We prove the intermediate
claim Hi01:
i ∈ {0,1}.
rewrite the current goal using Hi0 (from left to right).
rewrite the current goal using HXset0 (from left to right).
rewrite the current goal using HXtop0 (from left to right).
An exact proof term for the current goal is HTx.
rewrite the current goal using Hi1 (from left to right).
rewrite the current goal using HXset1 (from left to right).
rewrite the current goal using HXtop1 (from left to right).
An exact proof term for the current goal is HTy.
Set pair_fun to be the term
graph X0 (λp : set ⇒ graph I (λi : set ⇒ If_i (i = 0) (p 0) (p 1))).
Let i be given.
We prove the intermediate
claim Hi01:
i ∈ {0,1}.
rewrite the current goal using Hi0 (from left to right).
rewrite the current goal using HXi0 (from left to right).
rewrite the current goal using
(tuple_2_0_eq X Tx) (from left to right).
rewrite the current goal using
(tuple_2_1_eq X Tx) (from left to right).
An exact proof term for the current goal is HcrX.
rewrite the current goal using Hi1 (from left to right).
rewrite the current goal using HXi1 (from left to right).
rewrite the current goal using
(tuple_2_0_eq Y Ty) (from left to right).
rewrite the current goal using
(tuple_2_1_eq Y Ty) (from left to right).
An exact proof term for the current goal is HcrY.
An exact proof term for the current goal is (HprodLemma I Xi Hfam).
We prove the intermediate
claim Hhom:
homeomorphism X0 T0 X1 T1 pair_fun.
Apply andI to the current goal.
We prove the intermediate
claim Hfun_pair_fun:
function_on pair_fun X0 X1.
Let p be given.
Set h to be the term
(λi0 : set ⇒ If_i (i0 = 0) (p 0) (p 1)).
We prove the intermediate
claim Hhdef:
h = (λi0 : set ⇒ If_i (i0 = 0) (p 0) (p 1)).
rewrite the current goal using Hhdef (from right to left).
Set gp to be the term
graph I h.
We prove the intermediate
claim Hgpdef:
gp = graph I h.
rewrite the current goal using Hgpdef (from right to left).
We prove the intermediate
claim Hp0X:
p 0 ∈ X.
An
exact proof term for the current goal is
(ap0_Sigma X (λ_ : set ⇒ Y) p Hp).
We prove the intermediate
claim Hp1Y:
p 1 ∈ Y.
An
exact proof term for the current goal is
(ap1_Sigma X (λ_ : set ⇒ Y) p Hp).
Let j be given.
We prove the intermediate
claim Hhj_eq:
h j = If_i (j = 0) (p 0) (p 1).
We prove the intermediate
claim Hj01:
j ∈ {0,1}.
rewrite the current goal using Hhj_eq (from left to right).
rewrite the current goal using Hj0 (from left to right).
We prove the intermediate
claim H00:
0 = 0.
rewrite the current goal using
(If_i_1 (0 = 0) (p 0) (p 1) H00) (from left to right).
rewrite the current goal using HXset0 (from left to right).
An exact proof term for the current goal is Hp0X.
rewrite the current goal using Hhj_eq (from left to right).
rewrite the current goal using Hj1 (from left to right).
We prove the intermediate
claim H10:
¬ (1 = 0).
An
exact proof term for the current goal is
neq_1_0.
rewrite the current goal using
(If_i_0 (1 = 0) (p 0) (p 1) H10) (from left to right).
rewrite the current goal using HXset1 (from left to right).
An exact proof term for the current goal is Hp1Y.
Let z be given.
Let j be given.
rewrite the current goal using HzEq (from left to right).
An exact proof term for the current goal is Hhj_union.
Let j be given.
rewrite the current goal using
(apply_fun_graph I h j HjI) (from left to right).
We prove the intermediate
claim Hhj_eq:
h j = If_i (j = 0) (p 0) (p 1).
We prove the intermediate
claim Hj01:
j ∈ {0,1}.
rewrite the current goal using Hhj_eq (from left to right).
rewrite the current goal using Hj0 (from left to right).
We prove the intermediate
claim H00:
0 = 0.
rewrite the current goal using
(If_i_1 (0 = 0) (p 0) (p 1) H00) (from left to right).
rewrite the current goal using HXset0 (from left to right).
An exact proof term for the current goal is Hp0X.
rewrite the current goal using Hhj_eq (from left to right).
rewrite the current goal using Hj1 (from left to right).
We prove the intermediate
claim H10:
¬ (1 = 0).
An
exact proof term for the current goal is
neq_1_0.
rewrite the current goal using
(If_i_0 (1 = 0) (p 0) (p 1) H10) (from left to right).
rewrite the current goal using HXset1 (from left to right).
An exact proof term for the current goal is Hp1Y.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is Hgp_tot.
An exact proof term for the current goal is Hgp_fun.
An exact proof term for the current goal is Hcoords.
Let s be given.
Apply Hexi to the current goal.
Let i be given.
Assume Hipair.
We prove the intermediate
claim HiI:
i ∈ I.
Let U be given.
Assume HUpair.
rewrite the current goal using Hseq (from left to right).
We prove the intermediate
claim Hi01:
i ∈ {0,1}.
rewrite the current goal using Hi0 (from left to right).
rewrite the current goal using Hi0 (from left to right).
Use reflexivity.
rewrite the current goal using HU0eq (from right to left).
An exact proof term for the current goal is HUin.
We prove the intermediate
claim HU:
U ∈ Tx.
rewrite the current goal using HXtop0 (from right to left).
An exact proof term for the current goal is HU0.
We prove the intermediate
claim HTxSub:
Tx ⊆ 𝒫 X.
We prove the intermediate
claim HUpow:
U ∈ 𝒫 X.
An exact proof term for the current goal is (HTxSub U HU).
We prove the intermediate
claim HUsubX:
U ⊆ X.
An
exact proof term for the current goal is
(PowerE X U HUpow).
We prove the intermediate
claim HYTy:
Y ∈ Ty.
An
exact proof term for the current goal is
(topology_has_X Y Ty HTy).
We prove the intermediate
claim HR0inB:
R0 ∈ B0.
An
exact proof term for the current goal is
(ReplI Ty (λV0 : set ⇒ rectangle_set U V0) Y HYTy).
Let p0 be given.
We prove the intermediate
claim Hp0X0:
p0 ∈ X0.
rewrite the current goal using
(apply_fun_graph X0 (λq : set ⇒ graph I (λi0 : set ⇒ If_i (i0 = 0) (q 0) (q 1))) p0 Hp0X0) (from left to right).
We prove the intermediate
claim H00:
0 = 0.
rewrite the current goal using
(If_i_1 (0 = 0) (p0 0) (p0 1) H00) (from left to right).
Use reflexivity.
We prove the intermediate
claim Hp00U:
p0 0 ∈ U.
rewrite the current goal using HcoordEq (from right to left).
An exact proof term for the current goal is Hthird.
We prove the intermediate
claim Hp01Y:
p0 1 ∈ Y.
An
exact proof term for the current goal is
(ap1_Sigma X (λ_ : set ⇒ Y) p0 Hp0X0).
We prove the intermediate
claim HpEta:
p0 = (p0 0,p0 1).
An
exact proof term for the current goal is
(setprod_eta X Y p0 Hp0X0).
rewrite the current goal using HpEta (from left to right).
Let p0 be given.
We prove the intermediate
claim HpUV:
p0 ∈ setprod U Y.
An exact proof term for the current goal is Hp0.
We prove the intermediate
claim Hp00U:
p0 0 ∈ U.
An
exact proof term for the current goal is
(ap0_Sigma U (λ_ : set ⇒ Y) p0 HpUV).
We prove the intermediate
claim Hp01Y:
p0 1 ∈ Y.
An
exact proof term for the current goal is
(ap1_Sigma U (λ_ : set ⇒ Y) p0 HpUV).
We prove the intermediate
claim Hp00X:
p0 0 ∈ X.
An
exact proof term for the current goal is
(HUsubX (p0 0) Hp00U).
We prove the intermediate
claim Hp0X0:
p0 ∈ X0.
We prove the intermediate
claim HpEta:
p0 = (p0 0,p0 1).
An
exact proof term for the current goal is
(setprod_eta U Y p0 HpUV).
rewrite the current goal using HpEta (from left to right).
We prove the intermediate
claim HfX1:
apply_fun pair_fun p0 ∈ X1.
An exact proof term for the current goal is (Hfun_pair_fun p0 Hp0X0).
rewrite the current goal using
(apply_fun_graph X0 (λq : set ⇒ graph I (λi0 : set ⇒ If_i (i0 = 0) (q 0) (q 1))) p0 Hp0X0) (from left to right).
We prove the intermediate
claim H00:
0 = 0.
rewrite the current goal using
(If_i_1 (0 = 0) (p0 0) (p0 1) H00) (from left to right).
Use reflexivity.
rewrite the current goal using HcoordEq (from left to right).
An exact proof term for the current goal is Hp00U.
Apply andI to the current goal.
Apply andI to the current goal.
An
exact proof term for the current goal is
In_0_2.
An exact proof term for the current goal is HU0.
An exact proof term for the current goal is Hf0U.
rewrite the current goal using Heq0 (from left to right).
rewrite the current goal using Hi1 (from left to right).
rewrite the current goal using Hi1 (from left to right).
Use reflexivity.
rewrite the current goal using HU1eq (from right to left).
An exact proof term for the current goal is HUin.
We prove the intermediate
claim HU:
U ∈ Ty.
rewrite the current goal using HXtop1 (from right to left).
An exact proof term for the current goal is HU1.
We prove the intermediate
claim HTySub:
Ty ⊆ 𝒫 Y.
We prove the intermediate
claim HUpow:
U ∈ 𝒫 Y.
An exact proof term for the current goal is (HTySub U HU).
We prove the intermediate
claim HUsubY:
U ⊆ Y.
An
exact proof term for the current goal is
(PowerE Y U HUpow).
We prove the intermediate
claim HXTx:
X ∈ Tx.
An
exact proof term for the current goal is
(topology_has_X X Tx HTx).
We prove the intermediate
claim HR1inB:
R1 ∈ B0.
An
exact proof term for the current goal is
(ReplI Ty (λV0 : set ⇒ rectangle_set X V0) U HU).
Let p0 be given.
We prove the intermediate
claim Hp0X0:
p0 ∈ X0.
rewrite the current goal using
(apply_fun_graph X0 (λq : set ⇒ graph I (λi0 : set ⇒ If_i (i0 = 0) (q 0) (q 1))) p0 Hp0X0) (from left to right).
We prove the intermediate
claim H10:
¬ (1 = 0).
An
exact proof term for the current goal is
neq_1_0.
rewrite the current goal using
(If_i_0 (1 = 0) (p0 0) (p0 1) H10) (from left to right).
Use reflexivity.
We prove the intermediate
claim Hp01U:
p0 1 ∈ U.
rewrite the current goal using HcoordEq (from right to left).
An exact proof term for the current goal is Hthird.
We prove the intermediate
claim Hp00X:
p0 0 ∈ X.
An
exact proof term for the current goal is
(ap0_Sigma X (λ_ : set ⇒ Y) p0 Hp0X0).
We prove the intermediate
claim HpEta:
p0 = (p0 0,p0 1).
An
exact proof term for the current goal is
(setprod_eta X Y p0 Hp0X0).
rewrite the current goal using HpEta (from left to right).
Let p0 be given.
We prove the intermediate
claim HpXU:
p0 ∈ setprod X U.
An exact proof term for the current goal is Hp0.
We prove the intermediate
claim Hp00X:
p0 0 ∈ X.
An
exact proof term for the current goal is
(ap0_Sigma X (λ_ : set ⇒ U) p0 HpXU).
We prove the intermediate
claim Hp01U:
p0 1 ∈ U.
An
exact proof term for the current goal is
(ap1_Sigma X (λ_ : set ⇒ U) p0 HpXU).
We prove the intermediate
claim Hp01Y:
p0 1 ∈ Y.
An
exact proof term for the current goal is
(HUsubY (p0 1) Hp01U).
We prove the intermediate
claim Hp0X0:
p0 ∈ X0.
We prove the intermediate
claim HpEta:
p0 = (p0 0,p0 1).
An
exact proof term for the current goal is
(setprod_eta X U p0 HpXU).
rewrite the current goal using HpEta (from left to right).
We prove the intermediate
claim HfX1:
apply_fun pair_fun p0 ∈ X1.
An exact proof term for the current goal is (Hfun_pair_fun p0 Hp0X0).
rewrite the current goal using
(apply_fun_graph X0 (λq : set ⇒ graph I (λi0 : set ⇒ If_i (i0 = 0) (q 0) (q 1))) p0 Hp0X0) (from left to right).
We prove the intermediate
claim H10:
¬ (1 = 0).
An
exact proof term for the current goal is
neq_1_0.
rewrite the current goal using
(If_i_0 (1 = 0) (p0 0) (p0 1) H10) (from left to right).
Use reflexivity.
rewrite the current goal using HcoordEq (from left to right).
An exact proof term for the current goal is Hp01U.
Apply andI to the current goal.
Apply andI to the current goal.
An
exact proof term for the current goal is
In_1_2.
An exact proof term for the current goal is HU1.
An exact proof term for the current goal is Hf1U.
rewrite the current goal using Heq1 (from left to right).
We use fun_pair to witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
We prove the intermediate
claim Hfun_fun_pair:
function_on fun_pair X1 X0.
Let h be given.
We prove the intermediate
claim Hh0X:
apply_fun h 0 ∈ X.
rewrite the current goal using HXset0 (from right to left).
An
exact proof term for the current goal is
(Hcoords 0 In_0_2).
We prove the intermediate
claim Hh1Y:
apply_fun h 1 ∈ Y.
rewrite the current goal using HXset1 (from right to left).
An
exact proof term for the current goal is
(Hcoords 1 In_1_2).
We prove the intermediate
claim HB0sub:
B0 ⊆ 𝒫 X0.
An
exact proof term for the current goal is
(andEL (B0 ⊆ 𝒫 X0) (∀x0 ∈ X0, ∃b ∈ B0, x0 ∈ b) (andEL (B0 ⊆ 𝒫 X0 ∧ (∀x0 ∈ X0, ∃b ∈ B0, x0 ∈ b)) (∀b1 ∈ B0, ∀b2 ∈ B0, ∀x0 : set, x0 ∈ b1 → x0 ∈ b2 → ∃b3 ∈ B0, x0 ∈ b3 ∧ b3 ⊆ b1 ∩ b2) HB0)).
We prove the intermediate
claim HpreB0:
∀b : set, b ∈ B0 → preimage_of X1 fun_pair b ∈ T1.
Let b be given.
Apply HexU to the current goal.
Let U be given.
Assume HUpack.
We prove the intermediate
claim HU:
U ∈ Tx.
An
exact proof term for the current goal is
(ReplE Ty (λV0 : set ⇒ rectangle_set U V0) b HbFam).
Apply HexV to the current goal.
Let V be given.
Assume HVconj.
We prove the intermediate
claim HV:
V ∈ Ty.
rewrite the current goal using HXtop0 (from left to right).
An exact proof term for the current goal is HU.
rewrite the current goal using HXtop1 (from left to right).
An exact proof term for the current goal is HV.
We prove the intermediate
claim HC0open:
C0 ∈ T1.
We prove the intermediate
claim HC1open:
C1 ∈ T1.
We prove the intermediate
claim HT1:
topology_on X1 T1.
We prove the intermediate
claim HinterOpen:
C0 ∩ C1 ∈ T1.
We prove the intermediate
claim HpreEq:
preimage_of X1 fun_pair b = C0 ∩ C1.
rewrite the current goal using Hbeq (from left to right).
Let h be given.
We will
prove h ∈ C0 ∩ C1.
We prove the intermediate
claim HhX1:
h ∈ X1.
An exact proof term for the current goal is Himg.
We prove the intermediate
claim H0U0:
(apply_fun fun_pair h) 0 ∈ U.
An
exact proof term for the current goal is
(ap0_Sigma U (λ_ : set ⇒ V) (apply_fun fun_pair h) HimgUV).
We prove the intermediate
claim H1V0:
(apply_fun fun_pair h) 1 ∈ V.
An
exact proof term for the current goal is
(ap1_Sigma U (λ_ : set ⇒ V) (apply_fun fun_pair h) HimgUV).
rewrite the current goal using HimgEq (from left to right).
Use reflexivity.
rewrite the current goal using HimgEq (from left to right).
Use reflexivity.
We prove the intermediate
claim H0U:
apply_fun h 0 ∈ U.
rewrite the current goal using H0eq (from right to left).
An exact proof term for the current goal is H0U0.
We prove the intermediate
claim H1V:
apply_fun h 1 ∈ V.
rewrite the current goal using H1eq (from right to left).
An exact proof term for the current goal is H1V0.
We prove the intermediate
claim Hc0:
h ∈ C0.
Apply andI to the current goal.
Apply andI to the current goal.
An
exact proof term for the current goal is
In_0_2.
An exact proof term for the current goal is HU0.
An exact proof term for the current goal is H0U.
We prove the intermediate
claim Hc1:
h ∈ C1.
Apply andI to the current goal.
Apply andI to the current goal.
An
exact proof term for the current goal is
In_1_2.
An exact proof term for the current goal is HV1.
An exact proof term for the current goal is H1V.
An
exact proof term for the current goal is
(binintersectI C0 C1 h Hc0 Hc1).
Let h be given.
We prove the intermediate
claim HhC0:
h ∈ C0.
An
exact proof term for the current goal is
(binintersectE1 C0 C1 h Hh).
We prove the intermediate
claim HhC1:
h ∈ C1.
An
exact proof term for the current goal is
(binintersectE2 C0 C1 h Hh).
We prove the intermediate
claim HhX1:
h ∈ X1.
We prove the intermediate
claim Hh0U:
apply_fun h 0 ∈ U.
We prove the intermediate
claim Hh1V:
apply_fun h 1 ∈ V.
rewrite the current goal using HimgEq (from left to right).
An exact proof term for the current goal is Hrect.
rewrite the current goal using HpreEq (from left to right).
An exact proof term for the current goal is HinterOpen.
rewrite the current goal using HT0eq (from left to right).
Let x be given.
We prove the intermediate
claim HpxX1:
apply_fun pair_fun x ∈ X1.
Set h to be the term
(λi0 : set ⇒ If_i (i0 = 0) (x 0) (x 1)).
We prove the intermediate
claim Hhdef:
h = (λi0 : set ⇒ If_i (i0 = 0) (x 0) (x 1)).
rewrite the current goal using Hhdef (from right to left).
Set gp to be the term
graph I h.
We prove the intermediate
claim Hgpdef:
gp = graph I h.
rewrite the current goal using Hgpdef (from right to left).
We prove the intermediate
claim Hx0X:
x 0 ∈ X.
An
exact proof term for the current goal is
(ap0_Sigma X (λ_ : set ⇒ Y) x Hx).
We prove the intermediate
claim Hx1Y:
x 1 ∈ Y.
An
exact proof term for the current goal is
(ap1_Sigma X (λ_ : set ⇒ Y) x Hx).
Let j be given.
We prove the intermediate
claim Hhj_eq:
h j = If_i (j = 0) (x 0) (x 1).
We prove the intermediate
claim Hj01:
j ∈ {0,1}.
rewrite the current goal using Hhj_eq (from left to right).
rewrite the current goal using Hj0 (from left to right).
We prove the intermediate
claim H00:
0 = 0.
rewrite the current goal using
(If_i_1 (0 = 0) (x 0) (x 1) H00) (from left to right).
rewrite the current goal using HXset0 (from left to right).
An exact proof term for the current goal is Hx0X.
rewrite the current goal using Hhj_eq (from left to right).
rewrite the current goal using Hj1 (from left to right).
We prove the intermediate
claim H10:
¬ (1 = 0).
An
exact proof term for the current goal is
neq_1_0.
rewrite the current goal using
(If_i_0 (1 = 0) (x 0) (x 1) H10) (from left to right).
rewrite the current goal using HXset1 (from left to right).
An exact proof term for the current goal is Hx1Y.
Let z be given.
Let j be given.
rewrite the current goal using HzEq (from left to right).
An exact proof term for the current goal is Hhj_union.
Let j be given.
rewrite the current goal using
(apply_fun_graph I h j HjI) (from left to right).
We prove the intermediate
claim Hhj_eq:
h j = If_i (j = 0) (x 0) (x 1).
We prove the intermediate
claim Hj01:
j ∈ {0,1}.
rewrite the current goal using Hhj_eq (from left to right).
rewrite the current goal using Hj0 (from left to right).
We prove the intermediate
claim H00:
0 = 0.
rewrite the current goal using
(If_i_1 (0 = 0) (x 0) (x 1) H00) (from left to right).
rewrite the current goal using HXset0 (from left to right).
An exact proof term for the current goal is Hx0X.
rewrite the current goal using Hhj_eq (from left to right).
rewrite the current goal using Hj1 (from left to right).
We prove the intermediate
claim H10:
¬ (1 = 0).
An
exact proof term for the current goal is
neq_1_0.
rewrite the current goal using
(If_i_0 (1 = 0) (x 0) (x 1) H10) (from left to right).
rewrite the current goal using HXset1 (from left to right).
An exact proof term for the current goal is Hx1Y.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is Hgp_tot.
An exact proof term for the current goal is Hgp_fun.
An exact proof term for the current goal is Hcoords.
rewrite the current goal using HimgEq (from left to right).
We prove the intermediate
claim H00:
0 = 0.
rewrite the current goal using
(If_i_1 (0 = 0) (x 0) (x 1) H00) (from left to right).
Use reflexivity.
We prove the intermediate
claim H10:
¬ (1 = 0).
An
exact proof term for the current goal is
neq_1_0.
rewrite the current goal using
(If_i_0 (1 = 0) (x 0) (x 1) H10) (from left to right).
Use reflexivity.
rewrite the current goal using Hcoord0 (from left to right).
rewrite the current goal using Hcoord1 (from left to right).
We prove the intermediate
claim HxEta:
x = (x 0,x 1).
An
exact proof term for the current goal is
(setprod_eta X Y x Hx).
rewrite the current goal using HxEta (from right to left).
Use reflexivity.
Let y be given.
We prove the intermediate
claim Hy0X:
apply_fun y 0 ∈ X.
rewrite the current goal using HXset0 (from right to left).
An
exact proof term for the current goal is
(Hycoords 0 In_0_2).
We prove the intermediate
claim Hy1Y:
apply_fun y 1 ∈ Y.
rewrite the current goal using HXset1 (from right to left).
An
exact proof term for the current goal is
(Hycoords 1 In_1_2).
We prove the intermediate
claim HpX0:
p ∈ X0.
rewrite the current goal using HpEq (from left to right).
rewrite the current goal using
(apply_fun_graph X0 (λq : set ⇒ graph I (λi0 : set ⇒ If_i (i0 = 0) (q 0) (q 1))) p HpX0) (from left to right).
rewrite the current goal using HpEq (from left to right).
Use reflexivity.
rewrite the current goal using HpEq (from left to right).
Use reflexivity.
rewrite the current goal using Hp0eq (from left to right).
rewrite the current goal using Hp1eq (from left to right).
rewrite the current goal using Hhdef (from right to left).
Let z be given.
Apply (ReplE_impred I (λj0 : set ⇒ (j0,h j0)) z Hz (z ∈ y)) to the current goal.
Let j be given.
rewrite the current goal using HzEq (from left to right).
We prove the intermediate
claim Hyj:
(j,apply_fun y j) ∈ y.
We prove the intermediate
claim Heqyj:
apply_fun y j = h j.
We prove the intermediate
claim Hj01:
j ∈ {0,1}.
rewrite the current goal using Hj0 (from left to right).
rewrite the current goal using Hh0eq (from left to right).
We prove the intermediate
claim H00:
0 = 0.
Use reflexivity.
rewrite the current goal using Hj1 (from left to right).
rewrite the current goal using Hh1eq (from left to right).
We prove the intermediate
claim H10:
¬ (1 = 0).
An
exact proof term for the current goal is
neq_1_0.
Use reflexivity.
rewrite the current goal using Heqyj (from right to left).
An exact proof term for the current goal is Hyj.
Let z be given.
We prove the intermediate
claim HjI:
z 0 ∈ I.
We prove the intermediate
claim HzEta:
z = (z 0,z 1).
We prove the intermediate
claim Hyj:
(z 0,apply_fun y (z 0)) ∈ y.
We prove the intermediate
claim HzPair:
(z 0,z 1) ∈ y.
rewrite the current goal using HzEta (from right to left).
An exact proof term for the current goal is Hz.
We prove the intermediate
claim Hap:
apply_fun y (z 0) = z 1.
We prove the intermediate
claim Heqyj:
apply_fun y (z 0) = h (z 0).
We prove the intermediate
claim Hj01:
z 0 ∈ {0,1}.
rewrite the current goal using Hj0 (from left to right).
rewrite the current goal using Hh0eq (from left to right).
We prove the intermediate
claim H00:
0 = 0.
Use reflexivity.
rewrite the current goal using Hj1 (from left to right).
rewrite the current goal using Hh1eq (from left to right).
We prove the intermediate
claim H10:
¬ (1 = 0).
An
exact proof term for the current goal is
neq_1_0.
Use reflexivity.
rewrite the current goal using HzEta (from left to right).
We prove the intermediate
claim Hz1eq:
z 1 = h (z 0).
We will
prove z 1 = h (z 0).
rewrite the current goal using Hap (from right to left).
An exact proof term for the current goal is Heqyj.
rewrite the current goal using Hz1eq (from left to right).
An
exact proof term for the current goal is
(ReplI I (λj0 : set ⇒ (j0,h j0)) (z 0) HjI).
∎