Proof of Theorem mosubopt
| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | nfa1 2151 | . . 3
⊢
Ⅎ𝑦∀𝑦∀𝑧∃*𝑥𝜑 | 
| 2 |  | nfe1 2150 | . . . 4
⊢
Ⅎ𝑦∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑) | 
| 3 | 2 | nfmov 2560 | . . 3
⊢
Ⅎ𝑦∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑) | 
| 4 |  | nfa1 2151 | . . . . 5
⊢
Ⅎ𝑧∀𝑧∃*𝑥𝜑 | 
| 5 |  | nfe1 2150 | . . . . . . 7
⊢
Ⅎ𝑧∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑) | 
| 6 | 5 | nfex 2324 | . . . . . 6
⊢
Ⅎ𝑧∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑) | 
| 7 | 6 | nfmov 2560 | . . . . 5
⊢
Ⅎ𝑧∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑) | 
| 8 |  | copsexgw 5495 | . . . . . . . 8
⊢ (𝐴 = 〈𝑦, 𝑧〉 → (𝜑 ↔ ∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑))) | 
| 9 | 8 | mobidv 2549 | . . . . . . 7
⊢ (𝐴 = 〈𝑦, 𝑧〉 → (∃*𝑥𝜑 ↔ ∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑))) | 
| 10 | 9 | biimpcd 249 | . . . . . 6
⊢
(∃*𝑥𝜑 → (𝐴 = 〈𝑦, 𝑧〉 → ∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑))) | 
| 11 | 10 | sps 2185 | . . . . 5
⊢
(∀𝑧∃*𝑥𝜑 → (𝐴 = 〈𝑦, 𝑧〉 → ∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑))) | 
| 12 | 4, 7, 11 | exlimd 2218 | . . . 4
⊢
(∀𝑧∃*𝑥𝜑 → (∃𝑧 𝐴 = 〈𝑦, 𝑧〉 → ∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑))) | 
| 13 | 12 | sps 2185 | . . 3
⊢
(∀𝑦∀𝑧∃*𝑥𝜑 → (∃𝑧 𝐴 = 〈𝑦, 𝑧〉 → ∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑))) | 
| 14 | 1, 3, 13 | exlimd 2218 | . 2
⊢
(∀𝑦∀𝑧∃*𝑥𝜑 → (∃𝑦∃𝑧 𝐴 = 〈𝑦, 𝑧〉 → ∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑))) | 
| 15 |  | simpl 482 | . . . . 5
⊢ ((𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑) → 𝐴 = 〈𝑦, 𝑧〉) | 
| 16 | 15 | 2eximi 1836 | . . . 4
⊢
(∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑) → ∃𝑦∃𝑧 𝐴 = 〈𝑦, 𝑧〉) | 
| 17 | 16 | exlimiv 1930 | . . 3
⊢
(∃𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑) → ∃𝑦∃𝑧 𝐴 = 〈𝑦, 𝑧〉) | 
| 18 |  | nexmo 2541 | . . 3
⊢ (¬
∃𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑) → ∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑)) | 
| 19 | 17, 18 | nsyl5 159 | . 2
⊢ (¬
∃𝑦∃𝑧 𝐴 = 〈𝑦, 𝑧〉 → ∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑)) | 
| 20 | 14, 19 | pm2.61d1 180 | 1
⊢
(∀𝑦∀𝑧∃*𝑥𝜑 → ∃*𝑥∃𝑦∃𝑧(𝐴 = 〈𝑦, 𝑧〉 ∧ 𝜑)) |