\ / This software is distributed as is, NO WARRANTY.
V_______________________________________________________________ *)
-module Subst (B : Terms.Blob) = struct
+(* module Subst (B : Terms.Blob) = struct *)
let id_subst = [];;
let build_subst n t tail = (n,t) :: tail ;;
- let rec lookup_subst var subst =
+ let rec lookup var subst =
match var with
| Terms.Var i ->
(try
- lookup_subst (List.assoc i subst) subst
+ lookup (List.assoc i subst) subst
with
Not_found -> var)
| _ -> var
;;
- let lookup_subst i subst = lookup_subst (Terms.Var i) subst;;
+ let lookup i subst = lookup (Terms.Var i) subst;;
let is_in_subst i subst = List.mem_assoc i subst;;
let rec apply_subst subst = function
| (Terms.Leaf _) as t -> t
| Terms.Var i ->
- (match lookup_subst i subst with
+ (match lookup i subst with
| Terms.Node _ as t -> apply_subst subst t
| t -> t)
| (Terms.Node l) ->
let concat x y = x @ y;;
-end
+(* end *)