Create a congruence closure state object using the hypotheses in the current goal.
Get the next element in the equivalence class. Note that if the given expr e is not in the graph then it will just return e.
Get the root representative of the given expression.
"Modification Time". The field m_mt is used to implement the mod-time optimization introduce by the Simplify theorem prover. The basic idea is to introduce a counter gmt that records the number of heuristic instantiation that have occurred in the current branch. It is incremented after each round of heuristic instantiation. The field m_mt records the last time any proper descendant of of thie entry was involved in a merge.
"Global Modification Time". gmt is a number stored on the cc_state,
it is compared with the modification time of a cc_entry in e-matching. See cc_state.mt
.
Check if e
is the root of the congruence class.
Returns true if the cc_state is inconsistent. For example if it had both a = b
and a ≠ b
in it.
If the given state is inconsistent, return a proof for false. Otherwise fail.