src/Pure/term.ML
changeset 13646 46ed3d042ba5
parent 13484 d8f5d3391766
child 13665 66e151df01c8
equal deleted inserted replaced
13645:430310b12c5b 13646:46ed3d042ba5
   152   val typ_tvars: typ -> (indexname * sort) list
   152   val typ_tvars: typ -> (indexname * sort) list
   153   val add_typ_tycons: typ * string list -> string list
   153   val add_typ_tycons: typ * string list -> string list
   154   val add_typ_varnames: typ * string list -> string list
   154   val add_typ_varnames: typ * string list -> string list
   155   val add_term_classes: term * class list -> class list
   155   val add_term_classes: term * class list -> class list
   156   val add_term_consts: term * string list -> string list
   156   val add_term_consts: term * string list -> string list
       
   157   val term_consts: term -> string list
   157   val add_term_frees: term * term list -> term list
   158   val add_term_frees: term * term list -> term list
   158   val term_frees: term -> term list
   159   val term_frees: term -> term list
   159   val add_term_free_names: term * string list -> string list
   160   val add_term_free_names: term * string list -> string list
   160   val add_term_names: term * string list -> string list
   161   val add_term_names: term * string list -> string list
   161   val add_term_tfree_names: term * string list -> string list
   162   val add_term_tfree_names: term * string list -> string list
   791 fun add_term_consts (Const (c, _), cs) = c ins_string cs
   792 fun add_term_consts (Const (c, _), cs) = c ins_string cs
   792   | add_term_consts (t $ u, cs) = add_term_consts (t, add_term_consts (u, cs))
   793   | add_term_consts (t $ u, cs) = add_term_consts (t, add_term_consts (u, cs))
   793   | add_term_consts (Abs (_, _, t), cs) = add_term_consts (t, cs)
   794   | add_term_consts (Abs (_, _, t), cs) = add_term_consts (t, cs)
   794   | add_term_consts (_, cs) = cs;
   795   | add_term_consts (_, cs) = cs;
   795 
   796 
       
   797 fun term_consts t = add_term_consts(t,[]);
       
   798 
   796 fun exists_Const P t = let
   799 fun exists_Const P t = let
   797         fun ex (Const c      ) = P c
   800         fun ex (Const c      ) = P c
   798         |   ex (t $ u        ) = ex t orelse ex u
   801         |   ex (t $ u        ) = ex t orelse ex u
   799         |   ex (Abs (_, _, t)) = ex t
   802         |   ex (Abs (_, _, t)) = ex t
   800         |   ex _               = false
   803         |   ex _               = false