Commit graph

16202 commits

Author SHA1 Message Date
Leonardo de Moura
be4cf605fd feat: improve error message
closes #331
2021-03-05 13:42:54 -08:00
Leonardo de Moura
5e9ccf19d7 fix: fixes #329 2021-03-05 13:42:54 -08:00
Leonardo de Moura
f080389c3f chore: use double-backtick 2021-03-05 13:42:54 -08:00
Leonardo de Moura
210e2ba3bc chore: cleanup 2021-03-05 13:42:54 -08:00
Leonardo de Moura
54c44d2a6f feat: generate error message if term does not reduce to true 2021-03-04 19:15:09 -08:00
Leonardo de Moura
66f1a88f2c feat: simp [-decl] 2021-03-04 17:50:44 -08:00
Leonardo de Moura
db499a646f chore: add profileitM for simp 2021-03-04 17:27:01 -08:00
Leonardo de Moura
cf11adfce3 chore: workaround to fix build
@Kha This is a hack to try to fix the build.
It seems it is the circular dependency issue again.
Remarks:
- The problem doesn't happen on my Mac.
- I managed to reproduce the Linux error on a virtual machine.

/usr/bin/ld: ../lib/lean/libStd.a(ShareCommon.o): in function `l_Std_ShareCommonT_monadShareCommon___rarg':
ShareCommon.c:(.text+0xc9): undefined reference to `lean_state_sharecommon'
/usr/bin/ld: ../lib/lean/libStd.a(ShareCommon.o): in function `l_Std_PShareCommonT_monadShareCommon___rarg':
ShareCommon.c:(.text+0x259): undefined reference to `lean_persistent_state_sharecommon'
/usr/bin/ld: ../lib/lean/libStd.a(ShareCommon.o): in function `l_Std_ShareCommon_Object_hash___boxed':
ShareCommon.c:(.text+0x59a): undefined reference to `lean_sharecommon_hash'
/usr/bin/ld: ../lib/lean/libStd.a(ShareCommon.o): in function `l_Std_shareCommon___rarg':
ShareCommon.c:(.text+0x6cf): undefined reference to `lean_state_sharecommon'
/usr/bin/ld: ../lib/lean/libStd.a(ShareCommon.o): in function `l_Std_ShareCommon_Object_eq___boxed':
ShareCommon.c:(.text+0x82d): undefined reference to `lean_sharecommon_eq'
/usr/bin/ld: ../lib/lean/libStd.a(ShareCommon.o): in function `l_Std_PShareCommonT_withShareCommon___rarg':
ShareCommon.c:(.text+0x956): undefined reference to `lean_persistent_state_sharecommon'
/usr/bin/ld: ../lib/lean/libStd.a(ShareCommon.o): in function `l_Std_ShareCommonT_withShareCommon___rarg':
ShareCommon.c:(.text+0xae6): undefined reference to `lean_state_sharecommon'
/
2021-03-04 16:38:20 -08:00
Leonardo de Moura
709eaf6873 chore: use lean_internal_panic 2021-03-04 15:46:33 -08:00
Joe Hendrix
9bd60c7519 feat: Nat/Fin/UInt instances of bitwise classes 2021-03-04 15:42:43 -08:00
Joe Hendrix
2831dd6872 feat: Bitwise classes using F# notation. 2021-03-04 15:40:12 -08:00
Leonardo de Moura
92a87ce3a4 perf: remove performace bottleneck
@Kha This is a performance bottleneck in a several benchmarks that
create huge proofs. It may negatively affect other files.
I will keep an eye at the speedcenter.
2021-03-04 15:31:01 -08:00
Leonardo de Moura
fe94731779 perf: do not use decide for rewriting True/False 2021-03-04 13:50:17 -08:00
Leonardo de Moura
9baee4354c chore: add trace.Debug.Meta.Tactic.simp
It is an attempt to distinguish trace messages that are relevant only
for developers.

@Kha I am considering using the prefix `trace.Debug` for (debugging) messages that
are just for us.
2021-03-04 12:27:10 -08:00
Leonardo de Moura
1fedbfb9a3 feat: simp only 2021-03-04 11:58:34 -08:00
Leonardo de Moura
c58b0dd53c chore: prepare for adding simp only 2021-03-04 11:47:38 -08:00
Leonardo de Moura
960e964b71 feat: allow user to "erase" [simp] lemmas 2021-03-04 11:36:12 -08:00
Leonardo de Moura
130a087ecf feat: Lean 3 french single quote notation 2021-03-04 09:43:59 -08:00
Leonardo de Moura
bbed4aed50 chore: remove old code 2021-03-04 07:54:21 -08:00
Leonardo de Moura
51200c916e chore: make explicit user and internal panics 2021-03-04 07:37:33 -08:00
Leonardo de Moura
328c1bd9c2 chore: cleanup 2021-03-04 07:08:18 -08:00
Leonardo de Moura
152a84c468 perf: reject rewrites that produce same expr 2021-03-03 20:20:22 -08:00
Leonardo de Moura
e841f16738 fix: typo in theorem
`()` is `Unit`
2021-03-03 19:50:11 -08:00
Leonardo de Moura
3107473c9f feat: add rename tactic
cc @Kha
2021-03-03 18:32:25 -08:00
Leonardo de Moura
6cdc6cb1d0 feat: add contradiction 2021-03-03 17:00:54 -08:00
Leonardo de Moura
40c340d1a0 feat: helper match methods 2021-03-03 16:16:34 -08:00
Leonardo de Moura
4a095a7da6 feat: helper methods 2021-03-03 16:16:17 -08:00
Leonardo de Moura
7df503c4e4 refactor: add findLocalDeclWithType? 2021-03-03 15:44:32 -08:00
Leonardo de Moura
728418aa9d feat: add ForIn instance for LocalContext 2021-03-03 15:43:48 -08:00
Leonardo de Moura
4aec7579db test: add do equivalence examples 2021-03-03 13:44:30 -08:00
Leonardo de Moura
f1245f9dc7 fix: bug at isDefEqOffset
fixes #326
2021-03-02 17:28:40 -08:00
Leonardo de Moura
12e9d1f7d2 chore: use double backticks 2021-03-02 17:28:40 -08:00
Sebastian Ullrich
6d00fcf1d6 chore: revert release bit 2021-03-02 19:16:35 +01:00
Sebastian Ullrich
26dda3f63d feat: release 4.0.0-m2 2021-03-02 18:37:05 +01:00
Leonardo de Moura
5626b537c7 chore: move nondet to Std/Control/Nondet.lean 2021-03-02 07:57:25 -08:00
Leonardo de Moura
228bc2dd54 refactor: Traversable => ForM 2021-03-02 06:22:22 -08:00
Leonardo de Moura
81ba5485dd refactor: StateCpsT
Define `run` and `run'` using `runK`.
Write auxiliary simp lemmas using `runK`.
2021-03-02 06:22:22 -08:00
Leonardo de Moura
bbf158005f chore: make sure it matches the paper 2021-02-28 17:57:00 -08:00
Leonardo de Moura
35e1f5ad97 refactor: Foldable => Traversable 2021-02-28 16:11:20 -08:00
Leonardo de Moura
9234145955 chore: disable test on Windows
See comment
2021-02-28 11:11:53 -08:00
Leonardo de Moura
9d9f14cd5e chore: mark List.foldlM as protected 2021-02-28 09:14:37 -08:00
Leonardo de Moura
ef4d5950ae feat: add Foldable typeclass
We use it in the "`do` unchained" paper.
It will eventually replace `ForIn`.
2021-02-28 09:00:52 -08:00
Leonardo de Moura
fdbb87c1fd fix: specialize.cpp 2021-02-28 08:29:50 -08:00
Leonardo de Moura
f9483a8068 feat: add ExceptCpsT.runCatch 2021-02-27 18:59:58 -08:00
Leonardo de Moura
481189bcf4 feat: add ExceptCpsT 2021-02-27 18:44:24 -08:00
Leonardo de Moura
238f96b616 feat: add StateCpsT 2021-02-27 18:21:19 -08:00
Leonardo de Moura
df9cde94e6 feat: add support for re-specialization 2021-02-27 16:44:34 -08:00
Leonardo de Moura
6a6f68f6cc feat: missing lemmas 2021-02-27 10:42:30 -08:00
Leonardo de Moura
b9ef6f89a4 chore: cleanup 2021-02-26 19:34:39 -08:00
Leonardo de Moura
1c50603112 fix: ReplaceLocalDecl 2021-02-26 19:31:40 -08:00