mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-06 03:05:31 -05:00
17 lines
621 B
OCaml
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
|