Sebastian Ullrich
511bf69dd4
chore(tests): forgot to commit structure instance test
2017-11-22 12:16:28 -08:00
Sebastian Ullrich
b3587e15a3
fix(library/tactic/user_attribute): persist user attribute parameters
...
Fixes #1871
2017-11-22 19:19:05 +01:00
Leonardo de Moura
c98c39e4b9
chore(library/init/data/rbtree/basic): remove unnecessary equation
2017-11-22 08:22:42 -08:00
Leonardo de Moura
0a1d2908aa
feat(library/data/rbtree/main): rbtrees are balanced
2017-11-22 08:02:13 -08:00
Leonardo de Moura
b95b260706
fix(library/data/rbtree): insert
2017-11-22 07:52:18 -08:00
Leonardo de Moura
0208755c82
fix(library/vm/vm_string): bug at VM string <
2017-11-21 16:26:36 -08:00
Leonardo de Moura
96f8ecbdcb
feat(library/data/rbmap): add find_insert lemmas for rbmap
2017-11-21 14:29:04 -08:00
Leonardo de Moura
f8fb92e431
feat(library/data/rbtree/insert): finish find_insert_of_not_eqv lemmas
2017-11-21 13:16:19 -08:00
Leonardo de Moura
cdb724b092
feat(library/init/meta/interactive): add shorthand for any_goals { assumption }
2017-11-21 13:02:57 -08:00
Leonardo de Moura
5f99056c1a
feat(library/init/meta): basic support for ignoring auto and opt params
2017-11-21 11:52:40 -08:00
Leonardo de Moura
b3e429a1b8
chore(library/data/rbtree/insert): reduce proofs size
2017-11-21 10:37:10 -08:00
Leonardo de Moura
ae0f5642d3
feat(library/data/rbtree): find_insert_of_not_eqv lemmas
...
Remark: the balance2 case (dual of balance1) is still missing.
2017-11-20 21:27:19 -08:00
Leonardo de Moura
02545cb941
feat(library/data/rbmap): find_insert lemmas
2017-11-20 12:14:05 -08:00
Leonardo de Moura
319faca00a
feat(library/data/rbtree): add mem_exact predicate and find_insert lemmas
2017-11-20 11:52:36 -08:00
Leonardo de Moura
a666c7f04e
chore(library/init/data/rbmap): add missing file
2017-11-19 19:49:36 -08:00
Leonardo de Moura
1033836953
feat(library/data/rbmap): add rbmap lemmas
2017-11-19 19:49:36 -08:00
Leonardo de Moura
902c1219b0
feat(library/data/rbtree): more find lemmas
2017-11-19 19:49:36 -08:00
Leonardo de Moura
2354338287
feat(library/init/data/rbmap): add rbmap module
2017-11-19 19:49:36 -08:00
Sebastian Ullrich
06a316ad30
fix(frontends/lean/elaborator): type of '..' placeholders
...
Fixes #1870
2017-11-19 18:57:18 +01:00
Leonardo de Moura
50797c1d05
feat(library/data/rbtree): add specialized lemmas (for strict total orders)
2017-11-18 16:36:58 -08:00
Leonardo de Moura
320b33f305
feat(library/data/rbtree): add find and define contains using it
2017-11-18 16:06:16 -08:00
Leonardo de Moura
8ffff9e48b
feat(library/data/rbtree): cleanup and add min max
2017-11-18 12:22:10 -08:00
Leonardo de Moura
effa90e884
refactor(library/init/data/rbtree): rbtree does not need (decidable_rel lt) parameter
2017-11-17 22:59:50 -08:00
Leonardo de Moura
9ea454af13
chore(tests/lean/notation2): fix test
2017-11-17 17:25:10 -08:00
Leonardo de Moura
dec5b7c806
feat(library/data/rbtree/lemmas): add mem_insert_of_incomp
2017-11-17 17:21:03 -08:00
Leonardo de Moura
3134e00341
fix(library/init/algebra/classes): strict_weak_order.equiv should not depend on type class
2017-11-17 17:19:00 -08:00
Leonardo de Moura
52d6adc19c
chore(library): use new structure update notation in the core lib
2017-11-17 16:57:54 -08:00
Sebastian Ullrich
0aacccd8c9
feat(frontends/lean): change structure update notation
...
`{s with ...}` is now `{..., ..s}`, which more clearly expresses that the
result type is not necessarily equal to the type of `s` (in absence of an
expected type and a structure name, we still default to the type of `s`).
Multiple fallback sources can be given: `{..., ..s, ..t}` will fall back to
searching a field in `s`, then in `t`. The last component can also be `..`,
which will replace any missing fields with a placeholder.
The old notation will be removed in the future.
2017-11-17 16:40:47 -08:00
Sebastian Ullrich
e7e05a3ad0
feat(frontends/lean): add aliasing patterns id@pat
2017-11-17 16:35:21 -08:00
Sebastian Ullrich
d037ab1d4b
refactor(frontends/lean/structure_cmd): remove awkward pointer index computation
2017-11-17 16:31:30 -08:00
Sebastian Ullrich
aa8791a9ee
fix(frontends/lean/structure_cmd): support dependent parents in new structure cmd
2017-11-17 16:31:30 -08:00
Leonardo de Moura
65368a0c85
refactor(library): rbtree lemmas do not need to be in init folder
2017-11-17 16:14:28 -08:00
Leonardo de Moura
956f29cdb2
chore(library/init/data/rbtree/lemmas): do not rely on and.comm, and.assoc and and.left_comm as simp rules
2017-11-17 15:36:17 -08:00
Leonardo de Moura
2e66c422f3
feat(library/init/data/rbtree/lemmas): simplify blast_disjs
2017-11-17 15:06:49 -08:00
Leonardo de Moura
7dd70b0ef1
feat(library/init/algebra/classes): add is_strict_total_order type class
2017-11-17 15:06:32 -08:00
Leonardo de Moura
e2e8d56e6e
feat(library/init/data/rbtree/lemmas): add equiv_or_mem_of_mem_insert lemma
2017-11-17 13:49:58 -08:00
Leonardo de Moura
3783eaa6e1
feat(library/init/algebra/classes): add is_trichotomous type class
2017-11-17 13:49:26 -08:00
Leonardo de Moura
17172cbbdd
fix(library/tactic/simplify): imp_congr was not preserving binder name
2017-11-17 12:45:04 -08:00
Leonardo de Moura
1b8f9d6550
feat(library/init/data/rbtree/lemmas): add mem_ins_of_mem lemma
2017-11-17 11:42:55 -08:00
Leonardo de Moura
d2b27035ae
feat(library/init/data/rbtree/lemmas): add contains_correct user lemma
2017-11-16 17:24:37 -08:00
Leonardo de Moura
d40b255d14
feat(library/init/data/rbtree/lemmas): show that a well formed red black tree is searchable
2017-11-16 17:04:33 -08:00
Leonardo de Moura
3f6d0979ae
feat(library/init/meta/tactic): add any_hyp tactic
2017-11-16 14:28:00 -08:00
Leonardo de Moura
10a035a9ba
feat(library/init/data/rbtree/lemmas): add contains_correct lemma
2017-11-16 12:20:49 -08:00
Leonardo de Moura
062ebf4344
fix(library/tactic/apply_tactic): when using elimator-like definitions
...
We found this problem when developing the red-black tree module.
2017-11-16 11:21:17 -08:00
Leonardo de Moura
b9b3b43471
chore(library/init/meta/expr): helper predicates
2017-11-16 11:03:10 -08:00
Leonardo de Moura
a619bac008
feat(library/init/data/rbtree/lemmas): add is_searchable helper inductive predicate
2017-11-15 19:08:18 -08:00
Leonardo de Moura
7024eddf29
feat(library/init/algebra/classes): add is_incomp_trans type class
2017-11-15 19:08:05 -08:00
Leonardo de Moura
8311ec0afa
feat(library/init/algebra/classes): helper lemmas
2017-11-15 18:29:38 -08:00
Leonardo de Moura
7f80bf60d1
feat(library/init/data): start rbtree module
2017-11-15 16:17:39 -08:00
Leonardo de Moura
3a216785ba
feat(tmp/rbtree_no_index): cleanup interface
2017-11-14 17:22:24 -08:00