Metamath Proof Explorer


Theorem omsmolem

Description: Lemma for omsmo . (Contributed by NM, 30-Nov-2003) (Revised by David Abernethy, 1-Jan-2014)

Ref Expression
Assertion omsmolem ⊢ y ∈ ω → A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x → z ∈ y → F ⁡ z ∈ F ⁡ y

Proof

Step Hyp Ref Expression
1 eleq2 ⊢ y = ∅ → z ∈ y ↔ z ∈ ∅
2 fveq2 ⊢ y = ∅ → F ⁡ y = F ⁡ ∅
3 2 eleq2d ⊢ y = ∅ → F ⁡ z ∈ F ⁡ y ↔ F ⁡ z ∈ F ⁡ ∅
4 1 3 imbi12d ⊢ y = ∅ → z ∈ y → F ⁡ z ∈ F ⁡ y ↔ z ∈ ∅ → F ⁡ z ∈ F ⁡ ∅
5 eleq2 ⊢ y = w → z ∈ y ↔ z ∈ w
6 fveq2 ⊢ y = w → F ⁡ y = F ⁡ w
7 6 eleq2d ⊢ y = w → F ⁡ z ∈ F ⁡ y ↔ F ⁡ z ∈ F ⁡ w
8 5 7 imbi12d ⊢ y = w → z ∈ y → F ⁡ z ∈ F ⁡ y ↔ z ∈ w → F ⁡ z ∈ F ⁡ w
9 eleq2 ⊢ y = suc ⁡ w → z ∈ y ↔ z ∈ suc ⁡ w
10 fveq2 ⊢ y = suc ⁡ w → F ⁡ y = F ⁡ suc ⁡ w
11 10 eleq2d ⊢ y = suc ⁡ w → F ⁡ z ∈ F ⁡ y ↔ F ⁡ z ∈ F ⁡ suc ⁡ w
12 9 11 imbi12d ⊢ y = suc ⁡ w → z ∈ y → F ⁡ z ∈ F ⁡ y ↔ z ∈ suc ⁡ w → F ⁡ z ∈ F ⁡ suc ⁡ w
13 noel ⊢ ¬ z ∈ ∅
14 13 pm2.21i ⊢ z ∈ ∅ → F ⁡ z ∈ F ⁡ ∅
15 14 a1i ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x → z ∈ ∅ → F ⁡ z ∈ F ⁡ ∅
16 vex ⊢ z ∈ V
17 16 elsuc ⊢ z ∈ suc ⁡ w ↔ z ∈ w ∨ z = w
18 fveq2 ⊢ x = w → F ⁡ x = F ⁡ w
19 suceq ⊢ x = w → suc ⁡ x = suc ⁡ w
20 19 fveq2d ⊢ x = w → F ⁡ suc ⁡ x = F ⁡ suc ⁡ w
21 18 20 eleq12d ⊢ x = w → F ⁡ x ∈ F ⁡ suc ⁡ x ↔ F ⁡ w ∈ F ⁡ suc ⁡ w
22 21 rspccva ⊢ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x ∧ w ∈ ω → F ⁡ w ∈ F ⁡ suc ⁡ w
23 22 adantll ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x ∧ w ∈ ω → F ⁡ w ∈ F ⁡ suc ⁡ w
24 peano2b ⊢ w ∈ ω ↔ suc ⁡ w ∈ ω
25 ffvelcdm ⊢ F : ω ⟶ A ∧ suc ⁡ w ∈ ω → F ⁡ suc ⁡ w ∈ A
26 24 25 sylan2b ⊢ F : ω ⟶ A ∧ w ∈ ω → F ⁡ suc ⁡ w ∈ A
27 ssel ⊢ A ⊆ On → F ⁡ suc ⁡ w ∈ A → F ⁡ suc ⁡ w ∈ On
28 ontr1 ⊢ F ⁡ suc ⁡ w ∈ On → F ⁡ z ∈ F ⁡ w ∧ F ⁡ w ∈ F ⁡ suc ⁡ w → F ⁡ z ∈ F ⁡ suc ⁡ w
29 28 expcomd ⊢ F ⁡ suc ⁡ w ∈ On → F ⁡ w ∈ F ⁡ suc ⁡ w → F ⁡ z ∈ F ⁡ w → F ⁡ z ∈ F ⁡ suc ⁡ w
30 26 27 29 syl56 ⊢ A ⊆ On → F : ω ⟶ A ∧ w ∈ ω → F ⁡ w ∈ F ⁡ suc ⁡ w → F ⁡ z ∈ F ⁡ w → F ⁡ z ∈ F ⁡ suc ⁡ w
31 30 impl ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ w ∈ ω → F ⁡ w ∈ F ⁡ suc ⁡ w → F ⁡ z ∈ F ⁡ w → F ⁡ z ∈ F ⁡ suc ⁡ w
32 31 adantlr ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x ∧ w ∈ ω → F ⁡ w ∈ F ⁡ suc ⁡ w → F ⁡ z ∈ F ⁡ w → F ⁡ z ∈ F ⁡ suc ⁡ w
33 23 32 mpd ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x ∧ w ∈ ω → F ⁡ z ∈ F ⁡ w → F ⁡ z ∈ F ⁡ suc ⁡ w
34 33 imim2d ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x ∧ w ∈ ω → z ∈ w → F ⁡ z ∈ F ⁡ w → z ∈ w → F ⁡ z ∈ F ⁡ suc ⁡ w
35 34 imp ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x ∧ w ∈ ω ∧ z ∈ w → F ⁡ z ∈ F ⁡ w → z ∈ w → F ⁡ z ∈ F ⁡ suc ⁡ w
36 fveq2 ⊢ z = w → F ⁡ z = F ⁡ w
37 36 eleq1d ⊢ z = w → F ⁡ z ∈ F ⁡ suc ⁡ w ↔ F ⁡ w ∈ F ⁡ suc ⁡ w
38 22 37 syl5ibrcom ⊢ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x ∧ w ∈ ω → z = w → F ⁡ z ∈ F ⁡ suc ⁡ w
39 38 ad4ant23 ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x ∧ w ∈ ω ∧ z ∈ w → F ⁡ z ∈ F ⁡ w → z = w → F ⁡ z ∈ F ⁡ suc ⁡ w
40 35 39 jaod ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x ∧ w ∈ ω ∧ z ∈ w → F ⁡ z ∈ F ⁡ w → z ∈ w ∨ z = w → F ⁡ z ∈ F ⁡ suc ⁡ w
41 17 40 biimtrid ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x ∧ w ∈ ω ∧ z ∈ w → F ⁡ z ∈ F ⁡ w → z ∈ suc ⁡ w → F ⁡ z ∈ F ⁡ suc ⁡ w
42 41 exp31 ⊢ A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x → w ∈ ω → z ∈ w → F ⁡ z ∈ F ⁡ w → z ∈ suc ⁡ w → F ⁡ z ∈ F ⁡ suc ⁡ w
43 42 com12 ⊢ w ∈ ω → A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x → z ∈ w → F ⁡ z ∈ F ⁡ w → z ∈ suc ⁡ w → F ⁡ z ∈ F ⁡ suc ⁡ w
44 4 8 12 15 43 finds2 ⊢ y ∈ ω → A ⊆ On ∧ F : ω ⟶ A ∧ ∀ x ∈ ω F ⁡ x ∈ F ⁡ suc ⁡ x → z ∈ y → F ⁡ z ∈ F ⁡ y