lean4-htt/src/Init
Rob23oba b7f433c5b9
fix: behavior of String.prev (#9441)
This PR fixes the behavior of `String.prev`, aligning the runtime
implementation with the reference implementation. In particular, the
following statements hold now:
- `(s.prev p).byteIdx` is at least `p.byteIdx - 4` and at most
`p.byteIdx - 1`
- `s.prev 0 = 0`
- `s.prev` is monotone

Closes #9439
2025-07-21 10:50:14 +00:00
..
Control refactor: module-ize remainder of Std (#9195) 2025-07-17 11:43:57 +00:00
Data fix: behavior of String.prev (#9441) 2025-07-21 10:50:14 +00:00
Grind refactor: module-ize remainder of Std (#9195) 2025-07-17 11:43:57 +00:00
GrindInstances fix: refactor grind's module/ring design to avoid a diamond (#9168) 2025-07-03 06:50:46 +00:00
Internal feat: eliminate letFun support, deprecate let_fun syntax (#9086) 2025-06-30 02:10:18 +00:00
Omega feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
System refactor: module-ize remainder of Std (#9195) 2025-07-17 11:43:57 +00:00
BinderNameHint.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
BinderPredicates.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
ByCases.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Classical.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Coe.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Control.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Conv.lean feat: eliminate letFun support, deprecate let_fun syntax (#9086) 2025-06-30 02:10:18 +00:00
Core.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Data.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Dynamic.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Ext.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
GetElem.lean feat: pattern inference using symbol priorities in grind (#9182) 2025-07-03 16:47:38 -07:00
Grind.lean feat: pattern inference using symbol priorities in grind (#9182) 2025-07-03 16:47:38 -07:00
GrindInstances.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Guard.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Hints.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Internal.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
MacroTrace.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Meta.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
MetaTypes.lean perf: use mkCongrSimpForConst? (#9305) 2025-07-11 02:29:20 +00:00
Notation.lean feat: update and explain "unknown constant" and "failed to infer type" errors (#9423) 2025-07-18 19:20:31 +00:00
NotationExtra.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Omega.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Prelude.lean refactor: module-ize remainder of Std (#9195) 2025-07-17 11:43:57 +00:00
PropLemmas.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
RCases.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
ShareCommon.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
SimpLemmas.lean fix: performance issue when elaborating match-expressions with many literals (#9372) 2025-07-15 03:52:23 +00:00
Simproc.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
SizeOf.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
SizeOfLemmas.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Syntax.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
System.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Tactics.lean feat: improve split error messages (#9424) 2025-07-18 22:36:10 +00:00
TacticsExtra.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Task.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Try.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Util.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
WF.lean fix: module system: remove WellFounded-specific hacks (#9143) 2025-07-02 11:58:50 +00:00
WFTactics.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
While.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00