We prove the intermediate
claim HxX:
x ∈ X.
An
exact proof term for the current goal is
(SepE1 X (λx0 : set ⇒ ∀U : set, U ∈ Tx → x0 ∈ U → U ∩ A ≠ Empty) x Hxcl).
An exact proof term for the current goal is (Hbas_all x HxX).
We prove the intermediate
claim HBex:
∃B : set, B ⊆ Tx ∧ countable_set B ∧ (∀b : set, b ∈ B → x ∈ b) ∧ (∀U : set, U ∈ Tx → x ∈ U → ∃b : set, b ∈ B ∧ b ⊆ U).
An exact proof term for the current goal is Hbas.
We prove the intermediate
claim Hclprop:
∀U : set, U ∈ Tx → x ∈ U → U ∩ A ≠ Empty.
An
exact proof term for the current goal is
(SepE2 X (λx0 : set ⇒ ∀U0 : set, U0 ∈ Tx → x0 ∈ U0 → U0 ∩ A ≠ Empty) x Hxcl).
Apply HBex to the current goal.
Let B be given.
We prove the intermediate
claim HBCD:
(B ⊆ Tx ∧ countable_set B) ∧ (∀b : set, b ∈ B → x ∈ b).
An
exact proof term for the current goal is
(andEL ((B ⊆ Tx ∧ countable_set B) ∧ (∀b : set, b ∈ B → x ∈ b)) (∀U : set, U ∈ Tx → x ∈ U → ∃b : set, b ∈ B ∧ b ⊆ U) HB).
An
exact proof term for the current goal is
(andEL (B ⊆ Tx ∧ countable_set B) (∀b : set, b ∈ B → x ∈ b) HBCD).
We prove the intermediate
claim HBsubTx:
B ⊆ Tx.
We prove the intermediate
claim Hx_in_B:
∀b : set, b ∈ B → x ∈ b.
An
exact proof term for the current goal is
(andER (B ⊆ Tx ∧ countable_set B) (∀b : set, b ∈ B → x ∈ b) HBCD).
We prove the intermediate
claim HrefB:
∀U : set, U ∈ Tx → x ∈ U → ∃b : set, b ∈ B ∧ b ⊆ U.
An
exact proof term for the current goal is
(andER ((B ⊆ Tx ∧ countable_set B) ∧ (∀b : set, b ∈ B → x ∈ b)) (∀U : set, U ∈ Tx → x ∈ U → ∃b : set, b ∈ B ∧ b ⊆ U) HB).
Apply HcountB to the current goal.
Let code be given.
We prove the intermediate
claim Hcode_cod:
∀b ∈ B, code b ∈ ω.
An
exact proof term for the current goal is
(andEL (∀b ∈ B, code b ∈ ω) (∀b1 b2 ∈ B, code b1 = code b2 → b1 = b2) Hcodeinj).
We prove the intermediate
claim Hcode_inj:
∀b1 b2 ∈ B, code b1 = code b2 → b1 = b2.
An
exact proof term for the current goal is
(andER (∀b ∈ B, code b ∈ ω) (∀b1 b2 ∈ B, code b1 = code b2 → b1 = b2) Hcodeinj).
Set F to be the term
(λn : set ⇒ {b ∈ B|code b ∈ ordsucc n}).
We prove the intermediate
claim HUinfo:
∀n : set, n ∈ ω → (Ubase n ∈ Tx ∧ x ∈ Ubase n) ∧ Ubase n ∩ A ≠ Empty.
Let n be given.
We will
prove (Ubase n ∈ Tx ∧ x ∈ Ubase n) ∧ Ubase n ∩ A ≠ Empty.
We prove the intermediate
claim HnNat:
nat_p n.
An
exact proof term for the current goal is
(omega_nat_p n HnO).
We prove the intermediate
claim HsuccNat:
nat_p (ordsucc n).
An
exact proof term for the current goal is
(nat_ordsucc n HnNat).
We prove the intermediate
claim HFsubB:
F n ⊆ B.
Let b be given.
An
exact proof term for the current goal is
(SepE1 B (λb0 : set ⇒ code b0 ∈ ordsucc n) b Hb).
We prove the intermediate
claim HFsubTx:
F n ⊆ Tx.
Let b be given.
We prove the intermediate
claim HbB:
b ∈ B.
An exact proof term for the current goal is (HFsubB b Hb).
An exact proof term for the current goal is (HBsubTx b HbB).
We prove the intermediate
claim HFpow:
F n ∈ 𝒫 Tx.
An
exact proof term for the current goal is
(PowerI Tx (F n) HFsubTx).
We prove the intermediate
claim HinjFn:
inj (F n) (ordsucc n) code.
Apply injI to the current goal.
Let b be given.
An
exact proof term for the current goal is
(SepE2 B (λb0 : set ⇒ code b0 ∈ ordsucc n) b Hb).
Let b1 be given.
Let b2 be given.
We prove the intermediate
claim Hb1B:
b1 ∈ B.
An exact proof term for the current goal is (HFsubB b1 Hb1).
We prove the intermediate
claim Hb2B:
b2 ∈ B.
An exact proof term for the current goal is (HFsubB b2 Hb2).
An exact proof term for the current goal is (Hcode_inj b1 Hb1B b2 Hb2B Heq).
We prove the intermediate
claim HFin:
finite (F n).
We prove the intermediate
claim HUinTx:
Ubase n ∈ Tx.
We prove the intermediate
claim HxU:
x ∈ Ubase n.
We prove the intermediate
claim HxAll:
∀U : set, U ∈ F n → x ∈ U.
Let T be given.
We prove the intermediate
claim HTB:
T ∈ B.
An exact proof term for the current goal is (HFsubB T HT).
An exact proof term for the current goal is (Hx_in_B T HTB).
An
exact proof term for the current goal is
(SepI X (λz : set ⇒ ∀U : set, U ∈ F n → z ∈ U) x HxX HxAll).
We prove the intermediate
claim Hne:
Ubase n ∩ A ≠ Empty.
An exact proof term for the current goal is (Hclprop (Ubase n) HUinTx HxU).
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HUinTx.
An exact proof term for the current goal is HxU.
An exact proof term for the current goal is Hne.
Set pick to be the term
(λn : set ⇒ Eps_i (λy : set ⇒ y ∈ (Ubase n ∩ A))).
Set seq to be the term
graph ω pick.
We prove the intermediate
claim Hseqdef:
seq = graph ω pick.
We use seq to witness the existential quantifier.
Apply andI to the current goal.
Let n be given.
We prove the intermediate
claim Happ:
apply_fun seq n = pick n.
rewrite the current goal using Hseqdef (from left to right).
rewrite the current goal using Happ (from left to right).
We prove the intermediate
claim HUA:
(Ubase n ∈ Tx ∧ x ∈ Ubase n) ∧ Ubase n ∩ A ≠ Empty.
An exact proof term for the current goal is (HUinfo n HnO).
We prove the intermediate
claim Hne:
Ubase n ∩ A ≠ Empty.
An
exact proof term for the current goal is
(andER (Ubase n ∈ Tx ∧ x ∈ Ubase n) (Ubase n ∩ A ≠ Empty) HUA).
We prove the intermediate
claim Hex:
∃y : set, y ∈ (Ubase n ∩ A).
We prove the intermediate
claim Hpickin:
pick n ∈ (Ubase n ∩ A).
An
exact proof term for the current goal is
(Eps_i_ex (λy : set ⇒ y ∈ (Ubase n ∩ A)) Hex).
An
exact proof term for the current goal is
(binintersectE2 (Ubase n) A (pick n) Hpickin).
Apply andI to the current goal.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HTx.
Let n be given.
We prove the intermediate
claim Happ:
apply_fun seq n = pick n.
rewrite the current goal using Hseqdef (from left to right).
rewrite the current goal using Happ (from left to right).
We prove the intermediate
claim HUA:
(Ubase n ∈ Tx ∧ x ∈ Ubase n) ∧ Ubase n ∩ A ≠ Empty.
An exact proof term for the current goal is (HUinfo n HnO).
We prove the intermediate
claim Hne:
Ubase n ∩ A ≠ Empty.
An
exact proof term for the current goal is
(andER (Ubase n ∈ Tx ∧ x ∈ Ubase n) (Ubase n ∩ A ≠ Empty) HUA).
We prove the intermediate
claim Hex:
∃y : set, y ∈ (Ubase n ∩ A).
We prove the intermediate
claim Hpickin:
pick n ∈ (Ubase n ∩ A).
An
exact proof term for the current goal is
(Eps_i_ex (λy : set ⇒ y ∈ (Ubase n ∩ A)) Hex).
We prove the intermediate
claim HpickU:
pick n ∈ Ubase n.
An
exact proof term for the current goal is
(binintersectE1 (Ubase n) A (pick n) Hpickin).
An
exact proof term for the current goal is
(SepE1 X (λy : set ⇒ ∀T : set, T ∈ (F n) → y ∈ T) (pick n) HpickU).
An exact proof term for the current goal is HxX.
Let V be given.
We prove the intermediate
claim Hexb:
∃b : set, b ∈ B ∧ b ⊆ V.
An exact proof term for the current goal is (HrefB V HV HxV).
Apply Hexb to the current goal.
Let b0 be given.
Assume Hb0pair.
We prove the intermediate
claim Hb0B:
b0 ∈ B.
An
exact proof term for the current goal is
(andEL (b0 ∈ B) (b0 ⊆ V) Hb0pair).
We prove the intermediate
claim Hb0subV:
b0 ⊆ V.
An
exact proof term for the current goal is
(andER (b0 ∈ B) (b0 ⊆ V) Hb0pair).
Set N to be the term
ordsucc (code b0).
We use N to witness the existential quantifier.
Apply andI to the current goal.
We prove the intermediate
claim Hcodeb0:
code b0 ∈ ω.
An exact proof term for the current goal is (Hcode_cod b0 Hb0B).
An
exact proof term for the current goal is
(omega_ordsucc (code b0) Hcodeb0).
Let n be given.
We prove the intermediate
claim Happ:
apply_fun seq n = pick n.
rewrite the current goal using Hseqdef (from left to right).
rewrite the current goal using Happ (from left to right).
We prove the intermediate
claim HUA:
(Ubase n ∈ Tx ∧ x ∈ Ubase n) ∧ Ubase n ∩ A ≠ Empty.
An exact proof term for the current goal is (HUinfo n HnO).
We prove the intermediate
claim Hne:
Ubase n ∩ A ≠ Empty.
An
exact proof term for the current goal is
(andER (Ubase n ∈ Tx ∧ x ∈ Ubase n) (Ubase n ∩ A ≠ Empty) HUA).
We prove the intermediate
claim Hex:
∃y : set, y ∈ (Ubase n ∩ A).
We prove the intermediate
claim Hpickin:
pick n ∈ (Ubase n ∩ A).
An
exact proof term for the current goal is
(Eps_i_ex (λy : set ⇒ y ∈ (Ubase n ∩ A)) Hex).
We prove the intermediate
claim HpickU:
pick n ∈ Ubase n.
An
exact proof term for the current goal is
(binintersectE1 (Ubase n) A (pick n) Hpickin).
We prove the intermediate
claim Hcode_in_N:
code b0 ∈ N.
An
exact proof term for the current goal is
(ordsuccI2 (code b0)).
We prove the intermediate
claim Hcode_in_n:
code b0 ∈ n.
An exact proof term for the current goal is (HNsub (code b0) Hcode_in_N).
We prove the intermediate
claim Hcode_in_succn:
code b0 ∈ ordsucc n.
An
exact proof term for the current goal is
(ordsuccI1 n (code b0) Hcode_in_n).
We prove the intermediate
claim Hb0Fn:
b0 ∈ F n.
An
exact proof term for the current goal is
(SepI B (λb : set ⇒ code b ∈ ordsucc n) b0 Hb0B Hcode_in_succn).
We prove the intermediate
claim HUnsubb0:
Ubase n ⊆ b0.
Let z be given.
We prove the intermediate
claim Hall:
∀T : set, T ∈ F n → z ∈ T.
An
exact proof term for the current goal is
(SepE2 X (λz0 : set ⇒ ∀T : set, T ∈ F n → z0 ∈ T) z Hz).
An exact proof term for the current goal is (Hall b0 Hb0Fn).
We prove the intermediate
claim Hzb0:
pick n ∈ b0.
An exact proof term for the current goal is (HUnsubb0 (pick n) HpickU).
An exact proof term for the current goal is (Hb0subV (pick n) Hzb0).