lean4-htt/library/init/data
Leonardo de Moura 5a560b6d43 feat(library/init/data): add hashmap
We use the same approach used to define rbtree:
1- Structure with minimal number of invariants, AND
2- well_formed inductive predicate

We can use the well_formed predicate to prove auxiliary invariants later.
Example: the keys stored in every bucket have the correct hash code.

This implementation does not depend on the tactic framework,
and it is not a mess like the one in mathlib.
2018-04-30 18:28:29 -07:00
..
array refactor(library/init/data/array/basic): make sure init/data/array/basic does not depend on init.meta 2018-04-30 17:16:45 -07:00
bool feat(library/init): modify && and || precedence 2018-04-26 13:40:57 -07:00
char chore(library/init): move logic.lean => core.lean 2018-04-30 09:25:25 -07:00
fin feat(library/init/data): add uint16 and make sure uint* - uses wraparound semantics like most programming languages 2018-04-20 18:27:13 -07:00
hashmap feat(library/init/data): add hashmap 2018-04-30 18:28:29 -07:00
int chore(library/init): cleanup 2018-04-30 09:25:25 -07:00
list chore(library/init): remove propext micro module 2018-04-30 09:25:26 -07:00
nat feat(library/init/data): add hashmap 2018-04-30 18:28:29 -07:00
option refactor(library/init/control): remove init.meta.name spurious dependency 2018-04-30 11:36:07 -07:00
ordering chore(library/init): remove sum micro module 2018-04-30 09:25:26 -07:00
rbmap chore(library/init/data/rbtree,library/init/data/rbmap): remove auto_param dependency 2018-04-30 13:24:13 -07:00
rbtree chore(library/init/data/rbtree,library/init/data/rbmap): remove auto_param dependency 2018-04-30 13:24:13 -07:00
string feat(library/init/data/string/basic): add string.line_column 2018-04-30 15:55:34 -07:00
basic.lean chore(library/init): remove sum micro module 2018-04-30 09:25:26 -07:00
default.lean chore(library/init): merge sigma/lex.lean with wf.lean 2018-04-30 10:04:03 -07:00
repr.lean chore(library/init): remove sum micro module 2018-04-30 09:25:26 -07:00
set.lean refactor(init): init/category ==> init.control 2018-04-27 08:33:08 -07:00
to_string.lean chore(library/init): remove sum micro module 2018-04-30 09:25:26 -07:00
uint.lean feat(library/init/data): add uint16 and make sure uint* - uses wraparound semantics like most programming languages 2018-04-20 18:27:13 -07:00