Commit graph

2001 commits

Author SHA1 Message Date
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
Leonardo de Moura
2354b63099 feat(library/tactic/tactic_state): add whnf_core 2016-08-14 16:02:40 -07:00
Sebastian Ullrich
fd2c42a8bf chore(library, tests): switch to new attribute declaration syntax
sed -Ei 's/^(\s*)((private |protected )?(noncomputable )?(abbreviation|definition|meta_definition|theorem|lemma|proposition|corollary)\s+\S+\s*)((\s*\[(\S+(\s+[0-9]+)*|priority.*)\])+)\s*/\1attribute \6\n\1\2/' library/**/*.lean tests/**/*.lean
sed -Ei 's/\s+$//' library/**/*.lean  # remove trailing whitespace
2016-08-12 15:36:12 -07:00
Leonardo de Moura
f3dbd0c69a chore(library): disable stdlib but init and systems folder 2016-08-11 18:42:10 -07:00
Leonardo de Moura
4e307f906f fix(library/init/function): '$' notation should be left-associative 2016-08-09 16:50:36 -07:00
Leonardo de Moura
8c36cd04a3 feat(library/init/sigma_lex): add skip_left relation for sigma 2016-08-09 11:17:12 -07:00
Leonardo de Moura
5bdffdf162 feat(library/init/sigma_lex): add rev_lex 2016-08-09 10:36:53 -07:00
Leonardo de Moura
8d2a3fc980 feat(library/init/sigma_lex): add lex_ndep for sigma types 2016-08-09 08:54:13 -07:00
Leonardo de Moura
75904f6dc6 chore(library/init/sigma_lex): cleanup 2016-08-09 08:38:41 -07:00
Leonardo de Moura
9ac7ee1624 refactor(library/init): well_founded is not a type class anymore 2016-08-08 14:28:45 -07:00
Leonardo de Moura
1d6b1d381b refactor(library/init): rename measurable to has_sizeof 2016-08-08 13:58:10 -07:00
Sebastian Ullrich
82657b3b64 refactor(library/compiler/inliner, library): replace inline command with attribute
sed -Ei 's/inline (protected )?(meta_)?definition (\S+)/\1\2definition \3 [inline]/' library/**/*.lean
2016-08-08 12:45:22 -07:00
Sebastian Ullrich
c3ea0c1852 refactor(frontends/decl_cmds): simplify definition parsing logic
Also restrict syntax to `inline? (private|protected)? noncomputable?`
2016-08-08 12:44:37 -07:00
Leonardo de Moura
1602a53336 feat(frontends/lean): nary match 2016-08-08 10:04:58 -07:00