Step | Hyp | Ref
| Expression |
1 | | wan 136 |
. . . . . 6
⊢ ∧ :(∗ → (∗ →
∗)) |
2 | | dfan2.1 |
. . . . . 6
⊢ A:∗ |
3 | | dfan2.2 |
. . . . . 6
⊢ B:∗ |
4 | 1, 2, 3 | wov 72 |
. . . . 5
⊢ [A ∧ B]:∗ |
5 | 4 | trud 27 |
. . . 4
⊢ [A ∧ B]⊧⊤ |
6 | | wv 64 |
. . . . . . . 8
⊢ f:(∗ → (∗ →
∗)):(∗ → (∗ → ∗)) |
7 | 6, 2, 3 | wov 72 |
. . . . . . 7
⊢ [Af:(∗
→ (∗ → ∗))B]:∗ |
8 | 7 | wl 66 |
. . . . . 6
⊢
λf:(∗ →
(∗ → ∗)) [Af:(∗ → (∗ →
∗))B]:((∗ → (∗
→ ∗)) → ∗) |
9 | | wv 64 |
. . . . . . . 8
⊢ x:∗:∗ |
10 | 9 | wl 66 |
. . . . . . 7
⊢
λy:∗ x:∗:(∗ →
∗) |
11 | 10 | wl 66 |
. . . . . 6
⊢
λx:∗
λy:∗ x:∗:(∗ → (∗ →
∗)) |
12 | 8, 11 | wc 50 |
. . . . 5
⊢
(λf:(∗ →
(∗ → ∗)) [Af:(∗ → (∗ →
∗))B]λx:∗ λy:∗ x:∗):∗ |
13 | 4 | id 25 |
. . . . . . 7
⊢ [A ∧ B]⊧[A
∧ B] |
14 | 2, 3 | anval 148 |
. . . . . . . 8
⊢
⊤⊧[[A ∧ B] =
[λf:(∗ →
(∗ → ∗)) [Af:(∗ → (∗ →
∗))B] = λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]]] |
15 | 4, 14 | a1i 28 |
. . . . . . 7
⊢ [A ∧ B]⊧[[A
∧ B] =
[λf:(∗ →
(∗ → ∗)) [Af:(∗ → (∗ →
∗))B] = λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]]] |
16 | 13, 15 | mpbi 82 |
. . . . . 6
⊢ [A ∧ B]⊧[λf:(∗ → (∗ → ∗))
[Af:(∗ → (∗ →
∗))B] = λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]] |
17 | 8, 11, 16 | ceq1 89 |
. . . . 5
⊢ [A ∧ B]⊧[(λf:(∗ → (∗ → ∗))
[Af:(∗ → (∗ →
∗))B]λx:∗ λy:∗ x:∗) = (λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]λx:∗ λy:∗ x:∗)] |
18 | 6, 11 | weqi 76 |
. . . . . . . . . 10
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ x:∗]:∗ |
19 | 18 | id 25 |
. . . . . . . . 9
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ x:∗]⊧[f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ x:∗] |
20 | 6, 2, 3, 19 | oveq 102 |
. . . . . . . 8
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ x:∗]⊧[[Af:(∗
→ (∗ → ∗))B] =
[Aλx:∗ λy:∗ x:∗B]] |
21 | 9, 2 | weqi 76 |
. . . . . . . . . . 11
⊢ [x:∗ = A]:∗ |
22 | 21 | id 25 |
. . . . . . . . . 10
⊢ [x:∗ = A]⊧[x:∗ = A] |
23 | | wv 64 |
. . . . . . . . . . . 12
⊢ y:∗:∗ |
24 | 23, 3 | weqi 76 |
. . . . . . . . . . 11
⊢ [y:∗ = B]:∗ |
25 | 24, 2 | eqid 83 |
. . . . . . . . . 10
⊢ [y:∗ = B]⊧[A =
A] |
26 | 9, 2, 3, 22, 25 | ovl 117 |
. . . . . . . . 9
⊢
⊤⊧[[Aλx:∗ λy:∗ x:∗B] =
A] |
27 | 18, 26 | a1i 28 |
. . . . . . . 8
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ x:∗]⊧[[Aλx:∗ λy:∗ x:∗B] =
A] |
28 | 7, 20, 27 | eqtri 95 |
. . . . . . 7
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ x:∗]⊧[[Af:(∗
→ (∗ → ∗))B] =
A] |
29 | 7, 11, 28 | cl 116 |
. . . . . 6
⊢
⊤⊧[(λf:(∗ → (∗ → ∗))
[Af:(∗ → (∗ →
∗))B]λx:∗ λy:∗ x:∗) = A] |
30 | 4, 29 | a1i 28 |
. . . . 5
⊢ [A ∧ B]⊧[(λf:(∗ → (∗ → ∗))
[Af:(∗ → (∗ →
∗))B]λx:∗ λy:∗ x:∗) = A] |
31 | | wtru 43 |
. . . . . . . 8
⊢
⊤:∗ |
32 | 6, 31, 31 | wov 72 |
. . . . . . 7
⊢ [⊤f:(∗ → (∗ →
∗))⊤]:∗ |
33 | 6, 31, 31, 19 | oveq 102 |
. . . . . . . 8
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ x:∗]⊧[[⊤f:(∗ → (∗ →
∗))⊤] = [⊤λx:∗ λy:∗ x:∗⊤]] |
34 | 9, 31 | weqi 76 |
. . . . . . . . . . 11
⊢ [x:∗ = ⊤]:∗ |
35 | 34 | id 25 |
. . . . . . . . . 10
⊢ [x:∗ = ⊤]⊧[x:∗ = ⊤] |
36 | 23, 31 | weqi 76 |
. . . . . . . . . . 11
⊢ [y:∗ = ⊤]:∗ |
37 | 36, 31 | eqid 83 |
. . . . . . . . . 10
⊢ [y:∗ = ⊤]⊧[⊤ =
⊤] |
38 | 9, 31, 31, 35, 37 | ovl 117 |
. . . . . . . . 9
⊢
⊤⊧[[⊤λx:∗ λy:∗ x:∗⊤] = ⊤] |
39 | 18, 38 | a1i 28 |
. . . . . . . 8
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ x:∗]⊧[[⊤λx:∗ λy:∗ x:∗⊤] = ⊤] |
40 | 32, 33, 39 | eqtri 95 |
. . . . . . 7
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ x:∗]⊧[[⊤f:(∗ → (∗ →
∗))⊤] = ⊤] |
41 | 32, 11, 40 | cl 116 |
. . . . . 6
⊢
⊤⊧[(λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]λx:∗ λy:∗ x:∗) = ⊤] |
42 | 4, 41 | a1i 28 |
. . . . 5
⊢ [A ∧ B]⊧[(λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]λx:∗ λy:∗ x:∗) = ⊤] |
43 | 12, 17, 30, 42 | 3eqtr3i 97 |
. . . 4
⊢ [A ∧ B]⊧[A =
⊤] |
44 | 5, 43 | mpbir 87 |
. . 3
⊢ [A ∧ B]⊧A |
45 | 23 | wl 66 |
. . . . . . 7
⊢
λy:∗ y:∗:(∗ →
∗) |
46 | 45 | wl 66 |
. . . . . 6
⊢
λx:∗
λy:∗ y:∗:(∗ → (∗ →
∗)) |
47 | 8, 46 | wc 50 |
. . . . 5
⊢
(λf:(∗ →
(∗ → ∗)) [Af:(∗ → (∗ →
∗))B]λx:∗ λy:∗ y:∗):∗ |
48 | 8, 46, 16 | ceq1 89 |
. . . . 5
⊢ [A ∧ B]⊧[(λf:(∗ → (∗ → ∗))
[Af:(∗ → (∗ →
∗))B]λx:∗ λy:∗ y:∗) = (λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]λx:∗ λy:∗ y:∗)] |
49 | 6, 46 | weqi 76 |
. . . . . . . . . 10
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ y:∗]:∗ |
50 | 49 | id 25 |
. . . . . . . . 9
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ y:∗]⊧[f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ y:∗] |
51 | 6, 2, 3, 50 | oveq 102 |
. . . . . . . 8
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ y:∗]⊧[[Af:(∗
→ (∗ → ∗))B] =
[Aλx:∗ λy:∗ y:∗B]] |
52 | 7, 46, 51 | cl 116 |
. . . . . . 7
⊢
⊤⊧[(λf:(∗ → (∗ → ∗))
[Af:(∗ → (∗ →
∗))B]λx:∗ λy:∗ y:∗) = [Aλx:∗ λy:∗ y:∗B]] |
53 | 21, 23 | eqid 83 |
. . . . . . . . 9
⊢ [x:∗ = A]⊧[y:∗ = y:∗] |
54 | 24 | id 25 |
. . . . . . . . 9
⊢ [y:∗ = B]⊧[y:∗ = B] |
55 | 23, 2, 3, 53, 54 | ovl 117 |
. . . . . . . 8
⊢
⊤⊧[[Aλx:∗ λy:∗ y:∗B] =
B] |
56 | 31, 55 | a1i 28 |
. . . . . . 7
⊢
⊤⊧[[Aλx:∗ λy:∗ y:∗B] =
B] |
57 | 47, 52, 56 | eqtri 95 |
. . . . . 6
⊢
⊤⊧[(λf:(∗ → (∗ → ∗))
[Af:(∗ → (∗ →
∗))B]λx:∗ λy:∗ y:∗) = B] |
58 | 4, 57 | a1i 28 |
. . . . 5
⊢ [A ∧ B]⊧[(λf:(∗ → (∗ → ∗))
[Af:(∗ → (∗ →
∗))B]λx:∗ λy:∗ y:∗) = B] |
59 | 6, 31, 31, 50 | oveq 102 |
. . . . . . . 8
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ y:∗]⊧[[⊤f:(∗ → (∗ →
∗))⊤] = [⊤λx:∗ λy:∗ y:∗⊤]] |
60 | 34, 23 | eqid 83 |
. . . . . . . . . 10
⊢ [x:∗ = ⊤]⊧[y:∗ = y:∗] |
61 | 36 | id 25 |
. . . . . . . . . 10
⊢ [y:∗ = ⊤]⊧[y:∗ = ⊤] |
62 | 23, 31, 31, 60, 61 | ovl 117 |
. . . . . . . . 9
⊢
⊤⊧[[⊤λx:∗ λy:∗ y:∗⊤] = ⊤] |
63 | 49, 62 | a1i 28 |
. . . . . . . 8
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ y:∗]⊧[[⊤λx:∗ λy:∗ y:∗⊤] = ⊤] |
64 | 32, 59, 63 | eqtri 95 |
. . . . . . 7
⊢ [f:(∗ → (∗ → ∗)) =
λx:∗
λy:∗ y:∗]⊧[[⊤f:(∗ → (∗ →
∗))⊤] = ⊤] |
65 | 32, 46, 64 | cl 116 |
. . . . . 6
⊢
⊤⊧[(λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]λx:∗ λy:∗ y:∗) = ⊤] |
66 | 4, 65 | a1i 28 |
. . . . 5
⊢ [A ∧ B]⊧[(λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]λx:∗ λy:∗ y:∗) = ⊤] |
67 | 47, 48, 58, 66 | 3eqtr3i 97 |
. . . 4
⊢ [A ∧ B]⊧[B =
⊤] |
68 | 5, 67 | mpbir 87 |
. . 3
⊢ [A ∧ B]⊧B |
69 | 44, 68 | jca 18 |
. 2
⊢ [A ∧ B]⊧(A,
B) |
70 | 2, 3 | simpl 22 |
. . . . . . 7
⊢ (A, B)⊧A |
71 | 70 | eqtru 86 |
. . . . . 6
⊢ (A, B)⊧[⊤ = A] |
72 | 2, 3 | simpr 23 |
. . . . . . 7
⊢ (A, B)⊧B |
73 | 72 | eqtru 86 |
. . . . . 6
⊢ (A, B)⊧[⊤ = B] |
74 | 6, 31, 31, 71, 73 | oveq12 100 |
. . . . 5
⊢ (A, B)⊧[[⊤f:(∗ → (∗ →
∗))⊤] = [Af:(∗ → (∗ →
∗))B]] |
75 | 32, 74 | eqcomi 79 |
. . . 4
⊢ (A, B)⊧[[Af:(∗
→ (∗ → ∗))B] =
[⊤f:(∗ → (∗
→ ∗))⊤]] |
76 | 7, 75 | leq 91 |
. . 3
⊢ (A, B)⊧[λf:(∗ → (∗ → ∗))
[Af:(∗ → (∗ →
∗))B] = λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]] |
77 | 70 | ax-cb1 29 |
. . . 4
⊢ (A, B):∗ |
78 | 77, 14 | a1i 28 |
. . 3
⊢ (A, B)⊧[[A
∧ B] =
[λf:(∗ →
(∗ → ∗)) [Af:(∗ → (∗ →
∗))B] = λf:(∗ → (∗ → ∗))
[⊤f:(∗ → (∗
→ ∗))⊤]]] |
79 | 76, 78 | mpbir 87 |
. 2
⊢ (A, B)⊧[A
∧ B] |
80 | 69, 79 | dedi 85 |
1
⊢
⊤⊧[[A ∧ B] = (A, B)] |