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

Theorem grur1 10756
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 4006 . . . . 5 𝑈 ⊆ (𝑅1𝐴) ↔ ∃𝑥(𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴)))
2 fveqeq2 6851 . . . . . . . . . . 11 (𝑦 = 𝑥 → ((rank‘𝑦) = 𝐴 ↔ (rank‘𝑥) = 𝐴))
32rspcev 3581 . . . . . . . . . 10 ((𝑥𝑈 ∧ (rank‘𝑥) = 𝐴) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴)
43ex 413 . . . . . . . . 9 (𝑥𝑈 → ((rank‘𝑥) = 𝐴 → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
54ad2antrl 726 . . . . . . . 8 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → ((rank‘𝑥) = 𝐴 → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
6 simplr 767 . . . . . . . . . . . 12 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → 𝑈 (𝑅1 “ On))
7 simprl 769 . . . . . . . . . . . 12 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → 𝑥𝑈)
8 r1elssi 9741 . . . . . . . . . . . . 13 (𝑈 (𝑅1 “ On) → 𝑈 (𝑅1 “ On))
98sseld 3943 . . . . . . . . . . . 12 (𝑈 (𝑅1 “ On) → (𝑥𝑈𝑥 (𝑅1 “ On)))
106, 7, 9sylc 65 . . . . . . . . . . 11 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → 𝑥 (𝑅1 “ On))
11 tcrank 9820 . . . . . . . . . . 11 (𝑥 (𝑅1 “ On) → (rank‘𝑥) = (rank “ (TC‘𝑥)))
1210, 11syl 17 . . . . . . . . . 10 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (rank‘𝑥) = (rank “ (TC‘𝑥)))
1312eleq2d 2823 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (𝐴 ∈ (rank‘𝑥) ↔ 𝐴 ∈ (rank “ (TC‘𝑥))))
14 gruelss 10730 . . . . . . . . . . . 12 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → 𝑥𝑈)
15 grutr 10729 . . . . . . . . . . . . 13 (𝑈 ∈ Univ → Tr 𝑈)
1615adantr 481 . . . . . . . . . . . 12 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → Tr 𝑈)
17 vex 3449 . . . . . . . . . . . . 13 𝑥 ∈ V
18 tcmin 9677 . . . . . . . . . . . . 13 (𝑥 ∈ V → ((𝑥𝑈 ∧ Tr 𝑈) → (TC‘𝑥) ⊆ 𝑈))
1917, 18ax-mp 5 . . . . . . . . . . . 12 ((𝑥𝑈 ∧ Tr 𝑈) → (TC‘𝑥) ⊆ 𝑈)
2014, 16, 19syl2anc 584 . . . . . . . . . . 11 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → (TC‘𝑥) ⊆ 𝑈)
21 rankf 9730 . . . . . . . . . . . . 13 rank: (𝑅1 “ On)⟶On
22 ffun 6671 . . . . . . . . . . . . 13 (rank: (𝑅1 “ On)⟶On → Fun rank)
2321, 22ax-mp 5 . . . . . . . . . . . 12 Fun rank
24 fvelima 6908 . . . . . . . . . . . 12 ((Fun rank ∧ 𝐴 ∈ (rank “ (TC‘𝑥))) → ∃𝑦 ∈ (TC‘𝑥)(rank‘𝑦) = 𝐴)
2523, 24mpan 688 . . . . . . . . . . 11 (𝐴 ∈ (rank “ (TC‘𝑥)) → ∃𝑦 ∈ (TC‘𝑥)(rank‘𝑦) = 𝐴)
26 ssrexv 4011 . . . . . . . . . . 11 ((TC‘𝑥) ⊆ 𝑈 → (∃𝑦 ∈ (TC‘𝑥)(rank‘𝑦) = 𝐴 → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
2720, 25, 26syl2im 40 . . . . . . . . . 10 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → (𝐴 ∈ (rank “ (TC‘𝑥)) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
2827ad2ant2r 745 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (𝐴 ∈ (rank “ (TC‘𝑥)) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
2913, 28sylbid 239 . . . . . . . 8 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (𝐴 ∈ (rank‘𝑥) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
30 simprr 771 . . . . . . . . . 10 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → ¬ 𝑥 ∈ (𝑅1𝐴))
31 ne0i 4294 . . . . . . . . . . . . . . 15 (𝑥𝑈𝑈 ≠ ∅)
32 gruina.1 . . . . . . . . . . . . . . . 16 𝐴 = (𝑈 ∩ On)
3332gruina 10754 . . . . . . . . . . . . . . 15 ((𝑈 ∈ Univ ∧ 𝑈 ≠ ∅) → 𝐴 ∈ Inacc)
3431, 33sylan2 593 . . . . . . . . . . . . . 14 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → 𝐴 ∈ Inacc)
35 inawina 10626 . . . . . . . . . . . . . 14 (𝐴 ∈ Inacc → 𝐴 ∈ Inaccw)
36 winaon 10624 . . . . . . . . . . . . . 14 (𝐴 ∈ Inaccw𝐴 ∈ On)
3734, 35, 363syl 18 . . . . . . . . . . . . 13 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → 𝐴 ∈ On)
38 r1fnon 9703 . . . . . . . . . . . . . 14 𝑅1 Fn On
39 fndm 6605 . . . . . . . . . . . . . 14 (𝑅1 Fn On → dom 𝑅1 = On)
4038, 39ax-mp 5 . . . . . . . . . . . . 13 dom 𝑅1 = On
4137, 40eleqtrrdi 2849 . . . . . . . . . . . 12 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → 𝐴 ∈ dom 𝑅1)
4241ad2ant2r 745 . . . . . . . . . . 11 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → 𝐴 ∈ dom 𝑅1)
43 rankr1ag 9738 . . . . . . . . . . 11 ((𝑥 (𝑅1 “ On) ∧ 𝐴 ∈ dom 𝑅1) → (𝑥 ∈ (𝑅1𝐴) ↔ (rank‘𝑥) ∈ 𝐴))
4410, 42, 43syl2anc 584 . . . . . . . . . 10 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (𝑥 ∈ (𝑅1𝐴) ↔ (rank‘𝑥) ∈ 𝐴))
4530, 44mtbid 323 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → ¬ (rank‘𝑥) ∈ 𝐴)
46 rankon 9731 . . . . . . . . . . . . 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 1090 . . . . . . . . . . . 12 (((rank‘𝑥) ∈ 𝐴 ∨ (rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥)) ↔ ((rank‘𝑥) ∈ 𝐴 ∨ ((rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥))))
5351, 52sylib 217 . . . . . . . . . . 11 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → ((rank‘𝑥) ∈ 𝐴 ∨ ((rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥))))
5453ord 862 . . . . . . . . . 10 ((𝑈 ∈ Univ ∧ 𝑥𝑈) → (¬ (rank‘𝑥) ∈ 𝐴 → ((rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥))))
5554ad2ant2r 745 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → (¬ (rank‘𝑥) ∈ 𝐴 → ((rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥))))
5645, 55mpd 15 . . . . . . . 8 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → ((rank‘𝑥) = 𝐴𝐴 ∈ (rank‘𝑥)))
575, 29, 56mpjaod 858 . . . . . . 7 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴))) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴)
5857ex 413 . . . . . 6 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → ((𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴)) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
5958exlimdv 1936 . . . . 5 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → (∃𝑥(𝑥𝑈 ∧ ¬ 𝑥 ∈ (𝑅1𝐴)) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
601, 59biimtrid 241 . . . 4 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → (¬ 𝑈 ⊆ (𝑅1𝐴) → ∃𝑦𝑈 (rank‘𝑦) = 𝐴))
61 simpll 765 . . . . . . 7 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝑈 ∈ Univ)
62 ne0i 4294 . . . . . . . . . 10 (𝑦𝑈𝑈 ≠ ∅)
6362, 33sylan2 593 . . . . . . . . 9 ((𝑈 ∈ Univ ∧ 𝑦𝑈) → 𝐴 ∈ Inacc)
6463ad2ant2r 745 . . . . . . . 8 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝐴 ∈ Inacc)
6564, 35, 363syl 18 . . . . . . 7 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝐴 ∈ On)
66 simprl 769 . . . . . . 7 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝑦𝑈)
67 fveq2 6842 . . . . . . . . . 10 ((rank‘𝑦) = 𝐴 → (cf‘(rank‘𝑦)) = (cf‘𝐴))
6867ad2antll 727 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → (cf‘(rank‘𝑦)) = (cf‘𝐴))
69 elina 10623 . . . . . . . . . . 11 (𝐴 ∈ Inacc ↔ (𝐴 ≠ ∅ ∧ (cf‘𝐴) = 𝐴 ∧ ∀𝑥𝐴 𝒫 𝑥𝐴))
7069simp2bi 1146 . . . . . . . . . 10 (𝐴 ∈ Inacc → (cf‘𝐴) = 𝐴)
7164, 70syl 17 . . . . . . . . 9 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → (cf‘𝐴) = 𝐴)
7268, 71eqtrd 2776 . . . . . . . 8 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → (cf‘(rank‘𝑦)) = 𝐴)
73 rankcf 10713 . . . . . . . . 9 ¬ 𝑦 ≺ (cf‘(rank‘𝑦))
74 fvex 6855 . . . . . . . . . 10 (cf‘(rank‘𝑦)) ∈ V
75 vex 3449 . . . . . . . . . 10 𝑦 ∈ V
76 domtri 10492 . . . . . . . . . 10 (((cf‘(rank‘𝑦)) ∈ V ∧ 𝑦 ∈ V) → ((cf‘(rank‘𝑦)) ≼ 𝑦 ↔ ¬ 𝑦 ≺ (cf‘(rank‘𝑦))))
7774, 75, 76mp2an 690 . . . . . . . . 9 ((cf‘(rank‘𝑦)) ≼ 𝑦 ↔ ¬ 𝑦 ≺ (cf‘(rank‘𝑦)))
7873, 77mpbir 230 . . . . . . . 8 (cf‘(rank‘𝑦)) ≼ 𝑦
7972, 78eqbrtrrdi 5145 . . . . . . 7 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝐴𝑦)
80 grudomon 10753 . . . . . . 7 ((𝑈 ∈ Univ ∧ 𝐴 ∈ On ∧ (𝑦𝑈𝐴𝑦)) → 𝐴𝑈)
8161, 65, 66, 79, 80syl112anc 1374 . . . . . 6 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝐴𝑈)
82 elin 3926 . . . . . . . . 9 (𝐴 ∈ (𝑈 ∩ On) ↔ (𝐴𝑈𝐴 ∈ On))
8382biimpri 227 . . . . . . . 8 ((𝐴𝑈𝐴 ∈ On) → 𝐴 ∈ (𝑈 ∩ On))
8483, 32eleqtrrdi 2849 . . . . . . 7 ((𝐴𝑈𝐴 ∈ On) → 𝐴𝐴)
85 ordirr 6335 . . . . . . . . 9 (Ord 𝐴 → ¬ 𝐴𝐴)
8648, 85syl 17 . . . . . . . 8 (𝐴 ∈ On → ¬ 𝐴𝐴)
8786adantl 482 . . . . . . 7 ((𝐴𝑈𝐴 ∈ On) → ¬ 𝐴𝐴)
8884, 87pm2.21dd 194 . . . . . 6 ((𝐴𝑈𝐴 ∈ On) → 𝑈 ⊆ (𝑅1𝐴))
8981, 65, 88syl2anc 584 . . . . 5 (((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) ∧ (𝑦𝑈 ∧ (rank‘𝑦) = 𝐴)) → 𝑈 ⊆ (𝑅1𝐴))
9089rexlimdvaa 3153 . . . 4 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → (∃𝑦𝑈 (rank‘𝑦) = 𝐴𝑈 ⊆ (𝑅1𝐴)))
9160, 90syld 47 . . 3 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → (¬ 𝑈 ⊆ (𝑅1𝐴) → 𝑈 ⊆ (𝑅1𝐴)))
9291pm2.18d 127 . 2 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → 𝑈 ⊆ (𝑅1𝐴))
9332grur1a 10755 . . 3 (𝑈 ∈ Univ → (𝑅1𝐴) ⊆ 𝑈)
9493adantr 481 . 2 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → (𝑅1𝐴) ⊆ 𝑈)
9592, 94eqssd 3961 1 ((𝑈 ∈ Univ ∧ 𝑈 (𝑅1 “ On)) → 𝑈 = (𝑅1𝐴))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 396  wo 845  w3o 1086   = wceq 1541  wex 1781  wcel 2106  wne 2943  wral 3064  wrex 3073  Vcvv 3445  cin 3909  wss 3910  c0 4282  𝒫 cpw 4560   cuni 4865   class class class wbr 5105  Tr wtr 5222  dom cdm 5633  cima 5636  Ord word 6316  Oncon0 6317  Fun wfun 6490   Fn wfn 6491  wf 6492  cfv 6496  cdom 8881  csdm 8882  TCctc 9672  𝑅1cr1 9698  rankcrnk 9699  cfccf 9873  Inaccwcwina 10618  Inacccina 10619  Univcgru 10726
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2707  ax-rep 5242  ax-sep 5256  ax-nul 5263  ax-pow 5320  ax-pr 5384  ax-un 7672  ax-inf2 9577  ax-ac2 10399
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2538  df-eu 2567  df-clab 2714  df-cleq 2728  df-clel 2814  df-nfc 2889  df-ne 2944  df-ral 3065  df-rex 3074  df-rmo 3353  df-reu 3354  df-rab 3408  df-v 3447  df-sbc 3740  df-csb 3856  df-dif 3913  df-un 3915  df-in 3917  df-ss 3927  df-pss 3929  df-nul 4283  df-if 4487  df-pw 4562  df-sn 4587  df-pr 4589  df-op 4593  df-uni 4866  df-int 4908  df-iun 4956  df-iin 4957  df-br 5106  df-opab 5168  df-mpt 5189  df-tr 5223  df-id 5531  df-eprel 5537  df-po 5545  df-so 5546  df-fr 5588  df-se 5589  df-we 5590  df-xp 5639  df-rel 5640  df-cnv 5641  df-co 5642  df-dm 5643  df-rn 5644  df-res 5645  df-ima 5646  df-pred 6253  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6498  df-fn 6499  df-f 6500  df-f1 6501  df-fo 6502  df-f1o 6503  df-fv 6504  df-isom 6505  df-riota 7313  df-ov 7360  df-oprab 7361  df-mpo 7362  df-om 7803  df-1st 7921  df-2nd 7922  df-frecs 8212  df-wrecs 8243  df-recs 8317  df-rdg 8356  df-1o 8412  df-er 8648  df-map 8767  df-en 8884  df-dom 8885  df-sdom 8886  df-fin 8887  df-tc 9673  df-r1 9700  df-rank 9701  df-card 9875  df-cf 9877  df-acn 9878  df-ac 10052  df-wina 10620  df-ina 10621  df-gru 10727
This theorem is referenced by:  grutsk  10758  bj-grur1  35534  grurankcld  42503
  Copyright terms: Public domain W3C validator