Assume HexA.
Apply HexA to the current goal.
Let A0 be given.
Assume HA0pack.
We prove the intermediate
claim HA0meet:
A0 ∩ N ≠ Empty.
Apply (ReplE S (λx : set ⇒ open_ball X d x r) A0 HA0inF) to the current goal.
Let x0 be given.
Assume Hx0pack.
We prove the intermediate
claim Hx0S:
x0 ∈ S.
An
exact proof term for the current goal is
(andEL (x0 ∈ S) (A0 = open_ball X d x0 r) Hx0pack).
We prove the intermediate
claim HA0eq:
A0 = open_ball X d x0 r.
An
exact proof term for the current goal is
(andER (x0 ∈ S) (A0 = open_ball X d x0 r) Hx0pack).
We prove the intermediate
claim Hexq0:
∃q0 : set, q0 ∈ (A0 ∩ N).
Apply Hexq0 to the current goal.
Let q0 be given.
Assume Hq0in.
We prove the intermediate
claim Hq0AN:
q0 ∈ A0 ∧ q0 ∈ N.
An
exact proof term for the current goal is
(binintersectE A0 N q0 Hq0in).
We prove the intermediate
claim Hq0A0:
q0 ∈ A0.
An
exact proof term for the current goal is
(andEL (q0 ∈ A0) (q0 ∈ N) Hq0AN).
We prove the intermediate
claim Hq0N:
q0 ∈ N.
An
exact proof term for the current goal is
(andER (q0 ∈ A0) (q0 ∈ N) Hq0AN).
We prove the intermediate
claim Hq0X:
q0 ∈ X.
An
exact proof term for the current goal is
(open_ballE1 X d p r q0 Hq0N).
We prove the intermediate
claim Hq0Bp:
Rlt (apply_fun d (p,q0)) r.
An
exact proof term for the current goal is
(open_ballE2 X d p r q0 Hq0N).
We prove the intermediate
claim Hq0Px:
Rlt (apply_fun d (q0,p)) r.
rewrite the current goal using
(metric_on_symmetric X d p q0 Hm HpX Hq0X) (from right to left).
An exact proof term for the current goal is Hq0Bp.
We prove the intermediate
claim Hq0Bx0:
q0 ∈ open_ball X d x0 r.
rewrite the current goal using HA0eq (from right to left).
An exact proof term for the current goal is Hq0A0.
We prove the intermediate
claim Hq0x0:
Rlt (apply_fun d (x0,q0)) r.
An
exact proof term for the current goal is
(open_ballE2 X d x0 r q0 Hq0Bx0).
We prove the intermediate
claim Hx0X:
x0 ∈ X.
An
exact proof term for the current goal is
((andEL (S ⊆ X) (∀a b : set, a ∈ S → b ∈ S → ¬ (a = b) → ¬ (Rlt (apply_fun d (a,b)) (eps_ n))) Hsep) x0 Hx0S).
An
exact proof term for the current goal is
(metric_triangle_Rle X d x0 q0 p Hm Hx0X Hq0X HpX).
rewrite the current goal using HrrEps (from right to left).
An
exact proof term for the current goal is
(open_ballI X d x0 (add_SNo r r) p HpX HdistLt).
Let A be given.
Apply (ReplE S (λx : set ⇒ open_ball X d x r) A HAinF) to the current goal.
Let x1 be given.
Assume Hx1pack.
We prove the intermediate
claim Hx1S:
x1 ∈ S.
An
exact proof term for the current goal is
(andEL (x1 ∈ S) (A = open_ball X d x1 r) Hx1pack).
We prove the intermediate
claim HAeq:
A = open_ball X d x1 r.
An
exact proof term for the current goal is
(andER (x1 ∈ S) (A = open_ball X d x1 r) Hx1pack).
We prove the intermediate
claim Hexq:
∃q : set, q ∈ (A ∩ N).
Apply Hexq to the current goal.
Let q be given.
Assume Hqin.
We prove the intermediate
claim HqAN:
q ∈ A ∧ q ∈ N.
An
exact proof term for the current goal is
(binintersectE A N q Hqin).
We prove the intermediate
claim HqA:
q ∈ A.
An
exact proof term for the current goal is
(andEL (q ∈ A) (q ∈ N) HqAN).
We prove the intermediate
claim HqN:
q ∈ N.
An
exact proof term for the current goal is
(andER (q ∈ A) (q ∈ N) HqAN).
We prove the intermediate
claim HqX:
q ∈ X.
An
exact proof term for the current goal is
(open_ballE1 X d p r q HqN).
We prove the intermediate
claim HqBp:
Rlt (apply_fun d (p,q)) r.
An
exact proof term for the current goal is
(open_ballE2 X d p r q HqN).
We prove the intermediate
claim HqPp:
Rlt (apply_fun d (q,p)) r.
An exact proof term for the current goal is HqBp.
We prove the intermediate
claim HqBx1:
q ∈ open_ball X d x1 r.
rewrite the current goal using HAeq (from right to left).
An exact proof term for the current goal is HqA.
We prove the intermediate
claim HqX1:
x1 ∈ X.
An
exact proof term for the current goal is
((andEL (S ⊆ X) (∀a b : set, a ∈ S → b ∈ S → ¬ (a = b) → ¬ (Rlt (apply_fun d (a,b)) (eps_ n))) Hsep) x1 Hx1S).
We prove the intermediate
claim Hqx1:
Rlt (apply_fun d (x1,q)) r.
An
exact proof term for the current goal is
(open_ballE2 X d x1 r q HqBx1).
rewrite the current goal using HrrEps (from right to left).
An
exact proof term for the current goal is
(open_ballI X d x1 (add_SNo r r) p HpX HdistLt1).
We prove the intermediate
claim Hx1eqx0:
x1 = x0.
rewrite the current goal using HA0eq (from left to right).
rewrite the current goal using HAeq (from left to right).
rewrite the current goal using Hx1eqx0 (from left to right).
Use reflexivity.
We use
{A0} to
witness the existential quantifier.
Apply andI to the current goal.
Apply andI to the current goal.
An
exact proof term for the current goal is
(Sing_finite A0).
Let y be given.
rewrite the current goal using
(SingE A0 y Hy) (from left to right).
An exact proof term for the current goal is HA0inF.
Let A be given.
We prove the intermediate
claim HAeqA0:
A = A0.
An exact proof term for the current goal is (Huniq A HAinF HAmeet).
rewrite the current goal using HAeqA0 (from left to right).
An
exact proof term for the current goal is
(SingI A0).