Let X and Tx be given.
Apply Hex to the current goal.
Let x0 be given.
Apply Hexy to the current goal.
Let y0 be given.
Assume Hxy0.
We prove the intermediate
claim Hpair:
x0 ∈ X ∧ y0 ∈ X.
An
exact proof term for the current goal is
(andEL (x0 ∈ X ∧ y0 ∈ X) (x0 ≠ y0) Hxy0).
We prove the intermediate
claim Hneq:
x0 ≠ y0.
An
exact proof term for the current goal is
(andER (x0 ∈ X ∧ y0 ∈ X) (x0 ≠ y0) Hxy0).
We prove the intermediate
claim Hx0X:
x0 ∈ X.
An
exact proof term for the current goal is
(andEL (x0 ∈ X) (y0 ∈ X) Hpair).
We prove the intermediate
claim Hy0X:
y0 ∈ X.
An
exact proof term for the current goal is
(andER (x0 ∈ X) (y0 ∈ X) Hpair).
We prove the intermediate
claim Hsing:
∀z : set, z ∈ X → closed_in X Tx {z}.
We prove the intermediate
claim Hx0cl:
closed_in X Tx {x0}.
An exact proof term for the current goal is (Hsing x0 Hx0X).
We prove the intermediate
claim Hy0cl:
closed_in X Tx {y0}.
An exact proof term for the current goal is (Hsing y0 Hy0X).
We prove the intermediate
claim HsingDisj:
{x0} ∩ {y0} = Empty.
Let z be given.
We prove the intermediate
claim Hzx:
z ∈ {x0}.
We prove the intermediate
claim Hzy:
z ∈ {y0}.
We prove the intermediate
claim HzEqx:
z = x0.
An
exact proof term for the current goal is
(SingE x0 z Hzx).
We prove the intermediate
claim HzEqy:
z = y0.
An
exact proof term for the current goal is
(SingE y0 z Hzy).
We prove the intermediate
claim Hxy:
x0 = y0.
rewrite the current goal using HzEqx (from right to left).
rewrite the current goal using HzEqy (from left to right).
Use reflexivity.
Apply FalseE to the current goal.
An exact proof term for the current goal is (Hneq Hxy).
We prove the intermediate
claim H0le1:
Rle 0 1.
An
exact proof term for the current goal is
(Urysohn_lemma X Tx {x0} {y0} 0 1 H0le1 HXnorm Hx0cl Hy0cl HsingDisj).
Apply Hexf to the current goal.
Let f be given.
Assume Hfpack.
We prove the intermediate
claim Hfx0:
apply_fun f x0 = 0.
We prove the intermediate
claim Hfy0:
∀x : set, x ∈ {y0} → apply_fun f x = 1.
We prove the intermediate
claim Hfy0val:
apply_fun f y0 = 1.
An
exact proof term for the current goal is
(Hfy0 y0 (SingI y0)).
An exact proof term for the current goal is HcontRstd.
Let r be given.
We prove the intermediate
claim HrR:
r ∈ R.
An
exact proof term for the current goal is
(SepE1 R (λz : set ⇒ ¬ (Rlt z 0) ∧ ¬ (Rlt 1 z)) r HrI).
We prove the intermediate
claim Hrprop:
¬ (Rlt r 0) ∧ ¬ (Rlt 1 r).
An
exact proof term for the current goal is
(SepE2 R (λz : set ⇒ ¬ (Rlt z 0) ∧ ¬ (Rlt 1 z)) r HrI).
We prove the intermediate
claim Hnlt0:
¬ (Rlt r 0).
An
exact proof term for the current goal is
(andEL (¬ (Rlt r 0)) (¬ (Rlt 1 r)) Hrprop).
We prove the intermediate
claim Hnlt1:
¬ (Rlt 1 r).
An
exact proof term for the current goal is
(andER (¬ (Rlt r 0)) (¬ (Rlt 1 r)) Hrprop).
We prove the intermediate
claim H0R:
0 ∈ R.
An
exact proof term for the current goal is
(RleE_left 0 1 H0le1).
We prove the intermediate
claim H1R:
1 ∈ R.
An
exact proof term for the current goal is
(RleE_right 0 1 H0le1).
We prove the intermediate
claim H0ler:
Rle 0 r.
An
exact proof term for the current goal is
(RleI 0 r H0R HrR Hnlt0).
We prove the intermediate
claim Hrle1:
Rle r 1.
An
exact proof term for the current goal is
(RleI r 1 HrR H1R Hnlt1).
rewrite the current goal using Hfx0 (from left to right).
rewrite the current goal using Hfy0val (from left to right).
Apply (xm (r = 0)) to the current goal.
rewrite the current goal using Hr0 (from left to right).
Apply (xm (r = 1)) to the current goal.
rewrite the current goal using Hr1 (from left to right).
We prove the intermediate
claim H0ltr:
Rlt 0 r.
We prove the intermediate
claim Hneq0':
¬ (0 = r).
Apply Hrneq0 to the current goal.
rewrite the current goal using H0r (from right to left).
Use reflexivity.
We prove the intermediate
claim Hrl1:
Rlt r 1.
We prove the intermediate
claim Hord0r:
order_rel R 0 r.
We prove the intermediate
claim Hordr1:
order_rel R r 1.
We prove the intermediate
claim Hexc:
∃c : set, c ∈ X ∧ apply_fun f c = r.
Apply Hexc to the current goal.
Let c be given.
Assume Hcpack.
We prove the intermediate
claim HcX:
c ∈ X.
An
exact proof term for the current goal is
(andEL (c ∈ X) (apply_fun f c = r) Hcpack).
We prove the intermediate
claim HcEq:
apply_fun f c = r.
An
exact proof term for the current goal is
(andER (c ∈ X) (apply_fun f c = r) Hcpack).
rewrite the current goal using HcEq (from right to left).
An
exact proof term for the current goal is
(ReplI X (λx : set ⇒ apply_fun f x) c HcX).
An exact proof term for the current goal is HimgSub.
An exact proof term for the current goal is HsubImg.
rewrite the current goal using HimgEq (from right to left).
An exact proof term for the current goal is HimgCount.
Apply FalseE to the current goal.
∎