mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-11 13:38:43 -05:00
When we enqueue an atom at level 0, we expect it to stay unconditionally true whatever happens. However, if it happens that the atom is alrady true at a level strictly greater than 0 (but lower than base_level), then enqueue_bool would simply do nothing. To fix this, there is a new function enqueue_root which modifies in place the level and reason of the propagated atom if it is already true. Additionally, enqueue_bool now requires that the atom be undecided, since if it not (i.e if it is propagated while already decided) it is most likely a bug. |
||
|---|---|---|
| .. | ||
| expr_intf.ml | ||
| external.ml | ||
| external.mli | ||
| formula_intf.ml | ||
| internal.ml | ||
| internal.mli | ||
| plugin_intf.ml | ||
| res.ml | ||
| res.mli | ||
| res_intf.ml | ||
| solver_intf.ml | ||
| solver_types.ml | ||
| solver_types.mli | ||
| solver_types_intf.ml | ||
| theory_intf.ml | ||