- useDecide : Bool
- emptyType : BoolCheck whether any of the hypotheses is an empty type. 
- searchFuel : NatWhen checking for empty types, searchFuelspecifies the number of goals visited.
- genDiseq : Bool
Instances For
@[inline, reducible]
Instances For
Equations
- Lean.Meta.ElimEmptyInductive.instMonadBacktrackSavedStateM = { saveState := liftM Lean.Meta.saveState, restoreState := fun s => liftM (Lean.Meta.SavedState.restore s) }
def
Lean.MVarId.contradictionCore
(mvarId : Lean.MVarId)
(config : Lean.Meta.Contradiction.Config)
 :
Return true if goal mvarId has contradictory hypotheses.
See MVarId.contradiction for the list of tests performed by this method.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.MVarId.contradiction
(mvarId : Lean.MVarId)
(config : optParam Lean.Meta.Contradiction.Config { useDecide := true, emptyType := true, searchFuel := 16, genDiseq := false })
 :
Try to close the goal using "contradictions" such as
- Contradictory hypotheses h₁ : pandh₂ : ¬ p.
- Contradictory disequality h : x ≠ x.
- Contradictory equality between different constructors, e.g., h : List.nil = List.cons x xs.
- Empty inductive types, e.g., x : Fin 0.
- Decidable propositions that evaluate to false, i.e., a hypothesis h : ps.t.decide preduces tofalse. This is only tried ifConfig.useDecide = true.
Throw exception if goal failed to be closed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[deprecated Lean.MVarId.contradiction]
def
Lean.Meta.contradiction
(mvarId : Lean.MVarId)
(config : optParam Lean.Meta.Contradiction.Config { useDecide := true, emptyType := true, searchFuel := 16, genDiseq := false })
 :
Equations
- Lean.Meta.contradiction mvarId config = Lean.MVarId.contradiction mvarId config