Users' Mathboxes Mathbox for Alan Sare < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  csbingVD Structured version   Visualization version   GIF version

Theorem csbingVD 42393
Description: Virtual deduction proof of csbin 4370. The following User's Proof is a Virtual Deduction proof completed automatically by the tools program completeusersproof.cmd, which invokes Mel L. O'Cat's mmj2 and Norm Megill's Metamath Proof Assistant. csbin 4370 is csbingVD 42393 without virtual deductions and was automatically derived from csbingVD 42393.
1:: (   𝐴𝐵   ▶   𝐴𝐵   )
2:: (𝐶𝐷) = {𝑦 ∣ (𝑦𝐶𝑦𝐷) }
20:2: 𝑥(𝐶𝐷) = {𝑦 ∣ (𝑦𝐶𝑦 𝐷)}
30:1,20: (   𝐴𝐵   ▶   [𝐴 / 𝑥](𝐶𝐷) = {𝑦 ∣ (𝑦𝐶𝑦𝐷)}   )
3:1,30: (   𝐴𝐵   ▶   𝐴 / 𝑥(𝐶𝐷) = 𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)}   )
4:1: (   𝐴𝐵   ▶   𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶 𝑦𝐷)} = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)}   )
5:3,4: (   𝐴𝐵   ▶   𝐴 / 𝑥(𝐶𝐷) = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)}   )
6:1: (   𝐴𝐵   ▶   ([𝐴 / 𝑥]𝑦𝐶𝑦 𝐴 / 𝑥𝐶)   )
7:1: (   𝐴𝐵   ▶   ([𝐴 / 𝑥]𝑦𝐷𝑦 𝐴 / 𝑥𝐷)   )
8:6,7: (   𝐴𝐵   ▶   (([𝐴 / 𝑥]𝑦𝐶 [𝐴 / 𝑥]𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷 ))   )
9:1: (   𝐴𝐵   ▶   ([𝐴 / 𝑥](𝑦𝐶 𝑦𝐷) ↔ ([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷))   )
10:9,8: (   𝐴𝐵   ▶   ([𝐴 / 𝑥](𝑦𝐶 𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷))   )
11:10: (   𝐴𝐵   ▶   𝑦([𝐴 / 𝑥](𝑦 𝐶𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷))   )
12:11: (   𝐴𝐵   ▶   {𝑦[𝐴 / 𝑥](𝑦𝐶 𝑦𝐷)} = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)}   )
13:5,12: (   𝐴𝐵   ▶   𝐴 / 𝑥(𝐶𝐷) = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)}   )
14:: (𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷) = { 𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)}
15:13,14: (   𝐴𝐵   ▶   𝐴 / 𝑥(𝐶𝐷) = (𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷)   )
qed:15: (𝐴𝐵𝐴 / 𝑥(𝐶𝐷) = ( 𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷))
(Contributed by Alan Sare, 22-Jul-2012.) (Proof modification is discouraged.) (New usage is discouraged.)
Assertion
Ref Expression
csbingVD (𝐴𝐵𝐴 / 𝑥(𝐶𝐷) = (𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷))

Proof of Theorem csbingVD
Dummy variable 𝑦 is distinct from all other variables.
StepHypRef Expression
1 idn1 42083 . . . . . 6 (   𝐴𝐵   ▶   𝐴𝐵   )
2 df-in 3890 . . . . . . . 8 (𝐶𝐷) = {𝑦 ∣ (𝑦𝐶𝑦𝐷)}
32ax-gen 1799 . . . . . . 7 𝑥(𝐶𝐷) = {𝑦 ∣ (𝑦𝐶𝑦𝐷)}
4 spsbc 3724 . . . . . . 7 (𝐴𝐵 → (∀𝑥(𝐶𝐷) = {𝑦 ∣ (𝑦𝐶𝑦𝐷)} → [𝐴 / 𝑥](𝐶𝐷) = {𝑦 ∣ (𝑦𝐶𝑦𝐷)}))
51, 3, 4e10 42203 . . . . . 6 (   𝐴𝐵   ▶   [𝐴 / 𝑥](𝐶𝐷) = {𝑦 ∣ (𝑦𝐶𝑦𝐷)}   )
6 sbceqg 4340 . . . . . . 7 (𝐴𝐵 → ([𝐴 / 𝑥](𝐶𝐷) = {𝑦 ∣ (𝑦𝐶𝑦𝐷)} ↔ 𝐴 / 𝑥(𝐶𝐷) = 𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)}))
76biimpd 228 . . . . . 6 (𝐴𝐵 → ([𝐴 / 𝑥](𝐶𝐷) = {𝑦 ∣ (𝑦𝐶𝑦𝐷)} → 𝐴 / 𝑥(𝐶𝐷) = 𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)}))
81, 5, 7e11 42197 . . . . 5 (   𝐴𝐵   ▶   𝐴 / 𝑥(𝐶𝐷) = 𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)}   )
9 csbab 4368 . . . . . . 7 𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)} = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)}
109a1i 11 . . . . . 6 (𝐴𝐵𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)} = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)})
111, 10e1a 42136 . . . . 5 (   𝐴𝐵   ▶   𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)} = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)}   )
12 eqeq1 2742 . . . . . 6 (𝐴 / 𝑥(𝐶𝐷) = 𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)} → (𝐴 / 𝑥(𝐶𝐷) = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)} ↔ 𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)} = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)}))
1312biimprd 247 . . . . 5 (𝐴 / 𝑥(𝐶𝐷) = 𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)} → (𝐴 / 𝑥{𝑦 ∣ (𝑦𝐶𝑦𝐷)} = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)} → 𝐴 / 𝑥(𝐶𝐷) = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)}))
148, 11, 13e11 42197 . . . 4 (   𝐴𝐵   ▶   𝐴 / 𝑥(𝐶𝐷) = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)}   )
15 sbcan 3763 . . . . . . . . 9 ([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ ([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷))
1615a1i 11 . . . . . . . 8 (𝐴𝐵 → ([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ ([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷)))
171, 16e1a 42136 . . . . . . 7 (   𝐴𝐵   ▶   ([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ ([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷))   )
18 sbcel2 4346 . . . . . . . . . 10 ([𝐴 / 𝑥]𝑦𝐶𝑦𝐴 / 𝑥𝐶)
1918a1i 11 . . . . . . . . 9 (𝐴𝐵 → ([𝐴 / 𝑥]𝑦𝐶𝑦𝐴 / 𝑥𝐶))
201, 19e1a 42136 . . . . . . . 8 (   𝐴𝐵   ▶   ([𝐴 / 𝑥]𝑦𝐶𝑦𝐴 / 𝑥𝐶)   )
21 sbcel2 4346 . . . . . . . . . 10 ([𝐴 / 𝑥]𝑦𝐷𝑦𝐴 / 𝑥𝐷)
2221a1i 11 . . . . . . . . 9 (𝐴𝐵 → ([𝐴 / 𝑥]𝑦𝐷𝑦𝐴 / 𝑥𝐷))
231, 22e1a 42136 . . . . . . . 8 (   𝐴𝐵   ▶   ([𝐴 / 𝑥]𝑦𝐷𝑦𝐴 / 𝑥𝐷)   )
24 pm4.38 634 . . . . . . . . 9 ((([𝐴 / 𝑥]𝑦𝐶𝑦𝐴 / 𝑥𝐶) ∧ ([𝐴 / 𝑥]𝑦𝐷𝑦𝐴 / 𝑥𝐷)) → (([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)))
2524ex 412 . . . . . . . 8 (([𝐴 / 𝑥]𝑦𝐶𝑦𝐴 / 𝑥𝐶) → (([𝐴 / 𝑥]𝑦𝐷𝑦𝐴 / 𝑥𝐷) → (([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷))))
2620, 23, 25e11 42197 . . . . . . 7 (   𝐴𝐵   ▶   (([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷))   )
27 bibi1 351 . . . . . . . 8 (([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ ([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷)) → (([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)) ↔ (([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷))))
2827biimprd 247 . . . . . . 7 (([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ ([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷)) → ((([𝐴 / 𝑥]𝑦𝐶[𝐴 / 𝑥]𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)) → ([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷))))
2917, 26, 28e11 42197 . . . . . 6 (   𝐴𝐵   ▶   ([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷))   )
3029gen11 42125 . . . . 5 (   𝐴𝐵   ▶   𝑦([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷))   )
31 abbi 2811 . . . . . 6 (∀𝑦([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)) ↔ {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)} = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)})
3231biimpi 215 . . . . 5 (∀𝑦([𝐴 / 𝑥](𝑦𝐶𝑦𝐷) ↔ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)) → {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)} = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)})
3330, 32e1a 42136 . . . 4 (   𝐴𝐵   ▶   {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)} = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)}   )
34 eqeq1 2742 . . . . 5 (𝐴 / 𝑥(𝐶𝐷) = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)} → (𝐴 / 𝑥(𝐶𝐷) = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)} ↔ {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)} = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)}))
3534biimprd 247 . . . 4 (𝐴 / 𝑥(𝐶𝐷) = {𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)} → ({𝑦[𝐴 / 𝑥](𝑦𝐶𝑦𝐷)} = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)} → 𝐴 / 𝑥(𝐶𝐷) = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)}))
3614, 33, 35e11 42197 . . 3 (   𝐴𝐵   ▶   𝐴 / 𝑥(𝐶𝐷) = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)}   )
37 df-in 3890 . . 3 (𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷) = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)}
38 eqeq2 2750 . . . 4 ((𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷) = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)} → (𝐴 / 𝑥(𝐶𝐷) = (𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷) ↔ 𝐴 / 𝑥(𝐶𝐷) = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)}))
3938biimprcd 249 . . 3 (𝐴 / 𝑥(𝐶𝐷) = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)} → ((𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷) = {𝑦 ∣ (𝑦𝐴 / 𝑥𝐶𝑦𝐴 / 𝑥𝐷)} → 𝐴 / 𝑥(𝐶𝐷) = (𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷)))
4036, 37, 39e10 42203 . 2 (   𝐴𝐵   ▶   𝐴 / 𝑥(𝐶𝐷) = (𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷)   )
4140in1 42080 1 (𝐴𝐵𝐴 / 𝑥(𝐶𝐷) = (𝐴 / 𝑥𝐶𝐴 / 𝑥𝐷))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 395  wal 1537   = wceq 1539  wcel 2108  {cab 2715  [wsbc 3711  csb 3828  cin 3882
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1799  ax-4 1813  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2110  ax-9 2118  ax-10 2139  ax-11 2156  ax-12 2173  ax-ext 2709
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 844  df-tru 1542  df-fal 1552  df-ex 1784  df-nf 1788  df-sb 2069  df-clab 2716  df-cleq 2730  df-clel 2817  df-nfc 2888  df-v 3424  df-sbc 3712  df-csb 3829  df-dif 3886  df-in 3890  df-nul 4254  df-vd1 42079
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator