Gabriel Ebner
ce509e621a
refactor(library/init/algebra): remove order_pair classes
2017-08-02 14:41:35 +01:00
Sebastian Ullrich
4f66673fc2
feat(init/meta/attribute,library/tactic/attribute): user_attribute apply handlers
2017-08-02 14:32:39 +01:00
Sebastian Ullrich
8571860876
chore(emacs/lean-dev): lean-diff-test-file: create missing files
2017-08-02 14:32:02 +01:00
Gabriel Ebner
becec82311
fix(frontends/lean/structure_cmd): simplify parser
2017-08-02 11:27:13 +01:00
Gabriel Ebner
b6f81e30e5
fix(frontends/lean/structure_cmd): prevent segfault
...
Fixes #1727 .
2017-08-02 11:27:13 +01:00
Leonardo de Moura
39fa7625b8
feat(library/init/meta/interactive): add specialize tactic
...
closes #1779
2017-08-02 10:20:25 +01:00
Gabriel Ebner
403234f29e
fix(frontends/lean/interactive): fix empty prefix in autocompletion
2017-08-01 18:42:31 +01:00
Gabriel Ebner
6d0a7a80af
fix(frontends/lean/builtin_exprs): prevent segfault
2017-08-01 14:57:37 +01:00
Gabriel Ebner
c15f2979c6
fix(frontends/lean/util): allow docstrings after variables
2017-08-01 10:18:05 +01:00
Gabriel Ebner
89e1b196db
fix(library/compiler/preprocess): do not unfold noncomputable definitions
...
This happened in Johannes' real number formalization. We tried to
unfold a noncomputable definition even though it would have been erased
afterwards, and failed.
The check_computable check was introduced in order to fix the error
message in #1401 , the error message is still intelligible in that
example.
2017-08-01 08:37:18 +01:00
Gabriel Ebner
2804a0ea27
fix(util/name): escape empty name components using french quotes
2017-07-31 16:01:46 +01:00
Mario Carneiro
092fc89333
doc(changes): changelog
2017-07-28 22:40:25 +01:00
Gabriel Ebner
36dc037d65
perf(util/rc): do not use fences
...
As suggested by David Chisnall. If I read the spec correctly, it would
be unsafe to use the release ordering for dec_ref_core: then the
following situation could happen:
```c++
// m_rc -> 2
// Thread 1:
unsigned x = atomic_fetch_sub_explicit(&m_rc, 1u, memory_order_release);
// Thread 2:
unsigned y = atomic_fetch_sub_explicit(&m_rc, 1u, memory_order_release);
// x = y = 1u, m_rc -> 2
```
That is, a release store operation is not required to be visible to
another release operation.
Herb Sutter also recommends the acq_rel ordering for reference counters.
2017-07-28 18:31:04 +01:00
Mario Carneiro
1b28b9f5bd
chore(init/data/int/basic): define nat_abs using equation compiler
2017-07-28 16:47:53 +01:00
Mario Carneiro
490cc50b51
chore(init/data/nat): mark simp rules
2017-07-28 16:47:53 +01:00
Mario Carneiro
fb4e952ac8
fix(init/meta/congr_tactic): congr tries assumption first
...
This gives a workaround for the situation where the `congr` tactic does too much congruence applications, such as reducing `|- a + b = b + a` to `|- a = b` and `|- b = a`, by supplying the desired equalities to stop at using `have`.
2017-07-28 16:47:53 +01:00
Mario Carneiro
f369e34bd6
chore(library/standard): remove standard.lean (unused, and confusing given stdlib)
2017-07-28 16:47:53 +01:00
Mario Carneiro
9ca2113790
refactor(init/algebra/group): parameterize transport_mul_to_add
2017-07-28 16:47:53 +01:00
Mario Carneiro
bd19736b21
feat(init/data/nat/bitwise): definitional lemmas for nat.shiftl
2017-07-28 16:47:53 +01:00
Mario Carneiro
89131ba1ff
feat(init/meta/interactive): expose custom hyp name in by_contra
2017-07-28 16:47:53 +01:00
Mario Carneiro
e6294710db
refactor(init/classical): simplify classical proofs
2017-07-28 16:47:53 +01:00
Mario Carneiro
ec82afb45a
fix(tests): fix tests
2017-07-28 16:47:02 +01:00
Mario Carneiro
26548c956c
feat(init/meta/interactive): rw at *, rw at h1 h2 |- support
...
Now tactics supporting locations can also specify the goal among the locations by using the name `⊢` or `|-`. Also `rw at *` is implemented so that it will rewrite any hypotheses or the goal for which the whole sequence of rewrites succeeds. (This is different from `rw at h1 h2 ... hn |-`, which requires that all rewrites run to completion on each specified target.)
2017-07-28 16:47:02 +01:00
Leonardo de Moura
870ce5c0fe
fix(library/init/meta/constructor_tactic): fixes #1771
2017-07-28 09:45:51 +01:00
Sebastian Ullrich
52ae484f68
feat(emacs): add keybindings for leanpkg commands (C-c C-p ...)
2017-07-27 14:40:22 +02:00
Sebastian Ullrich
dc3e0c17ff
fix(emacs/lean-pkg): fix leanpkg being started in the wrong folder
2017-07-27 14:39:39 +02:00
Sebastian Ullrich
5539be0dcc
chore(script/deploy_gh_pages): --reset-author
2017-07-27 10:23:16 +02:00
Sebastian Ullrich
d6db630786
feat(leanpkg): make test imply build
2017-07-27 10:15:42 +02:00
Sebastian Ullrich
2e200535fb
chore(script/deploy_gh_pages): upload to new lean-nightly repo
2017-07-26 17:17:48 +02:00
Sebastian Ullrich
99b4c8714d
chore(.appveyor.yml,.travis.yml): simplify using glob patterns
2017-07-26 17:13:34 +02:00
Sebastian Ullrich
cb325e85fa
fix(script/deploy_gh_pages): use --amend
2017-07-26 17:02:00 +02:00
Sebastian Ullrich
c44ed73d56
fix(frontends/lean/scanner): minor lexical grammar fixup
2017-07-26 17:02:00 +02:00
Leonardo de Moura
58016bc037
chore(tests/lean): fix test suite
2017-07-26 14:10:02 +01:00
Leonardo de Moura
16e7976b1a
chore(library/init/data/vector): remove [...] notation for vectors
...
This is a temporary workaround. The problem is that this notation
overloads the one in list, and we currently can't handle nary
overloads in patterns.
2017-07-26 13:45:30 +01:00
Leonardo de Moura
a258620425
feat(library/init/data/default): add vector and bitvec
2017-07-26 13:38:51 +01:00
Leonardo de Moura
1ec65bed44
refactor(library/init): move bitvector to main repo
...
@digama0 I moved bitvec back to the main repo, and many nat lemmas.
I want these lemmas here for now. I will need some of them for future
decision procedures.
2017-07-26 13:35:38 +01:00
Leonardo de Moura
d5850871da
fix(leanpkg/leanpkg): list.for and monad.for issues
2017-07-26 12:02:08 +01:00
Mario Carneiro
fb2447468b
chore(init/category/combinators): remove monad.for
...
and variations, in favor of monad.map and variations
2017-07-26 11:52:11 +01:00
Mario Carneiro
4dc261393f
refactor(init/data/list): move out advanced list defs
2017-07-26 11:52:11 +01:00
Mario Carneiro
813fda9ba5
refactor(init/data/{nat,list}): rename for consistency with stdlib
2017-07-26 11:52:10 +01:00
Mario Carneiro
09f9cada65
chore(init/data/nat): rename add_one_eq_succ -> add_one
2017-07-26 11:52:10 +01:00
Mario Carneiro
cc81118892
refactor(init/data): move out some nat lemmas
2017-07-26 11:52:10 +01:00
Mario Carneiro
7d4fe55bff
fix(tests/lean/run/choice_anon_ctor): fix test
2017-07-26 11:52:10 +01:00
Mario Carneiro
36b2fb228e
fix(leanpkg): fix leanpkg (use list instead of hash_map)
2017-07-26 11:52:10 +01:00
Mario Carneiro
74aeb250ec
refactor(*): move out stdlib
2017-07-26 11:52:10 +01:00
Sebastian Ullrich
b3bc4b73fa
fix(.appveyor.yml): ...
2017-07-26 09:55:38 +02:00
Sebastian Ullrich
f1316eaf40
fix(.appveyor.yml): ugh
2017-07-25 18:36:10 +02:00
Sebastian Ullrich
eea5370292
fix(.appveyor.yml): fix build
2017-07-25 18:08:51 +02:00
Sebastian Ullrich
a54ac12918
chore(.appveyor.yml,.travis.yml,CMakeLists): set Lean version string to "nightly" for nightly builds to make artifact name and contents version-independent
2017-07-25 17:57:53 +02:00
Sebastian Ullrich
fdc1df49ec
fix(.appveyor.yml): use correct variable syntax...
2017-07-25 14:29:35 +02:00