Commit graph

26741 commits

Author SHA1 Message Date
Leonardo de Moura
71229f45fb chore: "upgrate" to doc string 2021-09-12 18:30:08 -07:00
Leonardo de Moura
4af94b2f6d chore: update stage0 2021-09-12 18:28:06 -07:00
Leonardo de Moura
f43ab76641 feat: doc string for syntax abbreviations 2021-09-12 18:26:36 -07:00
Leonardo de Moura
8c82302aca refactor: add config syntax and macro for boilerplate code 2021-09-12 18:09:19 -07:00
Leonardo de Moura
91001eef5a doc: make it clear that v must have been initialized 2021-09-12 06:05:23 -07:00
Leonardo de Moura
bbe6d37109 fix: specialize 2021-09-11 19:52:51 -07:00
Leonardo de Moura
218b9c87b0 feat: expose APIs for creating IO.Error objects 2021-09-11 17:14:43 -07:00
Leonardo de Moura
ca6941ab39 chore: rename lean_mpz_value 2021-09-11 17:00:47 -07:00
Leonardo de Moura
f9bc4b9b3a feat: add missing APIs 2021-09-11 15:39:11 -07:00
Leonardo de Moura
fc36dfc550 chore: update stage0 2021-09-11 14:10:20 -07:00
Leonardo de Moura
ae5eb9f793 chore: update stage0 2021-09-11 14:07:23 -07:00
Leonardo de Moura
e6f02b7b1a fix: workaround for inlining heuristic 2021-09-11 14:05:29 -07:00
Leonardo de Moura
6b235b05d2 feat: avoid code generation after stage1 for match auxiliary functions 2021-09-11 13:41:38 -07:00
Leonardo de Moura
de05b0a038 chore: add Eqns.lean entry point 2021-09-11 13:12:09 -07:00
Leonardo de Moura
1fd3cfb19f feat: pretty print let_fun 2021-09-11 05:15:11 -07:00
Leonardo de Moura
54d0fc043e feat: preserve Expr.mdata at simp 2021-09-11 04:49:36 -07:00
Leonardo de Moura
f26c905130 refactor: split Structural.lean into smaller files 2021-09-11 03:40:51 -07:00
Leonardo de Moura
964095ba6e chore: clean up before refactoring 2021-09-11 02:58:55 -07:00
Leonardo de Moura
127681666a test: more equality theorems using split 2021-09-10 19:36:27 -07:00
Leonardo de Moura
e667385cf5 feat: simpLet when zeta reduction is disabled 2021-09-10 19:34:38 -07:00
Leonardo de Moura
c06ae66c53 feat: add withScope 2021-09-10 19:20:25 -07:00
Leonardo de Moura
4630c9af7c feat: add congruence lemmas for let-expressions 2021-09-10 18:53:23 -07:00
Leonardo de Moura
0cf2c19fc2 fix: condition for selecting split target
Only discriminants must not have loose bound variables
2021-09-10 14:56:15 -07:00
Chris Lovett
1591bb1640 doc: fix msys text based on code review feedback 2021-09-10 10:07:57 +02:00
Sebastian Ullrich
7467422b67 fix: macOS: libleanshared install name 2021-09-10 09:18:14 +02:00
Leonardo de Moura
1576040c87 chore: remove workaround 2021-09-09 19:30:31 -07:00
Leonardo de Moura
c36cb849d0 chore: update stage0 2021-09-09 19:28:58 -07:00
Leonardo de Moura
19a710ffc9 feat: add getMatchWithExtra and improve tryLemma at simp 2021-09-09 19:28:09 -07:00
Leonardo de Moura
87f49be5dd fix: missing withReducible 2021-09-09 18:31:10 -07:00
Leonardo de Moura
f5a4b30d5f fix: broken proof 2021-09-09 18:11:05 -07:00
Leonardo de Moura
8feb14186e chore: update stage0 2021-09-09 18:07:35 -07:00
Leonardo de Moura
1e1a085ab3 test: eq theorem derivation 2021-09-09 17:51:49 -07:00
Leonardo de Moura
7607a24469 test: deriving DecidableEq for enum types
Forgot to add test.
2021-09-09 17:47:23 -07:00
Leonardo de Moura
5154f462f8 feat: add reduce conv tactic 2021-09-09 17:47:10 -07:00
Leonardo de Moura
496cc92ae9 feat: add simpMatch helper conv tactic 2021-09-09 17:29:32 -07:00
Leonardo de Moura
09eecc5c08 fix: simp was not applying rewrites to the function application prefixes 2021-09-09 17:07:14 -07:00
Leonardo de Moura
5a7badd69a feat: add support for erasing keyed attributes
This commit addresses any issue described at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Eq.2Endrec.20vs.20Eq.2Erec
2021-09-09 14:28:41 -07:00
Leonardo de Moura
b5b5370181 feat: add delta to conv mode 2021-09-09 13:07:33 -07:00
Leonardo de Moura
4087525cba feat: add delta tactic 2021-09-09 13:07:33 -07:00
Leonardo de Moura
3c49969832 feat: add replaceLocalDeclDefEq 2021-09-09 13:07:33 -07:00
Leonardo de Moura
cd75132378 refactor: add withLocation combinator 2021-09-09 13:07:33 -07:00
Sebastian Ullrich
c5940f0149 fix: cmake/make dependencies 2021-09-09 18:12:55 +02:00
Leonardo de Moura
075ba63a8b feat: add LEAN_ABORT_ON_PANIC 2021-09-09 04:49:16 -07:00
Sebastian Ullrich
2159a90c8c fix: lean target dependencies
Fixes #661
2021-09-09 11:55:33 +02:00
Leonardo de Moura
474395aae4 perf: use binary search 2021-09-08 16:54:54 -07:00
Leonardo de Moura
193d4dc9f5 feat: optimized deriving DecidableEq for enumeration types
The proof term is liner on the number of constructors, but type
checking is not linear because the reduction engine in the kernel is
not efficient.
2021-09-08 16:21:32 -07:00
Leonardo de Moura
9b0dfc4b90 feat: convert "orphan" kernel nat literals n into ofNat n 2021-09-08 14:58:13 -07:00
Leonardo de Moura
9032ddd773 chore: add simp lemma for converting Nat.add back into + notation 2021-09-08 14:58:13 -07:00
Christian Pehle
bd02f16b43 feat: optimized ``deriving BEq`` for enumeration types 2021-09-08 14:57:21 -07:00
Sebastian Ullrich
e0869bdf55 fix: sanitized build 2021-09-08 17:24:31 +02:00