src/Pure/type.ML
changeset 8715 2cdabe1bb350
parent 8610 f0f7600b2605
child 8721 453b493ece0a
equal deleted inserted replaced
8714:61cafd91963c 8715:2cdabe1bb350
    27      arities: Sorts.arities}
    27      arities: Sorts.arities}
    28   val classes: type_sig -> class list
    28   val classes: type_sig -> class list
    29   val defaultS: type_sig -> sort
    29   val defaultS: type_sig -> sort
    30   val logical_types: type_sig -> string list
    30   val logical_types: type_sig -> string list
    31   val univ_witness: type_sig -> (typ * sort) option
    31   val univ_witness: type_sig -> (typ * sort) option
       
    32   val is_type_abbr: type_sig -> string -> bool
    32   val subsort: type_sig -> sort * sort -> bool
    33   val subsort: type_sig -> sort * sort -> bool
    33   val eq_sort: type_sig -> sort * sort -> bool
    34   val eq_sort: type_sig -> sort * sort -> bool
    34   val norm_sort: type_sig -> sort -> sort
    35   val norm_sort: type_sig -> sort -> sort
    35   val witness_sorts: type_sig -> sort list -> sort list -> (typ * sort) list
    36   val witness_sorts: type_sig -> sort list -> sort list -> (typ * sort) list
    36   val rem_sorts: typ -> typ
    37   val rem_sorts: typ -> typ
   176 
   177 
   177 fun classes (TySg {classes = cs, ...}) = cs;
   178 fun classes (TySg {classes = cs, ...}) = cs;
   178 fun defaultS (TySg {default, ...}) = default;
   179 fun defaultS (TySg {default, ...}) = default;
   179 fun logical_types (TySg {log_types, ...}) = log_types;
   180 fun logical_types (TySg {log_types, ...}) = log_types;
   180 fun univ_witness (TySg {univ_witness, ...}) = univ_witness;
   181 fun univ_witness (TySg {univ_witness, ...}) = univ_witness;
       
   182 fun is_type_abbr (TySg {abbrs, ...}) name = is_some (Symtab.lookup (abbrs, name));
   181 
   183 
   182 
   184 
   183 (* sorts *)
   185 (* sorts *)
   184 
   186 
   185 fun subsort (TySg {classrel, ...}) = Sorts.sort_le classrel;
   187 fun subsort (TySg {classrel, ...}) = Sorts.sort_le classrel;