From c2f2610de7b8c84cf763900ea2b90893c2e18ec1 Mon Sep 17 00:00:00 2001 From: Martin Clochard <martin.clochard@lri.fr> Date: Fri, 1 Jul 2016 11:07:11 +0200 Subject: [PATCH] compute: fix correction bug related to typing corner cases --- src/transform/reduction_engine.ml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/transform/reduction_engine.ml b/src/transform/reduction_engine.ml index f2f23f8fe8..f568867418 100644 --- a/src/transform/reduction_engine.ml +++ b/src/transform/reduction_engine.ml @@ -330,8 +330,12 @@ let first_order_matching (vars : Svs.t) (largs : term list) begin match t2.t_node with | Tapp(ls2,args2) when ls_equal ls1 ls2 -> - loop sigma (List.rev_append args1 r1) - (List.rev_append args2 r2) + let mt, mv = loop sigma (List.rev_append args1 r1) + (List.rev_append args2 r2) in + begin + try Ty.oty_match mt t1.t_ty t2.t_ty, mv + with Ty.TypeMismatch _ -> raise NoMatch + end | _ -> raise NoMatch end | _ -> -- GitLab