Reputation: 2193
I'm learning lambda calculus, however I'm quite confused about the quantifiers in lambda calculus. As far as I know, quantifiers such as "∃" are concepts of first order logic (FOL), which are not needed by lambda calculus. Moreover, I didn't find anything about quantifiers in any tutorials I have read.
However, I find this paper (Lambda Dependency-Based Compositional Semantics ), in the first page of which the author used quantifier in lambda calculus. So, are quantifiers used in lambda calculus? If so, what do they mean? Is it the same as in FOL?
Upvotes: 0
Views: 860
Reputation: 36
The paper you cite is using quantifiers somewhat informally, the same way it uses predicates. If you already have a lambda calculus, you can, at least on paper, extend it with any set of formal symbols you want, including quantifiers from FOL. In that case, the quantifiers are something added to the calculus, not part of it.
Quantifiers can be defined in typed lambda calculus, however. In simply typed settings, you have basic function types, but these can be generalized to universal quantifier and dependent function/Pi types. In that case, the lambda expressions represent proofs of implications and universal quantifications, meaning they are built in semantic interpretations that you can give to lambda expressions. Existential quantifiers can then be defined as;
∃ a : t . P a := ∀Q . (∀ a : t . P a → Q) → Q
Which has the same data as the ordinary product type.
Upvotes: 2