pub fn check_goal(goal: &Term) -> boolExpand description
Check if a goal is provable by congruence closure.
This is the main entry point for the CC tactic. It builds an E-graph, adds hypothesis equalities, propagates congruences, and checks if the conclusion follows.
§Supported Goals
- Direct equalities:
(Eq a a)succeeds by reflexivity - Implications:
(implies (Eq x y) (Eq (f x) (f y)))succeeds by congruence - Multiple hypotheses:
(implies (Eq a b) (implies (Eq b c) (Eq a c)))
§Returns
true if the goal is provable by congruence closure, false otherwise.