Let Fam, Y and n be given.
Apply Hexk to the current goal.
Let k be given.
We prove the intermediate
claim HeqFamk:
equip Fam k.
We prove the intermediate
claim HkOrd:
ordinal k.
We prove the intermediate
claim HkSub:
k ⊆ ordsucc n.
We prove the intermediate
claim HsuccNO:
ordsucc n ∈ ω.
An
exact proof term for the current goal is
(omega_ordsucc n HnO).
We prove the intermediate
claim HkOmega:
k ∈ ω.
We prove the intermediate
claim HomegaTr:
TransSet ω.
We prove the intermediate
claim HsuccNSubOmega:
ordsucc n ⊆ ω.
An
exact proof term for the current goal is
(HomegaTr (ordsucc n) HsuccNO).
Apply FalseE to the current goal.
An
exact proof term for the current goal is
(HkSub (ordsucc n) HsuccIn).
An
exact proof term for the current goal is
((In_irref (ordsucc n)) HsuccInSucc).
Apply Hkn to the current goal.
An exact proof term for the current goal is (HsuccNSubOmega k HkIn).
rewrite the current goal using HkEq (from left to right).
An exact proof term for the current goal is HsuccNO.
We prove the intermediate
claim HkNat:
nat_p k.
An
exact proof term for the current goal is
(omega_nat_p k HkOmega).
Apply HeqFamk to the current goal.
Let f be given.
We prove the intermediate
claim HfInj:
inj Fam k f.
An
exact proof term for the current goal is
(bij_inj Fam k f Hbij).
Set idx to be the term
(λW : set ⇒ Eps_i (λa : set ⇒ a ∈ k ∧ ∃U : set, U ∈ Fam ∧ a = f U ∧ U ∩ Y = W)).
Apply andI to the current goal.
Let W be given.
We prove the intermediate
claim HexU:
∃U : set, U ∈ Fam ∧ W = U ∩ Y.
Apply (ReplE_impred Fam (λU0 : set ⇒ U0 ∩ Y) W HW (∃U : set, U ∈ Fam ∧ W = U ∩ Y)) to the current goal.
Let U0 be given.
We use U0 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HU0.
An exact proof term for the current goal is HWeq.
Apply HexU to the current goal.
Let U be given.
We prove the intermediate
claim HUFam:
U ∈ Fam.
An
exact proof term for the current goal is
(andEL (U ∈ Fam) (W = U ∩ Y) HU).
We prove the intermediate
claim HWeq:
W = U ∩ Y.
An
exact proof term for the current goal is
(andER (U ∈ Fam) (W = U ∩ Y) HU).
We prove the intermediate
claim HfCod:
∀x ∈ Fam, f x ∈ k.
An
exact proof term for the current goal is
(andEL (∀x ∈ Fam, f x ∈ k) (∀x z ∈ Fam, f x = f z → x = z) HfInj).
We prove the intermediate
claim Hexa:
∃a : set, a ∈ k ∧ ∃U0 : set, U0 ∈ Fam ∧ a = f U0 ∧ U0 ∩ Y = W.
We use (f U) to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is (HfCod U HUFam).
We use U to witness the existential quantifier.
We will
prove (U ∈ Fam ∧ (f U = f U)) ∧ U ∩ Y = W.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HUFam.
rewrite the current goal using HWeq (from right to left).
Use reflexivity.
We prove the intermediate
claim HidxP:
(λa : set ⇒ a ∈ k ∧ ∃U0 : set, U0 ∈ Fam ∧ a = f U0 ∧ U0 ∩ Y = W) (idx W).
An
exact proof term for the current goal is
(Eps_i_ex (λa : set ⇒ a ∈ k ∧ ∃U0 : set, U0 ∈ Fam ∧ a = f U0 ∧ U0 ∩ Y = W) Hexa).
An
exact proof term for the current goal is
(andEL (idx W ∈ k) (∃U0 : set, U0 ∈ Fam ∧ idx W = f U0 ∧ U0 ∩ Y = W) HidxP).
Let W1 be given.
Let W2 be given.
We prove the intermediate
claim HexU1:
∃U : set, U ∈ Fam ∧ idx W1 = f U ∧ U ∩ Y = W1.
We prove the intermediate
claim HexU0:
∃U0 : set, U0 ∈ Fam ∧ W1 = U0 ∩ Y.
Apply (ReplE_impred Fam (λU0 : set ⇒ U0 ∩ Y) W1 HW1 (∃U0 : set, U0 ∈ Fam ∧ W1 = U0 ∩ Y)) to the current goal.
Let U0 be given.
We use U0 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HU0.
An exact proof term for the current goal is HWeq.
Apply HexU0 to the current goal.
Let U0 be given.
We prove the intermediate
claim HU0Fam:
U0 ∈ Fam.
An
exact proof term for the current goal is
(andEL (U0 ∈ Fam) (W1 = U0 ∩ Y) HU0).
We prove the intermediate
claim HW1eq:
W1 = U0 ∩ Y.
An
exact proof term for the current goal is
(andER (U0 ∈ Fam) (W1 = U0 ∩ Y) HU0).
We prove the intermediate
claim HfCod:
∀x ∈ Fam, f x ∈ k.
An
exact proof term for the current goal is
(andEL (∀x ∈ Fam, f x ∈ k) (∀x z ∈ Fam, f x = f z → x = z) HfInj).
We prove the intermediate
claim Hexa:
∃a : set, a ∈ k ∧ ∃U : set, U ∈ Fam ∧ a = f U ∧ U ∩ Y = W1.
We use (f U0) to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is (HfCod U0 HU0Fam).
We use U0 to witness the existential quantifier.
We will
prove (U0 ∈ Fam ∧ (f U0 = f U0)) ∧ U0 ∩ Y = W1.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HU0Fam.
rewrite the current goal using HW1eq (from right to left).
Use reflexivity.
We prove the intermediate
claim HidxP:
idx W1 ∈ k ∧ ∃U : set, U ∈ Fam ∧ idx W1 = f U ∧ U ∩ Y = W1.
An
exact proof term for the current goal is
(Eps_i_ex (λa : set ⇒ a ∈ k ∧ ∃U : set, U ∈ Fam ∧ a = f U ∧ U ∩ Y = W1) Hexa).
An
exact proof term for the current goal is
(andER (idx W1 ∈ k) (∃U : set, U ∈ Fam ∧ idx W1 = f U ∧ U ∩ Y = W1) HidxP).
We prove the intermediate
claim HexU2:
∃U : set, U ∈ Fam ∧ idx W2 = f U ∧ U ∩ Y = W2.
We prove the intermediate
claim HexU0:
∃U0 : set, U0 ∈ Fam ∧ W2 = U0 ∩ Y.
Apply (ReplE_impred Fam (λU0 : set ⇒ U0 ∩ Y) W2 HW2 (∃U0 : set, U0 ∈ Fam ∧ W2 = U0 ∩ Y)) to the current goal.
Let U0 be given.
We use U0 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is HU0.
An exact proof term for the current goal is HWeq.
Apply HexU0 to the current goal.
Let U0 be given.
We prove the intermediate
claim HU0Fam:
U0 ∈ Fam.
An
exact proof term for the current goal is
(andEL (U0 ∈ Fam) (W2 = U0 ∩ Y) HU0).
We prove the intermediate
claim HW2eq:
W2 = U0 ∩ Y.
An
exact proof term for the current goal is
(andER (U0 ∈ Fam) (W2 = U0 ∩ Y) HU0).
We prove the intermediate
claim HfCod:
∀x ∈ Fam, f x ∈ k.
An
exact proof term for the current goal is
(andEL (∀x ∈ Fam, f x ∈ k) (∀x z ∈ Fam, f x = f z → x = z) HfInj).
We prove the intermediate
claim Hexa:
∃a : set, a ∈ k ∧ ∃U : set, U ∈ Fam ∧ a = f U ∧ U ∩ Y = W2.
We use (f U0) to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is (HfCod U0 HU0Fam).
We use U0 to witness the existential quantifier.
We will
prove (U0 ∈ Fam ∧ (f U0 = f U0)) ∧ U0 ∩ Y = W2.
Apply andI to the current goal.
Apply andI to the current goal.
An exact proof term for the current goal is HU0Fam.
rewrite the current goal using HW2eq (from right to left).
Use reflexivity.
We prove the intermediate
claim HidxP:
idx W2 ∈ k ∧ ∃U : set, U ∈ Fam ∧ idx W2 = f U ∧ U ∩ Y = W2.
An
exact proof term for the current goal is
(Eps_i_ex (λa : set ⇒ a ∈ k ∧ ∃U : set, U ∈ Fam ∧ a = f U ∧ U ∩ Y = W2) Hexa).
An
exact proof term for the current goal is
(andER (idx W2 ∈ k) (∃U : set, U ∈ Fam ∧ idx W2 = f U ∧ U ∩ Y = W2) HidxP).
Apply HexU1 to the current goal.
Let U1 be given.
Apply HexU2 to the current goal.
Let U2 be given.
We prove the intermediate
claim HU1left:
(U1 ∈ Fam ∧ idx W1 = f U1).
An
exact proof term for the current goal is
(andEL (U1 ∈ Fam ∧ idx W1 = f U1) (U1 ∩ Y = W1) HU1).
We prove the intermediate
claim HU2left:
(U2 ∈ Fam ∧ idx W2 = f U2).
An
exact proof term for the current goal is
(andEL (U2 ∈ Fam ∧ idx W2 = f U2) (U2 ∩ Y = W2) HU2).
We prove the intermediate
claim HU1cap:
U1 ∩ Y = W1.
An
exact proof term for the current goal is
(andER (U1 ∈ Fam ∧ idx W1 = f U1) (U1 ∩ Y = W1) HU1).
We prove the intermediate
claim HU2cap:
U2 ∩ Y = W2.
An
exact proof term for the current goal is
(andER (U2 ∈ Fam ∧ idx W2 = f U2) (U2 ∩ Y = W2) HU2).
We prove the intermediate
claim HU1Fam:
U1 ∈ Fam.
An
exact proof term for the current goal is
(andEL (U1 ∈ Fam) (idx W1 = f U1) HU1left).
We prove the intermediate
claim HU2Fam:
U2 ∈ Fam.
An
exact proof term for the current goal is
(andEL (U2 ∈ Fam) (idx W2 = f U2) HU2left).
We prove the intermediate
claim Hidx1:
idx W1 = f U1.
An
exact proof term for the current goal is
(andER (U1 ∈ Fam) (idx W1 = f U1) HU1left).
We prove the intermediate
claim Hidx2:
idx W2 = f U2.
An
exact proof term for the current goal is
(andER (U2 ∈ Fam) (idx W2 = f U2) HU2left).
We prove the intermediate
claim Hinj2:
∀x z ∈ Fam, f x = f z → x = z.
An
exact proof term for the current goal is
(andER (∀x ∈ Fam, f x ∈ k) (∀x z ∈ Fam, f x = f z → x = z) HfInj).
We prove the intermediate
claim HfEq:
f U1 = f U2.
We will
prove f U1 = f U2.
rewrite the current goal using Hidx1 (from right to left).
rewrite the current goal using Hidx2 (from right to left).
An exact proof term for the current goal is HeqIdx.
We prove the intermediate
claim HUeq:
U1 = U2.
An exact proof term for the current goal is (Hinj2 U1 HU1Fam U2 HU2Fam HfEq).
rewrite the current goal using HU1cap (from right to left).
rewrite the current goal using HU2cap (from right to left).
rewrite the current goal using HUeq (from left to right).
Use reflexivity.
We prove the intermediate
claim HImgSubk:
Img ⊆ k.
Let a be given.
Let W be given.
rewrite the current goal using Haeq (from left to right).
An exact proof term for the current goal is (Hcod W HW).
We prove the intermediate
claim Hexm:
∃m : set, nat_p m ∧ (m ⊆ k ∧ equip Img m).
Apply Hexm to the current goal.
Let m be given.
We prove the intermediate
claim HmNat:
nat_p m.
An
exact proof term for the current goal is
(andEL (nat_p m) (m ⊆ k ∧ equip Img m) HmPack).
We prove the intermediate
claim HmTail:
m ⊆ k ∧ equip Img m.
An
exact proof term for the current goal is
(andER (nat_p m) (m ⊆ k ∧ equip Img m) HmPack).
We prove the intermediate
claim HmSubk:
m ⊆ k.
An
exact proof term for the current goal is
(andEL (m ⊆ k) (equip Img m) HmTail).
We prove the intermediate
claim HeqImgm:
equip Img m.
An
exact proof term for the current goal is
(andER (m ⊆ k) (equip Img m) HmTail).
We prove the intermediate
claim HmSubSucc:
m ⊆ ordsucc n.
An
exact proof term for the current goal is
(Subq_tra m k (ordsucc n) HmSubk HkSub).
Apply andI to the current goal.
An exact proof term for the current goal is HordN.
We use m 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
(nat_p_ordinal m HmNat).
An exact proof term for the current goal is HmSubSucc.
An exact proof term for the current goal is HeqDomm.
∎