Class Solver_z3_4_5

All Implemented Interfaces:
ISolver

public class Solver_z3_4_5 extends Solver_z3_recent
z3 4.5.0: as recent z3, except that it writes echo's text unquoted even with SMTLIB2_COMPLIANT (4.6 and later quote it), so where it ends cannot be found (#136), the response to echo is its argument; and it rejects every check-sat-assuming (see translate)
  • Constructor Details

  • Method Details

    • answeredAfter

      protected Set<AbstractSolver.StackChange> answeredAfter()
      z3 4.5 reports the get- commands after a declare or define itself, except after declare-datatype(s) (probed 2026-10-29)
      Overrides:
      answeredAfter in class Solver_z3_recent
    • translate

      protected String translate(INode node) throws IVisitor.VisitorException
      z3 4.5 rejects every check-sat-assuming ("invalid check-sat-assuming command, '(', expected", a parser bug), so it is sent as z3's legacy (check-sat a1 ... an), which checks under the same assumptions, padded with spaces so z3's error columns match the check-sat-assuming text (see Solver_z3_recent.legacyCheckSat). Its unsat core then includes the assumptions, which Solver_z3_recent drops.
      Overrides:
      translate in class AbstractSolver
      Throws:
      IVisitor.VisitorException
    • echo

      public IResponse echo(IExpr.IStringLiteral arg)
      Description copied from interface: ISolver
      Echoes the argument string back to the output channel.
      Specified by:
      echo in interface ISolver
      Overrides:
      echo in class AbstractSolver
      Returns:
      the argument as an IResponse