Leonardo de Moura
3b259afaf0
chore: fix tests
2022-06-14 16:43:22 -07:00
Leonardo de Moura
346c4beb70
feat: elaborate opaque command
2022-06-14 16:36:24 -07:00
Leonardo de Moura
794021b9e4
chore: adjust codebase
...
`opaque` is now a command keyword
2022-06-14 16:32:53 -07:00
Leonardo de Moura
5193c6d0ef
chore: update stage0
2022-06-14 16:23:49 -07:00
Leonardo de Moura
05778565ab
feat: add opaque command
...
It will replace the `constant` command. See
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/What.20is.20.60opaque.60.3F/near/284926171
2022-06-14 16:22:36 -07:00
Jakob von Raumer
d7cb93e9e4
feat: allow conv mode's arg command to access implicit arguments
2022-06-14 16:15:38 -07:00
Leonardo de Moura
d78e7cd011
feat: macro expand cases and induction tactics multiple LHSs
2022-06-14 14:18:52 -07:00
Leonardo de Moura
3a1dc5e066
fix: support new inductionAlt syntax at Linter/Basic.lean
2022-06-14 11:31:49 -07:00
Leonardo de Moura
bd2cccf287
chore: use double tick
2022-06-14 11:30:55 -07:00
Leonardo de Moura
2dad133208
chore: update stage0
2022-06-14 11:26:06 -07:00
Leonardo de Moura
daeb271678
feat: update induction and cases syntax
...
We can now write
```
induction x with
| foo | bar => ...
| boo => ...
```
TODO: expand alternatives containing multiple LHSs.
2022-06-14 11:25:15 -07:00
Leonardo de Moura
05a72a9e00
chore: update stage0
2022-06-14 11:17:33 -07:00
Leonardo de Moura
7c9b5b7147
feat: prepare to support multi-cases at cases and induction
...
We want to be able to write
```
induction x with
| foo | bar => ...
| boo => ...
```
2022-06-14 11:16:58 -07:00
Sebastian Ullrich
43b08239b0
fix: further conv goal state refinements
2022-06-14 11:09:47 +02:00
Sebastian Ullrich
7bb94abb62
feat: trace.Elab.input
...
Unlike Elab.command, it does not contain macro expansions
2022-06-14 10:41:56 +02: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
13e286f545
doc: fix docstring for InteractiveGoal
2022-06-13 16:32:01 -07:00
E.W.Ayers
2edf02544e
chore: rm ExprWithCtx
...
We will make this a separate PR
2022-06-13 16:32:01 -07:00
E.W.Ayers
367bde3601
chore: revert "refactor: replace InfoWithCtx with ExprWithCtx"
...
This reverts commit db342793d53c986b8794084196552c33711f9091.
2022-06-13 16:32:01 -07:00
E.W.Ayers
f64cb95eca
refactor: replace InfoWithCtx with ExprWithCtx
...
This is potentially controversial. There are still some [todo]s that need sorting.
2022-06-13 16:32:01 -07:00
E.W.Ayers
3d561a3ab0
doc: add docstrings for interactive
2022-06-13 16:32:01 -07:00
E.W.Ayers
e3d2080232
refactor: PPExprTaggedRequest -> PPExprTaggedParams
2022-06-13 16:32:01 -07:00
E.W.Ayers
fd66e70d1e
fix: explicit structure for PPExprTaggedRequest
2022-06-13 16:32:01 -07:00
E.W.Ayers
69facfbe8e
fix: remove Optional from InteractiveHypothesisBundle.fvarIds
2022-06-13 16:32:01 -07:00
E.W.Ayers
45e3c72be7
refactor: InteractiveHypothesis → InteractiveHypothesisBundle
2022-06-13 16:32:01 -07:00
Ed Ayers
5130da82a8
doc: src/Lean/Widget/InteractiveGoal.lean
...
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
2022-06-13 16:32:01 -07:00
E.W.Ayers
cea53fc53e
fix: tests
...
Caused by a classic imperative programming bug oops
2022-06-13 16:32:01 -07:00
E.W.Ayers
f2a874ebaa
fix: handle inaccessible fvar names correctly
2022-06-13 16:32:01 -07:00
E.W.Ayers
675147dcfc
fix: make InteractiveHyp.fvarIds optional
...
This is for backwards compat.
2022-06-13 16:32:01 -07:00
E.W.Ayers
0f61d1dc59
refactor: key fields are now f/mvarid fields
2022-06-13 16:32:01 -07:00
E.W.Ayers
4165b7e8ba
doc: ToHide.collect
2022-06-13 16:32:01 -07:00
E.W.Ayers
6e1c9653d9
feat: Add a key field to InteractiveGoal
...
This is used to uniquely identify InteractiveGoals and
InteractiveHypotheses. This makes it easier to do
contextual suggestions: eg the infoview can send a message
saying "the user clicked on subexpression 5 in hypothesis N in goal G"
where N and G are unique identifiers for a goal rather than pretty names
which may be non-unique or indices which may be difficult to compute
(eg in infoview there is a mode where hypotheses are reversed or filtered).
While adding these I also refactored the InteractiveGoal generating function.
I unwrapped a fold in to a for/in loop with mutating variables which is a
little easier to read.
2022-06-13 16:32:01 -07:00
Wojciech Nawrocki
351be06a21
feat: ppExprTagged RPC call
2022-06-13 16:32:01 -07:00
Wojciech Nawrocki
4972f214be
fix: sorried errors in rpcServerMethod
2022-06-13 16:32:01 -07:00
Leonardo de Moura
c2fdcad443
chore: update stage0
2022-06-13 16:23:53 -07:00
Leonardo de Moura
e52a7bdf42
feat: let/if indentation in do blocks
...
closes #1120
2022-06-13 16:18:49 -07:00
Leonardo de Moura
415f5f2a42
chore: style
2022-06-13 15:59:55 -07:00
Leonardo de Moura
dee712ec7e
chore: fix test
...
Pushed the wrong file in previous commit.
see #490
2022-06-13 14:06:56 -07:00
Leonardo de Moura
9ba5831de8
fix: _root_ prefix in declarations
...
closes #490
2022-06-13 14:03:18 -07:00
Leonardo de Moura
328586988c
chore: style
2022-06-13 13:58:29 -07:00
Sebastian Ullrich
bda871da25
feat: RBTree.union/diff
2022-06-13 11:12:51 +02: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
Wojciech Nawrocki
46257dfb0e
feat: show bitwise terminates
2022-06-12 14:01:05 -07:00
Wojciech Nawrocki
4d05803782
feat: WF lemma for Nat division
2022-06-12 14:01:05 -07:00
Wojciech Nawrocki
2a53857928
feat: add strong Nat induction principle
2022-06-12 14:01:05 -07:00
Wojciech Nawrocki
ff15e31e85
refactor: remove redundant theorem
2022-06-12 14:01:05 -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
8a8a8b5e48
chore: style
2022-06-10 18:27:43 -07:00
Jakob von Raumer
033618ad5e
fix: indices in conv arg now count arguments with forward dependencies
2022-06-10 18:25:34 -07:00