Metamath Proof Explorer


Theorem grudomon

Description: Each ordinal that is comparable with an element of the universe is in the universe. (Contributed by Mario Carneiro, 10-Jun-2013)

Ref Expression
Assertion grudomon ( ( 𝑈 ∈ Univ ∧ 𝐴 ∈ On ∧ ( 𝐵𝑈𝐴𝐵 ) ) → 𝐴𝑈 )

Proof

Step Hyp Ref Expression
1 breq1 ( 𝑥 = 𝑦 → ( 𝑥𝐵𝑦𝐵 ) )
2 eleq1 ( 𝑥 = 𝑦 → ( 𝑥𝑈𝑦𝑈 ) )
3 1 2 imbi12d ( 𝑥 = 𝑦 → ( ( 𝑥𝐵𝑥𝑈 ) ↔ ( 𝑦𝐵𝑦𝑈 ) ) )
4 3 imbi2d ( 𝑥 = 𝑦 → ( ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑥𝐵𝑥𝑈 ) ) ↔ ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑦𝐵𝑦𝑈 ) ) ) )
5 breq1 ( 𝑥 = 𝐴 → ( 𝑥𝐵𝐴𝐵 ) )
6 eleq1 ( 𝑥 = 𝐴 → ( 𝑥𝑈𝐴𝑈 ) )
7 5 6 imbi12d ( 𝑥 = 𝐴 → ( ( 𝑥𝐵𝑥𝑈 ) ↔ ( 𝐴𝐵𝐴𝑈 ) ) )
8 7 imbi2d ( 𝑥 = 𝐴 → ( ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑥𝐵𝑥𝑈 ) ) ↔ ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝐴𝐵𝐴𝑈 ) ) ) )
9 r19.21v ( ∀ 𝑦𝑥 ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑦𝐵𝑦𝑈 ) ) ↔ ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ∀ 𝑦𝑥 ( 𝑦𝐵𝑦𝑈 ) ) )
10 simpl1 ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → 𝑥 ∈ On )
11 vex 𝑥 ∈ V
12 onelss ( 𝑥 ∈ On → ( 𝑦𝑥𝑦𝑥 ) )
13 12 imp ( ( 𝑥 ∈ On ∧ 𝑦𝑥 ) → 𝑦𝑥 )
14 ssdomg ( 𝑥 ∈ V → ( 𝑦𝑥𝑦𝑥 ) )
15 11 13 14 mpsyl ( ( 𝑥 ∈ On ∧ 𝑦𝑥 ) → 𝑦𝑥 )
16 10 15 sylan ( ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) ∧ 𝑦𝑥 ) → 𝑦𝑥 )
17 simplr ( ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) ∧ 𝑦𝑥 ) → 𝑥𝐵 )
18 domtr ( ( 𝑦𝑥𝑥𝐵 ) → 𝑦𝐵 )
19 16 17 18 syl2anc ( ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) ∧ 𝑦𝑥 ) → 𝑦𝐵 )
20 pm2.27 ( 𝑦𝐵 → ( ( 𝑦𝐵𝑦𝑈 ) → 𝑦𝑈 ) )
21 19 20 syl ( ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) ∧ 𝑦𝑥 ) → ( ( 𝑦𝐵𝑦𝑈 ) → 𝑦𝑈 ) )
22 21 ralimdva ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → ( ∀ 𝑦𝑥 ( 𝑦𝐵𝑦𝑈 ) → ∀ 𝑦𝑥 𝑦𝑈 ) )
23 dfss3 ( 𝑥𝑈 ↔ ∀ 𝑦𝑥 𝑦𝑈 )
24 domeng ( 𝐵𝑈 → ( 𝑥𝐵 ↔ ∃ 𝑦 ( 𝑥𝑦𝑦𝐵 ) ) )
25 24 3ad2ant3 ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑥𝐵 ↔ ∃ 𝑦 ( 𝑥𝑦𝑦𝐵 ) ) )
26 25 biimpa ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → ∃ 𝑦 ( 𝑥𝑦𝑦𝐵 ) )
27 simpl2 ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → 𝑈 ∈ Univ )
28 gruss ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈𝑦𝐵 ) → 𝑦𝑈 )
29 28 3expia ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑦𝐵𝑦𝑈 ) )
30 29 3adant1 ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑦𝐵𝑦𝑈 ) )
31 30 adantr ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → ( 𝑦𝐵𝑦𝑈 ) )
32 ensym ( 𝑥𝑦𝑦𝑥 )
33 31 32 anim12d1 ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → ( ( 𝑦𝐵𝑥𝑦 ) → ( 𝑦𝑈𝑦𝑥 ) ) )
34 33 ancomsd ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → ( ( 𝑥𝑦𝑦𝐵 ) → ( 𝑦𝑈𝑦𝑥 ) ) )
35 34 eximdv ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → ( ∃ 𝑦 ( 𝑥𝑦𝑦𝐵 ) → ∃ 𝑦 ( 𝑦𝑈𝑦𝑥 ) ) )
36 gruen ( ( 𝑈 ∈ Univ ∧ 𝑥𝑈 ∧ ( 𝑦𝑈𝑦𝑥 ) ) → 𝑥𝑈 )
37 36 3com23 ( ( 𝑈 ∈ Univ ∧ ( 𝑦𝑈𝑦𝑥 ) ∧ 𝑥𝑈 ) → 𝑥𝑈 )
38 37 3exp ( 𝑈 ∈ Univ → ( ( 𝑦𝑈𝑦𝑥 ) → ( 𝑥𝑈𝑥𝑈 ) ) )
39 38 exlimdv ( 𝑈 ∈ Univ → ( ∃ 𝑦 ( 𝑦𝑈𝑦𝑥 ) → ( 𝑥𝑈𝑥𝑈 ) ) )
40 27 35 39 sylsyld ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → ( ∃ 𝑦 ( 𝑥𝑦𝑦𝐵 ) → ( 𝑥𝑈𝑥𝑈 ) ) )
41 26 40 mpd ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → ( 𝑥𝑈𝑥𝑈 ) )
42 23 41 syl5bir ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → ( ∀ 𝑦𝑥 𝑦𝑈𝑥𝑈 ) )
43 22 42 syld ( ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) ∧ 𝑥𝐵 ) → ( ∀ 𝑦𝑥 ( 𝑦𝐵𝑦𝑈 ) → 𝑥𝑈 ) )
44 43 ex ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑥𝐵 → ( ∀ 𝑦𝑥 ( 𝑦𝐵𝑦𝑈 ) → 𝑥𝑈 ) ) )
45 44 com23 ( ( 𝑥 ∈ On ∧ 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( ∀ 𝑦𝑥 ( 𝑦𝐵𝑦𝑈 ) → ( 𝑥𝐵𝑥𝑈 ) ) )
46 45 3expib ( 𝑥 ∈ On → ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( ∀ 𝑦𝑥 ( 𝑦𝐵𝑦𝑈 ) → ( 𝑥𝐵𝑥𝑈 ) ) ) )
47 46 a2d ( 𝑥 ∈ On → ( ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ∀ 𝑦𝑥 ( 𝑦𝐵𝑦𝑈 ) ) → ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑥𝐵𝑥𝑈 ) ) ) )
48 9 47 syl5bi ( 𝑥 ∈ On → ( ∀ 𝑦𝑥 ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑦𝐵𝑦𝑈 ) ) → ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝑥𝐵𝑥𝑈 ) ) ) )
49 4 8 48 tfis3 ( 𝐴 ∈ On → ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝐴𝐵𝐴𝑈 ) ) )
50 49 com3l ( ( 𝑈 ∈ Univ ∧ 𝐵𝑈 ) → ( 𝐴𝐵 → ( 𝐴 ∈ On → 𝐴𝑈 ) ) )
51 50 impr ( ( 𝑈 ∈ Univ ∧ ( 𝐵𝑈𝐴𝐵 ) ) → ( 𝐴 ∈ On → 𝐴𝑈 ) )
52 51 3impia ( ( 𝑈 ∈ Univ ∧ ( 𝐵𝑈𝐴𝐵 ) ∧ 𝐴 ∈ On ) → 𝐴𝑈 )
53 52 3com23 ( ( 𝑈 ∈ Univ ∧ 𝐴 ∈ On ∧ ( 𝐵𝑈𝐴𝐵 ) ) → 𝐴𝑈 )