File:Goldfarb1a.pdf

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Goldfarb1a.pdf(637 × 283 pixels, file size: 37 KB, MIME type: application/pdf)

Captions

Captions

Add a one-line explanation of what this file represents

Summary[edit]

Description
English: Illustration of Goldfarb's proof of undecidability of 2nd-order unification.

Goldfarb uses the fact that each Diophantine equation can be transformed into a set of equations of the form , , or . He transforms each such set into a set of second-order unification problems. If the solvability of the latter could be decided, so could be the solvability of the Diophantine equation, which is, however, impossible in general (see en:Hilbert's tenth problem). As a last step, the set can easily be transformed to an equivalent single unification problem.

More precisely, let a binary function constant, and two nullary constants. For and a term , let abbreviate the term . For each variable in an equation of , introduce a unary function variable to be used in . To avoid lambda abstractions, Goldfarb denotes the first, second, and third argument in a function expression by , , and , respectively. Goldfarb's construction is such that in a solution of iff in the corresponding solution of .

The first kind of unification problems (File:Goldfarb1a.pdf, case 1 in the Theorem on p.228) ensures that each can have only instances of the form . It is obvious, that instantiating by the identity function is a solution of the shown equation. In every other solution, has to be of the form to match the right-hand side, see File:Goldfarb1b.pdf. Decomposing obtains the unification problem , which, in turn, equals the unification problem from File:Goldfarb1a.pdf, and hence has the same solution set. File:Goldfarb1c.pdf shows the general form of instance for function variables , with the small green numbers indicating the total count including first and last occurrence along the diagonal.

The second kind of unification problem, shown in File:Goldfarb2a.pdf, arises from equations of the form ; the third kind, shown in File:Goldfarb3a.pdf, arises from . Both kinds are obvious.

The fourth kind arises from . The corresponding unification problem is shown in File:Goldfarb4a.pdf, where is a function variable of arity 3. File:Goldfarb4b.pdf shows the solution term for , assuming that have solution terms as shown in File:Goldfarb1c.pdf, and . To establish that no other solutions exist for requires an additional unification problem, shown in File:Goldfarb4c.pdf, which is a variant of File:Goldfarb4a.pdf with some 's turned into 's and vice versa. This problem is solved by the very same substituion, as demonstrated in File:Goldfarb4d.pdf.

Files overview:

Warren D. Goldfarb (1981). "The Undecidability of the Second-Order Unification Problem". Theoretical Computer Science 13: 225–230. DOI:10.1016/0304-3975(81)90040-2.

Date
Source Own work
Author Jochen Burghardt
LaTeX source code
\documentclass[12pt]{article}
\setlength{\unitlength}{0.60mm} % to fit with min line lgth (3.6mm)
\usepackage[pdftex]{color}
\usepackage[paperwidth=180\unitlength,paperheight=80\unitlength,
        textwidth=180\unitlength,textheight=80\unitlength]{geometry}
\usepackage{amssymb}
\input{goldfarbHead.tex}

\begin{document}
\begin{picture}(180,80)%
        %\put(0,0){\makebox(0,0){$+$}}%
        %\put(180,80){\makebox(0,0){$+$}}%
        %\multiput(0,0)(10,0){19}{\makebox(0,0){$+$}}%
        %\multiput(0,0)(0,10){9}{\makebox(0,0){$+$}}%

\put(28,68){\line(-1,-1){16}}%
\put(32,68){\line(1,-1){16}}%
\put(50,48){\line(0,-1){36}}%
\textcolor{bFVar}{\put(50,50){\makebox(0,0){\rule{5mm}{6mm}}}}%
\put(30,70){\makebox(0,0){$g$}}%
\put(10,50){\makebox(0,0){$a$}}%
\put(50,50){\makebox(0,0){$F_i$}}%
\put(50,10){\makebox(0,0){$a$}}%

\put(150,68){\line(0,-1){36}}%
\put(148,28){\line(-1,-1){16}}%
\put(152,28){\line(1,-1){16}}%
\textcolor{bFVar}{\put(150,70){\makebox(0,0){\rule{5mm}{6mm}}}}%
\put(150,70){\makebox(0,0){$F_i$}}%
\put(150,30){\makebox(0,0){$g$}}%
\put(130,10){\makebox(0,0){$a$}}%
\put(170,10){\makebox(0,0){$a$}}%

\textcolor{fMeta}{\put(85,70){\makebox(0,0){$\mathbf{\stackrel{?}{=}}$}}}%
\end{picture}
\end{document}
LaTeX source code of common header file goldfarbHead.tex
% foregrounds
\definecolor{fLgth}     {rgb}{0.00,0.70,0.00}%  list length
\definecolor{fSVar}     {rgb}{0.80,0.80,0.80}%  var instantiated by subst
\definecolor{fSgm}      {rgb}{0.00,0.00,0.99}%  sigma_i instance
\definecolor{fTau}      {rgb}{0.99,0.00,0.00}%  tau_i instance
\definecolor{fEmb}      {rgb}{0.60,0.00,0.00}%  e_i embedding
\definecolor{fMeta}     {rgb}{0.70,0.00,0.70}%  "unifies with" symbol, etc.

% backgrounds
\definecolor{bFVar}     {rgb}{0.90,0.90,0.90}%  function variable
\definecolor{bInst}     {rgb}{0.97,0.97,0.97}%  fct var instance

\setlength{\parindent}{0cm}
\pagestyle{empty}

% list of length {Lgth} with end term {End},
% denoted \overbar{Lgth}{End} by Goldfarb,
% we define a version \listF for fixed {Lgth}, 
% and \listV for variable {Lgth}

% \listV{Lgth}{End}
\newcommand{\listV}[2]{%
        \put(-2,-2){\line(-1,-1){6}}%
        \put(8,-12){\line(-1,-1){6}}%
        \put(12,-12){\line(1,-1){6}}%
        \multiput(2,-2)(2,-2){4}{\makebox(0,0){$\cdot$}}%
        \put(0,0){\makebox(0,0){$g$}}%
        \put(-10,-10){\makebox(0,0){$a$}}%
        \put(10,-10){\makebox(0,0){$g$}}%
        \put(0,-20){\makebox(0,0){$a$}}%
        \put(20,-20){#2}%
        \textcolor{fLgth}{\put(5,-5){\makebox(0,0)[bl]{%
                                                $\scriptscriptstyle #1$}}}%
}

% \listF{Lgth}{End}
\newcommand{\listF}[2]{%
        \multiput(-2,-2)(10,-10){#1}{\line(-1,-1){6}}%
        \multiput(,-2)(10,-10){#1}{\line(1,-1){6}}%
        \put(#10,-#10){#2}% {#1 concat 0}
        \multiput(0,0)(10,-10){#1}{\makebox(0,0){$g$}}%
        \multiput(-10,-10)(10,-10){#1}{\makebox(0,0){$a$}}%
}

% We conditionally show instances of bound variables.
% Initially, don't show any instance;
% these commands will be redefined appropriately lateron.
\newcommand{\showSgmI}[1]{}     % show instance under \sigma_1
\newcommand{\showTauI}[1]{}     % show instance under \tau_1
\newcommand{\showSgmII}[1]{}    % show instance under \sigma_2
\newcommand{\showTauII}[1]{}    % show instance under \tau_2
\newcommand{\showEmbI}[1]{}     % show embedding of G in term e_1
\newcommand{\showEmbII}[1]{}    % show embedding of G in term e_2

% bound variables,
% denoted w_1, w_2, w_3 by Goldfarb,
% includes code for conditionally showing variable instances

\newcommand{\wI}{%
        \textcolor{fSVar}{\put(0,0){\makebox(0,0){$w_1$}}}%
        \showSgmI{\put(4,-4){\makebox(0,0){$a$}}}%
        \showTauI{\put(4,-4){\listV{m}{\makebox(0,0){$a$}}}}%
        \showSgmII{\put(4,-4){\makebox(0,0){$b$}}}%
        \showTauII{\put(4,-4){\listV{m}{\makebox(0,0){$b$}}}}%
}

\newcommand{\wII}{%
        \textcolor{fSVar}{\put(0,0){\makebox(0,0){$w_2$}}}%
        \showSgmI{\put(4,-4){\makebox(0,0){$b$}}}%
        \showTauI{\put(4,-4){\listF{1}{\makebox(0,0){$b$}}}}%
        \showSgmII{\put(4,-4){\makebox(0,0){$a$}}}%
        \showTauII{\put(4,-4){\listF{1}{\makebox(0,0){$a$}}}}%
}

\newcommand{\wIII}{%
        \textcolor{fSVar}{\put(0,0){\makebox(0,0){$w_3$}}}%
        \showSgmI{\put(4,-4){%
                \put(-2,-2){\line(-1,-1){26}}%
                \put(2,-2){\line(1,-1){16}}%
                \put(-32,-32){\line(-1,-1){16}}%
                \put(-28,-32){\line(1,-1){6}}%
                \put(0,0){\makebox(0,0){$g$}}%
                \put(-30,-30){\makebox(0,0){$g$}}%
                \put(-50,-50){\listV{p}{\makebox(0,0){$a$}}}%
                \put(-20,-40){\listV{n}{\makebox(0,0){$b$}}}%
                \put(20,-20){\makebox(0,0){$a$}}%
        }}%
        \showTauI{\put(4,-4){\makebox(0,0){$a$}}}%
        \showSgmII{\put(4,-4){%
                \put(-2,-2){\line(-1,-1){26}}%
                \put(2,-2){\line(1,-1){16}}%
                \put(-32,-32){\line(-1,-1){16}}%
                \put(-28,-32){\line(1,-1){6}}%
                \put(0,0){\makebox(0,0){$g$}}%
                \put(-30,-30){\makebox(0,0){$g$}}%
                \put(-50,-50){\listV{p}{\makebox(0,0){$b$}}}%
                \put(-20,-40){\listV{n}{\makebox(0,0){$a$}}}%
                \put(20,-20){\makebox(0,0){$a$}}%
        }}%
        \showTauII{\put(4,-4){\makebox(0,0){$a$}}}%
}

% subterms of the multiplication solution term,
% denoted t_{LgRight} by Goldfarb,
% we define version for lists of fixed and variable length

% \tFF{LgLeft}{LgRight}
\newcommand{\tFF}[2]{%
        \put(-2,-2){\line(-1,-1){16}}%
        \put(2,-2){\line(1,-1){6}}%
        \put(0,0){\makebox(0,0){$g$}}%
        \put(-20,-20){\listF{#1}{\wI}}
        \put(10,-10){\listF{#2}{\wII}}
}

% \tVF{LgLeft}{LgRight}
\newcommand{\tVF}[2]{%
        \put(-2,-2){\line(-1,-1){16}}%
        \put(2,-2){\line(1,-1){6}}%
        \put(0,0){\makebox(0,0){$g$}}%
        \put(-20,-20){\listV{#1}{\wI}}
        \put(10,-10){\listF{#2}{\wII}}
}

% \tVV{LgLeft}{LgRight}
\newcommand{\tVV}[2]{%
        \put(-2,-2){\line(-1,-1){16}}%
        \put(2,-2){\line(1,-1){6}}%
        \put(0,0){\makebox(0,0){$g$}}%
        \put(-20,-20){\listV{#1}{\wI}}
        \put(10,-10){\listV{#2}{\wII}}
}

Licensing[edit]

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current10:35, 22 June 2023Thumbnail for version as of 10:35, 22 June 2023637 × 283 (37 KB)Jochen Burghardt (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata