Step | Hyp | Ref
| Expression |
1 | | wim 137 |
. . . 4
⊢ ⇒ :(∗
→ (∗ → ∗)) |
2 | | olc.1 |
. . . . 5
⊢ A:∗ |
3 | | wv 64 |
. . . . 5
⊢ x:∗:∗ |
4 | 1, 2, 3 | wov 72 |
. . . 4
⊢ [A ⇒ x:∗]:∗ |
5 | | olc.2 |
. . . . . 6
⊢ B:∗ |
6 | 1, 5, 3 | wov 72 |
. . . . 5
⊢ [B ⇒ x:∗]:∗ |
7 | 1, 6, 3 | wov 72 |
. . . 4
⊢ [[B ⇒ x:∗] ⇒ x:∗]:∗ |
8 | 1, 4, 7 | wov 72 |
. . 3
⊢ [[A ⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]]:∗ |
9 | | wtru 43 |
. . . 4
⊢
⊤:∗ |
10 | 5, 6 | simpl 22 |
. . . . . . . . 9
⊢ (B, [B ⇒
x:∗])⊧B |
11 | 5, 6 | simpr 23 |
. . . . . . . . 9
⊢ (B, [B ⇒
x:∗])⊧[B ⇒ x:∗] |
12 | 3, 10, 11 | mpd 156 |
. . . . . . . 8
⊢ (B, [B ⇒
x:∗])⊧x:∗ |
13 | 12 | ex 158 |
. . . . . . 7
⊢ B⊧[[B
⇒ x:∗] ⇒ x:∗] |
14 | 13, 4 | adantr 55 |
. . . . . 6
⊢ (B, [A ⇒
x:∗])⊧[[B ⇒ x:∗] ⇒ x:∗] |
15 | 14 | ex 158 |
. . . . 5
⊢ B⊧[[A
⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]] |
16 | 15 | eqtru 86 |
. . . 4
⊢ B⊧[⊤ = [[A ⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]]] |
17 | 9, 16 | eqcomi 79 |
. . 3
⊢ B⊧[[[A
⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]] = ⊤] |
18 | 8, 17 | leq 91 |
. 2
⊢ B⊧[λx:∗ [[A
⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]] = λx:∗ ⊤] |
19 | | wor 140 |
. . . . 5
⊢ ∨ :(∗ → (∗ →
∗)) |
20 | 19, 2, 5 | wov 72 |
. . . 4
⊢ [A ∨ B]:∗ |
21 | 2, 5 | orval 147 |
. . . 4
⊢
⊤⊧[[A ∨ B] = (∀λx:∗ [[A
⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]])] |
22 | 8 | wl 66 |
. . . . 5
⊢
λx:∗ [[A ⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]]:(∗ →
∗) |
23 | 22 | alval 142 |
. . . 4
⊢
⊤⊧[(∀λx:∗ [[A
⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]]) = [λx:∗ [[A
⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]] = λx:∗ ⊤]] |
24 | 20, 21, 23 | eqtri 95 |
. . 3
⊢
⊤⊧[[A ∨ B] =
[λx:∗ [[A ⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]] = λx:∗ ⊤]] |
25 | 5, 24 | a1i 28 |
. 2
⊢ B⊧[[A
∨ B] =
[λx:∗ [[A ⇒ x:∗] ⇒ [[B ⇒ x:∗] ⇒ x:∗]] = λx:∗ ⊤]] |
26 | 18, 25 | mpbir 87 |
1
⊢ B⊧[A ∨ B] |