lean4-htt/src/Init/Data
Mac Malone 3d511a582a
feat: USize.size inequalities (#6203)
This PR adds the theorems `le_usize_size` and `usize_size_le`, which
make proving inequalities about `USize.size` easier.

It also deprecates `usize_size_gt_zero` in favor of `usize_size_pos` (as
that seems more consistent with our naming covention) and adds
`USize.toNat_ofNat_of_lt_32` for dealing with small USize literals.

It also moves `USize.ofNat32` and `USize.toUInt64` to
`Init.Data.UInt.Basic` as neither are used in `Init.Prelude` anymore.

---------

Co-authored-by: Kim Morrison <kim@tqft.net>
2024-11-26 23:42:15 +00:00
..
Array feat: add a coercion from List Nat to Lean.Meta.Occurrences (#6206) 2024-11-25 13:19:23 +00:00
BitVec feat: BitVec.toInt BitVec.signExtend (#6157) 2024-11-23 07:29:08 +00:00
ByteArray chore: use Array.findFinIdx? where it is better than findIdx? (#6184) 2024-11-23 07:22:31 +00:00
Char refactor: redefine unsigned fixed width integers in terms of BitVec (#5323) 2024-10-16 07:28:23 +00:00
Fin feat: ensure Fin.foldl/r are semireducible (#6207) 2024-11-25 03:21:36 +00:00
FloatArray feat: change Array.get to take a Nat and a proof (#6032) 2024-11-12 03:30:46 +00:00
Format feat: incremental have (#4308) 2024-06-04 09:12:27 +00:00
Int chore: fix naming of left/right injectivity lemmas (#6106) 2024-11-18 00:53:46 +00:00
List feat: @[deprecated] requires a replacement identifier or message, and a since field (#6112) 2024-11-26 08:45:54 +00:00
Nat feat: @[deprecated] requires a replacement identifier or message, and a since field (#6112) 2024-11-26 08:45:54 +00:00
Option feat: lemmas for Array.findSome? and find? (#6111) 2024-11-18 04:19:56 +00:00
SInt feat: Bool.to(U)IntX (#6060) 2024-11-13 15:49:16 +00:00
String chore: remove >6 month old deprecations (#6057) 2024-11-13 23:21:23 +00:00
Sum doc: adjust file reference in Data.Sum (#6158) 2024-11-21 21:48:27 +00:00
ToString chore: cleanup imports (#5825) 2024-10-23 23:51:13 +00:00
UInt feat: USize.size inequalities (#6203) 2024-11-26 23:42:15 +00:00
Vector chore: fix Vector.indexOf? (#6208) 2024-11-25 10:47:58 +00:00
AC.lean feat: allow users to disable simpCtorEq simproc (#5167) 2024-08-26 13:51:21 +00:00
Array.lean feat: lemmas about for loops over Array (#6055) 2024-11-13 23:23:55 +00:00
Basic.lean chore: remove #lang lean4 header 2020-10-25 09:54:07 -07:00
BEq.lean chore: variables appearing on both sides of an iff should be implicit (#5254) 2024-09-04 08:33:24 +00:00
BitVec.lean chore: update copyrights (#5449) 2024-09-24 05:27:53 +00:00
Bool.lean chore: fix naming of left/right injectivity lemmas (#6106) 2024-11-18 00:53:46 +00:00
ByteArray.lean chore: remove #lang lean4 header 2020-10-25 09:54:07 -07:00
Cast.lean chore: upstream NatCast and IntCast (#3347) 2024-02-16 00:54:22 +00:00
Channel.lean feat: snapshot trees and language processors (#3014) 2024-03-14 13:40:08 +00:00
Char.lean feat: some Char, UInt, and Fin theorems (#4231) 2024-05-21 06:11:23 +00:00
Fin.lean chore: upstream Std.BitVec.* (#3400) 2024-02-19 12:43:34 -08:00
Float.lean fix: Inhabited Float produced a bogus run-time value (#6136) 2024-11-20 10:43:59 +00:00
FloatArray.lean chore: remove #lang lean4 header 2020-10-25 09:54:07 -07:00
Format.lean refactor: move ToString Syntax and BEq Syntax to Init 2021-02-26 13:21:04 -08:00
Function.lean feat: upstream List.mapIdx, and add lemmas (#5696) 2024-10-14 07:25:02 +00:00
Hashable.lean feat: Hashable (BitVec n) (#5881) 2024-10-30 02:26:18 +00:00
Int.lean feat: Int and Nat simp lemmas (#5190) 2024-08-28 10:53:28 +00:00
List.lean chore: upstream List.ofFn and relate to Array.ofFn (#5938) 2024-11-04 01:35:29 +00:00
Nat.lean feat: Nat.(fold|foldRev|any|all)M? take a function which sees the upper bound (#6139) 2024-11-22 03:05:51 +00:00
NeZero.lean feat: actual implementation for #5283 (#5512) 2024-09-29 01:22:12 +00:00
OfScientific.lean doc: point out that OfScientific is called with raw literals (#5725) 2024-10-17 04:29:00 +00:00
Option.lean feat: Option.attach (#5532) 2024-09-30 04:13:27 +00:00
Ord.lean chore: use compareLex in lexOrd (#3882) 2024-04-22 06:48:44 +00:00
PLift.lean feat: basic instances for ULift and PLift (#5112) 2024-08-21 11:37:13 +00:00
Prod.lean chore: upstream material on Prod (#5739) 2024-10-16 23:03:44 +00:00
Queue.lean chore: minimize some imports (#5067) 2024-08-16 06:18:11 +00:00
Random.lean feat: use BaseIO at IO.rand (#6102) 2024-11-19 05:26:03 +00:00
Range.lean chore: remove duplicated ForIn instances (#5892) 2024-10-31 07:40:09 +00:00
RArray.lean feat: Lean.RArray (#6070) 2024-11-14 10:56:50 +00:00
Repr.lean feat: change Array.get to take a Nat and a proof (#6032) 2024-11-12 03:30:46 +00:00
SInt.lean feat: define Int8 (#5790) 2024-10-25 06:06:40 +00:00
Stream.lean feat: change Array.get to take a Nat and a proof (#6032) 2024-11-12 03:30:46 +00:00
String.lean feat: some Char, UInt, and Fin theorems (#4231) 2024-05-21 06:11:23 +00:00
Subtype.lean feat: upstream more List lemmas (#4856) 2024-07-28 23:23:59 +00:00
Sum.lean chore: upstream basic material on Sum (#5741) 2024-10-17 01:27:41 +00:00
ToString.lean chore: remove #lang lean4 header 2020-10-25 09:54:07 -07:00
UInt.lean refactor: redefine unsigned fixed width integers in terms of BitVec (#5323) 2024-10-16 07:28:23 +00:00
ULift.lean feat: basic instances for ULift and PLift (#5112) 2024-08-21 11:37:13 +00:00
Vector.lean feat: upstream definition of Vector from Batteries (#6197) 2024-11-24 23:01:32 +00:00
Zero.lean chore: upstream Zero and NeZero 2024-09-10 19:30:09 +10:00