# Rule of inference

In the philosophy of logic, a **rule of inference**, **inference rule** or **transformation rule** is a logical form consisting of a function which takes premises, analyzes their syntax, and returns a conclusion (or conclusions). For example, the rule of inference called *modus ponens* takes two premises, one in the form "If p then q" and another in the form "p", and returns the conclusion "q". The rule is valid with respect to the semantics of classical logic (as well as the semantics of many other non-classical logics), in the sense that if the premises are true (under an interpretation), then so is the conclusion.

Typically, a rule of inference preserves truth, a semantic property. In many-valued logic, it preserves a general designation. But a rule of inference's action is purely syntactic, and does not need to preserve any semantic property: any function from sets of formulae to formulae counts as a rule of inference. Usually only rules that are recursive are important; i.e. rules such that there is an effective procedure for determining whether any given formula is the conclusion of a given set of formulae according to the rule. An example of a rule that is not effective in this sense is the infinitary ω-rule.^{[1]}

Popular rules of inference in propositional logic include *modus ponens*, *modus tollens*, and contraposition. First-order predicate logic uses rules of inference to deal with logical quantifiers.

In formal logic (and many related areas), rules of inference are usually given in the following standard form:

This expression states that whenever in the course of some logical derivation the given premises have been obtained, the specified conclusion can be taken for granted as well. The exact formal language that is used to describe both premises and conclusions depends on the actual context of the derivations. In a simple case, one may use logical formulae, such as in:

This is the *modus ponens* rule of propositional logic. Rules of inference are often formulated as schemata employing metavariables.^{[2]} In the rule (schema) above, the metavariables A and B can be instantiated to any element of the universe (or sometimes, by convention, a restricted subset such as propositions) to form an infinite set of inference rules.

A proof system is formed from a set of rules chained together to form proofs, also called *derivations*. Any derivation has only one final conclusion, which is the statement proved or derived. If premises are left unsatisfied in the derivation, then the derivation is a proof of a *hypothetical* statement: "*if* the premises hold, *then* the conclusion holds."

The formal language for classical propositional logic can be expressed using just negation (¬), implication (→) and propositional symbols. A well-known axiomatization, comprising three axiom schemata and one inference rule (*modus ponens*), is:

It may seem redundant to have two notions of inference in this case, ⊢ and →. In classical propositional logic, they indeed coincide; the deduction theorem states that *A* ⊢ *B* if and only if ⊢ *A* → *B*. There is however a distinction worth emphasizing even in this case: the first notation describes a deduction, that is an activity of passing from sentences to sentences, whereas *A* → *B* is simply a formula made with a logical connective, implication in this case. Without an inference rule (like *modus ponens* in this case), there is no deduction or inference. This point is illustrated in Lewis Carroll's dialogue called "What the Tortoise Said to Achilles",^{[3]} as well as later attempts by Bertrand Russell and Peter Winch to resolve the paradox introduced in the dialogue.

For some non-classical logics, the deduction theorem does not hold. For example, the three-valued logic of Łukasiewicz can be axiomatized as:^{[4]}

This sequence differs from classical logic by the change in axiom 2 and the addition of axiom 4. The classical deduction theorem does not hold for this logic, however a modified form does hold, namely *A* ⊢ *B* if and only if ⊢ *A* → (*A* → *B*).^{[5]}

The first rule states that **0** is a natural number, and the second states that **s(***n***)** is a natural number if *n* is. In this proof system, the following rule, demonstrating that the second successor of a natural number is also a natural number, is derivable:

Its derivation is the composition of two uses of the successor rule above. The following rule for asserting the existence of a predecessor for any nonzero number is merely admissible:

Admissible rules can be thought of as theorems of a proof system. For instance, in a sequent calculus where cut elimination holds, the *cut* rule is admissible.