We prove the intermediate
claim HyNotb:
y ∉ b.
We prove the intermediate
claim Hycap:
y ∈ b ∩ Vsmall.
An
exact proof term for the current goal is
(binintersectI b Vsmall y Hyb HyVsmall).
We prove the intermediate
claim HyEmpty:
y ∈ Empty.
rewrite the current goal using HbcapEmpty (from right to left).
An exact proof term for the current goal is Hycap.
An
exact proof term for the current goal is
(EmptyE y HyEmpty).
We prove the intermediate
claim HzNotb:
z ∉ b.
We prove the intermediate
claim Hzcap:
z ∈ b ∩ Vsmall.
An
exact proof term for the current goal is
(binintersectI b Vsmall z Hzb HzVsmall).
We prove the intermediate
claim HzEmpty:
z ∈ Empty.
rewrite the current goal using HbcapEmpty (from right to left).
An exact proof term for the current goal is Hzcap.
An
exact proof term for the current goal is
(EmptyE z HzEmpty).
We prove the intermediate
claim HyOut:
y ∈ X ∖ b.
An
exact proof term for the current goal is
(setminusI X b y HyX HyNotb).
We prove the intermediate
claim HzOut:
z ∈ X ∖ b.
An
exact proof term for the current goal is
(setminusI X b z HzX HzNotb).
We prove the intermediate
claim HbTx:
b ∈ Tx.
An exact proof term for the current goal is (HBopen b HbB).
We prove the intermediate
claim Hexb0:
∃f0 : set, P f0.
We prove the intermediate claim HPb: P (bump0 b).
An
exact proof term for the current goal is
(Eps_i_ex P Hexb0).
We prove the intermediate
claim Hb0zero:
∀x : set, x ∈ X ∖ b → apply_fun (bump0 b) x = 0.
We prove the intermediate
claim Hyb0:
apply_fun (bump0 b) y = 0.
An exact proof term for the current goal is (Hb0zero y HyOut).
We prove the intermediate
claim Hzb0:
apply_fun (bump0 b) z = 0.
An exact proof term for the current goal is (Hb0zero z HzOut).
We prove the intermediate
claim HappF:
apply_fun F j = bump_scaled (j 0) (j 1).
We prove the intermediate
claim HFdef:
F = graph J (λp : set ⇒ bump_scaled (p 0) (p 1)).
rewrite the current goal using HFdef (from left to right).
An
exact proof term for the current goal is
(apply_fun_graph J (λp : set ⇒ bump_scaled (p 0) (p 1)) j HjJ).
We prove the intermediate
claim HbumpDef:
bump b = graph X (λx0 : set ⇒ apply_fun (bump0 b) x0).
We prove the intermediate
claim HFmapDef:
Fmap = diagonal_map X F J.
rewrite the current goal using HFmapDef (from left to right).
We prove the intermediate
claim HFmapDef:
Fmap = diagonal_map X F J.
rewrite the current goal using HFmapDef (from left to right).
We prove the intermediate
claim HfjEq:
apply_fun F j = bump_scaled n b.
rewrite the current goal using HappF (from left to right).
rewrite the current goal using HnDef (from right to left) at position 1.
rewrite the current goal using HbDef (from right to left) at position 2.
Use reflexivity.
rewrite the current goal using HfjEq (from left to right).
rewrite the current goal using HbscDef (from left to right).
rewrite the current goal using Hcomp (from left to right).
rewrite the current goal using HbumpDef (from left to right).
Use reflexivity.
We prove the intermediate
claim HbumpRy:
apply_fun (bump b) y ∈ R.
rewrite the current goal using HbumpEqy (from left to right).
An exact proof term for the current goal is (Hb0fun y HyX).
rewrite the current goal using Hmul (from left to right).
rewrite the current goal using HbumpEqy (from left to right) at position 1.
rewrite the current goal using Hyb0 (from left to right).
Use reflexivity.
rewrite the current goal using HfjEq (from left to right).
rewrite the current goal using HbscDef (from left to right).
rewrite the current goal using Hcomp (from left to right).
rewrite the current goal using HbumpDef (from left to right).
Use reflexivity.
We prove the intermediate
claim HbumpRz:
apply_fun (bump b) z ∈ R.
rewrite the current goal using HbumpEqz (from left to right).
An exact proof term for the current goal is (Hb0fun z HzX).
rewrite the current goal using Hmul (from left to right).
rewrite the current goal using HbumpEqz (from left to right) at position 1.
rewrite the current goal using Hzb0 (from left to right).
Use reflexivity.
We prove the intermediate
claim Hfyj0:
apply_fun fy j = 0.
rewrite the current goal using Hfyj (from left to right).
An exact proof term for the current goal is Hfj_y_0.
We prove the intermediate
claim Hfzj0:
apply_fun fz j = 0.
rewrite the current goal using Hfzj (from left to right).
An exact proof term for the current goal is Hfj_z_0.
rewrite the current goal using HcdEq (from left to right).
rewrite the current goal using Hfyj0 (from left to right).
rewrite the current goal using Hfzj0 (from left to right).
We prove the intermediate
claim HsuccN0O:
ordsucc N0 ∈ ω.
An
exact proof term for the current goal is
(omega_ordsucc N0 HN0O).
We prove the intermediate
claim HsuccN0Not0:
ordsucc N0 ≠ 0.
We prove the intermediate
claim HsuccN0NotIn0:
ordsucc N0 ∉ {0}.
An
exact proof term for the current goal is
(HsuccN0Not0 (SingE 0 (ordsucc N0) Hs0)).
We prove the intermediate
claim HinvN0Pos:
Rlt 0 invN0.
We prove the intermediate
claim HinvN0PosS:
0 < invN0.
An
exact proof term for the current goal is
(RltE_lt 0 invN0 HinvN0Pos).
We prove the intermediate
claim Heps1PosS:
0 < eps1.
We prove the intermediate
claim Heps1Def:
eps1 = eps_ N1.
rewrite the current goal using Heps1Def (from left to right).
An
exact proof term for the current goal is
(SNo_eps_pos N1 HN1O).
We prove the intermediate
claim H0LtU0S:
0 < u0.
We prove the intermediate
claim Hu0Def:
u0 = add_SNo invN0 eps1.
We prove the intermediate
claim Heps1Def:
eps1 = eps_ N1.
We prove the intermediate
claim HinvLtU0S:
invN0 < u0.
rewrite the current goal using Hu0Def (from left to right).
rewrite the current goal using Heps1Def (from left to right).
An
exact proof term for the current goal is
(add_SNo_eps_Lt invN0 HinvN0S N1 HN1O).
An
exact proof term for the current goal is
(SNoLt_tra 0 invN0 u0 SNo_0 HinvN0S Hu0S HinvN0PosS HinvLtU0S).
We prove the intermediate
claim H0leU0:
0 ≤ u0.
An
exact proof term for the current goal is
(SNoLtLe 0 u0 H0LtU0S).
We prove the intermediate
claim HbSfun:
b ∈ Sfun F0.
An
exact proof term for the current goal is
((andER (finite (Sfun F0) ∧ (Sfun F0) ⊆ F0) (∀b0 : set, b0 ∈ F0 → b0 ∩ Vsmall ≠ Empty → b0 ∈ (Sfun F0)) (HSfunSpec F0 HF0small)) b HbF0 HbcapNonEmpty).
We prove the intermediate
claim HjEta:
j = (j 0,j 1).
An
exact proof term for the current goal is
(setprod_eta ω B j Hjprod).
We prove the intermediate
claim HjEqnb:
j = (n,b).
We prove the intermediate
claim Hj01:
(j 0,j 1) = (n,b).
Use symmetry.
An exact proof term for the current goal is HnDef.
Use symmetry.
An exact proof term for the current goal is HbDef.
An
exact proof term for the current goal is
(eq_i_tra j (j 0,j 1) (n,b) HjEta Hj01).
We prove the intermediate
claim HjEqIdx:
j = (idx F0,b).
We prove the intermediate
claim HnbEq:
(n,b) = (idx F0,b).
Use symmetry.
An exact proof term for the current goal is HidxEq.
An
exact proof term for the current goal is
(eq_i_tra j (n,b) (idx F0,b) HjEqnb HnbEq).
We prove the intermediate
claim HjJsel:
j ∈ Jsel F0.
rewrite the current goal using HjEqIdx (from left to right).
We prove the intermediate
claim HJselDef:
Jsel F0 = Repl (Sfun F0) (λb0 : set ⇒ (idx F0,b0)).
rewrite the current goal using HJselDef (from left to right).
An
exact proof term for the current goal is
(ReplI (Sfun F0) (λb0 : set ⇒ (idx F0,b0)) b HbSfun).
We prove the intermediate
claim HJselFam:
(Jsel F0) ∈ Jfam.
An
exact proof term for the current goal is
(ReplI FamsSmall Jsel F0 HF0small).
We prove the intermediate
claim HjNeed:
j ∈ Jneed.
We prove the intermediate
claim HJneedDef:
Jneed = ⋃ Jfam.
rewrite the current goal using HJneedDef (from left to right).
An
exact proof term for the current goal is
(UnionI Jfam j (Jsel F0) HjJsel HJselFam).
We prove the intermediate
claim HNjInCfam:
Nj j ∈ Cfam.
An
exact proof term for the current goal is
(ReplI Jneed Nj j HjNeed).
rewrite the current goal using HVcontDef (from right to left).
An exact proof term for the current goal is HyVcont.
rewrite the current goal using HVcontDef (from right to left).
An exact proof term for the current goal is HzVcont.
We prove the intermediate
claim HyNj:
y ∈ Nj j.
We prove the intermediate
claim HzNj:
z ∈ Nj j.
rewrite the current goal using HNjDef (from right to left).
An exact proof term for the current goal is HyNj.
rewrite the current goal using HNjDef (from right to left).
An exact proof term for the current goal is HzNj.
rewrite the current goal using HpreDef0 (from right to left).
An exact proof term for the current goal is HyPre.
rewrite the current goal using HpreDef0 (from right to left).
An exact proof term for the current goal is HzPre.
We prove the intermediate
claim HFmapDef:
Fmap = diagonal_map X F J.
rewrite the current goal using HFmapDef (from left to right).
We prove the intermediate
claim HFmapDef:
Fmap = diagonal_map X F J.
rewrite the current goal using HFmapDef (from left to right).
We prove the intermediate
claim HyValIj:
apply_fun fy j ∈ Ij j.
rewrite the current goal using Hfyj (from left to right).
An exact proof term for the current goal is HyValIj0.
We prove the intermediate
claim HzValIj:
apply_fun fz j ∈ Ij j.
rewrite the current goal using Hfzj (from left to right).
An exact proof term for the current goal is HzValIj0.
rewrite the current goal using HcdEq (from left to right).
We prove the intermediate
claim HsyR:
sy ∈ R.
We prove the intermediate
claim HszR:
sz ∈ R.
We prove the intermediate
claim HsyS:
SNo sy.
An
exact proof term for the current goal is
(real_SNo sy HsyR).
We prove the intermediate
claim HszS:
SNo sz.
An
exact proof term for the current goal is
(real_SNo sz HszR).
rewrite the current goal using HIjDef1 (from right to left).
An exact proof term for the current goal is HzValIj.
We prove the intermediate
claim HrightR:
Rlt sz (add_SNo sy eps3).
An
exact proof term for the current goal is
(SepE2 R (λt : set ⇒ Rlt t (add_SNo sy eps3)) sz HzUp).
We prove the intermediate
claim HrightS:
sz < add_SNo sy eps3.
An
exact proof term for the current goal is
(RltE_lt sz (add_SNo sy eps3) HrightR).
We prove the intermediate
claim HtR:
t ∈ R.
We prove the intermediate
claim HtS:
SNo t.
An
exact proof term for the current goal is
(real_SNo t HtR).
An
exact proof term for the current goal is
(SNo_minus_SNo sy HsyS).
An
exact proof term for the current goal is
(SNo_minus_SNo sz HszS).
We prove the intermediate
claim Hmeps3S:
SNo (minus_SNo eps3).
An
exact proof term for the current goal is
(SNo_minus_SNo eps3 Heps3S).
We prove the intermediate
claim HsyEps3S:
SNo (add_SNo sy eps3).
An
exact proof term for the current goal is
(SNo_add_SNo sy eps3 HsyS Heps3S).
We prove the intermediate
claim HdiffS:
SNo diff.
rewrite the current goal using HsyInv (from left to right).
rewrite the current goal using
(add_SNo_0L eps3 Heps3S) (from left to right).
Use reflexivity.
We prove the intermediate
claim HdiffLt:
diff < eps3.
rewrite the current goal using HRhs (from right to left).
An exact proof term for the current goal is HdiffLtTmp.
rewrite the current goal using HsyInv (from left to right).
Use reflexivity.
We prove the intermediate
claim HdiffGt:
minus_SNo eps3 < diff.
rewrite the current goal using HLhs (from right to left).
An exact proof term for the current goal is HdiffGtTmp.
We prove the intermediate
claim HdiffLo:
minus_SNo eps3 ≤ diff.
An
exact proof term for the current goal is
(SNoLtLe (minus_SNo eps3) diff HdiffGt).
We prove the intermediate
claim HdiffHi:
diff ≤ eps3.
An
exact proof term for the current goal is
(SNoLtLe diff eps3 HdiffLt).
We prove the intermediate
claim HabsDiffLe:
abs_SNo diff ≤ eps3.
An
exact proof term for the current goal is
(abs_SNo_Le_of_bounds diff eps3 HdiffS Heps3S HdiffLo HdiffHi).
rewrite the current goal using HtDef (from left to right).
rewrite the current goal using HdiffDef (from left to right).
We prove the intermediate
claim HabsLe:
abs_SNo t ≤ eps3.
rewrite the current goal using HabsSwap0 (from left to right).
An exact proof term for the current goal is HabsDiffLe.
We prove the intermediate
claim HabsR:
abs_SNo t ∈ R.
An
exact proof term for the current goal is
(abs_SNo_in_R t HtR).
rewrite the current goal using Hbddef (from left to right).
rewrite the current goal using Hif (from left to right).
rewrite the current goal using Hbddef (from left to right).
rewrite the current goal using Hif (from left to right).
We prove the intermediate
claim HabsLeR:
Rle (abs_SNo t) eps3.
An
exact proof term for the current goal is
(Rle_of_SNoLe (abs_SNo t) eps3 HabsR Heps3R HabsLe).
We prove the intermediate
claim HN1in1:
N1 ∈ ordsucc N1.
An
exact proof term for the current goal is
(ordsuccI2 N1).
An exact proof term for the current goal is (HsuccSub N1 HN1in1).
We prove the intermediate
claim Heps3LtEps1S:
eps3 < eps1.
We prove the intermediate
claim Heps3LeEps1:
eps3 ≤ eps1.
An
exact proof term for the current goal is
(SNoLtLe eps3 eps1 Heps3LtEps1S).
We prove the intermediate
claim HsuccN0O:
ordsucc N0 ∈ ω.
An
exact proof term for the current goal is
(omega_ordsucc N0 HN0O).
We prove the intermediate
claim HsuccN0Not0:
ordsucc N0 ≠ 0.
We prove the intermediate
claim HsuccN0NotIn0:
ordsucc N0 ∉ {0}.
An
exact proof term for the current goal is
(HsuccN0Not0 (SingE 0 (ordsucc N0) Hs0)).
We prove the intermediate
claim HinvN0Pos:
Rlt 0 invN0.
We prove the intermediate
claim HinvN0PosS:
0 < invN0.
An
exact proof term for the current goal is
(RltE_lt 0 invN0 HinvN0Pos).
We prove the intermediate
claim HinvN0NN:
0 ≤ invN0.
An
exact proof term for the current goal is
(SNoLtLe 0 invN0 HinvN0PosS).
We prove the intermediate
claim Heps1LeU0S:
eps1 ≤ add_SNo eps1 invN0.
We prove the intermediate
claim Hu0Def:
u0 = add_SNo invN0 eps1.
We prove the intermediate
claim Hcom:
add_SNo invN0 eps1 = add_SNo eps1 invN0.
An
exact proof term for the current goal is
(add_SNo_com invN0 eps1 HinvN0S Heps1S).
We prove the intermediate
claim Heps1LeU0:
eps1 ≤ u0.
rewrite the current goal using Hu0Def (from left to right).
rewrite the current goal using Hcom (from left to right).
An exact proof term for the current goal is Heps1LeU0S.
We prove the intermediate
claim Heps3LeU0:
eps3 ≤ u0.
An
exact proof term for the current goal is
(SNoLe_tra eps3 eps1 u0 Heps3S Heps1S Hu0S Heps3LeEps1 Heps1LeU0).
We prove the intermediate
claim Heps3LeU0R:
Rle eps3 u0.
An
exact proof term for the current goal is
(Rle_of_SNoLe eps3 u0 Heps3R Hu0R Heps3LeU0).