src/ZF/ex/ListN.ML
changeset 496 3fc829fa81d2
parent 477 53fc8ad84b33
child 515 abcc438e7c27
equal deleted inserted replaced
495:612888a07889 496:3fc829fa81d2
    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)";