Let b and x be given.
We prove the intermediate
claim HbB:
b ∈ B.
An exact proof term for the current goal is Hb.
We prove the intermediate
claim Hbne:
b ≠ Empty.
Let F be given.
rewrite the current goal using Hbeq (from left to right) at position 1.
We prove the intermediate
claim HFpow:
F ∈ 𝒫 S.
An
exact proof term for the current goal is
(SepE1 (𝒫 S) (λF0 : set ⇒ finite F0) F HF).
We prove the intermediate
claim HFsubS:
F ⊆ S.
An
exact proof term for the current goal is
(PowerE S F HFpow).
We prove the intermediate
claim HFfin:
finite F.
An
exact proof term for the current goal is
(SepE2 (𝒫 S) (λF0 : set ⇒ finite F0) F HF).
rewrite the current goal using Hbeq (from right to left).
An exact proof term for the current goal is Hxb.
We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ ∀U : set, U ∈ F → x0 ∈ U) x HxInt).
We prove the intermediate
claim HxAll:
∀s : set, s ∈ F → x ∈ s.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ ∀U : set, U ∈ F → x0 ∈ U) x HxInt).
Set pick_i to be the term
λs : set ⇒ Eps_i (λi : set ⇒ i ∈ ω ∧ s ∈ CylFam i).
We prove the intermediate
claim Hpick_omega:
∀s : set, s ∈ F → pick_i s ∈ ω.
Let s be given.
We will
prove pick_i s ∈ ω.
We prove the intermediate
claim HsS:
s ∈ S.
An exact proof term for the current goal is (HFsubS s HsF).
We prove the intermediate
claim Hex:
∃i : set, i ∈ ω ∧ s ∈ CylFam i.
An
exact proof term for the current goal is
(famunionE ω (λi : set ⇒ CylFam i) s HsS).
We prove the intermediate
claim Hpick:
pick_i s ∈ ω ∧ s ∈ CylFam (pick_i s).
An
exact proof term for the current goal is
(Eps_i_ex (λi : set ⇒ i ∈ ω ∧ s ∈ CylFam i) Hex).
An
exact proof term for the current goal is
(andEL (pick_i s ∈ ω) (s ∈ CylFam (pick_i s)) Hpick).
We prove the intermediate
claim Hpick_in:
∀s : set, s ∈ F → s ∈ CylFam (pick_i s).
Let s be given.
We will
prove s ∈ CylFam (pick_i s).
We prove the intermediate
claim HsS:
s ∈ S.
An exact proof term for the current goal is (HFsubS s HsF).
We prove the intermediate
claim Hex:
∃i : set, i ∈ ω ∧ s ∈ CylFam i.
An
exact proof term for the current goal is
(famunionE ω (λi : set ⇒ CylFam i) s HsS).
We prove the intermediate
claim Hpick:
pick_i s ∈ ω ∧ s ∈ CylFam (pick_i s).
An
exact proof term for the current goal is
(Eps_i_ex (λi : set ⇒ i ∈ ω ∧ s ∈ CylFam i) Hex).
An
exact proof term for the current goal is
(andER (pick_i s ∈ ω) (s ∈ CylFam (pick_i s)) Hpick).
Set J to be the term
{pick_i s|s ∈ F}.
We prove the intermediate
claim HJfin:
finite J.
An
exact proof term for the current goal is
(Repl_finite (λs : set ⇒ pick_i s) F HFfin).
We prove the intermediate
claim HJsub:
J ⊆ ω.
Let j be given.
Apply (ReplE_impred F (λs : set ⇒ pick_i s) j Hj (j ∈ ω)) to the current goal.
Let s be given.
rewrite the current goal using Hjeq (from left to right).
An exact proof term for the current goal is (Hpick_omega s HsF).
We prove the intermediate
claim Hexn:
∃n ∈ ω, ∀m ∈ J, m ∈ n.
Apply Hexn to the current goal.
Let n be given.
Assume Hnand.
We prove the intermediate
claim HnO:
n ∈ ω.
An
exact proof term for the current goal is
(andEL (n ∈ ω) (∀m ∈ J, m ∈ n) Hnand).
We prove the intermediate
claim Hnprop:
∀m ∈ J, m ∈ n.
An
exact proof term for the current goal is
(andER (n ∈ ω) (∀m ∈ J, m ∈ n) Hnand).
Set f to be the term
graph ω h.
We prove the intermediate
claim HhR:
∀i : set, i ∈ ω → h i ∈ R.
Let i be given.
Apply (xm (n ∈ i)) to the current goal.
rewrite the current goal using Hhdef (from left to right).
rewrite the current goal using
(If_i_1 (n ∈ i) 0 (apply_fun x i) Hni) (from left to right).
An
exact proof term for the current goal is
real_0.
rewrite the current goal using Hhdef (from left to right).
rewrite the current goal using
(If_i_0 (n ∈ i) 0 (apply_fun x i) Hnni) (from left to right).
We prove the intermediate
claim HfX:
f ∈ X.
Apply (SepI X (λf0 : set ⇒ ∀i : set, i ∈ ω → n ∈ i → apply_fun f0 i = 0) f HfX) to the current goal.
Let i be given.
We prove the intermediate
claim Happ:
apply_fun f i = h i.
rewrite the current goal using Happ (from left to right).
rewrite the current goal using Hhdef (from left to right).
rewrite the current goal using
(If_i_1 (n ∈ i) 0 (apply_fun x i) Hni) (from left to right).
Use reflexivity.
We will
prove f ∈ {x0 ∈ X|∀U : set, U ∈ F → x0 ∈ U}.
Apply (SepI X (λx0 : set ⇒ ∀U : set, U ∈ F → x0 ∈ U) f HfX) to the current goal.
Let s be given.
We prove the intermediate
claim HsCyl:
s ∈ CylFam (pick_i s).
An exact proof term for the current goal is (Hpick_in s HsF).
Let U be given.
rewrite the current goal using Hseq (from left to right).
We prove the intermediate
claim Hxs:
x ∈ s.
An exact proof term for the current goal is (HxAll s HsF).
rewrite the current goal using Hseq (from right to left).
An exact proof term for the current goal is Hxs.
We prove the intermediate
claim HxUi:
apply_fun x (pick_i s) ∈ U.
We prove the intermediate
claim Hidx:
pick_i s ∈ ω.
An exact proof term for the current goal is (Hpick_omega s HsF).
We prove the intermediate
claim HidxJ:
pick_i s ∈ J.
An
exact proof term for the current goal is
(ReplI F (λs0 : set ⇒ pick_i s0) s HsF).
We prove the intermediate
claim Hidxn:
pick_i s ∈ n.
An exact proof term for the current goal is (Hnprop (pick_i s) HidxJ).
We prove the intermediate
claim Hnot_nin:
¬ (n ∈ pick_i s).
An
exact proof term for the current goal is
(In_no2cycle (pick_i s) n Hidxn Hnin).
An exact proof term for the current goal is HfX.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is Hidx.
An exact proof term for the current goal is HU.
We prove the intermediate
claim Happf:
apply_fun f (pick_i s) = h (pick_i s).
An
exact proof term for the current goal is
(apply_fun_graph ω h (pick_i s) Hidx).
rewrite the current goal using Happf (from left to right).
We prove the intermediate
claim Hhdef:
h (pick_i s) = If_i (n ∈ pick_i s) 0 (apply_fun x (pick_i s)).
rewrite the current goal using Hhdef (from left to right).
An
exact proof term for the current goal is
(If_i_0 (n ∈ pick_i s) 0 (apply_fun x (pick_i s)) Hnot_nin).
rewrite the current goal using Hif (from left to right).
An exact proof term for the current goal is HxUi.
An exact proof term for the current goal is HfInt.
We prove the intermediate
claim HfE:
f ∈ Empty.
rewrite the current goal using Hempty (from left to right).
An exact proof term for the current goal is (HsubE f HfBA).
An
exact proof term for the current goal is
(EmptyE f HfE).
∎