Template:Short description Template:Distinguish Template:Use dmy dates The propositional calculusTemplate:Refn is a branch of logic.<ref name=":1" /> It is also called propositional logic,<ref name=":2"/> statement logic,<ref name=":1" /> sentential calculus,<ref name=":18"/> sentential logic,<ref name="Hilbert_Ackermann"/><ref name=":1" /> or sometimes zeroth-order logic.Template:Efn<ref name="ms52"/><ref name=":10"/><ref name=":11"/> Sometimes, it is called first-order propositional logic<ref name="ms53"/> to contrast it with System F, but it should not be confused with first-order logic. It deals with propositions<ref name=":1" /> (which can be true or false)<ref name=":22"/> and relations between propositions,<ref name="ms54"/> including the construction of arguments based on them.<ref name="ms55"/> Compound propositions are formed by connecting propositions by logical connectives representing the truth functions of conjunction, disjunction, implication, biconditional, and negation.<ref name=":5"/><ref name=":0"/><ref name=":3"/><ref name=":12"/> Some sources include other connectives, as in the table below.

Unlike first-order logic, propositional logic does not deal with non-logical objects, predicates about them, or quantifiers. However, all the machinery of propositional logic is included in first-order logic and higher-order logics. In this sense, propositional logic is the foundation of first-order logic and higher-order logic.

Propositional logic is typically studied with a formal language,Template:Efn in which propositions are represented by letters, which are called propositional variables. These are then used, together with symbols for connectives, to make propositional formula. Because of this, the propositional variables are called atomic formulas of a formal propositional language.<ref name=":0" /><ref name=":2" /> While the atomic propositions are typically represented by letters of the alphabet,Template:Efn<ref name=":0" /> there is a variety of notations to represent the logical connectives. The following table shows the main notational variants for each of the connectives in propositional logic.

Notational variants of the connectivesTemplate:Efn<ref name="ms56"/><ref name=":23"/>
Connective Symbol
AND <math>A \land B</math>, <math>A \cdot B</math>, <math>AB</math>, <math>A \& B</math>, <math>A \&\& B</math>
equivalent <math>A \equiv B</math>, <math>A \Leftrightarrow B</math>, <math>A \leftrightharpoons B</math>
implies <math>A \Rightarrow B</math>, <math>A \supset B</math>, <math>A \rightarrow B</math>
NAND <math>A \overline{\land} B</math>, <math>A \mid B</math>, <math>\overline{A \cdot B}</math>
nonequivalent <math>A \not\equiv B</math>, <math>A \not\Leftrightarrow B</math>, <math>A \nleftrightarrow B</math>
NOR <math>A \overline{\lor} B</math>, <math>A \downarrow B</math>, <math>\overline{A+B}</math>
NOT <math>\neg A</math>, <math>-A</math>, <math>\overline{A}</math>, <math>\sim A</math>
OR <math>A \lor B</math>, <math>A + B</math>, <math>A \mid B</math>, <math>A \parallel B</math>
XNOR <math>A \odot B</math>
XOR <math>A \underline{\lor} B</math>, <math>A \oplus B</math>

The most thoroughly researched branch of propositional logic is classical truth-functional propositional logic,<ref name=":1" /> in which formulas are interpreted as having precisely one of two possible truth values, the truth value of true or the truth value of false.<ref name="ms57"/> The principle of bivalence and the law of excluded middle are upheld. By comparison with first-order logic, truth-functional propositional logic is considered to be zeroth-order logic.<ref name=":10" /><ref name=":11" />

HistoryEdit

{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} Although propositional logic had been hinted by earlier philosophers, Chrysippus is often credited with development of a deductive system for propositional logic as his main achievement in the 3rd century BC<ref name="ms1"/> which was expanded by his successor Stoics. The logic was focused on propositions. This was different from the traditional syllogistic logic, which focused on terms. However, most of the original writings were lost<ref name="ms2"/> and, at some time between the 3rd and 6th century CE, Stoic logic faded into oblivion, to be resurrected only in the 20th century, in the wake of the (re)-discovery of propositional logic.<ref name="ms3"/>

Symbolic logic, which would come to be important to refine propositional logic, was first developed by the 17th/18th-century mathematician Gottfried Leibniz, whose calculus ratiocinator was, however, unknown to the larger logical community. Consequently, many of the advances achieved by Leibniz were recreated by logicians like George Boole and Augustus De Morgan, completely independent of Leibniz.<ref name="ms4"/>

Gottlob Frege's predicate logic builds upon propositional logic, and has been described as combining "the distinctive features of syllogistic logic and propositional logic."<ref name="ms5"/> Consequently, predicate logic ushered in a new era in logic's history; however, advances in propositional logic were still made after Frege, including natural deduction, truth trees and truth tables. Natural deduction was invented by Gerhard Gentzen and Stanisław Jaśkowski. Truth trees were invented by Evert Willem Beth.<ref name="ms6"/> The invention of truth tables, however, is of uncertain attribution.

Within works by Frege<ref name="Truth in Frege"/> and Bertrand Russell,<ref name="Russell Truth-Tables"/> are ideas influential to the invention of truth tables. The actual tabular structure (being formatted as a table), itself, is generally credited to either Ludwig Wittgenstein or Emil Post (or both, independently).<ref name="Truth in Frege" /> Besides Frege and Russell, others credited with having ideas preceding truth tables include Philo, Boole, Charles Sanders Peirce,<ref name="ms7"/> and Ernst Schröder. Others credited with the tabular structure include Jan Łukasiewicz, Alfred North Whitehead, William Stanley Jevons, John Venn, and Clarence Irving Lewis.<ref name="Russell Truth-Tables" /> Ultimately, some have concluded, like John Shosky, that "It is far from clear that any one person should be given the title of 'inventor' of truth-tables".<ref name="Russell Truth-Tables" />

SentencesEdit

Template:Main article Propositional logic, as currently studied in universities, is a specification of a standard of logical consequence in which only the meanings of propositional connectives are considered in evaluating the conditions for the truth of a sentence, or whether a sentence logically follows from some other sentence or group of sentences.<ref name=":2" />

Declarative sentencesEdit

Propositional logic deals with statements, which are defined as declarative sentences having truth value.<ref name="ms8"/><ref name=":1" /> Examples of statements might include:

Declarative sentences are contrasted with questions, such as "What is Wikipedia?", and imperative statements, such as "Please add citations to support the claims in this article.".<ref name="ms9"/><ref name="ms10"/> Such non-declarative sentences have no truth value,<ref name="ms11"/> and are only dealt with in nonclassical logics, called erotetic and imperative logics.

Compounding sentences with connectivesEdit

Template:See also In propositional logic, a statement can contain one or more other statements as parts.<ref name=":1" /> Compound sentences are formed from simpler sentences and express relationships among the constituent sentences.<ref name=":4"/> This is done by combining them with logical connectives:<ref name=":4" /><ref name=":21"/> the main types of compound sentences are negations, conjunctions, disjunctions, implications, and biconditionals,<ref name=":4" /> which are formed by using the corresponding connectives to connect propositions.<ref name="ms12"/><ref name="ms13"/> In English, these connectives are expressed by the words "and" (conjunction), "or" (disjunction), "not" (negation), "if" (material conditional), and "if and only if" (biconditional).<ref name=":1" /><ref name=":5" /> Examples of such compound sentences might include:

  • Wikipedia is a free online encyclopedia that anyone can edit, and millions already have. (conjunction)
  • It is not true that all Wikipedia editors speak at least three languages. (negation)
  • Either London is the capital of England, or London is the capital of the United Kingdom, or both. (disjunction)Template:Refn

If sentences lack any logical connectives, they are called simple sentences,<ref name=":1" /> or atomic sentences;<ref name=":21" /> if they contain one or more logical connectives, they are called compound sentences,<ref name=":4" /> or molecular sentences.<ref name=":21" />

Sentential connectives are a broader category that includes logical connectives.<ref name=":2" /><ref name=":21" /> Sentential connectives are any linguistic particles that bind sentences to create a new compound sentence,<ref name=":2" /><ref name=":21" /> or that inflect a single sentence to create a new sentence.<ref name=":2" /> A logical connective, or propositional connective, is a kind of sentential connective with the characteristic feature that, when the original sentences it operates on are (or express) propositions, the new sentence that results from its application also is (or expresses) a proposition.<ref name=":2" /> Philosophers disagree about what exactly a proposition is,<ref name=":22" /><ref name=":2" /> as well as about which sentential connectives in natural languages should be counted as logical connectives.<ref name=":21" /><ref name=":2" /> Sentential connectives are also called sentence-functors,<ref name="BostockIntermediate" /> and logical connectives are also called truth-functors.<ref name="BostockIntermediate" />

ArgumentsEdit

Template:Main article An argument is defined as a pair of things, namely a set of sentences, called the premises,Template:Refn and a sentence, called the conclusion.<ref name=":35"/><ref name=":21" /><ref name="BostockIntermediate" /> The conclusion is claimed to follow from the premises,<ref name="BostockIntermediate" /> and the premises are claimed to support the conclusion.<ref name=":21" />

Example argumentEdit

The following is an example of an argument within the scope of propositional logic:

Premise 1: If it's raining, then it's cloudy.
Premise 2: It's raining.
Conclusion: It's cloudy.

The logical form of this argument is known as modus ponens,<ref name=":13" /> which is a classically valid form.<ref name="ms14"/> So, in classical logic, the argument is valid, although it may or may not be sound, depending on the meteorological facts in a given context. This example argument will be reused when explaining Template:Section link.

Validity and soundnessEdit

Template:Main article An argument is valid if, and only if, it is necessary that, if all its premises are true, its conclusion is true.<ref name=":35" /><ref name="ms15"/><ref name=":36"/> Alternatively, an argument is valid if, and only if, it is impossible for all the premises to be true while the conclusion is false.<ref name=":36" /><ref name=":35" />

Validity is contrasted with soundness.<ref name=":36" /> An argument is sound if, and only if, it is valid and all its premises are true.<ref name=":35" /><ref name=":36" /> Otherwise, it is unsound.<ref name=":36" />

Logic, in general, aims to precisely specify valid arguments.<ref name=":21" /> This is done by defining a valid argument as one in which its conclusion is a logical consequence of its premises,<ref name=":21" /> which, when this is understood as semantic consequence, means that there is no case in which the premises are true but the conclusion is not true<ref name=":21" /> – see Template:Section link below.

FormalizationEdit

Propositional logic is typically studied through a formal system in which formulas of a formal language are interpreted to represent propositions. This formal language is the basis for proof systems, which allow a conclusion to be derived from premises if, and only if, it is a logical consequence of them. This section will show how this works by formalizing the Template:Section link. The formal language for a propositional calculus will be fully specified in Template:Section link, and an overview of proof systems will be given in Template:Section link.

Propositional variablesEdit

Template:Main article Since propositional logic is not concerned with the structure of propositions beyond the point where they cannot be decomposed any more by logical connectives,<ref name=":13" /><ref name=":1" /> it is typically studied by replacing such atomic (indivisible) statements with letters of the alphabet, which are interpreted as variables representing statements (propositional variables).<ref name=":1" /> With propositional variables, the Template:Section link would then be symbolized as follows:

Premise 1: <math>P \to Q</math>
Premise 2: <math>P</math>
Conclusion: <math>Q</math>

When Template:Mvar is interpreted as "It's raining" and Template:Mvar as "it's cloudy" these symbolic expressions correspond exactly with the original expression in natural language. Not only that, but they will also correspond with any other inference with the same logical form.

When a formal system is used to represent formal logic, only statement letters (usually capital roman letters such as <math>P</math>, <math>Q</math> and <math>R</math>) are represented directly. The natural language propositions that arise when they're interpreted are outside the scope of the system, and the relation between the formal system and its interpretation is likewise outside the formal system itself.

Gentzen notationEdit

If we assume that the validity of modus ponens has been accepted as an axiom, then the same Template:Section link can also be depicted like this:

<math>\frac{P \to Q, P}{Q}</math>

This method of displaying it is Gentzen's notation for natural deduction and sequent calculus.<ref name=":40"/> The premises are shown above a line, called the inference line,<ref name=":3" /> separated by a comma, which indicates combination of premises.<ref name=":34"/> The conclusion is written below the inference line.<ref name=":3" /> The inference line represents syntactic consequence,<ref name=":3" /> sometimes called deductive consequence,<ref name=":7"/>> which is also symbolized with ⊢.<ref name=":6"/><ref name=":7" /> So the above can also be written in one line as <math>P \to Q, P \vdash Q</math>.Template:Refn

Syntactic consequence is contrasted with semantic consequence,<ref name="ms16"/> which is symbolized with ⊧.<ref name=":6" /><ref name=":7" /> In this case, the conclusion follows syntactically because the natural deduction inference rule of modus ponens has been assumed. For more on inference rules, see the sections on proof systems below.

LanguageEdit

Template:Formal languages The language (commonly called <math>\mathcal{L}</math>)<ref name=":7"/><ref name=":25"/><ref name=":21" /> of a propositional calculus is defined in terms of:<ref name=":2" /><ref name=":0" />

  1. a set of primitive symbols, called atomic formulas, atomic sentences,<ref name=":13" /><ref name=":21" /> atoms,<ref name=":8"/> placeholders, prime formulas,<ref name=":8" /> proposition letters, sentence letters,<ref name=":13" /> or variables, and
  2. a set of operator symbols, called connectives,<ref name=":23" /><ref name=":1" /><ref name=":33" /> logical connectives,<ref name=":1" /> logical operators,<ref name=":1" /> truth-functional connectives,<ref name=":1" /> truth-functors,<ref name="BostockIntermediate" /> or propositional connectives.<ref name=":2" />

A well-formed formula is any atomic formula, or any formula that can be built up from atomic formulas by means of operator symbols according to the rules of the grammar. The language <math>\mathcal{L}</math>, then, is defined either as being identical to its set of well-formed formulas,<ref name=":25" /> or as containing that set (together with, for instance, its set of connectives and variables).<ref name=":0" /><ref name=":21" />

Usually the syntax of <math>\mathcal{L}</math> is defined recursively by just a few definitions, as seen next; some authors explicitly include parentheses as punctuation marks when defining their language's syntax,<ref name=":21" /><ref name=":29"/> while others use them without comment.<ref name=":2" /><ref name=":0" />

SyntaxEdit

Given a set of atomic propositional variables <math>p_1</math>, <math>p_2</math>, <math>p_3</math>, ..., and a set of propositional connectives <math>c_1^1</math>, <math>c_2^1</math>, <math>c_3^1</math>, ..., <math>c_1^2</math>, <math>c_2^2</math>, <math>c_3^2</math>, ..., <math>c_1^3</math>, <math>c_2^3</math>, <math>c_3^3</math>, ..., a formula of propositional logic is defined recursively by these definitions:<ref name=":2" /><ref name=":0" /><ref name=":33"/>Template:Refn

Definition 1: Atomic propositional variables are formulas.
Definition 2: If <math>c_n^m</math> is a propositional connective, and <math>\langle</math>A, B, C, …<math>\rangle</math> is a sequence of m, possibly but not necessarily atomic, possibly but not necessarily distinct, formulas, then the result of applying <math>c_n^m</math> to <math>\langle</math>A, B, C, …<math>\rangle</math> is a formula.
Definition 3: Nothing else is a formula.

Writing the result of applying <math>c_n^m</math> to <math>\langle</math>A, B, C, …<math>\rangle</math> in functional notation, as <math>c_n^m</math>(A, B, C, …), we have the following as examples of well-formed formulas:

  • <math>p_5</math>
  • <math>c_3^2(p_2, p_9)</math>
  • <math>c_3^2(p_1, c_2^1(p_3))</math>
  • <math>c_1^3(p_4, p_6, c_2^2(p_1, p_2))</math>
  • <math>c_4^2(c_1^1(p_7), c_3^1(p_8))</math>
  • <math>c_2^3(c_1^2(p_3, p_4), c_2^1(p_5), c_3^2(p_6, p_7))</math>
  • <math>c_3^1(c_1^3(p_2, p_3, c_2^2(p_4, p_5)))</math>

What was given as Definition 2 above, which is responsible for the composition of formulas, is referred to by Colin Howson as the principle of composition.<ref name=":13" />Template:Refn It is this recursion in the definition of a language's syntax which justifies the use of the word "atomic" to refer to propositional variables, since all formulas in the language <math>\mathcal{L}</math> are built up from the atoms as ultimate building blocks.<ref name=":2" /> Composite formulas (all formulas besides atoms) are called molecules,<ref name=":8" /> or molecular sentences.<ref name=":21" /> (This is an imperfect analogy with chemistry, since a chemical molecule may sometimes have only one atom, as in monatomic gases.)<ref name=":8" />

The definition that "nothing else is a formula", given above as Definition 3, excludes any formula from the language which is not specifically required by the other definitions in the syntax.<ref name="BostockIntermediate" /> In particular, it excludes infinitely long formulas from being well-formed.<ref name="BostockIntermediate" /> It is sometimes called the Closure Clause.<ref>Template:Cite journal</ref>

CF grammar in BNFEdit

An alternative to the syntax definitions given above is to write a context-free (CF) grammar for the language <math>\mathcal{L}</math> in Backus-Naur form (BNF).<ref name=":41"/><ref name=":42"/> This is more common in computer science than in philosophy.<ref name=":42" /> It can be done in many ways,<ref name=":41" /> of which a particularly brief one, for the common set of five connectives, is this single clause:<ref name=":42" /><ref name=":02"/>

<math>\phi ::= a_1, a_2, \ldots ~ | ~ \neg\phi ~ | ~ \phi ~ \& ~ \psi ~ | ~ \phi \vee \psi ~ | ~ \phi \rightarrow \psi ~ | ~ \phi \leftrightarrow \psi</math>

This clause, due to its self-referential nature (since <math>\phi</math> is in some branches of the definition of <math>\phi</math>), also acts as a recursive definition, and therefore specifies the entire language. To expand it to add modal operators, one need only add … <math>| ~ \Box\phi ~ | ~ \Diamond\phi</math> to the end of the clause.<ref name=":42" />

Constants and schemataEdit

Mathematicians sometimes distinguish between propositional constants, propositional variables, and schemata. Propositional constants represent some particular proposition,<ref name=":9"/> while propositional variables range over the set of all atomic propositions.<ref name=":9" /> Schemata, or schematic letters, however, range over all formulas.<ref name="BostockIntermediate"/><ref name=":1" /> (Schematic letters are also called metavariables.)<ref name=":35" /> It is common to represent propositional constants by Template:Mvar, Template:Mvar, and Template:Mvar, propositional variables by Template:Mvar, Template:Mvar, and Template:Mvar, and schematic letters are often Greek letters, most often Template:Mvar, Template:Mvar, and Template:Mvar.<ref name="BostockIntermediate" /><ref name=":1" />

However, some authors recognize only two "propositional constants" in their formal system: the special symbol <math>\top</math>, called "truth", which always evaluates to True, and the special symbol <math>\bot</math>, called "falsity", which always evaluates to False.<ref name="ms18"/><ref name="ms19"/><ref name="ms20"/> Other authors also include these symbols, with the same meaning, but consider them to be "zero-place truth-functors",<ref name="BostockIntermediate" /> or equivalently, "nullary connectives".<ref name=":33" />

SemanticsEdit

Template:Main article To serve as a model of the logic of a given natural language, a formal language must be semantically interpreted.<ref name=":21" /> In classical logic, all propositions evaluate to exactly one of two truth-values: True or False.<ref name=":1" /><ref name=":26"/> For example, "Wikipedia is a free online encyclopedia that anyone can edit" evaluates to True,<ref name="ms21"/> while "Wikipedia is a paper encyclopedia" evaluates to False.<ref name="ms22"/>

In other respects, the following formal semantics can apply to the language of any propositional logic, but the assumptions that there are only two semantic values (bivalence), that only one of the two is assigned to each formula in the language (noncontradiction), and that every formula gets assigned a value (excluded middle), are distinctive features of classical logic.<ref name=":26" /><ref name="ms23"/><ref name="BostockIntermediate" /> To learn about nonclassical logics with more than two truth-values, and their unique semantics, one may consult the articles on "Many-valued logic", "Three-valued logic", "Finite-valued logic", and "Infinite-valued logic".

Interpretation (case) and argumentEdit

{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} For a given language <math>\mathcal{L}</math>, an interpretation,<ref name=":24"/> valuation,<ref name=":29" /> Boolean valuation,<ref name="ms24"/> or case,<ref name=":21" />Template:Refn is an assignment of semantic values to each formula of <math>\mathcal{L}</math>.<ref name=":21" /> For a formal language of classical logic, a case is defined as an assignment, to each formula of <math>\mathcal{L}</math>, of one or the other, but not both, of the truth values, namely truth (T, or 1) and falsity (F, or 0).<ref name="ms25"/><ref name=":19"/> An interpretation that follows the rules of classical logic is sometimes called a Boolean valuation.<ref name=":29" /><ref name="ms26"/> An interpretation of a formal language for classical logic is often expressed in terms of truth tables.<ref name="metalogic"/><ref name=":1" /> Since each formula is only assigned a single truth-value, an interpretation may be viewed as a function, whose domain is <math>\mathcal{L}</math>, and whose range is its set of semantic values <math>\mathcal{V} = \{\mathsf{T}, \mathsf{F}\}</math>,<ref name=":2" /> or <math>\mathcal{V} = \{1, 0\}</math>.<ref name=":21" />

For <math>n</math> distinct propositional symbols there are <math>2^n</math> distinct possible interpretations. For any particular symbol <math>a</math>, for example, there are <math>2^1=2</math> possible interpretations: either <math>a</math> is assigned T, or <math>a</math> is assigned F. And for the pair <math>a</math>, <math>b</math> there are <math>2^2=4</math> possible interpretations: either both are assigned T, or both are assigned F, or <math>a</math> is assigned T and <math>b</math> is assigned F, or <math>a</math> is assigned F and <math>b</math> is assigned T.<ref name="metalogic" /> Since <math>\mathcal{L}</math> has <math>\aleph_0</math>, that is, denumerably many propositional symbols, there are <math>2^{\aleph_0}=\mathfrak c</math>, and therefore uncountably many distinct possible interpretations of <math>\mathcal{L}</math> as a whole.<ref name="metalogic" />

Where <math>\mathcal{I}</math> is an interpretation and <math>\varphi</math> and <math>\psi</math> represent formulas, the definition of an argument, given in Template:Section link, may then be stated as a pair <math>\langle \{\varphi_1, \varphi_2, \varphi_3, ..., \varphi_n\} , \psi \rangle</math>, where <math>\{\varphi_1, \varphi_2, \varphi_3, ..., \varphi_n\}</math> is the set of premises and <math>\psi</math> is the conclusion. The definition of an argument's validity, i.e. its property that <math>\{\varphi_1, \varphi_2, \varphi_3, ..., \varphi_n\} \models \psi</math>, can then be stated as its absence of a counterexample, where a counterexample is defined as a case <math>\mathcal{I}</math> in which the argument's premises <math>\{\varphi_1, \varphi_2, \varphi_3, ..., \varphi_n\}</math> are all true but the conclusion <math>\psi</math> is not true.<ref name=":21" /><ref name=":13" /> As will be seen in Template:Section link, this is the same as to say that the conclusion is a semantic consequence of the premises.

Propositional connective semanticsEdit

Template:Main articleAn interpretation assigns semantic values to atomic formulas directly.<ref name=":24" /><ref name=":21" /> Molecular formulas are assigned a function of the value of their constituent atoms, according to the connective used;<ref name=":24" /><ref name=":21" /> the connectives are defined in such a way that the truth-value of a sentence formed from atoms with connectives depends on the truth-values of the atoms that they're applied to, and only on those.<ref name=":24" /><ref name=":21" /> This assumption is referred to by Colin Howson as the assumption of the truth-functionality of the connectives.<ref name=":13" />

Semantics via. truth tablesEdit

Template:Logical connectives sidebar Since logical connectives are defined semantically only in terms of the truth values that they take when the propositional variables that they're applied to take either of the two possible truth values,<ref name=":1" /><ref name=":21" /> the semantic definition of the connectives is usually represented as a truth table for each of the connectives,<ref name=":1" /><ref name=":21" /><ref name=":37" /> as seen below:

<math>p</math> <math>q</math> <math>p \land q</math> <math>p \lor q</math> <math>p \rightarrow q</math> <math>p \Leftrightarrow q</math> <math>\neg p</math> <math>\neg q</math>
Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT Template:FailureF Template:FailureF
Template:SuccessT Template:FailureF Template:FailureF Template:SuccessT Template:FailureF Template:FailureF Template:FailureF Template:SuccessT
Template:FailureF Template:SuccessT Template:FailureF Template:SuccessT Template:SuccessT Template:FailureF Template:SuccessT Template:FailureF
Template:FailureF Template:FailureF Template:FailureF Template:FailureF Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT

This table covers each of the main five logical connectives:<ref name=":5" /><ref name=":0" /><ref name=":3" /><ref name=":12" /> conjunction (here notated <math>p \land q</math>), disjunction (Template:Math), implication (Template:Math), biconditional (Template:Math) and negation, (¬p, or ¬q, as the case may be). It is sufficient for determining the semantics of each of these operators.<ref name=":1" /><ref name="ms27"/><ref name=":21" /> For more truth tables for more different kinds of connectives, see the article "Truth table".

Semantics via assignment expressionsEdit

Some authors (viz., all the authors cited in this subsection) write out the connective semantics using a list of statements instead of a table. In this format, where <math>\mathcal{I}(\varphi)</math> is the interpretation of <math>\varphi</math>, the five connectives are defined as:<ref name="BostockIntermediate" /><ref name=":29" />

  • <math>\mathcal{I}(\neg P) = \mathsf{T}</math> if, and only if, <math>\mathcal{I}(P) = \mathsf{F}</math>
  • <math>\mathcal{I}(P \land Q) = \mathsf{T}</math> if, and only if, <math>\mathcal{I}(P) = \mathsf{T}</math> and <math>\mathcal{I}(Q) = \mathsf{T}</math>
  • <math>\mathcal{I}(P \lor Q) = \mathsf{T}</math> if, and only if, <math>\mathcal{I}(P) = \mathsf{T}</math> or <math>\mathcal{I}(Q) = \mathsf{T}</math>
  • <math>\mathcal{I}(P \to Q) = \mathsf{T}</math> if, and only if, it is true that, if <math>\mathcal{I}(P) = \mathsf{T}</math>, then <math>\mathcal{I}(Q) = \mathsf{T}</math>
  • <math>\mathcal{I}(P \leftrightarrow Q) = \mathsf{T}</math> if, and only if, it is true that <math>\mathcal{I}(P) = \mathsf{T}</math> if, and only if, <math>\mathcal{I}(Q) = \mathsf{T}</math>

Instead of <math>\mathcal{I}(\varphi)</math>, the interpretation of <math>\varphi</math> may be written out as <math>|\varphi|</math>,<ref name="BostockIntermediate" /><ref name="ms28"/> or, for definitions such as the above, <math>\mathcal{I}(\varphi) = \mathsf{T}</math> may be written simply as the English sentence "<math>\varphi</math> is given the value <math>\mathsf{T}</math>".<ref name=":29" /> Yet other authors<ref name="ms29"/><ref name=":43"/> may prefer to speak of a Tarskian model <math>\mathfrak{M}</math> for the language, so that instead they'll use the notation <math>\mathfrak{M} \models \varphi</math>, which is equivalent to saying <math>\mathcal{I}(\varphi) = \mathsf{T}</math>, where <math>\mathcal{I}</math> is the interpretation function for <math>\mathfrak{M}</math>.<ref name=":43" />

Connective definition methodsEdit

Some of these connectives may be defined in terms of others: for instance, implication, <math>p \rightarrow q</math>, may be defined in terms of disjunction and negation, as <math>\neg p \lor q</math>;<ref name="ms30"/> and disjunction may be defined in terms of negation and conjunction, as <math>\neg(\neg p \land \neg q</math>.<ref name=":29" /> In fact, a truth-functionally complete system,Template:Refn in the sense that all and only the classical propositional tautologies are theorems, may be derived using only disjunction and negation (as Russell, Whitehead, and Hilbert did), or using only implication and negation (as Frege did), or using only conjunction and negation, or even using only a single connective for "not and" (the Sheffer stroke),<ref name=":18" /> as Jean Nicod did.<ref name=":2" /> A joint denial connective (logical NOR) will also suffice, by itself, to define all other connectives. Besides NOR and NAND, no other connectives have this property.<ref name=":29" />Template:Efn

Some authors, namely Howson<ref name=":13" /> and Cunningham,<ref name="ms31"/> distinguish equivalence from the biconditional. (As to equivalence, Howson calls it "truth-functional equivalence", while Cunningham calls it "logical equivalence".) Equivalence is symbolized with ⇔ and is a metalanguage symbol, while a biconditional is symbolized with ↔ and is a logical connective in the object language <math>\mathcal{L}</math>. Regardless, an equivalence or biconditional is true if, and only if, the formulas connected by it are assigned the same semantic value under every interpretation. Other authors often do not make this distinction, and may use the word "equivalence",<ref name=":3" /> and/or the symbol ⇔,<ref name="ms32"/> to denote their object language's biconditional connective.

Semantic truth, validity, consequenceEdit

Given <math>\varphi</math> and <math>\psi</math> as formulas (or sentences) of a language <math>\mathcal{L}</math>, and <math>\mathcal{I}</math> as an interpretation (or case)Template:Refn of <math>\mathcal{L}</math>, then the following definitions apply:<ref name="metalogic" /><ref name=":19" />

  • Truth-in-a-case:<ref name=":21" /> A sentence <math>\varphi</math> of <math>\mathcal{L}</math> is true under an interpretation <math>\mathcal{I}</math> if <math>\mathcal{I}</math> assigns the truth value T to <math>\varphi</math>.<ref name=":19" /><ref name="metalogic" /> If <math>\varphi</math> is true under <math>\mathcal{I}</math>, then <math>\mathcal{I}</math> is called a model of <math>\varphi</math>.<ref name="metalogic" />
  • Falsity-in-a-case:<ref name=":21" /> <math>\varphi</math> is false under an interpretation <math>\mathcal{I}</math> if, and only if, <math>\neg\varphi</math> is true under <math>\mathcal{I}</math>.<ref name="metalogic" /><ref name=":20" /><ref name=":21" /> This is the "truth of negation" definition of falsity-in-a-case.<ref name=":21" /> Falsity-in-a-case may also be defined by the "complement" definition: <math>\varphi</math> is false under an interpretation <math>\mathcal{I}</math> if, and only if, <math>\varphi</math> is not true under <math>\mathcal{I}</math>.<ref name=":19" /><ref name="metalogic" /> In classical logic, these definitions are equivalent, but in nonclassical logics, they are not.<ref name=":21" />
  • Semantic consequence: A sentence <math>\psi</math> of <math>\mathcal{L}</math> is a semantic consequence (<math>\varphi \models \psi</math>) of a sentence <math>\varphi</math> if there is no interpretation under which <math>\varphi</math> is true and <math>\psi</math> is not true.<ref name=":19" /><ref name="metalogic" /><ref name=":21" />
  • Valid formula (tautology): A sentence <math>\varphi</math> of <math>\mathcal{L}</math> is logically valid (<math>\models\varphi</math>),Template:Refn or a tautology,<ref name="ms33"/><ref name="ms34"/>ref name="ms32<ref name=":29" /> if it is true under every interpretation,<ref name=":19" /><ref name="metalogic" /> or true in every case.<ref name=":21" />
  • Consistent sentence: A sentence of <math>\mathcal{L}</math> is consistent if it is true under at least one interpretation. It is inconsistent if it is not consistent.<ref name=":19" /><ref name="metalogic" /> An inconsistent formula is also called self-contradictory,<ref name=":1" /> and said to be a self-contradiction,<ref name=":1" /> or simply a contradiction,<ref name=":30" /><ref name=":31" /><ref name=":32" /> although this latter name is sometimes reserved specifically for statements of the form <math>(p \land \neg p)</math>.<ref name=":1" />

For interpretations (cases) <math>\mathcal{I}</math> of <math>\mathcal{L}</math>, these definitions are sometimes given:

  • Complete case: A case <math>\mathcal{I}</math> is complete if, and only if, either <math>\varphi</math> is true-in-<math>\mathcal{I}</math> or <math>\neg\varphi</math> is true-in-<math>\mathcal{I}</math>, for any <math>\varphi</math> in <math>\mathcal{L}</math>.<ref name=":21" /><ref name="ms35"/>
  • Consistent case: A case <math>\mathcal{I}</math> is consistent if, and only if, there is no <math>\varphi</math> in <math>\mathcal{L}</math> such that both <math>\varphi</math> and <math>\neg\varphi</math> are true-in-<math>\mathcal{I}</math>.<ref name=":21" /><ref name="ms36"/>

For classical logic, which assumes that all cases are complete and consistent,<ref name=":21" /> the following theorems apply:

  • For any given interpretation, a given formula is either true or false under it.<ref name="metalogic" /><ref name=":20"/>
  • No formula is both true and false under the same interpretation.<ref name="metalogic" /><ref name=":20" />
  • <math>\varphi</math> is true under <math>\mathcal{I}</math> if, and only if, <math>\neg\varphi</math> is false under <math>\mathcal{I}</math>;<ref name="metalogic" /><ref name=":20" /> <math>\neg\varphi</math> is true under <math>\mathcal{I}</math> if, and only if, <math>\varphi</math> is not true under <math>\mathcal{I}</math>.<ref name="metalogic" />
  • If <math>\varphi</math> and <math>(\varphi \to \psi)</math> are both true under <math>\mathcal{I}</math>, then <math>\psi</math> is true under <math>\mathcal{I}</math>.<ref name="metalogic" /><ref name=":20" />
  • If <math>\models\varphi</math> and <math>\models(\varphi \to \psi)</math>, then <math>\models\psi</math>.<ref name="metalogic" />
  • <math>(\varphi \to \psi)</math> is true under <math>\mathcal{I}</math> if, and only if, either <math>\varphi</math> is not true under <math>\mathcal{I}</math>, or <math>\psi</math> is true under <math>\mathcal{I}</math>.<ref name="metalogic" />
  • <math>\varphi \models \psi</math> if, and only if, <math>(\varphi \to \psi)</math> is logically valid, that is, <math>\varphi \models \psi</math> if, and only if, <math> \models(\varphi \to \psi)</math>.<ref name="metalogic" /><ref name=":20" />

Proof systemsEdit

Template:See also Proof systems in propositional logic can be broadly classified into semantic proof systems and syntactic proof systems,<ref name="ms59"/><ref name="ms37"/><ref name="ms38"/> according to the kind of logical consequence that they rely on: semantic proof systems rely on semantic consequence (<math>\varphi \models \psi</math>),<ref name="ms39"/> whereas syntactic proof systems rely on syntactic consequence (<math>\varphi \vdash \psi</math>).<ref name="ms40"/> Semantic consequence deals with the truth values of propositions in all possible interpretations, whereas syntactic consequence concerns the derivation of conclusions from premises based on rules and axioms within a formal system.<ref name=":16"/> This section gives a very brief overview of the kinds of proof systems, with anchors to the relevant sections of this article on each one, as well as to the separate Wikipedia articles on each one.

Semantic proof systemsEdit

Template:Image frame

File:Partially built tableau.svg
A graphical representation of a partially built propositional tableau

Semantic proof systems rely on the concept of semantic consequence, symbolized as <math>\varphi \models \psi</math>, which indicates that if <math>\varphi</math> is true, then <math>\psi</math> must also be true in every possible interpretation.<ref name=":16" />

Truth tablesEdit

Template:Main article A truth table is a semantic proof method used to determine the truth value of a propositional logic expression in every possible scenario.<ref name="ms41"/> By exhaustively listing the truth values of its constituent atoms, a truth table can show whether a proposition is true, false, tautological, or contradictory.<ref name=":27"/> See Template:Section link.

Semantic tableauxEdit

Template:Main article A semantic tableau is another semantic proof technique that systematically explores the truth of a proposition.<ref name="ms42"/> It constructs a tree where each branch represents a possible interpretation of the propositions involved.<ref name="ms43"/> If every branch leads to a contradiction, the original proposition is considered to be a contradiction, and its negation is considered a tautology.<ref name=":13"/> See Template:Section link.

Syntactic proof systemsEdit

File:LK groupe logique.png
Rules for the propositional sequent calculus LK, in Gentzen notation

Syntactic proof systems, in contrast, focus on the formal manipulation of symbols according to specific rules. The notion of syntactic consequence, <math>\varphi \vdash \psi</math>, signifies that <math>\psi</math> can be derived from <math>\varphi</math> using the rules of the formal system.<ref name=":16" />

Axiomatic systemsEdit

Template:Main article An axiomatic system is a set of axioms or assumptions from which other statements (theorems) are logically derived.<ref name="ms44"/> In propositional logic, axiomatic systems define a base set of propositions considered to be self-evidently true, and theorems are proved by applying deduction rules to these axioms.<ref name="ms45"/> See Template:Section link.

Natural deductionEdit

Template:Main article Natural deduction is a syntactic method of proof that emphasizes the derivation of conclusions from premises through the use of intuitive rules reflecting ordinary reasoning.<ref name=":14"/> Each rule reflects a particular logical connective and shows how it can be introduced or eliminated.<ref name=":14" /> See Template:Section link.

Sequent calculusEdit

Template:Main article The sequent calculus is a formal system that represents logical deductions as sequences or "sequents" of formulas.<ref name=":15"/> Developed by Gerhard Gentzen, this approach focuses on the structural properties of logical deductions and provides a powerful framework for proving statements within propositional logic.<ref name=":15" /><ref name="ms46"/>

Semantic proof via truth tablesEdit

Template:See also

Taking advantage of the semantic concept of validity (truth in every interpretation), it is possible to prove a formula's validity by using a truth table, which gives every possible interpretation (assignment of truth values to variables) of a formula.<ref name=":27" /><ref name=":8" /><ref name="BostockIntermediate" /> If, and only if, all the lines of a truth table come out true, the formula is semantically valid (true in every interpretation).<ref name=":27" /><ref name=":8" /> Further, if (and only if) <math>\neg\varphi</math> is valid, then <math>\varphi</math> is inconsistent.<ref name=":30"/><ref name=":31"/><ref name=":32"/>

For instance, this table shows that "Template:Math" is not valid:<ref name=":8" />

p q r Template:Math Template:Math Template:Math Template:Math
Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT Template:FailureF Template:FailureF Template:FailureF
Template:SuccessT Template:SuccessT Template:FailureF Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT
Template:SuccessT Template:FailureF Template:SuccessT Template:SuccessT Template:FailureF Template:FailureF Template:FailureF
Template:SuccessT Template:FailureF Template:FailureF Template:FailureF Template:SuccessT Template:SuccessT Template:SuccessT
Template:FailureF Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT
Template:FailureF Template:SuccessT Template:FailureF Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT
Template:FailureF Template:FailureF Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT Template:SuccessT
Template:FailureF Template:FailureF Template:FailureF Template:FailureF Template:SuccessT Template:SuccessT Template:SuccessT

The computation of the last column of the third line may be displayed as follows:<ref name=":8" />

p (q r (r ¬ p))
T (F T (T ¬ T))
T ( T (T F ))
T ( T F )
T F
F
T F F T T F T F F T

Further, using the theorem that <math>\varphi \models \psi</math> if, and only if, <math>(\varphi \to \psi)</math> is valid,<ref name="metalogic" /><ref name=":20" /> we can use a truth table to prove that a formula is a semantic consequence of a set of formulas: <math>\{\varphi_1, \varphi_2, \varphi_3, ..., \varphi_n\} \models \psi</math> if, and only if, we can produce a truth table that comes out all true for the formula <math>\left( \left(\bigwedge _{i=1}^n \varphi_i \right) \rightarrow \psi \right)</math> (that is, if <math>\models \left( \left(\bigwedge _{i=1}^n \varphi_i \right) \rightarrow \psi \right)</math>).<ref name="ms60"/><ref name="ms61"/>

Semantic proof via tableauxEdit

Template:Main article Since truth tables have 2n lines for n variables, they can be tiresomely long for large values of n.<ref name=":13" /> Analytic tableaux are a more efficient, but nevertheless mechanical,<ref name=":37"/> semantic proof method; they take advantage of the fact that "we learn nothing about the validity of the inference from examining the truth-value distributions which make either the premises false or the conclusion true: the only relevant distributions when considering deductive validity are clearly just those which make the premises true or the conclusion false."<ref name=":13" />

Analytic tableaux for propositional logic are fully specified by the rules that are stated in schematic form below.<ref name=":29" /> These rules use "signed formulas", where a signed formula is an expression <math>TX</math> or <math>FX</math>, where <math>X</math> is a (unsigned) formula of the language <math>\mathcal{L}</math>.<ref name=":29" /> (Informally, <math>TX</math> is read "<math>X</math> is true", and <math>FX</math> is read "<math>X</math> is false".)<ref name=":29" /> Their formal semantic definition is that "under any interpretation, a signed formula <math>TX</math> is called true if <math>X</math> is true, and false if <math>X</math> is false, whereas a signed formula <math>FX</math> is called false if <math>X</math> is true, and true if <math>X</math> is false."<ref name=":29" />

<math> \begin{align} &1) \quad \frac{T \sim X}{FX} \quad &&\frac{F \sim X}{TX} \\ \phantom{spacer} \\ &2) \quad \frac{T(X \land Y)}{\begin{matrix} TX \\ TY \end{matrix}} \quad &&\frac{F(X \land Y)}{FX | FY} \\ \phantom{spacer} \\ &3) \quad \frac{T(X \lor Y)}{TX | TY} \quad &&\frac{F(X \lor Y)}{\begin{matrix} FX \\ FY \end{matrix}} \\ \phantom{spacer} \\ &4) \quad \frac{T(X \supset Y)}{FX | TY} \quad &&\frac{F(X \supset Y)}{\begin{matrix} TX \\ FY \end{matrix}} \end{align} </math>

In this notation, rule 2 means that <math>T(X \land Y)</math> yields both <math>TX, TY</math>, whereas <math>F(X \land Y)</math> branches into <math>FX, FY</math>. The notation is to be understood analogously for rules 3 and 4.<ref name=":29" /> Often, in tableaux for classical logic, the signed formula notation is simplified so that <math>T\varphi</math> is written simply as <math>\varphi</math>, and <math>F\varphi</math> as <math>\neg\varphi</math>, which accounts for naming rule 1 the "Rule of Double Negation".<ref name=":13" /><ref name=":37" />

One constructs a tableau for a set of formulas by applying the rules to produce more lines and tree branches until every line has been used, producing a complete tableau. In some cases, a branch can come to contain both <math>TX</math> and <math>FX</math> for some <math>X</math>, which is to say, a contradiction. In that case, the branch is said to close.<ref name=":13" /> If every branch in a tree closes, the tree itself is said to close.<ref name=":13" /> In virtue of the rules for construction of tableaux, a closed tree is a proof that the original formula, or set of formulas, used to construct it was itself self-contradictory, and therefore false.<ref name=":13" /> Conversely, a tableau can also prove that a logical formula is tautologous: if a formula is tautologous, its negation is a contradiction, so a tableau built from its negation will close.<ref name=":13" />

To construct a tableau for an argument <math>\langle \{\varphi_1, \varphi_2, \varphi_3, ..., \varphi_n\} , \psi \rangle</math>, one first writes out the set of premise formulas, <math>\{\varphi_1, \varphi_2, \varphi_3, ..., \varphi_n\}</math>, with one formula on each line, signed with <math>T</math> (that is, <math>T\varphi</math> for each <math>T\varphi</math> in the set);<ref name=":37" /> and together with those formulas (the order is unimportant), one also writes out the conclusion, <math>\psi</math>, signed with <math>F</math> (that is, <math>F\psi</math>).<ref name=":37" /> One then produces a truth tree (analytic tableau) by using all those lines according to the rules.<ref name=":37" /> A closed tree will be proof that the argument was valid, in virtue of the fact that <math>\varphi \models \psi</math> if, and only if, <math>\{ \varphi, \sim\psi \}</math> is inconsistent (also written as <math>\varphi, \sim\psi \models</math>).<ref name=":37" />

List of classically valid argument formsEdit

Using semantic checking methods, such as truth tables or semantic tableaux, to check for tautologies and semantic consequences, it can be shown that, in classical logic, the following classical argument forms are semantically valid, i.e., these tautologies and semantic consequences hold.<ref name="BostockIntermediate" /> We use <math>\varphi</math> ⟚ <math>\psi</math> to denote equivalence of <math>\varphi</math> and <math>\psi</math>, that is, as an abbreviation for both <math>\varphi \models \psi</math> and <math>\psi \models \varphi</math>;<ref name="BostockIntermediate" /> as an aid to reading the symbols, a description of each formula is given. The description reads the symbol ⊧ (called the "double turnstile") as "therefore", which is a common reading of it,<ref name="BostockIntermediate" /><ref name="ms47"/> although many authors prefer to read it as "entails",<ref name="BostockIntermediate" /><ref name="ms48"/> or as "models".<ref name="ms49"/>

Name Sequent Description
Modus Ponens <math>((p \to q) \land p) \models q</math><ref name=":21" /> If Template:Mvar then Template:Mvar; Template:Mvar; therefore Template:Mvar
Modus Tollens <math>((p \to q) \land \neg q) \models \neg p</math><ref name=":21" /> If Template:Mvar then Template:Mvar; not Template:Mvar; therefore not Template:Mvar
Hypothetical Syllogism <math>((p \to q) \land (q \to r)) \models (p \to r)</math><ref name=":35" /> If Template:Mvar then Template:Mvar; if Template:Mvar then Template:Mvar; therefore, if Template:Mvar then Template:Mvar
Disjunctive Syllogism <math>((p \lor q) \land \neg p) \models q</math><ref name=":28"/> Either Template:Mvar or Template:Mvar, or both; not Template:Mvar; therefore, Template:Mvar
Constructive Dilemma <math>((p \to q) \land (r \to s) \land (p \lor r)) \models (q \lor s)</math><ref name=":35" /> If Template:Mvar then Template:Mvar; and if Template:Mvar then Template:Mvar; but Template:Mvar or Template:Mvar; therefore Template:Mvar or Template:Mvar
Destructive Dilemma <math>((p \to q) \land (r \to s) \land(\neg q \lor \neg s)) \models (\neg p \lor \neg r)</math> If Template:Mvar then Template:Mvar; and if Template:Mvar then Template:Mvar; but not Template:Mvar or not Template:Mvar; therefore not Template:Mvar or not Template:Mvar
Bidirectional Dilemma <math>((p \to q) \land (r \to s) \land(p \lor \neg s)) \models (q \lor \neg r)</math> If Template:Mvar then Template:Mvar; and if Template:Mvar then Template:Mvar; but Template:Mvar or not Template:Mvar; therefore Template:Mvar or not Template:Mvar
Simplification <math>(p \land q) \models p</math><ref name=":21" /> Template:Mvar and Template:Mvar are true; therefore Template:Mvar is true
Conjunction <math>p, q \models (p \land q)</math><ref name=":21" /> Template:Mvar and Template:Mvar are true separately; therefore they are true conjointly
Addition <math>p \models (p \lor q)</math><ref name=":21" /><ref name=":28" /> Template:Mvar is true; therefore the disjunction (Template:Mvar or Template:Mvar) is true
Composition of conjunction <math>((p \to q) \land (p \to r))</math> ⟚ <math>(p \to (q \land r))</math> If Template:Mvar then Template:Mvar; and if Template:Mvar then Template:Mvar; therefore if Template:Mvar is true then Template:Mvar and Template:Mvar are true
Composition of disjunction <math>((p \to q) \lor (p \to r))</math> ⟚ <math>(p \to (q \lor r))</math> If Template:Mvar then Template:Mvar; or if Template:Mvar then Template:Mvar; therefore if Template:Mvar is true then Template:Mvar or Template:Mvar is true
De Morgan's Theorem (1) <math>\neg (p \land q)</math> ⟚ <math>(\neg p \lor \neg q)</math><ref name=":21" /> The negation of (Template:Mvar and Template:Mvar) is equiv. to (not Template:Mvar or not Template:Mvar)
De Morgan's Theorem (2) <math>\neg (p \lor q)</math> ⟚ <math>(\neg p \land \neg q)</math><ref name=":21" /> The negation of (Template:Mvar or Template:Mvar) is equiv. to (not Template:Mvar and not Template:Mvar)
Commutation (1) <math>(p \lor q)</math> ⟚ <math>(q \lor p)</math><ref name=":28" /> (Template:Mvar or Template:Mvar) is equiv. to (Template:Mvar or Template:Mvar)
Commutation (2) <math>(p \land q)</math> ⟚ <math>(q \land p)</math><ref name=":28" /> (Template:Mvar and Template:Mvar) is equiv. to (Template:Mvar and Template:Mvar)
Commutation (3) <math>(p \leftrightarrow q)</math> ⟚ <math>(q \leftrightarrow p)</math><ref name=":28" /> (Template:Mvar iff Template:Mvar) is equiv. to (Template:Mvar iff Template:Mvar)
Association (1) <math>(p \lor (q \lor r))</math> ⟚ <math>((p \lor q) \lor r)</math><ref name=":13" /> Template:Mvar or (Template:Mvar or Template:Mvar) is equiv. to (Template:Mvar or Template:Mvar) or Template:Mvar
Association (2) <math>(p \land (q \land r))</math> ⟚ <math>((p \land q) \land r)</math><ref name=":13" /> Template:Mvar and (Template:Mvar and Template:Mvar) is equiv. to (Template:Mvar and Template:Mvar) and Template:Mvar
Distribution (1) <math>(p \land (q \lor r))</math> ⟚ <math>((p \land q) \lor (p \land r))</math><ref name=":28" /> Template:Mvar and (Template:Mvar or Template:Mvar) is equiv. to (Template:Mvar and Template:Mvar) or (Template:Mvar and Template:Mvar)
Distribution (2) <math>(p \lor (q \land r))</math> ⟚ <math>((p \lor q) \land (p \lor r))</math><ref name=":28" /> Template:Mvar or (Template:Mvar and Template:Mvar) is equiv. to (Template:Mvar or Template:Mvar) and (Template:Mvar or Template:Mvar)
Double Negation <math>p</math> ⟚ <math>\neg \neg p</math><ref name=":21" /><ref name=":28" /> Template:Mvar is equivalent to the negation of not Template:Mvar
Transposition <math>(p \to q)</math> ⟚ <math>(\neg q \to \neg p)</math><ref name=":21" /> If Template:Mvar then Template:Mvar is equiv. to if not Template:Mvar then not Template:Mvar
Material Implication <math>(p \to q)</math> ⟚ <math>(\neg p \lor q)</math><ref name=":28" /> If Template:Mvar then Template:Mvar is equiv. to not Template:Mvar or Template:Mvar
Material Equivalence (1) <math>(p \leftrightarrow q)</math> ⟚ <math>((p \to q) \land (q \to p))</math><ref name=":28" /> (Template:Mvar Template:Not a typo Template:Mvar) is equiv. to (if Template:Mvar is true then Template:Mvar is true) and (if Template:Mvar is true then Template:Mvar is true)
Material Equivalence (2) <math>(p \leftrightarrow q)</math> ⟚ <math>((p \land q) \lor (\neg p \land \neg q))</math><ref name=":28" /> (Template:Mvar Template:Not a typo Template:Mvar) is equiv. to either (Template:Mvar and Template:Mvar are true) or (both Template:Mvar and Template:Mvar are false)
Material Equivalence (3) <math>(p \leftrightarrow q)</math> ⟚ <math>((p \lor \neg q) \land (\neg p \lor q))</math> (Template:Mvar Template:Not a typo Template:Mvar) is equiv to., both (Template:Mvar or not Template:Mvar is true) and (not Template:Mvar or Template:Mvar is true)
Exportation <math>((p \land q) \to r) \models (p \to (q \to r))</math><ref name="ms50"/> from (if Template:Mvar and Template:Mvar are true then Template:Mvar is true) we can prove (if Template:Mvar is true then Template:Mvar is true, if Template:Mvar is true)
Importation <math>(p \to (q \to r))\models((p \land q) \to r)</math><ref name=":35" /> If Template:Mvar then (if Template:Mvar then Template:Mvar) is equivalent to if Template:Mvar and Template:Mvar then Template:Mvar
Idempotence of disjunction <math>p</math> ⟚ <math>(p \lor p)</math><ref name=":28" /> Template:Mvar is true is equiv. to Template:Mvar is true or Template:Mvar is true
Idempotence of conjunction <math>p</math> ⟚ <math>(p \land p)</math><ref name=":28" /> Template:Mvar is true is equiv. to Template:Mvar is true and Template:Mvar is true
Tertium non datur (Law of Excluded Middle) <math>\models (p \lor \neg p)</math><ref name=":21" /><ref name=":28" /> Template:Mvar or not Template:Mvar is true
Law of Non-Contradiction <math>\models \neg (p \land \neg p)</math><ref name=":21" /><ref name=":28" /> Template:Mvar and not Template:Mvar is false, is a true statement
Explosion <math>(p \land \neg p) \models q</math><ref name=":21" /> Template:Mvar and not Template:Mvar; therefore Template:Mvar

Syntactic proof via natural deductionEdit

Template:Main articleTemplate:Transformation rulesNatural deduction, since it is a method of syntactical proof, is specified by providing inference rules (also called rules of proof)<ref name=":35" /> for a language with the typical set of connectives <math>\{ -, \&, \lor, \to, \leftrightarrow \}</math>; no axioms are used other than these rules.<ref name=":38"/> The rules are covered below, and a proof example is given afterwards.

Notation stylesEdit

Different authors vary to some extent regarding which inference rules they give, which will be noted. More striking to the look and feel of a proof, however, is the variation in notation styles. The Template:Section link, which was covered earlier for a short argument, can actually be stacked to produce large tree-shaped natural deduction proofs<ref name=":40" /><ref name=":3" />—not to be confused with "truth trees", which is another name for analytic tableaux.<ref name=":37" /> There is also a style due to Stanisław Jaśkowski, where the formulas in the proof are written inside various nested boxes,<ref name=":40" /> and there is a simplification of Jaśkowski's style due to Fredric Fitch (Fitch notation), where the boxes are simplified to simple horizontal lines beneath the introductions of suppositions, and vertical lines to the left of the lines that are under the supposition.<ref name=":40" /> Lastly, there is the only notation style which will actually be used in this article, which is due to Patrick Suppes,<ref name=":40" /> but was much popularized by E.J. Lemmon and Benson Mates.<ref name="ms51"/> This method has the advantage that, graphically, it is the least intensive to produce and display, which made it a natural choice for the editor who wrote this part of the article, who did not understand the complex LaTeX commands that would be required to produce proofs in the other methods.

A proof, then, laid out in accordance with the Suppes–Lemmon notation style,<ref name=":40" /> is a sequence of lines containing sentences,<ref name=":35" /> where each sentence is either an assumption, or the result of applying a rule of proof to earlier sentences in the sequence.<ref name=":35" /> Each line of proof is made up of a sentence of proof, together with its annotation, its assumption set, and the current line number.<ref name=":35" /> The assumption set lists the assumptions on which the given sentence of proof depends, which are referenced by the line numbers.<ref name=":35" /> The annotation specifies which rule of proof was applied, and to which earlier lines, to yield the current sentence.<ref name=":35" /> See the Template:Section link.

Inference rulesEdit

Natural deduction inference rules, due ultimately to Gentzen, are given below.<ref name=":38" /> There are ten primitive rules of proof, which are the rule assumption, plus four pairs of introduction and elimination rules for the binary connectives, and the rule reductio ad adbsurdum.<ref name=":35" /> Disjunctive Syllogism can be used as an easier alternative to the proper ∨-elimination,<ref name=":35" /> and MTT and DN are commonly given rules,<ref name=":38" /> although they are not primitive.<ref name=":35" />

List of Inference Rules
Rule Name Alternative names Annotation Assumption set Statement
Rule of Assumptions<ref name=":38" /> Assumption<ref name=":35" /> A<ref name=":38" /><ref name=":35" /> The current line number.<ref name=":35" /> At any stage of the argument, introduce a proposition as an assumption of the argument.<ref name=":38" /><ref name=":35" />
Conjunction introduction Ampersand introduction,<ref name=":38" /><ref name=":35" /> conjunction (CONJ)<ref name=":35" /><ref name=":39"/> m, n &I<ref name=":35" /><ref name=":38" /> The union of the assumption sets at lines m and n.<ref name=":35" /> From <math>\varphi</math> and <math>\psi</math> at lines m and n, infer <math>\varphi ~ \& ~ \psi</math>.<ref name=":38" /><ref name=":35" />
Conjunction elimination Simplification (S),<ref name=":35" /> ampersand elimination<ref name=":38" /><ref name=":35" /> m &E<ref name=":35" /><ref name=":38" /> The same as at line m.<ref name=":35" /> From <math>\varphi ~ \& ~ \psi</math> at line m, infer <math>\varphi</math> and <math>\psi</math>.<ref name=":35" /><ref name=":38" />
Disjunction introduction<ref name=":38" /> Addition (ADD)<ref name=":35" /> m ∨I<ref name=":35" /><ref name=":38" /> The same as at line m.<ref name=":35" /> From <math>\varphi</math> at line m, infer <math>\varphi \lor \psi</math>, whatever <math>\psi</math> may be.<ref name=":35" /><ref name=":38" />
Disjunction elimination Wedge elimination,<ref name=":38" /> dilemma (DL)<ref name=":39" /> j,k,l,m,n ∨E<ref name=":38" /> The lines j,k,l,m,n.<ref name=":38" /> From <math>\varphi \lor \psi</math> at line j, and an assumption of <math>\varphi</math> at line k, and a derivation of <math>\chi</math> from <math>\varphi</math> at line l, and an assumption of <math>\psi</math> at line m, and a derivation of <math>\chi</math> from <math>\psi</math> at line n, infer <math>\chi</math>.<ref name=":38" />
Disjunctive Syllogism Wedge elimination (∨E),<ref name=":35" /> modus tollendo ponens (MTP)<ref name=":35" /> m,n DS<ref name=":35" /> The union of the assumption sets at lines m and n.<ref name=":35" /> From <math>\varphi \lor \psi</math> at line m and <math>- \varphi</math> at line n, infer <math>\psi</math>; from <math>\varphi \lor \psi</math> at line m and <math>- \psi</math> at line n, infer <math>\varphi</math>.<ref name=":35" />
Arrow elimination<ref name=":35" /> Modus ponendo ponens (MPP),<ref name=":38" /><ref name=":35" /> modus ponens (MP),<ref name=":39" /><ref name=":35" /> conditional elimination m, n →E<ref name=":35" /><ref name=":38" /> The union of the assumption sets at lines m and n.<ref name=":35" /> From <math>\varphi \to \psi</math> at line m, and <math>\varphi</math> at line n, infer <math>\psi</math>.<ref name=":35" />
Arrow introduction<ref name=":35" /> Conditional proof (CP),<ref name=":39" /><ref name=":38" /><ref name=":35" /> conditional introduction n, →I (m)<ref name=":35" /><ref name=":38" /> Everything in the assumption set at line n, excepting m, the line where the antecedent was assumed.<ref name=":35" /> From <math>\psi</math> at line n, following from the assumption of <math>\varphi</math> at line m, infer <math>\varphi \to \psi</math>.<ref name=":35" />
Reductio ad absurdum<ref name=":38" /> Indirect Proof (IP),<ref name=":35" /> negation introduction (−I),<ref name=":35" /> negation elimination (−E)<ref name=":35" /> m, n RAA (k)<ref name=":35" /> The union of the assumption sets at lines m and n, excluding k (the denied assumption).<ref name=":35" /> From a sentence and its denialTemplate:Refn at lines m and n, infer the denial of any assumption appearing in the proof (at line k).<ref name=":35" />
Double arrow introduction<ref name=":35" /> Biconditional definition (Df ↔),<ref name=":38" /> biconditional introduction m, n ↔ I<ref name=":35" /> The union of the assumption sets at lines m and n.<ref name=":35" /> From <math>\varphi \to \psi</math> and <math>\psi \to \varphi</math> at lines m and n, infer <math>\varphi \leftrightarrow \psi</math>.<ref name=":35" />
Double arrow elimination<ref name=":35" /> Biconditional definition (Df ↔),<ref name=":38" /> biconditional elimination m ↔ E<ref name=":35" /> The same as at line m.<ref name=":35" /> From <math>\varphi \leftrightarrow \psi</math> at line m, infer either <math>\varphi \to \psi</math> or <math>\psi \to \varphi</math>.<ref name=":35" />
Double negation<ref name=":38" /><ref name=":39" /> Double negation elimination m DN<ref name=":38" /> The same as at line m.<ref name=":38" /> From <math>- - \varphi</math> at line m, infer <math>\varphi</math>.<ref name=":38" />
Modus tollendo tollens<ref name=":38" /> Modus tollens (MT)<ref name=":39" /> m, n MTT<ref name=":38" /> The union of the assumption sets at lines m and n.<ref name=":38" /> From <math>\varphi \to \psi</math> at line m, and <math>- \psi</math> at line n, infer <math>- \varphi</math>.<ref name=":38" />

Natural deduction proof exampleEdit

The proof below<ref name=":35" /> derives <math>-P</math> from <math>P \to Q</math> and <math>-Q</math> using only MPP and RAA, which shows that MTT is not a primitive rule, since it can be derived from those two other rules.

Derivation of MTT from MPP and RAA
Assumption set Line number Sentence of proof Annotation
Template:EquationRef Template:EquationRef <math>P \to Q</math> A
Template:EquationRef Template:EquationRef <math>-Q</math> A
Template:EquationRef Template:EquationRef <math>P</math> A
Template:EquationRef, Template:EquationRef Template:EquationRef <math>Q</math> Template:EquationRef, Template:EquationRef →E
Template:EquationRef, Template:EquationRef Template:EquationRef <math>-P</math> Template:EquationRef, Template:EquationRef RAA

Syntactic proof via axiomsEdit

Template:Main article It is possible to perform proofs axiomatically, which means that certain tautologies are taken as self-evident and various others are deduced from them using modus ponens as an inference rule, as well as a rule of substitution, which permits replacing any well-formed formula with any Template:Glossary link of it.<ref name=":44" /> Alternatively, one uses axiom schemas instead of axioms, and no rule of substitution is used.<ref name=":44" />

This section gives the axioms of some historically notable axiomatic systems for propositional logic. For more examples, as well as metalogical theorems that are specific to such axiomatic systems (such as their completeness and consistency), see the article Axiomatic system (logic).

Frege's BegriffsschriftEdit

Although axiomatic proof has been used since the famous Ancient Greek textbook, Euclid's Elements of Geometry, in propositional logic it dates back to Gottlob Frege's 1879 Begriffsschrift.<ref name="BostockIntermediate" /><ref name=":44"/> Frege's system used only implication and negation as connectives.<ref name=":2" /> It had six axioms:<ref name=":44" /><ref name=":45"/><ref name=":46"/>

  • Proposition 1: <math>a \to (b \to a)</math>
  • Proposition 2: <math>(c \to (b \to a)) \to ((c \to b) \to (c \to a))</math>
  • Proposition 8: <math>(d \to (b \to a)) \to (b \to (d \to a))</math>
  • Proposition 28: <math>(b \to a) \to (\neg a \to \neg b)</math>
  • Proposition 31: <math>\neg \neg a \to a</math>
  • Proposition 41: <math>a \to \neg \neg a</math>

These were used by Frege together with modus ponens and a rule of substitution (which was used but never precisely stated) to yield a complete and consistent axiomatization of classical truth-functional propositional logic.<ref name=":45" />

Łukasiewicz's P2Edit

Jan Łukasiewicz showed that, in Frege's system, "the third axiom is superfluous since it can be derived from the preceding two axioms, and that the last three axioms can be replaced by the single sentence <math>CCNpNqCpq</math>".<ref name=":46" /> Which, taken out of Łukasiewicz's Polish notation into modern notation, means <math>(\neg p \rightarrow \neg q) \rightarrow (p \rightarrow q)</math>. Hence, Łukasiewicz is credited<ref name=":44" /> with this system of three axioms:

  • <math>p \to (q \to p)</math>
  • <math>(p \to (q \to r)) \to ((p \to q) \to (p \to r))</math>
  • <math>(\neg p \to \neg q) \to (q \to p)</math>

Just like Frege's system, this system uses a substitution rule and uses modus ponens as an inference rule.<ref name=":44" /> The exact same system was given (with an explicit substitution rule) by Alonzo Church,<ref name=":47"/> who referred to it as the system P2<ref name=":47" /><ref name=":48"/> and helped popularize it.<ref name=":48" />

Schematic form of P2Edit

One may avoid using the rule of substitution by giving the axioms in schematic form, using them to generate an infinite set of axioms. Hence, using Greek letters to represent schemata (metalogical variables that may stand for any well-formed formulas), the axioms are given as:<ref name="BostockIntermediate" /><ref name=":48" />

  • <math>\varphi \to (\psi \to \varphi)</math>
  • <math>(\varphi \to (\psi \to \chi)) \to ((\varphi \to \psi) \to (\varphi \to \chi))</math>
  • <math>(\neg \varphi \to \neg \psi) \to (\psi \to \varphi)</math>

The schematic version of P2 is attributed to John von Neumann,<ref name=":44" /> and is used in the Metamath "set.mm" formal proof database.<ref name=":48" /> It has also been attributed to Hilbert,<ref name=":49"/> and named <math>\mathcal{H}</math> in this context.<ref name=":49" />

Proof example in P2Edit

As an example, a proof of <math> A \to A </math> in P2 is given below. First, the axioms are given names:

(A1) <math>(p \to (q \to p))</math>
(A2) <math>((p \to (q \to r)) \to ((p \to q) \to (p \to r)))</math>
(A3) <math>((\neg p \to \neg q) \to (q \to p))</math>

And the proof is as follows:

  1. <math> A \to ((B \to A) \to A)</math>       (instance of (A1))
  2. <math> (A \to ((B \to A) \to A)) \to ((A \to (B \to A)) \to (A \to A))</math>       (instance of (A2))
  3. <math> (A \to (B \to A)) \to (A \to A)</math>       (from (1) and (2) by modus ponens)
  4. <math> A \to (B \to A)</math>       (instance of (A1))
  5. <math> A \to A </math>       (from (4) and (3) by modus ponens)

SolversEdit

One notable difference between propositional calculus and predicate calculus is that satisfiability of a propositional formula is decidable.<ref name="ms58"/>Template:Rp Deciding satisfiability of propositional logic formulas is an NP-complete problem. However, practical methods exist (e.g., DPLL algorithm, 1962; Chaff algorithm, 2001) that are very fast for many useful cases. Recent work has extended the SAT solver algorithms to work with propositions containing arithmetic expressions; these are the SMT solvers.

See alsoEdit

Template:Portal

Higher logical levelsEdit

Related topicsEdit

Template:Div col

Template:Div col end

NotesEdit

Template:Reflist

ReferencesEdit

Template:Reflist

Further readingEdit

  • Brown, Frank Markham (2003), Boolean Reasoning: The Logic of Boolean Equations, 1st edition, Kluwer Academic Publishers, Norwell, MA. 2nd edition, Dover Publications, Mineola, NY.
  • Chang, C.C. and Keisler, H.J. (1973), Model Theory, North-Holland, Amsterdam, Netherlands.
  • Kohavi, Zvi (1978), Switching and Finite Automata Theory, 1st edition, McGraw–Hill, 1970. 2nd edition, McGraw–Hill, 1978.
  • Korfhage, Robert R. (1974), Discrete Computational Structures, Academic Press, New York, NY.
  • Lambek, J. and Scott, P.J. (1986), Introduction to Higher Order Categorical Logic, Cambridge University Press, Cambridge, UK.
  • Mendelson, Elliot (1964), Introduction to Mathematical Logic, D. Van Nostrand Company.

Related worksEdit

External linksEdit

Template:Sister project

Template:Classical logic Template:Formal Fallacy Template:Mathematical logic Template:Authority control