This PR fixes two issues that were preventing `grind` to solve `getElem?_eq_some_iff`. 1. Missing propagation rule for `Exists p = False` 2. Missing conditions at `isCongrToPrevSplit` a filter for discarding unnecessary case-splits.
10 lines
304 B
Text
10 lines
304 B
Text
set_option grind.warning false
|
||
reset_grind_attrs%
|
||
|
||
attribute [grind]
|
||
List.length_cons List.length_nil
|
||
List.getElem_cons
|
||
List.getElem?_cons List.getElem?_nil
|
||
|
||
theorem getElem?_eq_some_iff {l : List α} : l[i]? = some a ↔ ∃ h : i < l.length, l[i] = a := by
|
||
induction l generalizing i <;> grind
|