Sebastian Ullrich
d1f707a6f0
doc: fix typo
...
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
2021-06-29 06:35:45 -07:00
Sebastian Ullrich
9f7af2b77b
doc: document a few tactics
2021-06-29 06:35:45 -07:00
Sebastian Ullrich
a379d2db5e
refactor: simplify matches implementation
2021-06-23 13:59:08 +02:00
Sebastian Ullrich
bae919355e
feat: matches
2021-06-21 10:17:26 -07:00
Sebastian Ullrich
e257caa446
feat: move block tactic macro to Init
2021-05-21 17:13:33 -07:00
Leonardo de Moura
b52edf1259
fix: fixes #452
...
The new syntax is similar to `matchAlts` and uses `colGe`.
The first `|` is not optional anymore.
2021-05-10 17:28:10 -07:00
Leonardo de Moura
7d39a0d56c
chore: prepare to change first syntax
2021-05-10 17:05:31 -07:00
Sebastian Ullrich
9ed8db4bc3
feat: add constructor tactic
2021-05-06 10:40:56 -07:00
Leonardo de Moura
7398db5f3f
fix: rw final goal state
2021-05-04 16:58:44 -07:00
Sebastian Ullrich
5b02254297
fix: rw final goal state
2021-05-04 15:24:42 -07:00
Sebastian Ullrich
aabb4a50aa
feat: remove bracket-less rw
2021-05-04 15:24:22 -07:00
Leonardo de Moura
93189e0fce
chore: prepare to change case tactic
2021-05-01 19:53:44 -07:00
Leonardo de Moura
a2e8bc0780
feat: use binop% to define arith operators
...
closes #382
2021-04-30 19:40:45 -07:00
Sebastian Ullrich
40b17bc364
refactor: introduce a few double-backtick quotations
2021-04-28 12:09:13 +02:00
Leonardo de Moura
3a80e87793
chore: #405 step 1
2021-04-22 20:03:48 -07:00
Leonardo de Moura
bf4b9b0ccd
fix: use noImplicitLambda% when defining tactic macros such as have, let, etc
...
Thus, we don't change the expected type when using them.
2021-04-12 23:01:47 -07:00
Leonardo de Moura
8917e08251
feat: add tactic macro unhygienic <tactic-seq>
2021-04-10 16:18:40 -07:00
Sebastian Ullrich
30062b8988
fix: nomatch with non-fvar terms
2021-04-02 16:04:47 +02:00
Leonardo de Moura
d03f5fe318
feat: add trivial extensible (macro) tactic
2021-03-24 09:50:56 -07:00
Sebastian Ullrich
bbf6c717fc
feat: introduce arg precedence
2021-03-22 16:33:37 +01:00
Leonardo de Moura
86a204d8a1
feat: add simp_all tactic
...
cc @Kha
2021-03-19 22:34:35 -07:00
Leonardo de Moura
d70740fef2
fix: location notation and simp
2021-03-19 19:54:22 -07:00
Leonardo de Moura
205b42a397
feat: proper syntax for configuring simp
2021-03-17 16:37:04 -07:00
Leonardo de Moura
a30a256123
refactor: remove Tactic/Binders.lean
...
These macro expansion functions can be now implemented using `macro` and `macro_rules`.
2021-03-12 17:59:21 -08:00
Leonardo de Moura
d330f1e2e2
feat: rotateLeft and rotateRight tactics
2021-03-12 17:13:03 -08:00
Leonardo de Moura
3d58c4d115
chore: remove old notation
2021-03-12 15:05:06 -08:00
Leonardo de Moura
bf8119a5cd
chore: convert keywords to snake_case
...
Again `!` is only for functions that can panic.
2021-03-12 13:34:51 -08:00
Leonardo de Moura
1112ab6eff
chore: use new notation
2021-03-11 11:19:33 -08:00
Leonardo de Moura
e7140959c4
chore: add elaborator for let_fun and let_delayed
2021-03-11 10:40:25 -08:00
Leonardo de Moura
9f88ea8047
chore: remove old decide!, nativeRefl!, and nativeDecide!
2021-03-11 08:06:20 -08:00
Leonardo de Moura
55115a4a1b
feat: add inferInstance tactic
2021-03-07 12:08:25 -08:00
Leonardo de Moura
dfa5cf9282
chore: add optional preprocessing tactic
2021-03-07 12:03:54 -08:00
Leonardo de Moura
66f1a88f2c
feat: simp [-decl]
2021-03-04 17:50:44 -08:00
Joe Hendrix
2831dd6872
feat: Bitwise classes using F# notation.
2021-03-04 15:40:12 -08:00
Leonardo de Moura
1fedbfb9a3
feat: simp only
2021-03-04 11:58:34 -08:00
Leonardo de Moura
130a087ecf
feat: Lean 3 french single quote notation
2021-03-04 09:43:59 -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
e583b3bdc0
feat: allow @ modifier at inductionAlt
2021-02-01 17:13:51 -08:00
Leonardo de Moura
d408c835d2
fix: defaultInstance priorities for Neg Int and OfScientific Float
2021-01-25 13:21:07 -08:00
Leonardo de Moura
e742dd1348
feat: allow user to set Simp.Config at simp
2021-01-01 15:12:18 -08:00
Leonardo de Moura
34f6f8ef5d
feat: pre/post simp lemmas
2020-12-30 13:46:14 -08:00
Leonardo de Moura
eba3983658
feat: use binrel! gadget to define >, <, ... notations
...
It has better support for applying coercions.
2020-12-29 16:53:10 -08:00
Leonardo de Moura
7f9466a7ce
chore: use soft line breaks at if-then-else formatters
...
and remove `priority` leftover.
2020-12-24 08:35:43 -08:00
Leonardo de Moura
3655b1d9d0
chore: remove old if-then-else parsers
2020-12-24 08:25:14 -08:00
Leonardo de Moura
c9b42af537
chore: (prepare to) rename if-then-else parsers
...
We also add formatting directives to the new if-then-else parsers.
2020-12-24 08:20:07 -08:00
Leonardo de Moura
9a1116d918
chore: remove <or>, first subsumes it
2020-12-22 14:10:08 -08:00
Leonardo de Moura
832c7412d6
feat: add first tactical
...
@Kha It has a few advantages over `<or>` (`<|>`).
- It is not an infix operator.
- It takes tactic sequences instead of tactics as arguments
For example, we can write
```
first
| apply h1; assumption
| exact y; exact h3; assumption
```
or
```
first apply h1; assumption | exact y; exact h3; assumption
```
instead of
```
(apply h1; assumption) <|> (exact y; exact h3; assumption)
```
2020-12-22 14:10:07 -08:00
Leonardo de Moura
56e2ff81b8
chore: ensure all term parsers have precedence >= min
2020-12-22 14:10:07 -08:00
Leonardo de Moura
69d83ecb86
chore: make sure term and tactic parsers have disjoint infix operators
2020-12-22 14:10:07 -08:00