Commit graph

2276 commits

Author SHA1 Message Date
Leonardo de Moura
837915f06b fix(frontends/lean/builtin_exprs): bug when parsing in quoted names 2016-10-01 13:19:24 -07:00
Leonardo de Moura
7ab12ed57f feat(library/init/algebra): improve transport_to_additive (copy attributes) 2016-10-01 12:55:17 -07:00
Leonardo de Moura
c0022253a7 feat(frontends/lean/tactic_notation): allow lemmas to be removed 2016-09-30 19:53:51 -07:00
Leonardo de Moura
fd6dc8154a feat(library/init/meta/interactive): add interactive tactics 2016-09-30 19:02:45 -07:00
Leonardo de Moura
d627011786 feat(frontends/lean/tactic_notation): do is tactic unit in begin end blocks. 2016-09-30 16:35:45 -07:00
Leonardo de Moura
051b6bd026 feat(frontends/lean/tactic_notation): add notation for entering auto-quotation mode 2016-09-30 16:18:52 -07:00
Leonardo de Moura
9ea858e6fe feat(frontends/lean/tactic_notation): nested interactive tactics 2016-09-30 14:53:07 -07:00
Leonardo de Moura
23ce2b0587 feat(frontends/lean/tactic_notation, library/init/meta/interactive): add "interactive" versions of define/assert/definev/assertv/note tactics 2016-09-29 18:48:32 -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
5726d45e7f fix(frontends/lean/elaborator): bad error msg 2016-09-29 15:23:20 -07:00
Leonardo de Moura
f97e238b8e feat(frontends/lean/elaborator): decorate error messages when overloads are used 2016-09-29 15:00:45 -07:00
Leonardo de Moura
f2e8b8794c feat(frontends/lean/elaborator): display error when failed to elaborate using expected type 2016-09-29 11:55:05 -07:00
Leonardo de Moura
ceeebb7e40 feat(frontends/lean/elaborator): improve error messages for eliminators 2016-09-29 11:29:59 -07:00
Leonardo de Moura
c8a720212b feat(frontends/lean): 'by' is now also using interactive mode syntax 2016-09-29 01:57:40 -07:00
Leonardo de Moura
84b45b010a feat(frontends/lean/elaborator): improve overloading support 2016-09-28 20:54:11 -07:00
Leonardo de Moura
1f07e87bc2 refactor(frontends/lean/elaborator): add first_pass_info struct 2016-09-28 20:54:10 -07:00
Leonardo de Moura
d59410cc41 refactor(kernel): support only proof irrelevant mode 2016-09-27 17:18:52 -07:00
Leonardo de Moura
d0d75c0923 refactor(kernel): reduce number of configurations supported in the kernel
Now, eta and impredicativity are assumed to be always true.

Motivation: the rest of the system assumes eta.
Regarding impredicativity, we decided to support only the standard library.
2016-09-27 17:07:01 -07:00
Leonardo de Moura
9ef3ebbd5b refactor(*): delete HoTT support 2016-09-27 16:33:39 -07:00
Leonardo de Moura
d7c3fce8a3 feat(library/init/coe,frontends/lean): more general coercions to fun
The new test dep_coe_to_fn.lean motivates the change.
2016-09-27 15:41:06 -07:00
Gabriel Ebner
d0ab6065c3 fix(frontends/lean): type check examples 2016-09-27 14:39:55 -07:00
Leonardo de Moura
c6ec659bf5 feat(frontends/lean): improve 'begin...end' blocks 2016-09-27 13:34:11 -07:00
Leonardo de Moura
6207dd0346 refactor(library/init): simplify has_emptyc type class 2016-09-27 10:03:57 -07:00
Leonardo de Moura
c6609543d0 chore(library/init): minor changes 2016-09-27 07:23:51 -07:00
Leonardo de Moura
6e6609f2aa fix(frontends/lean): use coercions to sort at elaborate_type 2016-09-26 16:47:31 -07:00
Leonardo de Moura
dd8018eb04 fix(frontends/lean/elaborator): make coercion resolution more robust 2016-09-26 16:18:36 -07:00
Leonardo de Moura
b9b64b121c feat(frontends/lean/elaborator): add show-goal support (Ctrl-c-g on Emacs) 2016-09-26 11:19:08 -07:00
Leonardo de Moura
78c6bc3a26 feat(frontends/lean): add step-by-step 'begin...end' block execution 2016-09-26 10:56:40 -07:00
Leonardo de Moura
3c71d7eda2 feat(frontends/lean,library/tactic/tactic_state): improve error localization 2016-09-25 18:40:41 -07:00
Leonardo de Moura
bbf21b4e65 feat(frontends/lean/begin_end_block): auto-quote identifiers 2016-09-25 17:25:21 -07:00
Leonardo de Moura
264b614f0d fix(frontends/lean/elaborator): bug when checking for unassigned metavars 2016-09-25 17:22:45 -07:00
Leonardo de Moura
8b132c758a feat(frontends/lean/begin_end_block): add basic auto-quotation 2016-09-25 17:03:12 -07:00
Leonardo de Moura
70ca497654 feat(frontends/lean/token_table): add ASCII notation for anonymous constructor 2016-09-25 13:48:52 -07:00
Leonardo de Moura
d5a28f91cc refactor(library/init): reorganize files and cleanup notation 2016-09-25 13:37:45 -07:00
Leonardo de Moura
97261fcc48 feat(frontends/lean): add very basic 'begin ... end' block support 2016-09-24 21:27:27 -07:00
Leonardo de Moura
d944d78b1d feat(frontends/lean/decl_cmds): attribute list must occur immediately after 'attribute' keyword 2016-09-24 18:40:57 -07:00
Leonardo de Moura
49cffc0b20 feat(frontends/lean): add compact notation for setting attributes suggested by Sebastian 2016-09-24 15:45:06 -07:00
Leonardo de Moura
5957022adb feat(frontends/lean): add 'class' keyword 2016-09-24 14:32:01 -07:00
Leonardo de Moura
451cd177f0 feat(frontends/lean/pp): pretty print set_of notation 2016-09-24 13:55:02 -07:00
Leonardo de Moura
9ee553945c feat(frontends/lean/brackets): set_of notation 2016-09-24 13:47:41 -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
6d9a9b46f3 chore(frontends/lean): cleanup 2016-09-23 16:26:21 -07:00
Leonardo de Moura
f00e6c0a96 feat(frontends/lean): anonymous instances
The instance name is synthesized automatically.
2016-09-23 13:34:34 -07:00
Leonardo de Moura
6bfd4eb9cf feat(frontends/lean): add 'instance' keyword 2016-09-23 12:19:05 -07:00
Leonardo de Moura
177840bc36 fix(frontends/lean/elaborator): structure instance notation {...} for structures that have implicit fields 2016-09-23 11:32:12 -07:00
Leonardo de Moura
47b66b640f fix(frontends/lean/structure_instance): incorrect assertions 2016-09-23 10:30:30 -07:00
Leonardo de Moura
96fe057d87 chore(frontends/lean/brackets): warnings 2016-09-23 10:19:33 -07:00
Leonardo de Moura
f9eaab8130 feat(frontends/lean/definition_cmds): improve error minimization 2016-09-23 10:16:46 -07:00
Leonardo de Moura
93106a6b02 chore(frontends/lean/builtin_exprs): error message consistency 2016-09-23 10:08:22 -07:00