Metamath Proof Explorer


Theorem smogt

Description: A strictly monotone ordinal function is greater than or equal to its argument. Exercise 1 in TakeutiZaring p. 50. (Contributed by Andrew Salmon, 23-Nov-2011) (Revised by Mario Carneiro, 28-Feb-2013)

Ref Expression
Assertion smogt ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝐶𝐴 ) → 𝐶 ⊆ ( 𝐹𝐶 ) )

Proof

Step Hyp Ref Expression
1 id ( 𝑥 = 𝐶𝑥 = 𝐶 )
2 fveq2 ( 𝑥 = 𝐶 → ( 𝐹𝑥 ) = ( 𝐹𝐶 ) )
3 1 2 sseq12d ( 𝑥 = 𝐶 → ( 𝑥 ⊆ ( 𝐹𝑥 ) ↔ 𝐶 ⊆ ( 𝐹𝐶 ) ) )
4 3 imbi2d ( 𝑥 = 𝐶 → ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) → 𝑥 ⊆ ( 𝐹𝑥 ) ) ↔ ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) → 𝐶 ⊆ ( 𝐹𝐶 ) ) ) )
5 smodm2 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) → Ord 𝐴 )
6 5 3adant3 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → Ord 𝐴 )
7 simp3 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → 𝑥𝐴 )
8 ordelord ( ( Ord 𝐴𝑥𝐴 ) → Ord 𝑥 )
9 6 7 8 syl2anc ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → Ord 𝑥 )
10 vex 𝑥 ∈ V
11 10 elon ( 𝑥 ∈ On ↔ Ord 𝑥 )
12 9 11 sylibr ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → 𝑥 ∈ On )
13 eleq1w ( 𝑥 = 𝑦 → ( 𝑥𝐴𝑦𝐴 ) )
14 13 3anbi3d ( 𝑥 = 𝑦 → ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) ↔ ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑦𝐴 ) ) )
15 id ( 𝑥 = 𝑦𝑥 = 𝑦 )
16 fveq2 ( 𝑥 = 𝑦 → ( 𝐹𝑥 ) = ( 𝐹𝑦 ) )
17 15 16 sseq12d ( 𝑥 = 𝑦 → ( 𝑥 ⊆ ( 𝐹𝑥 ) ↔ 𝑦 ⊆ ( 𝐹𝑦 ) ) )
18 14 17 imbi12d ( 𝑥 = 𝑦 → ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → 𝑥 ⊆ ( 𝐹𝑥 ) ) ↔ ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑦𝐴 ) → 𝑦 ⊆ ( 𝐹𝑦 ) ) ) )
19 simpl1 ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) ∧ 𝑦𝑥 ) → 𝐹 Fn 𝐴 )
20 simpl2 ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) ∧ 𝑦𝑥 ) → Smo 𝐹 )
21 ordtr1 ( Ord 𝐴 → ( ( 𝑦𝑥𝑥𝐴 ) → 𝑦𝐴 ) )
22 21 expcomd ( Ord 𝐴 → ( 𝑥𝐴 → ( 𝑦𝑥𝑦𝐴 ) ) )
23 6 7 22 sylc ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → ( 𝑦𝑥𝑦𝐴 ) )
24 23 imp ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) ∧ 𝑦𝑥 ) → 𝑦𝐴 )
25 pm2.27 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑦𝐴 ) → ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑦𝐴 ) → 𝑦 ⊆ ( 𝐹𝑦 ) ) → 𝑦 ⊆ ( 𝐹𝑦 ) ) )
26 19 20 24 25 syl3anc ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) ∧ 𝑦𝑥 ) → ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑦𝐴 ) → 𝑦 ⊆ ( 𝐹𝑦 ) ) → 𝑦 ⊆ ( 𝐹𝑦 ) ) )
27 26 ralimdva ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → ( ∀ 𝑦𝑥 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑦𝐴 ) → 𝑦 ⊆ ( 𝐹𝑦 ) ) → ∀ 𝑦𝑥 𝑦 ⊆ ( 𝐹𝑦 ) ) )
28 5 3adant3 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → Ord 𝐴 )
29 simp31 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → 𝑥𝐴 )
30 28 29 8 syl2anc ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → Ord 𝑥 )
31 simp32 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → 𝑦𝑥 )
32 ordelord ( ( Ord 𝑥𝑦𝑥 ) → Ord 𝑦 )
33 30 31 32 syl2anc ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → Ord 𝑦 )
34 smofvon2 ( Smo 𝐹 → ( 𝐹𝑥 ) ∈ On )
35 34 3ad2ant2 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → ( 𝐹𝑥 ) ∈ On )
36 eloni ( ( 𝐹𝑥 ) ∈ On → Ord ( 𝐹𝑥 ) )
37 35 36 syl ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → Ord ( 𝐹𝑥 ) )
38 simp33 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → 𝑦 ⊆ ( 𝐹𝑦 ) )
39 smoel2 ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) ∧ ( 𝑥𝐴𝑦𝑥 ) ) → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) )
40 39 3adantr3 ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) )
41 40 3impa ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) )
42 ordtr2 ( ( Ord 𝑦 ∧ Ord ( 𝐹𝑥 ) ) → ( ( 𝑦 ⊆ ( 𝐹𝑦 ) ∧ ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) → 𝑦 ∈ ( 𝐹𝑥 ) ) )
43 42 imp ( ( ( Ord 𝑦 ∧ Ord ( 𝐹𝑥 ) ) ∧ ( 𝑦 ⊆ ( 𝐹𝑦 ) ∧ ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) → 𝑦 ∈ ( 𝐹𝑥 ) )
44 33 37 38 41 43 syl22anc ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ∧ ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) ) → 𝑦 ∈ ( 𝐹𝑥 ) )
45 44 3expia ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) → ( ( 𝑥𝐴𝑦𝑥𝑦 ⊆ ( 𝐹𝑦 ) ) → 𝑦 ∈ ( 𝐹𝑥 ) ) )
46 45 3expd ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) → ( 𝑥𝐴 → ( 𝑦𝑥 → ( 𝑦 ⊆ ( 𝐹𝑦 ) → 𝑦 ∈ ( 𝐹𝑥 ) ) ) ) )
47 46 3impia ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → ( 𝑦𝑥 → ( 𝑦 ⊆ ( 𝐹𝑦 ) → 𝑦 ∈ ( 𝐹𝑥 ) ) ) )
48 47 imp ( ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) ∧ 𝑦𝑥 ) → ( 𝑦 ⊆ ( 𝐹𝑦 ) → 𝑦 ∈ ( 𝐹𝑥 ) ) )
49 48 ralimdva ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → ( ∀ 𝑦𝑥 𝑦 ⊆ ( 𝐹𝑦 ) → ∀ 𝑦𝑥 𝑦 ∈ ( 𝐹𝑥 ) ) )
50 dfss3 ( 𝑥 ⊆ ( 𝐹𝑥 ) ↔ ∀ 𝑦𝑥 𝑦 ∈ ( 𝐹𝑥 ) )
51 49 50 syl6ibr ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → ( ∀ 𝑦𝑥 𝑦 ⊆ ( 𝐹𝑦 ) → 𝑥 ⊆ ( 𝐹𝑥 ) ) )
52 27 51 syldc ( ∀ 𝑦𝑥 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑦𝐴 ) → 𝑦 ⊆ ( 𝐹𝑦 ) ) → ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → 𝑥 ⊆ ( 𝐹𝑥 ) ) )
53 52 a1i ( 𝑥 ∈ On → ( ∀ 𝑦𝑥 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑦𝐴 ) → 𝑦 ⊆ ( 𝐹𝑦 ) ) → ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → 𝑥 ⊆ ( 𝐹𝑥 ) ) ) )
54 18 53 tfis2 ( 𝑥 ∈ On → ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → 𝑥 ⊆ ( 𝐹𝑥 ) ) )
55 12 54 mpcom ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝑥𝐴 ) → 𝑥 ⊆ ( 𝐹𝑥 ) )
56 55 3expia ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) → ( 𝑥𝐴𝑥 ⊆ ( 𝐹𝑥 ) ) )
57 56 com12 ( 𝑥𝐴 → ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) → 𝑥 ⊆ ( 𝐹𝑥 ) ) )
58 4 57 vtoclga ( 𝐶𝐴 → ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) → 𝐶 ⊆ ( 𝐹𝐶 ) ) )
59 58 com12 ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹 ) → ( 𝐶𝐴𝐶 ⊆ ( 𝐹𝐶 ) ) )
60 59 3impia ( ( 𝐹 Fn 𝐴 ∧ Smo 𝐹𝐶𝐴 ) → 𝐶 ⊆ ( 𝐹𝐶 ) )