Leonardo de Moura
ee8a79a270
chore(*): remove C API
2018-04-10 16:48:02 -07:00
Leonardo de Moura
75f91df707
chore(library/init/data/fin/ops): remove unnecessary ops
2018-04-10 16:41:18 -07:00
Leonardo de Moura
e1322491c5
chore(*): remove discr_tree
2018-04-10 16:31:55 -07:00
Leonardo de Moura
ce0467638e
chore(*): remove unification hints
2018-04-10 16:29:04 -07:00
Leonardo de Moura
10ddfdafbd
chore(*): remove VM monitor
2018-04-10 16:08:47 -07:00
Leonardo de Moura
b74e05b262
chore(*): remove mk_*_instance tactics
2018-04-10 16:03:42 -07:00
Leonardo de Moura
1b1495aea4
chore(*): remove norm_num
2018-04-10 15:59:29 -07:00
Leonardo de Moura
0bcf5c8f5d
chore(*): remove algebra
2018-04-10 15:53:14 -07:00
Leonardo de Moura
7aaac31e35
chore(library/init/data/nat): remove dependency
2018-04-10 15:48:13 -07:00
Leonardo de Moura
b0e49535fa
chore(*): remove transfer and coinductive predicates
2018-04-10 13:38:18 -07:00
Leonardo de Moura
c03d351744
chore(library/init/data/int): keep only definitions
2018-04-10 13:29:06 -07:00
Leonardo de Moura
a023128738
chore(*): reduce corelib
2018-04-10 13:11:40 -07:00
Leonardo de Moura
6234c60aae
chore(*): disable test suite
2018-04-10 12:56:55 -07:00
Leonardo de Moura
47cd2ee61a
chore(leanpkg): delete
2018-04-10 12:43:17 -07:00
Leonardo de Moura
41d1293b38
chore(*): reduce corelib
2018-04-10 12:33:09 -07:00
Leonardo de Moura
b14d69b1d7
chore(*): remove converter, ac_tactics, hole_commands, rbtree/rbmap proofs, bitvec
2018-04-10 12:25:51 -07:00
Leonardo de Moura
a2f0bf7c1b
chore(*): disable SMT tactic framework and backward chaining
2018-04-10 12:05:51 -07:00
Leonardo de Moura
d36b859c65
chore(library/delayed_abstraction): add missing 'virtual'
2018-04-09 17:07:57 -07:00
Leonardo de Moura
c08a3bc557
refactor(library/typed_expr): move typed_expr to frontends/lean
2018-04-09 15:25:40 -07:00
Leonardo de Moura
bcaa0b2ad3
refactor(library/typed_expr): do not use macros for implementing typed_expr
...
Remark: in Lean4, we will not have macro_defs.
2018-04-09 15:16:46 -07:00
Leonardo de Moura
8dd53cd94f
chore(*): rename expr_struct_* to expr_*
...
We don't need to modifier `_struct` anymore since we don't use the
pointer equality based hashtables anymore.
2018-04-09 12:55:48 -07:00
Leonardo de Moura
faf8e025e7
chore(kernel): remove m_hash_alloc field from expressions
...
This field was originally added to create hashtables based on pointer
equality. We don't use them anymore, and the caches based on
m_hash_alloc can be implemented using m_hash without any performance
impact. This commit also fixes two places where `expr_set` was used
instead of `expr_struct_set`.
This commit is also important for the Lean4 plans where `expr` will
be implemented in Lean, and fields like `m_hash_alloc` would require us
to track state.
2018-04-09 10:05:56 -07:00
Sebastian Ullrich
8f55ec4c50
fix(init/core): remove out_param from has_pow
...
With the current elaboration scheme, out_params and coercions do not mix well,
as evidenced by the following example by @digama:
```
variables {α : Type*} [group α]
def gpow : α → ℤ → α := sorry
instance group.has_pow : has_pow α ℤ := ⟨gpow⟩
example (a : α) : a ^ 0 = 1 := sorry -- failed to synth ⊢ has_pow α ℕ
example (a : α) : a ^ (0:ℕ) = 1 := sorry -- ok, coerces
example (a : α) : a ^ (0:ℤ) = 1 := sorry -- ok
```
The issue is that
* we first try to solve `has_pow ?α ?β`, which is postponed
* then infer `?α = nat` from `a`
* then at some point call `elaborator::synthesize()` and default `β` to `nat`
* then try to solve `has_pow nat nat`, which fails at `int =?= nat`
2018-04-04 13:05:59 +02:00
Sebastian Ullrich
3d692c53b5
chore(tests/lean/struct_class): make test less prone to breakage
2018-04-04 13:04:38 +02:00
Sebastian Ullrich
96c932ab21
fix(util/numeric/mpbq): remove unimplemented move constructor
...
Apparently g++ started preferring it over the copy constructor in more places
2018-04-02 23:29:39 +02:00
Sebastian Ullrich
17affbd45d
chore(library/util): don't hide commit hash for nightlies
2018-04-02 10:44:43 +02:00
Leonardo de Moura
d387103aa2
fix(library/init/core): closes #1951
...
- Add has_pow type class
- Make `^` notation right associative
2018-03-29 16:25:47 -07:00
Leonardo de Moura
6e0bf8473b
test(tests/lean/1952b): another test for issue #1952
...
This is an example used in one of the comments.
2018-03-29 16:01:26 -07:00
Leonardo de Moura
66e7873c22
fix(library/type_context): elim_delayed_abstraction must check whether metavariable is already assigned
...
fixes #1952
2018-03-29 15:53:17 -07:00
Leonardo de Moura
8e8232605a
chore(library/compiler/inliner): fix weird include
2018-03-29 13:08:43 -07:00
Sebastian Ullrich
65cb5e2bea
chore(script/deploy_nightly): show git log
2018-03-29 14:26:25 +02:00
Sebastian Ullrich
56f823b328
chore(script/setup_nightly): fix OS X and repeated nightly builds
2018-03-29 09:14:48 +02:00
Sebastian Ullrich
3fefe94757
refactor(library/init/core,library/init/unit): make unit an abbreviation of punit.{0}
2018-03-27 10:33:04 -07:00
Leonardo de Moura
efa9d7e110
perf(library/type_context): performance issue when proving equation lemmas
2018-03-26 12:57:19 -07:00
Sebastian Ullrich
43d923c908
chore(script): fix nightlies... finally?
2018-03-26 16:17:42 +02:00
Sebastian Ullrich
a41d797900
fix(init/category/state): lift unintended universe restriction
2018-03-26 13:00:23 +02:00
Sebastian Ullrich
06e0d78e21
chore(doc/changes): update changelog
2018-03-26 12:55:38 +02:00
Sebastian Ullrich
0d146918d8
chore(script): fix nightly deployment
2018-03-26 12:55:27 +02:00
Sebastian Ullrich
0f7a8907c7
fix(init/data/default): add missing files
2018-03-22 00:15:56 +01:00
Sebastian Ullrich
9d96f8dd62
chore(.appveyor.yml,.travis.yml): fix path to setup_nightly.sh
2018-03-21 10:44:06 +01:00
Leonardo de Moura
54b45c19b3
chore(tmp/lean4.md): moved to google docs
2018-03-20 17:26:43 -07:00
Sebastian Ullrich
80d68a7605
chore(tests/lean/leanpkg/test_single): ignore empty lines around warning
2018-03-20 15:14:45 -07:00
Sebastian Ullrich
c4cc8c88c0
chore(.travis.yml): don't test packages when building nightly
2018-03-20 15:14:45 -07:00
Sebastian Ullrich
0c0646f03b
chore(leanpkg/lean_version): recognize nightlies as releases separate from master
2018-03-20 15:14:45 -07:00
Sebastian Ullrich
e24735571a
chore(.appveyor.yml,.travis.yml): use daily cron job for nightlies instead of first commit of the day
...
This makes sure the latest commit will always be included in a nightly after at
most 24 hours
2018-03-20 15:14:45 -07:00
Sebastian Ullrich
796baa19cb
chore(.appveyor,.travis): proper nightly builds
2018-03-20 15:14:45 -07:00
Sebastian Ullrich
28f4143be3
feat(init/category/except): add monad_except_adapter for change the error type of a monad stack
2018-03-20 14:58:37 -07:00
Sebastian Ullrich
4593d7fcda
feat(init/category/reader): add transitive monad_except instance
2018-03-20 14:58:37 -07:00
Sebastian Ullrich
277f8b7929
perf(init/category/reader): add inline annotations
2018-03-20 14:58:37 -07:00
Sebastian Ullrich
7daf6a2133
refactor(init/category): change _functor classes into new _adapter classes, add docs
2018-03-20 14:58:37 -07:00