Sebastian Ullrich
bdd5185a7f
fix: serve + print-paths without lakefile
2022-03-21 08:51:59 -04:00
Leonardo de Moura
cba204e3cb
chore: update stage0
2022-03-20 18:47:28 -07:00
Leonardo de Moura
321d6b0e67
feat: support for user-defined simp attributes in the simp tactic.
...
See `RELEASES.md`
TODO: make sure `-thm` also removes `thm` from user-defined simp attributes.
2022-03-20 18:45:57 -07:00
Leonardo de Moura
a2690d5278
feat: improve #eval command
2022-03-20 15:18:47 -07:00
Leonardo de Moura
7b1091770c
test: Repr for HList
2022-03-20 15:05:34 -07:00
Leonardo de Moura
6d926c7989
feat: macro expand match alternatives
...
see #371
This commit does not implement all features discussed in this issue.
It has implemented it as a macro expansion. Thus, the following is
accepted
```lean
inductive StrOrNum where
| S (s : String)
| I (i : Int)
def StrOrNum.asString (x : StrOrNum) :=
match x with
| I a | S a => toString a
```
It may confuse the Lean LSP server. The `a` on `toString` shows the
information for the first alternative after expansion (i.e., `a` is an `Int`).
After expansion, we have
```
def StrOrNum.asString (x : StrOrNum) :=
match x with
| I a => toString a
| S a => toString a
```
2022-03-20 14:20:13 -07:00
Leonardo de Moura
51ee6fe4f1
chore: fix test
2022-03-20 13:27:19 -07:00
Leonardo de Moura
476bcee8ba
chore: update stage0
2022-03-20 13:25:03 -07:00
Leonardo de Moura
8f4d58893f
feat: update match parser
...
Support for
```
def fib (x : Nat) : Nat :=
match x with
| 0 | 1 => 1
| x+2 => fib (x+1) + fib x
```
TODO: expand `matchAlts`
2022-03-20 13:22:39 -07:00
Leonardo de Moura
87bb299f08
feat: add Iterator.atEnd
2022-03-20 11:40:46 -07:00
Leonardo de Moura
4f9dcd55ce
chore: update stage0
2022-03-20 10:59:21 -07:00
Leonardo de Moura
3862e7867b
refactor: make String.Pos opaque
...
TODO: this refactoring exposed bugs in `FuzzyMatching` and `Lake`
closes #410
2022-03-20 10:47:13 -07:00
Jakob von Raumer
a91f92c11e
feat: allow constants to be type classes
...
There no reason against constants to be type classes so it is just the check in `addClass` that is needed to be modified.
Closes #1054
2022-03-20 08:03:34 -07:00
Leonardo de Moura
6e94801c00
chore: update stage0
2022-03-19 16:55:26 -07:00
Leonardo de Moura
1b357db3b0
fix: nasty bug at findDeclarationRangesCore?
...
We must search the environment extension first, and then the builtin
table. Otherwise, the builtin declarations do not change when we
modify the files.
closes #1021
2022-03-19 16:53:22 -07:00
Leonardo de Moura
ed7c8904a9
fix: propagate local and scope modifiers at elab_rules
...
closes #1039
2022-03-19 16:08:06 -07:00
Leonardo de Moura
82cd5c8eef
chore: cleanup
2022-03-19 15:52:04 -07:00
E.W.Ayers
da68f629f9
style: Apply.lean
...
Apply Leo's review requests.
2022-03-19 15:51:40 -07:00
E.W.Ayers
d954706fcf
feat: ApplyNewGoals config for apply
...
Lean.Meta.Tactic.apply now accepts an ApplyConfig argument.
`apply` now changes which metavariables are stored with choice
of the newGoals config.
This allows one to implement `fapply` and `eapply`.
An example of this is given in tests/lean/run/apply_tac.lean.
Closes #1045
2022-03-19 15:51:40 -07:00
casavaca
bf4ba1583d
feat: add simp theorem for List, (as.map f).length = as.length
2022-03-19 11:35:21 -07:00
Leonardo de Moura
72b6f4d528
chore: avoid unnecessary h :s
2022-03-19 11:21:37 -07:00
Leonardo de Moura
f29319647f
chore: update stage0
2022-03-19 11:16:24 -07:00
Leonardo de Moura
4f318d3304
test: use dot notation in the example
2022-03-19 10:39:58 -07:00
Leonardo de Moura
d1eb180aae
test: add non mutually recursive version
2022-03-19 10:38:39 -07:00
Leonardo de Moura
bdb2e9597a
chore: naming convention
2022-03-19 10:20:42 -07:00
Leonardo de Moura
6c8322d20a
test: use builtin Char.isDigit and Char.toNat
2022-03-19 10:18:34 -07:00
Leonardo de Moura
a8ddb56e0e
chore: cleanup David's example
2022-03-19 10:13:27 -07:00
Leonardo de Moura
c95d5f25a3
feat: convert ites into dites in the WF module
...
Motivation: the condition is often used in termination proofs.
2022-03-19 10:11:50 -07:00
Leonardo de Moura
9fed5bda7d
chore: remove workarounds
2022-03-19 09:44:57 -07:00
Leonardo de Moura
544421faf5
chore: update stage0
2022-03-19 09:43:57 -07:00
Leonardo de Moura
36d955e8cc
feat: use simpler encoding for nonmutually recursive definitions
2022-03-19 09:43:18 -07:00
Leonardo de Moura
4b374d4441
fix: Nat/Div.lean, add decreasing_with combinator, and rename decreasing_tactic_trivial
2022-03-19 09:40:10 -07:00
Leonardo de Moura
5e3b3494e2
chore: update stage0
2022-03-19 09:30:34 -07:00
Leonardo de Moura
c7cdbf8ff8
feat: improve auto generated termination_by a bit
2022-03-19 09:28:19 -07:00
Leonardo de Moura
64c5cda612
test: David's lex with string iterators
2022-03-19 09:15:29 -07:00
Leonardo de Moura
9722aeaf32
feat: use String.Iterator.sizeOf_next_lt in the builtin decreasing_tactic
2022-03-19 09:04:40 -07:00
Leonardo de Moura
7dd38a7194
feat: add with_unfolding_all and rfl' tactics
2022-03-19 08:57:04 -07:00
Leonardo de Moura
63e42a8179
chore: fix copyright date
...
File was created in 2022.
2022-03-19 08:44:21 -07:00
Leonardo de Moura
c8c4d47420
feat: make decreasing_tactic easier to extend
2022-03-19 08:42:38 -07:00
Leonardo de Moura
ef3143e1eb
chore: update stage0
2022-03-19 08:39:34 -07:00
Leonardo de Moura
fa74194638
fix: missing s.restore at expandTacticMacroFns
2022-03-19 08:34:54 -07:00
Leonardo de Moura
bd7827ed04
feat: dbg_trace tactic for low-level tactic debugging
2022-03-19 08:25:49 -07:00
Leonardo de Moura
9727387129
feat: helper theorem for proving termination of simple String traversal functions
2022-03-19 07:37:59 -07:00
Leonardo de Moura
ed3c792a4c
chore: update stage0
2022-03-19 07:21:52 -07:00
Leonardo de Moura
64bd82dddd
feat: custom SizeOf instance for String.Iterator
2022-03-19 07:21:17 -07:00
Leonardo de Moura
4ac88d0eb8
test: lex example from David
2022-03-18 19:53:17 -07:00
Leonardo de Moura
a486503c62
chore: fold Nat literals at reduce
2022-03-18 17:10:46 -07:00
Leonardo de Moura
1514e39006
chore: add double ticks
2022-03-18 17:10:46 -07:00
Leonardo de Moura
42b707e250
perf: improve getMatchWithExtra
2022-03-18 17:10:46 -07:00
Sebastian Ullrich
d5b3430e53
chore: ignore stage0/ (for rg etc.)
2022-03-18 15:28:20 +01:00