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 |