HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
GIF version

Theorem xpassen 3344
Description: Associative law for equinumerosity of cross product. Proposition 4.22(e) of [Mendelson] p. 254.
Hypotheses
Ref Expression
xpassen.1 AV
xpassen.2 BV
xpassen.3 CV
Assertion
Ref Expression
xpassen ((A × B) × C) ≈ (A × (B × C))

Proof of Theorem xpassen
StepHypRef Expression
1 xpassen.1 . . . 4 AV
2 xpassen.2 . . . 4 BV
31, 2xpex 2488 . . 3 (A × B) ∈ V
4 xpassen.3 . . 3 CV
53, 4xpex 2488 . 2 ((A × B) × C) ∈ V
6 opex 1893 . . 3 dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩ ∈ V
76a1i 7 . 2 (x ∈ ((A × B) × C) → ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩ ∈ V)
8 opex 1893 . . 3 ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩ ∈ V
98a1i 7 . 2 (y ∈ (A × (B × C)) → ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩ ∈ V)
10 opeq12 1878 . . . . . . . . . . 11 ((z = dom {dom {x}} ∧ ⟨w, v⟩ = ⟨ran {dom {x}}, ran {x}⟩) → ⟨z, ⟨w, v⟩⟩ = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩)
11 sneq 1816 . . . . . . . . . . . . . . . . 17 (x = ⟨⟨z, w⟩, v⟩ → {x} = {⟨⟨z, w⟩, v⟩})
1211dmeqd 2533 . . . . . . . . . . . . . . . 16 (x = ⟨⟨z, w⟩, v⟩ → dom {x} = dom {⟨⟨z, w⟩, v⟩})
1312unieqd 1929 . . . . . . . . . . . . . . 15 (x = ⟨⟨z, w⟩, v⟩ → dom {x} = dom {⟨⟨z, w⟩, v⟩})
1413sneqd 1818 . . . . . . . . . . . . . 14 (x = ⟨⟨z, w⟩, v⟩ → {dom {x}} = {dom {⟨⟨z, w⟩, v⟩}})
1514dmeqd 2533 . . . . . . . . . . . . 13 (x = ⟨⟨z, w⟩, v⟩ → dom {dom {x}} = dom {dom {⟨⟨z, w⟩, v⟩}})
1615unieqd 1929 . . . . . . . . . . . 12 (x = ⟨⟨z, w⟩, v⟩ → dom {dom {x}} = dom {dom {⟨⟨z, w⟩, v⟩}})
17 opex 1893 . . . . . . . . . . . . . . . . 17 z, w⟩ ∈ V
1817op1sta 2635 . . . . . . . . . . . . . . . 16 dom {⟨⟨z, w⟩, v⟩} = ⟨z, w
1918sneqi 1817 . . . . . . . . . . . . . . 15 {dom {⟨⟨z, w⟩, v⟩}} = {⟨z, w⟩}
2019dmeqi 2532 . . . . . . . . . . . . . 14 dom {dom {⟨⟨z, w⟩, v⟩}} = dom {⟨z, w⟩}
2120unieqi 1928 . . . . . . . . . . . . 13 dom {dom {⟨⟨z, w⟩, v⟩}} = dom {⟨z, w⟩}
22 visset 1350 . . . . . . . . . . . . . 14 zV
2322op1sta 2635 . . . . . . . . . . . . 13 dom {⟨z, w⟩} = z
2421, 23eqtr 1119 . . . . . . . . . . . 12 dom {dom {⟨⟨z, w⟩, v⟩}} = z
2516, 24syl6req 1141 . . . . . . . . . . 11 (x = ⟨⟨z, w⟩, v⟩ → z = dom {dom {x}})
26 opeq12 1878 . . . . . . . . . . . 12 ((w = ran {dom {x}} ∧ v = ran {x}) → ⟨w, v⟩ = ⟨ran {dom {x}}, ran {x}⟩)
2714rneqd 2557 . . . . . . . . . . . . . 14 (x = ⟨⟨z, w⟩, v⟩ → ran {dom {x}} = ran {dom {⟨⟨z, w⟩, v⟩}})
2827unieqd 1929 . . . . . . . . . . . . 13 (x = ⟨⟨z, w⟩, v⟩ → ran {dom {x}} = ran {dom {⟨⟨z, w⟩, v⟩}})
2919rneqi 2556 . . . . . . . . . . . . . . 15 ran {dom {⟨⟨z, w⟩, v⟩}} = ran {⟨z, w⟩}
3029unieqi 1928 . . . . . . . . . . . . . 14 ran {dom {⟨⟨z, w⟩, v⟩}} = ran {⟨z, w⟩}
31 visset 1350 . . . . . . . . . . . . . . 15 wV
3222, 31op2nda 2639 . . . . . . . . . . . . . 14 ran {⟨z, w⟩} = w
3330, 32eqtr 1119 . . . . . . . . . . . . 13 ran {dom {⟨⟨z, w⟩, v⟩}} = w
3428, 33syl6req 1141 . . . . . . . . . . . 12 (x = ⟨⟨z, w⟩, v⟩ → w = ran {dom {x}})
3511rneqd 2557 . . . . . . . . . . . . . 14 (x = ⟨⟨z, w⟩, v⟩ → ran {x} = ran {⟨⟨z, w⟩, v⟩})
3635unieqd 1929 . . . . . . . . . . . . 13 (x = ⟨⟨z, w⟩, v⟩ → ran {x} = ran {⟨⟨z, w⟩, v⟩})
37 visset 1350 . . . . . . . . . . . . . 14 vV
3817, 37op2nda 2639 . . . . . . . . . . . . 13 ran {⟨⟨z, w⟩, v⟩} = v
3936, 38syl6req 1141 . . . . . . . . . . . 12 (x = ⟨⟨z, w⟩, v⟩ → v = ran {x})
4026, 34, 39sylanc 361 . . . . . . . . . . 11 (x = ⟨⟨z, w⟩, v⟩ → ⟨w, v⟩ = ⟨ran {dom {x}}, ran {x}⟩)
4110, 25, 40sylanc 361 . . . . . . . . . 10 (x = ⟨⟨z, w⟩, v⟩ → ⟨z, ⟨w, v⟩⟩ = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩)
42 opeq12 1878 . . . . . . . . . . 11 ((⟨z, w⟩ = ⟨dom {y}, dom {ran {y}}⟩ ∧ v = ran {ran {y}}) → ⟨⟨z, w⟩, v⟩ = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩)
43 opeq12 1878 . . . . . . . . . . . 12 ((z = dom {y} ∧ w = dom {ran {y}}) → ⟨z, w⟩ = ⟨dom {y}, dom {ran {y}}⟩)
44 sneq 1816 . . . . . . . . . . . . . . 15 (y = ⟨z, ⟨w, v⟩⟩ → {y} = {⟨z, ⟨w, v⟩⟩})
4544dmeqd 2533 . . . . . . . . . . . . . 14 (y = ⟨z, ⟨w, v⟩⟩ → dom {y} = dom {⟨z, ⟨w, v⟩⟩})
4645unieqd 1929 . . . . . . . . . . . . 13 (y = ⟨z, ⟨w, v⟩⟩ → dom {y} = dom {⟨z, ⟨w, v⟩⟩})
4722op1sta 2635 . . . . . . . . . . . . 13 dom {⟨z, ⟨w, v⟩⟩} = z
4846, 47syl6req 1141 . . . . . . . . . . . 12 (y = ⟨z, ⟨w, v⟩⟩ → z = dom {y})
4944rneqd 2557 . . . . . . . . . . . . . . . . 17 (y = ⟨z, ⟨w, v⟩⟩ → ran {y} = ran {⟨z, ⟨w, v⟩⟩})
5049unieqd 1929 . . . . . . . . . . . . . . . 16 (y = ⟨z, ⟨w, v⟩⟩ → ran {y} = ran {⟨z, ⟨w, v⟩⟩})
5150sneqd 1818 . . . . . . . . . . . . . . 15 (y = ⟨z, ⟨w, v⟩⟩ → {ran {y}} = {ran {⟨z, ⟨w, v⟩⟩}})
5251dmeqd 2533 . . . . . . . . . . . . . 14 (y = ⟨z, ⟨w, v⟩⟩ → dom {ran {y}} = dom {ran {⟨z, ⟨w, v⟩⟩}})
5352unieqd 1929 . . . . . . . . . . . . 13 (y = ⟨z, ⟨w, v⟩⟩ → dom {ran {y}} = dom {ran {⟨z, ⟨w, v⟩⟩}})
54 opex 1893 . . . . . . . . . . . . . . . . . 18 w, v⟩ ∈ V
5522, 54op2nda 2639 . . . . . . . . . . . . . . . . 17 ran {⟨z, ⟨w, v⟩⟩} = ⟨w, v
5655sneqi 1817 . . . . . . . . . . . . . . . 16 {ran {⟨z, ⟨w, v⟩⟩}} = {⟨w, v⟩}
5756dmeqi 2532 . . . . . . . . . . . . . . 15 dom {ran {⟨z, ⟨w, v⟩⟩}} = dom {⟨w, v⟩}
5857unieqi 1928 . . . . . . . . . . . . . 14 dom {ran {⟨z, ⟨w, v⟩⟩}} = dom {⟨w, v⟩}
5931op1sta 2635 . . . . . . . . . . . . . 14 dom {⟨w, v⟩} = w
6058, 59eqtr 1119 . . . . . . . . . . . . 13 dom {ran {⟨z, ⟨w, v⟩⟩}} = w
6153, 60syl6req 1141 . . . . . . . . . . . 12 (y = ⟨z, ⟨w, v⟩⟩ → w = dom {ran {y}})
6243, 48, 61sylanc 361 . . . . . . . . . . 11 (y = ⟨z, ⟨w, v⟩⟩ → ⟨z, w⟩ = ⟨dom {y}, dom {ran {y}}⟩)
6351rneqd 2557 . . . . . . . . . . . . 13 (y = ⟨z, ⟨w, v⟩⟩ → ran {ran {y}} = ran {ran {⟨z, ⟨w, v⟩⟩}})
6463unieqd 1929 . . . . . . . . . . . 12 (y = ⟨z, ⟨w, v⟩⟩ → ran {ran {y}} = ran {ran {⟨z, ⟨w, v⟩⟩}})
6556rneqi 2556 . . . . . . . . . . . . . 14 ran {ran {⟨z, ⟨w, v⟩⟩}} = ran {⟨w, v⟩}
6665unieqi 1928 . . . . . . . . . . . . 13 ran {ran {⟨z, ⟨w, v⟩⟩}} = ran {⟨w, v⟩}
6731, 37op2nda 2639 . . . . . . . . . . . . 13 ran {⟨w, v⟩} = v
6866, 67eqtr 1119 . . . . . . . . . . . 12 ran {ran {⟨z, ⟨w, v⟩⟩}} = v
6964, 68syl6req 1141 . . . . . . . . . . 11 (y = ⟨z, ⟨w, v⟩⟩ → v = ran {ran {y}})
7042, 62, 69sylanc 361 . . . . . . . . . 10 (y = ⟨z, ⟨w, v⟩⟩ → ⟨⟨z, w⟩, v⟩ = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩)
7141, 70cleq2tr 1148 . . . . . . . . 9 ((x = ⟨⟨z, w⟩, v⟩ ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ (y = ⟨z, ⟨w, v⟩⟩ ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩))
72 anass 336 . . . . . . . . 9 (((zAwB) ∧ vC) ↔ (zA ∧ (wBvC)))
7371, 72anbi12i 369 . . . . . . . 8 (((x = ⟨⟨z, w⟩, v⟩ ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ∧ ((zAwB) ∧ vC)) ↔ ((y = ⟨z, ⟨w, v⟩⟩ ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩) ∧ (zA ∧ (wBvC))))
74 an23 371 . . . . . . . 8 (((x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ ((x = ⟨⟨z, w⟩, v⟩ ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ∧ ((zAwB) ∧ vC)))
75 an23 371 . . . . . . . 8 (((y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩) ↔ ((y = ⟨z, ⟨w, v⟩⟩ ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩) ∧ (zA ∧ (wBvC))))
7673, 74, 753bitr4 158 . . . . . . 7 (((x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ ((y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩))
7776biex 733 . . . . . 6 (∃v((x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ ∃v((y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩))
78 19.41v 963 . . . . . 6 (∃v((x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ (∃v(x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩))
79 19.41v 963 . . . . . 6 (∃v((y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩) ↔ (∃v(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩))
8077, 78, 793bitr3 156 . . . . 5 ((∃v(x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ (∃v(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩))
8180bi2ex 734 . . . 4 (∃zw(∃v(x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ ∃zw(∃v(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩))
82 19.41vv 964 . . . 4 (∃zw(∃v(x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ (∃zwv(x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩))
83 19.41vv 964 . . . 4 (∃zw(∃v(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩) ↔ (∃zwv(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩))
8481, 82, 833bitr3 156 . . 3 ((∃zwv(x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ (∃zwv(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩))
85 elxp 2442 . . . . 5 (x ∈ ((A × B) × C) ↔ ∃uv(x = ⟨u, v⟩ ∧ (u ∈ (A × B) ∧ vC)))
86 excom 728 . . . . 5 (∃uv(x = ⟨u, v⟩ ∧ (u ∈ (A × B) ∧ vC)) ↔ ∃vu(x = ⟨u, v⟩ ∧ (u ∈ (A × B) ∧ vC)))
87 elxp 2442 . . . . . . . . 9 (u ∈ (A × B) ↔ ∃zw(u = ⟨z, w⟩ ∧ (zAwB)))
8887anbi1i 368 . . . . . . . 8 ((u ∈ (A × B) ∧ (x = ⟨u, v⟩ ∧ vC)) ↔ (∃zw(u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)))
89 an12 370 . . . . . . . 8 ((x = ⟨u, v⟩ ∧ (u ∈ (A × B) ∧ vC)) ↔ (u ∈ (A × B) ∧ (x = ⟨u, v⟩ ∧ vC)))
90 19.41vv 964 . . . . . . . 8 (∃zw((u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)) ↔ (∃zw(u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)))
9188, 89, 903bitr4 158 . . . . . . 7 ((x = ⟨u, v⟩ ∧ (u ∈ (A × B) ∧ vC)) ↔ ∃zw((u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)))
9291bi2ex 734 . . . . . 6 (∃vu(x = ⟨u, v⟩ ∧ (u ∈ (A × B) ∧ vC)) ↔ ∃vuzw((u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)))
93 exrot4 778 . . . . . 6 (∃vuzw((u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)) ↔ ∃zwvu((u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)))
94 anass 336 . . . . . . . . 9 (((u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)) ↔ (u = ⟨z, w⟩ ∧ ((zAwB) ∧ (x = ⟨u, v⟩ ∧ vC))))
9594biex 733 . . . . . . . 8 (∃u((u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)) ↔ ∃u(u = ⟨z, w⟩ ∧ ((zAwB) ∧ (x = ⟨u, v⟩ ∧ vC))))
96 opeq1 1876 . . . . . . . . . . . 12 (u = ⟨z, w⟩ → ⟨u, v⟩ = ⟨⟨z, w⟩, v⟩)
9796cleq2d 1112 . . . . . . . . . . 11 (u = ⟨z, w⟩ → (x = ⟨u, v⟩ ↔ x = ⟨⟨z, w⟩, v⟩))
9897anbi1d 469 . . . . . . . . . 10 (u = ⟨z, w⟩ → ((x = ⟨u, v⟩ ∧ vC) ↔ (x = ⟨⟨z, w⟩, v⟩ ∧ vC)))
9998anbi2d 468 . . . . . . . . 9 (u = ⟨z, w⟩ → (((zAwB) ∧ (x = ⟨u, v⟩ ∧ vC)) ↔ ((zAwB) ∧ (x = ⟨⟨z, w⟩, v⟩ ∧ vC))))
10017, 99ceqsexv 1371 . . . . . . . 8 (∃u(u = ⟨z, w⟩ ∧ ((zAwB) ∧ (x = ⟨u, v⟩ ∧ vC))) ↔ ((zAwB) ∧ (x = ⟨⟨z, w⟩, v⟩ ∧ vC)))
101 an12 370 . . . . . . . 8 (((zAwB) ∧ (x = ⟨⟨z, w⟩, v⟩ ∧ vC)) ↔ (x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)))
10295, 100, 1013bitr 155 . . . . . . 7 (∃u((u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)) ↔ (x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)))
103102bi3ex 735 . . . . . 6 (∃zwvu((u = ⟨z, w⟩ ∧ (zAwB)) ∧ (x = ⟨u, v⟩ ∧ vC)) ↔ ∃zwv(x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)))
10492, 93, 1033bitr 155 . . . . 5 (∃vu(x = ⟨u, v⟩ ∧ (u ∈ (A × B) ∧ vC)) ↔ ∃zwv(x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)))
10585, 86, 1043bitr 155 . . . 4 (x ∈ ((A × B) × C) ↔ ∃zwv(x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)))
106105anbi1i 368 . . 3 ((x ∈ ((A × B) × C) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ (∃zwv(x = ⟨⟨z, w⟩, v⟩ ∧ ((zAwB) ∧ vC)) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩))
107 elxp 2442 . . . . 5 (y ∈ (A × (B × C)) ↔ ∃zu(y = ⟨z, u⟩ ∧ (zAu ∈ (B × C))))
108 elxp 2442 . . . . . . . . . 10 (u ∈ (B × C) ↔ ∃wv(u = ⟨w, v⟩ ∧ (wBvC)))
109108anbi2i 367 . . . . . . . . 9 (((y = ⟨z, u⟩ ∧ zA) ∧ u ∈ (B × C)) ↔ ((y = ⟨z, u⟩ ∧ zA) ∧ ∃wv(u = ⟨w, v⟩ ∧ (wBvC))))
110 anass 336 . . . . . . . . 9 (((y = ⟨z, u⟩ ∧ zA) ∧ u ∈ (B × C)) ↔ (y = ⟨z, u⟩ ∧ (zAu ∈ (B × C))))
111 19.42vv 968 . . . . . . . . . 10 (∃wv((y = ⟨z, u⟩ ∧ zA) ∧ (u = ⟨w, v⟩ ∧ (wBvC))) ↔ ((y = ⟨z, u⟩ ∧ zA) ∧ ∃wv(u = ⟨w, v⟩ ∧ (wBvC))))
112 an12 370 . . . . . . . . . . . 12 (((y = ⟨z, u⟩ ∧ zA) ∧ (u = ⟨w, v⟩ ∧ (wBvC))) ↔ (u = ⟨w, v⟩ ∧ ((y = ⟨z, u⟩ ∧ zA) ∧ (wBvC))))
113 anass 336 . . . . . . . . . . . . 13 (((y = ⟨z, u⟩ ∧ zA) ∧ (wBvC)) ↔ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC))))
114113anbi2i 367 . . . . . . . . . . . 12 ((u = ⟨w, v⟩ ∧ ((y = ⟨z, u⟩ ∧ zA) ∧ (wBvC))) ↔ (u = ⟨w, v⟩ ∧ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC)))))
115112, 114bitr 151 . . . . . . . . . . 11 (((y = ⟨z, u⟩ ∧ zA) ∧ (u = ⟨w, v⟩ ∧ (wBvC))) ↔ (u = ⟨w, v⟩ ∧ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC)))))
116115bi2ex 734 . . . . . . . . . 10 (∃wv((y = ⟨z, u⟩ ∧ zA) ∧ (u = ⟨w, v⟩ ∧ (wBvC))) ↔ ∃wv(u = ⟨w, v⟩ ∧ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC)))))
117111, 116bitr3 153 . . . . . . . . 9 (((y = ⟨z, u⟩ ∧ zA) ∧ ∃wv(u = ⟨w, v⟩ ∧ (wBvC))) ↔ ∃wv(u = ⟨w, v⟩ ∧ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC)))))
118109, 110, 1173bitr3 156 . . . . . . . 8 ((y = ⟨z, u⟩ ∧ (zAu ∈ (B × C))) ↔ ∃wv(u = ⟨w, v⟩ ∧ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC)))))
119118biex 733 . . . . . . 7 (∃u(y = ⟨z, u⟩ ∧ (zAu ∈ (B × C))) ↔ ∃uwv(u = ⟨w, v⟩ ∧ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC)))))
120 exrot3 777 . . . . . . 7 (∃uwv(u = ⟨w, v⟩ ∧ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC)))) ↔ ∃wvu(u = ⟨w, v⟩ ∧ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC)))))
121 opeq2 1877 . . . . . . . . . . 11 (u = ⟨w, v⟩ → ⟨z, u⟩ = ⟨z, ⟨w, v⟩⟩)
122121cleq2d 1112 . . . . . . . . . 10 (u = ⟨w, v⟩ → (y = ⟨z, u⟩ ↔ y = ⟨z, ⟨w, v⟩⟩))
123122anbi1d 469 . . . . . . . . 9 (u = ⟨w, v⟩ → ((y = ⟨z, u⟩ ∧ (zA ∧ (wBvC))) ↔ (y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC)))))
12454, 123ceqsexv 1371 . . . . . . . 8 (∃u(u = ⟨w, v⟩ ∧ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC)))) ↔ (y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))))
125124bi2ex 734 . . . . . . 7 (∃wvu(u = ⟨w, v⟩ ∧ (y = ⟨z, u⟩ ∧ (zA ∧ (wBvC)))) ↔ ∃wv(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))))
126119, 120, 1253bitr 155 . . . . . 6 (∃u(y = ⟨z, u⟩ ∧ (zAu ∈ (B × C))) ↔ ∃wv(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))))
127126biex 733 . . . . 5 (∃zu(y = ⟨z, u⟩ ∧ (zAu ∈ (B × C))) ↔ ∃zwv(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))))
128107, 127bitr 151 . . . 4 (y ∈ (A × (B × C)) ↔ ∃zwv(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))))
129128anbi1i 368 . . 3 ((y ∈ (A × (B × C)) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩) ↔ (∃zwv(y = ⟨z, ⟨w, v⟩⟩ ∧ (zA ∧ (wBvC))) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩))
13084, 106, 1293bitr4 158 . 2 ((x ∈ ((A × B) × C) ∧ y = ⟨dom {dom {x}}, ⟨ran {dom {x}}, ran {x}⟩⟩) ↔ (y ∈ (A × (B × C)) ∧ x = ⟨⟨dom {y}, dom {ran {y}}⟩, ran {ran {y}}⟩))
1315, 7, 9, 130en2 3305 1 ((A × B) × C) ≈ (A × (B × C))
Colors of variables: wff set class
Syntax hints:   ∧ wa 196  ∃wex 678   = wceq 1091   ∈ wcel 1092  Vcvv 1348  {csn 1808  ⟨cop 1810  cuni 1919   class class class wbr 2054   × cxp 2408  dom cdm 2410  ran crn 2411   ≈ cen 3271
This theorem is referenced by:  cdaassen 3725  xpcdaen 3726
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-11 801  ax-12 802  ax-13 804  ax-14 805  ax-16 922  ax-17 925  ax-ext 1074  ax-rep 1075  ax-un 1076  ax-pow 1077
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-3an 583  df-ex 679  df-sb 853  df-eu 1009  df-mo 1010  df-clab 1093  df-cleq 1097  df-clel 1099  df-ral 1205  df-rex 1206  df-v 1349  df-dif 1489  df-un 1490  df-in 1491  df-ss 1492  df-nul 1708  df-pw 1799  df-sn 1811  df-pr 1812  df-op 1815  df-uni 1920  df-br 2063  df-opab 2098  df-id 2125  df-xp 2424  df-rel 2425  df-cnv 2426  df-co 2427  df-dm 2428  df-rn 2429  df-res 2430  df-im