# Boolean Logic

Traditional or BooleanLogic treats purely binary logical states: a statement can only be either 100% true or 100% false.

BooleanLogic connectives are defined by truth tables where 1 is true and 0 is false, i.e.,

For "and" symbolized as "&" or "^" or "∧" (or "&&" in CeeLanguage/CeePlusPlus/JavaLanguage, etc.)

```  ^ | A  B
---+------
0 | 0  0
0 | 1  0
0 | 0  1
1 | 1  1
```
For "or" symbolized as "|" or "v" or "∨" (or "||" in the languages above)

```  v | A  B
---+------
0 | 0  0
1 | 1  0
1 | 0  1
1 | 1  1
```
"Not" is "~" (or "!" or "¬")

```  ~ | A
---+---
1 | 0
0 | 1
```
and "implication" (see LogicalImplication) or "If..then.." is "->" or "⇒" (conditional)

```  -> | A  B
----+------
1 | 0  0
0 | 1  0
1 | 0  1
1 | 1  1

```
"Iff" or "If and only if" is "<->" or "⇔" (biconditional)

is the same as (A -> B) ^ (B -> A)

There are many axioms of BooleanLogic, including DeMorgansLaws, and some deduction rule, such as

```  A^(A->B) -> B
```
This means, when doing proofs in logic or mathematics, in any step if A (which can be a complex expression) is true (or an assumption) and there is a definition, assumption, axiom or previously proved theorem of the form A->B, then B can be introduced into the proof chain.

For more truth tables, see It should be noted that implication in BooleanLogic does not model the way the human mind does implication; it's a rather forced fit. This continues to cause theoretical and pragmatic issues that motivate a continuing search for a more suitable model.