Commit graph

35 commits

Author SHA1 Message Date
Leonardo de Moura
a7af70da2e feat(library/vm): add expr.copy_pos_info 2016-11-10 11:50:38 -08:00
Leonardo de Moura
0d74ad97a7 chore(library/init): definition => def 2016-10-06 16:04:12 -07:00
Gabriel Ebner
6883720cc7 fix(library/init/meta/expr): consistently compare expressions 2016-10-05 15:17:02 -07:00
Leonardo de Moura
990c414b86 feat(library/init/meta/converter): add 'congr' and 'depthfirst' conversionals 2016-10-05 15:05:22 -07:00
Leonardo de Moura
4a9a637ddf feat(library/init/meta/converter): add 'funext' converter and 'conversion' tactic 2016-10-05 15:05:07 -07:00
Leonardo de Moura
89703ce669 feat(library/vm/vm_expr): expose replace 2016-10-01 09:23:40 -07:00
Leonardo de Moura
719481588a feat(library/init/meta): add coercion from expr to (expr -> expr) 2016-10-01 09:03:43 -07:00
Leonardo de Moura
572751c56e feat(frontends/lean): force user to use meta keyword on meta inductive/structure/class
Before this commit, we were inferring whether an
inductive/structure/class were meta or not. This was bad since the user
had no clue whether the type was trusted (non meta) or not.
Moreover, users could get confused by this behavior and assume the
kernel was allowing trusted code to rely on untrusted one.
2016-09-29 17:56:35 -07:00
Leonardo de Moura
03e4fd1038 feat(frontends/lean,library): cleanup instance cmd, and use 'meta instance' 2016-09-24 12:33:25 -07:00
Leonardo de Moura
148da46481 feat(frontends/lean): 'mutual' and 'meta' are now keywords 2016-09-24 10:44:40 -07:00
Leonardo de Moura
9991d61610 chore(library/init): cleanup 2016-09-23 14:53:17 -07:00
Leonardo de Moura
001e06abdc chore(library/init): use 'instance' 2016-09-23 14:00:34 -07:00
Leonardo de Moura
90bfd84a07 feat(frontends/lean): Type is now (Type 1)
In the standard library, we should use explicit universe variables for
universe polymorphic definitions.

Users that want to declare universe polymorphic definitions but do not
want to provide universe level parameters should use
  Type _
or
  Type*
2016-09-17 14:30:54 -07:00
Leonardo de Moura
5e8f2add84 refactor(library/init): use universe variables 2016-09-17 12:25:02 -07:00
Leonardo de Moura
e99eb6d47e feat(frontends/lean): revising inaccessible terms syntax again :( 2016-08-19 13:57:12 -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
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
de237fa6e4 chore(library/coercion): disable coercion attribute 2016-07-29 13:15:10 -07:00
Daniel Selsam
1b7f70dde9 feat(simplifier): expose simp_lemmas data structure 2016-07-29 10:44:44 -07:00
Leonardo de Moura
212d222047 feat(frontends/lean): quoted names 2016-07-22 19:06:57 -07:00
Leonardo de Moura
1b55507971 refactor(library/init/meta): rename C++ intro to intro_core, and define smarter intro in C++ 2016-07-21 16:54:23 -07:00
Leonardo de Moura
f0f927919d feat(library/init/meta/expr): add get_app_args 2016-07-20 19:28:36 -04:00
Leonardo de Moura
6b30b89c89 feat(library/init/meta/tactic): add 'simp_at' tactics 2016-07-09 17:23:45 -07:00
Leonardo de Moura
9e1c4b5c99 feat(library/init/meta): add helper functions, improve contradiction tactic 2016-07-05 18:34:48 -07:00
Leonardo de Moura
4d32a8a4f8 feat(library/init/meta): add helper functions 2016-06-27 17:19:22 +01:00
Leonardo de Moura
583a55c7c3 refactor(library): move 'none', 'some', 'tt', 'ff' to top-level 2016-06-25 12:39:19 -07:00
Leonardo de Moura
94905a5511 feat(library/vm/vm_expr): add expr.hash 2016-06-23 12:45:31 -07:00
Leonardo de Moura
f0ec88c1d3 refactor(library/init/meta): free_var ==> local_const
Use the same names used in the C++ version
2016-06-22 14:48:09 -07:00
Leonardo de Moura
82a604e3f5 fet(library/init/meta/expr): add auxiliary functions for expr 2016-06-18 14:29:11 -07:00
Leonardo de Moura
b24795b2b1 feat(library/init/meta/expr): mark expr.app as a coercion 2016-06-17 08:50:06 -07:00
Leonardo de Moura
84e33f6ae2 feat(library/init/meta/contradiction_tactic): improve contradiction tactic 2016-06-16 18:32:08 -07:00
Leonardo de Moura
67aa755a94 feat(library/init/meta): add helper functions 2016-06-16 18:16:35 -07:00
Leonardo de Moura
876793c21e feat(library/init/meta): add 'inhabited' instances 2016-06-09 13:19:49 -07:00
Leonardo de Moura
36c61bc0fb refactor(library/init): cmp_result => ordering 2016-06-07 10:14:07 -07:00
Leonardo de Moura
414bdc1abb refactor(library): move 'meta' to 'init' folder
Motivation: tactic framework should be always available.
2016-06-06 19:08:07 -07:00
Renamed from library/meta/expr.lean (Browse further)