annotate a02/agda/record1.agda @ 406:a60132983557

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 08 Nov 2023 21:35:54 +0900
parents e5cf49902db3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 module record1 where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 record _∧_ (A B : Set) : Set where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 π1 : A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 π2 : B
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
266
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
8 ex0 : {A B : Set} → A ∧ B → A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
9 ex0 = _∧_.π1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
10
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
11 ex1 : {A B : Set} → ( A ∧ B ) → A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
12 ex1 a∧b = _∧_.π1 a∧b
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
13
138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 open _∧_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
266
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
16 ex0' : {A B : Set} → A ∧ B → A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
17 ex0' = π1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
18
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
19 ex1' : {A B : Set} → ( A ∧ B ) → A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
20 ex1' a∧b = π1 a∧b
138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 ex2 : {A B : Set} → ( A ∧ B ) → B
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 ex2 a∧b = {!!}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 ex3 : {A B : Set} → A → B → ( A ∧ B )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 ex3 a b = {!!}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 ex4 : {A B : Set} → A → ( A ∧ A )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 ex4 a = record { π1 = {!!} ; π2 = {!!} }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 ex5 : {A B C : Set} → ( A ∧ B ) ∧ C → A ∧ (B ∧ C)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 ex5 a∧b∧c = record { π1 = {!!} ; π2 = {!!} }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
266
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
34 --
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
35 -- [(A → B ) ∧ ( B → C) ]₁
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
36 -- ──────────────────────────────────── π1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
37 -- [(A → B ) ∧ ( B → C) ]₁ (A → B ) [A]₂
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
38 -- ──────────────────────────── π2 ─────────────────────── λ-elim
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
39 -- ( B → C) B
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
40 -- ─────────────────────────────────────────── λ-elim
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
41 -- C
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
42 -- ─────────────────────────────────────────── λ-intro₂
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
43 -- A → C
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
44 -- ─────────────────────────────────────────── λ-intro₁
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
45 -- ( (A → B ) ∧ ( B → C) ) → A → C
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
46
138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 ex6 : {A B C : Set} → ( (A → B ) ∧ ( B → C) ) → A → C
266
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
48 ex6 x a = {!!}
138
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
266
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
50 ex6' : {A B C : Set} → (A → B ) → ( B → C) → A → C
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
51 ex6' = {!!}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 138
diff changeset
52