Metamath Proof Explorer < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >  xpassen Structured version   Visualization version   GIF version

Theorem xpassen 7939
 Description: Associative law for equinumerosity of Cartesian product. Proposition 4.22(e) of [Mendelson] p. 254. (Contributed by NM, 22-Jan-2004.) (Revised by Mario Carneiro, 15-Nov-2014.)
Hypotheses
Ref Expression
xpassen.1 𝐴 ∈ V
xpassen.2 𝐵 ∈ V
xpassen.3 𝐶 ∈ V
Assertion
Ref Expression
xpassen ((𝐴 × 𝐵) × 𝐶) ≈ (𝐴 × (𝐵 × 𝐶))

Proof of Theorem xpassen
Dummy variables 𝑥 𝑦 𝑧 𝑤 𝑣 𝑢 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 xpassen.1 . . . 4 𝐴 ∈ V
2 xpassen.2 . . . 4 𝐵 ∈ V
31, 2xpex 6860 . . 3 (𝐴 × 𝐵) ∈ V
4 xpassen.3 . . 3 𝐶 ∈ V
53, 4xpex 6860 . 2 ((𝐴 × 𝐵) × 𝐶) ∈ V
62, 4xpex 6860 . . 3 (𝐵 × 𝐶) ∈ V
71, 6xpex 6860 . 2 (𝐴 × (𝐵 × 𝐶)) ∈ V
8 opex 4859 . . 3 dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩ ∈ V
98a1i 11 . 2 (𝑥 ∈ ((𝐴 × 𝐵) × 𝐶) → ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩ ∈ V)
10 opex 4859 . . 3 ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩ ∈ V
1110a1i 11 . 2 (𝑦 ∈ (𝐴 × (𝐵 × 𝐶)) → ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩ ∈ V)
12 sneq 4135 . . . . . . . . . . . . . . . . 17 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → {𝑥} = {⟨⟨𝑧, 𝑤⟩, 𝑣⟩})
1312dmeqd 5248 . . . . . . . . . . . . . . . 16 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → dom {𝑥} = dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩})
1413unieqd 4382 . . . . . . . . . . . . . . 15 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → dom {𝑥} = dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩})
1514sneqd 4137 . . . . . . . . . . . . . 14 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → { dom {𝑥}} = { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}})
1615dmeqd 5248 . . . . . . . . . . . . 13 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → dom { dom {𝑥}} = dom { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}})
1716unieqd 4382 . . . . . . . . . . . 12 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → dom { dom {𝑥}} = dom { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}})
18 opex 4859 . . . . . . . . . . . . . . . . 17 𝑧, 𝑤⟩ ∈ V
19 vex 3176 . . . . . . . . . . . . . . . . 17 𝑣 ∈ V
2018, 19op1sta 5535 . . . . . . . . . . . . . . . 16 dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩} = ⟨𝑧, 𝑤
2120sneqi 4136 . . . . . . . . . . . . . . 15 { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}} = {⟨𝑧, 𝑤⟩}
2221dmeqi 5247 . . . . . . . . . . . . . 14 dom { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}} = dom {⟨𝑧, 𝑤⟩}
2322unieqi 4381 . . . . . . . . . . . . 13 dom { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}} = dom {⟨𝑧, 𝑤⟩}
24 vex 3176 . . . . . . . . . . . . . 14 𝑧 ∈ V
25 vex 3176 . . . . . . . . . . . . . 14 𝑤 ∈ V
2624, 25op1sta 5535 . . . . . . . . . . . . 13 dom {⟨𝑧, 𝑤⟩} = 𝑧
2723, 26eqtri 2632 . . . . . . . . . . . 12 dom { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}} = 𝑧
2817, 27syl6req 2661 . . . . . . . . . . 11 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → 𝑧 = dom { dom {𝑥}})
2915rneqd 5274 . . . . . . . . . . . . . 14 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → ran { dom {𝑥}} = ran { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}})
3029unieqd 4382 . . . . . . . . . . . . 13 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → ran { dom {𝑥}} = ran { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}})
3121rneqi 5273 . . . . . . . . . . . . . . 15 ran { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}} = ran {⟨𝑧, 𝑤⟩}
3231unieqi 4381 . . . . . . . . . . . . . 14 ran { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}} = ran {⟨𝑧, 𝑤⟩}
3324, 25op2nda 5538 . . . . . . . . . . . . . 14 ran {⟨𝑧, 𝑤⟩} = 𝑤
3432, 33eqtri 2632 . . . . . . . . . . . . 13 ran { dom {⟨⟨𝑧, 𝑤⟩, 𝑣⟩}} = 𝑤
3530, 34syl6req 2661 . . . . . . . . . . . 12 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → 𝑤 = ran { dom {𝑥}})
3612rneqd 5274 . . . . . . . . . . . . . 14 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → ran {𝑥} = ran {⟨⟨𝑧, 𝑤⟩, 𝑣⟩})
3736unieqd 4382 . . . . . . . . . . . . 13 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → ran {𝑥} = ran {⟨⟨𝑧, 𝑤⟩, 𝑣⟩})
3818, 19op2nda 5538 . . . . . . . . . . . . 13 ran {⟨⟨𝑧, 𝑤⟩, 𝑣⟩} = 𝑣
3937, 38syl6req 2661 . . . . . . . . . . . 12 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → 𝑣 = ran {𝑥})
4035, 39opeq12d 4348 . . . . . . . . . . 11 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → ⟨𝑤, 𝑣⟩ = ⟨ ran { dom {𝑥}}, ran {𝑥}⟩)
4128, 40opeq12d 4348 . . . . . . . . . 10 (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ → ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩)
42 sneq 4135 . . . . . . . . . . . . . . 15 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → {𝑦} = {⟨𝑧, ⟨𝑤, 𝑣⟩⟩})
4342dmeqd 5248 . . . . . . . . . . . . . 14 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → dom {𝑦} = dom {⟨𝑧, ⟨𝑤, 𝑣⟩⟩})
4443unieqd 4382 . . . . . . . . . . . . 13 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → dom {𝑦} = dom {⟨𝑧, ⟨𝑤, 𝑣⟩⟩})
45 opex 4859 . . . . . . . . . . . . . 14 𝑤, 𝑣⟩ ∈ V
4624, 45op1sta 5535 . . . . . . . . . . . . 13 dom {⟨𝑧, ⟨𝑤, 𝑣⟩⟩} = 𝑧
4744, 46syl6req 2661 . . . . . . . . . . . 12 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → 𝑧 = dom {𝑦})
4842rneqd 5274 . . . . . . . . . . . . . . . . 17 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → ran {𝑦} = ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩})
4948unieqd 4382 . . . . . . . . . . . . . . . 16 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → ran {𝑦} = ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩})
5049sneqd 4137 . . . . . . . . . . . . . . 15 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → { ran {𝑦}} = { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}})
5150dmeqd 5248 . . . . . . . . . . . . . 14 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → dom { ran {𝑦}} = dom { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}})
5251unieqd 4382 . . . . . . . . . . . . 13 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → dom { ran {𝑦}} = dom { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}})
5324, 45op2nda 5538 . . . . . . . . . . . . . . . . 17 ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩} = ⟨𝑤, 𝑣
5453sneqi 4136 . . . . . . . . . . . . . . . 16 { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}} = {⟨𝑤, 𝑣⟩}
5554dmeqi 5247 . . . . . . . . . . . . . . 15 dom { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}} = dom {⟨𝑤, 𝑣⟩}
5655unieqi 4381 . . . . . . . . . . . . . 14 dom { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}} = dom {⟨𝑤, 𝑣⟩}
5725, 19op1sta 5535 . . . . . . . . . . . . . 14 dom {⟨𝑤, 𝑣⟩} = 𝑤
5856, 57eqtri 2632 . . . . . . . . . . . . 13 dom { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}} = 𝑤
5952, 58syl6req 2661 . . . . . . . . . . . 12 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → 𝑤 = dom { ran {𝑦}})
6047, 59opeq12d 4348 . . . . . . . . . . 11 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → ⟨𝑧, 𝑤⟩ = ⟨ dom {𝑦}, dom { ran {𝑦}}⟩)
6150rneqd 5274 . . . . . . . . . . . . 13 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → ran { ran {𝑦}} = ran { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}})
6261unieqd 4382 . . . . . . . . . . . 12 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → ran { ran {𝑦}} = ran { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}})
6354rneqi 5273 . . . . . . . . . . . . . 14 ran { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}} = ran {⟨𝑤, 𝑣⟩}
6463unieqi 4381 . . . . . . . . . . . . 13 ran { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}} = ran {⟨𝑤, 𝑣⟩}
6525, 19op2nda 5538 . . . . . . . . . . . . 13 ran {⟨𝑤, 𝑣⟩} = 𝑣
6664, 65eqtri 2632 . . . . . . . . . . . 12 ran { ran {⟨𝑧, ⟨𝑤, 𝑣⟩⟩}} = 𝑣
6762, 66syl6req 2661 . . . . . . . . . . 11 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → 𝑣 = ran { ran {𝑦}})
6860, 67opeq12d 4348 . . . . . . . . . 10 (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ → ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩)
6941, 68eq2tri 2671 . . . . . . . . 9 ((𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩))
70 anass 679 . . . . . . . . 9 (((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶) ↔ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))
7169, 70anbi12i 729 . . . . . . . 8 (((𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ↔ ((𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩) ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))))
72 an32 835 . . . . . . . 8 (((𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ ((𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)))
73 an32 835 . . . . . . . 8 (((𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩) ↔ ((𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩) ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))))
7471, 72, 733bitr4i 291 . . . . . . 7 (((𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ ((𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩))
7574exbii 1764 . . . . . 6 (∃𝑣((𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ ∃𝑣((𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩))
76 19.41v 1901 . . . . . 6 (∃𝑣((𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ (∃𝑣(𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩))
77 19.41v 1901 . . . . . 6 (∃𝑣((𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩) ↔ (∃𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩))
7875, 76, 773bitr3i 289 . . . . 5 ((∃𝑣(𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ (∃𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩))
79782exbii 1765 . . . 4 (∃𝑧𝑤(∃𝑣(𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ ∃𝑧𝑤(∃𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩))
80 19.41vv 1902 . . . 4 (∃𝑧𝑤(∃𝑣(𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ (∃𝑧𝑤𝑣(𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩))
81 19.41vv 1902 . . . 4 (∃𝑧𝑤(∃𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩) ↔ (∃𝑧𝑤𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩))
8279, 80, 813bitr3i 289 . . 3 ((∃𝑧𝑤𝑣(𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ (∃𝑧𝑤𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩))
83 elxp 5055 . . . . 5 (𝑥 ∈ ((𝐴 × 𝐵) × 𝐶) ↔ ∃𝑢𝑣(𝑥 = ⟨𝑢, 𝑣⟩ ∧ (𝑢 ∈ (𝐴 × 𝐵) ∧ 𝑣𝐶)))
84 excom 2029 . . . . 5 (∃𝑢𝑣(𝑥 = ⟨𝑢, 𝑣⟩ ∧ (𝑢 ∈ (𝐴 × 𝐵) ∧ 𝑣𝐶)) ↔ ∃𝑣𝑢(𝑥 = ⟨𝑢, 𝑣⟩ ∧ (𝑢 ∈ (𝐴 × 𝐵) ∧ 𝑣𝐶)))
85 elxp 5055 . . . . . . . . 9 (𝑢 ∈ (𝐴 × 𝐵) ↔ ∃𝑧𝑤(𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)))
8685anbi1i 727 . . . . . . . 8 ((𝑢 ∈ (𝐴 × 𝐵) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)) ↔ (∃𝑧𝑤(𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)))
87 an12 834 . . . . . . . 8 ((𝑥 = ⟨𝑢, 𝑣⟩ ∧ (𝑢 ∈ (𝐴 × 𝐵) ∧ 𝑣𝐶)) ↔ (𝑢 ∈ (𝐴 × 𝐵) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)))
88 19.41vv 1902 . . . . . . . 8 (∃𝑧𝑤((𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)) ↔ (∃𝑧𝑤(𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)))
8986, 87, 883bitr4i 291 . . . . . . 7 ((𝑥 = ⟨𝑢, 𝑣⟩ ∧ (𝑢 ∈ (𝐴 × 𝐵) ∧ 𝑣𝐶)) ↔ ∃𝑧𝑤((𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)))
90892exbii 1765 . . . . . 6 (∃𝑣𝑢(𝑥 = ⟨𝑢, 𝑣⟩ ∧ (𝑢 ∈ (𝐴 × 𝐵) ∧ 𝑣𝐶)) ↔ ∃𝑣𝑢𝑧𝑤((𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)))
91 exrot4 2033 . . . . . 6 (∃𝑣𝑢𝑧𝑤((𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)) ↔ ∃𝑧𝑤𝑣𝑢((𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)))
92 anass 679 . . . . . . . . 9 (((𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)) ↔ (𝑢 = ⟨𝑧, 𝑤⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶))))
9392exbii 1764 . . . . . . . 8 (∃𝑢((𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)) ↔ ∃𝑢(𝑢 = ⟨𝑧, 𝑤⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶))))
94 opeq1 4340 . . . . . . . . . . . 12 (𝑢 = ⟨𝑧, 𝑤⟩ → ⟨𝑢, 𝑣⟩ = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩)
9594eqeq2d 2620 . . . . . . . . . . 11 (𝑢 = ⟨𝑧, 𝑤⟩ → (𝑥 = ⟨𝑢, 𝑣⟩ ↔ 𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩))
9695anbi1d 737 . . . . . . . . . 10 (𝑢 = ⟨𝑧, 𝑤⟩ → ((𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶) ↔ (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ 𝑣𝐶)))
9796anbi2d 736 . . . . . . . . 9 (𝑢 = ⟨𝑧, 𝑤⟩ → (((𝑧𝐴𝑤𝐵) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)) ↔ ((𝑧𝐴𝑤𝐵) ∧ (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ 𝑣𝐶))))
9818, 97ceqsexv 3215 . . . . . . . 8 (∃𝑢(𝑢 = ⟨𝑧, 𝑤⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶))) ↔ ((𝑧𝐴𝑤𝐵) ∧ (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ 𝑣𝐶)))
99 an12 834 . . . . . . . 8 (((𝑧𝐴𝑤𝐵) ∧ (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ 𝑣𝐶)) ↔ (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)))
10093, 98, 993bitri 285 . . . . . . 7 (∃𝑢((𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)) ↔ (𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)))
1011003exbii 1766 . . . . . 6 (∃𝑧𝑤𝑣𝑢((𝑢 = ⟨𝑧, 𝑤⟩ ∧ (𝑧𝐴𝑤𝐵)) ∧ (𝑥 = ⟨𝑢, 𝑣⟩ ∧ 𝑣𝐶)) ↔ ∃𝑧𝑤𝑣(𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)))
10290, 91, 1013bitri 285 . . . . 5 (∃𝑣𝑢(𝑥 = ⟨𝑢, 𝑣⟩ ∧ (𝑢 ∈ (𝐴 × 𝐵) ∧ 𝑣𝐶)) ↔ ∃𝑧𝑤𝑣(𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)))
10383, 84, 1023bitri 285 . . . 4 (𝑥 ∈ ((𝐴 × 𝐵) × 𝐶) ↔ ∃𝑧𝑤𝑣(𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)))
104103anbi1i 727 . . 3 ((𝑥 ∈ ((𝐴 × 𝐵) × 𝐶) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ (∃𝑧𝑤𝑣(𝑥 = ⟨⟨𝑧, 𝑤⟩, 𝑣⟩ ∧ ((𝑧𝐴𝑤𝐵) ∧ 𝑣𝐶)) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩))
105 elxp 5055 . . . . 5 (𝑦 ∈ (𝐴 × (𝐵 × 𝐶)) ↔ ∃𝑧𝑢(𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴𝑢 ∈ (𝐵 × 𝐶))))
106 elxp 5055 . . . . . . . . . 10 (𝑢 ∈ (𝐵 × 𝐶) ↔ ∃𝑤𝑣(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑤𝐵𝑣𝐶)))
107106anbi2i 726 . . . . . . . . 9 (((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ 𝑢 ∈ (𝐵 × 𝐶)) ↔ ((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ ∃𝑤𝑣(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑤𝐵𝑣𝐶))))
108 anass 679 . . . . . . . . 9 (((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ 𝑢 ∈ (𝐵 × 𝐶)) ↔ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴𝑢 ∈ (𝐵 × 𝐶))))
109 19.42vv 1907 . . . . . . . . . 10 (∃𝑤𝑣((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ (𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑤𝐵𝑣𝐶))) ↔ ((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ ∃𝑤𝑣(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑤𝐵𝑣𝐶))))
110 an12 834 . . . . . . . . . . . 12 (((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ (𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑤𝐵𝑣𝐶))) ↔ (𝑢 = ⟨𝑤, 𝑣⟩ ∧ ((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ (𝑤𝐵𝑣𝐶))))
111 anass 679 . . . . . . . . . . . . 13 (((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ (𝑤𝐵𝑣𝐶)) ↔ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))))
112111anbi2i 726 . . . . . . . . . . . 12 ((𝑢 = ⟨𝑤, 𝑣⟩ ∧ ((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ (𝑤𝐵𝑣𝐶))) ↔ (𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))))
113110, 112bitri 263 . . . . . . . . . . 11 (((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ (𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑤𝐵𝑣𝐶))) ↔ (𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))))
1141132exbii 1765 . . . . . . . . . 10 (∃𝑤𝑣((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ (𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑤𝐵𝑣𝐶))) ↔ ∃𝑤𝑣(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))))
115109, 114bitr3i 265 . . . . . . . . 9 (((𝑦 = ⟨𝑧, 𝑢⟩ ∧ 𝑧𝐴) ∧ ∃𝑤𝑣(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑤𝐵𝑣𝐶))) ↔ ∃𝑤𝑣(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))))
116107, 108, 1153bitr3i 289 . . . . . . . 8 ((𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴𝑢 ∈ (𝐵 × 𝐶))) ↔ ∃𝑤𝑣(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))))
117116exbii 1764 . . . . . . 7 (∃𝑢(𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴𝑢 ∈ (𝐵 × 𝐶))) ↔ ∃𝑢𝑤𝑣(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))))
118 exrot3 2032 . . . . . . 7 (∃𝑢𝑤𝑣(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))) ↔ ∃𝑤𝑣𝑢(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))))
119 opeq2 4341 . . . . . . . . . . 11 (𝑢 = ⟨𝑤, 𝑣⟩ → ⟨𝑧, 𝑢⟩ = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩)
120119eqeq2d 2620 . . . . . . . . . 10 (𝑢 = ⟨𝑤, 𝑣⟩ → (𝑦 = ⟨𝑧, 𝑢⟩ ↔ 𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩))
121120anbi1d 737 . . . . . . . . 9 (𝑢 = ⟨𝑤, 𝑣⟩ → ((𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ↔ (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))))
12245, 121ceqsexv 3215 . . . . . . . 8 (∃𝑢(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))) ↔ (𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))))
1231222exbii 1765 . . . . . . 7 (∃𝑤𝑣𝑢(𝑢 = ⟨𝑤, 𝑣⟩ ∧ (𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶)))) ↔ ∃𝑤𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))))
124117, 118, 1233bitri 285 . . . . . 6 (∃𝑢(𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴𝑢 ∈ (𝐵 × 𝐶))) ↔ ∃𝑤𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))))
125124exbii 1764 . . . . 5 (∃𝑧𝑢(𝑦 = ⟨𝑧, 𝑢⟩ ∧ (𝑧𝐴𝑢 ∈ (𝐵 × 𝐶))) ↔ ∃𝑧𝑤𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))))
126105, 125bitri 263 . . . 4 (𝑦 ∈ (𝐴 × (𝐵 × 𝐶)) ↔ ∃𝑧𝑤𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))))
127126anbi1i 727 . . 3 ((𝑦 ∈ (𝐴 × (𝐵 × 𝐶)) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩) ↔ (∃𝑧𝑤𝑣(𝑦 = ⟨𝑧, ⟨𝑤, 𝑣⟩⟩ ∧ (𝑧𝐴 ∧ (𝑤𝐵𝑣𝐶))) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩))
12882, 104, 1273bitr4i 291 . 2 ((𝑥 ∈ ((𝐴 × 𝐵) × 𝐶) ∧ 𝑦 = ⟨ dom { dom {𝑥}}, ⟨ ran { dom {𝑥}}, ran {𝑥}⟩⟩) ↔ (𝑦 ∈ (𝐴 × (𝐵 × 𝐶)) ∧ 𝑥 = ⟨⟨ dom {𝑦}, dom { ran {𝑦}}⟩, ran { ran {𝑦}}⟩))
1295, 7, 9, 11, 128en2i 7879 1 ((𝐴 × 𝐵) × 𝐶) ≈ (𝐴 × (𝐵 × 𝐶))
 Colors of variables: wff setvar class Syntax hints:   ∧ wa 383   = wceq 1475  ∃wex 1695   ∈ wcel 1977  Vcvv 3173  {csn 4125  ⟨cop 4131  ∪ cuni 4372   class class class wbr 4583   × cxp 5036  dom cdm 5038  ran crn 5039   ≈ cen 7838 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847 This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ral 2901  df-rex 2902  df-rab 2905  df-v 3175  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-op 4132  df-uni 4373  df-br 4584  df-opab 4644  df-mpt 4645  df-id 4953  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-en 7842 This theorem is referenced by: (None)
 Copyright terms: Public domain W3C validator