Module AltErgoLib.Rel_utils

module X = Shostak.Combine
module MX = Shostak.MXH
module SX = Shostak.SXH
module HX = Shostak.HX
module L = Xliteral
module LR = AltErgoLib.Uf.LX
module HLR : sig ... end
val assume_nontrivial_eqs : X.r Sig_rel.input list -> X.r Sig_rel.input list -> X.r Sig_rel.fact list

assume_nontrivial_eqs eqs la can be used by theories to remove from the equations eqs both duplicates and those that are implied by the assumptions in la.

type delayed_fn = Uf.t -> Symbols.operator -> Expr.t list -> (X.r * Explanation.t) option
val delay1 : (Uf.r -> 'a) -> ('b -> 'c) -> ('d -> 'e -> 'f option) -> Uf.t -> 'g -> Expr.t list -> ('h * Explanation.t) option
val delay2 : (Uf.r -> 'a) -> ('b -> 'c) -> ('d -> 'e -> 'f -> 'g option) -> Uf.t -> 'h -> Expr.t list -> ('i * Explanation.t) option
module Delayed : sig ... end

The Delayed module can be used by relations that deal with partially interpreted functions. It will introduce the equalities between a function and its interpreted value as soon as the value of its arguments become known.

module XComparable : sig ... end

Implementation of the ComparableType interface for semantic values.