equal
deleted
inserted
replaced
5 |
5 |
6 Datatype definition of Lists |
6 Datatype definition of Lists |
7 *) |
7 *) |
8 |
8 |
9 structure List = Datatype_Fun |
9 structure List = Datatype_Fun |
10 (val thy = Univ.thy; |
10 (val thy = Univ.thy |
11 val rec_specs = |
11 val rec_specs = [("list", "univ(A)", |
12 [("list", "univ(A)", |
12 [(["Nil"], "i"), |
13 [(["Nil"], "i"), |
13 (["Cons"], "[i,i]=>i")])] |
14 (["Cons"], "[i,i]=>i")])]; |
14 val rec_styp = "i=>i" |
15 val rec_styp = "i=>i"; |
15 val ext = None |
16 val ext = None |
16 val sintrs = ["Nil : list(A)", |
17 val sintrs = |
17 "[| a: A; l: list(A) |] ==> Cons(a,l) : list(A)"] |
18 ["Nil : list(A)", |
18 val monos = [] |
19 "[| a: A; l: list(A) |] ==> Cons(a,l) : list(A)"]; |
|
20 val monos = []; |
|
21 val type_intrs = datatype_intrs |
19 val type_intrs = datatype_intrs |
22 val type_elims = datatype_elims); |
20 val type_elims = datatype_elims); |
23 |
21 |
24 store_theory "List" List.thy; |
22 store_theory "List" List.thy; |
25 |
23 |