Let b1 be given.
Let b2 be given.
Let x be given.
We will
prove ∃b3 ∈ B, x ∈ b3 ∧ b3 ⊆ b1 ∩ b2.
Let c1 be given.
Let r1 be given.
Let c2 be given.
Let r2 be given.
We prove the intermediate
claim Hxball1:
x ∈ open_ball X d c1 r1.
rewrite the current goal using Hb1eq (from right to left).
An exact proof term for the current goal is Hxb1.
We prove the intermediate
claim Hxball2:
x ∈ open_ball X d c2 r2.
rewrite the current goal using Hb2eq (from right to left).
An exact proof term for the current goal is Hxb2.
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λy0 : set ⇒ Rlt (apply_fun d (c1,y0)) r1) x Hxball1).
An
exact proof term for the current goal is
(open_ball_refine_intersection X d c1 c2 x r1 r2 Hd Hc1 Hc2 HxX Hr1R Hr2R Hr1pos Hr2pos Hxball1 Hxball2).
Apply Hexr3 to the current goal.
Let r3 be given.
We prove the intermediate
claim Hr3left:
r3 ∈ R ∧ Rlt 0 r3.
We prove the intermediate
claim Hr3R:
r3 ∈ R.
An
exact proof term for the current goal is
(andEL (r3 ∈ R) (Rlt 0 r3) Hr3left).
We prove the intermediate
claim Hr3pos:
Rlt 0 r3.
An
exact proof term for the current goal is
(andER (r3 ∈ R) (Rlt 0 r3) Hr3left).
We use
(open_ball X d x r3) to
witness the existential quantifier.
Apply andI to the current goal.
An
exact proof term for the current goal is
(ReplSepI R (λr0 : set ⇒ Rlt 0 r0) (λr0 : set ⇒ open_ball X d x r0) r3 Hr3R Hr3pos).
Apply andI to the current goal.
rewrite the current goal using Hb1eq (from left to right).
rewrite the current goal using Hb2eq (from left to right).
An exact proof term for the current goal is Hr3sub.
∎