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