Počet konstrukcí - Calculus of constructions
tento článek vyžaduje pozornost odborníka na informatiku.Listopadu 2008) ( |
v matematická logika a počítačová věda, Počet konstrukcí (CoC) je teorie typů vytvořil Thierry Coquand. Může sloužit jako zadaný programovací jazyk i jako konstruktivní základ pro matematiku. Z tohoto druhého důvodu bylo základem CoC a jeho varianty Coq a další důkazní asistenti.
Některé z jeho variant zahrnují Kalkul indukčních konstrukcí[1] (což dodává indukční typy ), počet (Co) indukčních konstrukcí (který dodává koindukce ) a Predikativní počet indukčních konstrukcí (který některé odstraňuje.) nedůtklivost ).
Obecné vlastnosti
CoC je vyššího řádu zadaný lambda kalkul, původně vyvinutý společností Thierry Coquand. Je dobře známo, že je na vrcholu Barendregt je lambda kostka. V rámci CoC je možné definovat funkce od pojmů k pojmům, jakož i pojmy k typům, typy k typům a typy k pojmům.
CoC je silně normalizující, i když je nemožné prokázat tuto vlastnost v CoC, protože z toho vyplývá konzistence, která by Gödelova věta o neúplnosti ze samotného systému nelze prokázat.
Používání
CoC byl vyvinut spolu s Coq důkaz asistent. Jakmile byly do teorie přidány funkce (nebo odstraněny možné závazky), byly k dispozici v Coq.
Varianty CoC se používají u jiných zkušebních asistentů, jako např Matita.
Základy stavebního počtu
Počet konstrukcí lze považovat za prodloužení Curry – Howardův izomorfismus. Curom – Howardův izomorfismus spojuje pojem v jednoduše zadaný lambda kalkul s každým důkazem o přírodním odpočtu v intuicionistická výroková logika. Calculus of Constructions rozšiřuje tento izomorfismus na důkazy v úplném intuicionistickém predikátovém počtu, který zahrnuje důkazy kvantifikovaných výroků (které budeme také nazývat „propozice“).
Podmínky
A období v počtu konstrukcí je konstruován pomocí následujících pravidel:
- je termín (nazývaný také Typ);
- je termín (nazývaný také Podpěra, typ všech propozic);
- Proměnné () jsou termíny;
- Li a jsou termíny, pak také jsou ;
- Li a jsou termíny a je proměnná, pak jsou to také termíny:
- ,
- .
Jinými slovy, termín syntaxe, v BNF, pak je:
Calculus of Constructions má pět druhů objektů:
- důkazy, což jsou výrazy, jejichž typy jsou propozice;
- propozice, které jsou také známé jako malé typy;
- predikáty, což jsou funkce, které vracejí návrhy;
- velké typy, což jsou typy predikátů ( je příklad velkého typu);
- sám, což je typ velkých typů.
Rozsudky
Calculus of Constructions umožňuje dokazování psaní úsudků:
Což lze číst jako implikaci
- Pokud proměnné mít typy , pak termín má typ .
Platné úsudky pro počet konstrukcí lze odvodit ze sady odvozovacích pravidel. V následujícím textu používáme znamenat posloupnost přiřazení typů ; znamenat pojmy; a to znamená buď nebo . Budeme psát znamená výsledek nahrazení termínu pro volnou proměnnou v termínu .
Pravidlo odvození je zapsáno ve formuláři
což znamená
- Li je platný úsudek, pak také je
Pravidla odvození pro počet konstrukcí
1.
2.
3.
4.
5.
6.
Definování logických operátorů
The Calculus of Constructions has very few basic operators: the only logical operator for creating propositions is . Tento jeden operátor je však dostatečný k definování všech ostatních logických operátorů:
Definování datových typů
Základní datové typy používané v informatice lze definovat v rámci počtu konstrukcí:
- Booleovci
- Přírodní
- Produkt
- Nespojitá unie
Všimněte si, že Booleans a Naturals jsou definovány stejným způsobem jako v Kódování kostela. Další problémy však vyplývají z propoziční roztažnosti a důkazní irelevance.[2]
Viz také
Reference
- ^ Počet indukčních konstrukcí a základní standardní knihovny:
Typy dat
aLogika
. - ^ "Standardní knihovna | Coq Proof Assistant". coq.inria.fr. Citováno 2020-08-08.
- Coquand, Thierry; Huet, Gérard (1988). „Počet konstrukcí“ (PDF). Informace a výpočet. 76 (2–3): 95–120. doi:10.1016/0890-5401(88)90005-3.
- K dispozici také volně přístupné online: Coquand, Thierry; Huet, Gérard (1986). Počet konstrukcí (Technická zpráva). INRIA, Centre de Rocquencourt. 530.
Poznámka: terminologie je poněkud odlišná. Například, () je psáno [X : A] B.
- K dispozici také volně přístupné online: Coquand, Thierry; Huet, Gérard (1986). Počet konstrukcí (Technická zpráva). INRIA, Centre de Rocquencourt. 530.
- Bunder, M. W .; Seldin, Jonathan P. (2004). "Varianty základního počtu konstrukcí". CiteSeerX 10.1.1.88.9497. Citovat deník vyžaduje
| deník =
(Pomoc) - Frade, Maria João (2009). "Počet indukčních konstrukcí" (PDF). Archivovány od originál (mluvit) dne 2014-05-29. Citováno 2013-03-03.
- Huet, Gérard (1988). „Principy indukce formalizované v počtu konstrukcí“ (PDF). In Fuchi, K .; Nivat, M. (eds.). Programování počítačů budoucí generace. Severní Holandsko. str. 205–216. ISBN 0444704108. - Aplikace CoC