Academic Journal

Automating the derivation of unification algorithms: A case study in deductive program synthesis.

Λεπτομέρειες βιβλιογραφικής εγγραφής
Τίτλος: Automating the derivation of unification algorithms: A case study in deductive program synthesis.
Συγγραφείς: Waldinger, Richard1 (AUTHOR) waldinger@ai.sri.com
Πηγή: Journal of Symbolic Computation. Jan2027, Vol. 138, pN.PAG-N.PAG. 1p.
Θεματικοί όροι: *Program generators (Computer programs), *Algorithms, *Logic, *Predicate (Logic), *Recursion theory, *Axioms, *Formal verification
Περίληψη: The unification algorithm has long been a target for program synthesis research, but a fully automatic derivation remains a research goal. In deductive program synthesis, computer programming is phrased as a task in theorem proving; a declarative specification is expressed in logical form and presented to an automatic theorem prover, and a program meeting the specification is extracted from the proof. The correctness of the program is supported by the proof, which also provides an explanation of how the program works. The proof is conducted in an appropriate axiomatic subject-domain theory, which defines the concepts in the specification and the constructs in the target programming language and provides the background knowledge necessary to connect them. For the unification proof, we generalize and automate the manual proof presented in Manna and Waldinger (1981). The new program unifies two given symbolic expressions (s-expressions) relative to a given "environment" substitution. The proof establishes the existence of an output substitution that is a most-general idempotent unifier of the given expressions and is an "extension" of the environment substitution. If no such substitution exists and the expressions are not unifiable, the program is to produce a failure indicator ⊥. Initially the environment substitution is the empty substitution, which makes no replacements at all; during execution of recursive calls, the environment substitution records the replacements that have been found so far. Our own unification algorithm employs an environment, and such algorithms appear in the literature (e.g., Luger and Stubblefield, 2004). We suspect, in addition to being more efficient, the three-argument algorithm with an environment is easier to synthesize automatically than the two-argument version from the Manna-Waldinger paper. The proof is conducted relative to an axiomatic theory of expressions and substitutions. The structure of the derived program reflects the proof from which it was extracted. Conditional expressions in the program are obtained from case analysis in the proof; recursion is introduced using well-founded induction, with respect to a well-founded relation axiomatized in the theory. The proof was obtained automatically by the first-order resolution theorem prover snark (Stickel et al., 2001). The extracted program, as we remarked, improves on Manna and Waldinger's and contains some novel elements. [ABSTRACT FROM AUTHOR]
Βάση Δεδομένων: Academic Search Index
FullText Links:
  – Type: other
Text:
  Availability: 0
CustomLinks:
  – Url: https://www.doi.org/10.1016/j.jsc.2026.102597?
    Name: ScienceDirect (all content) (s7799221)
    Category: fullText
    Text: View record from ScienceDirect
    MouseOverText: View record from ScienceDirect
Header DbId: asx
DbLabel: Academic Search Index
An: 196574408
RelevancyScore: 1327
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 1326.94140625
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Automating the derivation of unification algorithms: A case study in deductive program synthesis.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Waldinger%2C+Richard%22">Waldinger, Richard</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> waldinger@ai.sri.com</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Journal+of+Symbolic+Computation%22">Journal of Symbolic Computation</searchLink>. Jan2027, Vol. 138, pN.PAG-N.PAG. 1p.
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: *<searchLink fieldCode="DE" term="%22Program+generators+%28Computer+programs%29%22">Program generators (Computer programs)</searchLink><br />*<searchLink fieldCode="DE" term="%22Algorithms%22">Algorithms</searchLink><br />*<searchLink fieldCode="DE" term="%22Logic%22">Logic</searchLink><br />*<searchLink fieldCode="DE" term="%22Predicate+%28Logic%29%22">Predicate (Logic)</searchLink><br />*<searchLink fieldCode="DE" term="%22Recursion+theory%22">Recursion theory</searchLink><br />*<searchLink fieldCode="DE" term="%22Axioms%22">Axioms</searchLink><br />*<searchLink fieldCode="DE" term="%22Formal+verification%22">Formal verification</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: The unification algorithm has long been a target for program synthesis research, but a fully automatic derivation remains a research goal. In deductive program synthesis, computer programming is phrased as a task in theorem proving; a declarative specification is expressed in logical form and presented to an automatic theorem prover, and a program meeting the specification is extracted from the proof. The correctness of the program is supported by the proof, which also provides an explanation of how the program works. The proof is conducted in an appropriate axiomatic subject-domain theory, which defines the concepts in the specification and the constructs in the target programming language and provides the background knowledge necessary to connect them. For the unification proof, we generalize and automate the manual proof presented in Manna and Waldinger (1981). The new program unifies two given symbolic expressions (s-expressions) relative to a given "environment" substitution. The proof establishes the existence of an output substitution that is a most-general idempotent unifier of the given expressions and is an "extension" of the environment substitution. If no such substitution exists and the expressions are not unifiable, the program is to produce a failure indicator ⊥. Initially the environment substitution is the empty substitution, which makes no replacements at all; during execution of recursive calls, the environment substitution records the replacements that have been found so far. Our own unification algorithm employs an environment, and such algorithms appear in the literature (e.g., Luger and Stubblefield, 2004). We suspect, in addition to being more efficient, the three-argument algorithm with an environment is easier to synthesize automatically than the two-argument version from the Manna-Waldinger paper. The proof is conducted relative to an axiomatic theory of expressions and substitutions. The structure of the derived program reflects the proof from which it was extracted. Conditional expressions in the program are obtained from case analysis in the proof; recursion is introduced using well-founded induction, with respect to a well-founded relation axiomatized in the theory. The proof was obtained automatically by the first-order resolution theorem prover snark (Stickel et al., 2001). The extracted program, as we remarked, improves on Manna and Waldinger's and contains some novel elements. [ABSTRACT FROM AUTHOR]
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=asx&AN=196574408
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1016/j.jsc.2026.102597
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 1
        StartPage: N.PAG
    Subjects:
      – SubjectFull: Program generators (Computer programs)
        Type: general
      – SubjectFull: Algorithms
        Type: general
      – SubjectFull: Logic
        Type: general
      – SubjectFull: Predicate (Logic)
        Type: general
      – SubjectFull: Recursion theory
        Type: general
      – SubjectFull: Axioms
        Type: general
      – SubjectFull: Formal verification
        Type: general
    Titles:
      – TitleFull: Automating the derivation of unification algorithms: A case study in deductive program synthesis.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Waldinger, Richard
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 01
              Text: Jan2027
              Type: published
              Y: 2027
          Identifiers:
            – Type: issn-print
              Value: 07477171
          Numbering:
            – Type: volume
              Value: 138
          Titles:
            – TitleFull: Journal of Symbolic Computation
              Type: main
ResultId 1