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 ¬ P
, introduce P
.
If the goal is x ≠ y
, introduce x = y
.
Otherwise, for a goal P
, replace it with ¬ ¬ P
and introduce ¬ P
.
Changes the goal to False
, retaining as much information as possible:
If the goal is False
, do nothing.
If the goal is ¬ P
, introduce P
.
If the goal is x ≠ y
, introduce x = y
.
Otherwise, for a propositional goal P
, replace it with ¬ ¬ P
and introduce ¬ P
.
For a non-propositional goal use False.elim
.
Equations
- false_or_by_contra = Lean.ParserDescr.node `false_or_by_contra 1024 (Lean.ParserDescr.nonReservedSymbol "false_or_by_contra" false)
Instances For
Changes the goal to False
, retaining as much information as possible:
If the goal is False
, do nothing.
If the goal is ¬ P
, introduce P
.
If the goal is x ≠ y
, introduce x = y
.
Otherwise, for a propositional goal P
, replace it with ¬ ¬ P
and introduce ¬ P
.
For a non-propositional goal use False.elim
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Changes the goal to False
, retaining as much information as possible:
If the goal is False
, do nothing.
If the goal is ¬ P
, introduce P
.
If the goal is x ≠ y
, introduce x = y
.
Otherwise, for a propositional goal P
, replace it with ¬ ¬ P
and introduce ¬ P
.
For a non-propositional goal use False.elim
.
Equations
- tacticFalse_or_by_contra = Lean.ParserDescr.node `tacticFalse_or_by_contra 1024 (Lean.ParserDescr.nonReservedSymbol "false_or_by_contra" false)