![]() ![]() Typed lambda calculi are not the sole raison d'être for the lambda calculus, and even inconsistent typed lambda calculi are very useful tools - just not to prove things.Some typed lambda calculi are like that, others make some terms untypable and are consistent. A typed lambda calculus that assigns a type to every lambda term is inconsistent.The lambda calculus is not “inconsistent”, that concept does not apply. ![]() Those typed calculi are useful as a basis for a Turing-complete programming language, but not with respect to their logical interpretation. In some typed calculi, it's possible to define a fixed point combinator. Those typed calculi are useful with respect to their logical interpretation, but not as a basis for a Turing-complete programming language. In many typed calculi, it's impossible to define a fixed point combinator. This is not meaningful for the pure lambda calculus, i.e. ![]() See Does the Y combinator contradict the Curry-Howard correspondence? for more details. rules such as beta) correspond to transformations of proofs (which had better transform correct proofs into correct proofs).Ī typed calculus that has a fixed point combinator such as $Y$ allows building a term of any type (try evaluating $Y (\lambda x.x)$), so if you take the logical interpretation through the Curry-Howard correspondence, you get an inconsistent theory. statements such that there is a proof of that statement) types such that there is a term of that type) correspond to true statements (i.e.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |