Proof of Theorem ovl
Step | Hyp | Ref
| Expression |
1 | | ovl.1 |
. . . . 5
⊢ A:γ |
2 | 1 | wl 66 |
. . . 4
⊢
λy:β A:(β →
γ) |
3 | 2 | wl 66 |
. . 3
⊢
λx:α λy:β
A:(α → (β → γ)) |
4 | | ovl.2 |
. . 3
⊢ S:α |
5 | | ovl.3 |
. . 3
⊢ T:β |
6 | 3, 4, 5 | wov 72 |
. 2
⊢ [Sλx:α
λy:β AT]:γ |
7 | | weq 41 |
. . . 4
⊢ = :(γ → (γ → ∗)) |
8 | 3, 4 | wc 50 |
. . . . 5
⊢
(λx:α λy:β
AS):(β
→ γ) |
9 | 8, 5 | wc 50 |
. . . 4
⊢
((λx:α λy:β
AS)T):γ |
10 | | wtru 43 |
. . . . 5
⊢
⊤:∗ |
11 | 3, 4, 5 | df-ov 73 |
. . . . 5
⊢ ⊤⊧(( =
[Sλx:α
λy:β AT])((λx:α
λy:β AS)T)) |
12 | 10, 11 | a1i 28 |
. . . 4
⊢ ⊤⊧(( =
[Sλx:α
λy:β AT])((λx:α
λy:β AS)T)) |
13 | 7, 6, 9, 12 | dfov2 75 |
. . 3
⊢
⊤⊧[[Sλx:α
λy:β AT] =
((λx:α λy:β
AS)T)] |
14 | 1, 4 | distrl 94 |
. . . . 5
⊢
⊤⊧[(λx:α
λy:β AS) =
λy:β (λx:α
AS)] |
15 | 10, 14 | a1i 28 |
. . . 4
⊢
⊤⊧[(λx:α
λy:β AS) =
λy:β (λx:α
AS)] |
16 | 8, 5, 15 | ceq1 89 |
. . 3
⊢
⊤⊧[((λx:α
λy:β AS)T) = (λy:β
(λx:α AS)T)] |
17 | 6, 13, 16 | eqtri 95 |
. 2
⊢
⊤⊧[[Sλx:α
λy:β AT] =
(λy:β (λx:α
AS)T)] |
18 | 1 | wl 66 |
. . . 4
⊢
λx:α A:(α
→ γ) |
19 | 18, 4 | wc 50 |
. . 3
⊢
(λx:α AS):γ |
20 | | wv 64 |
. . . . . 6
⊢ y:β:β |
21 | 20, 5 | weqi 76 |
. . . . 5
⊢ [y:β =
T]:∗ |
22 | | ovl.4 |
. . . . . 6
⊢ [x:α =
S]⊧[A = B] |
23 | 1, 4, 22 | cl 116 |
. . . . 5
⊢
⊤⊧[(λx:α
AS) =
B] |
24 | 21, 23 | a1i 28 |
. . . 4
⊢ [y:β =
T]⊧[(λx:α
AS) =
B] |
25 | | ovl.5 |
. . . 4
⊢ [y:β =
T]⊧[B = C] |
26 | 19, 24, 25 | eqtri 95 |
. . 3
⊢ [y:β =
T]⊧[(λx:α
AS) =
C] |
27 | 19, 5, 26 | cl 116 |
. 2
⊢
⊤⊧[(λy:β
(λx:α AS)T) = C] |
28 | 6, 17, 27 | eqtri 95 |
1
⊢
⊤⊧[[Sλx:α
λy:β AT] = C] |