Serveur d'exploration sur la recherche en informatique en Lorraine

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Higher order unification via explicit substitutions

Identifieur interne : 000A57 ( PascalFrancis/Corpus ); précédent : 000A56; suivant : 000A58

Higher order unification via explicit substitutions

Auteurs : G. Dowek ; T. Hardin ; C. Kirchner

Source :

RBID : Pascal:00-0185057

Descripteurs français

English descriptors

Abstract

Higher order unification is equational unification for βη-conversion. But it is not first order equational unification, as substitution has to avoid capture. Thus, the methods for equational unification (such as narrowing) built upon grafting (i.e., substitution without renaming) cannot be used for higher order unification, which needs specific algorithms. Our goal in this paper is to reduce higher order unification to first order equational unification in a suitable theory. This is achieved by replacing substitution by grafting, but this replacement is not straightforward as it raises two major problems. First, some unification problems have solutions with grafting but no solution with substitution. Then equational unification algorithms rest upon the fact that grafting and reduction commute. But grafting and βη-reduction do not commute in λ-calculus and reducing an equation may change the set of its solutions. This difficulty comes from the interaction between the substitutions initiated by βη-reduction and the ones initiated by the unification process. Two kinds of variables are involved: those of βη-conversion and those of unification. So, we need to set up a calculus which distinguishes between these two kinds of variables and such that reduction and grafting commute. For this purpose, the application of a substitution of a reduction variable to a unification one must be delayed until this variable is instantiated. Such a separation and delay are provided by a calculus of explicit substitutions. Unification in such a calculus can be performed by well-known algorithms such as narrowing, but we present a specialised algorithm for greater efficiency. At last we show how to relate unification in λ-calculus and in a calculus with explicit substitutions. Thus, we come up with a new higher order unification algorithm which eliminates some burdens of the previous algorithms, in particular the functional handling of scopes. Huet's algorithm can be seen as a specific strategy for our algorithm, since each of its steps can be decomposed into elementary ones, leading to a more atomic description of the unification process. Also, solved forms in A-calculus can easily be computed from solved forms in λσ-calculus.

Notice en format standard (ISO 2709)

Pour connaître la documentation sur le format Inist Standard.

pA  
A01 01  1    @0 0890-5401
A02 01      @0 INFCEC
A03   1    @0 Inf. comput.
A05       @2 157
A06       @2 1-2
A08 01  1  ENG  @1 Higher order unification via explicit substitutions
A11 01  1    @1 DOWEK (G.)
A11 02  1    @1 HARDIN (T.)
A11 03  1    @1 KIRCHNER (C.)
A14 01      @1 INRIA-Rocquencourt, B.P. 105 @2 78153 Le Chesnay @3 FRA @Z 1 aut.
A14 02      @1 LIP6 and INRIA-Rocquencourt, Université Paris 6, 4 Place Jussieu @2 75252 Paris @3 FRA @Z 2 aut.
A14 03      @1 LORIA and INRIA, 615, rue du Jardin Botanique @2 54600 Villers-lès-Nancy @3 FRA @Z 3 aut.
A20       @1 183-235
A21       @1 2000
A23 01      @0 ENG
A43 01      @1 INIST @2 8341 @5 354000082274570060
A44       @0 0000 @1 © 2000 INIST-CNRS. All rights reserved.
A45       @0 50 ref.
A47 01  1    @0 00-0185057
A60       @1 P
A61       @0 A
A64 01  1    @0 Information and computation
A66 01      @0 USA
C01 01    ENG  @0 Higher order unification is equational unification for βη-conversion. But it is not first order equational unification, as substitution has to avoid capture. Thus, the methods for equational unification (such as narrowing) built upon grafting (i.e., substitution without renaming) cannot be used for higher order unification, which needs specific algorithms. Our goal in this paper is to reduce higher order unification to first order equational unification in a suitable theory. This is achieved by replacing substitution by grafting, but this replacement is not straightforward as it raises two major problems. First, some unification problems have solutions with grafting but no solution with substitution. Then equational unification algorithms rest upon the fact that grafting and reduction commute. But grafting and βη-reduction do not commute in λ-calculus and reducing an equation may change the set of its solutions. This difficulty comes from the interaction between the substitutions initiated by βη-reduction and the ones initiated by the unification process. Two kinds of variables are involved: those of βη-conversion and those of unification. So, we need to set up a calculus which distinguishes between these two kinds of variables and such that reduction and grafting commute. For this purpose, the application of a substitution of a reduction variable to a unification one must be delayed until this variable is instantiated. Such a separation and delay are provided by a calculus of explicit substitutions. Unification in such a calculus can be performed by well-known algorithms such as narrowing, but we present a specialised algorithm for greater efficiency. At last we show how to relate unification in λ-calculus and in a calculus with explicit substitutions. Thus, we come up with a new higher order unification algorithm which eliminates some burdens of the previous algorithms, in particular the functional handling of scopes. Huet's algorithm can be seen as a specific strategy for our algorithm, since each of its steps can be decomposed into elementary ones, leading to a more atomic description of the unification process. Also, solved forms in A-calculus can easily be computed from solved forms in λσ-calculus.
C02 01  X    @0 001A02A01B
C03 01  X  FRE  @0 Logique @5 01
C03 01  X  ENG  @0 Logic @5 01
C03 01  X  SPA  @0 Lógica @5 01
C03 02  X  FRE  @0 Unification @5 02
C03 02  X  ENG  @0 Unification @5 02
C03 02  X  SPA  @0 Unificación @5 02
C03 03  X  FRE  @0 Substitution @5 03
C03 03  X  ENG  @0 Substitution @5 03
C03 03  X  SPA  @0 Substitución @5 03
C03 04  X  FRE  @0 Lambda calcul @5 04
C03 04  X  ENG  @0 Lambda calculus @5 04
C03 04  X  SPA  @0 Lambda cálculo @5 04
C03 05  X  FRE  @0 Réduction chimique @5 05
C03 05  X  ENG  @0 Chemical reduction @5 05
C03 05  X  SPA  @0 Reducción química @5 05
C03 06  X  FRE  @0 Spécification @5 06
C03 06  X  ENG  @0 Specification @5 06
C03 06  X  SPA  @0 Especificación @5 06
C03 07  X  FRE  @0 Unification n ordre @4 CD @5 96
C03 07  X  ENG  @0 Higher order unification @4 CD @5 96
C03 08  X  FRE  @0 Substitution explicite @4 CD @5 97
C03 08  X  ENG  @0 Explicit substitution @4 CD @5 97
C03 09  X  FRE  @0 Unification equationnelle @4 CD @5 98
C03 09  X  ENG  @0 Equational unification @4 CD @5 98
C03 10  X  FRE  @0 Beta eta calcul @4 CD @5 99
C03 10  X  ENG  @0 Beta eta calculus @4 CD @5 99
N21       @1 136

Format Inist (serveur)

NO : PASCAL 00-0185057 INIST
ET : Higher order unification via explicit substitutions
AU : DOWEK (G.); HARDIN (T.); KIRCHNER (C.)
AF : INRIA-Rocquencourt, B.P. 105/78153 Le Chesnay/France (1 aut.); LIP6 and INRIA-Rocquencourt, Université Paris 6, 4 Place Jussieu/75252 Paris/France (2 aut.); LORIA and INRIA, 615, rue du Jardin Botanique/54600 Villers-lès-Nancy/France (3 aut.)
DT : Publication en série; Niveau analytique
SO : Information and computation; ISSN 0890-5401; Coden INFCEC; Etats-Unis; Da. 2000; Vol. 157; No. 1-2; Pp. 183-235; Bibl. 50 ref.
LA : Anglais
EA : Higher order unification is equational unification for βη-conversion. But it is not first order equational unification, as substitution has to avoid capture. Thus, the methods for equational unification (such as narrowing) built upon grafting (i.e., substitution without renaming) cannot be used for higher order unification, which needs specific algorithms. Our goal in this paper is to reduce higher order unification to first order equational unification in a suitable theory. This is achieved by replacing substitution by grafting, but this replacement is not straightforward as it raises two major problems. First, some unification problems have solutions with grafting but no solution with substitution. Then equational unification algorithms rest upon the fact that grafting and reduction commute. But grafting and βη-reduction do not commute in λ-calculus and reducing an equation may change the set of its solutions. This difficulty comes from the interaction between the substitutions initiated by βη-reduction and the ones initiated by the unification process. Two kinds of variables are involved: those of βη-conversion and those of unification. So, we need to set up a calculus which distinguishes between these two kinds of variables and such that reduction and grafting commute. For this purpose, the application of a substitution of a reduction variable to a unification one must be delayed until this variable is instantiated. Such a separation and delay are provided by a calculus of explicit substitutions. Unification in such a calculus can be performed by well-known algorithms such as narrowing, but we present a specialised algorithm for greater efficiency. At last we show how to relate unification in λ-calculus and in a calculus with explicit substitutions. Thus, we come up with a new higher order unification algorithm which eliminates some burdens of the previous algorithms, in particular the functional handling of scopes. Huet's algorithm can be seen as a specific strategy for our algorithm, since each of its steps can be decomposed into elementary ones, leading to a more atomic description of the unification process. Also, solved forms in A-calculus can easily be computed from solved forms in λσ-calculus.
CC : 001A02A01B
FD : Logique; Unification; Substitution; Lambda calcul; Réduction chimique; Spécification; Unification n ordre; Substitution explicite; Unification equationnelle; Beta eta calcul
ED : Logic; Unification; Substitution; Lambda calculus; Chemical reduction; Specification; Higher order unification; Explicit substitution; Equational unification; Beta eta calculus
SD : Lógica; Unificación; Substitución; Lambda cálculo; Reducción química; Especificación
LO : INIST-8341.354000082274570060
ID : 00-0185057

Links to Exploration step

Pascal:00-0185057

Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en" level="a">Higher order unification via explicit substitutions</title>
<author>
<name sortKey="Dowek, G" sort="Dowek, G" uniqKey="Dowek G" first="G." last="Dowek">G. Dowek</name>
<affiliation>
<inist:fA14 i1="01">
<s1>INRIA-Rocquencourt, B.P. 105</s1>
<s2>78153 Le Chesnay</s2>
<s3>FRA</s3>
<sZ>1 aut.</sZ>
</inist:fA14>
</affiliation>
</author>
<author>
<name sortKey="Hardin, T" sort="Hardin, T" uniqKey="Hardin T" first="T." last="Hardin">T. Hardin</name>
<affiliation>
<inist:fA14 i1="02">
<s1>LIP6 and INRIA-Rocquencourt, Université Paris 6, 4 Place Jussieu</s1>
<s2>75252 Paris</s2>
<s3>FRA</s3>
<sZ>2 aut.</sZ>
</inist:fA14>
</affiliation>
</author>
<author>
<name sortKey="Kirchner, C" sort="Kirchner, C" uniqKey="Kirchner C" first="C." last="Kirchner">C. Kirchner</name>
<affiliation>
<inist:fA14 i1="03">
<s1>LORIA and INRIA, 615, rue du Jardin Botanique</s1>
<s2>54600 Villers-lès-Nancy</s2>
<s3>FRA</s3>
<sZ>3 aut.</sZ>
</inist:fA14>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">INIST</idno>
<idno type="inist">00-0185057</idno>
<date when="2000">2000</date>
<idno type="stanalyst">PASCAL 00-0185057 INIST</idno>
<idno type="RBID">Pascal:00-0185057</idno>
<idno type="wicri:Area/PascalFrancis/Corpus">000A57</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en" level="a">Higher order unification via explicit substitutions</title>
<author>
<name sortKey="Dowek, G" sort="Dowek, G" uniqKey="Dowek G" first="G." last="Dowek">G. Dowek</name>
<affiliation>
<inist:fA14 i1="01">
<s1>INRIA-Rocquencourt, B.P. 105</s1>
<s2>78153 Le Chesnay</s2>
<s3>FRA</s3>
<sZ>1 aut.</sZ>
</inist:fA14>
</affiliation>
</author>
<author>
<name sortKey="Hardin, T" sort="Hardin, T" uniqKey="Hardin T" first="T." last="Hardin">T. Hardin</name>
<affiliation>
<inist:fA14 i1="02">
<s1>LIP6 and INRIA-Rocquencourt, Université Paris 6, 4 Place Jussieu</s1>
<s2>75252 Paris</s2>
<s3>FRA</s3>
<sZ>2 aut.</sZ>
</inist:fA14>
</affiliation>
</author>
<author>
<name sortKey="Kirchner, C" sort="Kirchner, C" uniqKey="Kirchner C" first="C." last="Kirchner">C. Kirchner</name>
<affiliation>
<inist:fA14 i1="03">
<s1>LORIA and INRIA, 615, rue du Jardin Botanique</s1>
<s2>54600 Villers-lès-Nancy</s2>
<s3>FRA</s3>
<sZ>3 aut.</sZ>
</inist:fA14>
</affiliation>
</author>
</analytic>
<series>
<title level="j" type="main">Information and computation</title>
<title level="j" type="abbreviated">Inf. comput.</title>
<idno type="ISSN">0890-5401</idno>
<imprint>
<date when="2000">2000</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt>
<title level="j" type="main">Information and computation</title>
<title level="j" type="abbreviated">Inf. comput.</title>
<idno type="ISSN">0890-5401</idno>
</seriesStmt>
</fileDesc>
<profileDesc>
<textClass>
<keywords scheme="KwdEn" xml:lang="en">
<term>Beta eta calculus</term>
<term>Chemical reduction</term>
<term>Equational unification</term>
<term>Explicit substitution</term>
<term>Higher order unification</term>
<term>Lambda calculus</term>
<term>Logic</term>
<term>Specification</term>
<term>Substitution</term>
<term>Unification</term>
</keywords>
<keywords scheme="Pascal" xml:lang="fr">
<term>Logique</term>
<term>Unification</term>
<term>Substitution</term>
<term>Lambda calcul</term>
<term>Réduction chimique</term>
<term>Spécification</term>
<term>Unification n ordre</term>
<term>Substitution explicite</term>
<term>Unification equationnelle</term>
<term>Beta eta calcul</term>
</keywords>
</textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">Higher order unification is equational unification for βη-conversion. But it is not first order equational unification, as substitution has to avoid capture. Thus, the methods for equational unification (such as narrowing) built upon grafting (i.e., substitution without renaming) cannot be used for higher order unification, which needs specific algorithms. Our goal in this paper is to reduce higher order unification to first order equational unification in a suitable theory. This is achieved by replacing substitution by grafting, but this replacement is not straightforward as it raises two major problems. First, some unification problems have solutions with grafting but no solution with substitution. Then equational unification algorithms rest upon the fact that grafting and reduction commute. But grafting and βη-reduction do not commute in λ-calculus and reducing an equation may change the set of its solutions. This difficulty comes from the interaction between the substitutions initiated by βη-reduction and the ones initiated by the unification process. Two kinds of variables are involved: those of βη-conversion and those of unification. So, we need to set up a calculus which distinguishes between these two kinds of variables and such that reduction and grafting commute. For this purpose, the application of a substitution of a reduction variable to a unification one must be delayed until this variable is instantiated. Such a separation and delay are provided by a calculus of explicit substitutions. Unification in such a calculus can be performed by well-known algorithms such as narrowing, but we present a specialised algorithm for greater efficiency. At last we show how to relate unification in λ-calculus and in a calculus with explicit substitutions. Thus, we come up with a new higher order unification algorithm which eliminates some burdens of the previous algorithms, in particular the functional handling of scopes. Huet's algorithm can be seen as a specific strategy for our algorithm, since each of its steps can be decomposed into elementary ones, leading to a more atomic description of the unification process. Also, solved forms in A-calculus can easily be computed from solved forms in λσ-calculus.</div>
</front>
</TEI>
<inist>
<standard h6="B">
<pA>
<fA01 i1="01" i2="1">
<s0>0890-5401</s0>
</fA01>
<fA02 i1="01">
<s0>INFCEC</s0>
</fA02>
<fA03 i2="1">
<s0>Inf. comput.</s0>
</fA03>
<fA05>
<s2>157</s2>
</fA05>
<fA06>
<s2>1-2</s2>
</fA06>
<fA08 i1="01" i2="1" l="ENG">
<s1>Higher order unification via explicit substitutions</s1>
</fA08>
<fA11 i1="01" i2="1">
<s1>DOWEK (G.)</s1>
</fA11>
<fA11 i1="02" i2="1">
<s1>HARDIN (T.)</s1>
</fA11>
<fA11 i1="03" i2="1">
<s1>KIRCHNER (C.)</s1>
</fA11>
<fA14 i1="01">
<s1>INRIA-Rocquencourt, B.P. 105</s1>
<s2>78153 Le Chesnay</s2>
<s3>FRA</s3>
<sZ>1 aut.</sZ>
</fA14>
<fA14 i1="02">
<s1>LIP6 and INRIA-Rocquencourt, Université Paris 6, 4 Place Jussieu</s1>
<s2>75252 Paris</s2>
<s3>FRA</s3>
<sZ>2 aut.</sZ>
</fA14>
<fA14 i1="03">
<s1>LORIA and INRIA, 615, rue du Jardin Botanique</s1>
<s2>54600 Villers-lès-Nancy</s2>
<s3>FRA</s3>
<sZ>3 aut.</sZ>
</fA14>
<fA20>
<s1>183-235</s1>
</fA20>
<fA21>
<s1>2000</s1>
</fA21>
<fA23 i1="01">
<s0>ENG</s0>
</fA23>
<fA43 i1="01">
<s1>INIST</s1>
<s2>8341</s2>
<s5>354000082274570060</s5>
</fA43>
<fA44>
<s0>0000</s0>
<s1>© 2000 INIST-CNRS. All rights reserved.</s1>
</fA44>
<fA45>
<s0>50 ref.</s0>
</fA45>
<fA47 i1="01" i2="1">
<s0>00-0185057</s0>
</fA47>
<fA60>
<s1>P</s1>
</fA60>
<fA61>
<s0>A</s0>
</fA61>
<fA64 i1="01" i2="1">
<s0>Information and computation</s0>
</fA64>
<fA66 i1="01">
<s0>USA</s0>
</fA66>
<fC01 i1="01" l="ENG">
<s0>Higher order unification is equational unification for βη-conversion. But it is not first order equational unification, as substitution has to avoid capture. Thus, the methods for equational unification (such as narrowing) built upon grafting (i.e., substitution without renaming) cannot be used for higher order unification, which needs specific algorithms. Our goal in this paper is to reduce higher order unification to first order equational unification in a suitable theory. This is achieved by replacing substitution by grafting, but this replacement is not straightforward as it raises two major problems. First, some unification problems have solutions with grafting but no solution with substitution. Then equational unification algorithms rest upon the fact that grafting and reduction commute. But grafting and βη-reduction do not commute in λ-calculus and reducing an equation may change the set of its solutions. This difficulty comes from the interaction between the substitutions initiated by βη-reduction and the ones initiated by the unification process. Two kinds of variables are involved: those of βη-conversion and those of unification. So, we need to set up a calculus which distinguishes between these two kinds of variables and such that reduction and grafting commute. For this purpose, the application of a substitution of a reduction variable to a unification one must be delayed until this variable is instantiated. Such a separation and delay are provided by a calculus of explicit substitutions. Unification in such a calculus can be performed by well-known algorithms such as narrowing, but we present a specialised algorithm for greater efficiency. At last we show how to relate unification in λ-calculus and in a calculus with explicit substitutions. Thus, we come up with a new higher order unification algorithm which eliminates some burdens of the previous algorithms, in particular the functional handling of scopes. Huet's algorithm can be seen as a specific strategy for our algorithm, since each of its steps can be decomposed into elementary ones, leading to a more atomic description of the unification process. Also, solved forms in A-calculus can easily be computed from solved forms in λσ-calculus.</s0>
</fC01>
<fC02 i1="01" i2="X">
<s0>001A02A01B</s0>
</fC02>
<fC03 i1="01" i2="X" l="FRE">
<s0>Logique</s0>
<s5>01</s5>
</fC03>
<fC03 i1="01" i2="X" l="ENG">
<s0>Logic</s0>
<s5>01</s5>
</fC03>
<fC03 i1="01" i2="X" l="SPA">
<s0>Lógica</s0>
<s5>01</s5>
</fC03>
<fC03 i1="02" i2="X" l="FRE">
<s0>Unification</s0>
<s5>02</s5>
</fC03>
<fC03 i1="02" i2="X" l="ENG">
<s0>Unification</s0>
<s5>02</s5>
</fC03>
<fC03 i1="02" i2="X" l="SPA">
<s0>Unificación</s0>
<s5>02</s5>
</fC03>
<fC03 i1="03" i2="X" l="FRE">
<s0>Substitution</s0>
<s5>03</s5>
</fC03>
<fC03 i1="03" i2="X" l="ENG">
<s0>Substitution</s0>
<s5>03</s5>
</fC03>
<fC03 i1="03" i2="X" l="SPA">
<s0>Substitución</s0>
<s5>03</s5>
</fC03>
<fC03 i1="04" i2="X" l="FRE">
<s0>Lambda calcul</s0>
<s5>04</s5>
</fC03>
<fC03 i1="04" i2="X" l="ENG">
<s0>Lambda calculus</s0>
<s5>04</s5>
</fC03>
<fC03 i1="04" i2="X" l="SPA">
<s0>Lambda cálculo</s0>
<s5>04</s5>
</fC03>
<fC03 i1="05" i2="X" l="FRE">
<s0>Réduction chimique</s0>
<s5>05</s5>
</fC03>
<fC03 i1="05" i2="X" l="ENG">
<s0>Chemical reduction</s0>
<s5>05</s5>
</fC03>
<fC03 i1="05" i2="X" l="SPA">
<s0>Reducción química</s0>
<s5>05</s5>
</fC03>
<fC03 i1="06" i2="X" l="FRE">
<s0>Spécification</s0>
<s5>06</s5>
</fC03>
<fC03 i1="06" i2="X" l="ENG">
<s0>Specification</s0>
<s5>06</s5>
</fC03>
<fC03 i1="06" i2="X" l="SPA">
<s0>Especificación</s0>
<s5>06</s5>
</fC03>
<fC03 i1="07" i2="X" l="FRE">
<s0>Unification n ordre</s0>
<s4>CD</s4>
<s5>96</s5>
</fC03>
<fC03 i1="07" i2="X" l="ENG">
<s0>Higher order unification</s0>
<s4>CD</s4>
<s5>96</s5>
</fC03>
<fC03 i1="08" i2="X" l="FRE">
<s0>Substitution explicite</s0>
<s4>CD</s4>
<s5>97</s5>
</fC03>
<fC03 i1="08" i2="X" l="ENG">
<s0>Explicit substitution</s0>
<s4>CD</s4>
<s5>97</s5>
</fC03>
<fC03 i1="09" i2="X" l="FRE">
<s0>Unification equationnelle</s0>
<s4>CD</s4>
<s5>98</s5>
</fC03>
<fC03 i1="09" i2="X" l="ENG">
<s0>Equational unification</s0>
<s4>CD</s4>
<s5>98</s5>
</fC03>
<fC03 i1="10" i2="X" l="FRE">
<s0>Beta eta calcul</s0>
<s4>CD</s4>
<s5>99</s5>
</fC03>
<fC03 i1="10" i2="X" l="ENG">
<s0>Beta eta calculus</s0>
<s4>CD</s4>
<s5>99</s5>
</fC03>
<fN21>
<s1>136</s1>
</fN21>
</pA>
</standard>
<server>
<NO>PASCAL 00-0185057 INIST</NO>
<ET>Higher order unification via explicit substitutions</ET>
<AU>DOWEK (G.); HARDIN (T.); KIRCHNER (C.)</AU>
<AF>INRIA-Rocquencourt, B.P. 105/78153 Le Chesnay/France (1 aut.); LIP6 and INRIA-Rocquencourt, Université Paris 6, 4 Place Jussieu/75252 Paris/France (2 aut.); LORIA and INRIA, 615, rue du Jardin Botanique/54600 Villers-lès-Nancy/France (3 aut.)</AF>
<DT>Publication en série; Niveau analytique</DT>
<SO>Information and computation; ISSN 0890-5401; Coden INFCEC; Etats-Unis; Da. 2000; Vol. 157; No. 1-2; Pp. 183-235; Bibl. 50 ref.</SO>
<LA>Anglais</LA>
<EA>Higher order unification is equational unification for βη-conversion. But it is not first order equational unification, as substitution has to avoid capture. Thus, the methods for equational unification (such as narrowing) built upon grafting (i.e., substitution without renaming) cannot be used for higher order unification, which needs specific algorithms. Our goal in this paper is to reduce higher order unification to first order equational unification in a suitable theory. This is achieved by replacing substitution by grafting, but this replacement is not straightforward as it raises two major problems. First, some unification problems have solutions with grafting but no solution with substitution. Then equational unification algorithms rest upon the fact that grafting and reduction commute. But grafting and βη-reduction do not commute in λ-calculus and reducing an equation may change the set of its solutions. This difficulty comes from the interaction between the substitutions initiated by βη-reduction and the ones initiated by the unification process. Two kinds of variables are involved: those of βη-conversion and those of unification. So, we need to set up a calculus which distinguishes between these two kinds of variables and such that reduction and grafting commute. For this purpose, the application of a substitution of a reduction variable to a unification one must be delayed until this variable is instantiated. Such a separation and delay are provided by a calculus of explicit substitutions. Unification in such a calculus can be performed by well-known algorithms such as narrowing, but we present a specialised algorithm for greater efficiency. At last we show how to relate unification in λ-calculus and in a calculus with explicit substitutions. Thus, we come up with a new higher order unification algorithm which eliminates some burdens of the previous algorithms, in particular the functional handling of scopes. Huet's algorithm can be seen as a specific strategy for our algorithm, since each of its steps can be decomposed into elementary ones, leading to a more atomic description of the unification process. Also, solved forms in A-calculus can easily be computed from solved forms in λσ-calculus.</EA>
<CC>001A02A01B</CC>
<FD>Logique; Unification; Substitution; Lambda calcul; Réduction chimique; Spécification; Unification n ordre; Substitution explicite; Unification equationnelle; Beta eta calcul</FD>
<ED>Logic; Unification; Substitution; Lambda calculus; Chemical reduction; Specification; Higher order unification; Explicit substitution; Equational unification; Beta eta calculus</ED>
<SD>Lógica; Unificación; Substitución; Lambda cálculo; Reducción química; Especificación</SD>
<LO>INIST-8341.354000082274570060</LO>
<ID>00-0185057</ID>
</server>
</inist>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/PascalFrancis/Corpus
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000A57 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/PascalFrancis/Corpus/biblio.hfd -nk 000A57 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/Lorraine
   |area=    InforLorV4
   |flux=    PascalFrancis
   |étape=   Corpus
   |type=    RBID
   |clé=     Pascal:00-0185057
   |texte=   Higher order unification via explicit substitutions
}}

Wicri

This area was generated with Dilib version V0.6.33.
Data generation: Mon Jun 10 21:56:28 2019. Site generation: Fri Feb 25 15:29:27 2022