package mc2
A mcsat-based SMT solver in pure OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
v0.1.tar.gz
md5=92de696251ec76fbf3eba6ee917fd80f
sha512=e88ba0cfc23186570a52172a0bd7c56053273941eaf3cda0b80fb6752e05d1b75986b01a4e4d46d9711124318e57cba1cd92d302e81d34f9f1ae8b49f39114f0
doc/mc2.core/Mc2_core/Actions/index.html
Module Mc2_core.Actions
Source
Actions for Plugins
Plugins are given a set of possible actions at certain times, such as propagation or first-time addition of watches to a term.
Actions available to terms/plugins when doing propagation/model building, including adding clauses, registering actions to do upon backtracking, etc.
push a new clause. This clause is added to the solver and will not be backtracked.
Source
val propagate_bool_eval :
t ->
Mc2_core__.Solver_types.term ->
bool ->
subs:Mc2_core__.Solver_types.term list ->
unit
propagate_bool_eval t b l
propagates the boolean literal t
assigned to boolean value b
, explained by evaluation with relevant (sub)terms l
Source
val propagate_bool_lemma :
t ->
Mc2_core__.Solver_types.term ->
bool ->
Mc2_core__.Solver_types.atom list ->
Mc2_core__.Solver_types.lemma ->
unit
propagate_bool_lemma t b c
propagates the boolean literal t
assigned to boolean value b
, explained by a valid theory lemma c
. Precondition: c
is a tautology such that c == (c' ∨ t=b)
, where c'
is composed of atoms false in current model.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page