mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-06 03:05:31 -05:00
deploy: f905b754aa
This commit is contained in:
parent
55042ab1cb
commit
c498c6dc32
20 changed files with 22 additions and 18 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Driver (sidekick-base.Sidekick_smtlib.Driver)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.1.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">sidekick-base</a> » <a href="../index.html">Sidekick_smtlib</a> » Driver</nav><header class="odoc-preamble"><h1>Module <code><span>Sidekick_smtlib.Driver</span></code></h1><p>Driver.</p><p>The driver is responsible for processing statements from a SMTLIB file, and interacting with the solver based on the statement (asserting formulas, calling "solve", etc.)</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module" id="module-Asolver" class="anchored"><a href="#module-Asolver" class="anchor"></a><code><span><span class="keyword">module</span> Asolver</span><span> = <a href="../../../sidekick/Sidekick_abstract_solver/Asolver/index.html">Solver.Asolver</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_bool_dyn" class="anchored"><a href="#val-th_bool_dyn" class="anchor"></a><code><span><span class="keyword">val</span> th_bool_dyn : <a href="../../Sidekick_base/Solver/index.html#type-theory">Sidekick_base.Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_bool_static" class="anchored"><a href="#val-th_bool_static" class="anchor"></a><code><span><span class="keyword">val</span> th_bool_static : <a href="../../Sidekick_base/Solver/index.html#type-theory">Sidekick_base.Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_bool" class="anchored"><a href="#val-th_bool" class="anchor"></a><code><span><span class="keyword">val</span> th_bool : <span><a href="../../Sidekick_base/Config/index.html#type-t">Sidekick_base.Config.t</a> <span class="arrow">-></span></span> <a href="../../Sidekick_base/Solver/index.html#type-theory">Sidekick_base.Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_data" class="anchored"><a href="#val-th_data" class="anchor"></a><code><span><span class="keyword">val</span> th_data : <a href="../../Sidekick_base/Solver/index.html#type-theory">Sidekick_base.Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_lra" class="anchored"><a href="#val-th_lra" class="anchor"></a><code><span><span class="keyword">val</span> th_lra : <a href="../../Sidekick_base/Solver/index.html#type-theory">Sidekick_base.Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-th_ty_unin" class="anchored"><a href="#val-th_ty_unin" class="anchor"></a><code><span><span class="keyword">val</span> th_ty_unin : <a href="../../Sidekick_base/Solver/index.html#type-theory">Sidekick_base.Solver.theory</a></span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-or_error" class="anchored"><a href="#type-or_error" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a or_error</span></span><span> = <span><span>( <span class="type-var">'a</span>, string )</span> <span class="xref-unresolved">CCResult</span>.t</span></span></code></div></div><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div><div class="spec-doc"><p>The SMTLIB driver</p></div></div><div class="odoc-spec"><div class="spec value" id="val-create" class="anchored"><a href="#val-create" class="anchor"></a><code><span><span class="keyword">val</span> create :
|
||||
<span>?restarts:bool <span class="arrow">-></span></span>
|
||||
<span>?pp_cnf:bool <span class="arrow">-></span></span>
|
||||
<span>?proof_file:string <span class="arrow">-></span></span>
|
||||
<span>?pp_model:bool <span class="arrow">-></span></span>
|
||||
|
|
|
|||
2
dev/sidekick-base/Sidekick_smtlib/Model/index.html
Normal file
2
dev/sidekick-base/Sidekick_smtlib/Model/index.html
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -1,2 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Sidekick_smtlib (sidekick-base.Sidekick_smtlib)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.1.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../index.html">sidekick-base</a> » Sidekick_smtlib</nav><header class="odoc-preamble"><h1>Module <code><span>Sidekick_smtlib</span></code></h1><p>SMTLib-2.6 Driver</p></header><div class="odoc-content"><p>This library provides a parser, a type-checker, and a driver for processing SMTLib-2 problems.</p><div class="odoc-spec"><div class="spec type" id="type-or_error" class="anchored"><a href="#type-or_error" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a or_error</span></span><span> = <span><span>( <span class="type-var">'a</span>, string )</span> <span class="xref-unresolved">CCResult</span>.t</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Term" class="anchored"><a href="#module-Term" class="anchor"></a><code><span><span class="keyword">module</span> Term</span><span> = <a href="../Sidekick_base/Term/index.html">Sidekick_base.Term</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Stmt" class="anchored"><a href="#module-Stmt" class="anchor"></a><code><span><span class="keyword">module</span> Stmt</span><span> = <a href="../Sidekick_base/Statement/index.html">Sidekick_base.Statement</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Driver" class="anchored"><a href="#module-Driver" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Driver/index.html">Driver</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Driver.</p></div></div><div class="odoc-spec"><div class="spec module" id="module-Solver" class="anchored"><a href="#module-Solver" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Solver/index.html">Solver</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Check_cc" class="anchored"><a href="#module-Check_cc" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Check_cc/index.html">Check_cc</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-parse" class="anchored"><a href="#val-parse" class="anchor"></a><code><span><span class="keyword">val</span> parse : <span><a href="../Sidekick_base/Term/index.html#type-store">Term.store</a> <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> <span><span><a href="../Sidekick_base/Statement/index.html#type-t">Stmt.t</a> list</span> <a href="#type-or_error">or_error</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-parse_stdin" class="anchored"><a href="#val-parse_stdin" class="anchor"></a><code><span><span class="keyword">val</span> parse_stdin : <span><a href="../Sidekick_base/Term/index.html#type-store">Term.store</a> <span class="arrow">-></span></span> <span><span><a href="../Sidekick_base/Statement/index.html#type-t">Stmt.t</a> list</span> <a href="#type-or_error">or_error</a></span></span></code></div></div></div></body></html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Sidekick_smtlib (sidekick-base.Sidekick_smtlib)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.1.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../index.html">sidekick-base</a> » Sidekick_smtlib</nav><header class="odoc-preamble"><h1>Module <code><span>Sidekick_smtlib</span></code></h1><p>SMTLib-2.6 Driver</p></header><div class="odoc-content"><p>This library provides a parser, a type-checker, and a driver for processing SMTLib-2 problems.</p><div class="odoc-spec"><div class="spec type" id="type-or_error" class="anchored"><a href="#type-or_error" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a or_error</span></span><span> = <span><span>( <span class="type-var">'a</span>, string )</span> <span class="xref-unresolved">CCResult</span>.t</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Term" class="anchored"><a href="#module-Term" class="anchor"></a><code><span><span class="keyword">module</span> Term</span><span> = <a href="../Sidekick_base/Term/index.html">Sidekick_base.Term</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Stmt" class="anchored"><a href="#module-Stmt" class="anchor"></a><code><span><span class="keyword">module</span> Stmt</span><span> = <a href="../Sidekick_base/Statement/index.html">Sidekick_base.Statement</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Driver" class="anchored"><a href="#module-Driver" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Driver/index.html">Driver</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Driver.</p></div></div><div class="odoc-spec"><div class="spec module" id="module-Solver" class="anchored"><a href="#module-Solver" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Solver/index.html">Solver</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Check_cc" class="anchored"><a href="#module-Check_cc" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Check_cc/index.html">Check_cc</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Model" class="anchored"><a href="#module-Model" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Model/index.html">Model</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Models</p></div></div><div class="odoc-spec"><div class="spec value" id="val-parse" class="anchored"><a href="#val-parse" class="anchor"></a><code><span><span class="keyword">val</span> parse : <span><a href="../Sidekick_base/Term/index.html#type-store">Term.store</a> <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> <span><span><a href="../Sidekick_base/Statement/index.html#type-t">Stmt.t</a> list</span> <a href="#type-or_error">or_error</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-parse_stdin" class="anchored"><a href="#val-parse_stdin" class="anchor"></a><code><span><span class="keyword">val</span> parse_stdin : <span><a href="../Sidekick_base/Term/index.html#type-store">Term.store</a> <span class="arrow">-></span></span> <span><span><a href="../Sidekick_base/Statement/index.html#type-t">Stmt.t</a> list</span> <a href="#type-or_error">or_error</a></span></span></code></div></div></div></body></html>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>t (sidekick.Sidekick_abstract_solver.Asolver.t)</title><link rel="stylesheet" href="../../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.1.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../../index.html">sidekick</a> » <a href="../../index.html">Sidekick_abstract_solver</a> » <a href="../index.html">Asolver</a> » t</nav><header class="odoc-preamble"><h1>Class type <code><span>Asolver.t</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec method" id="method-assert_term" class="anchored"><a href="#method-assert_term" class="anchor"></a><code><span><span class="keyword">method</span> assert_term : <span><a href="../../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Helper that turns the term into an atom, before adding the result to the solver as a unit clause assertion.</p><p>This uses <code>Proof_sat</code>.sat_input_clause to justify the assertion.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-assert_clause" class="anchored"><a href="#method-assert_clause" class="anchor"></a><code><span><span class="keyword">method</span> assert_clause : <span><span><a href="../../../Sidekick_core/Lit/index.html#type-t">Sidekick_core.Lit.t</a> array</span> <span class="arrow">-></span></span> <span><a href="../../../Sidekick_proof/Pterm/index.html#type-delayed">Proof.Pterm.delayed</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>add_clause solver cs</code> adds a boolean clause to the solver. Subsequent calls to <code>solve</code> will need to satisfy this clause.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-assert_clause_l" class="anchored"><a href="#method-assert_clause_l" class="anchor"></a><code><span><span class="keyword">method</span> assert_clause_l : <span><span><a href="../../../Sidekick_core/Lit/index.html#type-t">Sidekick_core.Lit.t</a> list</span> <span class="arrow">-></span></span>
|
||||
<span><a href="../../../Sidekick_proof/Pterm/index.html#type-delayed">Proof.Pterm.delayed</a> <span class="arrow">-></span></span>
|
||||
unit</span></code></div><div class="spec-doc"><p>Add a clause to the solver, given as a list.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-add_ty" class="anchored"><a href="#method-add_ty" class="anchor"></a><code><span><span class="keyword">method</span> add_ty : <span>ty:<a href="../../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Add a new sort/atomic type.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-lit_of_term" class="anchored"><a href="#method-lit_of_term" class="anchor"></a><code><span><span class="keyword">method</span> lit_of_term : <span>?sign:bool <span class="arrow">-></span></span> <span><a href="../../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> <a href="../../../Sidekick_core/Lit/index.html#type-t">Sidekick_core.Lit.t</a></span></code></div><div class="spec-doc"><p>Convert a term into a simplified literal.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-solve" class="anchored"><a href="#method-solve" class="anchor"></a><code><span><span class="keyword">method</span> solve : <span>?on_exit:<span><span>( <span>unit <span class="arrow">-></span></span> unit )</span> list</span> <span class="arrow">-></span></span>
|
||||
unit</span></code></div><div class="spec-doc"><p>Add a clause to the solver, given as a list.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-add_ty" class="anchored"><a href="#method-add_ty" class="anchor"></a><code><span><span class="keyword">method</span> add_ty : <span>ty:<a href="../../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Add a new sort/atomic type.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-lit_of_term" class="anchored"><a href="#method-lit_of_term" class="anchor"></a><code><span><span class="keyword">method</span> lit_of_term : <span>?sign:bool <span class="arrow">-></span></span> <span><a href="../../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> <a href="../../../Sidekick_core/Lit/index.html#type-t">Sidekick_core.Lit.t</a></span></code></div><div class="spec-doc"><p>Convert a term into a simplified literal.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-tst" class="anchored"><a href="#method-tst" class="anchor"></a><code><span><span class="keyword">method</span> tst : <a href="../../../Sidekick_core/Term/index.html#type-store">Sidekick_core.Term.store</a></span></code></div></div><div class="odoc-spec"><div class="spec method" id="method-solve" class="anchored"><a href="#method-solve" class="anchor"></a><code><span><span class="keyword">method</span> solve : <span>?on_exit:<span><span>( <span>unit <span class="arrow">-></span></span> unit )</span> list</span> <span class="arrow">-></span></span>
|
||||
<span>?on_progress:<span>( <span>unit <span class="arrow">-></span></span> unit )</span> <span class="arrow">-></span></span>
|
||||
<span>?should_stop:<span>( <span>int <span class="arrow">-></span></span> bool )</span> <span class="arrow">-></span></span>
|
||||
<span>assumptions:<span><a href="../../../Sidekick_core/Lit/index.html#type-t">Sidekick_core.Lit.t</a> list</span> <span class="arrow">-></span></span>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Asolver (sidekick.Sidekick_abstract_solver.Asolver)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.1.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">sidekick</a> » <a href="../index.html">Sidekick_abstract_solver</a> » Asolver</nav><header class="odoc-preamble"><h1>Module <code><span>Sidekick_abstract_solver.Asolver</span></code></h1><p>Abstract interface for a solver</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module" id="module-Unknown" class="anchored"><a href="#module-Unknown" class="anchor"></a><code><span><span class="keyword">module</span> Unknown</span><span> = <a href="../Unknown/index.html">Unknown</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Check_res" class="anchored"><a href="#module-Check_res" class="anchor"></a><code><span><span class="keyword">module</span> Check_res</span><span> = <a href="../Check_res/index.html">Check_res</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Proof" class="anchored"><a href="#module-Proof" class="anchor"></a><code><span><span class="keyword">module</span> Proof</span><span> = <a href="../../Sidekick_proof/index.html">Sidekick_proof</a></span></code></div></div><div class="odoc-spec"><div class="spec class-type" id="class-type-t" class="anchored"><a href="#class-type-t" class="anchor"></a><code><span><span class="keyword">class</span> <span class="keyword">type</span> </span><span><a href="class-type-t/index.html">t</a></span><span> = <span class="keyword">object</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-assert_term" class="anchored"><a href="#val-assert_term" class="anchor"></a><code><span><span class="keyword">val</span> assert_term : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span><a href="../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-assert_clause" class="anchored"><a href="#val-assert_clause" class="anchor"></a><code><span><span class="keyword">val</span> assert_clause :
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Asolver (sidekick.Sidekick_abstract_solver.Asolver)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.1.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">sidekick</a> » <a href="../index.html">Sidekick_abstract_solver</a> » Asolver</nav><header class="odoc-preamble"><h1>Module <code><span>Sidekick_abstract_solver.Asolver</span></code></h1><p>Abstract interface for a solver</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec module" id="module-Unknown" class="anchored"><a href="#module-Unknown" class="anchor"></a><code><span><span class="keyword">module</span> Unknown</span><span> = <a href="../Unknown/index.html">Unknown</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Check_res" class="anchored"><a href="#module-Check_res" class="anchor"></a><code><span><span class="keyword">module</span> Check_res</span><span> = <a href="../Check_res/index.html">Check_res</a></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Proof" class="anchored"><a href="#module-Proof" class="anchor"></a><code><span><span class="keyword">module</span> Proof</span><span> = <a href="../../Sidekick_proof/index.html">Sidekick_proof</a></span></code></div></div><div class="odoc-spec"><div class="spec class-type" id="class-type-t" class="anchored"><a href="#class-type-t" class="anchor"></a><code><span><span class="keyword">class</span> <span class="keyword">type</span> </span><span><a href="class-type-t/index.html">t</a></span><span> = <span class="keyword">object</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-tst" class="anchored"><a href="#val-tst" class="anchor"></a><code><span><span class="keyword">val</span> tst : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <a href="../../Sidekick_core/Term/index.html#type-store">Sidekick_core.Term.store</a></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-assert_term" class="anchored"><a href="#val-assert_term" class="anchor"></a><code><span><span class="keyword">val</span> assert_term : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span><a href="../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-assert_clause" class="anchored"><a href="#val-assert_clause" class="anchor"></a><code><span><span class="keyword">val</span> assert_clause :
|
||||
<span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span>
|
||||
<span><span><a href="../../Sidekick_core/Lit/index.html#type-t">Sidekick_core.Lit.t</a> array</span> <span class="arrow">-></span></span>
|
||||
<span><a href="../../Sidekick_proof/Pterm/index.html#type-delayed">Proof.Pterm.delayed</a> <span class="arrow">-></span></span>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -3,7 +3,7 @@
|
|||
<span><a href="../../Sidekick_proof/Pterm/index.html#type-delayed">Asolver.Proof.Pterm.delayed</a> <span class="arrow">-></span></span>
|
||||
unit</span></code></div><div class="spec-doc"><p><code>add_clause solver cs</code> adds a boolean clause to the solver. Subsequent calls to <code>solve</code> will need to satisfy this clause.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-assert_clause_l" class="anchored"><a href="#method-assert_clause_l" class="anchor"></a><code><span><span class="keyword">method</span> assert_clause_l : <span><span><a href="../../Sidekick_core/Lit/index.html#type-t">Sidekick_core.Lit.t</a> list</span> <span class="arrow">-></span></span>
|
||||
<span><a href="../../Sidekick_proof/Pterm/index.html#type-delayed">Asolver.Proof.Pterm.delayed</a> <span class="arrow">-></span></span>
|
||||
unit</span></code></div><div class="spec-doc"><p>Add a clause to the solver, given as a list.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-add_ty" class="anchored"><a href="#method-add_ty" class="anchor"></a><code><span><span class="keyword">method</span> add_ty : <span>ty:<a href="../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Add a new sort/atomic type.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-lit_of_term" class="anchored"><a href="#method-lit_of_term" class="anchor"></a><code><span><span class="keyword">method</span> lit_of_term : <span>?sign:bool <span class="arrow">-></span></span> <span><a href="../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> <a href="../../Sidekick_core/Lit/index.html#type-t">Sidekick_core.Lit.t</a></span></code></div><div class="spec-doc"><p>Convert a term into a simplified literal.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-solve" class="anchored"><a href="#method-solve" class="anchor"></a><code><span><span class="keyword">method</span> solve : <span>?on_exit:<span><span>( <span>unit <span class="arrow">-></span></span> unit )</span> list</span> <span class="arrow">-></span></span>
|
||||
unit</span></code></div><div class="spec-doc"><p>Add a clause to the solver, given as a list.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-add_ty" class="anchored"><a href="#method-add_ty" class="anchor"></a><code><span><span class="keyword">method</span> add_ty : <span>ty:<a href="../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Add a new sort/atomic type.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-lit_of_term" class="anchored"><a href="#method-lit_of_term" class="anchor"></a><code><span><span class="keyword">method</span> lit_of_term : <span>?sign:bool <span class="arrow">-></span></span> <span><a href="../../Sidekick_core/Term/index.html#type-t">Sidekick_core.Term.t</a> <span class="arrow">-></span></span> <a href="../../Sidekick_core/Lit/index.html#type-t">Sidekick_core.Lit.t</a></span></code></div><div class="spec-doc"><p>Convert a term into a simplified literal.</p></div></div><div class="odoc-spec"><div class="spec method" id="method-tst" class="anchored"><a href="#method-tst" class="anchor"></a><code><span><span class="keyword">method</span> tst : <a href="../../Sidekick_core/Term/index.html#type-store">Sidekick_core.Term.store</a></span></code></div></div><div class="odoc-spec"><div class="spec method" id="method-solve" class="anchored"><a href="#method-solve" class="anchor"></a><code><span><span class="keyword">method</span> solve : <span>?on_exit:<span><span>( <span>unit <span class="arrow">-></span></span> unit )</span> list</span> <span class="arrow">-></span></span>
|
||||
<span>?on_progress:<span>( <span>unit <span class="arrow">-></span></span> unit )</span> <span class="arrow">-></span></span>
|
||||
<span>?should_stop:<span>( <span>int <span class="arrow">-></span></span> bool )</span> <span class="arrow">-></span></span>
|
||||
<span>assumptions:<span><a href="../../Sidekick_core/Lit/index.html#type-t">Sidekick_core.Lit.t</a> list</span> <span class="arrow">-></span></span>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
2
dev/sidekick/Sidekick_smt_solver/Model/index.html
Normal file
2
dev/sidekick/Sidekick_smt_solver/Model/index.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Model (sidekick.Sidekick_smt_solver.Model)</title><link rel="stylesheet" href="../../../odoc.css"/><meta charset="utf-8"/><meta name="generator" content="odoc 2.1.1"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">sidekick</a> » <a href="../index.html">Sidekick_smt_solver</a> » Model</nav><header class="odoc-preamble"><h1>Module <code><span>Sidekick_smt_solver.Model</span></code></h1><p>SMT models.</p><p>The solver models are partially evaluated; the frontend might ask for values for terms not explicitly present in them.</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type" id="type-t" class="anchored"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = </span><span>{</span></code><table><tr id="type-t.eval" class="anchored"><td class="def record field"><a href="#type-t.eval" class="anchor"></a><code><span>eval : <span><a href="../../Sidekick_core/Term/index.html#type-t">Sigs.Term.t</a> <span class="arrow">-></span></span> <span><a href="../Sigs/index.html#type-value">Sigs.value</a> option</span>;</span></code></td></tr><tr id="type-t.map" class="anchored"><td class="def record field"><a href="#type-t.map" class="anchor"></a><code><span>map : <span><a href="../Sigs/index.html#type-value">Sigs.value</a> <span class="xref-unresolved">Sidekick_smt_solver__</span>.Sigs.Term.Map.t</span>;</span></code></td></tr></table><code><span>}</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-is_empty" class="anchored"><a href="#val-is_empty" class="anchor"></a><code><span><span class="keyword">val</span> is_empty : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-eval" class="anchored"><a href="#val-eval" class="anchor"></a><code><span><span class="keyword">val</span> eval : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="../../Sidekick_core/Term/index.html#type-t">Sigs.Term.t</a> <span class="arrow">-></span></span> <span><a href="../Sigs/index.html#type-value">Sigs.value</a> option</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-pp" class="anchored"><a href="#val-pp" class="anchor"></a><code><span><span class="keyword">val</span> pp : <span><span class="xref-unresolved">Sidekick_smt_solver__</span>.Sigs.Fmt.t <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> unit</span></code></div></div></div></body></html>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -80,7 +80,7 @@
|
|||
<span>?ask:<a href="#type-model_ask_hook">model_ask_hook</a> <span class="arrow">-></span></span>
|
||||
<span>?complete:<a href="#type-model_completion_hook">model_completion_hook</a> <span class="arrow">-></span></span>
|
||||
<span><a href="#type-t">t</a> <span class="arrow">-></span></span>
|
||||
unit</span></code></div><div class="spec-doc"><p>Add model production/completion hooks.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-on_progress" class="anchored"><a href="#val-on_progress" class="anchor"></a><code><span><span class="keyword">val</span> on_progress : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><span>( unit, unit )</span> <a href="../../Sidekick_util/Event/index.html#type-t">Sidekick_util.Event.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-is_complete" class="anchored"><a href="#val-is_complete" class="anchor"></a><code><span><span class="keyword">val</span> is_complete : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p>Are we still in a complete logic fragment?</p></div></div><div class="odoc-spec"><div class="spec value" id="val-last_model" class="anchored"><a href="#val-last_model" class="anchor"></a><code><span><span class="keyword">val</span> last_model : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="../../Sidekick_model/index.html#type-t">Sigs.Model.t</a> option</span></span></code></div></div><h3 id="delayed-actions"><a href="#delayed-actions" class="anchor"></a>Delayed actions</h3><div class="odoc-spec"><div class="spec module-type" id="module-type-PERFORM_ACTS" class="anchored"><a href="#module-type-PERFORM_ACTS" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-PERFORM_ACTS/index.html">PERFORM_ACTS</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Perform_delayed" class="anchored"><a href="#module-Perform_delayed" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Perform_delayed/index.html">Perform_delayed</a></span><span> (<a href="Perform_delayed/argument-1-A/index.html">A</a> : <a href="module-type-PERFORM_ACTS/index.html">PERFORM_ACTS</a>) : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-add_theory_state" class="anchored"><a href="#val-add_theory_state" class="anchor"></a><code><span><span class="keyword">val</span> add_theory_state :
|
||||
unit</span></code></div><div class="spec-doc"><p>Add model production/completion hooks.</p></div></div><div class="odoc-spec"><div class="spec value" id="val-on_progress" class="anchored"><a href="#val-on_progress" class="anchor"></a><code><span><span class="keyword">val</span> on_progress : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><span>( unit, unit )</span> <a href="../../Sidekick_util/Event/index.html#type-t">Sidekick_util.Event.t</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-is_complete" class="anchored"><a href="#val-is_complete" class="anchor"></a><code><span><span class="keyword">val</span> is_complete : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div><div class="spec-doc"><p>Are we still in a complete logic fragment?</p></div></div><div class="odoc-spec"><div class="spec value" id="val-last_model" class="anchored"><a href="#val-last_model" class="anchor"></a><code><span><span class="keyword">val</span> last_model : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span><a href="../Model/index.html#type-t">Model.t</a> option</span></span></code></div></div><h3 id="delayed-actions"><a href="#delayed-actions" class="anchor"></a>Delayed actions</h3><div class="odoc-spec"><div class="spec module-type" id="module-type-PERFORM_ACTS" class="anchored"><a href="#module-type-PERFORM_ACTS" class="anchor"></a><code><span><span class="keyword">module</span> <span class="keyword">type</span> <a href="module-type-PERFORM_ACTS/index.html">PERFORM_ACTS</a></span><span> = <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec module" id="module-Perform_delayed" class="anchored"><a href="#module-Perform_delayed" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Perform_delayed/index.html">Perform_delayed</a></span><span> (<a href="Perform_delayed/argument-1-A/index.html">A</a> : <a href="module-type-PERFORM_ACTS/index.html">PERFORM_ACTS</a>) : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div></div><div class="odoc-spec"><div class="spec value" id="val-add_theory_state" class="anchored"><a href="#val-add_theory_state" class="anchor"></a><code><span><span class="keyword">val</span> add_theory_state :
|
||||
<span>st:<span class="type-var">'a</span> <span class="arrow">-></span></span>
|
||||
<span>push_level:<span>( <span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit )</span> <span class="arrow">-></span></span>
|
||||
<span>pop_levels:<span>( <span><span class="type-var">'a</span> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit )</span> <span class="arrow">-></span></span>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue