src/Pure/type.ML
changeset 45595 fe57d786fd5b
parent 45445 41e641a870de
child 45666 d83797ef0d2d
equal deleted inserted replaced
45594:d320f2f9f331 45595:fe57d786fd5b
   206 fun eq_sort (TSig {classes, ...}) = Sorts.sort_eq (#2 classes);
   206 fun eq_sort (TSig {classes, ...}) = Sorts.sort_eq (#2 classes);
   207 fun subsort (TSig {classes, ...}) = Sorts.sort_le (#2 classes);
   207 fun subsort (TSig {classes, ...}) = Sorts.sort_le (#2 classes);
   208 fun of_sort (TSig {classes, ...}) = Sorts.of_sort (#2 classes);
   208 fun of_sort (TSig {classes, ...}) = Sorts.of_sort (#2 classes);
   209 fun inter_sort (TSig {classes, ...}) = Sorts.inter_sort (#2 classes);
   209 fun inter_sort (TSig {classes, ...}) = Sorts.inter_sort (#2 classes);
   210 
   210 
   211 fun cert_class (TSig {classes, ...}) = Sorts.certify_class (#2 classes);
   211 fun cert_class (TSig {classes = (_, algebra), ...}) c =
   212 fun cert_sort (TSig {classes, ...}) = Sorts.certify_sort (#2 classes);
   212   if can (Graph.get_entry (Sorts.classes_of algebra)) c then c
       
   213   else raise TYPE ("Undeclared class: " ^ quote c, [], []);
       
   214 
       
   215 val cert_sort = map o cert_class;
       
   216 
   213 fun minimize_sort (TSig {classes, ...}) = Sorts.minimize_sort (#2 classes);
   217 fun minimize_sort (TSig {classes, ...}) = Sorts.minimize_sort (#2 classes);
   214 
   218 
   215 fun witness_sorts (TSig {classes, log_types, ...}) =
   219 fun witness_sorts (TSig {classes, log_types, ...}) =
   216   Sorts.witness_sorts (#2 classes) log_types;
   220   Sorts.witness_sorts (#2 classes) log_types;
   217 
   221