I have to create some Lambda functions for > , < and !=
I don't have an idea how to , could anyone help me please ? PS: We just started with Lambda Calculus, so please do not assume any previous knowledge.
Thank you in anticipation !
Edit - What I meant was Arithmetic in Lambda Calculus
Edit 2 - More accurate : Looking for a Church-encoding (lambda calculus) to define < , > , !=
Editor's Note: I think this is what the OP is trying to ask:
I am trying to implement the following operations in the untyped lambda calculus using Church encoding:
- Greater than (
GT
or>
). - Lesser than (
LT
or<
). - Not equal to (
NE
or!=
).
I already know how to implement the following:
- Boolean true (
TRUE
orλx.λy.x
). - Boolean false (
FALSE
orλx.λy.y
). - Logical and (
AND
orλp.λq.p q p
). - Logical or (
OR
orλp.λq.p p q
). - Logical not (
NOT
orλp.λa.λb.p b a
).
How would you write the GT
, LT
and NE
functions in the untyped lambda calculus?
You also need the implementation of natural numbers. That's what you're going to write comparision operators for, isn't it.
I think that I remember the implementation of natural numbers. A number n is represented as a function taking a function f and a value x, and applying f n times on x.