Metamath Proof Explorer


Theorem oismo

Description: When A is a subclass of On , F is a strictly monotone ordinal functions, and it is also complete (it is an isomorphism onto all of A ). The proof avoids ax-rep (the second statement is trivial under ax-rep ). (Contributed by Mario Carneiro, 26-Jun-2015)

Ref Expression
Hypothesis oismo.1 𝐹 = OrdIso ( E , 𝐴 )
Assertion oismo ( 𝐴 ⊆ On → ( Smo 𝐹 ∧ ran 𝐹 = 𝐴 ) )

Proof

Step Hyp Ref Expression
1 oismo.1 𝐹 = OrdIso ( E , 𝐴 )
2 epweon E We On
3 wess ( 𝐴 ⊆ On → ( E We On → E We 𝐴 ) )
4 2 3 mpi ( 𝐴 ⊆ On → E We 𝐴 )
5 epse E Se 𝐴
6 1 oiiso2 ( ( E We 𝐴 ∧ E Se 𝐴 ) → 𝐹 Isom E , E ( dom 𝐹 , ran 𝐹 ) )
7 4 5 6 sylancl ( 𝐴 ⊆ On → 𝐹 Isom E , E ( dom 𝐹 , ran 𝐹 ) )
8 1 oicl Ord dom 𝐹
9 1 oif 𝐹 : dom 𝐹𝐴
10 frn ( 𝐹 : dom 𝐹𝐴 → ran 𝐹𝐴 )
11 9 10 ax-mp ran 𝐹𝐴
12 id ( 𝐴 ⊆ On → 𝐴 ⊆ On )
13 11 12 sstrid ( 𝐴 ⊆ On → ran 𝐹 ⊆ On )
14 smoiso2 ( ( Ord dom 𝐹 ∧ ran 𝐹 ⊆ On ) → ( ( 𝐹 : dom 𝐹onto→ ran 𝐹 ∧ Smo 𝐹 ) ↔ 𝐹 Isom E , E ( dom 𝐹 , ran 𝐹 ) ) )
15 8 13 14 sylancr ( 𝐴 ⊆ On → ( ( 𝐹 : dom 𝐹onto→ ran 𝐹 ∧ Smo 𝐹 ) ↔ 𝐹 Isom E , E ( dom 𝐹 , ran 𝐹 ) ) )
16 7 15 mpbird ( 𝐴 ⊆ On → ( 𝐹 : dom 𝐹onto→ ran 𝐹 ∧ Smo 𝐹 ) )
17 16 simprd ( 𝐴 ⊆ On → Smo 𝐹 )
18 11 a1i ( 𝐴 ⊆ On → ran 𝐹𝐴 )
19 simprl ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → 𝑥𝐴 )
20 4 adantr ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → E We 𝐴 )
21 5 a1i ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → E Se 𝐴 )
22 ffn ( 𝐹 : dom 𝐹𝐴𝐹 Fn dom 𝐹 )
23 9 22 mp1i ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → 𝐹 Fn dom 𝐹 )
24 simplrr ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → ¬ 𝑥 ∈ ran 𝐹 )
25 4 ad2antrr ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → E We 𝐴 )
26 5 a1i ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → E Se 𝐴 )
27 simplrl ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → 𝑥𝐴 )
28 simpr ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → 𝑦 ∈ dom 𝐹 )
29 1 oiiniseg ( ( ( E We 𝐴 ∧ E Se 𝐴 ) ∧ ( 𝑥𝐴𝑦 ∈ dom 𝐹 ) ) → ( ( 𝐹𝑦 ) E 𝑥𝑥 ∈ ran 𝐹 ) )
30 25 26 27 28 29 syl22anc ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → ( ( 𝐹𝑦 ) E 𝑥𝑥 ∈ ran 𝐹 ) )
31 30 ord ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → ( ¬ ( 𝐹𝑦 ) E 𝑥𝑥 ∈ ran 𝐹 ) )
32 24 31 mt3d ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → ( 𝐹𝑦 ) E 𝑥 )
33 epel ( ( 𝐹𝑦 ) E 𝑥 ↔ ( 𝐹𝑦 ) ∈ 𝑥 )
34 32 33 sylib ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → ( 𝐹𝑦 ) ∈ 𝑥 )
35 34 ralrimiva ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → ∀ 𝑦 ∈ dom 𝐹 ( 𝐹𝑦 ) ∈ 𝑥 )
36 ffnfv ( 𝐹 : dom 𝐹𝑥 ↔ ( 𝐹 Fn dom 𝐹 ∧ ∀ 𝑦 ∈ dom 𝐹 ( 𝐹𝑦 ) ∈ 𝑥 ) )
37 23 35 36 sylanbrc ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → 𝐹 : dom 𝐹𝑥 )
38 9 22 mp1i ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → 𝐹 Fn dom 𝐹 )
39 17 ad2antrr ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → Smo 𝐹 )
40 smogt ( ( 𝐹 Fn dom 𝐹 ∧ Smo 𝐹𝑦 ∈ dom 𝐹 ) → 𝑦 ⊆ ( 𝐹𝑦 ) )
41 38 39 28 40 syl3anc ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → 𝑦 ⊆ ( 𝐹𝑦 ) )
42 ordelon ( ( Ord dom 𝐹𝑦 ∈ dom 𝐹 ) → 𝑦 ∈ On )
43 8 28 42 sylancr ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → 𝑦 ∈ On )
44 simpll ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → 𝐴 ⊆ On )
45 44 27 sseldd ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → 𝑥 ∈ On )
46 ontr2 ( ( 𝑦 ∈ On ∧ 𝑥 ∈ On ) → ( ( 𝑦 ⊆ ( 𝐹𝑦 ) ∧ ( 𝐹𝑦 ) ∈ 𝑥 ) → 𝑦𝑥 ) )
47 43 45 46 syl2anc ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → ( ( 𝑦 ⊆ ( 𝐹𝑦 ) ∧ ( 𝐹𝑦 ) ∈ 𝑥 ) → 𝑦𝑥 ) )
48 41 34 47 mp2and ( ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) ∧ 𝑦 ∈ dom 𝐹 ) → 𝑦𝑥 )
49 48 ex ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → ( 𝑦 ∈ dom 𝐹𝑦𝑥 ) )
50 49 ssrdv ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → dom 𝐹𝑥 )
51 19 50 ssexd ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → dom 𝐹 ∈ V )
52 fex2 ( ( 𝐹 : dom 𝐹𝑥 ∧ dom 𝐹 ∈ V ∧ 𝑥𝐴 ) → 𝐹 ∈ V )
53 37 51 19 52 syl3anc ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → 𝐹 ∈ V )
54 1 ordtype2 ( ( E We 𝐴 ∧ E Se 𝐴𝐹 ∈ V ) → 𝐹 Isom E , E ( dom 𝐹 , 𝐴 ) )
55 20 21 53 54 syl3anc ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → 𝐹 Isom E , E ( dom 𝐹 , 𝐴 ) )
56 isof1o ( 𝐹 Isom E , E ( dom 𝐹 , 𝐴 ) → 𝐹 : dom 𝐹1-1-onto𝐴 )
57 f1ofo ( 𝐹 : dom 𝐹1-1-onto𝐴𝐹 : dom 𝐹onto𝐴 )
58 forn ( 𝐹 : dom 𝐹onto𝐴 → ran 𝐹 = 𝐴 )
59 55 56 57 58 4syl ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → ran 𝐹 = 𝐴 )
60 19 59 eleqtrrd ( ( 𝐴 ⊆ On ∧ ( 𝑥𝐴 ∧ ¬ 𝑥 ∈ ran 𝐹 ) ) → 𝑥 ∈ ran 𝐹 )
61 60 expr ( ( 𝐴 ⊆ On ∧ 𝑥𝐴 ) → ( ¬ 𝑥 ∈ ran 𝐹𝑥 ∈ ran 𝐹 ) )
62 61 pm2.18d ( ( 𝐴 ⊆ On ∧ 𝑥𝐴 ) → 𝑥 ∈ ran 𝐹 )
63 18 62 eqelssd ( 𝐴 ⊆ On → ran 𝐹 = 𝐴 )
64 17 63 jca ( 𝐴 ⊆ On → ( Smo 𝐹 ∧ ran 𝐹 = 𝐴 ) )