From 5fd696afdd49b90e0d0ed1c27688c7ab9c0346de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Bobot?= <francois.bobot@cea.fr> Date: Wed, 1 Jun 2022 21:21:07 +0200 Subject: [PATCH] Import from Bin:a1af7a0 Src:9fd72416b farith:a93db57 --- Src/COLIBRI/col_solve.pl | 26 +++++++++++++++++++------- Src/COLIBRI/smt_import.pl | 12 +++--------- Src/COLIBRI/solve.pl | 12 +++++++----- 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/Src/COLIBRI/col_solve.pl b/Src/COLIBRI/col_solve.pl index c10b11cb1..1676ba9db 100644 --- a/Src/COLIBRI/col_solve.pl +++ b/Src/COLIBRI/col_solve.pl @@ -830,7 +830,7 @@ smt_test(TO,Size,CI) :- %StrDir = "./colibri_tests/colibri/tests/", %StrDir = "./colibri_tests/colibri/tests/sat/", % 0 en 20s (sans real/float->int!) - %StrDir = "./colibri_tests/colibri/tests/unsat/", %0 + StrDir = "./colibri_tests/colibri/tests/unsat/", %0 %StrDir = "./colibri_tests/colibri/tests/unknown/", %StrDir = "./colibri_tests/colibri/tests/timeout/", @@ -1014,7 +1014,7 @@ smt_test(TO,Size,CI) :- %StrDir = "./QF_FP/20170501-Heizmann-UltimateAutomizer/", % 0 %StrDir = "./QF_FP/20190429-UltimateAutomizerSvcomp2019/",% 0 (bitwuzla 0) %StrDir = "./QF_FP/ramalho/", % 1 (cvc4 19)(bitwuzla 17) - StrDir = "./QF_FP/griggio/", % 52/214 (min_solve, sans lin_solve ni ls_reduce..)(39) + %StrDir = "./QF_FP/griggio/", % 52/214 (min_solve, sans lin_solve ni ls_reduce..)(39) %(cvc4 89)(bitwuzla 74) LES DD DEMARRENT TROP VITE ? %StrDir = "./QF_FP/schanda/spark/", % 6! (min_solve avec X =< (X+Y)/2 =< Y) (ncvc4 8)(bitwuzla 3) %StrDir = "./QF_FP/wintersteiger/", % tout OK @@ -1684,6 +1684,7 @@ smt_unit_test(StrDir0,TO,CI) :- getval(init_code,Code), incNbCode(Code), + getval(smt_status,Status)@eclipse, (Code == 2 -> ((CI == 1, getval(make_UT,0)@eclipse) @@ -1693,13 +1694,24 @@ smt_unit_test(StrDir0,TO,CI) :- exit(4) ; true), getval(bug,Bugs), - (getval(smt_status,unknown)@eclipse -> + (Status == unknown -> setval(bug,[smt_unknown:F|Bugs]) ; setval(bug,[F|Bugs])) - ; (Code == 3 -> - incval(nbTO) - ; pathname(F,PF,NF), - (Code > 2 -> + ; pathname(F,PF,NF), + (Code == 3 -> + incval(nbTO), + ((CI == 1, + getval(make_UT,0)@eclipse) + -> + true + ; % on supprime le TO de UnitTests + concat_string(["UnitTests/",Status,"/",Logic,"/",NF], + TargetFile), + (exists(TargetFile) -> + concat_string(["rm ",TargetFile],Rm), + system(Rm) + ; true)) + ; (Code > 2 -> true ; (Code == 0 -> concat_string(["UnitTests/unsat/",Logic,"/"],TargetDir) diff --git a/Src/COLIBRI/smt_import.pl b/Src/COLIBRI/smt_import.pl index a41b9b0af..4dad14dc0 100644 --- a/Src/COLIBRI/smt_import.pl +++ b/Src/COLIBRI/smt_import.pl @@ -1005,7 +1005,7 @@ dump_type_val(real,Val0,Val) ?- !, dump_type_val('Real',Val0,Val). dump_type_val('Real',Val0,NVal) ?- !, (var(Val0) -> - (known_real_box(Val0,SNum,SDenN,Neg) -> + (known_real_box(Val0,SNum,SDen,Neg) -> (SDen == "1" -> concat_string([SNum,".0"],Val) ; concat_string(["(/ ",SNum,".0 ",SDen,".0)"],Val)) @@ -1094,7 +1094,8 @@ dump_type_val(OType,Val,SVal) :- term_string(TVal,STVal), TVal =.. [':',Type,Cpt], build_end_val_from_old_type(OType,SEndVal), - concat_string(["|val",Cpt,":",SEndVal,"|"],SVal). +% concat_string(["|val",Cpt,":",SEndVal,"|"],SVal). + concat_string(["(as @uc_",SEndVal,"_",Cpt," ",SEndVal,")"],SVal). build_end_val_from_old_type([],[]) :- !. build_end_val_from_old_type([OType|OTypes],[NType|NTypes]) :- !, @@ -1184,13 +1185,6 @@ dump_smt_model(Vars) :- getval(sorts,HSorts), getval(declared_funs,DFs-[]), writeln(output,"(model"), - (HSorts == 0 -> - true - ; hash_list(HSorts,Ks,Vs), - (foreach(Sort,Ks), - foreach((Ar,SortVals),Vs) do - concat_string([" (declare-sort ",Sort," ",Ar,")"],Ds), - writeln(output,Ds))), (foreach((VN,InSorts,OutSort),DFs), fromto([],IU,OU,Uninterps), fromto(Vars,InVars,OutVars,NVars) do diff --git a/Src/COLIBRI/solve.pl b/Src/COLIBRI/solve.pl index 0c1f3f87c..f884918f7 100644 --- a/Src/COLIBRI/solve.pl +++ b/Src/COLIBRI/solve.pl @@ -12554,11 +12554,13 @@ occurs_in_comp(Var,Comp) :- member(Comp,Goals), functor(Comp,FComp,_), occurs(FComp,(gt_real,diff_real)), - Comp =.. [_,X,Y], - mreal:dvar_range(X,LX,HX), - (LX,HX) \== (-1.0Inf,1.0Inf), - mreal:dvar_range(Y,LY,HY), - (LY,HY) \== (-1.0Inf,1.0Inf). + Comp =.. [_,_,X,Y], + (Y == Var -> + mreal:dvar_range(X,LX,HX), + (LX,HX) \== (-1.0Inf,1.0Inf) + ; % X == Var + mreal:dvar_range(Y,LY,HY), + (LY,HY) \== (-1.0Inf,1.0Inf)). try_rat_satisfying_comp(gt_real(_,X,Y),Var,Rat) :- (X == Var -> -- GitLab