sidekick/src/cc/resolved_expl.mli

17 lines
621 B
OCaml

(** Resolved explanations.
The congruence closure keeps explanations for why terms are in the same
class. However these are represented in a compact, cheap form.
To use these explanations we need to {b resolve} them into a
resolved explanation, typically a list of
literals that are true in the current trail and are responsible for
merges.
However, we can also have merged classes because they have the same value
in the current model. *)
open Types_
type t = { lits: Lit.t list; pr: Proof_trace.t -> Proof_term.step_id }
include Sidekick_sigs.PRINT with type t := t