Backtracking Facts for a PreGroundTerm #
The main outcome of this file is PreGroundTerm.backtrackFacts, which returns facts necessarily involved in the derivation of a given functional term.
For a functional PreGroundTerm, we can find a PreTrigger that introduces it (while putting fresh constants for body variables).
Equations
- One or more equations did not get rendered due to their size.
- PreGroundTerm.backtrackTrigger (FiniteTree.leaf c) term_is_func_2 term_arity_ok_2 forbidden_constants = ⋯.elim
Instances For
For a PreGroundTerm, we can find the facts necessary to introduce this term. These are all facts in the body and head of the backtrackTrigger for the term as well as all backtrackFacts for the subterms (i.e. the children) or the term. Because we need to know which "fresh" constants have already been used, we also return those. Note that we also take a list of constants that are already forbidden.
Equations
- One or more equations did not get rendered due to their size.
- PreGroundTerm.backtrackFacts (FiniteTree.leaf c) term_arity_ok_2 forbidden_constants = ([], [])
Instances For
Equations
Instances For
The fresh constants are indeed not forbidden.
Each constant in PreGroundTerm.backtrackFacts is in the rule set, a leaf in the term, or a fresh constant.