package smtml
Module Smtml.AstSource
SMT-LIB Commands Representation. This module defines types and utilities for representing SMT-LIB commands, which are used to interact with SMT solvers. It includes commands for assertions, declarations, solver control, and metadata management.
Command Types
type t = | Assert of Expr.t(*
*)Assert expradds an assertionexprto the current set of constraints.| Check_sat of Expr.t list(*
*)Check_sat assumptionschecks the satisfiability of the current set of constraints, optionally using additional assumptions.| Declare_const of {id : Symbol.t;(*The identifier of the constant.
*)sort : Symbol.t;(*The sort (type) of the declared constant.
*)
}(*
*)Declare_const { id; sort }declares a new constantidof typesort.| Declare_fun of {id : Symbol.t;(*The identifier of the constant.
*)args : Symbol.t list;(*The sorts (types) of the arguments.
*)sort : Symbol.t;(*The sort (type) of the declared function.
*)
}(*
*)Declare_fun { id; args; sort }declares a new constantidof typeargs -> sort.| Echo of string(*
*)Echo msgprints the given messagemsgto the standard output.| Exit(*
*)Exitterminates the SMT solver session.| Get_assertions(*
*)Get_assertionsretrieves the current set of asserted formulas.| Get_assignment(*
*)Get_assignmentretrieves the current truth assignments for Boolean variables.| Get_info of string(*
*)Get_info keyretrieves metadata or configuration information associated withkey.| Get_option of string(*
*)Get_option keyretrieves the value of the solver option identified bykey.| Get_model(*
*)Get_modelrequests a model for the current set of constraints if the problem is satisfiable.| Get_value of Expr.t list(*
*)Get_value exprsretrieves the values of the given expressionsexprsin the current model.| Pop of int(*
*)Pop nremoves the topnlevels from the assertion stack.| Push of int(*
*)Push ncreatesnnew levels on the assertion stack.| Reset(*
*)Resetclears all assertions and resets the solver state.| Reset_assertions(*
*)Reset_assertionsclears all assertions without modifying solver settings.| Set_info of Expr.t(*
*)Set_info exprattaches metadata to the solver using the givenexpr.| Set_logic of Logic.t(*
*)Set_logic logicspecifies the logic to be used by the solver.| Set_option of Expr.t(*
*)Set_option exprsets a solver option with the given expressionexpr.
A type representing various SMT-LIB commands.
Script Type
Pretty Printing
Pretty-printer for SMT-LIB commands. Formats a command for human-readable output.