equal
deleted
inserted
replaced
17 val sintrs = |
17 val sintrs = |
18 ["Nil : list(A)", |
18 ["Nil : list(A)", |
19 "[| a: A; l: list(A) |] ==> Cons(a,l) : list(A)"]; |
19 "[| a: A; l: list(A) |] ==> Cons(a,l) : list(A)"]; |
20 val monos = []; |
20 val monos = []; |
21 val type_intrs = datatype_intrs |
21 val type_intrs = datatype_intrs |
22 val type_elims = []); |
22 val type_elims = datatype_elims); |
23 |
23 |
24 val [NilI, ConsI] = List.intrs; |
24 val [NilI, ConsI] = List.intrs; |
25 |
25 |
26 (*An elimination rule, for type-checking*) |
26 (*An elimination rule, for type-checking*) |
27 val ConsE = List.mk_cases List.con_defs "Cons(a,l) : list(A)"; |
27 val ConsE = List.mk_cases List.con_defs "Cons(a,l) : list(A)"; |