diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-04-03 14:21:40 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-04-03 14:21:40 +0800 |
| commit | df6c2f124fce4cecd42da806a003afdf3a922c09 (patch) | |
| tree | 9578ecd7b2585d164970366bf6f45cb37f8c4cf3 /proofsearch/include/atp/infer/unification.h | |
| parent | 52ff8a1695a2cc5157b98d4e71b05d7ea58bb97a (diff) | |
| download | rcc-project-df6c2f124fce4cecd42da806a003afdf3a922c09.tar.gz rcc-project-df6c2f124fce4cecd42da806a003afdf3a922c09.tar.xz | |
feat: implement substitution logic and unify/applySubstitution functions for term resolution
Diffstat (limited to 'proofsearch/include/atp/infer/unification.h')
| -rw-r--r-- | proofsearch/include/atp/infer/unification.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/proofsearch/include/atp/infer/unification.h b/proofsearch/include/atp/infer/unification.h index 7d91aaf..f2ea180 100644 --- a/proofsearch/include/atp/infer/unification.h +++ b/proofsearch/include/atp/infer/unification.h @@ -37,4 +37,8 @@ struct UnificationConfig { bool unify(const TermBank& bank, TermId t1, TermId t2, Substitution& subst, const UnificationConfig& config = {}); +/// Apply a substitution to a term recursively, creating new terms in the bank. +/// Free (unbound) variables are left unchanged. +TermId applySubstitution(const Substitution& subst, TermId term, TermBank& bank); + } // namespace atp |
