equal
deleted
inserted
replaced
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; |