Connective |
Introduction tactics |
Elimination tactics |
| /\ (conjunction) | split (variant of constructor) | elim (variant of induction) |
| \/ (disjunction) | left, right | elim (variant of induction) |
| => (implication) | intro [a], intros [a b H], intros until a | apply t, apply t with (a := t) |
| False | absurd | |
| True | constructor [n], constructor n with (a := t) | |
| Exists | exists t | elim (variant of induction) |
| Forall | intro [a], intros [a b H], intros until a | apply t, apply t with (a := t) |
| = | reflexivity, symmetry, transitivity t, congruence | rewrite [<-] t, rewrite [<-] t in H, subst, replace |
| ~ (disequality) | elim (variant of induction) | intro |
Functional induction is a useful tactic for proofs by induction on the evaluation of a function