]> matita.cs.unibo.it Git - helm.git/blobdiff - components/library/cicCoercion.ml
Fixed bug in notation: when a notation is applied to more arguments than expected...
[helm.git] / components / library / cicCoercion.ml
index f06035604535dcd5a132f2667292f6318dc15fd2..d7ad886b2c8fa33a07213faf7ea8b98bb9e974b4 100644 (file)
@@ -99,7 +99,7 @@ let generate_composite_closure rt c1 c2 univ arity =
     let len,names = aux [] 0 t in
     let len = len - arity in
     List.fold_left 
-      (fun (n,l) x -> if n <= len then n+1,l@[x] else n,l) (0,[]) 
+      (fun (n,l) x -> if n < len then n+1,l@[x] else n,l) (0,[]) 
       names
   in
   let compose c1 nc1 c2 nc2 =
@@ -194,8 +194,8 @@ let generate_composite_closure rt c1 c2 univ arity =
   debug_print (lazy ("\nCOMPOSING"));
   debug_print (lazy (" c1= "^CicPp.ppterm c1 ^"  :  "^ CicPp.ppterm c1_ty));
   debug_print (lazy (" c2= "^CicPp.ppterm c2 ^"  :  "^ CicPp.ppterm c2_ty));
-  let saturations_for_c1, names_c1 = count_saturations_needed c1_ty arity in 
-  let saturations_for_c2, names_c2 = count_saturations_needed c2_ty 0 in
+  let saturations_for_c1, names_c1 = count_saturations_needed c1_ty 0 in 
+  let saturations_for_c2, names_c2 = count_saturations_needed c2_ty arity in
   let c = compose c1 saturations_for_c1 c2 saturations_for_c2 in
   let spline_len = saturations_for_c1 + saturations_for_c2 in
   let c = mk_lambda_spline c (namer (names_c1 @ names_c2)) spline_len in