• Home
  • Search
  • First-order unification by structural recursion
  • Cite Icon36
  • https://doi.org/10.1017/s0956796803004957Copy DOI Icon

First-order unification by structural recursion

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

First-order unification algorithms (Robinson, 1965) are traditionally implemented via general recursion, with separate proofs for partial correctness and termination. The latter tends to involve counting the number of unsolved variables and showing that this total decreases each time a substitution enlarges the terms. There are many such proofs in the literature (Manna & Waldinger, 1981; Paulson, 1985; Coen, 1992; Rouyer, 1992; Jaume, 1997; Bove, 1999). This paper shows how a dependent type can relate terms to the set of variables over which they are constructed. As a consequence, first-order unification becomes a structurally recursive program, and a termination proof is no longer required. Both the program and its correctness proof have been checked using the proof assistant L EGO (Luo & Pollack, 1992; McBride, 1999).

Similar Papers
  • Conference Article
  • Citations42

Safe functional reactive programming through dependent types

  • Aug 31, 2009
  • Neil Sculthorpe +1
  • Book Chapter
  • Citations75

Interactive Programs in Dependent Type Theory

  • Jan 01, 2000
  • Peter Hancock +1
  • Research Article
  • Citations5

Leader election and computation of a spanning tree in dynamic distributed networks using local computations and mobile agents

  • Jan 01, 2017
  • International Journal of Space-Based and Situated Computing
  • Mouna Ktari +2
  • Conference Article
  • Citations35

A language-based approach to functionally correct imperative programming

  • Sep 12, 2005
  • Edwin Westbrook +2
  • Book Chapter
  • Citations3

A reflection-based proof tactic for lattices in Coq

  • May 10, 2014
  • Daniel W H James +1
  • PDF
  • Book Chapter
  • Citations22

Coalgebra Learning via Duality

  • Jan 01, 2019
  • Simone Barlocco +2
  • Conference Article
  • Citations21

Modular development of certified program verifiers with a proof assistant

  • Sep 16, 2006
  • Adam Chlipala
  • Research Article
  • Citations37

A HOL Basis for Reasoning about Functional Programs

  • Dec 14, 1994
  • BRICS Report Series
  • Sten Agerholm
  • Book Chapter
  • Citations13

The First-Order Nominal Link

  • Jan 01, 2011
  • Christophe Calvès +1
  • Book Chapter

Streams of Approximations, Equivalence of Recursive Effectful Programs

  • Jan 01, 2022
  • Niccoló Veltri +1
  • Research Article

Selective Strictness and Parametricity in Structural Operational Semantics, Inequationally

  • Dec 01, 2007
  • Appalachian State University
  • Voigtlaender, Janis +1
  • PDF
  • Research Article
  • Citations11

Global Solution of Semi-infinite Programs with Existence Constraints

  • Feb 08, 2021
  • Journal of Optimization Theory and Applications
  • Hatim Djelassi +1
  • Research Article
  • Citations2

Auxiliary variables in partial correctness programming logics

  • Nov 01, 1989
  • Information Processing Letters
  • E Robert Mccurley
  • Research Article
  • Citations92

A Globally Optimal Energy-Efficient Power Control Framework and Its Efficient Implementation in Wireless Interference Networks

  • Dec 03, 2019
  • IEEE Transactions on Signal Processing
  • Bho Matthiesen +4
  • PDF
  • Research Article
  • Citations2

Unification of Higher-order Patterns modulo Simple Syntactic Equational Theories

  • Jan 01, 2000
  • Discrete Mathematics & Theoretical Computer Science
  • Alexandre Boudet
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.