jrr6
e337129108
fix: move auxDeclToFullName to LocalContext to fix name (un)resolution ( #7075 )
...
This PR ensures that names suggested by tactics like `simp?` are not
shadowed by auxiliary declarations in the local context and that names
of `let rec` and `where` declarations are correctly resolved in tactic
blocks.
This PR contains the following potentially breaking changes:
* Moves the `auxDeclToFullName` map from `TermElab.Context` to
`LocalContext`.
* Refactors `Lean.Elab.Term.resolveLocalName : Name → TermElabM …` to
`Lean.resolveLocalName [MonadResolveName m] [MonadEnv m] [MonadLCtx m] :
Name → m …`.
* Refactors the `TermElabM` action `Lean.Elab.Term.withAuxDecl` to a
monad-polymorphic action `Lean.Meta.withAuxDecl`.
* Adds an optional `filter` argument to `Lean.unresolveNameGlobal`.
Closes #6706 , closes #7073 .
2025-03-03 16:10:54 +00:00
Kim Morrison
1ce7047bf5
feat: cleanup of get and back functions on List/Array ( #7059 )
...
This PR moves away from using `List.get` / `List.get?` / `List.get!` and
`Array.get!`, in favour of using the `GetElem` mediated getters. In
particular it deprecates `List.get?`, `List.get!` and `Array.get?`. Also
adds `Array.back`, taking a proof, matching `List.getLast`.
2025-02-17 01:43:45 +00:00
Eric Wieser
a8dc619f8e
doc: split the docstring of LocalContext ( #6340 )
...
This results in better hovers in VSCode, without duplicating information
in a way that might go out of sync.
2024-12-15 21:35:25 +00:00
Kim Morrison
ea221f3283
feat: Nat.(fold|foldRev|any|all)M? take a function which sees the upper bound ( #6139 )
...
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.
2024-11-22 03:05:51 +00:00
Joachim Breitner
60096e7d15
refactor: more idiomatic syntax for if h: ( #5567 )
...
https://github.com/leanprover/lean4/pull/5552 introduced a fair number
of `if h:`, but the slightly preferred style is `if h :`, with a space,
so here goes a quick `sed`.
2024-10-01 15:23:54 +00:00
TomasPuverle
ddec5336e5
chore: switch obvious cases of array "bang"[]! indexing to rely on hypothesis ( #5552 )
...
Update certain uses of `arr[i]!` to use the "provably correct" version
`arr[i]`, in order to use "best practices".
Some motivation and discussion on
[Zulip](https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Lean.20compiler.2Felaborator.20development.20question/near/472934715 )
2024-10-01 11:12:22 +00:00
Scott Morrison
88deb34ddb
chore: upstream omega ( #3367 )
...
Co-authored-by: Joe Hendrix <joe@lean-fro.org>
2024-02-19 00:19:55 +00:00
Henrik Böving
23e49eb519
perf: add prelude to all Lean modules
2024-02-18 14:55:17 -08:00
Scott Morrison
86d032ebf9
chore: upstream Std.Lean.LocalContext ( #3275 )
2024-02-08 07:43:25 +00:00
Sebastian Ullrich
4e52283728
fix: FFI signature mismatches
2023-08-18 19:34:21 +02:00
Gabriel Ebner
ba57ad3480
feat: add implementation-detail hypotheses
2022-10-11 17:24:35 -07:00
Leonardo de Moura
f067382f52
chore: remove old exports
2022-09-27 07:44:38 -07:00
Mario Carneiro
85119ba9d1
chore: move Std.* data structures to Lean.*
2022-09-26 05:46:04 -07:00
Mario Carneiro
ebb5b97d73
chore: move Bootstrap.Data -> Lean.Data
2022-08-31 11:48:57 -07:00
Mario Carneiro
bf89c5a0f5
chore: move Std -> Bootstrap
2022-08-29 01:26:12 -07:00
Leonardo de Moura
f2921993bb
feat: add LocalContext.replaceFVarId
2022-08-03 11:21:55 -07:00
Leonardo de Moura
cbd022e4eb
refactor: replaceFVarIdAtLocalDecl => LocalDecl.replaceFVarId
2022-08-03 10:32:45 -07:00
Leonardo de Moura
78927542b7
chore: doc strings
2022-07-29 21:39:34 -07:00
Mario Carneiro
f6211b1a74
chore: convert doc/mod comments from /- to /--//-! ( #1354 )
2022-07-22 12:05:31 -07:00
Scott Morrison
aeeaaa6efc
feat: size of a LocalContext
2022-07-20 15:31:10 -07:00
Leonardo de Moura
e4b358a01e
refactor: prepare to elaborate a[i] notation using typeclasses
2022-07-09 15:24:22 -07:00
Leonardo de Moura
2ebcf29cde
chore: use a[i]! for array accesses that may panic
2022-07-02 15:12:05 -07:00
E.W.Ayers
1e69639fd2
doc: clarify mkLocalDecl
2022-03-24 14:59:46 -07:00
E.W.Ayers
6f5fc72c06
doc: Docstrings for LocalContext.lean
2022-03-24 14:59:46 -07:00
Leonardo de Moura
12e2a79170
chore: fix codebase after removing auto pure
2022-02-03 18:08:14 -08:00
Leonardo de Moura
bf3a1e94a9
feat: add LocalContext.foldrM
2021-12-02 17:19:30 -08:00
Leonardo de Moura
01615f175c
chore: cleanup
2021-12-02 15:02:57 -08:00
Leonardo de Moura
f4a7ffd8c8
chore: fix codebase and tests
2021-06-29 17:14:52 -07:00
Leonardo de Moura
663a5124f4
chore: naming convention
2021-05-01 21:29:06 -07:00
Leonardo de Moura
ba3d6103fa
chore: spaces
2021-03-27 14:07:45 -07:00
Leonardo de Moura
da8e5150c9
feat: add getNondepPropHyps
2021-03-18 14:25:50 -07:00
Leonardo de Moura
08fc25217d
chore: cleanup, fix docs
2021-03-07 09:01:54 -08:00
Leonardo de Moura
728418aa9d
feat: add ForIn instance for LocalContext
2021-03-03 15:43:48 -08:00
Leonardo de Moura
75466a7cf3
chore: cleanup
2021-01-26 16:01:46 -08:00
Sebastian Ullrich
0c91b3769e
chore: replace variables in src/
2021-01-22 14:36:05 +01:00
Leonardo de Moura
bfc1a16c02
chore: adjust instance param order
2021-01-13 18:31:41 -08:00
Leonardo de Moura
3b6d65c3c3
chore: use deriving Inhabited
2020-12-13 10:09:20 -08:00
Leonardo de Moura
0869f38de4
chore: update structure, class, inductive
2020-11-27 15:09:30 -08:00
Leonardo de Moura
d6f778bec4
refactor: arbitrary without explicit arguments
...
@Kha I was tired of writing `arbitrary _` :)
There 0 places in the stdlib where the type needs to be provided.
If in the future we need to specify the type we can use
`arbitrary (α := <type>)`
2020-11-25 09:07:38 -08:00
Leonardo de Moura
304c80d610
feat: use <|
2020-11-19 09:03:38 -08:00
Leonardo de Moura
c305c2691f
chore: use :=
2020-11-19 07:22:31 -08:00
Leonardo de Moura
defa45ae2f
feat: improve error message
...
when match-expression LHSs still contain metavariables after elaboration
2020-11-09 18:26:14 -08:00
Leonardo de Moura
73926f25fc
chore: cleanup
2020-11-05 13:17:42 -08:00
Leonardo de Moura
13c2a8ff51
chore: remove #lang lean4 header
2020-10-25 09:54:07 -07:00
Leonardo de Moura
a5a153d1fb
refactor: remove foldlFrom from PersistentArray and LocalContext
2020-10-22 16:30:05 -07:00
Leonardo de Moura
af968c60e6
chore: cleanup
2020-10-22 07:32:23 -07:00
Leonardo de Moura
21e6ae645a
chore: move to new frontend
2020-10-21 15:14:13 -07:00
Leonardo de Moura
28664d9dc2
chore: move to new frontend
2020-10-20 17:41:04 -07:00
Sebastian Ullrich
d51101b884
feat: sanitize Syntax in messages
...
Fixes #182
2020-09-29 07:59:22 -07:00
Leonardo de Moura
36bfe7b266
feat: add assertAfter tactic
2020-09-17 19:25:53 -07:00