Metamath Proof Explorer


Theorem mapdom2

Description: Order-preserving property of set exponentiation. Theorem 6L(d) of Enderton p. 149. (Contributed by NM, 23-Sep-2004) (Revised by Mario Carneiro, 30-Apr-2015)

Ref Expression
Assertion mapdom2 ( ( 𝐴𝐵 ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) )

Proof

Step Hyp Ref Expression
1 simpr ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 = ∅ ) → 𝐶 = ∅ )
2 1 oveq1d ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 = ∅ ) → ( 𝐶m 𝐴 ) = ( ∅ ↑m 𝐴 ) )
3 simplr ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 = ∅ ) → ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) )
4 idd ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 = ∅ ) → ( 𝐴 = ∅ → 𝐴 = ∅ ) )
5 4 1 jctird ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 = ∅ ) → ( 𝐴 = ∅ → ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) )
6 3 5 mtod ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 = ∅ ) → ¬ 𝐴 = ∅ )
7 6 neqned ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 = ∅ ) → 𝐴 ≠ ∅ )
8 map0b ( 𝐴 ≠ ∅ → ( ∅ ↑m 𝐴 ) = ∅ )
9 7 8 syl ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 = ∅ ) → ( ∅ ↑m 𝐴 ) = ∅ )
10 2 9 eqtrd ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 = ∅ ) → ( 𝐶m 𝐴 ) = ∅ )
11 ovex ( 𝐶m 𝐵 ) ∈ V
12 11 0dom ∅ ≼ ( 𝐶m 𝐵 )
13 10 12 eqbrtrdi ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 = ∅ ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) )
14 simpll ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ 𝐶 ≠ ∅ ) → 𝐴𝐵 )
15 reldom Rel ≼
16 15 brrelex2i ( 𝐴𝐵𝐵 ∈ V )
17 16 ad2antrr ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ 𝐶 ≠ ∅ ) → 𝐵 ∈ V )
18 domeng ( 𝐵 ∈ V → ( 𝐴𝐵 ↔ ∃ 𝑥 ( 𝐴𝑥𝑥𝐵 ) ) )
19 17 18 syl ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ 𝐶 ≠ ∅ ) → ( 𝐴𝐵 ↔ ∃ 𝑥 ( 𝐴𝑥𝑥𝐵 ) ) )
20 14 19 mpbid ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ 𝐶 ≠ ∅ ) → ∃ 𝑥 ( 𝐴𝑥𝑥𝐵 ) )
21 enrefg ( 𝐶 ∈ V → 𝐶𝐶 )
22 21 ad2antlr ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → 𝐶𝐶 )
23 simprrl ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → 𝐴𝑥 )
24 mapen ( ( 𝐶𝐶𝐴𝑥 ) → ( 𝐶m 𝐴 ) ≈ ( 𝐶m 𝑥 ) )
25 22 23 24 syl2anc ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐶m 𝐴 ) ≈ ( 𝐶m 𝑥 ) )
26 ovexd ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐶m 𝑥 ) ∈ V )
27 ovexd ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐶m ( 𝐵𝑥 ) ) ∈ V )
28 simprl ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → 𝐶 ≠ ∅ )
29 simplr ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → 𝐶 ∈ V )
30 16 ad2antrr ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → 𝐵 ∈ V )
31 30 difexd ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐵𝑥 ) ∈ V )
32 map0g ( ( 𝐶 ∈ V ∧ ( 𝐵𝑥 ) ∈ V ) → ( ( 𝐶m ( 𝐵𝑥 ) ) = ∅ ↔ ( 𝐶 = ∅ ∧ ( 𝐵𝑥 ) ≠ ∅ ) ) )
33 simpl ( ( 𝐶 = ∅ ∧ ( 𝐵𝑥 ) ≠ ∅ ) → 𝐶 = ∅ )
34 32 33 syl6bi ( ( 𝐶 ∈ V ∧ ( 𝐵𝑥 ) ∈ V ) → ( ( 𝐶m ( 𝐵𝑥 ) ) = ∅ → 𝐶 = ∅ ) )
35 34 necon3d ( ( 𝐶 ∈ V ∧ ( 𝐵𝑥 ) ∈ V ) → ( 𝐶 ≠ ∅ → ( 𝐶m ( 𝐵𝑥 ) ) ≠ ∅ ) )
36 29 31 35 syl2anc ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐶 ≠ ∅ → ( 𝐶m ( 𝐵𝑥 ) ) ≠ ∅ ) )
37 28 36 mpd ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐶m ( 𝐵𝑥 ) ) ≠ ∅ )
38 xpdom3 ( ( ( 𝐶m 𝑥 ) ∈ V ∧ ( 𝐶m ( 𝐵𝑥 ) ) ∈ V ∧ ( 𝐶m ( 𝐵𝑥 ) ) ≠ ∅ ) → ( 𝐶m 𝑥 ) ≼ ( ( 𝐶m 𝑥 ) × ( 𝐶m ( 𝐵𝑥 ) ) ) )
39 26 27 37 38 syl3anc ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐶m 𝑥 ) ≼ ( ( 𝐶m 𝑥 ) × ( 𝐶m ( 𝐵𝑥 ) ) ) )
40 vex 𝑥 ∈ V
41 40 a1i ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → 𝑥 ∈ V )
42 disjdif ( 𝑥 ∩ ( 𝐵𝑥 ) ) = ∅
43 42 a1i ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝑥 ∩ ( 𝐵𝑥 ) ) = ∅ )
44 mapunen ( ( ( 𝑥 ∈ V ∧ ( 𝐵𝑥 ) ∈ V ∧ 𝐶 ∈ V ) ∧ ( 𝑥 ∩ ( 𝐵𝑥 ) ) = ∅ ) → ( 𝐶m ( 𝑥 ∪ ( 𝐵𝑥 ) ) ) ≈ ( ( 𝐶m 𝑥 ) × ( 𝐶m ( 𝐵𝑥 ) ) ) )
45 41 31 29 43 44 syl31anc ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐶m ( 𝑥 ∪ ( 𝐵𝑥 ) ) ) ≈ ( ( 𝐶m 𝑥 ) × ( 𝐶m ( 𝐵𝑥 ) ) ) )
46 45 ensymd ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( ( 𝐶m 𝑥 ) × ( 𝐶m ( 𝐵𝑥 ) ) ) ≈ ( 𝐶m ( 𝑥 ∪ ( 𝐵𝑥 ) ) ) )
47 simprrr ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → 𝑥𝐵 )
48 undif ( 𝑥𝐵 ↔ ( 𝑥 ∪ ( 𝐵𝑥 ) ) = 𝐵 )
49 47 48 sylib ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝑥 ∪ ( 𝐵𝑥 ) ) = 𝐵 )
50 49 oveq2d ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐶m ( 𝑥 ∪ ( 𝐵𝑥 ) ) ) = ( 𝐶m 𝐵 ) )
51 46 50 breqtrd ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( ( 𝐶m 𝑥 ) × ( 𝐶m ( 𝐵𝑥 ) ) ) ≈ ( 𝐶m 𝐵 ) )
52 domentr ( ( ( 𝐶m 𝑥 ) ≼ ( ( 𝐶m 𝑥 ) × ( 𝐶m ( 𝐵𝑥 ) ) ) ∧ ( ( 𝐶m 𝑥 ) × ( 𝐶m ( 𝐵𝑥 ) ) ) ≈ ( 𝐶m 𝐵 ) ) → ( 𝐶m 𝑥 ) ≼ ( 𝐶m 𝐵 ) )
53 39 51 52 syl2anc ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐶m 𝑥 ) ≼ ( 𝐶m 𝐵 ) )
54 endomtr ( ( ( 𝐶m 𝐴 ) ≈ ( 𝐶m 𝑥 ) ∧ ( 𝐶m 𝑥 ) ≼ ( 𝐶m 𝐵 ) ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) )
55 25 53 54 syl2anc ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ( 𝐶 ≠ ∅ ∧ ( 𝐴𝑥𝑥𝐵 ) ) ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) )
56 55 expr ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ 𝐶 ≠ ∅ ) → ( ( 𝐴𝑥𝑥𝐵 ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) ) )
57 56 exlimdv ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ 𝐶 ≠ ∅ ) → ( ∃ 𝑥 ( 𝐴𝑥𝑥𝐵 ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) ) )
58 20 57 mpd ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ 𝐶 ≠ ∅ ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) )
59 58 adantlr ( ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 ≠ ∅ ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) )
60 13 59 pm2.61dane ( ( ( 𝐴𝐵𝐶 ∈ V ) ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) )
61 60 an32s ( ( ( 𝐴𝐵 ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) ∧ 𝐶 ∈ V ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) )
62 61 ex ( ( 𝐴𝐵 ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) → ( 𝐶 ∈ V → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) ) )
63 reldmmap Rel dom ↑m
64 63 ovprc1 ( ¬ 𝐶 ∈ V → ( 𝐶m 𝐴 ) = ∅ )
65 64 12 eqbrtrdi ( ¬ 𝐶 ∈ V → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) )
66 62 65 pm2.61d1 ( ( 𝐴𝐵 ∧ ¬ ( 𝐴 = ∅ ∧ 𝐶 = ∅ ) ) → ( 𝐶m 𝐴 ) ≼ ( 𝐶m 𝐵 ) )