]> matita.cs.unibo.it Git - fireball-separation.git/commitdiff
Arity inherited only in the case (true, min_int)
authoracondolu <andrea.condoluci@unibo.it>
Mon, 10 Jul 2017 12:13:36 +0000 (14:13 +0200)
committeracondolu <andrea.condoluci@unibo.it>
Mon, 10 Jul 2017 12:41:50 +0000 (14:41 +0200)
Problem 25 fails because a fake variable becomes
critical step.

ocaml/num.ml

index d59d07f49f529f40eb39160acd2d5c313427c8cf..2cb9b731a1dda17d50f9211a694548e7153b89bf 100644 (file)
@@ -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