Nominal/nominal_dt_quot.ML
changeset 3172 4cf3a4d36799
parent 3161 aa1ba91ed1ff
child 3209 2fb0bc0dcbf1
child 3210 024d07886de8
equal deleted inserted replaced
3167:c25386402f6a 3172:4cf3a4d36799
    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)) qtys_descr qty_args1)
    61     val qty_args2 = (map2 (fn descr => fn args1 => (descr, args1, (NONE, false))) 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