mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-13 06:20:55 -05:00
2 lines
No EOL
38 KiB
HTML
2 lines
No EOL
38 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Sidekick_smtlib__Parse_ast (sidekick-bin.Sidekick_smtlib__Parse_ast)</title><link rel="stylesheet" href="../../odoc.css"/><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div class="content"><header><nav><a href="../index.html">Up</a> – <a href="../index.html">sidekick-bin</a> » Sidekick_smtlib__Parse_ast</nav><h1>Module <code>Sidekick_smtlib__Parse_ast</code></h1><h2 id="simple-ast-for-parsing"><a href="#simple-ast-for-parsing" class="anchor"></a>Simple AST for parsing</h2><nav class="toc"><ul><li><a href="#errors">Errors</a></li></ul></nav></header><div class="spec module" id="module-Loc"><a href="#module-Loc" class="anchor"></a><code><span class="keyword">module</span> Loc = <a href="../Sidekick_smtlib__/index.html#module-Locations">Sidekick_smtlib__.Locations</a></code></div><div class="spec module" id="module-Fmt"><a href="#module-Fmt" class="anchor"></a><code><span class="keyword">module</span> Fmt = CCFormat</code></div><dl><dt class="spec value" id="val-pp_str"><a href="#val-pp_str" class="anchor"></a><code><span class="keyword">val</span> pp_str : Format.formatter <span>-></span> string <span>-></span> unit</code></dt><dt class="spec value" id="val-pp_to_string"><a href="#val-pp_to_string" class="anchor"></a><code><span class="keyword">val</span> pp_to_string : (Format.formatter <span>-></span> <span class="type-var">'a</span> <span>-></span> unit) <span>-></span> <span class="type-var">'a</span> <span>-></span> string</code></dt></dl><dl><dt class="spec type" id="type-var"><a href="#type-var" class="anchor"></a><code><span class="keyword">type</span> var</code><code> = string</code></dt><dt class="spec type" id="type-ty_var"><a href="#type-ty_var" class="anchor"></a><code><span class="keyword">type</span> ty_var</code><code> = string</code></dt><dt class="spec type" id="type-ty"><a href="#type-ty" class="anchor"></a><code><span class="keyword">type</span> ty</code><code> = </code><table class="variant"><tr id="type-ty.Ty_bool" class="anchored"><td class="def constructor"><a href="#type-ty.Ty_bool" class="anchor"></a><code>| </code><code><span class="constructor">Ty_bool</span></code></td></tr><tr id="type-ty.Ty_app" class="anchored"><td class="def constructor"><a href="#type-ty.Ty_app" class="anchor"></a><code>| </code><code><span class="constructor">Ty_app</span> <span class="keyword">of</span> <a href="index.html#type-ty_var">ty_var</a> * <a href="index.html#type-ty">ty</a> list</code></td></tr><tr id="type-ty.Ty_arrow" class="anchored"><td class="def constructor"><a href="#type-ty.Ty_arrow" class="anchor"></a><code>| </code><code><span class="constructor">Ty_arrow</span> <span class="keyword">of</span> <a href="index.html#type-ty">ty</a> list * <a href="index.html#type-ty">ty</a></code></td></tr></table></dt><dd><p>Polymorphic types</p></dd></dl><dl><dt class="spec type" id="type-typed_var"><a href="#type-typed_var" class="anchor"></a><code><span class="keyword">type</span> typed_var</code><code> = <a href="index.html#type-var">var</a> * <a href="index.html#type-ty">ty</a></code></dt><dt class="spec type" id="type-arith_op"><a href="#type-arith_op" class="anchor"></a><code><span class="keyword">type</span> arith_op</code><code> = </code><table class="variant"><tr id="type-arith_op.Leq" class="anchored"><td class="def constructor"><a href="#type-arith_op.Leq" class="anchor"></a><code>| </code><code><span class="constructor">Leq</span></code></td></tr><tr id="type-arith_op.Lt" class="anchored"><td class="def constructor"><a href="#type-arith_op.Lt" class="anchor"></a><code>| </code><code><span class="constructor">Lt</span></code></td></tr><tr id="type-arith_op.Geq" class="anchored"><td class="def constructor"><a href="#type-arith_op.Geq" class="anchor"></a><code>| </code><code><span class="constructor">Geq</span></code></td></tr><tr id="type-arith_op.Gt" class="anchored"><td class="def constructor"><a href="#type-arith_op.Gt" class="anchor"></a><code>| </code><code><span class="constructor">Gt</span></code></td></tr><tr id="type-arith_op.Add" class="anchored"><td class="def constructor"><a href="#type-arith_op.Add" class="anchor"></a><code>| </code><code><span class="constructor">Add</span></code></td></tr><tr id="type-arith_op.Minus" class="anchored"><td class="def constructor"><a href="#type-arith_op.Minus" class="anchor"></a><code>| </code><code><span class="constructor">Minus</span></code></td></tr><tr id="type-arith_op.Mult" class="anchored"><td class="def constructor"><a href="#type-arith_op.Mult" class="anchor"></a><code>| </code><code><span class="constructor">Mult</span></code></td></tr><tr id="type-arith_op.Div" class="anchored"><td class="def constructor"><a href="#type-arith_op.Div" class="anchor"></a><code>| </code><code><span class="constructor">Div</span></code></td></tr></table></dt><dt class="spec type" id="type-term"><a href="#type-term" class="anchor"></a><code><span class="keyword">type</span> term</code><code> = </code><table class="variant"><tr id="type-term.True" class="anchored"><td class="def constructor"><a href="#type-term.True" class="anchor"></a><code>| </code><code><span class="constructor">True</span></code></td></tr><tr id="type-term.False" class="anchored"><td class="def constructor"><a href="#type-term.False" class="anchor"></a><code>| </code><code><span class="constructor">False</span></code></td></tr><tr id="type-term.Const" class="anchored"><td class="def constructor"><a href="#type-term.Const" class="anchor"></a><code>| </code><code><span class="constructor">Const</span> <span class="keyword">of</span> string</code></td></tr><tr id="type-term.Arith" class="anchored"><td class="def constructor"><a href="#type-term.Arith" class="anchor"></a><code>| </code><code><span class="constructor">Arith</span> <span class="keyword">of</span> <a href="index.html#type-arith_op">arith_op</a> * <a href="index.html#type-term">term</a> list</code></td></tr><tr id="type-term.App" class="anchored"><td class="def constructor"><a href="#type-term.App" class="anchor"></a><code>| </code><code><span class="constructor">App</span> <span class="keyword">of</span> string * <a href="index.html#type-term">term</a> list</code></td></tr><tr id="type-term.HO_app" class="anchored"><td class="def constructor"><a href="#type-term.HO_app" class="anchor"></a><code>| </code><code><span class="constructor">HO_app</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a> * <a href="index.html#type-term">term</a></code></td></tr><tr id="type-term.Match" class="anchored"><td class="def constructor"><a href="#type-term.Match" class="anchor"></a><code>| </code><code><span class="constructor">Match</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a> * <a href="index.html#type-match_branch">match_branch</a> list</code></td></tr><tr id="type-term.If" class="anchored"><td class="def constructor"><a href="#type-term.If" class="anchor"></a><code>| </code><code><span class="constructor">If</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a> * <a href="index.html#type-term">term</a> * <a href="index.html#type-term">term</a></code></td></tr><tr id="type-term.Let" class="anchored"><td class="def constructor"><a href="#type-term.Let" class="anchor"></a><code>| </code><code><span class="constructor">Let</span> <span class="keyword">of</span> (<a href="index.html#type-var">var</a> * <a href="index.html#type-term">term</a>) list * <a href="index.html#type-term">term</a></code></td></tr><tr id="type-term.Fun" class="anchored"><td class="def constructor"><a href="#type-term.Fun" class="anchor"></a><code>| </code><code><span class="constructor">Fun</span> <span class="keyword">of</span> <a href="index.html#type-typed_var">typed_var</a> * <a href="index.html#type-term">term</a></code></td></tr><tr id="type-term.Eq" class="anchored"><td class="def constructor"><a href="#type-term.Eq" class="anchor"></a><code>| </code><code><span class="constructor">Eq</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a> * <a href="index.html#type-term">term</a></code></td></tr><tr id="type-term.Imply" class="anchored"><td class="def constructor"><a href="#type-term.Imply" class="anchor"></a><code>| </code><code><span class="constructor">Imply</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a> * <a href="index.html#type-term">term</a></code></td></tr><tr id="type-term.And" class="anchored"><td class="def constructor"><a href="#type-term.And" class="anchor"></a><code>| </code><code><span class="constructor">And</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a> list</code></td></tr><tr id="type-term.Or" class="anchored"><td class="def constructor"><a href="#type-term.Or" class="anchor"></a><code>| </code><code><span class="constructor">Or</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a> list</code></td></tr><tr id="type-term.Not" class="anchored"><td class="def constructor"><a href="#type-term.Not" class="anchor"></a><code>| </code><code><span class="constructor">Not</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a></code></td></tr><tr id="type-term.Xor" class="anchored"><td class="def constructor"><a href="#type-term.Xor" class="anchor"></a><code>| </code><code><span class="constructor">Xor</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a> * <a href="index.html#type-term">term</a></code></td></tr><tr id="type-term.Distinct" class="anchored"><td class="def constructor"><a href="#type-term.Distinct" class="anchor"></a><code>| </code><code><span class="constructor">Distinct</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a> list</code></td></tr><tr id="type-term.Cast" class="anchored"><td class="def constructor"><a href="#type-term.Cast" class="anchor"></a><code>| </code><code><span class="constructor">Cast</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a> * <a href="index.html#type-ty">ty</a></code></td></tr><tr id="type-term.Forall" class="anchored"><td class="def constructor"><a href="#type-term.Forall" class="anchor"></a><code>| </code><code><span class="constructor">Forall</span> <span class="keyword">of</span> (<a href="index.html#type-var">var</a> * <a href="index.html#type-ty">ty</a>) list * <a href="index.html#type-term">term</a></code></td></tr><tr id="type-term.Exists" class="anchored"><td class="def constructor"><a href="#type-term.Exists" class="anchor"></a><code>| </code><code><span class="constructor">Exists</span> <span class="keyword">of</span> (<a href="index.html#type-var">var</a> * <a href="index.html#type-ty">ty</a>) list * <a href="index.html#type-term">term</a></code></td></tr></table></dt><dd><h3 id="ast:-s-expressions-with-locations"><a href="#ast:-s-expressions-with-locations" class="anchor"></a>AST: S-expressions with locations</h3></dd></dl><dl><dt class="spec type" id="type-match_branch"><a href="#type-match_branch" class="anchor"></a><code><span class="keyword">and</span> match_branch</code><code> = </code><table class="variant"><tr id="type-match_branch.Match_default" class="anchored"><td class="def constructor"><a href="#type-match_branch.Match_default" class="anchor"></a><code>| </code><code><span class="constructor">Match_default</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a></code></td></tr><tr id="type-match_branch.Match_case" class="anchored"><td class="def constructor"><a href="#type-match_branch.Match_case" class="anchor"></a><code>| </code><code><span class="constructor">Match_case</span> <span class="keyword">of</span> string * <a href="index.html#type-var">var</a> list * <a href="index.html#type-term">term</a></code></td></tr></table></dt><dt class="spec type" id="type-cstor"><a href="#type-cstor" class="anchor"></a><code><span class="keyword">type</span> cstor</code><code> = </code><code>{</code><table class="record"><tr id="type-cstor.cstor_name" class="anchored"><td class="def field"><a href="#type-cstor.cstor_name" class="anchor"></a><code>cstor_name : string;</code></td></tr><tr id="type-cstor.cstor_args" class="anchored"><td class="def field"><a href="#type-cstor.cstor_args" class="anchor"></a><code>cstor_args : (string * <a href="index.html#type-ty">ty</a>) list;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-fun_decl"><a href="#type-fun_decl" class="anchor"></a><code><span class="keyword">type</span> 'arg fun_decl</code><code> = </code><code>{</code><table class="record"><tr id="type-fun_decl.fun_ty_vars" class="anchored"><td class="def field"><a href="#type-fun_decl.fun_ty_vars" class="anchor"></a><code>fun_ty_vars : <a href="index.html#type-ty_var">ty_var</a> list;</code></td></tr><tr id="type-fun_decl.fun_name" class="anchored"><td class="def field"><a href="#type-fun_decl.fun_name" class="anchor"></a><code>fun_name : string;</code></td></tr><tr id="type-fun_decl.fun_args" class="anchored"><td class="def field"><a href="#type-fun_decl.fun_args" class="anchor"></a><code>fun_args : <span class="type-var">'arg</span> list;</code></td></tr><tr id="type-fun_decl.fun_ret" class="anchored"><td class="def field"><a href="#type-fun_decl.fun_ret" class="anchor"></a><code>fun_ret : <a href="index.html#type-ty">ty</a>;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-fun_def"><a href="#type-fun_def" class="anchor"></a><code><span class="keyword">type</span> fun_def</code><code> = </code><code>{</code><table class="record"><tr id="type-fun_def.fr_decl" class="anchored"><td class="def field"><a href="#type-fun_def.fr_decl" class="anchor"></a><code>fr_decl : <a href="index.html#type-typed_var">typed_var</a> <a href="index.html#type-fun_decl">fun_decl</a>;</code></td></tr><tr id="type-fun_def.fr_body" class="anchored"><td class="def field"><a href="#type-fun_def.fr_body" class="anchor"></a><code>fr_body : <a href="index.html#type-term">term</a>;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-funs_rec_def"><a href="#type-funs_rec_def" class="anchor"></a><code><span class="keyword">type</span> funs_rec_def</code><code> = </code><code>{</code><table class="record"><tr id="type-funs_rec_def.fsr_decls" class="anchored"><td class="def field"><a href="#type-funs_rec_def.fsr_decls" class="anchor"></a><code>fsr_decls : <a href="index.html#type-typed_var">typed_var</a> <a href="index.html#type-fun_decl">fun_decl</a> list;</code></td></tr><tr id="type-funs_rec_def.fsr_bodies" class="anchored"><td class="def field"><a href="#type-funs_rec_def.fsr_bodies" class="anchor"></a><code>fsr_bodies : <a href="index.html#type-term">term</a> list;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-statement"><a href="#type-statement" class="anchor"></a><code><span class="keyword">type</span> statement</code><code> = </code><code>{</code><table class="record"><tr id="type-statement.stmt" class="anchored"><td class="def field"><a href="#type-statement.stmt" class="anchor"></a><code>stmt : <a href="index.html#type-stmt">stmt</a>;</code></td></tr><tr id="type-statement.loc" class="anchored"><td class="def field"><a href="#type-statement.loc" class="anchor"></a><code>loc : <a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> option;</code></td></tr></table><code>}</code></dt><dt class="spec type" id="type-stmt"><a href="#type-stmt" class="anchor"></a><code><span class="keyword">and</span> stmt</code><code> = </code><table class="variant"><tr id="type-stmt.Stmt_decl_sort" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_decl_sort" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_decl_sort</span> <span class="keyword">of</span> string * int</code></td></tr><tr id="type-stmt.Stmt_decl" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_decl" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_decl</span> <span class="keyword">of</span> <a href="index.html#type-ty">ty</a> <a href="index.html#type-fun_decl">fun_decl</a></code></td></tr><tr id="type-stmt.Stmt_fun_def" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_fun_def" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_fun_def</span> <span class="keyword">of</span> <a href="index.html#type-fun_def">fun_def</a></code></td></tr><tr id="type-stmt.Stmt_fun_rec" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_fun_rec" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_fun_rec</span> <span class="keyword">of</span> <a href="index.html#type-fun_def">fun_def</a></code></td></tr><tr id="type-stmt.Stmt_funs_rec" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_funs_rec" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_funs_rec</span> <span class="keyword">of</span> <a href="index.html#type-funs_rec_def">funs_rec_def</a></code></td></tr><tr id="type-stmt.Stmt_data" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_data" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_data</span> <span class="keyword">of</span> <a href="index.html#type-ty_var">ty_var</a> list * (string * <a href="index.html#type-cstor">cstor</a> list) list</code></td></tr><tr id="type-stmt.Stmt_assert" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_assert" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_assert</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a></code></td></tr><tr id="type-stmt.Stmt_lemma" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_lemma" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_lemma</span> <span class="keyword">of</span> <a href="index.html#type-term">term</a></code></td></tr><tr id="type-stmt.Stmt_assert_not" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_assert_not" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_assert_not</span> <span class="keyword">of</span> <a href="index.html#type-ty_var">ty_var</a> list * <a href="index.html#type-term">term</a></code></td></tr><tr id="type-stmt.Stmt_set_logic" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_set_logic" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_set_logic</span> <span class="keyword">of</span> string</code></td></tr><tr id="type-stmt.Stmt_set_option" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_set_option" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_set_option</span> <span class="keyword">of</span> string list</code></td></tr><tr id="type-stmt.Stmt_set_info" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_set_info" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_set_info</span> <span class="keyword">of</span> string list</code></td></tr><tr id="type-stmt.Stmt_check_sat" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_check_sat" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_check_sat</span></code></td></tr><tr id="type-stmt.Stmt_exit" class="anchored"><td class="def constructor"><a href="#type-stmt.Stmt_exit" class="anchor"></a><code>| </code><code><span class="constructor">Stmt_exit</span></code></td></tr></table></dt></dl><dl><dt class="spec value" id="val-ty_bool"><a href="#val-ty_bool" class="anchor"></a><code><span class="keyword">val</span> ty_bool : <a href="index.html#type-ty">ty</a></code></dt><dt class="spec value" id="val-ty_app"><a href="#val-ty_app" class="anchor"></a><code><span class="keyword">val</span> ty_app : <a href="index.html#type-ty_var">ty_var</a> <span>-></span> <a href="index.html#type-ty">ty</a> list <span>-></span> <a href="index.html#type-ty">ty</a></code></dt><dt class="spec value" id="val-ty_const"><a href="#val-ty_const" class="anchor"></a><code><span class="keyword">val</span> ty_const : <a href="index.html#type-ty_var">ty_var</a> <span>-></span> <a href="index.html#type-ty">ty</a></code></dt><dt class="spec value" id="val-ty_arrow_l"><a href="#val-ty_arrow_l" class="anchor"></a><code><span class="keyword">val</span> ty_arrow_l : <a href="index.html#type-ty">ty</a> list <span>-></span> <a href="index.html#type-ty">ty</a> <span>-></span> <a href="index.html#type-ty">ty</a></code></dt><dt class="spec value" id="val-ty_arrow"><a href="#val-ty_arrow" class="anchor"></a><code><span class="keyword">val</span> ty_arrow : <a href="index.html#type-ty">ty</a> <span>-></span> <a href="index.html#type-ty">ty</a> <span>-></span> <a href="index.html#type-ty">ty</a></code></dt><dt class="spec value" id="val-true_"><a href="#val-true_" class="anchor"></a><code><span class="keyword">val</span> true_ : <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-false_"><a href="#val-false_" class="anchor"></a><code><span class="keyword">val</span> false_ : <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-const"><a href="#val-const" class="anchor"></a><code><span class="keyword">val</span> const : string <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-app"><a href="#val-app" class="anchor"></a><code><span class="keyword">val</span> app : string <span>-></span> <a href="index.html#type-term">term</a> list <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-ho_app"><a href="#val-ho_app" class="anchor"></a><code><span class="keyword">val</span> ho_app : <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-ho_app_l"><a href="#val-ho_app_l" class="anchor"></a><code><span class="keyword">val</span> ho_app_l : <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a> list <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-match_"><a href="#val-match_" class="anchor"></a><code><span class="keyword">val</span> match_ : <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-match_branch">match_branch</a> list <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-if_"><a href="#val-if_" class="anchor"></a><code><span class="keyword">val</span> if_ : <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-fun_"><a href="#val-fun_" class="anchor"></a><code><span class="keyword">val</span> fun_ : <a href="index.html#type-typed_var">typed_var</a> <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-fun_l"><a href="#val-fun_l" class="anchor"></a><code><span class="keyword">val</span> fun_l : <a href="index.html#type-typed_var">typed_var</a> list <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-let_"><a href="#val-let_" class="anchor"></a><code><span class="keyword">val</span> let_ : (<a href="index.html#type-var">var</a> * <a href="index.html#type-term">term</a>) list <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-eq"><a href="#val-eq" class="anchor"></a><code><span class="keyword">val</span> eq : <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-imply"><a href="#val-imply" class="anchor"></a><code><span class="keyword">val</span> imply : <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-xor"><a href="#val-xor" class="anchor"></a><code><span class="keyword">val</span> xor : <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-and_"><a href="#val-and_" class="anchor"></a><code><span class="keyword">val</span> and_ : <a href="index.html#type-term">term</a> list <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-or_"><a href="#val-or_" class="anchor"></a><code><span class="keyword">val</span> or_ : <a href="index.html#type-term">term</a> list <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-distinct"><a href="#val-distinct" class="anchor"></a><code><span class="keyword">val</span> distinct : <a href="index.html#type-term">term</a> list <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-cast"><a href="#val-cast" class="anchor"></a><code><span class="keyword">val</span> cast : <a href="index.html#type-term">term</a> <span>-></span> ty:<a href="index.html#type-ty">ty</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-forall"><a href="#val-forall" class="anchor"></a><code><span class="keyword">val</span> forall : (<a href="index.html#type-var">var</a> * <a href="index.html#type-ty">ty</a>) list <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-exists"><a href="#val-exists" class="anchor"></a><code><span class="keyword">val</span> exists : (<a href="index.html#type-var">var</a> * <a href="index.html#type-ty">ty</a>) list <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-not_"><a href="#val-not_" class="anchor"></a><code><span class="keyword">val</span> not_ : <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-arith"><a href="#val-arith" class="anchor"></a><code><span class="keyword">val</span> arith : <a href="index.html#type-arith_op">arith_op</a> <span>-></span> <a href="index.html#type-term">term</a> list <span>-></span> <a href="index.html#type-term">term</a></code></dt><dt class="spec value" id="val-_mk"><a href="#val-_mk" class="anchor"></a><code><span class="keyword">val</span> _mk : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> <a href="index.html#type-stmt">stmt</a> <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-mk_cstor"><a href="#val-mk_cstor" class="anchor"></a><code><span class="keyword">val</span> mk_cstor : string <span>-></span> (string * <a href="index.html#type-ty">ty</a>) list <span>-></span> <a href="index.html#type-cstor">cstor</a></code></dt><dt class="spec value" id="val-mk_fun_decl"><a href="#val-mk_fun_decl" class="anchor"></a><code><span class="keyword">val</span> mk_fun_decl : ty_vars:<a href="index.html#type-ty_var">ty_var</a> list <span>-></span> string <span>-></span> <span class="type-var">'a</span> list <span>-></span> <a href="index.html#type-ty">ty</a> <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-fun_decl">fun_decl</a></code></dt><dt class="spec value" id="val-mk_fun_rec"><a href="#val-mk_fun_rec" class="anchor"></a><code><span class="keyword">val</span> mk_fun_rec : ty_vars:<a href="index.html#type-ty_var">ty_var</a> list <span>-></span> string <span>-></span> <a href="index.html#type-typed_var">typed_var</a> list <span>-></span> <a href="index.html#type-ty">ty</a> <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-fun_def">fun_def</a></code></dt><dt class="spec value" id="val-decl_sort"><a href="#val-decl_sort" class="anchor"></a><code><span class="keyword">val</span> decl_sort : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> string <span>-></span> arity:int <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-decl_fun"><a href="#val-decl_fun" class="anchor"></a><code><span class="keyword">val</span> decl_fun : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> tyvars:<a href="index.html#type-ty_var">ty_var</a> list <span>-></span> string <span>-></span> <a href="index.html#type-ty">ty</a> list <span>-></span> <a href="index.html#type-ty">ty</a> <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-fun_def"><a href="#val-fun_def" class="anchor"></a><code><span class="keyword">val</span> fun_def : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> <a href="index.html#type-fun_def">fun_def</a> <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-fun_rec"><a href="#val-fun_rec" class="anchor"></a><code><span class="keyword">val</span> fun_rec : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> <a href="index.html#type-fun_def">fun_def</a> <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-funs_rec"><a href="#val-funs_rec" class="anchor"></a><code><span class="keyword">val</span> funs_rec : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> <a href="index.html#type-typed_var">typed_var</a> <a href="index.html#type-fun_decl">fun_decl</a> list <span>-></span> <a href="index.html#type-term">term</a> list <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-data"><a href="#val-data" class="anchor"></a><code><span class="keyword">val</span> data : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> <a href="index.html#type-ty_var">ty_var</a> list <span>-></span> (string * <a href="index.html#type-cstor">cstor</a> list) list <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-assert_"><a href="#val-assert_" class="anchor"></a><code><span class="keyword">val</span> assert_ : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-lemma"><a href="#val-lemma" class="anchor"></a><code><span class="keyword">val</span> lemma : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-assert_not"><a href="#val-assert_not" class="anchor"></a><code><span class="keyword">val</span> assert_not : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> ty_vars:<a href="index.html#type-ty_var">ty_var</a> list <span>-></span> <a href="index.html#type-term">term</a> <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-set_logic"><a href="#val-set_logic" class="anchor"></a><code><span class="keyword">val</span> set_logic : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> string <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-set_option"><a href="#val-set_option" class="anchor"></a><code><span class="keyword">val</span> set_option : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> string list <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-set_info"><a href="#val-set_info" class="anchor"></a><code><span class="keyword">val</span> set_info : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> string list <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-check_sat"><a href="#val-check_sat" class="anchor"></a><code><span class="keyword">val</span> check_sat : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> unit <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-exit"><a href="#val-exit" class="anchor"></a><code><span class="keyword">val</span> exit : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> unit <span>-></span> <a href="index.html#type-statement">statement</a></code></dt><dt class="spec value" id="val-loc"><a href="#val-loc" class="anchor"></a><code><span class="keyword">val</span> loc : <a href="index.html#type-statement">statement</a> <span>-></span> <a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> option</code></dt><dt class="spec value" id="val-view"><a href="#val-view" class="anchor"></a><code><span class="keyword">val</span> view : <a href="index.html#type-statement">statement</a> <span>-></span> <a href="index.html#type-stmt">stmt</a></code></dt><dt class="spec value" id="val-fpf"><a href="#val-fpf" class="anchor"></a><code><span class="keyword">val</span> fpf : Format.formatter <span>-></span> (<span class="type-var">'a</span>, Format.formatter, unit) Pervasives.format <span>-></span> <span class="type-var">'a</span></code></dt><dt class="spec value" id="val-pp_tyvar"><a href="#val-pp_tyvar" class="anchor"></a><code><span class="keyword">val</span> pp_tyvar : Format.formatter <span>-></span> string <span>-></span> unit</code></dt><dt class="spec value" id="val-pp_ty"><a href="#val-pp_ty" class="anchor"></a><code><span class="keyword">val</span> pp_ty : <a href="index.html#type-ty">ty</a> <a href="../../sidekick/Sidekick_util/Util/index.html#type-printer">Sidekick_util.Util.printer</a></code></dt><dt class="spec value" id="val-pp_arith"><a href="#val-pp_arith" class="anchor"></a><code><span class="keyword">val</span> pp_arith : <a href="index.html#module-Fmt">Fmt</a>.t <span>-></span> <a href="index.html#type-arith_op">arith_op</a> <span>-></span> unit</code></dt><dt class="spec value" id="val-pp_term"><a href="#val-pp_term" class="anchor"></a><code><span class="keyword">val</span> pp_term : <a href="index.html#type-term">term</a> <a href="../../sidekick/Sidekick_util/Util/index.html#type-printer">Sidekick_util.Util.printer</a></code></dt><dt class="spec value" id="val-pp_typed_var"><a href="#val-pp_typed_var" class="anchor"></a><code><span class="keyword">val</span> pp_typed_var : <a href="index.html#type-typed_var">typed_var</a> <a href="../../sidekick/Sidekick_util/Util/index.html#type-printer">Sidekick_util.Util.printer</a></code></dt><dt class="spec value" id="val-pp_par"><a href="#val-pp_par" class="anchor"></a><code><span class="keyword">val</span> pp_par : (CCFormat.t <span>-></span> <span class="type-var">'a</span> <span>-></span> unit) <span>-></span> CCFormat.t <span>-></span> (string list * <span class="type-var">'a</span>) <span>-></span> unit</code></dt><dt class="spec value" id="val-pp_fun_decl"><a href="#val-pp_fun_decl" class="anchor"></a><code><span class="keyword">val</span> pp_fun_decl : <span class="type-var">'a</span> <a href="../../sidekick/Sidekick_util/Util/index.html#type-printer">Sidekick_util.Util.printer</a> <span>-></span> Format.formatter <span>-></span> <span class="type-var">'a</span> <a href="index.html#type-fun_decl">fun_decl</a> <span>-></span> unit</code></dt><dt class="spec value" id="val-pp_fr"><a href="#val-pp_fr" class="anchor"></a><code><span class="keyword">val</span> pp_fr : Format.formatter <span>-></span> <a href="index.html#type-fun_def">fun_def</a> <span>-></span> unit</code></dt><dt class="spec value" id="val-pp_stmt"><a href="#val-pp_stmt" class="anchor"></a><code><span class="keyword">val</span> pp_stmt : Format.formatter <span>-></span> <a href="index.html#type-statement">statement</a> <span>-></span> unit</code></dt></dl><section><header><h3 id="errors"><a href="#errors" class="anchor"></a>Errors</h3></header><dl><dt class="spec exception" id="exception-Parse_error"><a href="#exception-Parse_error" class="anchor"></a><code><span class="keyword">exception</span> </code><code><span class="exception">Parse_error</span> <span class="keyword">of</span> <a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> option * string</code></dt></dl><dl><dt class="spec value" id="val-parse_error"><a href="#val-parse_error" class="anchor"></a><code><span class="keyword">val</span> parse_error : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> string <span>-></span> <span class="type-var">'a</span></code></dt><dt class="spec value" id="val-parse_errorf"><a href="#val-parse_errorf" class="anchor"></a><code><span class="keyword">val</span> parse_errorf : ?⁠loc:<a href="../Sidekick_smtlib__/Locations/index.html#type-t">Loc.t</a> <span>-></span> (<span class="type-var">'a</span>, unit, string, <span class="type-var">'b</span>) Pervasives.format4 <span>-></span> <span class="type-var">'a</span></code></dt></dl></section></div></body></html> |