Leonardo de Moura
|
9e601cb1cd
|
feat(library/init/nat): port nat.lean to new elaborator
|
2016-09-12 13:43:08 -07:00 |
|
Sebastian Ullrich
|
5e3e54e208
|
feat(library/tactic/user_attribute): Support pure function caching for user-defined attributes
|
2016-09-12 10:38:48 -07:00 |
|
Leonardo de Moura
|
ef5350759b
|
chore(library/init/quot): annotate quot eliminators
|
2016-09-10 22:51:07 -07:00 |
|
Leonardo de Moura
|
f53ff9a3b6
|
feat(frontends/lean/elaborator): add [elab_as_eliminator] attribute
|
2016-09-10 21:58:30 -07:00 |
|
Daniel Selsam
|
b0c5744eea
|
feat(inductive_compiler): support for mutually inductive types
|
2016-09-10 14:22:27 -07:00 |
|
Leonardo de Moura
|
91994ff823
|
feat(frontends/lean/elaborator): switch to new let-decls
|
2016-09-10 13:00:53 -07:00 |
|
Leonardo de Moura
|
2a7d259252
|
refactor(library/init/nat): cleanup
|
2016-09-08 19:19:43 -07:00 |
|
Leonardo de Moura
|
c6d44d2e49
|
chore(library/init/nat): fix style
|
2016-09-08 16:31:42 -07:00 |
|
Leonardo de Moura
|
5043e30c8e
|
feat(library/init/nat): add helper lemmas for proving that two nat numerals are different
|
2016-09-08 16:29:44 -07:00 |
|
Leonardo de Moura
|
983d15e486
|
chore(library/init/quot): remove unnecessary universe constraint
|
2016-09-06 18:01:26 -07:00 |
|
Leonardo de Moura
|
31de40ff4d
|
refactor(frontends/lean): rename attribute [constructor] ==> [elab_with_expected_type]
|
2016-09-06 13:12:51 -07:00 |
|
Leonardo de Moura
|
2a912c2650
|
feat(frontends/lean, library): move constructor attribute to frontend
Now, it only affects the elaborator.
|
2016-09-05 09:34:45 -07:00 |
|
Leonardo de Moura
|
81a30a69d2
|
refactor(library/normalize): remove unfold and unfold_full attributes
|
2016-09-05 08:40:58 -07:00 |
|
Leonardo de Moura
|
89e852446a
|
feat(library/init/id_locked): add auxiliary definition id_locked
|
2016-09-04 18:39:34 -07:00 |
|
Leonardo de Moura
|
7747c83915
|
doc(library/init/meta/declaration): document reducibility_hints
|
2016-09-04 18:29:24 -07:00 |
|
Leonardo de Moura
|
d6d68cd70a
|
feat(library/vm): expose reducibility_hints
|
2016-09-04 18:09:10 -07:00 |
|
Leonardo de Moura
|
9a17d567ec
|
refactor(library/init/datatypes): remove notation nobody uses
|
2016-09-03 16:59:55 -07:00 |
|
Leonardo de Moura
|
dfc897eda6
|
refactor(library/init): avoid nat cases_on/rec_on hack
|
2016-09-03 16:22:20 -07:00 |
|
Leonardo de Moura
|
a862c6e89f
|
refactor(library/init/meta/declaration): def will be a keyword
|
2016-09-03 15:02:27 -07:00 |
|
Leonardo de Moura
|
5e4aabf62d
|
feat(library/init/datatypes): add default has_sizeof instance
Motivation: make sure sizeof is defined for every type
|
2016-09-02 10:32:37 -07:00 |
|
Leonardo de Moura
|
39dc336310
|
feat(library/tactic/user_attribute): add set_basic_attribute and unset_attribute tactics
|
2016-09-01 14:17:05 -07:00 |
|
Leonardo de Moura
|
546f65b542
|
refactor(init/datatypes, init/logic): define sizeof instances and simp lemmas
|
2016-09-01 10:33:50 -07:00 |
|
Leonardo de Moura
|
49e368d49e
|
refactor(library/init): merge datatypes and reserved_notation
|
2016-09-01 09:50:51 -07:00 |
|
Leonardo de Moura
|
4131b4168c
|
refactor(library/init): define sizeof at init/datatypes
|
2016-09-01 09:47:46 -07:00 |
|
Jeremy Avigad
|
48a1267eac
|
fix(library/init/applicative.lean): delete leftover from debugging
|
2016-08-23 21:54:09 -07:00 |
|
Jeremy Avigad
|
8c89620f79
|
fix(library/init/state): remove spurious argument from 'read'
|
2016-08-23 21:53:57 -07:00 |
|
Leonardo de Moura
|
e18500dcd4
|
feat(frontends/lean/parser): _ is an anonymous variable again in patterns.
|
2016-08-23 14:06:24 -07:00 |
|
Leonardo de Moura
|
e4fd627ae2
|
feat(library/attribute_manager): fingerprints
The fingerprint changes whenever a new attribute is added.
|
2016-08-23 08:20:37 -07:00 |
|
Jeremy Avigad
|
345defded4
|
feat(library/init/meta/rb_map): a useful variant of red black maps
|
2016-08-21 22:31:54 -07:00 |
|
Jeremy Avigad
|
0304d1ceab
|
feat(library/init/monad_combinators): add monad combinators
|
2016-08-21 22:31:54 -07:00 |
|
Jeremy Avigad
|
766f3f18ee
|
feat(library/init/meta/tactic): generalize first for any return type
|
2016-08-21 22:31:54 -07:00 |
|
Jeremy Avigad
|
4af0e0a2de
|
fix(library/init/meta/simp_tactic): fix typo
|
2016-08-21 22:31:54 -07:00 |
|
Daniel Selsam
|
4f8db64e23
|
refactor(simplifier): many fixes, extensions, and tests
fix(simplifier): missing simp rule in prop simplifier
fix(library/unfold_macros): do not look for untrusted macros when using sufficient trust level
|
2016-08-19 14:57:03 -07:00 |
|
Leonardo de Moura
|
e99eb6d47e
|
feat(frontends/lean): revising inaccessible terms syntax again :(
|
2016-08-19 13:57:12 -07:00 |
|
Leonardo de Moura
|
50c147cd0e
|
feat(frontends/lean/parser): allow string literals in patterns
|
2016-08-18 21:00:27 -07:00 |
|
Sebastian Ullrich
|
21e8c23ed7
|
feat(library/vm/user_attribute): use command instead of attribute for registering
|
2016-08-18 15:51:41 -07:00 |
|
Sebastian Ullrich
|
ca8be3857c
|
feat(library/user_attribute): add user-defined attributes and make attribute_manager environment-aware
|
2016-08-18 12:56:44 -07:00 |
|
Leonardo de Moura
|
cd77f7167e
|
chore(frontends/lean): run_tactic ==> run_command
add `command` as alias for `tactic unit`
|
2016-08-18 12:53:21 -07:00 |
|
Leonardo de Moura
|
db7b32cf0d
|
fix(library/init/nat): missing annotations
|
2016-08-18 11:00:31 -07:00 |
|
Leonardo de Moura
|
ddc3789929
|
feat(frontends/lean): add run_tactic command
This commit also adds the tactic `add_decl`.
|
2016-08-18 10:56:18 -07:00 |
|
Leonardo de Moura
|
6a880d51a4
|
feat(library/init): define nat.mod in the init folder too
|
2016-08-18 10:51:40 -07:00 |
|
Leonardo de Moura
|
93d395ecc7
|
feat(library/init): make sure nat.div is defined in the init folder
|
2016-08-18 10:48:47 -07:00 |
|
Leonardo de Moura
|
b37c96d2ea
|
chore(library/init/nat): remove 'local attribute' hack
It is not needed anymore. All attributes are now global.
|
2016-08-18 10:44:33 -07:00 |
|
Leonardo de Moura
|
93d48ae620
|
feat(frontends/lean/parser): revised pattern validation
|
2016-08-17 15:42:13 -07:00 |
|
Daniel Selsam
|
a9b01991c2
|
feat(frontends/lean/inductive_cmd): new frontend for the inductive cmd
Conflicts:
src/frontends/lean/CMakeLists.txt
src/frontends/lean/structure_cmd.h
|
2016-08-17 07:34:03 -07:00 |
|
Sebastian Ullrich
|
8bbcbb14cf
|
chore(library, tests): use new attribute chaining syntax
sed -E -i 's/(attribute(\s*(\w|\.)+)* \[[^]]+)\] \[/\1, /' {library,tests}/**/*.lean # repeat as needed
|
2016-08-16 13:49:03 -07:00 |
|
Leonardo de Moura
|
c9475774f4
|
feat(library/tactic/tactic_state): add is_def_eq and is_def_eq_core tactics
|
2016-08-16 11:08:03 -07:00 |
|
Leonardo de Moura
|
095585b61c
|
feat(library/init): new notation for sum types
|
2016-08-16 10:45:08 -07:00 |
|
Leonardo de Moura
|
9fe8e09f30
|
feat(init/reserved_notation): product binds to the right
|
2016-08-16 10:34:32 -07:00 |
|
Leonardo de Moura
|
f8e5753a13
|
feat(library/type_context, library/tactic): add eta-expansion method and tactic
|
2016-08-14 16:15:12 -07:00 |
|