Let A and B be given.
Let i be given.
Let x be given.
Assume HxAi HxBi.
We prove the intermediate
claim HxA:
x ∈ A.
We prove the intermediate
claim HxB:
x ∈ B.
We prove the intermediate
claim HxAB:
x ∈ A ∩ B.
An
exact proof term for the current goal is
(binintersectI A B x HxA HxB).
We prove the intermediate
claim HxE:
x ∈ Empty.
rewrite the current goal using Hab (from right to left).
An exact proof term for the current goal is HxAB.
An exact proof term for the current goal is HxE.
Let x be given.
Apply FalseE to the current goal.
An
exact proof term for the current goal is
(EmptyE x HxE).
Let i be given.
An exact proof term for the current goal is (Hnorms i HiO).
An
exact proof term for the current goal is
(Hsep (A ∩ apply_fun Xi i) (B ∩ apply_fun Xi i) (HAi i HiO) (HBi i HiO) (Hdisji i HiO)).
We prove the intermediate
claim Hab01:
Rle 0 1.
Let i be given.
An exact proof term for the current goal is (Hnorms i HiO).
Let i and fi be given.
We prove the intermediate
claim HsuccO:
ordsucc i ∈ ω.
An
exact proof term for the current goal is
(omega_ordsucc i HiO).
An
exact proof term for the current goal is
(Hnorms (ordsucc i) HsuccO).
Let i be given.
We prove the intermediate
claim Hex:
∃p : set, P p.
An exact proof term for the current goal is (Hsep_i i HiO).
Apply HexSep to the current goal.
Let U be given.
Apply HexV to the current goal.
Let V be given.
We use (U,V) to witness the existential quantifier.
We use U to witness the existential quantifier.
We use V to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HUV.
We prove the intermediate claim HP: P (UV i).
An
exact proof term for the current goal is
(Eps_i_ex P Hex).
An exact proof term for the current goal is HP.
We prove the intermediate
claim H0O:
0 ∈ ω.
Set Fi to be the term
(λn : set ⇒ nat_primrec f0 step n).
We prove the intermediate
claim HFi_def:
∀n : set, Fi n = nat_primrec f0 step n.
Let n be given.
Use reflexivity.
Let n be given.
Use reflexivity.
We prove the intermediate
claim HFi_all:
∀n : set, n ∈ ω → PFi n.
Let n be given.
We prove the intermediate
claim HnNat:
nat_p n.
An
exact proof term for the current goal is
(omega_nat_p n HnO).
Set p to be the term (λt : set ⇒ PFi t).
We prove the intermediate
claim Hbase:
p 0.
We prove the intermediate
claim HFi0:
Fi 0 = f0.
rewrite the current goal using
(HFi_def 0) (from left to right).
rewrite the current goal using
(nat_primrec_0 f0 step) (from left to right).
Use reflexivity.
Apply andI to the current goal.
rewrite the current goal using HFi0 (from left to right).
Apply andI to the current goal.
rewrite the current goal using HFi0 (from left to right).
rewrite the current goal using HFi0 (from left to right).
An exact proof term for the current goal is Hbase0.
We prove the intermediate
claim Hstep:
∀t : set, nat_p t → p t → p (ordsucc t).
Let t be given.
Assume HtIH: PFi t.
An exact proof term for the current goal is HtIH.
We prove the intermediate
claim HtO:
t ∈ ω.
An
exact proof term for the current goal is
(nat_p_omega t HtNat).
We prove the intermediate
claim HFi_succ_eq:
Fi (ordsucc t) = step t (Fi t).
rewrite the current goal using
(HFi_def (ordsucc t)) (from left to right).
rewrite the current goal using
(nat_primrec_S f0 step t HtNat) (from left to right).
rewrite the current goal using (HFi_def t) (from right to left).
Use reflexivity.
Apply andI to the current goal.
rewrite the current goal using HFi_succ_eq (from left to right).
An exact proof term for the current goal is Hc.
Apply andI to the current goal.
rewrite the current goal using HFi_succ_eq (from left to right).
An exact proof term for the current goal is HA_s.
rewrite the current goal using HFi_succ_eq (from left to right).
An exact proof term for the current goal is HB_s.
An exact proof term for the current goal is Hstepgoal.
An
exact proof term for the current goal is
(nat_ind p Hbase Hstep n HnNat).
Let i be given.
Let x be given.
We prove the intermediate
claim HiNat:
nat_p i.
An
exact proof term for the current goal is
(omega_nat_p i HiO).
We prove the intermediate claim HiPack: PFi i.
An exact proof term for the current goal is (HFi_all i HiO).
An exact proof term for the current goal is HiPack.
rewrite the current goal using
(HFi_def (ordsucc i)) (from left to right).
rewrite the current goal using
(nat_primrec_S f0 step i HiNat) (from left to right).
rewrite the current goal using (HFi_def i) (from right to left).
An exact proof term for the current goal is (Hext x HxXi).
Let j be given.
We prove the intermediate
claim HjNat:
nat_p j.
An
exact proof term for the current goal is
(omega_nat_p j HjO).
We prove the intermediate
claim Hq0:
q 0.
Let i0 be given.
Apply FalseE to the current goal.
An
exact proof term for the current goal is
(EmptyE i0 Hi0).
We prove the intermediate
claim HqS:
∀t : set, nat_p t → q t → q (ordsucc t).
Let t be given.
Assume HtIH: q t.
Let i0 be given.
Let x be given.
We prove the intermediate
claim HxXt:
x ∈ apply_fun Xi t.
An exact proof term for the current goal is (Hsub x HxXi0).
An
exact proof term for the current goal is
(HFi_succ_ext t (nat_p_omega t HtNat) x HxXt).
rewrite the current goal using Hst (from left to right).
An exact proof term for the current goal is (HtIH i0 Hi0t x HxXi0).
rewrite the current goal using Hi0eq (from left to right).
We prove the intermediate
claim HxXt:
x ∈ apply_fun Xi t.
rewrite the current goal using Hi0eq (from right to left).
An exact proof term for the current goal is HxXi0.
An
exact proof term for the current goal is
(HFi_succ_ext t (nat_p_omega t HtNat) x HxXt).
We prove the intermediate claim Hqj: q j.
An
exact proof term for the current goal is
(nat_ind q Hq0 HqS j HjNat).
An exact proof term for the current goal is (Hqj).
We prove the intermediate
claim Hidx:
∀x : set, x ∈ X → idx x ∈ ω ∧ x ∈ apply_fun Xi (idx x).
Let x be given.
We prove the intermediate
claim Hexi:
∃i : set, i ∈ ω ∧ x ∈ apply_fun Xi i.
Set g to be the term
(λx : set ⇒ apply_fun (Fi (idx x)) x).
Set f to be the term
graph X g.
Let i and x be given.
We prove the intermediate
claim HxX:
x ∈ X.
We prove the intermediate
claim HidxPack:
idx x ∈ ω ∧ x ∈ apply_fun Xi (idx x).
An exact proof term for the current goal is (Hidx x HxX).
Set k to be the term idx x.
We prove the intermediate
claim HkO:
k ∈ ω.
An
exact proof term for the current goal is
(andEL (k ∈ ω) (x ∈ apply_fun Xi k) HidxPack).
We prove the intermediate
claim HxXk:
x ∈ apply_fun Xi k.
An
exact proof term for the current goal is
(andER (k ∈ ω) (x ∈ apply_fun Xi k) HidxPack).
We prove the intermediate
claim Hfx:
apply_fun f x = g x.
rewrite the current goal using Hfx (from left to right).
We prove the intermediate
claim Hordi:
ordinal i.
We prove the intermediate
claim Hordk:
ordinal k.
An exact proof term for the current goal is (HFi_ext_mem k HkO i Hik x HxXi).
rewrite the current goal using HikEq (from left to right).
Use reflexivity.
An exact proof term for the current goal is (HFi_ext_mem i HiO k Hki x HxXk).
rewrite the current goal using Heq (from right to left).
Use reflexivity.
We prove the intermediate
claim HI01top:
topology_on I01 TI01.
Let i be given.
We prove the intermediate
claim HTi:
topology_on Xi_i Ti_i.
An exact proof term for the current goal is (Htops i HiO).
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HTi.
An exact proof term for the current goal is HI01top.
Let x be given.
We prove the intermediate claim HFiPack: PFi i.
An exact proof term for the current goal is (HFi_all i HiO).
We prove the intermediate
claim HFiCont:
continuous_map Xi_i Ti_i I01 TI01 (Fi i).
We prove the intermediate
claim HFiFun:
function_on (Fi i) Xi_i I01.
rewrite the current goal using (Hf_agree i x HiO HxXi) (from left to right) at position 1.
An exact proof term for the current goal is (HFiFun x HxXi).
Let V be given.
Let x be given.
We prove the intermediate
claim HxXi:
x ∈ Xi_i.
An
exact proof term for the current goal is
(SepE1 Xi_i (λx0 : set ⇒ apply_fun f x0 ∈ V) x Hx).
We prove the intermediate
claim HfxV:
apply_fun f x ∈ V.
An
exact proof term for the current goal is
(SepE2 Xi_i (λx0 : set ⇒ apply_fun f x0 ∈ V) x Hx).
An exact proof term for the current goal is (Hf_agree i x HiO HxXi).
We prove the intermediate
claim HfxV':
apply_fun (Fi i) x ∈ V.
rewrite the current goal using Hfx (from right to left) at position 1.
An exact proof term for the current goal is HfxV.
An
exact proof term for the current goal is
(SepI Xi_i (λx0 : set ⇒ apply_fun (Fi i) x0 ∈ V) x HxXi HfxV').
Let x be given.
We prove the intermediate
claim HxXi:
x ∈ Xi_i.
An
exact proof term for the current goal is
(SepE1 Xi_i (λx0 : set ⇒ apply_fun (Fi i) x0 ∈ V) x Hx).
We prove the intermediate
claim HfxV:
apply_fun (Fi i) x ∈ V.
An
exact proof term for the current goal is
(SepE2 Xi_i (λx0 : set ⇒ apply_fun (Fi i) x0 ∈ V) x Hx).
An exact proof term for the current goal is (Hf_agree i x HiO HxXi).
We prove the intermediate
claim HfxV':
apply_fun f x ∈ V.
rewrite the current goal using Hfx (from left to right) at position 1.
An exact proof term for the current goal is HfxV.
An
exact proof term for the current goal is
(SepI Xi_i (λx0 : set ⇒ apply_fun f x0 ∈ V) x HxXi HfxV').
rewrite the current goal using HpreEq (from left to right).
We prove the intermediate
claim HFiCont2:
continuous_map Xi_i Ti_i I01 TI01 (Fi i).
We prove the intermediate
claim Hf_fun:
function_on f X I01.
Let x be given.
We prove the intermediate
claim Hkpack:
idx x ∈ ω ∧ x ∈ apply_fun Xi (idx x).
An exact proof term for the current goal is (Hidx x HxX).
Set k to be the term idx x.
We prove the intermediate
claim HkO:
k ∈ ω.
An
exact proof term for the current goal is
(andEL (k ∈ ω) (x ∈ apply_fun Xi k) Hkpack).
We prove the intermediate
claim HxXk:
x ∈ apply_fun Xi k.
An
exact proof term for the current goal is
(andER (k ∈ ω) (x ∈ apply_fun Xi k) Hkpack).
We prove the intermediate
claim Hfx:
apply_fun f x = g x.
rewrite the current goal using
(apply_fun_graph X g x HxX) (from left to right) at position 1.
An exact proof term for the current goal is (HFiFun x HxXk).
We prove the intermediate
claim Hf_cont:
continuous_map X Tx I01 TI01 f.
We prove the intermediate
claim HHsep:
∀y1 y2 : set, y1 ∈ I01 → y2 ∈ I01 → y1 ≠ y2 → ∃U0 V0 : set, U0 ∈ TI01 ∧ V0 ∈ TI01 ∧ y1 ∈ U0 ∧ y2 ∈ V0 ∧ U0 ∩ V0 = Empty.
An
exact proof term for the current goal is
(andER (topology_on I01 TI01) (∀y1 y2 : set, y1 ∈ I01 → y2 ∈ I01 → y1 ≠ y2 → ∃U0 V0 : set, U0 ∈ TI01 ∧ V0 ∈ TI01 ∧ y1 ∈ U0 ∧ y2 ∈ V0 ∧ U0 ∩ V0 = Empty) HH01).
We prove the intermediate
claim H0I01:
0 ∈ I01.
We prove the intermediate
claim H1I01:
1 ∈ I01.
We prove the intermediate
claim HexUV01:
∃O0 O1 : set, O0 ∈ TI01 ∧ O1 ∈ TI01 ∧ 0 ∈ O0 ∧ 1 ∈ O1 ∧ O0 ∩ O1 = Empty.
An
exact proof term for the current goal is
(HHsep 0 1 H0I01 H1I01 neq_0_1).
Apply HexUV01 to the current goal.
Let O0 be given.
Assume HexO1.
Apply HexO1 to the current goal.
Let O1 be given.
Assume HOpack.
We prove the intermediate
claim Hleft:
((O0 ∈ TI01 ∧ O1 ∈ TI01) ∧ 0 ∈ O0) ∧ 1 ∈ O1.
An
exact proof term for the current goal is
(andEL (((O0 ∈ TI01 ∧ O1 ∈ TI01) ∧ 0 ∈ O0) ∧ 1 ∈ O1) (O0 ∩ O1 = Empty) HOpack).
We prove the intermediate
claim Hdisj01:
O0 ∩ O1 = Empty.
An
exact proof term for the current goal is
(andER (((O0 ∈ TI01 ∧ O1 ∈ TI01) ∧ 0 ∈ O0) ∧ 1 ∈ O1) (O0 ∩ O1 = Empty) HOpack).
We prove the intermediate
claim Habc:
(O0 ∈ TI01 ∧ O1 ∈ TI01) ∧ 0 ∈ O0.
An
exact proof term for the current goal is
(andEL ((O0 ∈ TI01 ∧ O1 ∈ TI01) ∧ 0 ∈ O0) (1 ∈ O1) Hleft).
We prove the intermediate
claim H1O1:
1 ∈ O1.
An
exact proof term for the current goal is
(andER ((O0 ∈ TI01 ∧ O1 ∈ TI01) ∧ 0 ∈ O0) (1 ∈ O1) Hleft).
We prove the intermediate
claim Hab:
O0 ∈ TI01 ∧ O1 ∈ TI01.
An
exact proof term for the current goal is
(andEL (O0 ∈ TI01 ∧ O1 ∈ TI01) (0 ∈ O0) Habc).
We prove the intermediate
claim H0O0:
0 ∈ O0.
An
exact proof term for the current goal is
(andER (O0 ∈ TI01 ∧ O1 ∈ TI01) (0 ∈ O0) Habc).
We prove the intermediate
claim HO0:
O0 ∈ TI01.
An
exact proof term for the current goal is
(andEL (O0 ∈ TI01) (O1 ∈ TI01) Hab).
We prove the intermediate
claim HO1:
O1 ∈ TI01.
An
exact proof term for the current goal is
(andER (O0 ∈ TI01) (O1 ∈ TI01) Hab).
We use U to witness the existential quantifier.
We use V to witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
Let x be given.
We prove the intermediate
claim HAsub:
A ⊆ X.
We prove the intermediate
claim HxX:
x ∈ X.
An exact proof term for the current goal is (HAsub x HxA).
We prove the intermediate
claim Hfx:
apply_fun f x = g x.
We prove the intermediate
claim Hkpack:
idx x ∈ ω ∧ x ∈ apply_fun Xi (idx x).
An exact proof term for the current goal is (Hidx x HxX).
Set k to be the term idx x.
We prove the intermediate
claim HkO:
k ∈ ω.
An
exact proof term for the current goal is
(andEL (k ∈ ω) (x ∈ apply_fun Xi k) Hkpack).
We prove the intermediate
claim HxXk:
x ∈ apply_fun Xi k.
An
exact proof term for the current goal is
(andER (k ∈ ω) (x ∈ apply_fun Xi k) Hkpack).
We prove the intermediate claim HFiPack: PFi k.
An exact proof term for the current goal is (HFi_all k HkO).
We prove the intermediate
claim HxAk:
x ∈ (A ∩ apply_fun Xi k).
We prove the intermediate
claim Hval0:
apply_fun (Fi k) x = 0.
An exact proof term for the current goal is (HA_k x HxAk).
We prove the intermediate
claim Hg0:
g x = 0.
An exact proof term for the current goal is Hval0.
We prove the intermediate
claim Hfx0:
apply_fun f x = 0.
rewrite the current goal using Hfx (from left to right) at position 1.
An exact proof term for the current goal is Hg0.
We prove the intermediate
claim HfxO0:
apply_fun f x ∈ O0.
rewrite the current goal using Hfx0 (from left to right) at position 1.
An exact proof term for the current goal is H0O0.
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ apply_fun f x0 ∈ O0) x HxX HfxO0).
Let x be given.
We prove the intermediate
claim HBsub:
B ⊆ X.
We prove the intermediate
claim HxX:
x ∈ X.
An exact proof term for the current goal is (HBsub x HxB).
We prove the intermediate
claim Hfx:
apply_fun f x = g x.
We prove the intermediate
claim Hkpack:
idx x ∈ ω ∧ x ∈ apply_fun Xi (idx x).
An exact proof term for the current goal is (Hidx x HxX).
Set k to be the term idx x.
We prove the intermediate
claim HkO:
k ∈ ω.
An
exact proof term for the current goal is
(andEL (k ∈ ω) (x ∈ apply_fun Xi k) Hkpack).
We prove the intermediate
claim HxXk:
x ∈ apply_fun Xi k.
An
exact proof term for the current goal is
(andER (k ∈ ω) (x ∈ apply_fun Xi k) Hkpack).
We prove the intermediate claim HFiPack: PFi k.
An exact proof term for the current goal is (HFi_all k HkO).
We prove the intermediate
claim HxBk:
x ∈ (B ∩ apply_fun Xi k).
We prove the intermediate
claim Hval1:
apply_fun (Fi k) x = 1.
An exact proof term for the current goal is (HB_k x HxBk).
We prove the intermediate
claim Hg1:
g x = 1.
An exact proof term for the current goal is Hval1.
We prove the intermediate
claim Hfx1:
apply_fun f x = 1.
rewrite the current goal using Hfx (from left to right) at position 1.
An exact proof term for the current goal is Hg1.
We prove the intermediate
claim HfxO1:
apply_fun f x ∈ O1.
rewrite the current goal using Hfx1 (from left to right) at position 1.
An exact proof term for the current goal is H1O1.
An
exact proof term for the current goal is
(SepI X (λx0 : set ⇒ apply_fun f x0 ∈ O1) x HxX HfxO1).
Let x be given.
Assume HxU HxV.
We prove the intermediate
claim Hfx0:
apply_fun f x ∈ O0.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ apply_fun f x0 ∈ O0) x HxU).
We prove the intermediate
claim Hfx1:
apply_fun f x ∈ O1.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ apply_fun f x0 ∈ O1) x HxV).
We prove the intermediate
claim HfxIn:
apply_fun f x ∈ O0 ∩ O1.
Apply FalseE to the current goal.
An
exact proof term for the current goal is
(EmptyE (apply_fun f x) HfxE0).
An
exact proof term for the current goal is
(Hdisj01 (λS T : set ⇒ apply_fun f x ∈ T → apply_fun f x ∈ S) Himpl).
An exact proof term for the current goal is (Htrans HfxIn).
Apply FalseE to the current goal.
Let x be given.
Apply FalseE to the current goal.
An
exact proof term for the current goal is
(EmptyE x HxE).
∎