Logical conditions in programming languages: review, discussion and generalization - Nagy, Benedek; Abuhmaidan, Khaled; Aldwairi, Monther (E K F Liceum Kiado, 2023)
Boolean logic is widely used in almost every discipline including linguistics, philosophy, mathematics, computer science and engineering. Boolean logic is characterized by the two possible truth values, and various logical connectives/operations allow us to make compound statements, conditions. Most of the programming languages, if not all, have some of the logic operations: conjunction, disjunction and negation. Actually, since the set of these three operations form a basis, any logical statement can be formed by them. However, on the one hand, there are smaller bases as well, i.e., one of the conjunction or disjunction is already superfluous. Moreover, there are bases with only one operation, e.g., by NAND. On the other hand, one may allow other operations helping the programmer/user to define the conditions of conditional statements and loops in a simpler manner. In this paper we discuss these issues, including some practical points, implementation issues and short cut evaluations for various operations.
Keywords: High level programming languages; conditional statements; loop conditions; logical connectives; short cut evaluation; formal logic