Commit graph

1173 commits

Author SHA1 Message Date
Leonardo de Moura
dba1f79170 feat: improve isDefEq for projections
When solving `a.i =?= b.i`, we first reduce `a` and `b` without using
delta reduction. If at least one become a structure, we reduce the
projection. Otherwise, we try to solve `a =?= b`, only reduce `a.i`
and `b.i` if it fails.
2022-06-30 17:00:43 -07:00
Leonardo de Moura
f3bb0be045 feat: add flag to control projection reduction at whnfCore 2022-06-30 16:48:00 -07:00
Leonardo de Moura
2c152dae7d chore: remove unnecessary partial 2022-06-30 15:47:31 -07:00
Leonardo de Moura
e9e75af834 doc: Lean/Meta/Basic.lean
Add some docstrings
2022-06-30 13:32:19 -07:00
Leonardo de Moura
98b8e300e1 feat: add evalTerm and Meta.evalExpr
These functions were in Mathlib 4.
2022-06-28 19:14:40 -07:00
Leonardo de Moura
c498285d94 chore: add missing double backtick 2022-06-27 09:56:47 -07:00
E.W.Ayers
cc9293af09 doc: isDefEq explain mvar levels 2022-06-24 15:24:52 -07:00
Leonardo de Moura
1fd2b17a92 fix: bug at addDependencies
closes #1247
2022-06-24 06:20:00 -07:00
Leonardo de Moura
69a446c8d1 feat: add field all to DefinitionVal and TheoremVal
Remark: we need an update stage0, and the field is not being updated
correctly set yet.
2022-06-23 16:13:26 -07:00
Leonardo de Moura
96a72d67f2 fix: avoid unnecessary dependencies at mkMatcher
fixes #1237
2022-06-23 10:21:32 -07:00
Leonardo de Moura
17fa60e1ec chore: remove dead code 2022-06-23 09:31:52 -07:00
Leonardo de Moura
a802544c90 fix: intro tactic at let-expr 2022-06-22 16:10:33 -07:00
Leonardo de Moura
2a940dd4ae feat: add Expr.collectFVars, LocalDecl.collectFVars, Pattern.collectFVars, and AltLHS.collectFVars
They are all in `MetaM`.

These are helper functions for issue #1237. We need to "cleanup" the
local context before trying to compile the match-expression.

see issue #1237
2022-06-22 15:53:43 -07:00
Leonardo de Moura
9678be4d81 fix: store discharge depth when caching simp results
Closes #1234
2022-06-21 15:35:47 -07:00
Leonardo de Moura
65d24f4e39 fix: typo at LinearExpr.toExpr
closes #1236
2022-06-21 14:28:26 -07:00
Leonardo de Moura
e442fbbf54 fix: remove kabstractWithPred
The function `kabstractWithPred` was never used, and introduced the
bug exposed by issue #1235.

fixes #1235
2022-06-20 16:35:18 -07:00
E.W.Ayers
114bbc78ed test: numBinders 2022-06-17 17:47:51 -07:00
E.W.Ayers
8b1130c6dd test: replaceSubexpr pure p e = e
This found a bug in lensCoord which I fixed.
2022-06-17 17:47:51 -07:00
E.W.Ayers
4a70143aaf style: minor formatting changes 2022-06-17 17:47:51 -07:00
E.W.Ayers
3c14c97195 test: add unit test for Expr lens 2022-06-17 17:47:51 -07:00
E.W.Ayers
0707e4d442 fix: traverseChildrenWithPos bug 2022-06-17 17:47:51 -07:00
E.W.Ayers
0e84f67d99 feat: with pos expr traversal functions 2022-06-17 17:47:51 -07:00
E.W.Ayers
562070fe8b refactor: more extract methods from transform 2022-06-17 17:47:51 -07:00
E.W.Ayers
8311c88fd0 refactor: extract methods from Lean.Meta.transform
Lean.Meta.transform is created with a series of recursive
visit functions. However these visit functions are useful
on their own outside of transform for traversing expressions.

This commit moves the visit functions outside the main function.
2022-06-17 17:47:51 -07:00
E.W.Ayers
ece1c1085c feat: add Expr lensing functions using SubExpr.Pos 2022-06-17 17:47:51 -07:00
Leonardo de Moura
bbc196eeb7 fix: make sure WF/Fix.lean tolerates MatcherApp.addArg? failures
see #1228
2022-06-17 17:37:33 -07:00
Leonardo de Moura
3228db29dd chore: use double ticks 2022-06-15 07:17:17 -07:00
Leonardo de Moura
f6d1e48cb8 fix: constant => opaque issues 2022-06-14 17:19:54 -07:00
Leonardo de Moura
02c4e548df feat: replace constant with opaque 2022-06-14 17:02:59 -07:00
Leonardo de Moura
77ae79be46 chore: use let/if in do blocks 2022-06-13 17:10:14 -07:00
Leonardo de Moura
7dbdfa090a chore: remove debugging leftovers 2022-06-13 16:37:31 -07:00
E.W.Ayers
4165b7e8ba doc: ToHide.collect 2022-06-13 16:32:01 -07:00
Leonardo de Moura
fb574af873 fix: mkSplitterProof
This commit fixes the first issue reported at #1179

closes #1179
2022-06-12 19:38:54 -07:00
Leonardo de Moura
09d1530d8e feat: detect unexpected occurrences of match-expression minor premises
The error message is far from perfect, but it is better than ignoring
the issue and failing later with an even more incomprehensible error
message.

see #1179
2022-06-12 12:07:42 -07:00
Leonardo de Moura
17db981880 fix: equation theorem for match with more than one "as" pattern
see #1195
see #1179
2022-06-10 18:23:13 -07:00
Leonardo de Moura
d0499ebf4d fix: fixes #1200 2022-06-08 10:18:05 -07:00
Leonardo de Moura
041827bed5 chore: unused variables 2022-06-07 17:54:10 -07:00
Sebastian Ullrich
f9e2a65f75 chore: further cleanup
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
2022-06-07 16:37:45 -07:00
Sebastian Ullrich
8eefbf5227 chore: further clean up refactored code 2022-06-07 16:37:45 -07:00
Sebastian Ullrich
fb2a2b3de2 fix: fixup previous commit 2022-06-07 16:37:45 -07:00
Sebastian Ullrich
ae7b895f7a refactor: unname some unused variables 2022-06-07 16:37:45 -07:00
Leonardo de Moura
09ddf76029 feat: simp_all now uses dependent hypotheses for simplification
However, it does not simplify them.

closes #1194
2022-06-06 18:31:34 -07:00
Leonardo de Moura
5055855637 feat: improve default simp discharge method
closes #1193
2022-06-06 17:29:12 -07:00
Leonardo de Moura
3d04899e42 refactor: add unifyEq? 2022-06-06 15:53:40 -07:00
Leonardo de Moura
c9c9b8d835 chore: avoid code duplication 2022-06-06 15:53:40 -07:00
Leonardo de Moura
7dab01be1b chore: unused eqns 2022-06-06 15:53:40 -07:00
Leonardo de Moura
2832442e7a fix: unfold declarations tagged with [matchPattern] at reduceMatcher? even if transparency setting is not the default one
see #1193

It fixes one of the issues exposed at the issue above.
2022-06-06 15:53:40 -07:00
Leonardo de Moura
e24483d6d3 doc: expand isGenDiseq comment 2022-06-06 15:53:40 -07:00
Wojciech Nawrocki
5b13a4909b
doc: fix transform docstring 2022-06-06 23:06:47 +02:00
Leonardo de Moura
22281f25c8 fix: typo at sameHeadSymbol
see #1190
2022-06-06 07:46:57 -07:00