Proof of Theorem eqifdc
| Step | Hyp | Ref
 | Expression | 
| 1 |   | exmiddc 837 | 
. . 3
⊢
(DECID 𝜑 → (𝜑 ∨ ¬ 𝜑)) | 
| 2 |   | simpr 110 | 
. . . . . 6
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ 𝜑) → 𝜑) | 
| 3 |   | simpl 109 | 
. . . . . . 7
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ 𝜑) → 𝐴 = if(𝜑, 𝐵, 𝐶)) | 
| 4 | 2 | iftrued 3568 | 
. . . . . . 7
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ 𝜑) → if(𝜑, 𝐵, 𝐶) = 𝐵) | 
| 5 | 3, 4 | eqtrd 2229 | 
. . . . . 6
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ 𝜑) → 𝐴 = 𝐵) | 
| 6 | 2, 5 | jca 306 | 
. . . . 5
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ 𝜑) → (𝜑 ∧ 𝐴 = 𝐵)) | 
| 7 | 6 | ex 115 | 
. . . 4
⊢ (𝐴 = if(𝜑, 𝐵, 𝐶) → (𝜑 → (𝜑 ∧ 𝐴 = 𝐵))) | 
| 8 |   | simpr 110 | 
. . . . . 6
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ ¬ 𝜑) → ¬ 𝜑) | 
| 9 |   | simpl 109 | 
. . . . . . 7
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ ¬ 𝜑) → 𝐴 = if(𝜑, 𝐵, 𝐶)) | 
| 10 | 8 | iffalsed 3571 | 
. . . . . . 7
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ ¬ 𝜑) → if(𝜑, 𝐵, 𝐶) = 𝐶) | 
| 11 | 9, 10 | eqtrd 2229 | 
. . . . . 6
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ ¬ 𝜑) → 𝐴 = 𝐶) | 
| 12 | 8, 11 | jca 306 | 
. . . . 5
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ ¬ 𝜑) → (¬ 𝜑 ∧ 𝐴 = 𝐶)) | 
| 13 | 12 | ex 115 | 
. . . 4
⊢ (𝐴 = if(𝜑, 𝐵, 𝐶) → (¬ 𝜑 → (¬ 𝜑 ∧ 𝐴 = 𝐶))) | 
| 14 | 7, 13 | orim12d 787 | 
. . 3
⊢ (𝐴 = if(𝜑, 𝐵, 𝐶) → ((𝜑 ∨ ¬ 𝜑) → ((𝜑 ∧ 𝐴 = 𝐵) ∨ (¬ 𝜑 ∧ 𝐴 = 𝐶)))) | 
| 15 | 1, 14 | syl5com 29 | 
. 2
⊢
(DECID 𝜑 → (𝐴 = if(𝜑, 𝐵, 𝐶) → ((𝜑 ∧ 𝐴 = 𝐵) ∨ (¬ 𝜑 ∧ 𝐴 = 𝐶)))) | 
| 16 |   | simpr 110 | 
. . . 4
⊢ ((𝜑 ∧ 𝐴 = 𝐵) → 𝐴 = 𝐵) | 
| 17 |   | simpl 109 | 
. . . . 5
⊢ ((𝜑 ∧ 𝐴 = 𝐵) → 𝜑) | 
| 18 | 17 | iftrued 3568 | 
. . . 4
⊢ ((𝜑 ∧ 𝐴 = 𝐵) → if(𝜑, 𝐵, 𝐶) = 𝐵) | 
| 19 | 16, 18 | eqtr4d 2232 | 
. . 3
⊢ ((𝜑 ∧ 𝐴 = 𝐵) → 𝐴 = if(𝜑, 𝐵, 𝐶)) | 
| 20 |   | simpr 110 | 
. . . 4
⊢ ((¬
𝜑 ∧ 𝐴 = 𝐶) → 𝐴 = 𝐶) | 
| 21 |   | simpl 109 | 
. . . . 5
⊢ ((¬
𝜑 ∧ 𝐴 = 𝐶) → ¬ 𝜑) | 
| 22 | 21 | iffalsed 3571 | 
. . . 4
⊢ ((¬
𝜑 ∧ 𝐴 = 𝐶) → if(𝜑, 𝐵, 𝐶) = 𝐶) | 
| 23 | 20, 22 | eqtr4d 2232 | 
. . 3
⊢ ((¬
𝜑 ∧ 𝐴 = 𝐶) → 𝐴 = if(𝜑, 𝐵, 𝐶)) | 
| 24 | 19, 23 | jaoi 717 | 
. 2
⊢ (((𝜑 ∧ 𝐴 = 𝐵) ∨ (¬ 𝜑 ∧ 𝐴 = 𝐶)) → 𝐴 = if(𝜑, 𝐵, 𝐶)) | 
| 25 | 15, 24 | impbid1 142 | 
1
⊢
(DECID 𝜑 → (𝐴 = if(𝜑, 𝐵, 𝐶) ↔ ((𝜑 ∧ 𝐴 = 𝐵) ∨ (¬ 𝜑 ∧ 𝐴 = 𝐶)))) |