Nominal/nominal_dt_quot.ML
changeset 3210 024d07886de8
parent 3172 4cf3a4d36799
child 3218 89158f401b07
equal deleted inserted replaced
3207:d3f7c8cce53b 3210:024d07886de8
    56 
    56 
    57 (* defines the quotient types *)
    57 (* defines the quotient types *)
    58 fun define_qtypes qtys_descr alpha_tys alpha_trms alpha_equivp_thms lthy =
    58 fun define_qtypes qtys_descr alpha_tys alpha_trms alpha_equivp_thms lthy =
    59   let
    59   let
    60     val qty_args1 = map2 (fn ty => fn trm => (ty, trm, false)) alpha_tys alpha_trms
    60     val qty_args1 = map2 (fn ty => fn trm => (ty, trm, false)) alpha_tys alpha_trms
    61     val qty_args2 = (map2 (fn descr => fn args1 => (descr, args1, (NONE, false))) qtys_descr qty_args1)
    61     val qty_args2 = map2 (fn descr => fn args1 => (descr, args1, (NONE, false, NONE))) qtys_descr qty_args1
    62     val qty_args3 = qty_args2 ~~ alpha_equivp_thms
    62     val qty_args3 = qty_args2 ~~ alpha_equivp_thms
    63   in
    63   in
    64     fold_map Quotient_Type.add_quotient_type qty_args3 lthy
    64     fold_map Quotient_Type.add_quotient_type qty_args3 lthy
    65   end 
    65   end 
    66 
    66