Propagator context for .Net. More...
Inheritance diagram for UserPropagator: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. | |||||||
| delegate void | EqEh (Expr term, Expr value) | ||||||
| Delegate type for equality or disequality callback. | |||||||
| 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. | |||||||
| delegate bool | OnBindingEh (Expr q, Expr inst) | ||||||
| Delegate type for callback when a quantifier is bound to an instance. | |||||||
| UserPropagator (Solver s) | |||||||
| Propagator constructor from a solver class. | |||||||
| UserPropagator (Context _ctx) | |||||||
| Propagator constructor from a context. It is used from inside of Fresh. | |||||||
| virtual void | Dispose () | ||||||
| Must be called. The object will not be garbage collected automatically even if the context is disposed. | |||||||
| virtual void | Push () | ||||||
| Virtual method for push. It must be overwritten by inherited class. | |||||||
| virtual void | Pop (uint n) | ||||||
| Virtual method for pop. It must be overwritten by inherited class. | |||||||
| virtual UserPropagator | Fresh (Context ctx) | ||||||
| Virtual method for fresh. It can be overwritten by inherited class. | |||||||
| void | Conflict (params Expr[] terms) | ||||||
| Declare combination of assigned expressions a conflict. | |||||||
| void | Conflict (IEnumerable< Expr > terms) | ||||||
| Declare combination of assigned expressions a conflict. | |||||||
| 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. | |||||||
Properties | |
| FixedEh | Fixed [set] |
| Set fixed callback. | |
| Action | Final [set] |
| Set final callback. | |
| EqEh | Eq [set] |
| Set equality event callback. | |
| EqEh | Diseq [set] |
| Set disequality event callback. | |
| CreatedEh | Created [set] |
| Set created callback. | |
| DecideEh | Decide [set] |
| Set decision callback. | |
| OnBindingEh | OnBinding [set] |
| Set binding callback. | |
|
inline |
Propagator constructor from a solver class.
Definition at line 204 of file UserPropagator.cs.
|
inline |
Propagator constructor from a context. It is used from inside of Fresh.
Definition at line 218 of file UserPropagator.cs.
|
inline |
Declare combination of assigned expressions a conflict.
Definition at line 271 of file UserPropagator.cs.
|
inline |
Declare combination of assigned expressions a conflict.
Definition at line 263 of file UserPropagator.cs.
| delegate void CreatedEh | ( | Expr | term | ) |
Delegate type for when a new term using a registered function symbol is created internally.
Referenced by UserPropagator.OnBindingEh().
| 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 |
Referenced by UserPropagator.OnBindingEh().
|
inlinevirtual |
Must be called. The object will not be garbage collected automatically even if the context is disposed.
Definition at line 236 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.
Referenced by UserPropagator.OnBindingEh().
|
inlinevirtual |
Virtual method for fresh. It can be overwritten by inherited class.
Definition at line 258 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 413 of file UserPropagator.cs.
Delegate type for callback when a quantifier is bound to an instance.
| q | Quantifier |
| inst | Instance |
Referenced by UserPropagator.OnBindingEh().
|
inlinevirtual |
Virtual method for pop. It must be overwritten by inherited class.
Definition at line 253 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 295 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 283 of file UserPropagator.cs.
Referenced by UserPropagator.Conflict(), UserPropagator.Conflict(), and UserPropagator.Propagate().
|
inlinevirtual |
Virtual method for push. It must be overwritten by inherited class.
Definition at line 248 of file UserPropagator.cs.
|
inline |
Track assignments to a term.
Definition at line 423 of file UserPropagator.cs.
|
set |
Set created callback.
Definition at line 363 of file UserPropagator.cs.
|
set |
Set decision callback.
Definition at line 377 of file UserPropagator.cs.
|
set |
Set disequality event callback.
Definition at line 349 of file UserPropagator.cs.
|
set |
Set equality event callback.
Definition at line 335 of file UserPropagator.cs.
|
set |
Set final callback.
Definition at line 321 of file UserPropagator.cs.
|
set |
Set fixed callback.
Definition at line 307 of file UserPropagator.cs.
|
set |
Set binding callback.
Definition at line 391 of file UserPropagator.cs.