Propagator context for .Net More...
Public Member Functions | |||||||
delegate void | FixedEh (Expr term, Expr value) | ||||||
Delegate type for fixed callback Note that the life-time of the term and value only applies within the scope of the callback. That means the term and value cannot be stored in an array, dictionary or similar and accessed after the callback has returned. Use the functionality Dup on expressions to create a duplicate copy that extends the lifetime. More... | |||||||
delegate void | EqEh (Expr term, Expr value) | ||||||
Delegate type for equality or disequality callback More... | |||||||
delegate void | CreatedEh (Expr term) | ||||||
Delegate type for when a new term using a registered function symbol is created internally More... | |||||||
delegate void | DecideEh (Expr term, uint idx, bool phase) | ||||||
Delegate type for callback into solver's branching. The values can be overridden by calling NextSplit. More... | |||||||
UserPropagator (Solver s) | |||||||
Propagator constructor from a solver class. More... | |||||||
UserPropagator (Context _ctx) | |||||||
Propagator constructor from a context. It is used from inside of Fresh. More... | |||||||
virtual void | Dispose () | ||||||
Must be called. The object will not be garbage collected automatically even if the context is disposed More... | |||||||
virtual void | Push () | ||||||
Virtual method for push. It must be overwritten by inherited class. More... | |||||||
virtual void | Pop (uint n) | ||||||
Virtual method for pop. It must be overwritten by inherited class. More... | |||||||
virtual UserPropagator | Fresh (Context ctx) | ||||||
Virtual method for fresh. It can be overwritten by inherited class. More... | |||||||
void | Conflict (params Expr[] terms) | ||||||
Declare combination of assigned expressions a conflict More... | |||||||
void | Conflict (IEnumerable< Expr > terms) | ||||||
Declare combination of assigned expressions a conflict More... | |||||||
bool | Propagate (IEnumerable< Expr > terms, Expr conseq) | ||||||
Propagate consequence
| |||||||
bool | Propagate (IEnumerable< Expr > terms, EqualityPairs equalities, Expr conseq) | ||||||
Propagate consequence
| |||||||
bool | NextSplit (Expr e, uint idx, int phase) | ||||||
Set the next decision
| |||||||
void | Register (Expr term) | ||||||
Track assignments to a term More... | |||||||
Properties | |
FixedEh | Fixed [set] |
Set fixed callback More... | |
Action | Final [set] |
Set final callback More... | |
EqEh | Eq [set] |
Set equality event callback More... | |
EqEh | Diseq [set] |
Set disequality event callback More... | |
CreatedEh | Created [set] |
Set created callback More... | |
DecideEh | Decide [set] |
Set decision callback More... | |
|
inline |
Propagator constructor from a solver class.
Definition at line 181 of file UserPropagator.cs.
Referenced by UserPropagator.Fresh().
|
inline |
Propagator constructor from a context. It is used from inside of Fresh.
Definition at line 195 of file UserPropagator.cs.
|
inline |
Declare combination of assigned expressions a conflict
Definition at line 248 of file UserPropagator.cs.
|
inline |
Declare combination of assigned expressions a conflict
Definition at line 240 of file UserPropagator.cs.
delegate void CreatedEh | ( | Expr | term | ) |
Delegate type for when a new term using a registered function symbol is created internally
delegate void DecideEh | ( | Expr | term, |
uint | idx, | ||
bool | phase | ||
) |
Delegate type for callback into solver's branching. The values can be overridden by calling NextSplit.
term | A bit-vector or Boolean used for branching |
idx | If the term is a bit-vector, then an index into the bit-vector being branched on |
phase | The tentative truth-value |
|
inlinevirtual |
Must be called. The object will not be garbage collected automatically even if the context is disposed
Definition at line 213 of file UserPropagator.cs.
Delegate type for fixed callback Note that the life-time of the term and value only applies within the scope of the callback. That means the term and value cannot be stored in an array, dictionary or similar and accessed after the callback has returned. Use the functionality Dup on expressions to create a duplicate copy that extends the lifetime.
|
inlinevirtual |
Virtual method for fresh. It can be overwritten by inherited class.
Definition at line 235 of file UserPropagator.cs.
|
inline |
Set the next decision
e | A bit-vector or Boolean used for branching. Use null to clear |
idx | If the term is a bit-vector, then an index into the bit-vector being branched on |
phase | The tentative truth-value (-1/false, 1/true, 0/let Z3 decide) |
true
in case the value was successfully set; false
if the next split could not be set Definition at line 376 of file UserPropagator.cs.
|
inlinevirtual |
Virtual method for pop. It must be overwritten by inherited class.
Definition at line 230 of file UserPropagator.cs.
|
inline |
Propagate consequence
true
if the propagated expression is new for the solver; false
if the propagation was ignored Definition at line 272 of file UserPropagator.cs.
Propagate consequence
true
if the propagated expression is new for the solver; false
if the propagation was ignored Definition at line 260 of file UserPropagator.cs.
Referenced by UserPropagator.Conflict().
|
inlinevirtual |
Virtual method for push. It must be overwritten by inherited class.
Definition at line 225 of file UserPropagator.cs.
|
inline |
Track assignments to a term
Definition at line 384 of file UserPropagator.cs.
|
set |
Set created callback
Definition at line 340 of file UserPropagator.cs.
|
set |
Set decision callback
Definition at line 354 of file UserPropagator.cs.
|
set |
Set disequality event callback
Definition at line 326 of file UserPropagator.cs.
|
set |
Set equality event callback
Definition at line 312 of file UserPropagator.cs.
|
set |
Set final callback
Definition at line 298 of file UserPropagator.cs.
|
set |
Set fixed callback
Definition at line 284 of file UserPropagator.cs.