Module combinators
Common combinators
- lambda_calculus.terms.combinators.Y: Final = Abstraction(bound='g', body=Application(abstraction=Abstraction(bound='x', body=Application(abstraction=Variable(name='g'), argument=Application(abstraction=Variable(name='x'), argument=Variable(name='x')))), argument=Abstraction(bound='x', body=Application(abstraction=Variable(name='g'), argument=Application(abstraction=Variable(name='x'), argument=Variable(name='x'))))))
Y combinator used to define recursive terms.
- lambda_calculus.terms.combinators.S: Final = Abstraction(bound='x', body=Abstraction(bound='y', body=Abstraction(bound='z', body=Application(abstraction=Application(abstraction=Variable(name='x'), argument=Variable(name='z')), argument=Application(abstraction=Variable(name='y'), argument=Variable(name='z'))))))
S combinator of the SKI combinator calculus.
- lambda_calculus.terms.combinators.K: Final = Abstraction(bound='x', body=Abstraction(bound='y', body=Variable(name='x')))
K combinator of the SKI combinator calculus.
- lambda_calculus.terms.combinators.I: Final = Abstraction(bound='x', body=Variable(name='x'))
I combinator of the SKI combinator calculus.
- lambda_calculus.terms.combinators.B: Final = Abstraction(bound='x', body=Abstraction(bound='y', body=Abstraction(bound='z', body=Application(abstraction=Variable(name='x'), argument=Application(abstraction=Variable(name='y'), argument=Variable(name='z'))))))
B combinator of the BCKW combinator calculus.
- lambda_calculus.terms.combinators.C: Final = Abstraction(bound='x', body=Abstraction(bound='y', body=Abstraction(bound='z', body=Application(abstraction=Application(abstraction=Variable(name='x'), argument=Variable(name='z')), argument=Variable(name='y')))))
C combinator of the BCKW combinator calculus.
- lambda_calculus.terms.combinators.W: Final = Abstraction(bound='x', body=Abstraction(bound='y', body=Application(abstraction=Application(abstraction=Variable(name='x'), argument=Variable(name='y')), argument=Variable(name='y'))))
W combinator of the BCKW combinator calculus.
- lambda_calculus.terms.combinators.DELTA: Final = Abstraction(bound='x', body=Application(abstraction=Variable(name='x'), argument=Variable(name='x')))
Term applying its argument to itself.
- lambda_calculus.terms.combinators.OMEGA: Final = Application(abstraction=Abstraction(bound='x', body=Application(abstraction=Variable(name='x'), argument=Variable(name='x'))), argument=Abstraction(bound='x', body=Application(abstraction=Variable(name='x'), argument=Variable(name='x'))))
Smallest term with no beta normal form.