lean4-htt/src/Init
Henrik Böving 19e06acc65
refactor: redefine unsigned fixed width integers in terms of BitVec (#5323)
I made a few choices so far that can probably be discussed:
- got rid of `modn` on `UInt`, nobody seems to use it apart from the
definition of `shift` which can use normal `mod`
- removed the previous defeq optimized definition of `USize.size` in
favor for a normal one. The motivation was to allow `OfNat` to work
which doesn't seem to be necessary anymore afaict.
- Minimized uses of `.val`, should we maybe mark it deprecated?
- Mostly got rid of `.val` in basically all theorems as the proper next
level of API would now be `.toBitVec`. We could probably re-prove them
but it would be more annoying given the change of definition.
- Did not yet redefine `log2` in terms of `BitVec` as this would require
a `log2` in `BitVec` as well, do we want this?
- I added a couple of theorems around the relation of `<` on `UInt` and
`Nat`. These were previously not needed because defeq was used all over
the place to save us. I did not yet generalize these to all types as I
wasn't sure if they are the appropriate lemma that we want to have.
2024-10-16 07:28:23 +00:00
..
Control chore: cleanup unused variables (#5579) 2024-10-02 01:51:22 +00:00
Data refactor: redefine unsigned fixed width integers in terms of BitVec (#5323) 2024-10-16 07:28:23 +00:00
Grind feat: add grind core module (#4249) 2024-05-22 03:50:36 +00:00
Omega chore: update copyrights (#5449) 2024-09-24 05:27:53 +00:00
System feat: better #eval command (#5627) 2024-10-08 20:51:46 +00:00
BinderPredicates.lean chore: upstream set notation (#3339) 2024-02-15 02:08:45 +00:00
ByCases.lean chore: cleaning up redundant simp lemmas (#5381) 2024-09-18 10:06:29 +00:00
Classical.lean chore: move @[simp] from exists_prop' to exists_prop (#5529) 2024-10-01 05:38:18 +00:00
Coe.lean fix: make Lean.Internal.liftCoeM and Lean.Internal.coeM unfold (#3404) 2024-02-27 22:17:46 +00:00
Control.lean feat: add ExceptCpsT 2021-02-27 18:44:24 -08:00
Conv.lean feat: let unfold do zeta-delta reduction of local definitions (#4834) 2024-09-07 21:48:08 +00:00
Core.lean refactor: redefine unsigned fixed width integers in terms of BitVec (#5323) 2024-10-16 07:28:23 +00:00
Data.lean feat: upstream List.mapIdx, and add lemmas (#5696) 2024-10-14 07:25:02 +00:00
Dynamic.lean chore: snake-case attributes (part 2) 2022-10-19 09:28:08 -07:00
Ext.lean feat: add [ext] attribute to Array.ext (#4970) 2024-08-09 12:40:39 +00:00
GetElem.lean fix: must not reduce ite in the discriminant of match-expression when reducibility setting is .reducible (#5419) 2024-09-23 12:26:53 +00:00
Grind.lean feat: add grind core module (#4249) 2024-05-22 03:50:36 +00:00
Guard.lean feat: upstream guard_expr (#3297) 2024-02-11 23:25:04 +00:00
Hints.lean fix: Not should not be reducible, special support for Ne 2021-02-15 17:36:11 -08:00
MacroTrace.lean chore: reorganising to reduce imports (#3790) 2024-03-27 11:15:01 +00:00
Meta.lean chore: remove repeated words (#5438) 2024-09-24 03:40:11 +00:00
MetaTypes.lean feat: expose index option to dsimp tactic (#5071) 2024-08-19 07:57:16 +00:00
Notation.lean feat: better #eval command (#5627) 2024-10-08 20:51:46 +00:00
NotationExtra.lean fix: make sure name literals use escaping when pretty printing (#5639) 2024-10-08 17:36:49 +00:00
Omega.lean chore: update copyrights (#5449) 2024-09-24 05:27:53 +00:00
Prelude.lean refactor: redefine unsigned fixed width integers in terms of BitVec (#5323) 2024-10-16 07:28:23 +00:00
PropLemmas.lean chore: cleanup unused variables (#5579) 2024-10-02 01:51:22 +00:00
RCases.lean doc: typo in rcases docs (#3796) 2024-03-28 07:31:01 +00:00
ShareCommon.lean refactor: sharecommon (#4887) 2024-07-31 19:13:12 +00:00
SimpLemmas.lean chore: cleaning up redundant simp lemmas (#5381) 2024-09-18 10:06:29 +00:00
Simproc.lean chore: fix simproc doc-string (#3800) 2024-03-28 17:54:52 +00:00
SizeOf.lean refactor: redefine unsigned fixed width integers in terms of BitVec (#5323) 2024-10-16 07:28:23 +00:00
SizeOfLemmas.lean refactor: redefine unsigned fixed width integers in terms of BitVec (#5323) 2024-10-16 07:28:23 +00:00
System.lean feat: Mutex, Condvar 2022-09-05 08:52:46 -07:00
Tactics.lean chore: upstream classical tactic (#5730) 2024-10-16 03:35:41 +00:00
TacticsExtra.lean feat: incremental next and tactic if (#4459) 2024-06-18 12:36:59 +00:00
Util.lean feat: add some low level helper APIs (#4778) 2024-07-17 20:12:05 +00:00
WF.lean chore: cleanup unused variables (#5579) 2024-10-02 01:51:22 +00:00
WFTactics.lean chore: fix spelling mistakes in src/Init/ (#5427) 2024-09-23 21:09:58 +00:00