In classical logic, modus ponendo ponens (Latin for the way that affirms by affirming;^{[1]} often abbreviated to MP or modus ponens) is a valid, simple argument form sometimes referred to as affirming the antecedent or the law of detachment. It is closely related to another valid form of argument, modus tollens.
Modus ponens is a very common rule of inference, and takes the following form:
Contents
Formal notation
The modus ponens rule may be written in sequent notation:
or in rule form:
or as a plain propositional calculus sentence:
Explanation
The argument form has two premises. The first premise is the "if–then" or conditional claim, namely that P implies Q. The second premise is that P, the antecedent of the conditional claim, is true. From these two premises it can be logically concluded that Q, the consequent of the conditional claim, must be true as well. In Artificial Intelligence, modus ponens is often called forward chaining.
An example of an argument that fits the form modus ponens:
This argument is valid, but this has no bearing on whether any of the statements in the argument are true; for modus ponens to be a sound argument, the premises must be true for any true instances of the conclusion. An argument can be valid but nonetheless unsound if one or more premises are false; if an argument is valid and all the premises are true, then the argument is sound. For example, I might be going to work on Wednesday. In this case, the reasoning for my going to work (because it is Wednesday) is unsound. The argument is only sound on Tuesdays (when I go to work), but valid on every day of the week. A propositional argument using modus ponens is said to be deductive.
In singleconclusion sequent calculi, modus ponens is the Cut rule. The cutelimination theorem for a calculus says that every proof involving Cut can be transformed (generally, by a constructive method) into a proof without Cut, and hence that Cut is admissible.
The CurryHoward correspondence between proofs and programs relates modus ponens to function application: if f is a function of type P → Q and x is of type P, then f x is of type Q.
Full article ▸
