Details and Options
ResourceFunction["FindEquationalPath"] uses
FindEquationalProof to find a proof of equational proposition and by using cut-elimination, derives a sequential path of one-step replacements from one side of a theorem to another.
The replacement path consists of pattern expressions corresponding to logic formulas with patterns (like a
Blank,
a_) representing universal variables (
ForAll) and other symbols representing functional constants (
Exists).
Properties prop supported by ResourceFunction["FindEquationalPath"] include:
"ProofObject" | the corresponding ProofObject |
"Path" | a list of expressions comprising a found path (default) |
"Justification" | a list of axioms used in each subsequent step of a path together with its orientation and position |
"Rewrites" | a list of rewriting functions that reproduce a path |
"RewritesTest" | test rewriting functions to successfully reproduce a path |
All | all of the above as an association |
For the "Justification" property, axiom orientation is a direction of a corresponding rule, for example a==b can be used as a → b (right orientation) or b → a (left orientation).
Position of a step is a position of a subexpression at which a rule corresponding to an axiom is being applied.
Explicit hypothesis and conclusion lemmas are keys from the "Proof" or "ProofDataset" properties of a
ProofObject, with {"Hypothesis", 1} and corresponding {"Conclusion", 1} being the default.
Explicit conclusion lemma is rarely needed, it is used as a starting point to generate a path by backtracking through a proof graph.
ResourceFunction["FindEquationalPath"] takes the option
"Reverse". With
"Reverse"→True, a reversed replacement path is returned.