Z3
Public Member Functions
Tactic Class Reference
+ Inheritance diagram for Tactic:

Public Member Functions

String getHelp ()
 
ParamDescrs getParameterDescriptions ()
 
ApplyResult apply (Goal g)
 
ApplyResult apply (Goal g, Params p)
 
Solver getSolver ()
 

Detailed Description

Tactics are the basic building block for creating custom solvers for specific problem domains. The complete list of tactics may be obtained using

Context.NumTactics

and

Context.TacticNames

. It may also be obtained using the command

(help-tactic)

in the SMT 2.0 front-end.

Definition at line 27 of file Tactic.java.

Member Function Documentation

§ apply() [1/2]

ApplyResult apply ( Goal  g)
inline

Execute the tactic over the goal.

Exceptions
Z3Exception

Definition at line 50 of file Tactic.java.

Referenced by Tactic.__call__(), and Goal.simplify().

51  {
52  return apply(g, null);
53  }
ApplyResult apply(Goal g)
Definition: Tactic.java:50

§ apply() [2/2]

ApplyResult apply ( Goal  g,
Params  p 
)
inline

Execute the tactic over the goal.

Exceptions
Z3Exception

Definition at line 59 of file Tactic.java.

Referenced by Tactic.__call__().

60  {
61  getContext().checkContextMatch(g);
62  if (p == null)
63  return new ApplyResult(getContext(), Native.tacticApply(getContext()
64  .nCtx(), getNativeObject(), g.getNativeObject()));
65  else
66  {
67  getContext().checkContextMatch(p);
68  return new ApplyResult(getContext(),
69  Native.tacticApplyEx(getContext().nCtx(), getNativeObject(),
70  g.getNativeObject(), p.getNativeObject()));
71  }
72  }

§ getHelp()

String getHelp ( )
inline

A string containing a description of parameters accepted by the tactic.

Definition at line 31 of file Tactic.java.

32  {
33  return Native.tacticGetHelp(getContext().nCtx(), getNativeObject());
34  }

§ getParameterDescriptions()

ParamDescrs getParameterDescriptions ( )
inline

Retrieves parameter descriptions for Tactics.

Exceptions
Z3Exception

Definition at line 40 of file Tactic.java.

41  {
42  return new ParamDescrs(getContext(), Native.tacticGetParamDescrs(getContext()
43  .nCtx(), getNativeObject()));
44  }

§ getSolver()

Solver getSolver ( )
inline

Creates a solver that is implemented using the given tactic.

See also
Context::mkSolver(Tactic)
Exceptions
Z3Exception

Definition at line 79 of file Tactic.java.

80  {
81  return getContext().mkSolver(this);
82  }