Commit graph

27690 commits

Author SHA1 Message Date
E.W.Ayers
4c2fedae50 doc: fix @Kha's issues with MonadControl 2022-04-01 10:06:58 +02:00
Leonardo de Moura
4c9c62752e feat: improve checkpoint tactic 2022-03-31 20:51:53 -07:00
Leonardo de Moura
23f41fddb3 feat: basic tactic cache
TODO: move `IO.Ref` to command
2022-03-31 19:53:03 -07:00
Leonardo de Moura
059459b097 fix: occurs check at refine tactic 2022-03-31 18:08:05 -07:00
Leonardo de Moura
87db7a9115 chore: style 2022-03-31 17:33:56 -07:00
Leonardo de Moura
096e4eb6d0 fix: equation generation for nested recursive definitions
The issue was raised on Zulip. The issue is triggered in
declarations containing overlapping patterns and nested recursive
definitions occurring as the discriminant of `match`-expressions.
Recall that Lean 4 generates conditional equations for declarations
containing overlapping patterns.
To address the issue we had to "fold" `WellFounded.fix` applications
back as recursive applications of the functions being defined.

The new test exposes the issue.
2022-03-31 17:04:06 -07:00
Leonardo de Moura
6652d2665d chore: remove old comment 2022-03-31 15:59:31 -07:00
Leonardo de Moura
0ce967ad90 chore: update stage0 2022-03-31 14:53:37 -07:00
Leonardo de Moura
d21e62ecb7 refactor: custom simpMatch for WF module
It is just the skeleton right now.
2022-03-31 14:51:07 -07:00
Leonardo de Moura
1ab57d4fd4 feat: store fixedPrefixSize at WF.EqnInfo 2022-03-31 14:47:52 -07:00
Leonardo de Moura
734902bd3c test: add split list example from Zulip without sorrys 2022-03-31 13:03:58 -07:00
Leonardo de Moura
23f3de5061 chore: proper trace message class 2022-03-31 11:04:42 -07:00
Leonardo de Moura
2bd04285f8 fix: #1087
This commit is using the easy fix described at issue #1087.
Hopefully the performance overhead is small.

closes #1087
2022-03-30 18:48:02 -07:00
Leonardo de Moura
63b9060ce9 chore: fix comments 2022-03-30 16:23:06 -07:00
Leonardo de Moura
3dd0c84c4d chore: enforce naming convetion for tactics 2022-03-30 16:19:05 -07:00
Leonardo de Moura
df063a47fa chore: fix link 2022-03-30 13:44:22 -07:00
Leonardo de Moura
a509b0c615 test: Sign 2022-03-30 13:33:29 -07:00
Leonardo de Moura
1a8840330f test: add test for example that does not work in Lean3
cc @eric-wieser
2022-03-30 12:59:55 -07:00
Leonardo de Moura
e53e088be8 test: make it clear the proofs hold by reflexivity 2022-03-30 12:40:30 -07:00
Leonardo de Moura
6056a4cbfa test: stars_and_bars 2022-03-30 12:38:05 -07:00
Leonardo de Moura
b6ce9fa4b1 doc: add palindromes.lean 2022-03-30 11:22:58 -07:00
Leonardo de Moura
df3a8eb126 feat: add helper List.append simp theorems 2022-03-30 11:11:03 -07:00
Leonardo de Moura
c9926b3a8b chore: update stage0 2022-03-29 18:53:47 -07:00
Leonardo de Moura
46ce3013d0 feat: cleanup local context before elaborating match alternatives RHS 2022-03-29 18:52:07 -07:00
Leonardo de Moura
815364768d chore: update stage0 2022-03-29 15:57:45 -07:00
E.W.Ayers
00151f39a1 doc: explain MonadControl 2022-03-29 15:55:08 -07:00
Leonardo de Moura
d1e4712038 fix: smart unfolding
See new comment to understand the issue.

closes #1081
2022-03-29 15:49:14 -07:00
Leonardo de Moura
a8bb7fab93 fix: typo at findRecArg
The code was not traversing the indices if the datatype has parameters
2022-03-29 12:12:43 -07:00
Leonardo de Moura
86432f1833 feat: improve let-pattern and have-pattern macro expansion 2022-03-29 07:33:22 -07:00
Sebastian Ullrich
6dfddbe2e7 feat: quotation precheck for choice nodes 2022-03-29 10:50:11 +02:00
Leonardo de Moura
c7321e0061 chore: remove revert hack from example 2022-03-28 17:18:36 -07:00
Leonardo de Moura
a06cd40e29 feat: improve match expression support at simp 2022-03-28 17:17:01 -07:00
Leonardo de Moura
5ca9b49235 chore: cleanup proof 2022-03-28 14:58:02 -07:00
Leonardo de Moura
2a37f53fca chore: fix core library 2022-03-28 14:32:04 -07:00
Leonardo de Moura
21f7c297e6 chore: update stage0 2022-03-28 14:30:35 -07:00
Leonardo de Moura
3c964f3b9f feat: substitute auxiliary equations introduced by the split tactic 2022-03-28 14:29:28 -07:00
Leonardo de Moura
314bd3ae4c fix: simpH? at match expression equation theorem generator
closes #1080
2022-03-28 12:48:54 -07:00
Leonardo de Moura
2dea5471da feat: add support for HEq to the subst tactic 2022-03-28 12:23:55 -07:00
Leonardo de Moura
334f4f6c85 test: for issue #1079
The error reported on issue #1079 does not happen in the master branch.

closes #1079
2022-03-28 07:19:55 -07:00
Leonardo de Moura
4e008cf8b7 chore: move to tests 2022-03-27 14:57:33 -07:00
Leonardo de Moura
4801b37cfb fix: exfalso 2022-03-27 14:56:24 -07:00
Leonardo de Moura
a2c9b6a8be chore: rename Substate => State.le 2022-03-27 09:30:55 -07:00
Leonardo de Moura
3fe7db1bbf chore: remove dead theorem 2022-03-27 09:15:55 -07:00
Leonardo de Moura
b2ef678199 doc: constant propagation for simple imperative language 2022-03-27 09:02:37 -07:00
Leonardo de Moura
3b7c3c0017 chore: add TODO's 2022-03-26 18:59:43 -07:00
Leonardo de Moura
11ed51dcb2 doc: example for the tutorial 2022-03-26 18:52:53 -07:00
Sebastian Ullrich
85c7772f4c doc: fix ReST markup 2022-03-26 22:50:04 +01:00
Sebastian Ullrich
bef34e30e7 feat: Nix: render examples using LeanInk+Alectryon 2022-03-26 22:50:04 +01:00
Sebastian Ullrich
282147631f chore: Nix: add LeanInk + Alectyron to docs flake 2022-03-26 22:50:04 +01:00
Sebastian Ullrich
19925f8ec1 chore: Nix: move docs build into sub-flake
workflow is not ideal right now because of poor support for sub-flakes,
but I also don't want the doc input in the main flake...
2022-03-26 22:50:04 +01:00