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

Theorem grur1 10731
Description: A characterization of Grothendieck universes, part 2. (Contributed by Mario Carneiro, 24-Jun-2013.)
Hypothesis
Ref Expression
gruina.1 𝐴 = (𝑈 ∩ On)
Assertion
Ref Expression
grur1 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → 𝑈 = (𝑅1𝐴))

Proof of Theorem grur1
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 nss 3998 . . . . 5 𝑈 ⊆ (𝑅1𝐴) ↔ ∃𝑥(𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴)))
2 fveqeq2 6843 . . . . . . . . . . 11 (𝑦 = 𝑥 → ((rank‘𝑦) = 𝐴 ↔ (rank‘𝑥) = 𝐴))
32rspcev 3576 . . . . . . . . . 10 ((𝑥𝑈 ∧ (rank‘𝑥) = 𝐴) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴)
43ex 412 . . . . . . . . 9 (𝑥𝑈 → ((rank‘𝑥) = 𝐴 → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
54ad2antrl 728 . . . . . . . 8 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → ((rank‘𝑥) = 𝐴 → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
6 simplr 768 . . . . . . . . . . . 12 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → 𝑈 (𝑅1 “ On))
7 simprl 770 . . . . . . . . . . . 12 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → 𝑥𝑈)
8 r1elssi 9717 . . . . . . . . . . . . 13 (𝑈 (𝑅1 “ On) → 𝑈 (𝑅1 “ On))
98sseld 3932 . . . . . . . . . . . 12 (𝑈 (𝑅1 “ On) → (𝑥𝑈𝑥 (𝑅1 “ On)))
106, 7, 9sylc 65 . . . . . . . . . . 11 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → 𝑥 (𝑅1 “ On))
11 tcrank 9796 . . . . . . . . . . 11 (𝑥 (𝑅1 “ On) → (rank‘𝑥) = (rank “ (TC‘𝑥)))
1210, 11syl 17 . . . . . . . . . 10 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (rank‘𝑥) = (rank “ (TC‘𝑥)))
1312eleq2d 2822 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (𝐴 ∈ (rank‘𝑥) ↔ 𝐴 ∈ (rank “ (TC‘𝑥))))
14 gruelss 10705 . . . . . . . . . . . 12 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → 𝑥𝑈)
15 grutr 10704 . . . . . . . . . . . . 13 (𝑈 ∈ Univ → Tr 𝑈)
1615adantr 480 . . . . . . . . . . . 12 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → Tr 𝑈)
17 vex 3444 . . . . . . . . . . . . 13 𝑥 ∈ V
18 tcmin 9648 . . . . . . . . . . . . 13 (𝑥 ∈ V → ((𝑥𝑈 ∧ Tr 𝑈) → (TC‘𝑥) ⊆ 𝑈))
1917, 18ax-mp 5 . . . . . . . . . . . 12 ((𝑥𝑈 ∧ Tr 𝑈) → (TC‘𝑥) ⊆ 𝑈)
2014, 16, 19syl2anc 584 . . . . . . . . . . 11 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → (TC‘𝑥) ⊆ 𝑈)
21 rankf 9706 . . . . . . . . . . . . 13 rank: (𝑅1 “ On)⟶On
22 ffun 6665 . . . . . . . . . . . . 13 (rank: (𝑅1 “ On)⟶On → Fun rank)
2321, 22ax-mp 5 . . . . . . . . . . . 12 Fun rank
24 fvelima 6899 . . . . . . . . . . . 12 ((Fun rank ∧ 𝐴 ∈ (rank “ (TC‘𝑥))) → ∃𝑦 ∈ (TC‘𝑥)(rank‘𝑦) = 𝐴)
2523, 24mpan 690 . . . . . . . . . . 11 (𝐴 ∈ (rank “ (TC‘𝑥)) → ∃𝑦 ∈ (TC‘𝑥)(rank‘𝑦) = 𝐴)
26 ssrexv 4003 . . . . . . . . . . 11 ((TC‘𝑥) ⊆ 𝑈 → (∃𝑦 ∈ (TC‘𝑥)(rank‘𝑦) = 𝐴 → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
2720, 25, 26syl2im 40 . . . . . . . . . 10 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → (𝐴 ∈ (rank “ (TC‘𝑥)) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
2827ad2ant2r 747 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (𝐴 ∈ (rank “ (TC‘𝑥)) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
2913, 28sylbid 240 . . . . . . . 8 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (𝐴 ∈ (rank‘𝑥) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
30 simprr 772 . . . . . . . . . 10 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → ¬ 𝑥 ∈ (𝑅1𝐴))
31 ne0i 4293 . . . . . . . . . . . . . . 15 (𝑥𝑈𝑈 ≠ ∅)
32 gruina.1 . . . . . . . . . . . . . . . 16 𝐴 = (𝑈 ∩ On)
3332gruina 10729 . . . . . . . . . . . . . . 15 ((𝑈 ∈ Univ ∧ 𝑈 ≠ ∅) → 𝐴 ∈ Inacc)
3431, 33sylan2 593 . . . . . . . . . . . . . 14 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → 𝐴 ∈ Inacc)
35 inawina 10601 . . . . . . . . . . . . . 14 (𝐴 ∈ Inacc → 𝐴 ∈ Inaccw)
36 winaon 10599 . . . . . . . . . . . . . 14 (𝐴 ∈ Inaccw𝐴 ∈ On)
3734, 35, 363syl 18 . . . . . . . . . . . . 13 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → 𝐴 ∈ On)
38 r1fnon 9679 . . . . . . . . . . . . . 14 𝑅1 Fn On
39 fndm 6595 . . . . . . . . . . . . . 14 (𝑅1 Fn On → dom 𝑅1 = On)
4038, 39ax-mp 5 . . . . . . . . . . . . 13 dom 𝑅1 = On
4137, 40eleqtrrdi 2847 . . . . . . . . . . . 12 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → 𝐴 ∈ dom 𝑅1)
4241ad2ant2r 747 . . . . . . . . . . 11 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → 𝐴 ∈ dom 𝑅1)
43 rankr1ag 9714 . . . . . . . . . . 11 ((𝑥 (𝑅1 “ On) ∧ 𝐴 ∈ dom 𝑅1) → (𝑥 ∈ (𝑅1𝐴) ↔ (rank‘𝑥) ∈ 𝐴))
4410, 42, 43syl2anc 584 . . . . . . . . . 10 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (𝑥 ∈ (𝑅1𝐴) ↔ (rank‘𝑥) ∈ 𝐴))
4530, 44mtbid 324 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → ¬ (rank‘𝑥) ∈ 𝐴)
46 rankon 9707 . . . . . . . . . . . . 13 (rank‘𝑥) ∈ On
47 eloni 6327 . . . . . . . . . . . . . 14 ((rank‘𝑥) ∈ On → Ord (rank‘𝑥))
48 eloni 6327 . . . . . . . . . . . . . 14 (𝐴 ∈ On → Ord 𝐴)
49 ordtri3or 6349 . . . . . . . . . . . . . 14 ((Ord (rank‘𝑥) ∧ Ord 𝐴) → ((rank‘𝑥) ∈ 𝐴 ∨ (rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥)))
5047, 48, 49syl2an 596 . . . . . . . . . . . . 13 (((rank‘𝑥) ∈ On ∧ 𝐴 ∈ On) → ((rank‘𝑥) ∈ 𝐴 ∨ (rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥)))
5146, 37, 50sylancr 587 . . . . . . . . . . . 12 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → ((rank‘𝑥) ∈ 𝐴 ∨ (rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥)))
52 3orass 1089 . . . . . . . . . . . 12 (((rank‘𝑥) ∈ 𝐴 ∨ (rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥)) ↔ ((rank‘𝑥) ∈ 𝐴 ∨ ((rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥))))
5351, 52sylib 218 . . . . . . . . . . 11 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → ((rank‘𝑥) ∈ 𝐴 ∨ ((rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥))))
5453ord 864 . . . . . . . . . 10 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → (¬ (rank‘𝑥) ∈ 𝐴 → ((rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥))))
5554ad2ant2r 747 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (¬ (rank‘𝑥) ∈ 𝐴 → ((rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥))))
5645, 55mpd 15 . . . . . . . 8 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → ((rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥)))
575, 29, 56mpjaod 860 . . . . . . 7 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴)
5857ex 412 . . . . . 6 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → ((𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴)) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
5958exlimdv 1934 . . . . 5 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → (∃𝑥(𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴)) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
601, 59biimtrid 242 . . . 4 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → (¬ 𝑈 ⊆ (𝑅1𝐴) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
61 simpll 766 . . . . . . 7 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝑈 ∈ Univ)
62 ne0i 4293 . . . . . . . . . 10 (𝑦𝑈𝑈 ≠ ∅)
6362, 33sylan2 593 . . . . . . . . 9 ((𝑈 ∈ Univ ∧ 𝑦𝑈) → 𝐴 ∈ Inacc)
6463ad2ant2r 747 . . . . . . . 8 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝐴 ∈ Inacc)
6564, 35, 363syl 18 . . . . . . 7 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝐴 ∈ On)
66 simprl 770 . . . . . . 7 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝑦𝑈)
67 fveq2 6834 . . . . . . . . . 10 ((rank‘𝑦) = 𝐴 → (cf‘(rank‘𝑦)) = (cf‘𝐴))
6867ad2antll 729 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → (cf‘(rank‘𝑦)) = (cf‘𝐴))
69 elina 10598 . . . . . . . . . . 11 (𝐴 ∈ Inacc ↔ (𝐴 ≠ ∅ ∧ (cf‘𝐴) = 𝐴 ∧ ∀𝑥𝐴 𝒫 𝑥𝐴))
7069simp2bi 1146 . . . . . . . . . 10 (𝐴 ∈ Inacc → (cf‘𝐴) = 𝐴)
7164, 70syl 17 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → (cf‘𝐴) = 𝐴)
7268, 71eqtrd 2771 . . . . . . . 8 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → (cf‘(rank‘𝑦)) = 𝐴)
73 rankcf 10688 . . . . . . . . 9 ¬ 𝑦 ≺ (cf‘(rank‘𝑦))
74 fvex 6847 . . . . . . . . . 10 (cf‘(rank‘𝑦)) ∈ V
75 vex 3444 . . . . . . . . . 10 𝑦 ∈ V
76 domtri 10466 . . . . . . . . . 10 (((cf‘(rank‘𝑦)) ∈ V ∧ 𝑦 ∈ V) → ((cf‘(rank‘𝑦)) ≼ 𝑦 ↔ ¬ 𝑦 ≺ (cf‘(rank‘𝑦))))
7774, 75, 76mp2an 692 . . . . . . . . 9 ((cf‘(rank‘𝑦)) ≼ 𝑦 ↔ ¬ 𝑦 ≺ (cf‘(rank‘𝑦)))
7873, 77mpbir 231 . . . . . . . 8 (cf‘(rank‘𝑦)) ≼ 𝑦
7972, 78eqbrtrrdi 5138 . . . . . . 7 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝐴𝑦)
80 grudomon 10728 . . . . . . 7 ((𝑈 ∈ Univ ∧ 𝐴 ∈ On ∧ (𝑦𝑈𝐴𝑦)) → 𝐴𝑈)
8161, 65, 66, 79, 80syl112anc 1376 . . . . . 6 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝐴𝑈)
82 elin 3917 . . . . . . . . 9 (𝐴 ∈ (𝑈 ∩ On) ↔ (𝐴𝑈𝐴 ∈ On))
8382biimpri 228 . . . . . . . 8 ((𝐴𝑈𝐴 ∈ On) → 𝐴 ∈ (𝑈 ∩ On))
8483, 32eleqtrrdi 2847 . . . . . . 7 ((𝐴𝑈𝐴 ∈ On) → 𝐴𝐴)
85 ordirr 6335 . . . . . . . . 9 (Ord 𝐴 → ¬ 𝐴𝐴)
8648, 85syl 17 . . . . . . . 8 (𝐴 ∈ On → ¬ 𝐴𝐴)
8786adantl 481 . . . . . . 7 ((𝐴𝑈𝐴 ∈ On) → ¬ 𝐴𝐴)
8884, 87pm2.21dd 195 . . . . . 6 ((𝐴𝑈𝐴 ∈ On) → 𝑈 ⊆ (𝑅1𝐴))
8981, 65, 88syl2anc 584 . . . . 5 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝑈 ⊆ (𝑅1𝐴))
9089rexlimdvaa 3138 . . . 4 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → (∃𝑦𝑈 (rank‘𝑦) = 𝐴𝑈 ⊆ (𝑅1𝐴)))
9160, 90syld 47 . . 3 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → (¬ 𝑈 ⊆ (𝑅1𝐴) → 𝑈 ⊆ (𝑅1𝐴)))
9291pm2.18d 127 . 2 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → 𝑈 ⊆ (𝑅1𝐴))
9332grur1a 10730 . . 3 (𝑈 ∈ Univ → (𝑅1𝐴) ⊆ 𝑈)
9493adantr 480 . 2 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → (𝑅1𝐴) ⊆ 𝑈)
9592, 94eqssd 3951 1 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → 𝑈 = (𝑅1𝐴))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395  wo 847  w3o 1085   = wceq 1541  wex 1780  wcel 2113  wne 2932  wral 3051  wrex 3060  Vcvv 3440  cin 3900  wss 3901  c0 4285  𝒫 cpw 4554   cuni 4863   class class class wbr 5098  Tr wtr 5205  dom cdm 5624  cima 5627  Ord word 6316  Oncon0 6317  Fun wfun 6486   Fn wfn 6487  wf 6488  cfv 6492  cdom 8881  csdm 8882  TCctc 9643  𝑅1cr1 9674  rankcrnk 9675  cfccf 9849  Inaccwcwina 10593  Inacccina 10594  Univcgru 10701
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2184  ax-ext 2708  ax-rep 5224  ax-sep 5241  ax-nul 5251  ax-pow 5310  ax-pr 5377  ax-un 7680  ax-inf2 9550  ax-ac2 10373
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-ral 3052  df-rex 3061  df-rmo 3350  df-reu 3351  df-rab 3400  df-v 3442  df-sbc 3741  df-csb 3850  df-dif 3904  df-un 3906  df-in 3908  df-ss 3918  df-pss 3921  df-nul 4286  df-if 4480  df-pw 4556  df-sn 4581  df-pr 4583  df-op 4587  df-uni 4864  df-int 4903  df-iun 4948  df-iin 4949  df-br 5099  df-opab 5161  df-mpt 5180  df-tr 5206  df-id 5519  df-eprel 5524  df-po 5532  df-so 5533  df-fr 5577  df-se 5578  df-we 5579  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-res 5636  df-ima 5637  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-f1 6497  df-fo 6498  df-f1o 6499  df-fv 6500  df-isom 6501  df-riota 7315  df-ov 7361  df-oprab 7362  df-mpo 7363  df-om 7809  df-1st 7933  df-2nd 7934  df-frecs 8223  df-wrecs 8254  df-recs 8303  df-rdg 8341  df-1o 8397  df-er 8635  df-map 8765  df-en 8884  df-dom 8885  df-sdom 8886  df-fin 8887  df-tc 9644  df-r1 9676  df-rank 9677  df-card 9851  df-cf 9853  df-acn 9854  df-ac 10026  df-wina 10595  df-ina 10596  df-gru 10702
This theorem is referenced by:  grutsk  10733  bj-grur1  37264  grurankcld  44474
  Copyright terms: Public domain W3C validator