src/HOL/Tools/ATP/atp_util.ML
changeset 44491 ba22ed224b20
parent 44460 5d0754cf994a
child 44500 dbd98b549597
equal deleted inserted replaced
44490:e3e8d20a6ebc 44491:ba22ed224b20
    15   val maybe_quote : string -> string
    15   val maybe_quote : string -> string
    16   val string_from_ext_time : bool * Time.time -> string
    16   val string_from_ext_time : bool * Time.time -> string
    17   val string_from_time : Time.time -> string
    17   val string_from_time : Time.time -> string
    18   val type_instance : Proof.context -> typ -> typ -> bool
    18   val type_instance : Proof.context -> typ -> typ -> bool
    19   val type_generalization : Proof.context -> typ -> typ -> bool
    19   val type_generalization : Proof.context -> typ -> typ -> bool
       
    20   val type_intersect : Proof.context -> typ -> typ -> bool
    20   val type_aconv : Proof.context -> typ * typ -> bool
    21   val type_aconv : Proof.context -> typ * typ -> bool
    21   val varify_type : Proof.context -> typ -> typ
    22   val varify_type : Proof.context -> typ -> typ
    22   val instantiate_type : theory -> typ -> typ -> typ -> typ
    23   val instantiate_type : theory -> typ -> typ -> typ -> typ
    23   val varify_and_instantiate_type : Proof.context -> typ -> typ -> typ -> typ
    24   val varify_and_instantiate_type : Proof.context -> typ -> typ -> typ -> typ
    24   val typ_of_dtyp :
    25   val typ_of_dtyp :
   115 val string_from_time = string_from_ext_time o pair false
   116 val string_from_time = string_from_ext_time o pair false
   116 
   117 
   117 fun type_instance ctxt T T' =
   118 fun type_instance ctxt T T' =
   118   Sign.typ_instance (Proof_Context.theory_of ctxt) (T, T')
   119   Sign.typ_instance (Proof_Context.theory_of ctxt) (T, T')
   119 fun type_generalization ctxt T T' = type_instance ctxt T' T
   120 fun type_generalization ctxt T T' = type_instance ctxt T' T
       
   121 fun type_intersect ctxt T T' =
       
   122   type_instance ctxt T T' orelse type_generalization ctxt T T'
   120 fun type_aconv ctxt (T, T') =
   123 fun type_aconv ctxt (T, T') =
   121   type_instance ctxt T T' andalso type_instance ctxt T' T
   124   type_instance ctxt T T' andalso type_instance ctxt T' T
   122 
   125 
   123 fun varify_type ctxt T =
   126 fun varify_type ctxt T =
   124   Variable.polymorphic_types ctxt [Const (@{const_name undefined}, T)]
   127   Variable.polymorphic_types ctxt [Const (@{const_name undefined}, T)]