This PR modifies the signature of the functions `Nat.fold`, `Nat.foldRev`, `Nat.any`, `Nat.all`, so that the function is passed the upper bound. This allows us to change runtime array bounds checks to compile time checks in many places.
23 lines
629 B
Text
23 lines
629 B
Text
/-
|
|
Copyright (c) 2016 Microsoft Corporation. All rights reserved.
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
Authors: Leonardo de Moura
|
|
-/
|
|
prelude
|
|
import Init.Data.Nat.Basic
|
|
import Init.Data.Nat.Div
|
|
import Init.Data.Nat.Dvd
|
|
import Init.Data.Nat.Gcd
|
|
import Init.Data.Nat.MinMax
|
|
import Init.Data.Nat.Bitwise
|
|
import Init.Data.Nat.Control
|
|
import Init.Data.Nat.Log2
|
|
import Init.Data.Nat.Power2
|
|
import Init.Data.Nat.Linear
|
|
import Init.Data.Nat.SOM
|
|
import Init.Data.Nat.Lemmas
|
|
import Init.Data.Nat.Mod
|
|
import Init.Data.Nat.Lcm
|
|
import Init.Data.Nat.Compare
|
|
import Init.Data.Nat.Simproc
|
|
import Init.Data.Nat.Fold
|