false_or_by_contra tactic #
Changes the goal to False, retaining as much information as possible:
- If the goal is
False, do nothing. - If the goal is an implication or a function type, introduce the argument and restart.
(In particular, if the goal is
x ≠ y, introducex = y.) - Otherwise, for a propositional goal
P, replace it with¬ ¬ P(attempting to find aDecidableinstance, but otherwise falling back to working classically) and introduce¬ P. - For a non-propositional goal use
False.elim.
Changes the goal to False, retaining as much information as possible:
- If the goal is
False, do nothing. - If the goal is an implication or a function type, introduce the argument and restart.
(In particular, if the goal is
x ≠ y, introducex = y.) - Otherwise, for a propositional goal
P, replace it with¬ ¬ P(attempting to find aDecidableinstance, but otherwise falling back to working classically) and introduce¬ P. - For a non-propositional goal use
False.elim.
Equations
- One or more equations did not get rendered due to their size.