To start talking about anything, we need a collection of symbols (a formal-alphabet). Any string of these symbols is called a formula. A formal-grammar is a collection of rules (called formation-rules) that divide formulas into two groups: those that obey the grammar (called well-formed formulas or wffs) and those that do not. Given a formal-alphabet and a formal-grammar , the collection of all wffs formed from according to is a formal-language.

A proposition is a basic entity that can take one of two values (called truth-values): true (T) or false (F). Logical-connectives are symbols used to construct new propositions (called compound-propositions) from existing ones (called atomic-propositions). For example, given two atomic-propositions and , we can form the compound-proposition , which takes the truth-value true when both and are true, and truth-value false otherwise. Combining two propositions, there are different compound-propositions, and therefore 16 distinct binary-logical-connectives shown in the next table:

TTFFFFFFFFTTTTTTTT
TFFFFFTTTTFFFFTTTT
FTFFTTFFTTFFTTFFTT
FFFTFTFTFTFTFTFTFT

You can see that the connective is the one used in our previous example (true only when both and are true), it is denoted with the symbol and called AND. Other binary-connectives are also commonly denoted with special symbols and given identifying names. For example, is denoted with and called contradiction, with and called NOR, with and called XOR, with called NAND, with called XNOR, with called IMPLY, with called OR, and with and called tautology.

A compound-proposition may also be constructed from a single atomic-proposition. There are 4 different combinations, and therefore 4 unary-logical-connectives, shown in the next table:

TTFTF
FFTTF

The names of these unary-connectives, in order of appearance, are identity, negation, tautology, and contradiction.

In general, a compound-proposition may be constructed by combining any number (called the arity of the connective) of atomic-propositions, yielding distinct n-ary-logical-connectives.

We can apply logical-connectives to compound-propositions by enclosing them in parenthesis. For example, or . For the first, you can see that since negation is applied to , the truth-values of are true when is true and false when is false. For the second, the truth-values of are the same that , that in fact is the negation of .

TTFFFF
TFFTFF
FTTFFF
FFTTTT

If two propositions have the same truth-values, we call them logically-equivalent. To write these logical-equivalences we use the symbol . For example, like we saw is a proposition equivalent to , or in symbols , and is equivalent to (or ), i.e. . The latter is one of a well-known pair of equivalences called De-Morgan’s-laws, the other is the dual equivalence . Since and are besides the negation of and respectively, the De Morgan’s laws are often written as and . Other two important equivalences (important enough to receive a name) are called the contrapositive-law, and called the biconditional-law (for this reason the XNOR connective is often called the biconditional).

The number of connectives grows exponentially with arity (), but luckily, the great majority of these connectives can be constructed, via equivalences, using other connectives. For example, using and we can write the NOR connective using the De-Morgan’s-law (and the OR as the negation of that), or the IMPLY as (and using this, the biconditional using the biconditional-law), etc. Continuing in this manner, we end up finding that we can write all the connectives just using and . Any collection of connectives that let us construct from them all the connectives is called a functional-complete-collection (or FCC). If we add the OR connective for example, the collection and is also a FCC, but the OR connective is redundant since we can construct it using the other two. A FCC that does not contain redundancies is called a minimal-FCC. Examples of minimal-FCCs are , , , and just or just (yes, even though there are n-ary-connectives, we can write them all using just the NAND (or NOR) connective).

Using lowercase letters (that represent atomic-propositions), parentheses, and any FCC (e.g. ) we can write any proposition. So a collection of symbols of this type constitutes a formal-alphabet where any proposition is a formula of it, and is called (just like any formal-alphabet such that any proposition is a formula of ) a propositional-formal-alphabet.

While all propositions are formulas of a propositional-formal-alphabet like , with it we can write many formulas that are not propositions (e.g. or ). This is where a formal-grammar becomes useful. We can use it to mark as wffs only those formulas that represent valid propositions, yielding a formal-language consisting solely of valid propositions. Such a formal-language is called a propositional-formal-language, and the formal-grammar used to select the valid propositions is called a propositional-formal-grammar.

An example of a propositional-formal-grammar over consists of the following formation-rules:

  1. Any lowercase letter (e.g. , ) is a well-formed formula.
  2. If is a wff, then is a wff.
  3. If and are wffs, then is a wff.

Using , we can generate expressions like , but not or (which are formulas, but not wffs) creating from a propositional-formal-language .

A predicate is a statement containing a number of variables () called its arity. A predicate containing just one variable (e.g. is even”) is called unary, and one of two variables (e.g. is the capital of ”) binary. In general, if we have a predicate of variables, and we specify the value of only , it becomes a new predicate of variables, and when we specify all the variables it becomes a proposition. So a proposition is a predicate of variables in this context. For example, if we specify the value of as “Italy”, the binary predicate is the capital of ” becomes the unary predicate =” is the capital of Italy”. And then, if we also specify the value of it becomes a proposition (the true proposition “Rome is the capital of Italy” if we specify as “Rome”, and the false proposition “Madrid is the capital of Italy” if we specify as “Madrid” for example).