src/ZF/Fin.ML
changeset 477 53fc8ad84b33
parent 444 3ca9d49fd662
child 484 70b789956bd3
equal deleted inserted replaced
476:836cad329311 477:53fc8ad84b33
    15 Fin(univ(A)) <= univ(A)
    15 Fin(univ(A)) <= univ(A)
    16 *)
    16 *)
    17 
    17 
    18 structure Fin = Inductive_Fun
    18 structure Fin = Inductive_Fun
    19  (val thy        = Arith.thy |> add_consts [("Fin", "i=>i", NoSyn)]
    19  (val thy        = Arith.thy |> add_consts [("Fin", "i=>i", NoSyn)]
       
    20   val thy_name   = "Fin"
    20   val rec_doms   = [("Fin","Pow(A)")]
    21   val rec_doms   = [("Fin","Pow(A)")]
    21   val sintrs     = ["0 : Fin(A)",
    22   val sintrs     = ["0 : Fin(A)",
    22                     "[| a: A;  b: Fin(A) |] ==> cons(a,b) : Fin(A)"]
    23                     "[| a: A;  b: Fin(A) |] ==> cons(a,b) : Fin(A)"]
    23   val monos      = []
    24   val monos      = []
    24   val con_defs   = []
    25   val con_defs   = []
    25   val type_intrs = [empty_subsetI, cons_subsetI, PowI]
    26   val type_intrs = [empty_subsetI, cons_subsetI, PowI]
    26   val type_elims = [make_elim PowD]);
    27   val type_elims = [make_elim PowD]);
    27 
       
    28 store_theory "Fin" Fin.thy;
       
    29 
    28 
    30 val [Fin_0I, Fin_consI] = Fin.intrs;
    29 val [Fin_0I, Fin_consI] = Fin.intrs;
    31 
    30 
    32 
    31 
    33 goalw Fin.thy Fin.defs "!!A B. A<=B ==> Fin(A) <= Fin(B)";
    32 goalw Fin.thy Fin.defs "!!A B. A<=B ==> Fin(A) <= Fin(B)";