package alt-ergo-lib

  1. Overview
  2. Docs
The Alt-Ergo SMT prover library

Install

Dune Dependency

Authors

Maintainers

Sources

alt-ergo-2.6.1.tbz
sha256=df56045a3af79fbcfbd1deeaf09012d5bc390b4c2223e1d9c25c11c301d9eeba
sha512=ff83e5ce7598bc30509be8ca2c14d791856b0269f852903f81216ae1cbc27737d90b6313176fa24768944433b875811ee19b51fc821948634ea678dbcca4befb

doc/alt-ergo-lib/AltErgoLib/Records_rel/index.html

Module AltErgoLib.Records_rel

include Sig_rel.RELATION
type t
val timer : Timers.ty_module
val empty : Uf.t -> t * Uf.GlobalDomains.t

empty uf creates a new environment for this relation and allows for the registration of global domains in the union-find.

The second component of the pair should be Uf.domains uf with any domains that the relation requires added.

assume env uf la adds and processes the literals in la to the environment env.

The second value returned by this function can be used to update any relevant domain.

val case_split : t -> Uf.t -> for_model:bool -> Th_util.case_split list

case_split env returns a list of equalities

The returned case splits *must* have a CS origin; see the doc of Th_util.case_split.

The for_model flag is true when we are splitting for the purpose of generating a model; the case split may need to be more aggressive in this case to ensure completeness.

Note: not always equalities (e.g. the arrays theory returns disequalities)

val optimizing_objective : t -> Uf.t -> Objective.Function.t -> Th_util.optimized_split option

optimizing_split env uf o tries to optimize objective o. Returns None if the theory cannot optimize the objective.

add a representant to take into account

val instantiate : do_syntactic_matching:bool -> (Matching_types.info Expr.Map.t * Expr.t list Expr.Map.t Symbols.Map.t) -> t -> Uf.t -> (Expr.t -> Expr.t -> bool) -> t * Sig_rel.instances
val new_terms : t -> Expr.Set.t

new_terms env returns all the new terms created by the theory. These terms can be used to instantiate axiomes.

val assume_th_elt : t -> Expr.th_elt -> Explanation.t -> t
val src : Logs.src
OCaml

Innovation. Community. Security.