Commit graph

26741 commits

Author SHA1 Message Date
Leonardo de Moura
d9d44baabe chore: update stage0 2021-12-10 12:56:00 -08:00
Leonardo de Moura
483f32edd8 feat: in pure code, do use assume Id monad at do notation
This feature produced counterintuitive behavior and confused users.
See discussion at #770.

As pointed out by @tydeu, it is not too much work to write `Id.run <|`
before the `do` when we want to use the `do` notation in pure code.

closes #770
2021-12-10 12:55:14 -08:00
Leonardo de Moura
96e0e1db98 fix: nontermination at simp [OfNat.ofNat]
closes #788
2021-12-10 12:29:33 -08:00
Leonardo de Moura
47c2d335d4 fix: completion for aliases
closes #863
2021-12-10 12:14:11 -08:00
Leonardo de Moura
84f374702d feat: add fields isInstance and isType to InteractiveHypothesis
see https://github.com/leanprover/vscode-lean4/issues/76
2021-12-10 09:08:55 -08:00
Sebastian Ullrich
5796bb835c fix: Nix: shell.nix on macOS 2021-12-10 16:13:45 +01:00
Joscha
d19cfede02 fix: implement suggestions 2021-12-10 15:25:43 +01:00
Joscha
e4406f1785 fix: find references to function parameters in function body
With #861, the server can now connect the occurrences of parameters in the
function definition and in the function body to each other.
2021-12-10 15:25:43 +01:00
Joscha
12ee541622 fix: reference fields in constructor correctly 2021-12-10 15:25:43 +01:00
Joscha
11ba6dc216 test: add simple "find references" test 2021-12-10 15:25:43 +01:00
Joscha
2823cbc87b feat: implement single-file "find references" in LSP server 2021-12-10 15:25:43 +01:00
Leonardo de Moura
e64cfbb9b2 test: well-founded recursion example
see #860
2021-12-09 14:32:06 -08:00
Leonardo de Moura
45f5909dd0 chore: register Elab.resume trace class 2021-12-09 13:37:39 -08:00
Sebastian Ullrich
77aed3a0b1 fix: add binder info nodes for parameter copies in body 2021-12-09 18:12:51 +01:00
Leonardo de Moura
da33f498f5 feat: show argument name at "don't know how to synthesize placeholder" error messages 2021-12-09 06:48:06 -08:00
Leonardo de Moura
ff90459fd2 feat: add Lean.Elab.Term.getMVarErrorInfo? 2021-12-09 06:48:06 -08:00
Leonardo de Moura
914f181641 feat: add ForIn instance for MVarIdMap 2021-12-09 06:48:06 -08:00
Sebastian Ullrich
a91e5d69f3 chore: lean4-mode: save buffer in lean4-diff-test-file 2021-12-09 15:45:45 +01:00
Michael Burge
6d57299396 chore: set Nix flake's defaultPackage to lean-all for interactive use
Allows Nix flake to run tutorial and other simple examples out-of-the-box.

Closes #858
2021-12-09 12:06:25 +01:00
Sebastian Ullrich
265c18accd doc: faq: bullet points look weird and are not anchors 2021-12-09 11:53:25 +01:00
Leonardo de Moura
d3713e8952 chore: update stage0 2021-12-07 16:44:26 -08:00
Leonardo de Moura
41040a81de fix: auxiliary matcher definitions should be treated as abbreviations
The motivation is to prevent performance problems such as the one
described at issue #854.

Fixes #854 after a update stage0
2021-12-07 16:43:20 -08:00
Leonardo de Moura
b0fe1e5d10 feat: add Tomas Skrivan's TC resolution improvement
This commit implements the TC resolution improvement suggested by
Tomas at #815.

Closes #815.
2021-12-06 17:46:11 -08:00
Wojciech Nawrocki
c97487fd65 feat: add blackboard bold characters 2021-12-06 17:45:44 -08:00
Wojciech Nawrocki
c57a664127
feat: lean4-mode: add missing mathematical scripts 2021-12-06 23:16:22 +01:00
Leonardo de Moura
7b6732a137 refactor: ExprDefEq.lean and LevelDefEq.lean are now implementation only files
We use the export/extern idiom to define `isLevelDefEqAux`, and then
define the `isDefEq` user facing functions at `Meta/Basic.lean`.
2021-12-06 09:57:00 -08:00
Sebastian Ullrich
f0fa6dcbc5 refactor: remove unnecessary Lean.Elab.Term imports 2021-12-06 09:28:56 -08:00
Leonardo de Moura
7de749a23c refactor: move setElabConfig to Elab directory
see #849
2021-12-06 08:12:59 -08:00
Severen Redwood
af944e69c0 doc: fix typo in documentation for sorry tactic 2021-12-06 17:12:31 +01:00
Sebastian Ullrich
80c3d88e3e refactor: optimize critical import path 2021-12-06 08:05:24 -08:00
Sebastian Ullrich
458dc64fcb refactor: Lean.Meta should not depend on Lean.Elab 2021-12-06 08:05:24 -08:00
Sebastian Ullrich
45917f2f90 chore: Nix: simplify package instructions 2021-12-04 12:14:47 +01:00
Lorenz Leutgeb
171624d7a7 chore: nix flake update
• Updated input 'flake-utils':
    'github:numtide/flake-utils/f7e004a55b120c02ecb6219596820fcd32ca8772' (2021-06-16)
  → 'github:numtide/flake-utils/74f7e4319258e287b0f9cb95426c9853b282730b' (2021-11-28)
• Updated input 'mdBook':
    'github:leanprover/mdBook/d97081c547e96b41a9a16197882127e7e8917a3d' (2021-09-30)
  → 'github:leanprover/mdBook/45de7509526f09915b19e4eaeec99c8c2031f1ce' (2021-11-19)
• Updated input 'nix':
    'github:NixOS/nix/9c766a40cbbd3a350a9582d0fd8201e3361a63b2' (2021-09-27)
  → 'github:NixOS/nix/2ff71b021379a2c9bbdcb789a93cdc585b3520ca' (2021-12-02)
• Updated input 'nix/lowdown-src':
    'github:kristapsdz/lowdown/0b85e777f3cdacf4210f0d624a0ceec8df612e05' (2021-09-23)
  → 'github:kristapsdz/lowdown/d2c2b44ff6c27b936ec27358a2653caaef8f73b8' (2021-10-06)
• Updated input 'nix/nixpkgs':
    'github:NixOS/nixpkgs/f6551e1efa261568c82b76c3a582b2c2ceb1f53f' (2021-08-11)
  → 'github:NixOS/nixpkgs/82891b5e2c2359d7e58d08849e4c89511ab94234' (2021-09-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ee084c02040e864eeeb4cf4f8538d92f7c675671' (2021-10-04)
  → 'github:NixOS/nixpkgs/391f93a83c3a486475d60eb4a569bb6afbf306ad' (2021-12-01)
• Updated input 'temci':
    'github:parttimenerd/temci/fe4f47173a27cf75f734502fcb88d3d0a3860dca' (2021-07-21)
  → 'github:parttimenerd/temci/a8d78cb52c248f1ae3f2469bbd0916b14ac9ea84' (2021-11-29)
2021-12-03 14:44:19 +01:00
Sebastian Ullrich
2e47a8d5ca test: actually register new benchmark 2021-12-03 09:25:53 +01:00
Leonardo de Moura
b2d88f7bcc fix: bug at saveEqn 2021-12-02 17:38:39 -08:00
Leonardo de Moura
bf3a1e94a9 feat: add LocalContext.foldrM 2021-12-02 17:19:30 -08:00
Leonardo de Moura
bb768b06cd feat: add PersistentArray.foldrM 2021-12-02 17:17:55 -08:00
Leonardo de Moura
01615f175c chore: cleanup 2021-12-02 15:02:57 -08:00
Gabriel Ebner
c7565c446a fix: casts on big-endian 2021-12-02 09:57:58 -08:00
Sebastian Ullrich
5869283694 test: new linear solver benchmark by Marc 2021-12-02 17:03:35 +01:00
Sebastian Ullrich
b6d5cd8155 fix: forward USE_GMP to stage 0 2021-12-02 15:52:48 +01:00
Sebastian Ullrich
1ade96cfab fix: assertion with USE_GMP=OFF 2021-12-02 15:11:47 +01:00
Leonardo de Moura
c42196440f fix: give preference to non-indices at findRecArg
fixes #837
2021-12-01 16:45:19 -08:00
Leonardo de Moura
5d73f0eb01 chore: fix typo 2021-12-01 15:08:41 -08:00
Leonardo de Moura
c54caa1a1f chore: update stage0 2021-12-01 13:48:10 -08:00
Leonardo de Moura
5e9ebf044a fix: insert_mpz 2021-12-01 13:47:05 -08:00
Leonardo de Moura
f0c946aa02 chore: update stage0 2021-12-01 13:38:20 -08:00
Leonardo de Moura
92a5f8f18e fix: insert_mpz 2021-12-01 13:38:20 -08:00
Leonardo de Moura
988b316e3f feat: check "LEAN_ABORT_ON_PANIC" environment variable at lean_internal_panic 2021-12-01 13:38:20 -08:00
Leonardo de Moura
375de32bfb fix: fix_mpz 2021-12-01 13:38:19 -08:00