Module pairs
Implementation of pairs
- lambda_calculus.terms.pairs.PAIR: Final = Abstraction(bound='x', body=Abstraction(bound='y', body=Abstraction(bound='f', body=Application(abstraction=Application(abstraction=Variable(name='f'), argument=Variable(name='x')), argument=Variable(name='y')))))
Term evaluating to a ordered pair of its two arguments.
- lambda_calculus.terms.pairs.FIRST: Final = Abstraction(bound='p', body=Application(abstraction=Variable(name='p'), argument=Abstraction(bound='x', body=Abstraction(bound='y', body=Variable(name='x')))))
Term evaluating to the first value in its argument.
- lambda_calculus.terms.pairs.SECOND: Final = Abstraction(bound='p', body=Application(abstraction=Variable(name='p'), argument=Abstraction(bound='x', body=Abstraction(bound='y', body=Variable(name='y')))))
Term evaluating to the second value in its argument.
- lambda_calculus.terms.pairs.NIL: Final = Abstraction(bound='x', body=Abstraction(bound='x', body=Abstraction(bound='y', body=Variable(name='x'))))
Special Term encoding an empty pair.
- lambda_calculus.terms.pairs.NULL: Final = Abstraction(bound='p', body=Application(abstraction=Variable(name='p'), argument=Abstraction(bound='x', body=Abstraction(bound='y', body=Abstraction(bound='x', body=Abstraction(bound='y', body=Variable(name='y')))))))
Term evaluating to logic.TRUE if its argument is NIL, logic.FALSE otherwise.