Additional Boolean operations are not needed, because all the usual Boolean operations can be expressed as derived operations in terms of the if-then-else.
This is also mentioned in Functional Programming Principles in Scala course on Coursera.org by Martin Odersky (compendium):
Turns out that all the operations on booleans can be defined in terms of ifThenElse.
I guess that could be obvious for those who is familiar with the topic, but how do we know this is possible? How to formulate general rules for performing these operations?
Let's try it:
IfThenElse (ITE)is not functionally complete, because constantstrueandfalseare required to implement certain functions.