| C.Meta _ as t -> TermSet.singleton t
| C.Appl l ->
List.fold_left (fun res t -> TermSet.union res (aux t)) TermSet.empty l
+ | C.Lambda(n,s,t) ->
+ TermSet.union (aux s) (aux t)
+ | C.Prod(n,s,t) ->
+ TermSet.union (aux s) (aux t)
+ | C.LetIn(n,s,t) ->
+ TermSet.union (aux s) (aux t)
| t -> TermSet.empty (* TODO: maybe add other cases? *)
in
aux term
if t = t' then t else
begin
let simpl_order = !compare_terms t t' in
- if debug then
- prerr_endline ("comparing "^(CicPp.ppterm t)^(CicPp.ppterm t'));
+ debug_print (lazy ("comparing "^(CicPp.ppterm t)^(CicPp.ppterm t')));
if simpl_order = Gt then (if debug then prerr_endline "GT";t')
else (if debug then prerr_endline "NO_GT";t)
end