Leonardo de Moura
e1ea2b3948
chore(library/init): fix names and add HasEmptyc instances
2019-03-22 12:38:22 -07:00
Leonardo de Moura
3befc219c9
chore(library/init): Empty => empty when it is a function
2019-03-21 17:03:15 -07:00
Sebastian Ullrich
97e5aa2411
chore(library): s/Punit/PUnit/g etc
2019-03-21 15:06:45 -07:00
Leonardo de Moura
79a8d9aa65
chore(*): decidablePred/decidableRel => DecidablePred/DecidableRel
2019-03-21 15:06:44 -07:00
Leonardo de Moura
f8113a01eb
chore(library): unit => Unit
2019-03-21 15:06:44 -07:00
Leonardo de Moura
2ea0baeb99
chore(library): use lowercase in imports
2019-03-21 15:06:44 -07:00
Sebastian Ullrich
beda5f5f43
chore(library): capitalize types and namespaces
2019-03-21 15:06:43 -07:00
Sebastian Ullrich
b939162168
chore(library): switch from snake_case to camelCase
2019-03-21 15:06:43 -07:00
Sebastian Ullrich
db6b1d6e85
feat(frontends/lean/vm_elaborator,library/init/lean/elaborator): pass parser_state between languages, create parser object on C++ side to existing functions (that don't actually parse anything)
2018-12-18 15:30:38 +01:00
Leonardo de Moura
cc3767e6a5
refactor(library/init/data): avoid indirection at rbmap
...
Now, the nodes in a `rbmap` contain the key and value, and we avoid
one level of indirection. `rbmap`s are more common than `rbtree`.
We implement `rbtree A` as `rbmap A unit`.
2018-10-26 17:14:09 -07:00
Leonardo de Moura
12d8b0e7ef
feat(library/init/data): annotate rbtree and rbmap functions
2018-10-19 14:57:31 -07:00
Leonardo de Moura
afd54039ab
chore(library): remove >>, we should use *>
2018-09-12 17:31:21 -07:00
Leonardo de Moura
9e305a5f26
chore(library): remove return, we should use pure
2018-09-12 16:51:11 -07:00
Leonardo de Moura
71dd8653bc
feat(library/init/core): decidable_eq is a proper class
...
We need this to take advantage of the new indexing structure we are
going to add to improve performance.
2018-09-07 16:38:11 -07:00
Leonardo de Moura
63bddd56d6
feat(library/init/data/rbmap,library/init/data/rbtree): add mfold and mfor for rbtree/rbmap
2018-05-09 15:38:57 -07:00
Leonardo de Moura
d5fe509c36
chore(*): remove end after each match-expression
...
`end` is not optional anymore
2018-05-04 11:30:06 -07:00
Leonardo de Moura
4fa43f18dd
chore(library/init/data/rbtree,library/init/data/rbmap): remove auto_param dependency
...
The problem is that `auto_param` is defined in the old `init/meta/name` module,
and we don't want to have `init/meta` dependencies in the `init/lean` modules.
2018-04-30 13:24:13 -07:00
Leonardo de Moura
51e0987af2
feat(library/init/data/rbtree): add rbtree.seteq
2018-04-25 16:13:38 -07: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
319faca00a
feat(library/data/rbtree): add mem_exact predicate and find_insert lemmas
2017-11-20 11:52:36 -08:00
Leonardo de Moura
2354338287
feat(library/init/data/rbmap): add rbmap module
2017-11-19 19:49:36 -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
65368a0c85
refactor(library): rbtree lemmas do not need to be in init folder
2017-11-17 16:14:28 -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
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
7f80bf60d1
feat(library/init/data): start rbtree module
2017-11-15 16:17:39 -08:00