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

Theorem csbunigVD 45342
Description: Virtual deduction proof of csbuni 4881. 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. csbuni 4881 is csbunigVD 45342 without virtual deductions and was automatically derived from csbunigVD 45342.
1:: (   𝐴𝑉   ▶   𝐴𝑉   )
2:1: (   𝐴𝑉   ▶   ([𝐴 / 𝑥]𝑧𝑦𝑧 𝑦)   )
3:1: (   𝐴𝑉   ▶   ([𝐴 / 𝑥]𝑦𝐵𝑦 𝐴 / 𝑥𝐵)   )
4:2,3: (   𝐴𝑉   ▶   (([𝐴 / 𝑥]𝑧𝑦 [𝐴 / 𝑥]𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
5:1: (   𝐴𝑉   ▶   ([𝐴 / 𝑥](𝑧𝑦 𝑦𝐵) ↔ ([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵))   )
6:4,5: (   𝐴𝑉   ▶   ([𝐴 / 𝑥](𝑧𝑦 𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
7:6: (   𝐴𝑉   ▶   𝑦([𝐴 / 𝑥](𝑧 𝑦𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
8:7: (   𝐴𝑉   ▶   (∃𝑦[𝐴 / 𝑥](𝑧 𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
9:1: (   𝐴𝑉   ▶   ([𝐴 / 𝑥]𝑦(𝑧 𝑦𝑦𝐵) ↔ ∃𝑦[𝐴 / 𝑥](𝑧𝑦𝑦𝐵))   )
10:8,9: (   𝐴𝑉   ▶   ([𝐴 / 𝑥]𝑦(𝑧 𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
11:10: (   𝐴𝑉   ▶   𝑧([𝐴 / 𝑥]𝑦( 𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
12:11: (   𝐴𝑉   ▶   {𝑧[𝐴 / 𝑥]𝑦( 𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦 𝑦𝐴 / 𝑥𝐵)}   )
13:1: (   𝐴𝑉   ▶   𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧 𝑦𝑦𝐵)} = {𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)}    )
14:12,13: (   𝐴𝑉   ▶   𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧 𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦 𝑦𝐴 / 𝑥𝐵)}   )
15:: 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)}
16:15: 𝑥 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦 𝐵)}
17:1,16: (   𝐴𝑉   ▶   [𝐴 / 𝑥] 𝐵 = {𝑧 𝑦(𝑧𝑦𝑦𝐵)}   )
18:1,17: (   𝐴𝑉   ▶   𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)}   )
19:14,18: (   𝐴𝑉   ▶   𝐴 / 𝑥 𝐵 = {𝑧 𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)}   )
20:: 𝐴 / 𝑥𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦 𝑦𝐴 / 𝑥𝐵)}
21:19,20: (   𝐴𝑉   ▶   𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥𝐵   )
qed:21: (𝐴𝑉𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥𝐵)
(Contributed by Alan Sare, 10-Nov-2012.) (Proof modification is discouraged.) (New usage is discouraged.)
Assertion
Ref Expression
csbunigVD (𝐴𝑉𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥𝐵)

Proof of Theorem csbunigVD
Dummy variables 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 idn1 45019 . . . . . . . . . . . . 13 (   𝐴𝑉   ▶   𝐴𝑉   )
2 sbcg 3802 . . . . . . . . . . . . 13 (𝐴𝑉 → ([𝐴 / 𝑥]𝑧𝑦𝑧𝑦))
31, 2e1a 45072 . . . . . . . . . . . 12 (   𝐴𝑉   ▶   ([𝐴 / 𝑥]𝑧𝑦𝑧𝑦)   )
4 sbcel2 4359 . . . . . . . . . . . . . 14 ([𝐴 / 𝑥]𝑦𝐵𝑦𝐴 / 𝑥𝐵)
54a1i 11 . . . . . . . . . . . . 13 (𝐴𝑉 → ([𝐴 / 𝑥]𝑦𝐵𝑦𝐴 / 𝑥𝐵))
61, 5e1a 45072 . . . . . . . . . . . 12 (   𝐴𝑉   ▶   ([𝐴 / 𝑥]𝑦𝐵𝑦𝐴 / 𝑥𝐵)   )
7 pm4.38 638 . . . . . . . . . . . . 13 ((([𝐴 / 𝑥]𝑧𝑦𝑧𝑦) ∧ ([𝐴 / 𝑥]𝑦𝐵𝑦𝐴 / 𝑥𝐵)) → (([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵)))
87ex 412 . . . . . . . . . . . 12 (([𝐴 / 𝑥]𝑧𝑦𝑧𝑦) → (([𝐴 / 𝑥]𝑦𝐵𝑦𝐴 / 𝑥𝐵) → (([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵))))
93, 6, 8e11 45133 . . . . . . . . . . 11 (   𝐴𝑉   ▶   (([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
10 sbcan 3779 . . . . . . . . . . . . 13 ([𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ ([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵))
1110a1i 11 . . . . . . . . . . . 12 (𝐴𝑉 → ([𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ ([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵)))
121, 11e1a 45072 . . . . . . . . . . 11 (   𝐴𝑉   ▶   ([𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ ([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵))   )
13 bibi1 351 . . . . . . . . . . . 12 (([𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ ([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵)) → (([𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵)) ↔ (([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵))))
1413biimprcd 250 . . . . . . . . . . 11 ((([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵)) → (([𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ ([𝐴 / 𝑥]𝑧𝑦[𝐴 / 𝑥]𝑦𝐵)) → ([𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵))))
159, 12, 14e11 45133 . . . . . . . . . 10 (   𝐴𝑉   ▶   ([𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
1615gen11 45061 . . . . . . . . 9 (   𝐴𝑉   ▶   𝑦([𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
17 exbi 1849 . . . . . . . . 9 (∀𝑦([𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ (𝑧𝑦𝑦𝐴 / 𝑥𝐵)) → (∃𝑦[𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)))
1816, 17e1a 45072 . . . . . . . 8 (   𝐴𝑉   ▶   (∃𝑦[𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
19 sbcex2 3790 . . . . . . . . . 10 ([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦[𝐴 / 𝑥](𝑧𝑦𝑦𝐵))
2019a1i 11 . . . . . . . . 9 (𝐴𝑉 → ([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦[𝐴 / 𝑥](𝑧𝑦𝑦𝐵)))
211, 20e1a 45072 . . . . . . . 8 (   𝐴𝑉   ▶   ([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦[𝐴 / 𝑥](𝑧𝑦𝑦𝐵))   )
22 bibi1 351 . . . . . . . . 9 (([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦[𝐴 / 𝑥](𝑧𝑦𝑦𝐵)) → (([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)) ↔ (∃𝑦[𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵))))
2322biimprcd 250 . . . . . . . 8 ((∃𝑦[𝐴 / 𝑥](𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)) → (([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦[𝐴 / 𝑥](𝑧𝑦𝑦𝐵)) → ([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵))))
2418, 21, 23e11 45133 . . . . . . 7 (   𝐴𝑉   ▶   ([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
2524gen11 45061 . . . . . 6 (   𝐴𝑉   ▶   𝑧([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵))   )
26 abbib 2806 . . . . . . 7 ({𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)} ↔ ∀𝑧([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)))
2726biimpri 228 . . . . . 6 (∀𝑧([𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵) ↔ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)) → {𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)})
2825, 27e1a 45072 . . . . 5 (   𝐴𝑉   ▶   {𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)}   )
29 csbab 4381 . . . . . . 7 𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} = {𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)}
3029a1i 11 . . . . . 6 (𝐴𝑉𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} = {𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)})
311, 30e1a 45072 . . . . 5 (   𝐴𝑉   ▶   𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} = {𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)}   )
32 eqeq2 2749 . . . . . 6 ({𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)} → (𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} = {𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)} ↔ 𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)}))
3332biimpd 229 . . . . 5 ({𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)} → (𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} = {𝑧[𝐴 / 𝑥]𝑦(𝑧𝑦𝑦𝐵)} → 𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)}))
3428, 31, 33e11 45133 . . . 4 (   𝐴𝑉   ▶   𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)}   )
35 df-uni 4852 . . . . . . 7 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)}
3635ax-gen 1797 . . . . . 6 𝑥 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)}
37 spsbc 3742 . . . . . 6 (𝐴𝑉 → (∀𝑥 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} → [𝐴 / 𝑥] 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)}))
381, 36, 37e10 45139 . . . . 5 (   𝐴𝑉   ▶   [𝐴 / 𝑥] 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)}   )
39 sbceqg 4353 . . . . . 6 (𝐴𝑉 → ([𝐴 / 𝑥] 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} ↔ 𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)}))
4039biimpd 229 . . . . 5 (𝐴𝑉 → ([𝐴 / 𝑥] 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} → 𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)}))
411, 38, 40e11 45133 . . . 4 (   𝐴𝑉   ▶   𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)}   )
42 eqeq2 2749 . . . . 5 (𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)} → (𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} ↔ 𝐴 / 𝑥 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)}))
4342biimpd 229 . . . 4 (𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)} → (𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥{𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐵)} → 𝐴 / 𝑥 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)}))
4434, 41, 43e11 45133 . . 3 (   𝐴𝑉   ▶   𝐴 / 𝑥 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)}   )
45 df-uni 4852 . . 3 𝐴 / 𝑥𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)}
46 eqeq2 2749 . . . 4 ( 𝐴 / 𝑥𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)} → (𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥𝐵𝐴 / 𝑥 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)}))
4746biimprcd 250 . . 3 (𝐴 / 𝑥 𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)} → ( 𝐴 / 𝑥𝐵 = {𝑧 ∣ ∃𝑦(𝑧𝑦𝑦𝐴 / 𝑥𝐵)} → 𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥𝐵))
4844, 45, 47e10 45139 . 2 (   𝐴𝑉   ▶   𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥𝐵   )
4948in1 45016 1 (𝐴𝑉𝐴 / 𝑥 𝐵 = 𝐴 / 𝑥𝐵)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  wal 1540   = wceq 1542  wex 1781  wcel 2114  {cab 2715  [wsbc 3729  csb 3838   cuni 4851
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-v 3432  df-sbc 3730  df-csb 3839  df-dif 3893  df-nul 4275  df-uni 4852  df-vd1 45015
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator