Skip to content

Commit f2e9ea0

Browse files
committed
Remove Previous Filtering
1 parent 0d2d9e7 commit f2e9ea0

File tree

3 files changed

+5
-22
lines changed

3 files changed

+5
-22
lines changed

liquidjava-verifier/src/main/java/liquidjava/processor/context/Context.java

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -85,20 +85,7 @@ public Map<String, CtTypeReference<?>> getContext() {
8585
ret.put(var.getName(), var.getType());
8686
return ret;
8787
}
88-
89-
public Set<String> getVariableRefinements() {
90-
Set<RefinedVariable> vars = new HashSet<>();
91-
vars.addAll(ctxVars.peek());
92-
vars.addAll(ctxInstanceVars);
93-
vars.addAll(ctxGlobalVars);
94-
Set<String> refinements = new HashSet<>();
95-
for (RefinedVariable var : vars) {
96-
if (var.getRefinement() != null)
97-
refinements.add(var.getRefinement().toString());
98-
}
99-
return refinements;
100-
}
101-
88+
10289
// ---------------------- Global variables ----------------------
10390
public void addGlobalVariableToContext(String simpleName, String location, CtTypeReference<?> type, Predicate c) {
10491
RefinedVariable vi = new Variable(simpleName, location, type, c);

liquidjava-verifier/src/main/java/liquidjava/smt/SMTEvaluator.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ public SMTResult verifySubtype(Predicate subRef, Predicate supRef, Context conte
3838
// subRef is not a subtype of supRef
3939
if (result.equals(Status.SATISFIABLE)) {
4040
Model model = solver.getModel();
41-
Set<String> variableRefinements = context.getVariableRefinements();
42-
Counterexample counterexample = tz3.getCounterexample(model, variableRefinements);
41+
Counterexample counterexample = tz3.getCounterexample(model);
4342
return SMTResult.error(counterexample);
4443
}
4544
}

liquidjava-verifier/src/main/java/liquidjava/smt/TranslatorToZ3.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import java.util.HashMap;
2020
import java.util.List;
2121
import java.util.Map;
22-
import java.util.Set;
2322
import java.util.stream.Collectors;
2423

2524
import liquidjava.diagnostics.errors.LJError;
@@ -59,7 +58,7 @@ public Solver makeSolverForExpression(Expr<?> e) {
5958
/**
6059
* Extracts the counterexample from the Z3 model
6160
*/
62-
public Counterexample getCounterexample(Model model, Set<String> variableRefinements) {
61+
public Counterexample getCounterexample(Model model) {
6362
List<String> assignments = new ArrayList<>();
6463
// Extract constant variable assignments
6564
for (FuncDecl<?> decl : model.getDecls()) {
@@ -68,8 +67,7 @@ public Counterexample getCounterexample(Model model, Set<String> variableRefinem
6867
Expr<?> value = model.getConstInterp(decl);
6968
String assignment = name + " == " + value;
7069
// Skip values of uninterpreted sorts
71-
if (value.getSort().getSortKind() != Z3_sort_kind.Z3_UNINTERPRETED_SORT
72-
&& !variableRefinements.contains(assignment))
70+
if (value.getSort().getSortKind() != Z3_sort_kind.Z3_UNINTERPRETED_SORT)
7371
assignments.add(assignment);
7472
}
7573
}
@@ -79,8 +77,7 @@ public Counterexample getCounterexample(Model model, Set<String> variableRefinem
7977
Expr<?> application = entry.getValue();
8078
Expr<?> value = model.eval(application, true);
8179
String assignment = name + " == " + value;
82-
if (!variableRefinements.contains(assignment))
83-
assignments.add(assignment);
80+
assignments.add(assignment);
8481
}
8582
return new Counterexample(assignments);
8683
}

0 commit comments

Comments
 (0)