## Logic Expression Simplifier Calculator

The program is intended for obtaining truth tables of logical functions with the number of variables from one to five. A logical (Boolean) function of n variables y = f(x1, x2, …, xn) is a function with all variables and the function itself can take only two values: 0 and 1.

## The basic functions of logic

Variables that can take only two values 0 and 1 are called logical variables (or just variables). Note that a logical variable x can imply under number 0 some statement which is false, and under number 1 some statement which is true.

It follows from the definition of a logical function that a function of n variables is a mapping Bn to B, which can be defined directly by a table called the truth table of this function.

The basic functions of logic are functions of two variables z = f(x,y).

The number of these functions is 24 = 16. Let us renumber them and arrange them in the natural order.

Let us consider these functions in more detail. Two of them f0 = 0 and f15 = 1 are constants. The functions f3, f5, f10 and f12 are essentially functions of one variable.

The most important functions of two variables have special names and designations.

1) f1 – conjunction (AND function)
Note that the conjunction is actually the usual multiplication (of zeros and ones). This function is denoted by x&y;

2) f7 is a disjunction (or function). It is denoted by V.

3) f13 is implication (following). Denoted by ->.
This is a very important function, especially in logic. It can be viewed as follows: if x = 0 (i.e. x is “false”), then both “false” and “true” can be deduced from this fact (and this will be correct), if y = 1 (i.e. y is “true”), then truth is deduced from both “false” and “true”, and this is also correct. Only the conclusion “from truth is false” is incorrect. Note that any theorem always actually contains this logical function;

4) f6 – addition modulo 2. It is denoted by a “+” sign or a “+” sign in a circle.

5) f9 is equivalence or similarity. This f9 = 1 if and only if x = y. It is denoted by x ~ y.

6) f14 is Schaeffer’s dash. This function is sometimes called “not and” (since it is equal to the negation of the conjunction). It is denoted by x|y.

7) f8 is Pierce’s arrow (sometimes this function is called the Lukasiewicz stroke).

The remaining three functions, (f2 , f4, and f11) have no special designation.

Note that logic often considers functions from functions, i.e., superpositions of the above functions. In this case, the sequence of actions is indicated (as usual) by parentheses.

## User manual

1. All characters entered by the user will be displayed on the calculator
2. In addition to the character operands presented in the application interface, keyboard input is also possible
3. If the user made a mistake when entering the function, the last entered characters can be deleted by pressing the Backspace key
4. The application supports an automatic check of the correctness of the entered values. That is, in case of an error the symbol will not appear on the display, but on the contrary, it will vibrate, letting the user know that an error has been made
5. After you finish entering the user expression, you must press the confirm button to display the truth table
6. If there were too many calculated values, the table can be scrolled down to see the remaining options
7. At the top, as a hint, the expression entered by the user is displayed
8. To return to the main page, click anywhere in the table