Talk:Calculus of constructions

message: CoC can represent all functions provably total in higher-order logic, right? So, in what system is the strong normalization theory proved? Jim Apple 08:03, 19 August 2005 (UTC)
replies: text: From the freely online accessible paper, I see no special care about this, even if the proof is not given. However, it does not seem that strong normalization is equivalent to consistency; they are both stated as corollaries of the same, rather technical theorem (whose proof is not included - the full reference given there is a PhD thesis in French). --Blaisorblade (talk) 01:14, 20 June 2008 (UTC)
thread_title: Total

message: The inference rules presented in this article seem deficient. In particular, there is no way to prove anything of the form {\Gamma \vdash x : M N} from them. I imagine what's missing is a rule allowing one to derive x : A from a derivation of x : B and the beta-equality of A and B, or something like that. Hopefully, someone more familiar with this material can clear things up. -Chinju 17:41, 2 November 2005 (UTC)
replies: text: The online article (Coquand and Huet, 1986) states an obvious inference rule to prove typing for variables (they have the type declared in \Gamma), and states as a lemma (lemma 5 on page 7) that "if {\Gamma \vdash M : N_1} and {\Gamma \vdash M : N_2}, then {\Gamma \vdash N_1 : N_2}). I can't find the deduction rule you would like to have, but it should be surely a theorem, not a rule (even because typing judgements are introduced before conversion rules; conversion rules is the equivalent of beta-conversion in that article).--Blaisorblade (talk) 01:14, 20 June 2008 (UTC)
replies: text:  I retract my previous comment. The article has been changed significantly, and it now indeed includes a conversion typing rule, that is, "a rule allowing one to derive x : A from a derivation of x : B and the beta-equality of A and B", as Chinju wrote. (It has the extra condition that A : K for whatever technical reasons — but that might need a citation). I even misquoted Lemma 5 above: it should read {\Gamma \vdash N_1 = N_2}. In the paper, the rule of conversion is the one asked for by Chinju, and does not need that side condition. However, that side condition is often needed (depending on the details of the formalization), for instance it is needed in pure type systems. --Blaisorblade (talk) 21:59, 10 August 2014 (UTC)
thread_title:  Deficiencies in the article 

message: I removed the claim that the CoC was equiconsistent with ZFC because the paper cited ("Sets in types, types in sets") doesn't prove this.  It uses a stronger type theory with inductive types, the calculus of inductive constructions.  If ZFC[i] is ZFC with i inaccessible cardinals and  CIC[i] is the calculus of inductive constructions with sorts Prop, Type1, ..., Typei, then the paper constructs a model of CIC[i] (plus choice and excluded middle axioms) in ZFC[i-1] and a model of ZFC[i] in CIC[i+2] (plus choice and excluded middle axioms.)  Spacepotato (talk) 03:17, 3 February 2022 (UTC)
thread_title:  Equiconsistency with ZFC 

message: What do the notations 
* AB, 
* \lambda x: A . B, and 
* \forall x: A . B 
mean? The are not defined anywhere in the article. The-erinaceous-one (talk) 22:20, 24 February 2023 (UTC)
replies: text: They represent function application, lambda-abstraction, and dependent product formation, respectively. Spacepotato (talk) 19:24, 17 April 2023 (UTC)
replies: text: In this context, there is not much difference between \Pi and \forall.  You can use whichever you prefer. Spacepotato (talk) 17:35, 31 July 2023 (UTC)
thread_title:  Clarification needed for notation 

message: These terms are not defined on this page, nor anywhere else on Wikipedia as far as I can tell.
They should either be defined or removed. Ablueberry87 (talk) 01:49, 6 January 2024 (UTC)
replies: text: Bold 5.139.227.97 (talk) 11:56, 7 April 2024 (UTC)
thread_title:  Definition of "small" and "large" types