MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  rankonidlem Structured version   Visualization version   GIF version

Theorem rankonidlem 9784
Description: Lemma for rankonid 9785. (Contributed by NM, 14-Oct-2003.) (Revised by Mario Carneiro, 22-Mar-2013.)
Assertion
Ref Expression
rankonidlem (𝐴 ∈ dom 𝑅1 → (𝐴 (𝑅1 “ On) ∧ (rank‘𝐴) = 𝐴))

Proof of Theorem rankonidlem
Dummy variables 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 r1funlim 9722 . . . . 5 (Fun 𝑅1 ∧ Lim dom 𝑅1)
21simpri 489 . . . 4 Lim dom 𝑅1
3 limord 6407 . . . 4 (Lim dom 𝑅1 → Ord dom 𝑅1)
42, 3ax-mp 5 . . 3 Ord dom 𝑅1
5 ordelon 6370 . . 3 ((Ord dom 𝑅1𝐴 ∈ dom 𝑅1) → 𝐴 ∈ On)
64, 5mpan 700 . 2 (𝐴 ∈ dom 𝑅1𝐴 ∈ On)
7 eleq1 2851 . . . 4 (𝑥 = 𝑦 → (𝑥 ∈ dom 𝑅1𝑦 ∈ dom 𝑅1))
8 eleq1 2851 . . . . 5 (𝑥 = 𝑦 → (𝑥 (𝑅1 “ On) ↔ 𝑦 (𝑅1 “ On)))
9 fveq2 6867 . . . . . 6 (𝑥 = 𝑦 → (rank‘𝑥) = (rank‘𝑦))
10 id 22 . . . . . 6 (𝑥 = 𝑦𝑥 = 𝑦)
119, 10eqeq12d 2779 . . . . 5 (𝑥 = 𝑦 → ((rank‘𝑥) = 𝑥 ↔ (rank‘𝑦) = 𝑦))
128, 11anbi12d 641 . . . 4 (𝑥 = 𝑦 → ((𝑥 (𝑅1 “ On) ∧ (rank‘𝑥) = 𝑥) ↔ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)))
137, 12imbi12d 346 . . 3 (𝑥 = 𝑦 → ((𝑥 ∈ dom 𝑅1 → (𝑥 (𝑅1 “ On) ∧ (rank‘𝑥) = 𝑥)) ↔ (𝑦 ∈ dom 𝑅1 → (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦))))
14 eleq1 2851 . . . 4 (𝑥 = 𝐴 → (𝑥 ∈ dom 𝑅1𝐴 ∈ dom 𝑅1))
15 eleq1 2851 . . . . 5 (𝑥 = 𝐴 → (𝑥 (𝑅1 “ On) ↔ 𝐴 (𝑅1 “ On)))
16 fveq2 6867 . . . . . 6 (𝑥 = 𝐴 → (rank‘𝑥) = (rank‘𝐴))
17 id 22 . . . . . 6 (𝑥 = 𝐴𝑥 = 𝐴)
1816, 17eqeq12d 2779 . . . . 5 (𝑥 = 𝐴 → ((rank‘𝑥) = 𝑥 ↔ (rank‘𝐴) = 𝐴))
1915, 18anbi12d 641 . . . 4 (𝑥 = 𝐴 → ((𝑥 (𝑅1 “ On) ∧ (rank‘𝑥) = 𝑥) ↔ (𝐴 (𝑅1 “ On) ∧ (rank‘𝐴) = 𝐴)))
2014, 19imbi12d 346 . . 3 (𝑥 = 𝐴 → ((𝑥 ∈ dom 𝑅1 → (𝑥 (𝑅1 “ On) ∧ (rank‘𝑥) = 𝑥)) ↔ (𝐴 ∈ dom 𝑅1 → (𝐴 (𝑅1 “ On) ∧ (rank‘𝐴) = 𝐴))))
21 ordtr1 6390 . . . . . . . . . 10 (Ord dom 𝑅1 → ((𝑦𝑥𝑥 ∈ dom 𝑅1) → 𝑦 ∈ dom 𝑅1))
224, 21ax-mp 5 . . . . . . . . 9 ((𝑦𝑥𝑥 ∈ dom 𝑅1) → 𝑦 ∈ dom 𝑅1)
2322ancoms 462 . . . . . . . 8 ((𝑥 ∈ dom 𝑅1𝑦𝑥) → 𝑦 ∈ dom 𝑅1)
24 pm5.5 363 . . . . . . . 8 (𝑦 ∈ dom 𝑅1 → ((𝑦 ∈ dom 𝑅1 → (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) ↔ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)))
2523, 24syl 17 . . . . . . 7 ((𝑥 ∈ dom 𝑅1𝑦𝑥) → ((𝑦 ∈ dom 𝑅1 → (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) ↔ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)))
2625ralbidva 3184 . . . . . 6 (𝑥 ∈ dom 𝑅1 → (∀𝑦𝑥 (𝑦 ∈ dom 𝑅1 → (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) ↔ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)))
27 simplr 778 . . . . . . . . . . . . . . . . . 18 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑦𝑥)
28 ordelon 6370 . . . . . . . . . . . . . . . . . . . . . 22 ((Ord dom 𝑅1𝑥 ∈ dom 𝑅1) → 𝑥 ∈ On)
294, 28mpan 700 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 ∈ dom 𝑅1𝑥 ∈ On)
3029ad2antrr 736 . . . . . . . . . . . . . . . . . . . 20 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑥 ∈ On)
31 eloni 6356 . . . . . . . . . . . . . . . . . . . 20 (𝑥 ∈ On → Ord 𝑥)
3230, 31syl 17 . . . . . . . . . . . . . . . . . . 19 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → Ord 𝑥)
33 ordelsuc 7800 . . . . . . . . . . . . . . . . . . 19 ((𝑦𝑥 ∧ Ord 𝑥) → (𝑦𝑥 ↔ suc 𝑦𝑥))
3427, 32, 33syl2anc 593 . . . . . . . . . . . . . . . . . 18 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (𝑦𝑥 ↔ suc 𝑦𝑥))
3527, 34mpbid 234 . . . . . . . . . . . . . . . . 17 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → suc 𝑦𝑥)
3623adantr 484 . . . . . . . . . . . . . . . . . . 19 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑦 ∈ dom 𝑅1)
37 limsuc 7829 . . . . . . . . . . . . . . . . . . . 20 (Lim dom 𝑅1 → (𝑦 ∈ dom 𝑅1 ↔ suc 𝑦 ∈ dom 𝑅1))
382, 37ax-mp 5 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ dom 𝑅1 ↔ suc 𝑦 ∈ dom 𝑅1)
3936, 38sylib 220 . . . . . . . . . . . . . . . . . 18 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → suc 𝑦 ∈ dom 𝑅1)
40 simpll 776 . . . . . . . . . . . . . . . . . 18 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑥 ∈ dom 𝑅1)
41 r1ord3g 9735 . . . . . . . . . . . . . . . . . 18 ((suc 𝑦 ∈ dom 𝑅1𝑥 ∈ dom 𝑅1) → (suc 𝑦𝑥 → (𝑅1‘suc 𝑦) ⊆ (𝑅1𝑥)))
4239, 40, 41syl2anc 593 . . . . . . . . . . . . . . . . 17 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (suc 𝑦𝑥 → (𝑅1‘suc 𝑦) ⊆ (𝑅1𝑥)))
4335, 42mpd 15 . . . . . . . . . . . . . . . 16 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (𝑅1‘suc 𝑦) ⊆ (𝑅1𝑥))
44 rankidb 9756 . . . . . . . . . . . . . . . . . 18 (𝑦 (𝑅1 “ On) → 𝑦 ∈ (𝑅1‘suc (rank‘𝑦)))
4544ad2antrl 738 . . . . . . . . . . . . . . . . 17 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑦 ∈ (𝑅1‘suc (rank‘𝑦)))
46 suceq 6414 . . . . . . . . . . . . . . . . . . 19 ((rank‘𝑦) = 𝑦 → suc (rank‘𝑦) = suc 𝑦)
4746ad2antll 739 . . . . . . . . . . . . . . . . . 18 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → suc (rank‘𝑦) = suc 𝑦)
4847fveq2d 6871 . . . . . . . . . . . . . . . . 17 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (𝑅1‘suc (rank‘𝑦)) = (𝑅1‘suc 𝑦))
4945, 48eleqtrd 2865 . . . . . . . . . . . . . . . 16 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑦 ∈ (𝑅1‘suc 𝑦))
5043, 49sseldd 3938 . . . . . . . . . . . . . . 15 (((𝑥 ∈ dom 𝑅1𝑦𝑥) ∧ (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑦 ∈ (𝑅1𝑥))
5150ex 416 . . . . . . . . . . . . . 14 ((𝑥 ∈ dom 𝑅1𝑦𝑥) → ((𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦) → 𝑦 ∈ (𝑅1𝑥)))
5251ralimdva 3175 . . . . . . . . . . . . 13 (𝑥 ∈ dom 𝑅1 → (∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦) → ∀𝑦𝑥 𝑦 ∈ (𝑅1𝑥)))
5352imp 410 . . . . . . . . . . . 12 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → ∀𝑦𝑥 𝑦 ∈ (𝑅1𝑥))
54 dfss3 3926 . . . . . . . . . . . 12 (𝑥 ⊆ (𝑅1𝑥) ↔ ∀𝑦𝑥 𝑦 ∈ (𝑅1𝑥))
5553, 54sylibr 236 . . . . . . . . . . 11 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑥 ⊆ (𝑅1𝑥))
56 vex 3459 . . . . . . . . . . . 12 𝑥 ∈ V
5756elpw 4560 . . . . . . . . . . 11 (𝑥 ∈ 𝒫 (𝑅1𝑥) ↔ 𝑥 ⊆ (𝑅1𝑥))
5855, 57sylibr 236 . . . . . . . . . 10 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑥 ∈ 𝒫 (𝑅1𝑥))
59 r1sucg 9725 . . . . . . . . . . 11 (𝑥 ∈ dom 𝑅1 → (𝑅1‘suc 𝑥) = 𝒫 (𝑅1𝑥))
6059adantr 484 . . . . . . . . . 10 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (𝑅1‘suc 𝑥) = 𝒫 (𝑅1𝑥))
6158, 60eleqtrrd 2866 . . . . . . . . 9 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑥 ∈ (𝑅1‘suc 𝑥))
62 r1elwf 9752 . . . . . . . . 9 (𝑥 ∈ (𝑅1‘suc 𝑥) → 𝑥 (𝑅1 “ On))
6361, 62syl 17 . . . . . . . 8 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑥 (𝑅1 “ On))
64 rankval3b 9782 . . . . . . . . . 10 (𝑥 (𝑅1 “ On) → (rank‘𝑥) = {𝑧 ∈ On ∣ ∀𝑦𝑥 (rank‘𝑦) ∈ 𝑧})
6563, 64syl 17 . . . . . . . . 9 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (rank‘𝑥) = {𝑧 ∈ On ∣ ∀𝑦𝑥 (rank‘𝑦) ∈ 𝑧})
66 eleq1 2851 . . . . . . . . . . . . . . . 16 ((rank‘𝑦) = 𝑦 → ((rank‘𝑦) ∈ 𝑧𝑦𝑧))
6766adantl 485 . . . . . . . . . . . . . . 15 ((𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦) → ((rank‘𝑦) ∈ 𝑧𝑦𝑧))
6867ralimi 3100 . . . . . . . . . . . . . 14 (∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦) → ∀𝑦𝑥 ((rank‘𝑦) ∈ 𝑧𝑦𝑧))
69 ralbi 3118 . . . . . . . . . . . . . 14 (∀𝑦𝑥 ((rank‘𝑦) ∈ 𝑧𝑦𝑧) → (∀𝑦𝑥 (rank‘𝑦) ∈ 𝑧 ↔ ∀𝑦𝑥 𝑦𝑧))
7068, 69syl 17 . . . . . . . . . . . . 13 (∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦) → (∀𝑦𝑥 (rank‘𝑦) ∈ 𝑧 ↔ ∀𝑦𝑥 𝑦𝑧))
71 dfss3 3926 . . . . . . . . . . . . 13 (𝑥𝑧 ↔ ∀𝑦𝑥 𝑦𝑧)
7270, 71bitr4di 291 . . . . . . . . . . . 12 (∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦) → (∀𝑦𝑥 (rank‘𝑦) ∈ 𝑧𝑥𝑧))
7372rabbidv 3422 . . . . . . . . . . 11 (∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦) → {𝑧 ∈ On ∣ ∀𝑦𝑥 (rank‘𝑦) ∈ 𝑧} = {𝑧 ∈ On ∣ 𝑥𝑧})
7473inteqd 4911 . . . . . . . . . 10 (∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦) → {𝑧 ∈ On ∣ ∀𝑦𝑥 (rank‘𝑦) ∈ 𝑧} = {𝑧 ∈ On ∣ 𝑥𝑧})
7574adantl 485 . . . . . . . . 9 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → {𝑧 ∈ On ∣ ∀𝑦𝑥 (rank‘𝑦) ∈ 𝑧} = {𝑧 ∈ On ∣ 𝑥𝑧})
7629adantr 484 . . . . . . . . . 10 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → 𝑥 ∈ On)
77 intmin 4927 . . . . . . . . . 10 (𝑥 ∈ On → {𝑧 ∈ On ∣ 𝑥𝑧} = 𝑥)
7876, 77syl 17 . . . . . . . . 9 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → {𝑧 ∈ On ∣ 𝑥𝑧} = 𝑥)
7965, 75, 783eqtrd 2802 . . . . . . . 8 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (rank‘𝑥) = 𝑥)
8063, 79jca 519 . . . . . . 7 ((𝑥 ∈ dom 𝑅1 ∧ ∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (𝑥 (𝑅1 “ On) ∧ (rank‘𝑥) = 𝑥))
8180ex 416 . . . . . 6 (𝑥 ∈ dom 𝑅1 → (∀𝑦𝑥 (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦) → (𝑥 (𝑅1 “ On) ∧ (rank‘𝑥) = 𝑥)))
8226, 81sylbid 242 . . . . 5 (𝑥 ∈ dom 𝑅1 → (∀𝑦𝑥 (𝑦 ∈ dom 𝑅1 → (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (𝑥 (𝑅1 “ On) ∧ (rank‘𝑥) = 𝑥)))
8382com12 32 . . . 4 (∀𝑦𝑥 (𝑦 ∈ dom 𝑅1 → (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (𝑥 ∈ dom 𝑅1 → (𝑥 (𝑅1 “ On) ∧ (rank‘𝑥) = 𝑥)))
8483a1i 11 . . 3 (𝑥 ∈ On → (∀𝑦𝑥 (𝑦 ∈ dom 𝑅1 → (𝑦 (𝑅1 “ On) ∧ (rank‘𝑦) = 𝑦)) → (𝑥 ∈ dom 𝑅1 → (𝑥 (𝑅1 “ On) ∧ (rank‘𝑥) = 𝑥))))
8513, 20, 84tfis3 7838 . 2 (𝐴 ∈ On → (𝐴 ∈ dom 𝑅1 → (𝐴 (𝑅1 “ On) ∧ (rank‘𝐴) = 𝐴)))
866, 85mpcom 38 1 (𝐴 ∈ dom 𝑅1 → (𝐴 (𝑅1 “ On) ∧ (rank‘𝐴) = 𝐴))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 399   = wceq 1561  wcel 2143  wral 3077  {crab 3415  wss 3905  𝒫 cpw 4556   cuni 4866   cint 4906  dom cdm 5648  cima 5651  Ord word 6345  Oncon0 6346  Lim wlim 6347  suc csuc 6348  Fun wfun 6515  cfv 6521  𝑅1cr1 9718  rankcrnk 9719
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1816  ax-4 1830  ax-5 1931  ax-6 1988  ax-7 2029  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735  ax-sep 5247  ax-nul 5257  ax-pow 5323  ax-pr 5391  ax-un 7718
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3or 1100  df-3an 1101  df-tru 1564  df-fal 1574  df-ex 1801  df-nf 1805  df-sb 2092  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-ral 3078  df-rex 3088  df-reu 3369  df-rab 3416  df-v 3457  df-sbc 3746  df-csb 3854  df-dif 3908  df-un 3910  df-in 3912  df-ss 3922  df-pss 3925  df-nul 4287  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-int 4907  df-iun 4952  df-br 5102  df-opab 5164  df-mpt 5183  df-tr 5209  df-id 5543  df-eprel 5548  df-po 5556  df-so 5557  df-fr 5601  df-we 5603  df-xp 5654  df-rel 5655  df-cnv 5656  df-co 5657  df-dm 5658  df-rn 5659  df-res 5660  df-ima 5661  df-pred 6288  df-ord 6349  df-on 6350  df-lim 6351  df-suc 6352  df-iota 6477  df-fun 6523  df-fn 6524  df-f 6525  df-f1 6526  df-fo 6527  df-f1o 6528  df-fv 6529  df-ov 7399  df-om 7847  df-2nd 7971  df-frecs 8262  df-wrecs 8293  df-recs 8342  df-rdg 8381  df-r1 9720  df-rank 9721
This theorem is referenced by:  rankonid  9785  onwf  9786  onssr1  9787
  Copyright terms: Public domain W3C validator