stop as soon as `lhs` and `rhs` are definitionally equal, and avoid unnecessary case analysis. This commit fixes the last issue exposed by #1074 fixes #1074
10 lines
752 B
Text
10 lines
752 B
Text
@Array.insertionSort.swapLoop._eq_1 : ∀ {α : Type u_1} (lt : α → α → Bool) (a : Array α) (h : 0 < Array.size a),
|
||
Array.insertionSort.swapLoop lt a 0 h = a
|
||
@Array.insertionSort.swapLoop._eq_2 : ∀ {α : Type u_1} (lt : α → α → Bool) (a : Array α) (j' : Nat)
|
||
(h : Nat.succ j' < Array.size a),
|
||
Array.insertionSort.swapLoop lt a (Nat.succ j') h =
|
||
let_fun h' := (_ : j' < Array.size a);
|
||
if lt (Array.get a { val := Nat.succ j', isLt := h }) (Array.get a { val := j', isLt := h' }) = true then
|
||
Array.insertionSort.swapLoop lt (Array.swap a { val := Nat.succ j', isLt := h } { val := j', isLt := h' }) j'
|
||
(_ : j' < Array.size (Array.swap a { val := Nat.succ j', isLt := h } { val := j', isLt := h' }))
|
||
else a
|