annotate list-nat.agda @ 101:0f7086b6a1a6

on going ...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 31 Jul 2013 15:17:15 +0900
parents 98b8431a419b
children 5f331dfc000b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
1 module list-nat where
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
2
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
3 open import Level
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 postulate a : Set
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 postulate b : Set
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 postulate c : Set
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 infixr 40 _::_
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 data List {a} (A : Set a) : Set a where
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 [] : List A
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 _::_ : A -> List A -> List A
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 infixl 30 _++_
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 _++_ : ∀ {a} {A : Set a} -> List A -> List A -> List A
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 [] ++ ys = ys
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 (x :: xs) ++ ys = x :: (xs ++ ys)
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 l1 = a :: []
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 l2 = a :: b :: a :: c :: []
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 l3 = l1 ++ l2
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
30
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
27 data Node {a} ( A : Set a ) : Set a where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
28 leaf : A -> Node A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
29 node : Node A -> Node A -> Node A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
30
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
31 flatten : ∀{n} { A : Set n } -> Node A -> List A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
32 flatten ( leaf a ) = a :: []
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
33 flatten ( node a b ) = flatten a ++ flatten b
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
34
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
35 n1 = node ( leaf a ) ( node ( leaf b ) ( leaf c ))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
36
18
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
37 open import Relation.Binary.PropositionalEquality
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
38
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 infixr 20 _==_
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
41 data _==_ {n} {A : Set n} : List A -> List A -> Set n where
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 reflection : {x : List A} -> x == x
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
43
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
44 cong1 : ∀{a} {A : Set a } {b} { B : Set b } ->
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
45 ( f : List A -> List B ) -> {x : List A } -> {y : List A} -> x == y -> f x == f y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
46 cong1 f reflection = reflection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
47
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
48 eq-cons : ∀{n} {A : Set n} {x y : List A} ( a : A ) -> x == y -> ( a :: x ) == ( a :: y )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
49 eq-cons a z = cong1 ( \x -> ( a :: x) ) z
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
50
20
e34c93046acf clean up list-nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
51 trans-list : ∀{n} {A : Set n} {x y z : List A} -> x == y -> y == z -> x == z
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
52 trans-list reflection reflection = reflection
18
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
53
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
54
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
55 ==-to-≡ : ∀{n} {A : Set n} {x y : List A} -> x == y -> x ≡ y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
56 ==-to-≡ reflection = refl
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 list-id-l : { A : Set } -> { x : List A} -> [] ++ x == x
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 list-id-l = reflection
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 list-id-r : { A : Set } -> ( x : List A ) -> x ++ [] == x
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 list-id-r [] = reflection
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
63 list-id-r (x :: xs) = eq-cons x ( list-id-r xs )
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 list-assoc : {A : Set } -> ( xs ys zs : List A ) ->
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 ( ( xs ++ ys ) ++ zs ) == ( xs ++ ( ys ++ zs ) )
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 list-assoc [] ys zs = reflection
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
68 list-assoc (x :: xs) ys zs = eq-cons x ( list-assoc xs ys zs )
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69
18
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
70
20
e34c93046acf clean up list-nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
71 module ==-Reasoning {n} (A : Set n ) where
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
72
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
73 infixr 2 _∎
30
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
74 infixr 2 _==⟨_⟩_ _==⟨⟩_
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
75 infix 1 begin_
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
78 data _IsRelatedTo_ (x y : List A) :
18
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
79 Set n where
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
80 relTo : (x≈y : x == y ) → x IsRelatedTo y
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
81
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
82 begin_ : {x : List A } {y : List A} →
18
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
83 x IsRelatedTo y → x == y
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
84 begin relTo x≈y = x≈y
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
85
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
86 _==⟨_⟩_ : (x : List A ) {y z : List A} →
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
87 x == y → y IsRelatedTo z → x IsRelatedTo z
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
88 _ ==⟨ x≈y ⟩ relTo y≈z = relTo (trans-list x≈y y≈z)
18
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
89
30
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
90 _==⟨⟩_ : (x : List A ) {y : List A}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
91 → x IsRelatedTo y → x IsRelatedTo y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
92 _ ==⟨⟩ x≈y = x≈y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 20
diff changeset
93
20
e34c93046acf clean up list-nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
94 _∎ : (x : List A ) → x IsRelatedTo x
18
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
95 _∎ _ = relTo reflection
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
96
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
97 lemma11 : ∀{n} (A : Set n) ( x : List A ) -> x == x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
98 lemma11 A x = let open ==-Reasoning A in
18
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
99 begin x ∎
da1b8250e72a reasoning worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 17
diff changeset
100
20
e34c93046acf clean up list-nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
101 ++-assoc : ∀{n} (L : Set n) ( xs ys zs : List L ) -> (xs ++ ys) ++ zs == xs ++ (ys ++ zs)
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
102 ++-assoc A [] ys zs = let open ==-Reasoning A in
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
103 begin -- to prove ([] ++ ys) ++ zs == [] ++ (ys ++ zs)
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 ( [] ++ ys ) ++ zs
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
105 ==⟨ reflection ⟩
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 ys ++ zs
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
107 ==⟨ reflection ⟩
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 [] ++ ( ys ++ zs )
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
109
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
110
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
111 ++-assoc A (x :: xs) ys zs = let open ==-Reasoning A in
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
112 begin -- to prove ((x :: xs) ++ ys) ++ zs == (x :: xs) ++ (ys ++ zs)
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 ((x :: xs) ++ ys) ++ zs
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
114 ==⟨ reflection ⟩
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 (x :: (xs ++ ys)) ++ zs
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
116 ==⟨ reflection ⟩
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 x :: ((xs ++ ys) ++ zs)
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
118 ==⟨ cong1 (_::_ x) (++-assoc A xs ys zs) ⟩
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 x :: (xs ++ (ys ++ zs))
17
03d39cabebb7 not working yet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 16
diff changeset
120 ==⟨ reflection ⟩
15
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 (x :: xs) ++ (ys ++ zs)
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
122
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
124
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 --data Bool : Set where
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 -- true : Bool
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 -- false : Bool
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
129
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
130
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 --postulate Obj : Set
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 --postulate Hom : Obj -> Obj -> Set
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 --postulate id : { a : Obj } -> Hom a a
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 --infixr 80 _○_
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 --postulate _○_ : { a b c : Obj } -> Hom b c -> Hom a b -> Hom a c
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 -- postulate axId1 : {a b : Obj} -> ( f : Hom a b ) -> f == id ○ f
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 -- postulate axId2 : {a b : Obj} -> ( f : Hom a b ) -> f == f ○ id
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 --assoc : { a b c d : Obj } ->
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 -- (f : Hom c d ) -> (g : Hom b c) -> (h : Hom a b) ->
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 -- (f ○ g) ○ h == f ○ ( g ○ h)
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 --a = Set
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
151
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 -- ListObj : {A : Set} -> List A
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 -- ListObj = List Set
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
154
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 -- ListHom : ListObj -> ListObj -> Set
730a4a59a7bd list nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
156