X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fhelena%2Fsrc%2Fbasic_rg%2FbrgSubstitution.ml;h=727524ca70a2088231d7101e6e46e7300a24cecd;hb=c450fdfb1b02eb69e5e7ef25f0acdf80157710df;hp=5661982a3b8101db11d69b4249577303e2135823;hpb=67686e04702688cc822e809e5168f765bf69d7cb;p=helm.git diff --git a/helm/software/helena/src/basic_rg/brgSubstitution.ml b/helm/software/helena/src/basic_rg/brgSubstitution.ml index 5661982a3..727524ca7 100644 --- a/helm/software/helena/src/basic_rg/brgSubstitution.ml +++ b/helm/software/helena/src/basic_rg/brgSubstitution.ml @@ -12,13 +12,15 @@ module G = Options module B = Brg +IFDEF TYPE THEN + let rec icm a = function | B.Sort _ | B.LRef _ | B.GRef _ -> succ a | B.Bind (_, B.Void, t) -> icm (succ a) t - | B.Cast (_, u, t) -> icm (icm a u) t - | B.Appl (_, _, u, t) + | B.Cast (u, t) -> icm (icm a u) t + | B.Appl (_, u, t) | B.Bind (_, B.Abst (_, _, u), t) | B.Bind (_, B.Abbr u, t) -> icm (icm (succ a) u) t @@ -28,12 +30,12 @@ let iter map d = | B.Abst (r, n, w) -> B.Abst (r, n, iter_term d w) | B.Abbr v -> B.Abbr (iter_term d v) and iter_term d = function - | B.Sort _ as t -> t - | B.GRef _ as t -> t + | B.Sort _ as t -> t + | B.GRef _ as t -> t | B.LRef (a, i) as t -> if i < d then t else map d a i - | B.Cast (a, w, v) -> B.Cast (a, iter_term d w, iter_term d v) - | B.Appl (a, x, w, u) -> B.Appl (a, x, iter_term d w, iter_term d u) - | B.Bind (a, b, u) -> B.Bind (a, iter_bind d b, iter_term (succ d) u) + | B.Cast (w, v) -> B.Cast (iter_term d w, iter_term d v) + | B.Appl (a, w, u) -> B.Appl (a, iter_term d w, iter_term d u) + | B.Bind (y, b, u) -> B.Bind (y, iter_bind d b, iter_term (succ d) u) in iter_term d @@ -48,3 +50,5 @@ let lift h d t = *) iter (lift_map h) d t end + +END