Commit graph

65 commits

Author SHA1 Message Date
Leonardo de Moura
d6de53a7aa perf: custom splitAnd 2022-03-15 16:59:11 -07:00
Leonardo de Moura
ca253c43e1 refactor: pattern elaboration
We don't use the following hack anymore:
-  /- HACK: `fvarId` is not in the scope of `mvarId`
-     If this generates problems in the future, we should update the metavariable declarations. -/
-  assignExprMVar mvarId (mkFVar fvarId)

This hack was corrupting the `InfoTree`.
2022-03-09 18:19:14 -08:00
Leonardo de Moura
15e6dd262d chore: fix tests 2022-02-09 10:13:52 -08:00
Leonardo de Moura
9d34d9bc5a feat: cache and optimize mkCongrSimp? at simp
see #988
2022-02-07 17:01:21 -08:00
Leonardo de Moura
007f0e1d71 feat: use mkCongrSimp? at simp
TODO: cache auto generated congr theorems, and `removeUnnecessaryCasts`

see #988
2022-02-07 16:45:01 -08:00
Sebastian Ullrich
2c7d67d498 fix: make info of fields synthesized by structure update synthetic 2022-02-06 08:50:07 -08:00
Sebastian Ullrich
0ef5985b5f fix: binder info range for let rec/where 2022-02-06 07:21:51 -08:00
Leonardo de Moura
a028a69159 feat: cache isProp and isDecInst at FunInfo 2022-02-04 17:57:28 -08:00
Leonardo de Moura
f9fa24435d chore: remove problematic instance hasOfNatOfCoe
See #403
See https://github.com/leanprover-community/mathport/issues/94
2022-01-20 14:47:25 -08:00
Sebastian Ullrich
bbec84bb18 chore: more output on trace.Elab.info 2022-01-19 21:40:29 +01:00
Leonardo de Moura
de11f7e1bc feat: add sizeOf spec lemmas as simp theorems 2022-01-17 16:14:38 -08:00
Gabriel Ebner
50abc3e295 fix: correctly pretty-print @Eq 2022-01-12 09:41:41 +01:00
Leonardo de Moura
57b8912279 chore: fix tests 2022-01-10 14:33:02 -08:00
Leonardo de Moura
92a511be29 chore: fix test 2021-12-18 11:05:37 -08:00
Leonardo de Moura
89edc184fb feat: compleation at #print command 2021-12-15 13:13:39 -08:00
Gabriel Ebner
b905824024 chore: fix tests 2021-12-15 11:42:38 +00:00
Leonardo de Moura
5b14caf329 fix: missing addTermInfo at elabAtomicDiscr
closes #820
2021-12-14 17:20:46 -08:00
Sebastian Ullrich
fddbc3c09e fix: empty option completion 2021-12-10 14:19:19 -08:00
Sebastian Ullrich
77aed3a0b1 fix: add binder info nodes for parameter copies in body 2021-12-09 18:12:51 +01:00
Sebastian Ullrich
4f15805787 feat: annotate declarations with term infos 2021-11-27 07:25:15 -08:00
Sebastian Ullrich
25ebc68b87 fix: emit info tree on command without elaborator
Fixes #792
2021-11-16 10:44:17 +01:00
Sebastian Ullrich
6e4fcaaea9 fix: produce info tree even on macro or elab failure 2021-11-11 08:39:31 +01:00
Gabriel Ebner
ce15ea98c5 feat: predictable naming for macro_rules 2021-10-26 20:19:27 +02:00
Leonardo de Moura
42773941ed chore: fix test 2021-10-02 17:00:07 -07:00
Leonardo de Moura
4c0ae51a81 chore: fix test 2021-09-16 10:13:34 -07:00
Leonardo de Moura
6fb2a2b47b chore: remove notation for HEq
We don't really needed it here.
2021-09-15 08:06:32 -07:00
Leonardo de Moura
9b0dfc4b90 feat: convert "orphan" kernel nat literals n into ofNat n 2021-09-08 14:58:13 -07:00
Leonardo de Moura
eb94e87195 chore: fix some tests 2021-09-07 17:20:21 -07:00
Leonardo de Moura
c93982d10c chore: disable pp.analyze for now
see #651
2021-09-07 07:51:43 -07:00
Leonardo de Moura
33a0da8c6f chore: remove simp annotation from PUnit.eq_punit
closes #635
2021-08-19 11:22:13 -07:00
Leonardo de Moura
99e8a98f06 feat: allow universes metavariables from any depth to be assigned when ignoreLevelDepth is true
We set `ignoreLevelDepth` to true during type class resolution.
2021-08-18 20:20:51 -07:00
Leonardo de Moura
4239ae69f6 chore: fix tests 2021-08-13 17:24:58 -07:00
Leonardo de Moura
1d9d8c7e75 chore: fix tests
close #402
2021-08-07 13:22:58 -07:00
Leonardo de Moura
789c7073dc fix: avoid eager TC synthesis at isDefEq 2021-08-05 12:09:22 -07:00
Daniel Selsam
aefd31b2a2 feat: better bottom-up/structure-type heuristics 2021-08-03 09:13:18 +02:00
Daniel Selsam
702211db2a feat: pp.analyze detect when struct-inst type needed 2021-08-03 09:13:18 +02:00
Daniel Selsam
c3d62c1076 chore: patch tests for pp.analyze default 2021-08-03 09:13:18 +02:00
Leonardo de Moura
49a87ceb4d feat: add basic isDefEq cache 2021-07-28 16:29:44 -07:00
Wojciech Nawrocki
54f2769e13 fix: test 2021-07-24 10:45:28 +02:00
Leonardo de Moura
1b128848b2 chore: fix test 2021-07-23 16:04:23 -07:00
Sebastian Ullrich
4a4b4c1ef4 fix: mkAtomFrom: generate synthetic position like other *From functions
Also consistently use binders as reference position for an elided binder type.
Before, type errors were always given extent 1, the length of the
synthetic `_` token.
2021-07-19 13:24:59 -07:00
Wojciech Nawrocki
55a506be84 chore: adapt test 2021-07-19 09:55:37 +02:00
Leonardo de Moura
818efe719e fix: fixes #533 2021-06-29 15:20:46 -07:00
Sebastian Ullrich
20fa503803 fix: move elabCommand parts that should happen only once into new function 2021-06-29 06:34:15 -07:00
Sebastian Ullrich
a993e0baa0 fix: non-dependent arrow should not extend local context 2021-06-29 06:31:37 -07:00
Sebastian Ullrich
8454102fc4 chore: fix tests 2021-06-22 10:45:29 +02:00
Sebastian Ullrich
30a0954424 refactor: revert MonadRef changes 2021-06-21 10:17:26 -07:00
Sebastian Ullrich
652097e184 fix: separate ElabInfo from MacroExpansionInfo, always emit the former before the latter
This way all hover info is contained in the former info node kinds
2021-06-21 10:17:26 -07:00
Sebastian Ullrich
459e2e8cea chore: print info tree elaborators 2021-06-21 10:17:26 -07:00
Sebastian Ullrich
da4c46370d feat: store elaborator declaration name in info tree 2021-06-21 10:17:26 -07:00