None of these were working previously: ``` #check_simp #[1,2,3,4,5][2] ~> 3 #check_simp #[1,2,3,4,5][2]? ~> some 3 #check_simp #[1,2,3,4,5][7]? ~> none #check_simp #[][0]? ~> none #check_simp #[1,2,3,4,5][2]! ~> 3 #check_simp #[1,2,3,4,5][7]! ~> (default : Nat) #check_simp (#[] : Array Nat)[0]! ~> (default : Nat) ```
16 lines
687 B
Text
16 lines
687 B
Text
/-
|
|
Copyright (c) 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
Authors: Leonardo de Moura
|
|
-/
|
|
prelude
|
|
import Lean.Meta.Tactic.Simp.BuiltinSimprocs.Core
|
|
import Lean.Meta.Tactic.Simp.BuiltinSimprocs.Nat
|
|
import Lean.Meta.Tactic.Simp.BuiltinSimprocs.Fin
|
|
import Lean.Meta.Tactic.Simp.BuiltinSimprocs.UInt
|
|
import Lean.Meta.Tactic.Simp.BuiltinSimprocs.Int
|
|
import Lean.Meta.Tactic.Simp.BuiltinSimprocs.Char
|
|
import Lean.Meta.Tactic.Simp.BuiltinSimprocs.String
|
|
import Lean.Meta.Tactic.Simp.BuiltinSimprocs.BitVec
|
|
import Lean.Meta.Tactic.Simp.BuiltinSimprocs.List
|
|
import Lean.Meta.Tactic.Simp.BuiltinSimprocs.Array
|