Commit graph

26741 commits

Author SHA1 Message Date
Leonardo de Moura
42eeb445d4 fix(library): make sure `(t) does not evaluate t
See #1631
2017-05-31 22:03:15 -07:00
Leonardo de Moura
56215b36e8 fix(*): [[fallthrough]] ==> /* fall-thru */
Older gcc compilers generate a warning when the attribute is used.
I found out that GCC 7 will not produce a warning if comments
such as /* fall-thru */ or /* FALLTHRU */ are used instead of the
attribute [[fallthrough]]
2017-05-31 21:18:47 -07:00
Leonardo de Moura
24048c4258 fix(*): gcc 7 weird uninitialized warnings
I think most of them are incorrect.
I didn't find a workaround for the one at json.hpp.
So, I just disabled this warning at server.cpp
2017-05-31 18:05:03 -07:00
Leonardo de Moura
ac17270894 fix(*): more gcc 7 warnings 2017-05-31 17:29:30 -07:00
Leonardo de Moura
603bbe5987 fix(*): gcc 7 linking errors 2017-05-31 16:35:09 -07:00
Leonardo de Moura
919cf420ea fix(*): gcc 7 warnings 2017-05-31 16:35:09 -07:00
Leonardo de Moura
d8fa93b4a2 feat(library/init/meta/tactic): add dependent parameters for empty introv 2017-05-31 15:10:07 -07:00
Leonardo de Moura
293ab6a032 fix(library/init/data/nat/bitwise): broken lemma 2017-05-31 15:08:03 -07:00
Mario Carneiro
41b928a546 feat(init/data/nat/bitwise): properties of bitwise ops 2017-05-31 14:18:44 -07:00
Mario Carneiro
18b622d709 chore(init/data/nat): modify bitwise defs 2017-05-31 14:18:44 -07:00
Leonardo de Moura
1c6e70d170 feat(library/init/meta): introv tactic
@Armael: this commit implements the `introv` tactic.
The implementation uses an auxiliary `intros_dep` that introduces new
hypotheses with forward dependencies.

The `tactic.introv` tactic implemented at library/init/meta/tactic.lean
is the main implementation, but it is not nice for interactive use since
users would have to write
```
tactic.introv [`h1, `h2]
```
To make it more conveninent to use, we define another
```
meta def introv (ns : parse ident_*) : tactic unit :=
tactic.introv ns >> return ()
```
This one is in the namespace `tactic.interactive`, and
uses parser extensions. The argument `parse ident_*` instructs
the parser to parse 0 or more identifiers and create a term
of type `list name` containing these identifiers.
2017-05-31 14:09:25 -07:00
Leonardo de Moura
71ef240817 feat(library/init/meta/interactive): add nary existsi
@Armael, this commit implements the nary existsi.
We can now write
a) existsi t
b) existsi [t_1, t_2, t_3]
2017-05-31 13:41:25 -07:00
Johannes Hölzl
7a855c33cc fix(leanpkg): keep timeout value when updating the manifest 2017-05-31 20:35:59 +02:00
Sebastian Ullrich
4e4dc98c87 chore(script/test_registry): use absolute path to leanpkg 2017-05-31 10:10:48 -07:00
Sebastian Ullrich
c4d684cc33 chore(.travis.yml.in): call cpack conditionally 2017-05-31 10:10:48 -07:00
Sebastian Ullrich
f87f35d623 chore(.travis.yml.in,script/test_registry): fix build 2017-05-31 10:10:48 -07:00
Jared Roesch
0ab3869a6a feat(script/test_registry): enable travis script 2017-05-31 10:10:48 -07:00
Jared Roesch
28246a34e1 feat(scripts): add prototype script for building pkg registry 2017-05-31 10:10:48 -07:00
Jared Roesch
0783ccf582 chore(*): remove old_library 2017-05-31 10:10:47 -07:00
Jared Roesch
0a6a6d8676 chore(*): remove mini_crush 2017-05-31 10:10:47 -07:00
Jared Roesch
b33af82bc9 chore(*): remove super 2017-05-31 10:10:47 -07:00
Leonardo de Moura
d3298d518c fix(library/equations_compiler/elim_match): whnf_pattern 2017-05-31 10:02:59 -07:00
Gabriel Ebner
b1e417805e fix(frontends/lean/scanner): do not treat 0xFF as end-of-file
Fixes #1624.  We just replace 0xFF by 0x00 when reading a new input
byte.  This shows up as an unexpected token error.
2017-05-31 16:54:04 +02:00
Sebastian Ullrich
b59e1b0a2e fix(library/eval_helper): evaluating under-applied functions 2017-05-31 16:18:17 +02:00
Sebastian Ullrich
834375a042 fix(library/eval_helper): evaluating tactics 2017-05-31 16:18:15 +02:00
Sebastian Ullrich
f820f3f97e fix(frontends/lean/builtin_cmds): abort eval after error recovery and complain about unsynthesized mvars early 2017-05-31 16:05:47 +02:00
Sebastian Ullrich
9fa31b2858 fix(init/meta/interactive): handle pure in parser signature descs 2017-05-31 16:05:02 +02:00
Leonardo de Moura
59fd4377dd chore(leanpkg/leanpkg/toml): use mutual recursion and avoid sizeof 2017-05-30 17:43:18 -07:00
Leonardo de Moura
00b4d4bdf6 test(tests/lean/run/psum_wf_rec): add example used on Slack to test suite 2017-05-30 16:59:35 -07:00
Leonardo de Moura
72134a7bbd feat(library/equations_compiler/wf_rec): provide recursive equations to rel_tac
rel_tac is a tactic used for synthesizing a well founded relation.
The default implementation just uses type class resolution.
More sophisticated strategies may need to access the set of recursive
equations. This commit addresses this need.
2017-05-30 16:55:37 -07:00
Leonardo de Moura
d0eb7d2ed3 chore(tests/lean/run/252): fix test 2017-05-30 13:11:59 -07:00
Leonardo de Moura
d489955600 fix(library/vm/vm_nat): bitwise operators 2017-05-30 13:09:17 -07:00
Leonardo de Moura
8ef5acd615 feat(util/numerics/mpz): add test_bit 2017-05-30 13:08:51 -07:00
Leonardo de Moura
cbca84a8ea chore(library/init/data/nat/bitwise): fix copyright date 2017-05-30 13:05:37 -07:00
Mario Carneiro
9d676776b5 feat(library/vm/vm_nat): implementations of bitwise ops 2017-05-30 12:47:44 -07:00
Mario Carneiro
860e2d904d feat(init/data/nat): bitwise operations 2017-05-30 12:47:44 -07:00
Leonardo de Moura
d0f73c7041 fix(util/trie): compilation issue
See #1619
2017-05-30 10:57:59 -07:00
Sebastian Ullrich
4eab11ec3d fix(frontends/lean/structure_cmd): even less error recovery 2017-05-30 19:02:25 +02:00
Mario Carneiro
e92fba8eda feat(init/data/ordering): ordering.swap 2017-05-30 14:22:49 +02:00
Gabriel Ebner
d5c7d078eb fix(library/type_context): check for stack overflow 2017-05-29 14:58:34 +02:00
Gabriel Ebner
5ab28548b8 fix(library/type_context): reduce whnf stack space 2017-05-29 14:58:28 +02:00
Gabriel Ebner
ddab6260aa fix(library/init/meta/tactic): measure tactic creation time 2017-05-29 14:57:08 +02:00
Gabriel Ebner
b14a248dcd fix(frontends/lean/structure_cmd): segfault 2017-05-29 07:37:50 +02:00
Johannes Hölzl
ab6797b74c feat(leanpkg): support (deterministic) timeout value in leanpkg.toml 2017-05-29 06:52:38 +02:00
Mario Carneiro
92d76c22a5 feat(data/pnat): positive natural numbers 2017-05-28 02:32:23 -04:00
Leonardo de Moura
d10a799b79 chore(tests/lean/interactive/complete_field): fix test 2017-05-27 10:18:44 -07:00
Mario Carneiro
9c29206386 feat(init/meta/injection_tactic): injections tactic
Runs injection repeatedly on the LC and subgoals
2017-05-27 06:15:47 -04:00
Mario Carneiro
6e88119f55 feat(init/meta/injection_tactic): better injection tactic
(1) The lhs and rhs will be reduced to whnf before getting the constructor apps
(2) If the lhs and rhs are distinct constructors, it discharges the goal by contradiction
(3) The interactive injection tactic will try to close the goal by assumption if successful
2017-05-27 04:59:40 -04:00
Mario Carneiro
f5aa07953b chore(init/logic): slightly more efficient decidability of iff, xor 2017-05-27 04:16:25 -04:00
Mario Carneiro
2251de503d feat(init/relator): some new base theorems for transfer tactic 2017-05-27 04:16:25 -04:00