Metamath Proof Explorer


Theorem intgru

Description: The intersection of a family of universes is a universe. (Contributed by Mario Carneiro, 9-Jun-2013)

Ref Expression
Assertion intgru ( ( 𝐴 ⊆ Univ ∧ 𝐴 ≠ ∅ ) → 𝐴 ∈ Univ )

Proof

Step Hyp Ref Expression
1 intex ( 𝐴 ≠ ∅ ↔ 𝐴 ∈ V )
2 1 bilani ( ( 𝐴 ⊆ Univ ∧ 𝐴 ≠ ∅ ) → 𝐴 ∈ V )
3 dfss3 ( 𝐴 ⊆ Univ ↔ ∀ 𝑢𝐴 𝑢 ∈ Univ )
4 grutr ( 𝑢 ∈ Univ → Tr 𝑢 )
5 4 ralimi ( ∀ 𝑢𝐴 𝑢 ∈ Univ → ∀ 𝑢𝐴 Tr 𝑢 )
6 3 5 sylbi ( 𝐴 ⊆ Univ → ∀ 𝑢𝐴 Tr 𝑢 )
7 trint ( ∀ 𝑢𝐴 Tr 𝑢 → Tr 𝐴 )
8 6 7 syl ( 𝐴 ⊆ Univ → Tr 𝐴 )
9 8 adantr ( ( 𝐴 ⊆ Univ ∧ 𝐴 ≠ ∅ ) → Tr 𝐴 )
10 grupw ( ( 𝑢 ∈ Univ ∧ 𝑥𝑢 ) → 𝒫 𝑥𝑢 )
11 10 ex ( 𝑢 ∈ Univ → ( 𝑥𝑢 → 𝒫 𝑥𝑢 ) )
12 11 ral2imi ( ∀ 𝑢𝐴 𝑢 ∈ Univ → ( ∀ 𝑢𝐴 𝑥𝑢 → ∀ 𝑢𝐴 𝒫 𝑥𝑢 ) )
13 vex 𝑥 ∈ V
14 13 elint2 ( 𝑥 𝐴 ↔ ∀ 𝑢𝐴 𝑥𝑢 )
15 vpwex 𝒫 𝑥 ∈ V
16 15 elint2 ( 𝒫 𝑥 𝐴 ↔ ∀ 𝑢𝐴 𝒫 𝑥𝑢 )
17 12 14 16 3imtr4g ( ∀ 𝑢𝐴 𝑢 ∈ Univ → ( 𝑥 𝐴 → 𝒫 𝑥 𝐴 ) )
18 17 imp ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝑥 𝐴 ) → 𝒫 𝑥 𝐴 )
19 18 adantlr ( ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝐴 ≠ ∅ ) ∧ 𝑥 𝐴 ) → 𝒫 𝑥 𝐴 )
20 r19.26 ( ∀ 𝑢𝐴 ( 𝑢 ∈ Univ ∧ 𝑥𝑢 ) ↔ ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ ∀ 𝑢𝐴 𝑥𝑢 ) )
21 grupr ( ( 𝑢 ∈ Univ ∧ 𝑥𝑢𝑦𝑢 ) → { 𝑥 , 𝑦 } ∈ 𝑢 )
22 21 3expia ( ( 𝑢 ∈ Univ ∧ 𝑥𝑢 ) → ( 𝑦𝑢 → { 𝑥 , 𝑦 } ∈ 𝑢 ) )
23 22 ral2imi ( ∀ 𝑢𝐴 ( 𝑢 ∈ Univ ∧ 𝑥𝑢 ) → ( ∀ 𝑢𝐴 𝑦𝑢 → ∀ 𝑢𝐴 { 𝑥 , 𝑦 } ∈ 𝑢 ) )
24 20 23 sylbir ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ ∀ 𝑢𝐴 𝑥𝑢 ) → ( ∀ 𝑢𝐴 𝑦𝑢 → ∀ 𝑢𝐴 { 𝑥 , 𝑦 } ∈ 𝑢 ) )
25 vex 𝑦 ∈ V
26 25 elint2 ( 𝑦 𝐴 ↔ ∀ 𝑢𝐴 𝑦𝑢 )
27 prex { 𝑥 , 𝑦 } ∈ V
28 27 elint2 ( { 𝑥 , 𝑦 } ∈ 𝐴 ↔ ∀ 𝑢𝐴 { 𝑥 , 𝑦 } ∈ 𝑢 )
29 24 26 28 3imtr4g ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ ∀ 𝑢𝐴 𝑥𝑢 ) → ( 𝑦 𝐴 → { 𝑥 , 𝑦 } ∈ 𝐴 ) )
30 14 29 sylan2b ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝑥 𝐴 ) → ( 𝑦 𝐴 → { 𝑥 , 𝑦 } ∈ 𝐴 ) )
31 30 ralrimiv ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝑥 𝐴 ) → ∀ 𝑦 𝐴 { 𝑥 , 𝑦 } ∈ 𝐴 )
32 31 adantlr ( ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝐴 ≠ ∅ ) ∧ 𝑥 𝐴 ) → ∀ 𝑦 𝐴 { 𝑥 , 𝑦 } ∈ 𝐴 )
33 elmapg ( ( 𝐴 ∈ V ∧ 𝑥 ∈ V ) → ( 𝑦 ∈ ( 𝐴m 𝑥 ) ↔ 𝑦 : 𝑥 𝐴 ) )
34 33 elvd ( 𝐴 ∈ V → ( 𝑦 ∈ ( 𝐴m 𝑥 ) ↔ 𝑦 : 𝑥 𝐴 ) )
35 1 34 sylbi ( 𝐴 ≠ ∅ → ( 𝑦 ∈ ( 𝐴m 𝑥 ) ↔ 𝑦 : 𝑥 𝐴 ) )
36 35 ad2antlr ( ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝐴 ≠ ∅ ) ∧ 𝑥 𝐴 ) → ( 𝑦 ∈ ( 𝐴m 𝑥 ) ↔ 𝑦 : 𝑥 𝐴 ) )
37 intss1 ( 𝑢𝐴 𝐴𝑢 )
38 fss ( ( 𝑦 : 𝑥 𝐴 𝐴𝑢 ) → 𝑦 : 𝑥𝑢 )
39 37 38 sylan2 ( ( 𝑦 : 𝑥 𝐴𝑢𝐴 ) → 𝑦 : 𝑥𝑢 )
40 39 ralrimiva ( 𝑦 : 𝑥 𝐴 → ∀ 𝑢𝐴 𝑦 : 𝑥𝑢 )
41 gruurn ( ( 𝑢 ∈ Univ ∧ 𝑥𝑢𝑦 : 𝑥𝑢 ) → ran 𝑦𝑢 )
42 41 3expia ( ( 𝑢 ∈ Univ ∧ 𝑥𝑢 ) → ( 𝑦 : 𝑥𝑢 ran 𝑦𝑢 ) )
43 42 ral2imi ( ∀ 𝑢𝐴 ( 𝑢 ∈ Univ ∧ 𝑥𝑢 ) → ( ∀ 𝑢𝐴 𝑦 : 𝑥𝑢 → ∀ 𝑢𝐴 ran 𝑦𝑢 ) )
44 20 43 sylbir ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ ∀ 𝑢𝐴 𝑥𝑢 ) → ( ∀ 𝑢𝐴 𝑦 : 𝑥𝑢 → ∀ 𝑢𝐴 ran 𝑦𝑢 ) )
45 14 44 sylan2b ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝑥 𝐴 ) → ( ∀ 𝑢𝐴 𝑦 : 𝑥𝑢 → ∀ 𝑢𝐴 ran 𝑦𝑢 ) )
46 40 45 syl5 ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝑥 𝐴 ) → ( 𝑦 : 𝑥 𝐴 → ∀ 𝑢𝐴 ran 𝑦𝑢 ) )
47 25 rnex ran 𝑦 ∈ V
48 47 uniex ran 𝑦 ∈ V
49 48 elint2 ( ran 𝑦 𝐴 ↔ ∀ 𝑢𝐴 ran 𝑦𝑢 )
50 46 49 imbitrrdi ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝑥 𝐴 ) → ( 𝑦 : 𝑥 𝐴 ran 𝑦 𝐴 ) )
51 50 adantlr ( ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝐴 ≠ ∅ ) ∧ 𝑥 𝐴 ) → ( 𝑦 : 𝑥 𝐴 ran 𝑦 𝐴 ) )
52 36 51 sylbid ( ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝐴 ≠ ∅ ) ∧ 𝑥 𝐴 ) → ( 𝑦 ∈ ( 𝐴m 𝑥 ) → ran 𝑦 𝐴 ) )
53 52 ralrimiv ( ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝐴 ≠ ∅ ) ∧ 𝑥 𝐴 ) → ∀ 𝑦 ∈ ( 𝐴m 𝑥 ) ran 𝑦 𝐴 )
54 19 32 53 3jca ( ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝐴 ≠ ∅ ) ∧ 𝑥 𝐴 ) → ( 𝒫 𝑥 𝐴 ∧ ∀ 𝑦 𝐴 { 𝑥 , 𝑦 } ∈ 𝐴 ∧ ∀ 𝑦 ∈ ( 𝐴m 𝑥 ) ran 𝑦 𝐴 ) )
55 54 ralrimiva ( ( ∀ 𝑢𝐴 𝑢 ∈ Univ ∧ 𝐴 ≠ ∅ ) → ∀ 𝑥 𝐴 ( 𝒫 𝑥 𝐴 ∧ ∀ 𝑦 𝐴 { 𝑥 , 𝑦 } ∈ 𝐴 ∧ ∀ 𝑦 ∈ ( 𝐴m 𝑥 ) ran 𝑦 𝐴 ) )
56 3 55 sylanb ( ( 𝐴 ⊆ Univ ∧ 𝐴 ≠ ∅ ) → ∀ 𝑥 𝐴 ( 𝒫 𝑥 𝐴 ∧ ∀ 𝑦 𝐴 { 𝑥 , 𝑦 } ∈ 𝐴 ∧ ∀ 𝑦 ∈ ( 𝐴m 𝑥 ) ran 𝑦 𝐴 ) )
57 elgrug ( 𝐴 ∈ V → ( 𝐴 ∈ Univ ↔ ( Tr 𝐴 ∧ ∀ 𝑥 𝐴 ( 𝒫 𝑥 𝐴 ∧ ∀ 𝑦 𝐴 { 𝑥 , 𝑦 } ∈ 𝐴 ∧ ∀ 𝑦 ∈ ( 𝐴m 𝑥 ) ran 𝑦 𝐴 ) ) ) )
58 57 biimpar ( ( 𝐴 ∈ V ∧ ( Tr 𝐴 ∧ ∀ 𝑥 𝐴 ( 𝒫 𝑥 𝐴 ∧ ∀ 𝑦 𝐴 { 𝑥 , 𝑦 } ∈ 𝐴 ∧ ∀ 𝑦 ∈ ( 𝐴m 𝑥 ) ran 𝑦 𝐴 ) ) ) → 𝐴 ∈ Univ )
59 2 9 56 58 syl12anc ( ( 𝐴 ⊆ Univ ∧ 𝐴 ≠ ∅ ) → 𝐴 ∈ Univ )