Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Deduction theorem
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Metatheorem in mathematical logic}} {{use dmy dates|date=May 2025}} In [[mathematical logic]], a '''deduction theorem''' is a [[metatheorem]] that justifies doing [[conditional proof]]s from a hypothesis in systems that do not explicitly axiomatize that hypothesis, i.e. to prove an implication <math>A \to B</math>, it is sufficient to assume <math>A</math> as a hypothesis and then proceed to derive <math>B</math>. Deduction theorems exist for both [[propositional logic]] and [[first-order logic]].{{sfn|Kleene|2002|p=39,112}}{{sfn|Shoenfield|2001|p=33}} The deduction theorem is an important tool in [[Hilbert-style deduction system]]s because it permits one to write more comprehensible and usually much shorter proofs than would be possible without it. In certain other formal proof systems the same conveniency is provided by an explicit inference rule; for example [[natural deduction]] calls it [[implication introduction]]. In more detail, the propositional logic deduction theorem states that if a formula <math>B</math> is deducible from a set of assumptions <math>\Delta \cup \{A\}</math> then the implication <math> A \to B </math> is deducible from <math>\Delta </math>; in symbols, <math>\Delta \cup \{A\} \vdash B </math> implies <math>\Delta \vdash A \to B </math>. In the special case where <math>\Delta </math> is the [[empty set]], the deduction theorem claim can be more compactly written as: <math>A \vdash B</math> implies <math>\vdash A \to B</math>. The deduction theorem for predicate logic is similar, but comes with some extra constraints (that would for example be satisfied if <math>A</math> is a [[sentence (mathematical logic)|closed formula]]). In general a deduction theorem needs to take into account all logical details of the theory under consideration, so each logical system technically needs its own deduction theorem, although the differences are usually minor. The deduction theorem holds for all first-order theories with the usual<ref>For example, [[Hilbert-style deductive system]]s, [[natural deduction]], the [[sequent calculus]], the [[Method of analytic tableaux|tableaux method]], and [[Resolution (logic)|resolution]] βsee [[First order logic]]</ref> [[First order logic#Deductive systems|deductive system]]s for first-order logic.<ref>An explicit verification of this result may be found in https://github.com/georgydunaev/VerifiedMathFoundations/blob/master/SHEN.v</ref> However, there are first-order systems in which new inference rules are added for which the deduction theorem fails.{{sfn|Kohlenbach|2008|p=148}} Most notably, the deduction theorem fails to hold in [[Garrett Birkhoff|Birkhoff]]β[[John von Neumann|von Neumann]] [[quantum logic]], because the [[linear subspace]]s of a [[Hilbert space]] form a [[distributive lattice | non-distributive lattice]]. ==Examples of deduction== #"Prove" axiom 1: ''P''β(''Q''β''P'') {{refn|''See [[#Notation| explanation of Notation Β§ below.]]}} #:*''P'' 1. hypothesis #:**''Q'' 2. hypothesis #:**''P'' 3. reiteration of 1 #:*''Q''β''P'' 4. deduction from 2 to 3 #*''P''β(''Q''β''P'') 5. deduction from 1 to 4 QED #"Prove" axiom 2: (''P''β(''Q''β''R''))β((''P''β''Q'')β(''P''β''R'')) #:*''P''β(''Q''β''R'') 1. hypothesis #:**''P''β''Q'' 2. hypothesis #:***''P'' 3. hypothesis #:***''Q'' 4. modus ponens 3,2 #:***''Q''β''R'' 5. modus ponens 3,1 #:***''R'' 6. modus ponens 4,5 #:**''P''β''R'' 7. deduction from 3 to 6 #:*(''P''β''Q'')β(''P''β''R'') 8. deduction from 2 to 7 #*(''P''β(''Q''β''R''))β((''P''β''Q'')β(''P''β''R'')) 9. deduction from 1 to 8 QED #Using axiom 1 to show ((''P''β(''Q''β''P''))β''R'')β''R'': #:*(''P''β(''Q''β''P''))β''R'' 1. hypothesis #:*''P''β(''Q''β''P'') 2. axiom 1 #:*''R'' 3. modus ponens 2,1 #*((''P''β(''Q''β''P''))β''R'')β''R'' 4. deduction from 1 to 3 QED ==Virtual rules of inference== {{anchor|Notation}} From the examples, one can see that we have added three virtual (or extra and temporary) rules of inference to our normal axiomatic logic. These are "hypothesis", "reiteration", and "deduction". The normal rules of inference (i.e. "modus ponens" and the various axioms) remain available. 1. '''Hypothesis''' is a step where one adds an additional premise to those already available. So, if the previous step ''S'' was deduced as: :<math> E_1, E_2, ... , E_{n-1}, E_n \vdash S, </math> then one adds another premise ''H'' and gets: :<math> E_1, E_2, ... , E_{n-1}, E_n, H \vdash H. </math> This is symbolized by moving from the ''n''-th level of indentation to the ''n''+1-th level and saying{{refn|name=smithFitch|1= Hypothesis is denoted by indentation, and Conclusion is denoted by unindentation{{sfn|Fitch|1952}} as cited by Peter Smith (2010){{sfn|Smith|2010|pp=5 and following}}}} :*''S'' previous step :**''H'' hypothesis 2. '''Reiteration''' is a step where one re-uses a previous step. In practice, this is only necessary when one wants to take a hypothesis that is not the most recent hypothesis and use it as the final step before a deduction step. 3. '''Deduction''' is a step where one removes the most recent hypothesis (still available) and prefixes it to the previous step. This is shown by unindenting one level as follows:{{refn|name=smithFitch}} ::*''H'' hypothesis ::*......... (other steps) ::*''C'' (conclusion drawn from ''H'') :*''H''β''C'' deduction ==Conversion from proof using the deduction meta-theorem to axiomatic proof== In axiomatic versions of propositional logic, one usually has among the [[axiom schema]]s (where ''P'', ''Q'', and ''R'' are replaced by any propositions): *Axiom 1 is: ''P''β(''Q''β''P'') *Axiom 2 is: (''P''β(''Q''β''R''))β((''P''β''Q'')β(''P''β''R'')) *Modus ponens is: from ''P'' and ''P''β''Q'' infer ''Q'' These axiom schemas are chosen to enable one to derive the deduction theorem from them easily. So it might seem that we are begging the question. However, they can be justified by checking that they are [[tautology (logic)|tautologies]] using truth tables and that modus ponens preserves truth. From these axiom schemas one can quickly deduce the theorem schema ''P''β''P'' (reflexivity of implication), which is used below: # (''P''β((''Q''β''P'')β''P''))β((''P''β(''Q''β''P''))β(''P''β''P'')) from axiom schema 2 with ''P'', (''Q''β''P''), ''P'' # ''P''β((''Q''β''P'')β''P'') from axiom schema 1 with ''P'', (''Q''β''P'') # (''P''β(''Q''β''P''))β(''P''β''P'') from modus ponens applied to step 2 and step 1 # ''P''β(''Q''β''P'') from axiom schema 1 with ''P'', ''Q'' # ''P''β''P'' from modus ponens applied to step 4 and step 3 Suppose that we have that Ξ and ''H'' together prove ''C'', and we wish to show that Ξ proves ''H''β''C''. For each step ''S'' in the deduction that is a premise in Ξ (a reiteration step) or an axiom, we can apply modus ponens to the axiom 1, ''S''β(''H''β''S''), to get ''H''β''S''. If the step is ''H'' itself (a hypothesis step), we apply the theorem schema to get ''H''β''H''. If the step is the result of applying modus ponens to ''A'' and ''A''β''S'', we first make sure that these have been converted to ''H''β''A'' and ''H''β(''A''β''S'') and then we take the axiom 2, (''H''β(''A''β''S''))β((''H''β''A'')β(''H''β''S'')), and apply modus ponens to get (''H''β''A'')β(''H''β''S'') and then again to get ''H''β''S''. At the end of the proof we will have ''H''β''C'' as required, except that now it only depends on Ξ, not on ''H''. So the deduction step will disappear, consolidated into the previous step which was the conclusion derived from ''H''. To minimize the complexity of the resulting proof, some preprocessing should be done before the conversion. Any steps (other than the conclusion) that do not actually depend on ''H'' should be moved up before the hypothesis step and unindented one level. And any other unnecessary steps (which are not used to get the conclusion or can be bypassed), such as reiterations that are not the conclusion, should be eliminated. During the conversion, it may be useful to put all the applications of modus ponens to axiom 1 at the beginning of the deduction (right after the ''H''β''H'' step). When converting a modus ponens, if ''A'' is outside the scope of ''H'', then it will be necessary to apply axiom 1, ''A''β(''H''β''A''), and modus ponens to get ''H''β''A''. Similarly, if ''A''β''S'' is outside the scope of ''H'', apply axiom 1, (''A''β''S'')β(''H''β(''A''β''S'')), and modus ponens to get ''H''β(''A''β''S''). It should not be necessary to do both of these, unless the modus ponens step is the conclusion, because if both are outside the scope, then the modus ponens should have been moved up before ''H'' and thus be outside the scope also. Under the [[CurryβHoward correspondence]], the above conversion process for the deduction [[meta-theorem]] is analogous to the [[Combinatory logic#Completeness of the S-K basis|conversion process]] from [[lambda calculus]] terms to terms of [[combinatory logic]], where axiom 1 corresponds to the K combinator, and axiom 2 corresponds to the S combinator. Note that the I combinator corresponds to the theorem schema ''P''β''P''. == Helpful theorems == If one intends to convert a complicated proof using the deduction theorem to a straight-line proof not using the deduction theorem, then it would probably be useful to prove these theorems once and for all at the beginning and then use them to help with the conversion: :<math>A \to A</math> helps convert the hypothesis steps. :<math>(B \to C) \to ((A \to B) \to (A \to C))</math> helps convert modus ponens when the major premise is not dependent on the hypothesis, replaces axiom 2 while avoiding a use of axiom 1. :<math>(A \to (B \to C)) \to (B \to (A \to C))</math> helps convert modus ponens when the minor premise is not dependent on the hypothesis, replaces axiom 2 while avoiding a use of axiom 1. These two theorems jointly can be used in lieu of axiom 2, although the converted proof would be more complicated: :<math>(A \to B) \to ((B \to C) \to (A \to C))</math> :<math>(A \to (A \to C)) \to (A \to C)</math> [[Peirce's law]] is not a consequence of the deduction theorem, but it can be used with the deduction theorem to prove things that one might not otherwise be able to prove. :<math>((A \to B) \to A) \to A</math> It can also be used to get the second of the two theorems, which can be used in lieu of axiom 2. ==Proof of the deduction theorem== We prove the deduction theorem in a Hilbert-style deductive system of propositional calculus.{{sfn|Franks}} Let <math>\Delta </math> be a set of formulas and <math>A</math> and <math>B</math> formulas, such that <math>\Delta \cup \{A\} \vdash B </math>. We want to prove that <math>\Delta \vdash A \to B </math>. Since <math>\Delta \cup \{A\} \vdash B </math>, there is a proof of <math>B</math> from <math>\Delta \cup \{A\}</math>. We prove the theorem by induction on the proof length ''n''; thus the induction hypothesis is that for any <math>\Delta</math>, <math>A</math> and <math>B</math> such that there is a proof of <math>B</math> from <math>\Delta \cup \{A\}</math> of length up to ''n'', <math>\Delta \vdash A \to B </math> holds. If ''n'' = 1 then <math>B</math> is member of the set of formulas <math>\Delta \cup \{A\}</math>. Thus either <math>B=A</math>, in which case <math>A \to B </math> is simply <math>A \to A </math>, which is derivable by substitution from ''p'' β ''p'', which is derivable from the axioms, and hence also <math>\Delta \vdash A \to B </math>, or <math>B</math> is in <math>\Delta</math>, in which case <math>\Delta \vdash B </math>; it follows from axiom ''p'' β (''q'' β ''p'') with substitution that <math>\Delta \vdash B \to (A \to B) </math> and hence by modus ponens that <math>\Delta \vdash A \to B </math>. Now let us assume the induction hypothesis for proofs of length up to ''n'', and let <math>B</math> be a formula provable from <math>\Delta \cup \{A\}</math> with a proof of length ''n''+1. Then there are two possibilities: #<math>B</math> is member of the set of formulas <math>\Delta \cup \{A\}</math>; in this case we proceed as for ''n''=1. #<math>B</math> is arrived at by using modus ponens. Then there is a formula ''C'' such that <math>\Delta \cup \{A\}</math> proves <math>C</math> and <math>C \to B </math>, and modus ponens is then used to prove <math>B</math>. The proofs of <math>C</math> and <math>C \to B </math> are with at most ''n'' steps, and by the induction hypothesis we have <math>\Delta \vdash A \to C </math> and <math>\Delta \vdash A \to (C \to B) </math>. By the axiom (''p'' β (''q'' β ''r'')) β ((''p'' β ''q'') β (''p'' β ''r'')) with substitution it follows that <math>\Delta \vdash (A \to (C \to B)) \to ((A \to C) \to (A \to B))</math>, and by using modus ponens twice we have <math>\Delta \vdash A \to B </math>. Thus in all cases the theorem holds also for ''n''+1, and by induction the deduction theorem is proven. ==The deduction theorem in predicate logic== The deduction theorem is also valid in [[first-order logic]] in the following form: *If ''T'' is a [[Theory (mathematical logic)|theory]] and ''F'', ''G'' are formulas with ''F'' [[Well-formed formula#Closed formulas|closed]], and <math>T \cup \{ F \} \vdash G</math>, then <math>T \vdash F \rightarrow G</math>. Here, the symbol <math>\vdash</math> means "is a syntactical consequence of." We indicate below how the proof of this deduction theorem differs from that of the deduction theorem in propositional calculus. In the most common versions of the notion of formal proof, there are, in addition to the axiom schemes of propositional calculus (or the understanding that all tautologies of propositional calculus are to be taken as axiom schemes in their own right), [[First-order logic#Quantifier axioms|quantifier axioms]], and in addition to [[modus ponens]], one additional [[rule of inference]], known as the rule of [[Generalization (logic)|''generalization'']]: "From ''K'', infer β''vK''." In order to convert a proof of ''G'' from ''T''βͺ{''F''} to one of ''F''β''G'' from ''T'', one deals with steps of the proof of ''G'' that are axioms or result from application of modus ponens in the same way as for proofs in propositional logic. Steps that result from application of the rule of generalization are dealt with via the following quantifier axiom (valid whenever the variable ''v'' is not free in formula ''H''): *(β''v''(''H''β''K''))β(''H''ββ''vK''). Since in our case ''F'' is assumed to be closed, we can take ''H'' to be ''F''. This axiom allows one to deduce ''F''ββ''vK'' from ''F''β''K'' and generalization, which is just what is needed whenever the rule of generalization is applied to some ''K'' in the proof of ''G''. In first-order logic, the restriction of that F be a closed formula can be relaxed given that the free variables in F has not been varied in the deduction of G from <math>T \cup \{ F \}</math>. In the case that a free variable v in F has been varied in the deduction, we write <math>T \cup \{ F \} \vdash^v G</math> (the superscript in the turnstile indicating that v has been varied) and the corresponding form of the deduction theorem is <math>T \vdash (\forall vF) \rightarrow G</math>.{{sfn|Kleene|1980|pp=102β106}} ==Example of conversion== To illustrate how one can convert a natural deduction to the axiomatic form of proof, we apply it to the tautology ''Q''β((''Q''β''R'')β''R''). In practice, it is usually enough to know that we could do this. We normally use the natural-deductive form in place of the much longer axiomatic proof. First, we write a proof using a natural-deduction like method: :*''Q'' 1. hypothesis :**''Q''β''R'' 2. hypothesis :**''R'' 3. modus ponens 1,2 :*(''Q''β''R'')β''R'' 4. deduction from 2 to 3 *''Q''β((''Q''β''R'')β''R'') 5. deduction from 1 to 4 QED Second, we convert the inner deduction to an axiomatic proof: *(''Q''β''R'')β(''Q''β''R'') 1. theorem schema (''A''β''A'') *((''Q''β''R'')β(''Q''β''R''))β(((''Q''β''R'')β''Q'')β((''Q''β''R'')β''R'')) 2. axiom 2 *((''Q''β''R'')β''Q'')β((''Q''β''R'')β''R'') 3. modus ponens 1,2 *''Q''β((''Q''β''R'')β''Q'') 4. axiom 1 **''Q'' 5. hypothesis **(''Q''β''R'')β''Q'' 6. modus ponens 5,4 **(''Q''β''R'')β''R'' 7. modus ponens 6,3 *''Q''β((''Q''β''R'')β''R'') 8. deduction from 5 to 7 QED Third, we convert the outer deduction to an axiomatic proof: *(''Q''β''R'')β(''Q''β''R'') 1. theorem schema (''A''β''A'') *((''Q''β''R'')β(''Q''β''R''))β(((''Q''β''R'')β''Q'')β((''Q''β''R'')β''R'')) 2. axiom 2 *((''Q''β''R'')β''Q'')β((''Q''β''R'')β''R'') 3. modus ponens 1,2 *''Q''β((''Q''β''R'')β''Q'') 4. axiom 1 *[((''Q''β''R'')β''Q'')β((''Q''β''R'')β''R'')]β[''Q''β(((''Q''β''R'')β''Q'')β((''Q''β''R'')β''R''))] 5. axiom 1 *''Q''β(((''Q''β''R'')β''Q'')β((''Q''β''R'')β''R'')) 6. modus ponens 3,5 *[''Q''β(((''Q''β''R'')β''Q'')β((''Q''β''R'')β''R''))]β([''Q''β((''Q''β''R'')β''Q'')]β[''Q''β((''Q''β''R'')β''R''))]) 7. axiom 2 *[''Q''β((''Q''β''R'')β''Q'')]β[''Q''β((''Q''β''R'')β''R''))] 8. modus ponens 6,7 *''Q''β((''Q''β''R'')β''R'')) 9. modus ponens 4,8 QED {{anchor|Using the CurryβHoward correspondence}}These three steps can be stated succinctly using the [[CurryβHoward correspondence]]: *first, in lambda calculus, the function f = Ξ»a. Ξ»b. b a has type ''q'' β (''q'' β ''r'') β ''r'' *second, by [[lambda elimination]] on b, f = Ξ»a. s i (k a) *third, by lambda elimination on a, f = s (k (s i)) k ==See also== * [[Cut-elimination theorem]] * [[Conditional proof]] * [[Currying#Mathematical view|Currying]] * [[Propositional calculus]] * [[Peirce's law]] == Notes == {{notelist}} <references/> ==References== * {{Cite book|last= Fitch|first= Frederic Brenton|author-link= Frederic Fitch|title= Symbolic Logic: An introduction|publisher= The Ronald Press Company|url=https://archive.org/details/symboliclogicint0000fitc|location=New York|year= 1952|lccn = 52006196}} * {{cite web | last = Franks | first = Curtis | title = Deduction Theorem | url = https://www3.nd.edu/~cfranks/dt.pdf | website = [[University of Notre Dame]] | access-date = 2020-07-21}} * {{Cite journal |last=Hewitt|first=Carl|author-link=Carl Hewitt|title=ORGs for Scalable, Robust, Privacy-Friendly Client Cloud Computing |journal=IEEE Internet Computing |volume=12 |issue=5 |doi=10.1109/MIC.2008.107 |year=2008 |pages=96β99 |s2cid=27828219 }} September/October 2008 * {{Cite book | last=Kleene | first=Stephen Cole | author-link=Stephen Kleene | title=Mathematical logic | orig-year=1967 | publisher=[[Dover Publications]] | location=New York | isbn=978-0-486-42533-7 | mr=1950307 | year=2002}} * {{Cite book|last=Kleene|first=Stephen Cole|author-link=Stephen Kleene |title=Introduction to meta-mathematics|publisher=North Holland|year=1980|isbn=9780720421033}} * {{Cite book | last=Kohlenbach | first=Ulrich | author-link=Ulrich Kohlenbach | title=Applied proof theory: proof interpretations and their use in mathematics | publisher=[[Springer-Verlag]] | location=Berlin, New York | series=Springer Monographs in Mathematics | isbn=978-3-540-77532-4 | mr=2445721 | year=2008}} * {{Cite book|last=Rautenberg|first=Wolfgang|author-link=Wolfgang Rautenberg|doi=10.1007/978-1-4419-1221-3|title=A Concise Introduction to Mathematical Logic|publisher=[[Springer Science+Business Media]]|location=[[New York City|New York]]|edition=3rd|isbn=978-1-4419-1220-6|year=2010}}. * {{Cite book| last=Shoenfield | first=Joseph R. | author-link=Joseph R. Shoenfield | title=Mathematical Logic | orig-year=1967 | publisher=[[A K Peters]] | edition=2nd | isbn=978-1-56881-135-2 | year=2001}} * {{cite web | last = Smith | first = Peter | title = Types of proof system | website = Logic Matters | date = 2010-10-13 | url = http://www.logicmatters.net/resources/pdfs/ProofSystems.pdf | access-date = 2025-05-29}} == External links == * [http://www.ltn.lv/~podnieks/mlog/ml.htm ''Introduction to Mathematical Logic'' by Vilnis Detlovs and Karlis Podnieks] is a comprehensive tutorial. See Section 1.5. * [https://www3.nd.edu/~cfranks/dt.pdf "Deduction Theorem"] [[Category:Deductive reasoning|Theorem]] [[Category:Metatheorems]] [[Category:Proof theory]] [[Category:Theorems in the foundations of mathematics]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Notelist
(
edit
)
Template:Refn
(
edit
)
Template:Sfn
(
edit
)
Template:Short description
(
edit
)
Template:Use dmy dates
(
edit
)