Simpelthen indtastet lambdaregning

Simpelt indtastet lambdaregning ( simpelt indtastet lambdaregning , lambdaregning med simple typer , system ) er et system med maskinskrevet lambdaregning , hvor en speciel "pil"-type er tildelt en lambdaabstraktion. Dette system blev foreslået af Alonzo Church i 1940 [1] . For formalismen af ​​kombinatorisk logik tæt på lambda-regningen blev et lignende system overvejet af Haskell Curry i 1934 [2] .

Formel beskrivelse

Syntaks af typer og termer

I den grundlæggende version af systemet er typer konstrueret ud fra et sæt variabler ved hjælp af en enkelt binær infix-konstruktør . Traditionelt bruges græske bogstaver til typevariable, og operatoren betragtes som højreassociativ, det vil sige, at den er en forkortelse for . Bogstaver fra anden halvdel af det græske alfabet ( , , osv.) bruges ofte til at betegne vilkårlige typer, ikke kun typevariable.

Der er to versioner af det enkelt indtastede system. Hvis de samme termer bruges som termer som i den utypede lambdaregning , så kaldes systemet implicit indtastet eller Curry -type . Hvis variablerne i lambda-abstraktionen er annoteret med typer, kaldes systemet eksplicit typet eller kirketype . Som et eksempel er her en identisk curry-stil-funktion: , og kirke-stil: .

Reduktionsregler

Reglerne for reduktion adskiller sig ikke fra reglerne for utypebestemt lambdaregning . -reduktion defineres gennem substitution

.

-reduktion er defineret som følger

.

-reduktionen kræver, at variablen ikke er fri i termen .

Skrivekontekster og typepåstande

En kontekst er et sæt kommaseparerede variable skrivesætninger, f.eks.

Kontekster er normalt angivet med store græske bogstaver: . Du kan tilføje en variabel "frisk" for denne kontekst til konteksten: hvis  er en gyldig kontekst, der ikke indeholder variablen , så  er det også en gyldig kontekst.

Den generelle form for en skriveerklæring er:

Dette lyder som følger: i kontekst har et udtryk typen .

Indskrivningsregler (ifølge Kirken)

I den enkelt indtastede lambdaregning sker tildelingen af ​​typer til termer efter reglerne nedenfor.

Aksiom. Hvis en variabel er tildelt en type i en kontekst , så har den en type i den kontekst . I form af en slutningsregel:

Introduktionsregel . Hvis udtrykket i en eller anden sammenhæng, udvidet med udsagnet, der har type , har type , så har lambda-abstraktionen i den nævnte kontekst (uden ) type . I form af en slutningsregel:

slette regel . Hvis et udtryk i en eller anden sammenhæng er af typen , og et udtryk er af typen , så er applikationen af ​​typen . I form af en slutningsregel:

Den første regel giver dig mulighed for at tildele en type til frie variabler ved at specificere dem i konteksten. Den anden regel giver dig mulighed for at skrive lambda-abstraktionen med en piletype, og fjerner variablen bundet af denne abstraktion fra konteksten. Den tredje regel giver dig mulighed for at skrive ansøgningen (ansøgningen), forudsat at den venstre ansøger har en passende piltype.

Eksempler på skrivepåstande i kirkelig stil:

    (aksiom)     (introduktion )      (fjernelse )

Egenskaber

Noter

  1. A. Kirke. En formulering af den simple typeteori // J. Symbolsk Logik. - 1940. - S. 56-68 .
  2. HB Karry. Funktionalitet i kombinatorisk logik // Proc Natl Acad Sci USA. - 1934. - S. 584-590 .
  3. W. W. Tait. Intentionelle fortolkninger af funktionaler af endelig type I // J. Symbolsk logik. - 1967. - T. 32 (2) .

Litteratur