Reference. A Saturation-Based Unification Algorithm for Higher-Order Rational Patterns
Higher-order unification has been shown to be undecidable. Miller discovered the pattern fragment and subsequently showed that higher-order pattern unification is decidable and has most general unifiers. We extend the algorithm to higher-order rational terms (a.k.a. regular Böhm trees, a form of cyclic λ-terms) and show that pattern unification on higher-order rational terms is decidable and has most general unifiers. We prove the soundness and completeness of the algorithm.
Cite
Cites 24 works (2 here)
With notes (2)
A Logical Framework with Higher-Order Rational (Circular) Terms chen-2023-a
Logical frameworks provide natural and direct ways of specifying and reasoning within deductive systems. The logical framework LF and subsequent developments focus on finitary proof systems, making the formalization of circular proof systems in such logical frameworks a cumbersome and awkward task. To address this issue, we propose CoLF, a conservative extension of LF with higher-order rational terms and mixed inductive and coinductive definitions. In this framework, two terms are equal if they unfold to the same infinite regular Böhm tree. Both term equality and type checking are decidable in CoLF. We illustrate the elegance and expressive power of the framework with several small case studies.
System Description: Twelf — A Meta-Logical Framework for Deductive Systems pfenning_schrmann_1999
External (22)
- Nominal Unification and Matching of Higher Order Expressions with Recursive Let (2022)
- Circular proofs as session-typed processes: A local validity condition (2019)
- Well-founded recursion with copatterns and sized types (2016)
- Cuts for circular proofs: Semantics and cut-elimination (2013)
- Sequent calculi for induction and infinite descent (2011)
- Subtyping, Declaratively (2010)
- Nominal Unification Revisited (2010)
- Representations of stream processors using nested fixed points (2009)
- Efficient intuitionistic theorem proving with the polarized inverse method (2009)
- Lecture Notes on Unification (2006)
- Nominal unification (2004)
- A Coverage Checking Algorithm for LF (2003)
- Regular Böhm trees (1998)
- Cyclic lambda calculi (1997)
- Saturation-based theorem proving (abstract) (1996)
- A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification (1991)
- Efficient unification over infinite terms (1984)
- An Efficient Unification Algorithm (1982)
- Proving termination with multiset orderings (1979)
- A unification algorithm for typed λ-calculus (1975)
- The undecidability of unification in third order logic (1973)
- A Machine-Oriented Logic Based on the Resolution Principle (1965)