parent
ddd6342737
commit
e5d2cbceaa
2 changed files with 12 additions and 2 deletions
|
|
@ -37,12 +37,12 @@ where
|
|||
return ()
|
||||
else if (← tryContradiction mvarId) then
|
||||
return ()
|
||||
else if let some mvarId ← whnfReducibleLHS? mvarId then
|
||||
go mvarId
|
||||
else if let some mvarId ← simpMatch? mvarId then
|
||||
go mvarId
|
||||
else if let some mvarId ← simpIf? mvarId then
|
||||
go mvarId
|
||||
else if let some mvarId ← whnfReducibleLHS? mvarId then
|
||||
go mvarId
|
||||
else match (← simpTargetStar mvarId {} (simprocs := {})).1 with
|
||||
| TacticResultCNM.closed => return ()
|
||||
| TacticResultCNM.modified mvarId => go mvarId
|
||||
|
|
|
|||
10
tests/lean/run/simp_eqn_bug.lean
Normal file
10
tests/lean/run/simp_eqn_bug.lean
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
@[simp] def f (a : Nat) (xs : List Nat) : Nat :=
|
||||
match a with
|
||||
| 25 => 0
|
||||
| _ => match xs with
|
||||
| [] => a
|
||||
| x::xs => x + f a xs
|
||||
|
||||
example : f 25 xs = 0 := by apply f._eq_1
|
||||
example (h : a = 25 → False) : f a [] = a := by apply f._eq_2; assumption
|
||||
example (h : a = 25 → False) : f a (x::xs) = x + f a xs := by apply f._eq_3; assumption
|
||||
Loading…
Add table
Reference in a new issue