Question: Problem 4 [12pt Consider the sinply typed -calculus and its typing rules defined in Note 3, Suppose we want to add a new operation which

Problem 4 [12pt Consider the sinply typed -calculus and its typing rules defined in Note 3, Suppose we want to add a new operation which performs the equality test on two natural numbers. We can define the syntax of this new language as follows: terms c::= 1 e1 = e2 where the dots represents the terms defined in Note 3. The syntax of types remains unchanged. a) (5pt) Follow the notations in Note 3, write down a typing rule (call it T-Eq) for the new term el-e2, so that the equality test takes two natural numbers and returns a Boolean value. b) (7pl) What is the type of the term ((Ar:int.( (2))) 3)? Justify your answer by writing down the proof tree for this term Problem 4 [12pt Consider the sinply typed -calculus and its typing rules defined in Note 3, Suppose we want to add a new operation which performs the equality test on two natural numbers. We can define the syntax of this new language as follows: terms c::= 1 e1 = e2 where the dots represents the terms defined in Note 3. The syntax of types remains unchanged. a) (5pt) Follow the notations in Note 3, write down a typing rule (call it T-Eq) for the new term el-e2, so that the equality test takes two natural numbers and returns a Boolean value. b) (7pl) What is the type of the term ((Ar:int.( (2))) 3)? Justify your answer by writing down the proof tree for this term
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
