| Step | Hyp | Ref
| Expression |
| 1 | | wor 140 |
. . 3
⊢ ∨ :(∗ → (∗ →
∗)) |
| 2 | | imval.1 |
. . 3
⊢ A:∗ |
| 3 | | imval.2 |
. . 3
⊢ B:∗ |
| 4 | 1, 2, 3 | wov 72 |
. 2
⊢ [A ∨ B]:∗ |
| 5 | | df-or 132 |
. . 3
⊢ ⊤⊧[
∨ = λp:∗ λq:∗ (∀λx:∗ [[p:∗ ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]])] |
| 6 | 1, 2, 3, 5 | oveq 102 |
. 2
⊢
⊤⊧[[A ∨ B] = [Aλp:∗ λq:∗ (∀λx:∗ [[p:∗ ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]])B]] |
| 7 | | wal 134 |
. . . 4
⊢ ∀:((∗ → ∗) →
∗) |
| 8 | | wim 137 |
. . . . . 6
⊢ ⇒ :(∗
→ (∗ → ∗)) |
| 9 | | wv 64 |
. . . . . . 7
⊢ p:∗:∗ |
| 10 | | wv 64 |
. . . . . . 7
⊢ x:∗:∗ |
| 11 | 8, 9, 10 | wov 72 |
. . . . . 6
⊢ [p:∗ ⇒ x:∗]:∗ |
| 12 | | wv 64 |
. . . . . . . 8
⊢ q:∗:∗ |
| 13 | 8, 12, 10 | wov 72 |
. . . . . . 7
⊢ [q:∗ ⇒ x:∗]:∗ |
| 14 | 8, 13, 10 | wov 72 |
. . . . . 6
⊢ [[q:∗ ⇒ x:∗] ⇒ x:∗]:∗ |
| 15 | 8, 11, 14 | wov 72 |
. . . . 5
⊢ [[p:∗ ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]]:∗ |
| 16 | 15 | wl 66 |
. . . 4
⊢
λx:∗ [[p:∗ ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]]:(∗ →
∗) |
| 17 | 7, 16 | wc 50 |
. . 3
⊢ (∀λx:∗ [[p:∗ ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]]):∗ |
| 18 | 9, 2 | weqi 76 |
. . . . . . . 8
⊢ [p:∗ = A]:∗ |
| 19 | 18 | id 25 |
. . . . . . 7
⊢ [p:∗ = A]⊧[p:∗ = A] |
| 20 | 8, 9, 10, 19 | oveq1 99 |
. . . . . 6
⊢ [p:∗ = A]⊧[[p:∗ ⇒ x:∗] = [A
⇒ x:∗]] |
| 21 | 8, 11, 14, 20 | oveq1 99 |
. . . . 5
⊢ [p:∗ = A]⊧[[[p:∗ ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]] = [[A ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]]] |
| 22 | 15, 21 | leq 91 |
. . . 4
⊢ [p:∗ = A]⊧[λx:∗ [[p:∗ ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]] = λx:∗ [[A
⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]]] |
| 23 | 7, 16, 22 | ceq2 90 |
. . 3
⊢ [p:∗ = A]⊧[(∀λx:∗ [[p:∗ ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]]) = (∀λx:∗ [[A
⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]])] |
| 24 | 8, 2, 10 | wov 72 |
. . . . . 6
⊢ [A ⇒ x:∗]:∗ |
| 25 | 8, 24, 14 | wov 72 |
. . . . 5
⊢ [[A ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]]:∗ |
| 26 | 25 | wl 66 |
. . . 4
⊢
λx:∗ [[A ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]]:(∗ →
∗) |
| 27 | 12, 3 | weqi 76 |
. . . . . . . . 9
⊢ [q:∗ = B]:∗ |
| 28 | 27 | id 25 |
. . . . . . . 8
⊢ [q:∗ = B]⊧[q:∗ = B] |
| 29 | 8, 12, 10, 28 | oveq1 99 |
. . . . . . 7
⊢ [q:∗ = B]⊧[[q:∗ ⇒ x:∗] = [B
⇒ x:∗]] |
| 30 | 8, 13, 10, 29 | oveq1 99 |
. . . . . 6
⊢ [q:∗ = B]⊧[[[q:∗ ⇒ x:∗] ⇒ x:∗] = [[B ⇒ x:∗] ⇒ x:∗]] |
| 31 | 8, 24, 14, 30 | oveq2 101 |
. . . . 5
⊢ [q:∗ = B]⊧[[[A
⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]] = [[A ⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]]] |
| 32 | 25, 31 | leq 91 |
. . . 4
⊢ [q:∗ = B]⊧[λx:∗ [[A
⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]] = λx:∗ [[A
⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]]] |
| 33 | 7, 26, 32 | ceq2 90 |
. . 3
⊢ [q:∗ = B]⊧[(∀λx:∗ [[A
⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]]) = (∀λx:∗ [[A
⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]])] |
| 34 | 17, 2, 3, 23, 33 | ovl 117 |
. 2
⊢
⊤⊧[[Aλp:∗ λq:∗ (∀λx:∗ [[p:∗ ⇒ x:∗] ⇒ [[q:∗ ⇒ x:∗] ⇒ x:∗]])B]
= (∀λx:∗ [[A
⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]])] |
| 35 | 4, 6, 34 | eqtri 95 |
1
⊢
⊤⊧[[A ∨ B] = (∀λx:∗ [[A
⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]])] |