Rachunek konstrukcji - Calculus of constructions
W logice matematycznej i informatyki The rachunek konstrukcji ( CoC ) jest teoria typ stworzony przez Thierry Coquand . Może służyć zarówno jako typowany język programowania, jak i jako konstruktywna podstawa matematyki . Z tego drugiego powodu CoC i jego warianty były podstawą dla Coq i innych asystentów dowodu .
Niektóre z jego wariantów obejmują rachunek konstrukcji indukcyjnych (dodający typy indukcyjne ), rachunek konstrukcji (ko)indukcyjnych (dodający koindukcję ) oraz rachunek predykatywny konstrukcji indukcyjnych (który usuwa pewną niepredykatywność ).
Rachunek konstrukcji, z dodatkowym aksjomatem odpowiadającym aksjomatowi wyboru , może być zakodowany w teorii mnogości Zermelo-Fraenkla z wyborem (ZFC) i odwrotnie. Dlatego oba są równospójne .
Cechy ogólne
CoC to typowy rachunek lambda wyższego rzędu , początkowo opracowany przez Thierry'ego Coquand'a . Jest dobrze znany z bycia na szczycie Barendregt „s lambda sześcianu . W CoC można definiować funkcje od terminów do terminów, a także terminy na typy, typy na typy i typy na terminy.
CoC jest silnie normalizujący , chociaż niemożliwe jest udowodnienie tej właściwości w CoC, ponieważ implikuje spójność, której nie można udowodnić z samego systemu , zgodnie z twierdzeniem Gödla .
Stosowanie
CoC został opracowany wraz z asystentem dowodu Coq . Po dodaniu funkcji (lub usunięciu ewentualnych zobowiązań) do teorii, stały się one dostępne w Coq.
Warianty CoC są używane w innych asystentach dowodowych, takich jak Matita .
Podstawy rachunku konstrukcji
Rachunek konstrukcji można uznać za rozszerzenie izomorfizmu Curry-Howarda . Izomorfizm Curry'ego-Howarda kojarzy termin w po prostu typowanym rachunku lambda z każdym dowodem dedukcji naturalnej w intuicjonistycznej logice zdań . Rachunek konstrukcji rozszerza ten izomorfizm na dowody w pełnym intuicjonistycznym rachunku predykatów, który obejmuje dowody zdań kwantyfikowalnych (które będziemy również nazywać „zdaniami”).
Warunki
Termin w rachunku konstrukcji jest wykonana przy użyciu zasad następujących:
- to termin (zwany także typem );
- to termin (zwany także prop , rodzaj wszystkich zdań);
- Zmienne ( ) to terminy;
- Jeśli i są terminami, to tak jest ;
- Jeśli i są terminami i jest zmienną, to terminami są również:
- ,
- .
Innymi słowy, składnia terminu w BNF to:
Rachunek konstrukcji ma pięć rodzajów obiektów:
- dowody , które są terminami , których typami są zdania ;
- propozycje , które są również znane jako małe typy ;
- predykaty , które są funkcjami zwracającymi zdania;
- duże typy , które są typami predykatów ( jest przykładem dużego typu);
- sam w sobie, który jest typem dużych typów.
Wyroki
Rachunek konstrukcji umożliwia dowodzenie sądów typowania :
Co można odczytać jako implikację
- Jeżeli zmienne mają typy , to termin ma typ .
Prawidłowe sądy dla rachunku konstrukcji można wyprowadzić ze zbioru reguł wnioskowania. W dalszej części używamy do oznaczania sekwencji przypisań typu ; rozumieć terminy; i oznacza albo lub . Będziemy pisać, aby oznaczać wynik podstawienia terminu za zmienną wolną w wyrazie .
Reguła wnioskowania jest zapisana w postaci
co znaczy
- Jeśli jest słusznym osądem, to tak jest
Reguły wnioskowania dla rachunku konstrukcji
1 .
2 .
3 .
4 .
5 .
6 .
Definiowanie operatorów logicznych
Rachunek konstrukcji ma bardzo niewiele podstawowych operatorów: jedynym operatorem logicznym do tworzenia zdań jest . Jednak ten jeden operator wystarcza do zdefiniowania wszystkich pozostałych operatorów logicznych:
Definiowanie typów danych
Podstawowe typy danych stosowane w informatyce można zdefiniować w ramach rachunku konstrukcji:
- wartości logiczne
- Naturalni
- Produkt
- Związek rozłączny
Zauważ, że Boole's i Naturals są definiowane w taki sam sposób jak w kodowaniu Church'a . Jednak dodatkowe problemy wynikają z ekstensjonalności zdań i nieistotności dowodu.
Zobacz też
- System typu czystego
- Kostka lambda
- System F
- Typ zależny
- Teoria typów intuicjonistycznych
- Teoria typów homotopii
Bibliografia
-
Coquand, Thierry ; Hueta, Gerarda (1988). „Rachunek konstrukcji” (PDF) . Informacje i obliczenia . 76 (2–3): 95–120. doi : 10.1016/0890-5401(88)90005-3 .
- Dostępne również bezpłatnie online: Coquand, Thierry; Hueta, Gerarda (1986). Rachunek konstrukcji (Raport techniczny). INRIA, Centre de Rocquencourt. 530.
Terminologia notatek jest nieco inna. Na przykład ( ) jest zapisywane [ x : A ] B .
- Dostępne również bezpłatnie online: Coquand, Thierry; Hueta, Gerarda (1986). Rachunek konstrukcji (Raport techniczny). INRIA, Centre de Rocquencourt. 530.
-
Bunder, MW; Seldin, Jonathan P. (2004). „Warianty rachunku podstawowego konstrukcji”. CiteSeerX 10.1.1.88.9497 . Cytowanie dziennika wymaga
|journal=
( pomoc ) - Frade, Maria João (2009). „Rachunek konstrukcji indukcyjnych” (PDF) . Zarchiwizowane z oryginału (rozmowa) dnia 2014-05-29 . Źródło 2013-03-03 .
- Hueta, Gerarda (1988). „Zasady indukcji sformalizowane w rachunku konstrukcji” (PDF) . W Fuchi K.; Nivat, M. (red.). Programowanie komputerów przyszłej generacji . Północna Holandia. s. 205–216. Numer ISBN 0444704108. Zarchiwizowane z oryginału (PDF) dnia 2015-07-01. — Zastosowanie CoC