Metamath Proof Explorer


Theorem mapen

Description: Two set exponentiations are equinumerous when their bases and exponents are equinumerous. Theorem 6H(c) of Enderton p. 139. (Contributed by NM, 16-Dec-2003) (Proof shortened by Mario Carneiro, 26-Apr-2015)

Ref Expression
Assertion mapen ⊢ A ≈ B ∧ C ≈ D → A C ≈ B D

Proof

Step Hyp Ref Expression
1 bren ⊢ A ≈ B ↔ ∃ f f : A ⟶ 1-1 onto B
2 bren ⊢ C ≈ D ↔ ∃ g g : C ⟶ 1-1 onto D
3 exdistrv ⊢ ∃ f ∃ g f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ↔ ∃ f f : A ⟶ 1-1 onto B ∧ ∃ g g : C ⟶ 1-1 onto D
4 ovexd ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → A C ∈ V
5 ovexd ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → B D ∈ V
6 elmapi ⊢ x ∈ A C → x : C ⟶ A
7 f1of ⊢ f : A ⟶ 1-1 onto B → f : A ⟶ B
8 7 adantr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → f : A ⟶ B
9 fco ⊢ f : A ⟶ B ∧ x : C ⟶ A → f ∘ x : C ⟶ B
10 8 9 sylan ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A → f ∘ x : C ⟶ B
11 f1ocnv ⊢ g : C ⟶ 1-1 onto D → g -1 : D ⟶ 1-1 onto C
12 11 adantl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → g -1 : D ⟶ 1-1 onto C
13 f1of ⊢ g -1 : D ⟶ 1-1 onto C → g -1 : D ⟶ C
14 12 13 syl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → g -1 : D ⟶ C
15 14 adantr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A → g -1 : D ⟶ C
16 10 15 fcod ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A → f ∘ x ∘ g -1 : D ⟶ B
17 16 ex ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → x : C ⟶ A → f ∘ x ∘ g -1 : D ⟶ B
18 6 17 syl5 ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → x ∈ A C → f ∘ x ∘ g -1 : D ⟶ B
19 f1ofo ⊢ f : A ⟶ 1-1 onto B → f : A ⟶ onto B
20 19 adantr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → f : A ⟶ onto B
21 forn ⊢ f : A ⟶ onto B → ran ⁡ f = B
22 20 21 syl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → ran ⁡ f = B
23 vex ⊢ f ∈ V
24 23 rnex ⊢ ran ⁡ f ∈ V
25 22 24 eqeltrrdi ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → B ∈ V
26 f1ofo ⊢ g : C ⟶ 1-1 onto D → g : C ⟶ onto D
27 26 adantl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → g : C ⟶ onto D
28 forn ⊢ g : C ⟶ onto D → ran ⁡ g = D
29 27 28 syl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → ran ⁡ g = D
30 vex ⊢ g ∈ V
31 30 rnex ⊢ ran ⁡ g ∈ V
32 29 31 eqeltrrdi ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → D ∈ V
33 25 32 elmapd ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → f ∘ x ∘ g -1 ∈ B D ↔ f ∘ x ∘ g -1 : D ⟶ B
34 18 33 sylibrd ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → x ∈ A C → f ∘ x ∘ g -1 ∈ B D
35 elmapi ⊢ y ∈ B D → y : D ⟶ B
36 f1ocnv ⊢ f : A ⟶ 1-1 onto B → f -1 : B ⟶ 1-1 onto A
37 36 adantr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → f -1 : B ⟶ 1-1 onto A
38 f1of ⊢ f -1 : B ⟶ 1-1 onto A → f -1 : B ⟶ A
39 37 38 syl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → f -1 : B ⟶ A
40 39 adantr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ y : D ⟶ B → f -1 : B ⟶ A
41 id ⊢ y : D ⟶ B → y : D ⟶ B
42 f1of ⊢ g : C ⟶ 1-1 onto D → g : C ⟶ D
43 42 adantl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → g : C ⟶ D
44 fco ⊢ y : D ⟶ B ∧ g : C ⟶ D → y ∘ g : C ⟶ B
45 41 43 44 syl2anr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ y : D ⟶ B → y ∘ g : C ⟶ B
46 40 45 fcod ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ y : D ⟶ B → f -1 ∘ y ∘ g : C ⟶ A
47 46 ex ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → y : D ⟶ B → f -1 ∘ y ∘ g : C ⟶ A
48 35 47 syl5 ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → y ∈ B D → f -1 ∘ y ∘ g : C ⟶ A
49 f1odm ⊢ f : A ⟶ 1-1 onto B → dom ⁡ f = A
50 49 adantr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → dom ⁡ f = A
51 23 dmex ⊢ dom ⁡ f ∈ V
52 50 51 eqeltrrdi ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → A ∈ V
53 f1odm ⊢ g : C ⟶ 1-1 onto D → dom ⁡ g = C
54 53 adantl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → dom ⁡ g = C
55 30 dmex ⊢ dom ⁡ g ∈ V
56 54 55 eqeltrrdi ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → C ∈ V
57 52 56 elmapd ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → f -1 ∘ y ∘ g ∈ A C ↔ f -1 ∘ y ∘ g : C ⟶ A
58 48 57 sylibrd ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → y ∈ B D → f -1 ∘ y ∘ g ∈ A C
59 coass ⊢ f ∘ f -1 ∘ y ∘ g = f ∘ f -1 ∘ y ∘ g
60 f1ococnv2 ⊢ f : A ⟶ 1-1 onto B → f ∘ f -1 = I ↾ B
61 60 ad2antrr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ f -1 = I ↾ B
62 61 coeq1d ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ f -1 ∘ y ∘ g = I ↾ B ∘ y ∘ g
63 45 adantrl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → y ∘ g : C ⟶ B
64 fcoi2 ⊢ y ∘ g : C ⟶ B → I ↾ B ∘ y ∘ g = y ∘ g
65 63 64 syl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → I ↾ B ∘ y ∘ g = y ∘ g
66 62 65 eqtrd ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ f -1 ∘ y ∘ g = y ∘ g
67 59 66 eqtr3id ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ f -1 ∘ y ∘ g = y ∘ g
68 67 eqeq2d ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ x = f ∘ f -1 ∘ y ∘ g ↔ f ∘ x = y ∘ g
69 coass ⊢ f ∘ x ∘ g -1 ∘ g = f ∘ x ∘ g -1 ∘ g
70 f1ococnv1 ⊢ g : C ⟶ 1-1 onto D → g -1 ∘ g = I ↾ C
71 70 ad2antlr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → g -1 ∘ g = I ↾ C
72 71 coeq2d ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ x ∘ g -1 ∘ g = f ∘ x ∘ I ↾ C
73 10 adantrr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ x : C ⟶ B
74 fcoi1 ⊢ f ∘ x : C ⟶ B → f ∘ x ∘ I ↾ C = f ∘ x
75 73 74 syl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ x ∘ I ↾ C = f ∘ x
76 72 75 eqtrd ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ x ∘ g -1 ∘ g = f ∘ x
77 69 76 eqtrid ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ x ∘ g -1 ∘ g = f ∘ x
78 77 eqeq2d ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → y ∘ g = f ∘ x ∘ g -1 ∘ g ↔ y ∘ g = f ∘ x
79 eqcom ⊢ y ∘ g = f ∘ x ↔ f ∘ x = y ∘ g
80 78 79 bitrdi ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → y ∘ g = f ∘ x ∘ g -1 ∘ g ↔ f ∘ x = y ∘ g
81 68 80 bitr4d ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ x = f ∘ f -1 ∘ y ∘ g ↔ y ∘ g = f ∘ x ∘ g -1 ∘ g
82 f1of1 ⊢ f : A ⟶ 1-1 onto B → f : A ⟶ 1-1 B
83 82 ad2antrr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f : A ⟶ 1-1 B
84 simprl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → x : C ⟶ A
85 46 adantrl ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f -1 ∘ y ∘ g : C ⟶ A
86 cocan1 ⊢ f : A ⟶ 1-1 B ∧ x : C ⟶ A ∧ f -1 ∘ y ∘ g : C ⟶ A → f ∘ x = f ∘ f -1 ∘ y ∘ g ↔ x = f -1 ∘ y ∘ g
87 83 84 85 86 syl3anc ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ x = f ∘ f -1 ∘ y ∘ g ↔ x = f -1 ∘ y ∘ g
88 27 adantr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → g : C ⟶ onto D
89 ffn ⊢ y : D ⟶ B → y Fn D
90 89 ad2antll ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → y Fn D
91 16 adantrr ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ x ∘ g -1 : D ⟶ B
92 91 ffnd ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → f ∘ x ∘ g -1 Fn D
93 cocan2 ⊢ g : C ⟶ onto D ∧ y Fn D ∧ f ∘ x ∘ g -1 Fn D → y ∘ g = f ∘ x ∘ g -1 ∘ g ↔ y = f ∘ x ∘ g -1
94 88 90 92 93 syl3anc ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → y ∘ g = f ∘ x ∘ g -1 ∘ g ↔ y = f ∘ x ∘ g -1
95 81 87 94 3bitr3d ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D ∧ x : C ⟶ A ∧ y : D ⟶ B → x = f -1 ∘ y ∘ g ↔ y = f ∘ x ∘ g -1
96 95 ex ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → x : C ⟶ A ∧ y : D ⟶ B → x = f -1 ∘ y ∘ g ↔ y = f ∘ x ∘ g -1
97 6 35 96 syl2ani ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → x ∈ A C ∧ y ∈ B D → x = f -1 ∘ y ∘ g ↔ y = f ∘ x ∘ g -1
98 4 5 34 58 97 en3d ⊢ f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → A C ≈ B D
99 98 exlimivv ⊢ ∃ f ∃ g f : A ⟶ 1-1 onto B ∧ g : C ⟶ 1-1 onto D → A C ≈ B D
100 3 99 sylbir ⊢ ∃ f f : A ⟶ 1-1 onto B ∧ ∃ g g : C ⟶ 1-1 onto D → A C ≈ B D
101 1 2 100 syl2anb ⊢ A ≈ B ∧ C ≈ D → A C ≈ B D