equal
deleted
inserted
replaced
16 val sintrs = |
16 val sintrs = |
17 ["<0,Nil> : listn(A)", |
17 ["<0,Nil> : listn(A)", |
18 "[| a: A; <n,l> : listn(A) |] ==> <succ(n), Cons(a,l)> : listn(A)"] |
18 "[| a: A; <n,l> : listn(A) |] ==> <succ(n), Cons(a,l)> : listn(A)"] |
19 val monos = [] |
19 val monos = [] |
20 val con_defs = [] |
20 val con_defs = [] |
21 val type_intrs = nat_typechecks @ List.intrs @ [SigmaI] |
21 val type_intrs = nat_typechecks @ List.intrs |
22 val type_elims = [SigmaE2]); |
22 val type_elims = []); |
23 |
23 |
24 val listn_induct = standard |
24 val listn_induct = standard |
25 (ListN.mutual_induct RS spec RS spec RSN (2,rev_mp)); |
25 (ListN.mutual_induct RS spec RS spec RSN (2,rev_mp)); |
26 |
26 |
27 goal ListN.thy "!!l. l:list(A) ==> <length(l),l> : listn(A)"; |
27 goal ListN.thy "!!l. l:list(A) ==> <length(l),l> : listn(A)"; |