lean4-htt/tests/lean/run/986.lean
Kim Morrison 42e98bd3c9
feat: Array.swap takes Nat arguments, with tactic provided proofs (#6194)
This PR changes the signature of `Array.swap`, so it takes `Nat`
arguments with tactic provided bounds checking. It also renames
`Array.swap!` to `Array.swapIfInBounds`.
2024-11-24 07:59:57 +00:00

17 lines
640 B
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

attribute [simp] Array.insertionSort.swapLoop
/--
info: Array.insertionSort.swapLoop.eq_1.{u_1} {α : Type u_1} (lt : αα → Bool) (a : Array α) (h : 0 < a.size) :
Array.insertionSort.swapLoop lt a 0 h = a
-/
#guard_msgs in
#check Array.insertionSort.swapLoop.eq_1
/--
info: Array.insertionSort.swapLoop.eq_2.{u_1} {α : Type u_1} (lt : αα → Bool) (a : Array α) (j' : Nat)
(h : j'.succ < a.size) :
Array.insertionSort.swapLoop lt a j'.succ h =
if lt a[j'.succ] a[j'] = true then Array.insertionSort.swapLoop lt (a.swap j'.succ j' h ⋯) j' ⋯ else a
-/
#guard_msgs in
#check Array.insertionSort.swapLoop.eq_2