src/HOLCF/Tools/Domain/domain_constructors.ML
changeset 35514 a2cfa413eaab
parent 35496 9ed6a6d6615b
child 35526 85e9423d7deb
equal deleted inserted replaced
35513:89eddccbb93d 35514:a2cfa413eaab
     8 signature DOMAIN_CONSTRUCTORS =
     8 signature DOMAIN_CONSTRUCTORS =
     9 sig
     9 sig
    10   val add_domain_constructors :
    10   val add_domain_constructors :
    11       string
    11       string
    12       -> (binding * (bool * binding option * typ) list * mixfix) list
    12       -> (binding * (bool * binding option * typ) list * mixfix) list
    13       -> Domain_Isomorphism.iso_info
    13       -> Domain_Take_Proofs.iso_info
    14       -> theory
    14       -> theory
    15       -> { con_consts : term list,
    15       -> { con_consts : term list,
    16            con_betas : thm list,
    16            con_betas : thm list,
    17            exhaust : thm,
    17            exhaust : thm,
    18            casedist : thm,
    18            casedist : thm,
  1009 (******************************************************************************)
  1009 (******************************************************************************)
  1010 
  1010 
  1011 fun add_domain_constructors
  1011 fun add_domain_constructors
  1012     (dname : string)
  1012     (dname : string)
  1013     (spec : (binding * (bool * binding option * typ) list * mixfix) list)
  1013     (spec : (binding * (bool * binding option * typ) list * mixfix) list)
  1014     (iso_info : Domain_Isomorphism.iso_info)
  1014     (iso_info : Domain_Take_Proofs.iso_info)
  1015     (thy : theory) =
  1015     (thy : theory) =
  1016   let
  1016   let
  1017 
  1017 
  1018     (* retrieve facts about rep/abs *)
  1018     (* retrieve facts about rep/abs *)
  1019     val lhsT = #absT iso_info;
  1019     val lhsT = #absT iso_info;