src/Pure/sign.ML
changeset 1214 3f3888213ceb
parent 1180 9b2efb601898
child 1216 a2f2360ce1c8
equal deleted inserted replaced
1213:a8f6d0fa2a59 1214:3f3888213ceb
    60     val add_trrules: (string * string) trrule list -> sg -> sg
    60     val add_trrules: (string * string) trrule list -> sg -> sg
    61     val add_trrules_i: ast trrule list -> sg -> sg
    61     val add_trrules_i: ast trrule list -> sg -> sg
    62     val add_name: string -> sg -> sg
    62     val add_name: string -> sg -> sg
    63     val make_draft: sg -> sg
    63     val make_draft: sg -> sg
    64     val merge: sg * sg -> sg
    64     val merge: sg * sg -> sg
       
    65     val nonempty_sort: sg * sort list * sort -> bool
    65     val proto_pure: sg
    66     val proto_pure: sg
    66     val pure: sg
    67     val pure: sg
    67     val cpure: sg
    68     val cpure: sg
    68     val const_of_class: class -> string
    69     val const_of_class: class -> string
    69     val class_of_const: string -> class
    70     val class_of_const: string -> class
   549 
   550 
   550 val cpure = proto_pure
   551 val cpure = proto_pure
   551   |> add_syntax Syntax.pure_applC_syntax
   552   |> add_syntax Syntax.pure_applC_syntax
   552   |> add_name "CPure";
   553   |> add_name "CPure";
   553 
   554 
       
   555 (**
       
   556 Emptiness-test for sorts: does there exist a type of sort 'sort' whose
       
   557 vars have sorts contained in 'sorts'?
       
   558 Trivial approximation at the moment.
       
   559 **)
       
   560 fun nonempty_sort(_,sorts,sort) = exists (fn s => sort subset s) sorts;
       
   561 
   554 end;
   562 end;