Metamath Proof Explorer


Theorem grur1a

Description: A characterization of Grothendieck universes, part 1. (Contributed by Mario Carneiro, 23-Jun-2013)

Ref Expression
Hypothesis gruina.1 𝐴 = ( 𝑈 ∩ On )
Assertion grur1a ( 𝑈 ∈ Univ → ( 𝑅1𝐴 ) ⊆ 𝑈 )

Proof

Step Hyp Ref Expression
1 gruina.1 𝐴 = ( 𝑈 ∩ On )
2 inss1 ( 𝑈 ∩ On ) ⊆ 𝑈
3 1 2 eqsstri 𝐴𝑈
4 sseq2 ( 𝑈 = ∅ → ( 𝐴𝑈𝐴 ⊆ ∅ ) )
5 3 4 mpbii ( 𝑈 = ∅ → 𝐴 ⊆ ∅ )
6 ss0 ( 𝐴 ⊆ ∅ → 𝐴 = ∅ )
7 fveq2 ( 𝐴 = ∅ → ( 𝑅1𝐴 ) = ( 𝑅1 ‘ ∅ ) )
8 r10 ( 𝑅1 ‘ ∅ ) = ∅
9 7 8 eqtrdi ( 𝐴 = ∅ → ( 𝑅1𝐴 ) = ∅ )
10 0ss ∅ ⊆ 𝑈
11 9 10 eqsstrdi ( 𝐴 = ∅ → ( 𝑅1𝐴 ) ⊆ 𝑈 )
12 5 6 11 3syl ( 𝑈 = ∅ → ( 𝑅1𝐴 ) ⊆ 𝑈 )
13 12 a1i ( 𝑈 ∈ Univ → ( 𝑈 = ∅ → ( 𝑅1𝐴 ) ⊆ 𝑈 ) )
14 1 gruina ( ( 𝑈 ∈ Univ ∧ 𝑈 ≠ ∅ ) → 𝐴 ∈ Inacc )
15 inawina ( 𝐴 ∈ Inacc → 𝐴 ∈ Inaccw )
16 winaon ( 𝐴 ∈ Inaccw𝐴 ∈ On )
17 winalim ( 𝐴 ∈ Inaccw → Lim 𝐴 )
18 r1lim ( ( 𝐴 ∈ On ∧ Lim 𝐴 ) → ( 𝑅1𝐴 ) = 𝑥𝐴 ( 𝑅1𝑥 ) )
19 16 17 18 syl2anc ( 𝐴 ∈ Inaccw → ( 𝑅1𝐴 ) = 𝑥𝐴 ( 𝑅1𝑥 ) )
20 14 15 19 3syl ( ( 𝑈 ∈ Univ ∧ 𝑈 ≠ ∅ ) → ( 𝑅1𝐴 ) = 𝑥𝐴 ( 𝑅1𝑥 ) )
21 inss2 ( 𝑈 ∩ On ) ⊆ On
22 1 21 eqsstri 𝐴 ⊆ On
23 22 sseli ( 𝑥𝐴𝑥 ∈ On )
24 eleq1 ( 𝑥 = ∅ → ( 𝑥𝐴 ↔ ∅ ∈ 𝐴 ) )
25 fveq2 ( 𝑥 = ∅ → ( 𝑅1𝑥 ) = ( 𝑅1 ‘ ∅ ) )
26 25 8 eqtrdi ( 𝑥 = ∅ → ( 𝑅1𝑥 ) = ∅ )
27 26 eleq1d ( 𝑥 = ∅ → ( ( 𝑅1𝑥 ) ∈ 𝑈 ↔ ∅ ∈ 𝑈 ) )
28 24 27 imbi12d ( 𝑥 = ∅ → ( ( 𝑥𝐴 → ( 𝑅1𝑥 ) ∈ 𝑈 ) ↔ ( ∅ ∈ 𝐴 → ∅ ∈ 𝑈 ) ) )
29 eleq1 ( 𝑥 = 𝑦 → ( 𝑥𝐴𝑦𝐴 ) )
30 fveq2 ( 𝑥 = 𝑦 → ( 𝑅1𝑥 ) = ( 𝑅1𝑦 ) )
31 30 eleq1d ( 𝑥 = 𝑦 → ( ( 𝑅1𝑥 ) ∈ 𝑈 ↔ ( 𝑅1𝑦 ) ∈ 𝑈 ) )
32 29 31 imbi12d ( 𝑥 = 𝑦 → ( ( 𝑥𝐴 → ( 𝑅1𝑥 ) ∈ 𝑈 ) ↔ ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) ) )
33 eleq1 ( 𝑥 = suc 𝑦 → ( 𝑥𝐴 ↔ suc 𝑦𝐴 ) )
34 fveq2 ( 𝑥 = suc 𝑦 → ( 𝑅1𝑥 ) = ( 𝑅1 ‘ suc 𝑦 ) )
35 34 eleq1d ( 𝑥 = suc 𝑦 → ( ( 𝑅1𝑥 ) ∈ 𝑈 ↔ ( 𝑅1 ‘ suc 𝑦 ) ∈ 𝑈 ) )
36 33 35 imbi12d ( 𝑥 = suc 𝑦 → ( ( 𝑥𝐴 → ( 𝑅1𝑥 ) ∈ 𝑈 ) ↔ ( suc 𝑦𝐴 → ( 𝑅1 ‘ suc 𝑦 ) ∈ 𝑈 ) ) )
37 3 sseli ( ∅ ∈ 𝐴 → ∅ ∈ 𝑈 )
38 37 a1i ( 𝑈 ∈ Univ → ( ∅ ∈ 𝐴 → ∅ ∈ 𝑈 ) )
39 simpr ( ( 𝑈 ∈ Univ ∧ suc 𝑦𝐴 ) → suc 𝑦𝐴 )
40 elelsuc ( suc 𝑦𝐴 → suc 𝑦 ∈ suc 𝐴 )
41 3 sseli ( suc 𝑦𝐴 → suc 𝑦𝑈 )
42 41 ne0d ( suc 𝑦𝐴𝑈 ≠ ∅ )
43 14 15 16 3syl ( ( 𝑈 ∈ Univ ∧ 𝑈 ≠ ∅ ) → 𝐴 ∈ On )
44 42 43 sylan2 ( ( 𝑈 ∈ Univ ∧ suc 𝑦𝐴 ) → 𝐴 ∈ On )
45 eloni ( 𝐴 ∈ On → Ord 𝐴 )
46 ordsucelsuc ( Ord 𝐴 → ( 𝑦𝐴 ↔ suc 𝑦 ∈ suc 𝐴 ) )
47 44 45 46 3syl ( ( 𝑈 ∈ Univ ∧ suc 𝑦𝐴 ) → ( 𝑦𝐴 ↔ suc 𝑦 ∈ suc 𝐴 ) )
48 40 47 syl5ibr ( ( 𝑈 ∈ Univ ∧ suc 𝑦𝐴 ) → ( suc 𝑦𝐴𝑦𝐴 ) )
49 39 48 mpd ( ( 𝑈 ∈ Univ ∧ suc 𝑦𝐴 ) → 𝑦𝐴 )
50 grupw ( ( 𝑈 ∈ Univ ∧ ( 𝑅1𝑦 ) ∈ 𝑈 ) → 𝒫 ( 𝑅1𝑦 ) ∈ 𝑈 )
51 50 ex ( 𝑈 ∈ Univ → ( ( 𝑅1𝑦 ) ∈ 𝑈 → 𝒫 ( 𝑅1𝑦 ) ∈ 𝑈 ) )
52 51 adantr ( ( 𝑈 ∈ Univ ∧ suc 𝑦𝐴 ) → ( ( 𝑅1𝑦 ) ∈ 𝑈 → 𝒫 ( 𝑅1𝑦 ) ∈ 𝑈 ) )
53 r1suc ( 𝑦 ∈ On → ( 𝑅1 ‘ suc 𝑦 ) = 𝒫 ( 𝑅1𝑦 ) )
54 53 eleq1d ( 𝑦 ∈ On → ( ( 𝑅1 ‘ suc 𝑦 ) ∈ 𝑈 ↔ 𝒫 ( 𝑅1𝑦 ) ∈ 𝑈 ) )
55 54 biimprcd ( 𝒫 ( 𝑅1𝑦 ) ∈ 𝑈 → ( 𝑦 ∈ On → ( 𝑅1 ‘ suc 𝑦 ) ∈ 𝑈 ) )
56 52 55 syl6 ( ( 𝑈 ∈ Univ ∧ suc 𝑦𝐴 ) → ( ( 𝑅1𝑦 ) ∈ 𝑈 → ( 𝑦 ∈ On → ( 𝑅1 ‘ suc 𝑦 ) ∈ 𝑈 ) ) )
57 49 56 embantd ( ( 𝑈 ∈ Univ ∧ suc 𝑦𝐴 ) → ( ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑦 ∈ On → ( 𝑅1 ‘ suc 𝑦 ) ∈ 𝑈 ) ) )
58 57 ex ( 𝑈 ∈ Univ → ( suc 𝑦𝐴 → ( ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑦 ∈ On → ( 𝑅1 ‘ suc 𝑦 ) ∈ 𝑈 ) ) ) )
59 58 com23 ( 𝑈 ∈ Univ → ( ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( suc 𝑦𝐴 → ( 𝑦 ∈ On → ( 𝑅1 ‘ suc 𝑦 ) ∈ 𝑈 ) ) ) )
60 59 com4r ( 𝑦 ∈ On → ( 𝑈 ∈ Univ → ( ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( suc 𝑦𝐴 → ( 𝑅1 ‘ suc 𝑦 ) ∈ 𝑈 ) ) ) )
61 simpr ( ( 𝑈 ∈ Univ ∧ 𝑥𝐴 ) → 𝑥𝐴 )
62 3 sseli ( 𝑥𝐴𝑥𝑈 )
63 62 ne0d ( 𝑥𝐴𝑈 ≠ ∅ )
64 63 43 sylan2 ( ( 𝑈 ∈ Univ ∧ 𝑥𝐴 ) → 𝐴 ∈ On )
65 ontr1 ( 𝐴 ∈ On → ( ( 𝑦𝑥𝑥𝐴 ) → 𝑦𝐴 ) )
66 pm2.27 ( 𝑦𝐴 → ( ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑅1𝑦 ) ∈ 𝑈 ) )
67 65 66 syl6 ( 𝐴 ∈ On → ( ( 𝑦𝑥𝑥𝐴 ) → ( ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑅1𝑦 ) ∈ 𝑈 ) ) )
68 67 expd ( 𝐴 ∈ On → ( 𝑦𝑥 → ( 𝑥𝐴 → ( ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑅1𝑦 ) ∈ 𝑈 ) ) ) )
69 68 com3r ( 𝑥𝐴 → ( 𝐴 ∈ On → ( 𝑦𝑥 → ( ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑅1𝑦 ) ∈ 𝑈 ) ) ) )
70 61 64 69 sylc ( ( 𝑈 ∈ Univ ∧ 𝑥𝐴 ) → ( 𝑦𝑥 → ( ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑅1𝑦 ) ∈ 𝑈 ) ) )
71 70 imp ( ( ( 𝑈 ∈ Univ ∧ 𝑥𝐴 ) ∧ 𝑦𝑥 ) → ( ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑅1𝑦 ) ∈ 𝑈 ) )
72 71 ralimdva ( ( 𝑈 ∈ Univ ∧ 𝑥𝐴 ) → ( ∀ 𝑦𝑥 ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ∀ 𝑦𝑥 ( 𝑅1𝑦 ) ∈ 𝑈 ) )
73 gruiun ( ( 𝑈 ∈ Univ ∧ 𝑥𝑈 ∧ ∀ 𝑦𝑥 ( 𝑅1𝑦 ) ∈ 𝑈 ) → 𝑦𝑥 ( 𝑅1𝑦 ) ∈ 𝑈 )
74 73 3expia ( ( 𝑈 ∈ Univ ∧ 𝑥𝑈 ) → ( ∀ 𝑦𝑥 ( 𝑅1𝑦 ) ∈ 𝑈 𝑦𝑥 ( 𝑅1𝑦 ) ∈ 𝑈 ) )
75 62 74 sylan2 ( ( 𝑈 ∈ Univ ∧ 𝑥𝐴 ) → ( ∀ 𝑦𝑥 ( 𝑅1𝑦 ) ∈ 𝑈 𝑦𝑥 ( 𝑅1𝑦 ) ∈ 𝑈 ) )
76 72 75 syld ( ( 𝑈 ∈ Univ ∧ 𝑥𝐴 ) → ( ∀ 𝑦𝑥 ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → 𝑦𝑥 ( 𝑅1𝑦 ) ∈ 𝑈 ) )
77 vex 𝑥 ∈ V
78 r1lim ( ( 𝑥 ∈ V ∧ Lim 𝑥 ) → ( 𝑅1𝑥 ) = 𝑦𝑥 ( 𝑅1𝑦 ) )
79 77 78 mpan ( Lim 𝑥 → ( 𝑅1𝑥 ) = 𝑦𝑥 ( 𝑅1𝑦 ) )
80 79 eleq1d ( Lim 𝑥 → ( ( 𝑅1𝑥 ) ∈ 𝑈 𝑦𝑥 ( 𝑅1𝑦 ) ∈ 𝑈 ) )
81 80 biimprd ( Lim 𝑥 → ( 𝑦𝑥 ( 𝑅1𝑦 ) ∈ 𝑈 → ( 𝑅1𝑥 ) ∈ 𝑈 ) )
82 76 81 sylan9r ( ( Lim 𝑥 ∧ ( 𝑈 ∈ Univ ∧ 𝑥𝐴 ) ) → ( ∀ 𝑦𝑥 ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑅1𝑥 ) ∈ 𝑈 ) )
83 82 exp32 ( Lim 𝑥 → ( 𝑈 ∈ Univ → ( 𝑥𝐴 → ( ∀ 𝑦𝑥 ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑅1𝑥 ) ∈ 𝑈 ) ) ) )
84 83 com34 ( Lim 𝑥 → ( 𝑈 ∈ Univ → ( ∀ 𝑦𝑥 ( 𝑦𝐴 → ( 𝑅1𝑦 ) ∈ 𝑈 ) → ( 𝑥𝐴 → ( 𝑅1𝑥 ) ∈ 𝑈 ) ) ) )
85 28 32 36 38 60 84 tfinds2 ( 𝑥 ∈ On → ( 𝑈 ∈ Univ → ( 𝑥𝐴 → ( 𝑅1𝑥 ) ∈ 𝑈 ) ) )
86 85 com3r ( 𝑥𝐴 → ( 𝑥 ∈ On → ( 𝑈 ∈ Univ → ( 𝑅1𝑥 ) ∈ 𝑈 ) ) )
87 23 86 mpd ( 𝑥𝐴 → ( 𝑈 ∈ Univ → ( 𝑅1𝑥 ) ∈ 𝑈 ) )
88 87 impcom ( ( 𝑈 ∈ Univ ∧ 𝑥𝐴 ) → ( 𝑅1𝑥 ) ∈ 𝑈 )
89 gruelss ( ( 𝑈 ∈ Univ ∧ ( 𝑅1𝑥 ) ∈ 𝑈 ) → ( 𝑅1𝑥 ) ⊆ 𝑈 )
90 88 89 syldan ( ( 𝑈 ∈ Univ ∧ 𝑥𝐴 ) → ( 𝑅1𝑥 ) ⊆ 𝑈 )
91 90 ralrimiva ( 𝑈 ∈ Univ → ∀ 𝑥𝐴 ( 𝑅1𝑥 ) ⊆ 𝑈 )
92 iunss ( 𝑥𝐴 ( 𝑅1𝑥 ) ⊆ 𝑈 ↔ ∀ 𝑥𝐴 ( 𝑅1𝑥 ) ⊆ 𝑈 )
93 91 92 sylibr ( 𝑈 ∈ Univ → 𝑥𝐴 ( 𝑅1𝑥 ) ⊆ 𝑈 )
94 93 adantr ( ( 𝑈 ∈ Univ ∧ 𝑈 ≠ ∅ ) → 𝑥𝐴 ( 𝑅1𝑥 ) ⊆ 𝑈 )
95 20 94 eqsstrd ( ( 𝑈 ∈ Univ ∧ 𝑈 ≠ ∅ ) → ( 𝑅1𝐴 ) ⊆ 𝑈 )
96 95 ex ( 𝑈 ∈ Univ → ( 𝑈 ≠ ∅ → ( 𝑅1𝐴 ) ⊆ 𝑈 ) )
97 13 96 pm2.61dne ( 𝑈 ∈ Univ → ( 𝑅1𝐴 ) ⊆ 𝑈 )