Let X, Tx, Y, dY, H, x0, eps, r, Ty, eval0, Img0, FamBalls and Gballs be given.
Let b be given.
rewrite the current goal using HTyEq (from left to right).
We prove the intermediate
claim HHsubTy:
H ⊆ CXY.
rewrite the current goal using HTyEq (from left to right).
An exact proof term for the current goal is HHsub.
rewrite the current goal using HTyEq (from left to right).
An exact proof term for the current goal is Hcomp.
We prove the intermediate
claim HbFam:
b ∈ FamBalls.
An exact proof term for the current goal is (HGsub b HbG).
We prove the intermediate
claim HbFam':
b ∈ {open_ball Y dY y r|y ∈ Img0}.
rewrite the current goal using HFamEq (from right to left).
An exact proof term for the current goal is HbFam.
Let y0 be given.
We prove the intermediate
claim Hy0Im:
y0 ∈ image_of_fun eval0 H.
rewrite the current goal using HImg0Eq (from right to left).
An exact proof term for the current goal is Hy0Img.
We prove the intermediate
claim Hy0Y:
y0 ∈ Y.
Let f0 be given.
rewrite the current goal using Hy0Eq (from left to right).
An exact proof term for the current goal is (HHsub f0 Hf0H).
An exact proof term for the current goal is (HCsubFS f0 Hf0CXY).
We prove the intermediate
claim Hf0fun:
function_on f0 X Y.
rewrite the current goal using Heval0Def (from left to right).
An exact proof term for the current goal is (Hf0fun x0 Hx0X).
rewrite the current goal using Hbeq (from left to right).
rewrite the current goal using HTyEq (from left to right).
We prove the intermediate
claim HHbSubH:
Hb ⊆ H.
Let f0 be given.
An
exact proof term for the current goal is
(SepE1 H (λg0 : set ⇒ apply_fun eval0 g0 ∈ Clb) f0 Hf0).
We prove the intermediate
claim HTcc:
topology_on DomFS Tcc.
We prove the intermediate
claim HCXYsubFS:
CXY ⊆ DomFS.
We prove the intermediate
claim Heval0FS:
continuous_map DomFS Tcc Y Ty eval0.
rewrite the current goal using Heval0Def (from left to right).
We prove the intermediate
claim Heval0CXY:
continuous_map CXY Tco Y Ty eval0.
We prove the intermediate
claim HTco:
topology_on CXY Tco.
We prove the intermediate
claim Heval0H:
continuous_map H TH Y Ty eval0.
We prove the intermediate
claim HbsubY:
b ⊆ Y.
rewrite the current goal using Hbeq (from left to right).
We prove the intermediate
claim HclClb:
closed_in Y Ty Clb.
We prove the intermediate
claim HHbClosed:
closed_in H TH Hb.
rewrite the current goal using HTHbEq (from right to left).
An exact proof term for the current goal is HHbComp.
We prove the intermediate
claim HTHb:
topology_on Hb THb.
We prove the intermediate
claim HHbSubCXY:
Hb ⊆ CXY.
Let f0 be given.
We prove the intermediate
claim Hf0H:
f0 ∈ H.
An exact proof term for the current goal is (HHbSubH f0 Hf0Hb).
An exact proof term for the current goal is (HHsubTy f0 Hf0H).
Set Dom0 to be the term
setprod X CXY.
We prove the intermediate
claim Hev0:
continuous_map Dom0 Tdom0 Y Ty ev.
We prove the intermediate
claim HTdom0:
topology_on Dom0 Tdom0.
Set DomHb to be the term
setprod X Hb.
We prove the intermediate
claim HDomHbSub:
DomHb ⊆ Dom0.
We prove the intermediate
claim HDom0def:
Dom0 = setprod X CXY.
We prove the intermediate
claim HDomHbdef:
DomHb = setprod X Hb.
rewrite the current goal using HTHbdef (from left to right).
rewrite the current goal using HDom0def (from left to right).
rewrite the current goal using HTdom0def (from left to right).
rewrite the current goal using HDomHbdef (from left to right).
rewrite the current goal using HTxWhole (from right to left) at position 1.
rewrite the current goal using HprodSubEq (from left to right).
An exact proof term for the current goal is HevHb_sub.
We prove the intermediate
claim HrrR:
rr ∈ R.
An
exact proof term for the current goal is
(real_add_SNo r HrR r HrR).
We prove the intermediate
claim HrrPos:
Rlt 0 rr.
An
exact proof term for the current goal is
(Rlt_add_SNo 0 r 0 r HrPos HrPos).
We prove the intermediate
claim H00eq:
add_SNo 0 0 = 0.
rewrite the current goal using H00eq (from right to left) at position 1.
An exact proof term for the current goal is H0lt.
We prove the intermediate
claim HV:
V ∈ Ty.
rewrite the current goal using HTyEq (from left to right).
We prove the intermediate
claim Hx0HbSubN:
setprod {x0} Hb ⊆ N.
Let p be given.
We prove the intermediate
claim HsingSubX:
{x0} ⊆ X.
Let t be given.
We prove the intermediate
claim Hteq:
t = x0.
An
exact proof term for the current goal is
(SingE x0 t Ht).
rewrite the current goal using Hteq (from left to right).
An exact proof term for the current goal is Hx0X.
We prove the intermediate
claim HsubProd:
setprod {x0} Hb ⊆ DomHb.
We prove the intermediate
claim HpDomHb:
p ∈ DomHb.
An exact proof term for the current goal is (HsubProd p Hp).
We prove the intermediate
claim HevIn:
apply_fun ev p ∈ V.
We prove the intermediate
claim Hp0:
p 0 ∈ {x0}.
An
exact proof term for the current goal is
(ap0_Sigma {x0} (λ_ : set ⇒ Hb) p Hp).
We prove the intermediate
claim Hp1:
p 1 ∈ Hb.
An
exact proof term for the current goal is
(ap1_Sigma {x0} (λ_ : set ⇒ Hb) p Hp).
We prove the intermediate
claim Hp0eq:
p 0 = x0.
An
exact proof term for the current goal is
(SingE x0 (p 0) Hp0).
We prove the intermediate
claim Hp1Clb:
apply_fun eval0 (p 1) ∈ Clb.
An
exact proof term for the current goal is
(SepE2 H (λg0 : set ⇒ apply_fun eval0 g0 ∈ Clb) (p 1) Hp1).
We prove the intermediate
claim Hp1V0:
apply_fun eval0 (p 1) ∈ V.
An
exact proof term for the current goal is
(HclSub (apply_fun eval0 (p 1)) Hp1Clb).
We prove the intermediate
claim HpHbDom0:
p ∈ Dom0.
An exact proof term for the current goal is (HDomHbSub p HpDomHb).
We prove the intermediate
claim Hp1CXY:
p 1 ∈ CXY.
An
exact proof term for the current goal is
(HHbSubCXY (p 1) Hp1).
An
exact proof term for the current goal is
(HCXYsubFS (p 1) Hp1CXY).
We prove the intermediate
claim Hevdef:
ev = graph Dom0 (λq : set ⇒ apply_fun (q 1) (q 0)).
rewrite the current goal using Hevdef (from left to right).
rewrite the current goal using Hp0eq (from left to right).
rewrite the current goal using Heval0Def (from left to right).
rewrite the current goal using HeqEv0 (from right to left) at position 1.
An exact proof term for the current goal is Hp1V0.
An
exact proof term for the current goal is
(SepI DomHb (λq : set ⇒ apply_fun ev q ∈ V) p HpDomHb HevIn).
We prove the intermediate
claim HexU:
∃U : set, U ∈ Tx ∧ x0 ∈ U ∧ setprod U Hb ⊆ N.
Apply (tube_lemma X Tx Hb THb HTx HTHb HHbComp2 x0 Hx0X N) to the current goal.
Apply HexU to the current goal.
Let U be given.
Assume HUpack.
We prove the intermediate
claim HUand:
U ∈ Tx ∧ x0 ∈ U.
An
exact proof term for the current goal is
(andEL (U ∈ Tx ∧ x0 ∈ U) (setprod U Hb ⊆ N) HUpack).
We prove the intermediate
claim HUopen:
U ∈ Tx.
An
exact proof term for the current goal is
(andEL (U ∈ Tx) (x0 ∈ U) HUand).
We prove the intermediate
claim Hx0U:
x0 ∈ U.
An
exact proof term for the current goal is
(andER (U ∈ Tx) (x0 ∈ U) HUand).
We prove the intermediate
claim HUsubN:
setprod U Hb ⊆ N.
An
exact proof term for the current goal is
(andER (U ∈ Tx ∧ x0 ∈ U) (setprod U Hb ⊆ N) HUpack).
We use U 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 HUopen.
An exact proof term for the current goal is Hx0U.
Let f be given.
Let x1 be given.
We prove the intermediate
claim HfHb:
f ∈ Hb.
An
exact proof term for the current goal is
(SepI H (λg0 : set ⇒ apply_fun eval0 g0 ∈ Clb) f HfH HfCl).
We prove the intermediate
claim HpDomHb:
(x1,f) ∈ DomHb.
We prove the intermediate
claim HpDomN:
(x1,f) ∈ N.
We prove the intermediate
claim HpProd:
(x1,f) ∈ setprod U Hb.
An exact proof term for the current goal is (HUsubN (x1,f) HpProd).
We prove the intermediate
claim Hfx1V:
apply_fun ev (x1,f) ∈ V.
An
exact proof term for the current goal is
(SepE2 DomHb (λq : set ⇒ apply_fun ev q ∈ V) (x1,f) HpDomN).
We prove the intermediate
claim HfCXY:
f ∈ CXY.
An exact proof term for the current goal is (HHsubTy f HfH).
We prove the intermediate
claim Hffun:
function_on f X Y.
We prove the intermediate
claim Hfx1Y:
fx1 ∈ Y.
An exact proof term for the current goal is (Hffun x1 Hx1X).
We prove the intermediate
claim Hfx0Y:
fx0 ∈ Y.
An exact proof term for the current goal is (Hffun x0 Hx0X).
We prove the intermediate
claim HpDom0:
(x1,f) ∈ Dom0.
An exact proof term for the current goal is (HDomHbSub (x1,f) HpDomHb).
We prove the intermediate
claim Hevdef:
ev = graph Dom0 (λq : set ⇒ apply_fun (q 1) (q 0)).
We prove the intermediate
claim HevPair:
apply_fun ev (x1,f) = fx1.
rewrite the current goal using Hevdef (from left to right).
rewrite the current goal using
(tuple_2_1_eq x1 f) (from left to right).
rewrite the current goal using
(tuple_2_0_eq x1 f) (from left to right).
Use reflexivity.
We prove the intermediate
claim Hfx1Ball:
fx1 ∈ open_ball Y dY y0 rr.
rewrite the current goal using HevPair (from right to left).
An exact proof term for the current goal is Hfx1V.
We prove the intermediate
claim Hdy0_fx1:
Rlt (apply_fun dY (y0,fx1)) rr.
An
exact proof term for the current goal is
(open_ballE2 Y dY y0 rr fx1 Hfx1Ball).
We prove the intermediate
claim Heval0fx0:
apply_fun eval0 f = fx0.
rewrite the current goal using Heval0Def (from left to right).
We prove the intermediate
claim Hfx0Ball:
fx0 ∈ open_ball Y dY y0 rr.
An
exact proof term for the current goal is
(HclSub (apply_fun eval0 f) HfCl).
rewrite the current goal using Heval0fx0 (from right to left).
An exact proof term for the current goal is Htmp.
We prove the intermediate
claim Hdy0_fx0:
Rlt (apply_fun dY (y0,fx0)) rr.
An
exact proof term for the current goal is
(open_ballE2 Y dY y0 rr fx0 Hfx0Ball).
We prove the intermediate
claim Hdfx1y0:
Rlt (apply_fun dY (fx1,y0)) rr.
rewrite the current goal using Hsym1 (from left to right).
An exact proof term for the current goal is Hdy0_fx1.
An
exact proof term for the current goal is
(metric_triangle_Rle Y dY fx1 y0 fx0 HdY Hfx1Y Hy0Y Hfx0Y).
We prove the intermediate
claim Hrr2lt:
Rlt (add_SNo rr rr) eps.
An exact proof term for the current goal is Hr4lt.
∎