Yksinkertaisesti kirjoitettu lambda-laskenta

Yksinkertaisesti kirjoitettu lambdalaskenta ( yksinkertainen kirjoitettu lambdalaskenta , lambdalaskenta yksinkertaisilla tyypeillä , järjestelmä ) on kirjoitettu lambda -laskentajärjestelmä , jossa erityinen "nuoli"-tyyppi on määritetty lambda-abstraktiolle. Tätä järjestelmää ehdotti Alonzo Church vuonna 1940 [1] . Haskell Curry harkitsi samanlaista järjestelmää lambda -laskua lähellä olevan kombinatorisen logiikan formalismille vuonna 1934 [2] .

Muodollinen kuvaus

Tyyppien ja termien syntaksi

Järjestelmän perusversiossa tyypit muodostetaan muuttujajoukosta käyttämällä yhtä binääriliitekonstruktoria . Perinteisesti kreikkalaisia ​​kirjaimia käytetään tyyppimuuttujille, ja operaattoria pidetään oikea-assosiatiivisena, eli se on lyhenne sanoista . Kreikan aakkosten toisen puoliskon kirjaimia ( , , jne.) käytetään usein merkitsemään mielivaltaisia ​​tyyppejä, ei vain tyyppimuuttujia.

Yksinkertaisesti kirjoitetusta järjestelmästä on kaksi versiota. Jos termeinä käytetään samoja termejä kuin tyypittämättömässä lambda-laskennassa , niin järjestelmää kutsutaan implisiittisesti kirjoitetuksi tai Curry -tyyppiseksi . Jos lambda-abstraktion muuttujat on merkitty tyypeillä, järjestelmää kutsutaan eksplisiittisesti kirjoitetuksi tai kirkkotyyppiseksi . Esimerkkinä tässä on identtinen Curry-tyylinen funktio: , ja Church-tyylinen: .

Vähennyssäännöt

Pelkistyssäännöt eivät eroa tyypittämättömän lambda -kiven säännöistä . -vähennys määritellään korvaamisen kautta

.

-vähennys määritellään seuraavasti

.

Reduktio edellyttää, että muuttuja ei ole vapaa termissä .

Kontekstien ja väitteiden kirjoittaminen

Konteksti on joukko pilkuilla erotettuja muuttujien kirjoituskäskyjä, esimerkiksi

Kontekstit merkitään yleensä isoilla kreikkalaisilla kirjaimilla: . Voit lisätä kontekstiin muuttujan "fresh" tälle kontekstille: jos  on kelvollinen konteksti, joka ei sisällä muuttujaa , se  on myös kelvollinen konteksti.

Kirjoituslausekkeen yleinen muoto on:

Tämä kuuluu seuraavasti: kontekstissa termillä on tyyppi .

Kirjoitussäännöt (kirkon mukaan)

Yksinkertaisesti kirjoitetussa lambda-laskennassa tyyppien määrittäminen termeihin tapahtuu alla olevien sääntöjen mukaisesti.

Axiom. Jos muuttujalle on määritetty tyyppi kontekstissa , sillä on tyyppi kyseisessä kontekstissa . Päätelmäsäännön muodossa:

Johdanto sääntö . Jos jossain kontekstissa, laajennettynä lauseella, jossa on tyyppi , termillä on tyyppi , niin mainitussa yhteydessä (ilman ) lambda-abstraktiolla on tyyppi . Päätelmäsäännön muodossa:

poista sääntö . Jos jossain kontekstissa termi on tyyppiä ja termi on tyyppiä , sovellus on tyyppiä . Päätelmäsäännön muodossa:

Ensimmäisen säännön avulla voit määrittää tyypin vapaille muuttujille määrittämällä ne kontekstissa. Toisen säännön avulla voit kirjoittaa lambda-abstraktion nuolityypillä ja poistaa tämän abstraktion sitoman muuttujan kontekstista. Kolmas sääntö sallii hakemuksen (hakemuksen) kirjoittamisen edellyttäen, että vasemmalla hakijalla on sopiva nuolityyppi.

Esimerkkejä kirkon tyylisistä kirjoitusväitteistä:

    (aksiooma)     (johdanto )      (poisto )

Ominaisuudet

Muistiinpanot

  1. A. Kirkko. Yksinkertaisen tyyppiteorian muotoilu // J. Symbolinen logiikka. - 1940. - S. 56-68 .
  2. HB Curry. Toiminnallisuus kombinatorisessa logiikassa // Proc Natl Acad Sci USA. - 1934. - S. 584-590 .
  3. W. W. Tait. Äärillisen tyypin I funktionaalisten intensionaaliset tulkinnat // J. Symbolinen logiikka. - 1967. - T. 32 (2) .

Kirjallisuus