Sebastian Ullrich
a97621467f
fix: stdlib.make: missing target
2021-09-08 17:24:31 +02:00
Sebastian Ullrich
68a3799b7c
refactor: build lean in stdlib.make
2021-09-08 17:24:31 +02:00
Sebastian Ullrich
01325170a6
feat: make LEANC_CC configurable
2021-09-08 17:24:31 +02:00
Sebastian Ullrich
af78071000
chore: use -Bsymbolic in favor of -Bsymbolic-functions, which Zig doesn't like
2021-09-08 17:24:31 +02:00
Sebastian Ullrich
ab9a31a806
refactor: leanc: use case
2021-09-08 17:24:31 +02:00
Sebastian Ullrich
9702fe1981
chore: leanc: use C instead of C++ compiler
2021-09-08 17:24:31 +02:00
Leonardo de Moura
716ffecf89
chore: add sorry tactic
2021-09-08 08:10:37 -07:00
Leonardo de Moura
c1573d15c1
test: missing tests
2021-09-08 08:00:36 -07:00
Leonardo de Moura
12af1480d6
feat: add specialize tactic
2021-09-08 08:00:02 -07:00
Sebastian Ullrich
3787c6081c
fix: pass worker cmdline options to Lean code
2021-09-08 11:34:31 +02:00
Sebastian Ullrich
58e8c5774c
fix: stdlib_flags.h
2021-09-08 11:34:31 +02:00
Chris Lovett
bc3900cbb9
doc: small fixes
2021-09-07 19:19:58 -07:00
Leonardo de Moura
3fc226dc6d
chore: fix tests
2021-09-07 19:14:30 -07:00
Leonardo de Moura
445cc3085f
refactor: avoid Name, MVarId, and FVarId confusion
2021-09-07 19:06:50 -07:00
Leonardo de Moura
750c2507da
test: add *> laziness test
...
This commit also fixes a broken test
Closes #617
The following operators are now lazy: `<|>`, `>>`, `*>`, `<*`, `<*>`
2021-09-07 18:03:15 -07:00
Leonardo de Moura
e5600b03df
chore: update stage0
2021-09-07 17:51:26 -07:00
Leonardo de Moura
53ec43ff9b
refactor: lazy evaluation for >>, <*>, <*, and *>
...
see issue: #617
2021-09-07 17:50:34 -07:00
Leonardo de Moura
51b7c4cf21
chore: remove Nondet.lean
...
It was too "unsafe", and it is dead code.
2021-09-07 17:36:20 -07:00
Leonardo de Moura
6ea7869c6a
chore: "fix" <|> notation declaration
...
The `infix` declaration was generating a delaborator, but it is
producing the invalid term
```
ConstantFunction.f myFun 3 <|> fun _ => ConstantFunction.f myFun 4
```
It is invalid because the `macro_rules` for `<|>` is based on
`binop_lazy%` which introduces the `fun _ =>` for us.
I tried to use
```
notation:20 a:21 " <|> " b:20 => HOrElse.hOrElse a fun _ : Unit => b
```
but the delaborator generator does not work for this case.
2021-09-07 17:29:27 -07:00
Leonardo de Moura
eb94e87195
chore: fix some tests
2021-09-07 17:20:21 -07:00
Leonardo de Moura
c5f9113dcf
test: use <|> at binop_lazy test
2021-09-07 17:10:36 -07:00
Leonardo de Moura
2f0a936f88
chore: update stage0
2021-09-07 17:08:16 -07:00
Leonardo de Moura
3714cf16ec
refactor: lazy evaluation for <|>
...
see #617
2021-09-07 17:06:10 -07:00
Leonardo de Moura
3b136816fe
chore: update stage0
2021-09-07 13:39:59 -07:00
Leonardo de Moura
55f01fb6e1
feat: elaborate binop_lazy%
2021-09-07 13:30:09 -07:00
Leonardo de Moura
61976c4e56
chore: update stage0
2021-09-07 13:29:50 -07:00
Leonardo de Moura
d991c20859
chore: add binop_lazy%
...
This is a gadget for issue #617 .
2021-09-07 13:00:36 -07:00
Leonardo de Moura
5a862a06c6
chore: remove leftover
2021-09-07 12:57:27 -07:00
Leonardo de Moura
f46eedac84
fix: fixes #655
2021-09-07 12:17:28 -07:00
Leonardo de Moura
a8007ee827
chore: update stage0
2021-09-07 08:26:55 -07:00
Leonardo de Moura
c8406a301d
chore: reduce src/include/lean
2021-09-07 08:24:54 -07:00
Leonardo de Moura
c93982d10c
chore: disable pp.analyze for now
...
see #651
2021-09-07 07:51:43 -07:00
Leonardo de Moura
ebd8f1efa7
chore: avoid object.h dependencies
2021-09-07 07:31:48 -07:00
Daniel Selsam
b36baa143f
feat: improved name-unresolving in delab
...
Fixes #641
2021-09-07 16:26:00 +02:00
Henrik Böving
b46aa05241
doc: new way to install lean4-mode
...
The current installation procedure requires you to have and update a checkout
of lean4 yourself which is rather annoying if you are just someone who
wants to work with lean4-mode for another project. straight.el +
use-package provide a nice alternative to the current approach.
2021-09-07 16:23:18 +02:00
Henrik Böving
4eca7c2a39
fix: add lsp-mode to the lean4-mode dependencies
...
lean4-mode implicitly relies on lsp-mode being installed, however this
dependency is not explicitly declared. The version used is the latest
release version which seemed to work out for me.
2021-09-07 16:23:18 +02:00
Leonardo de Moura
e2cc056cdd
fix: assertion violation
2021-09-07 07:16:12 -07:00
Leonardo de Moura
d643dfd1c7
chore: update stage0
2021-09-06 12:02:41 -07:00
Leonardo de Moura
70f2200778
chore: remove enum command
...
Now, `inductive` is also efficient for big enumeration types
2021-09-06 12:01:37 -07:00
Leonardo de Moura
1ce2ff394c
chore: update stage0
2021-09-06 11:57:21 -07:00
Leonardo de Moura
d174ffb075
chore: update stage0
2021-09-06 11:55:51 -07:00
Leonardo de Moura
a7c621854e
feat: optimized noConfusion for enumeration types
2021-09-06 11:52:36 -07:00
Leonardo de Moura
d43a1c7d9a
chore: move Constructions to Meta
2021-09-06 10:51:11 -07:00
Leonardo de Moura
ab63382158
feat: add helper functions for optimized noConfusion
2021-09-06 10:33:34 -07:00
Leonardo de Moura
09326df213
chore: fix test output
2021-09-06 07:39:57 -07:00
Leonardo de Moura
ec30a6b7e8
chore: update stage0
2021-09-06 07:37:16 -07:00
Leonardo de Moura
1d68f38aa6
feat: use approxDepth to compute hash code
2021-09-06 07:36:41 -07:00
Leonardo de Moura
5ce97286bb
chore: update stage0
2021-09-06 07:28:10 -07:00
Leonardo de Moura
fa29428934
feat: use 8-bits to store the approximate depth on an expression
...
We are going to use this information to (try to) minimize the number
of hash collisions.
2021-09-06 07:26:51 -07:00
Leonardo de Moura
65509c5617
doc: add basic perf documentation
2021-09-06 07:12:36 -07:00