Applications: Mathematical Proofs and Automated Reasoning 227 Note that while Semantic Tableaux and Resolution are very convenient and conceptually easy-to-use systems of deduction, they are only designed for proofs by contradiction and not for direct proofs However, reasoning by contradiction is often unnecessary and sometimes unnatural Proof by contradiction requires that we have a specified goal (conclusion) to prove, and is of no use if we simply want to derive logical consequences from the knowledge that we have and the assumptions that we may have made In such cases, direct reasoning has no good alternative 5.1.2 Tactics for logical reasoning Here we discuss tactics of proof that are applicable to any of the methods discussed above These tactics can be extracted from the rules of Natural Deduction The choice of tactics depends both on the logical structure of the conclusion and on the logical structure of the premises Let us look at these separately Tactics based on the conclusion to be proved A specific tactic can be used according to the logical form of the conclusion C to be proved, as follows • If the conclusion is a negation, C = ¬A, then apply a proof by contradiction by assuming A (which is equivalent to the negation of ¬A) and trying to reach a contradiction Alternatively, import the negation in ¬A inside A and try another tactic • If the conclusion is a conjunction, C = A ∧ B , prove each of A and B • If the conclusion is a disjunction, C = A ∨ B , try to prove one of A or B This works sometimes, but not always If it does not work, then try a proof by contradiction, that is, assume ¬C which is equivalent to ¬A ∧ ¬B , hence assume each of ¬A and ¬B , and try to reach a contradiction The equivalence P ∨ Q ≡ ¬P → Q can also be used to transform the disjunction into implication; see below • If the conclusion is an implication, C = A → B , assume A in addition to all premises, and try to prove B Alternatively, attempt a proof by contraposition by tackling a conclusion ¬B → ¬A instead Lastly, try a proof by contradiction by assuming ¬(A → B ) or, equivalently, A and ¬B • If the conclusion is a biconditional, C = A ↔ B , then it is equivalent to the conjunction (A → B ) ∧ (B → A) and we follow the tactics mentioned above • If the conclusion is a universally quantified statement, C = ∀xA(x), typically reason by saying “Let c be a (name of an) arbitrary object from the domain” (e.g., an arbitrary real number) Then you try to prove that A(c) holds with a general argument, without assuming any specific properties of c In particular, the name c must be a new one which has not yet been mentioned in the proof for the argument to be really general If you have proved that A(c) holds independently of c, then that proof will apply to any object c from the domain That will produce a proof that A(x) holds for every object x, that is, a proof of ∀xA(x)