Skip to main content

check_goal

Function check_goal 

Source
pub fn check_goal(goal: &Term) -> bool
Expand 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.