Helper type for implementing discharge?'
- proved : DischargeResult
- notProved : DischargeResult
- maxDepth : DischargeResult
- failedAssign : DischargeResult
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
For (← getConfig).index := false
, Lean 3 style simp
theorem retrieval.
Only the root symbol is taken into account. Most of the structure of the discrimination tree is ignored.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Given a match-application e
with MatcherInfo
info
, return some result
if at least of one of the discriminants has been simplified.
Equations
Instances For
Try to unfold ground term in the ground/symbolic evaluator.
Equations
Instances For
Try to unfold ground term in the ground/symbolic evaluator.
Equations
Instances For
Return true if e
is of the form (x : α) → ... → s = t → ... → False
Recall that this kind of proposition is generated by Lean when creating equations for
functions and match-expressions with overlapping cases.
Example: the following match
-expression has overlapping cases.
def f (x y : Nat) :=
match x, y with
| Nat.succ n, Nat.succ m => ...
| _, _ => 0
The second equation is of the form
(x y : Nat) → ((n m : Nat) → x = Nat.succ n → y = Nat.succ m → False) → f x y = 0
The hypothesis (n m : Nat) → x = Nat.succ n → y = Nat.succ m → False
is essentially
saying the first case is not applicable.
Equations
Instances For
Tries to solve e
using unifyEq?
.
It assumes that isEqnThmHypothesis e
is true
.
Equations
Instances For
Discharges assumptions of the form ∀ …, a = b
using rfl
. This is particularly useful for higher
order assumptions of the form ∀ …, e = ?g x y
to instaniate a parameter g
even if that does not
appear on the lhs of the rule.