From: acondolu Date: Mon, 10 Jul 2017 12:13:36 +0000 (+0200) Subject: Arity inherited only in the case (true, min_int) X-Git-Tag: weak-reduction-separation~68 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=0e005c102417c907b7dd0ec48a45739fafe54f59;p=fireball-separation.git Arity inherited only in the case (true, min_int) Problem 25 fails because a fake variable becomes critical step. --- diff --git a/ocaml/num.ml b/ocaml/num.ml index d59d07f..2cb9b73 100644 --- a/ocaml/num.ml +++ b/ocaml/num.ml @@ -200,7 +200,7 @@ and subst truelam delift_by_one what (with_what : nf) (where : nf) = let aux_propagate_arity ar = function | `Lam(false,`Match(`I(v,args),(x,_),liftno,bs,args')) when not delift_by_one -> `Lam(false,`Match(`I(v,args),(x,ar),liftno,bs,args')) - | `Var(i,_) -> `Var(i,ar) + | `Var(i,oldar) -> `Var(i, if truelam && oldar = min_int then ar else oldar) | _ as t -> t in let rec aux_i_num_var l = function