This is a set of rules and formal procedures using which we can derive the truth or untruth of a complicated statement consisting of a number of individual (true or untrue) statements. The individual statements are connected together by the logical operators AND, OR, XOR or the derived operator NOT. The logical operation AND yields the output TRUE if both the input statements are true. For example, the statement “It is snowing and raining outside” is true only if both individual statements are true, i.e. when it is raining and also snowing outside. The logical operation OR yields the output TRUE if at least one of the individual statements is true. For example, the statement “It is snowing or raining outside” is true if at least one of the individual statements is true, i.e. if it is raining outside or if it is snowing outside or if it is raining and snowing outside. The statement XOR is true only if one of the individual statements is true, i.e. it is raining outside or it is snowing outside, but it would not be true if it were both snowing and raining. If an (individual or complex) statement is introduced by the operator NOT, its validity is negated (a true statement becomes untrue and vice versa).