Skip to content

Commit

Permalink
#295, only havoc variable when removing pvocs from an EqState
Browse files Browse the repository at this point in the history
  • Loading branch information
alexandernutz committed Jan 23, 2018
1 parent 17948a9 commit 5ab50b2
Showing 1 changed file with 7 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import de.uni_freiburg.informatik.ultimate.modelcheckerutils.absint.vpdomain.EqNodeAndFunctionFactory;
import de.uni_freiburg.informatik.ultimate.modelcheckerutils.boogie.BoogieConst;
import de.uni_freiburg.informatik.ultimate.modelcheckerutils.cfg.variables.IProgramOldVar;
import de.uni_freiburg.informatik.ultimate.modelcheckerutils.cfg.variables.IProgramVar;
import de.uni_freiburg.informatik.ultimate.modelcheckerutils.cfg.variables.IProgramVarOrConst;
import de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.equalityanalysis.IEqualityProvidingIntermediateState;
import de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.equalityanalysis.IEqualityProvidingState;
Expand Down Expand Up @@ -99,8 +100,13 @@ public EqState addVariables(final Collection<IProgramVarOrConst> variables) {

@Override
public EqState removeVariables(final Collection<IProgramVarOrConst> variables) {

final Set<IProgramVarOrConst> variablesFiltered = variables.stream().filter(var -> var instanceof IProgramVar)
.collect(Collectors.toSet());

final Set<Term> termsFromPvocs =
variables.stream().map(pvoc -> pvoc.getTerm()).collect(Collectors.toSet());
variablesFiltered.stream().map(pvoc -> pvoc.getTerm()).collect(Collectors.toSet());
// variables.stream().map(pvoc -> pvoc.getTerm()).collect(Collectors.toSet());
final EqConstraint<EqNode> projectedConstraint =
mFactory.getEqConstraintFactory().projectExistentially(termsFromPvocs, mConstraint, false);

Expand Down

0 comments on commit 5ab50b2

Please sign in to comment.