Backtracking Facts for a PreTrigger #
We mainly lift the machinery around PreGroundTerm.backtrackFacts to PreTrigger.
The interesting parts are PreTrigger.backtrackFacts and PreTrigger.backtrackFacts_eq_of_strong_equiv.
Equations
- trg.backtrackTrigger_for_functional_term forbidden_constants i lt v v_exis = (trg.functional_term_for_var i lt v v_exis).backtrackTrigger ⋯ forbidden_constants
Instances For
When backtracking a trigger, the "affected" rules are either the rule of the trigger itself or a rule in one of the Skolem terms.
Equations
Instances For
The affected rules of two PreTriggers are the same if they are strongly equivalent, i.e. they have the same rule and the same mapped body.
When backtracking a trigger, we forbid the following from being used a fresh constants: all constants that occur in the mapped body or constants in affected_rules_for_backtracking.
Equations
Instances For
The backtracking of a PreTrigger consists of its mapped body and the backtrackings of all GroundTerms that occur in its mapped body.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The backtracking of two PreTriggers is the same if they are strongly equivalent, i.e. they have the same rule and the same mapped body.