ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  csbxpg GIF version

Theorem csbxpg 4448
Description: Distribute proper substitution through the cross product of two classes. (Contributed by Alan Sare, 10-Nov-2012.)
Assertion
Ref Expression
csbxpg (𝐴𝐷𝐴 / 𝑥(𝐵 × 𝐶) = (𝐴 / 𝑥𝐵 × 𝐴 / 𝑥𝐶))

Proof of Theorem csbxpg
Dummy variables 𝑤 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 csbabg 2934 . . 3 (𝐴𝐷𝐴 / 𝑥{𝑧 ∣ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶))} = {𝑧[𝐴 / 𝑥]𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶))})
2 sbcexg 2839 . . . . 5 (𝐴𝐷 → ([𝐴 / 𝑥]𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶)) ↔ ∃𝑤[𝐴 / 𝑥]𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶))))
3 sbcexg 2839 . . . . . . 7 (𝐴𝐷 → ([𝐴 / 𝑥]𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶)) ↔ ∃𝑦[𝐴 / 𝑥](𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶))))
4 sbcang 2828 . . . . . . . . 9 (𝐴𝐷 → ([𝐴 / 𝑥](𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶)) ↔ ([𝐴 / 𝑥]𝑧 = ⟨𝑤, 𝑦⟩ ∧ [𝐴 / 𝑥](𝑤𝐵𝑦𝐶))))
5 sbcg 2854 . . . . . . . . . 10 (𝐴𝐷 → ([𝐴 / 𝑥]𝑧 = ⟨𝑤, 𝑦⟩ ↔ 𝑧 = ⟨𝑤, 𝑦⟩))
6 sbcang 2828 . . . . . . . . . . 11 (𝐴𝐷 → ([𝐴 / 𝑥](𝑤𝐵𝑦𝐶) ↔ ([𝐴 / 𝑥]𝑤𝐵[𝐴 / 𝑥]𝑦𝐶)))
7 sbcel2g 2898 . . . . . . . . . . . 12 (𝐴𝐷 → ([𝐴 / 𝑥]𝑤𝐵𝑤𝐴 / 𝑥𝐵))
8 sbcel2g 2898 . . . . . . . . . . . 12 (𝐴𝐷 → ([𝐴 / 𝑥]𝑦𝐶𝑦𝐴 / 𝑥𝐶))
97, 8anbi12d 450 . . . . . . . . . . 11 (𝐴𝐷 → (([𝐴 / 𝑥]𝑤𝐵[𝐴 / 𝑥]𝑦𝐶) ↔ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶)))
106, 9bitrd 181 . . . . . . . . . 10 (𝐴𝐷 → ([𝐴 / 𝑥](𝑤𝐵𝑦𝐶) ↔ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶)))
115, 10anbi12d 450 . . . . . . . . 9 (𝐴𝐷 → (([𝐴 / 𝑥]𝑧 = ⟨𝑤, 𝑦⟩ ∧ [𝐴 / 𝑥](𝑤𝐵𝑦𝐶)) ↔ (𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶))))
124, 11bitrd 181 . . . . . . . 8 (𝐴𝐷 → ([𝐴 / 𝑥](𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶)) ↔ (𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶))))
1312exbidv 1722 . . . . . . 7 (𝐴𝐷 → (∃𝑦[𝐴 / 𝑥](𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶)) ↔ ∃𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶))))
143, 13bitrd 181 . . . . . 6 (𝐴𝐷 → ([𝐴 / 𝑥]𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶)) ↔ ∃𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶))))
1514exbidv 1722 . . . . 5 (𝐴𝐷 → (∃𝑤[𝐴 / 𝑥]𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶)) ↔ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶))))
162, 15bitrd 181 . . . 4 (𝐴𝐷 → ([𝐴 / 𝑥]𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶)) ↔ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶))))
1716abbidv 2171 . . 3 (𝐴𝐷 → {𝑧[𝐴 / 𝑥]𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶))} = {𝑧 ∣ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶))})
181, 17eqtrd 2088 . 2 (𝐴𝐷𝐴 / 𝑥{𝑧 ∣ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶))} = {𝑧 ∣ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶))})
19 df-xp 4378 . . . 4 (𝐵 × 𝐶) = {⟨𝑤, 𝑦⟩ ∣ (𝑤𝐵𝑦𝐶)}
20 df-opab 3846 . . . 4 {⟨𝑤, 𝑦⟩ ∣ (𝑤𝐵𝑦𝐶)} = {𝑧 ∣ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶))}
2119, 20eqtri 2076 . . 3 (𝐵 × 𝐶) = {𝑧 ∣ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶))}
2221csbeq2i 2903 . 2 𝐴 / 𝑥(𝐵 × 𝐶) = 𝐴 / 𝑥{𝑧 ∣ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐵𝑦𝐶))}
23 df-xp 4378 . . 3 (𝐴 / 𝑥𝐵 × 𝐴 / 𝑥𝐶) = {⟨𝑤, 𝑦⟩ ∣ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶)}
24 df-opab 3846 . . 3 {⟨𝑤, 𝑦⟩ ∣ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶)} = {𝑧 ∣ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶))}
2523, 24eqtri 2076 . 2 (𝐴 / 𝑥𝐵 × 𝐴 / 𝑥𝐶) = {𝑧 ∣ ∃𝑤𝑦(𝑧 = ⟨𝑤, 𝑦⟩ ∧ (𝑤𝐴 / 𝑥𝐵𝑦𝐴 / 𝑥𝐶))}
2618, 22, 253eqtr4g 2113 1 (𝐴𝐷𝐴 / 𝑥(𝐵 × 𝐶) = (𝐴 / 𝑥𝐵 × 𝐴 / 𝑥𝐶))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 101   = wceq 1259  wex 1397  wcel 1409  {cab 2042  [wsbc 2786  csb 2879  cop 3405  {copab 3844   × cxp 4370
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 103  ax-ia2 104  ax-ia3 105  ax-io 640  ax-5 1352  ax-7 1353  ax-gen 1354  ax-ie1 1398  ax-ie2 1399  ax-8 1411  ax-10 1412  ax-11 1413  ax-i12 1414  ax-bndl 1415  ax-4 1416  ax-17 1435  ax-i9 1439  ax-ial 1443  ax-i5r 1444  ax-ext 2038
This theorem depends on definitions:  df-bi 114  df-tru 1262  df-nf 1366  df-sb 1662  df-clab 2043  df-cleq 2049  df-clel 2052  df-nfc 2183  df-v 2576  df-sbc 2787  df-csb 2880  df-opab 3846  df-xp 4378
This theorem is referenced by:  csbresg  4642
  Copyright terms: Public domain W3C validator