src/Pure/term.ML
changeset 7638 f586d7995474
parent 7406 e94cbbe72c5d
child 8408 4d981311dab7
equal deleted inserted replaced
7637:16347ef1d222 7638:f586d7995474
    98   val mem_sort: sort * class list list -> bool
    98   val mem_sort: sort * class list list -> bool
    99   val subset_sort: sort list * class list list -> bool
    99   val subset_sort: sort list * class list list -> bool
   100   val eq_set_sort: sort list * sort list -> bool
   100   val eq_set_sort: sort list * sort list -> bool
   101   val ins_sort: sort * class list list -> class list list
   101   val ins_sort: sort * class list list -> class list list
   102   val union_sort: sort list * sort list -> sort list
   102   val union_sort: sort list * sort list -> sort list
       
   103   val rems_sort: sort list * sort list -> sort list
   103   val aconv: term * term -> bool
   104   val aconv: term * term -> bool
   104   val aconvs: term list * term list -> bool
   105   val aconvs: term list * term list -> bool
   105   val mem_term: term * term list -> bool
   106   val mem_term: term * term list -> bool
   106   val subset_term: term list * term list -> bool
   107   val subset_term: term list * term list -> bool
   107   val eq_set_term: term list * term list -> bool
   108   val eq_set_term: term list * term list -> bool
   553   | subset_sort (x :: xs, ys) = mem_sort (x, ys) andalso subset_sort(xs, ys);
   554   | subset_sort (x :: xs, ys) = mem_sort (x, ys) andalso subset_sort(xs, ys);
   554 
   555 
   555 fun eq_set_sort (xs, ys) =
   556 fun eq_set_sort (xs, ys) =
   556     xs = ys orelse (subset_sort (xs, ys) andalso subset_sort (ys, xs));
   557     xs = ys orelse (subset_sort (xs, ys) andalso subset_sort (ys, xs));
   557 
   558 
       
   559 val rems_sort = gen_rems eq_sort;
       
   560 
   558 (*are two term lists alpha-convertible in corresponding elements?*)
   561 (*are two term lists alpha-convertible in corresponding elements?*)
   559 fun aconvs ([],[]) = true
   562 fun aconvs ([],[]) = true
   560   | aconvs (t::ts, u::us) = t aconv u andalso aconvs(ts,us)
   563   | aconvs (t::ts, u::us) = t aconv u andalso aconvs(ts,us)
   561   | aconvs _ = false;
   564   | aconvs _ = false;
   562 
   565