Proof of Theorem eqifdc
Step | Hyp | Ref
| Expression |
1 | | exmiddc 831 |
. . 3
⊢
(DECID 𝜑 → (𝜑 ∨ ¬ 𝜑)) |
2 | | simpr 109 |
. . . . . 6
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ 𝜑) → 𝜑) |
3 | | simpl 108 |
. . . . . . 7
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ 𝜑) → 𝐴 = if(𝜑, 𝐵, 𝐶)) |
4 | 2 | iftrued 3533 |
. . . . . . 7
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ 𝜑) → if(𝜑, 𝐵, 𝐶) = 𝐵) |
5 | 3, 4 | eqtrd 2203 |
. . . . . 6
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ 𝜑) → 𝐴 = 𝐵) |
6 | 2, 5 | jca 304 |
. . . . 5
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ 𝜑) → (𝜑 ∧ 𝐴 = 𝐵)) |
7 | 6 | ex 114 |
. . . 4
⊢ (𝐴 = if(𝜑, 𝐵, 𝐶) → (𝜑 → (𝜑 ∧ 𝐴 = 𝐵))) |
8 | | simpr 109 |
. . . . . 6
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ ¬ 𝜑) → ¬ 𝜑) |
9 | | simpl 108 |
. . . . . . 7
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ ¬ 𝜑) → 𝐴 = if(𝜑, 𝐵, 𝐶)) |
10 | 8 | iffalsed 3536 |
. . . . . . 7
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ ¬ 𝜑) → if(𝜑, 𝐵, 𝐶) = 𝐶) |
11 | 9, 10 | eqtrd 2203 |
. . . . . 6
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ ¬ 𝜑) → 𝐴 = 𝐶) |
12 | 8, 11 | jca 304 |
. . . . 5
⊢ ((𝐴 = if(𝜑, 𝐵, 𝐶) ∧ ¬ 𝜑) → (¬ 𝜑 ∧ 𝐴 = 𝐶)) |
13 | 12 | ex 114 |
. . . 4
⊢ (𝐴 = if(𝜑, 𝐵, 𝐶) → (¬ 𝜑 → (¬ 𝜑 ∧ 𝐴 = 𝐶))) |
14 | 7, 13 | orim12d 781 |
. . 3
⊢ (𝐴 = if(𝜑, 𝐵, 𝐶) → ((𝜑 ∨ ¬ 𝜑) → ((𝜑 ∧ 𝐴 = 𝐵) ∨ (¬ 𝜑 ∧ 𝐴 = 𝐶)))) |
15 | 1, 14 | syl5com 29 |
. 2
⊢
(DECID 𝜑 → (𝐴 = if(𝜑, 𝐵, 𝐶) → ((𝜑 ∧ 𝐴 = 𝐵) ∨ (¬ 𝜑 ∧ 𝐴 = 𝐶)))) |
16 | | simpr 109 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = 𝐵) → 𝐴 = 𝐵) |
17 | | simpl 108 |
. . . . 5
⊢ ((𝜑 ∧ 𝐴 = 𝐵) → 𝜑) |
18 | 17 | iftrued 3533 |
. . . 4
⊢ ((𝜑 ∧ 𝐴 = 𝐵) → if(𝜑, 𝐵, 𝐶) = 𝐵) |
19 | 16, 18 | eqtr4d 2206 |
. . 3
⊢ ((𝜑 ∧ 𝐴 = 𝐵) → 𝐴 = if(𝜑, 𝐵, 𝐶)) |
20 | | simpr 109 |
. . . 4
⊢ ((¬
𝜑 ∧ 𝐴 = 𝐶) → 𝐴 = 𝐶) |
21 | | simpl 108 |
. . . . 5
⊢ ((¬
𝜑 ∧ 𝐴 = 𝐶) → ¬ 𝜑) |
22 | 21 | iffalsed 3536 |
. . . 4
⊢ ((¬
𝜑 ∧ 𝐴 = 𝐶) → if(𝜑, 𝐵, 𝐶) = 𝐶) |
23 | 20, 22 | eqtr4d 2206 |
. . 3
⊢ ((¬
𝜑 ∧ 𝐴 = 𝐶) → 𝐴 = if(𝜑, 𝐵, 𝐶)) |
24 | 19, 23 | jaoi 711 |
. 2
⊢ (((𝜑 ∧ 𝐴 = 𝐵) ∨ (¬ 𝜑 ∧ 𝐴 = 𝐶)) → 𝐴 = if(𝜑, 𝐵, 𝐶)) |
25 | 15, 24 | impbid1 141 |
1
⊢
(DECID 𝜑 → (𝐴 = if(𝜑, 𝐵, 𝐶) ↔ ((𝜑 ∧ 𝐴 = 𝐵) ∨ (¬ 𝜑 ∧ 𝐴 = 𝐶)))) |