Commit graph

1277 commits

Author SHA1 Message Date
Leonardo de Moura
838b3329ce fix(frontends/lean/elaborator): structure instance update with type classes 2016-10-02 11:36:22 -07:00
Leonardo de Moura
f21f1219d9 fix(frontends/lean/structure_cmd): handle is_one_placeholder 2016-10-02 08:07:19 -07:00
Leonardo de Moura
f73506256c chore(tests/lean): adjust tests 2016-10-01 12:57:56 -07:00
Leonardo de Moura
8730def4f9 feat(library/init): add basic algebra 2016-09-30 20:51:22 -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
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
92373bb749 feat(library/type_context): universe constraint postponement 2016-09-28 15:30:14 -07:00
Leonardo de Moura
3a3c43f381 refactor(library/init): move unification_hint structure to init folder 2016-09-28 09:35:19 -07:00
Leonardo de Moura
0ba92e4885 feat(tests/lean/run/dep_coe_to_fn3): another dep fn coe test 2016-09-28 09:34:51 -07:00
Leonardo de Moura
d59410cc41 refactor(kernel): support only proof irrelevant mode 2016-09-27 17:18:52 -07:00
Leonardo de Moura
1d83939cc8 test(tests/lean/run): add more tests for coercion to function 2016-09-27 16:10:50 -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
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
bbf21b4e65 feat(frontends/lean/begin_end_block): auto-quote identifiers 2016-09-25 17:25:21 -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
5f2f56421a refactor(library/init/bool): put main operations in the top-level 2016-09-25 13:32:15 -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
148da46481 feat(frontends/lean): 'mutual' and 'meta' are now keywords 2016-09-24 10:44:40 -07:00
Leonardo de Moura
0641f3f714 chore(library/init): cleanup proofs using new elaborator 2016-09-23 17:36:32 -07:00
Leonardo de Moura
001e06abdc chore(library/init): use 'instance' 2016-09-23 14:00:34 -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
015c667eae fix(tests/lean/run/IO2): bad overload 2016-09-23 09:34:19 -07:00
Leonardo de Moura
b55a17614a feat(frontends/lean): structure instances 2016-09-21 22:52:43 -07:00
Leonardo de Moura
952974f024 test(tests/lean/run/pred_to_subtype_coercion): add coercion to subtype test 2016-09-21 17:10:56 -07:00
Leonardo de Moura
b7abd61579 feat(frontends/lean): change subtype notation (again)
We had conflicts with the set notation.
2016-09-21 17:02:18 -07:00
Leonardo de Moura
973bc5f1d6 feat(frontends/lean): add notation for 'sep' 2016-09-21 16:29:59 -07:00
Leonardo de Moura
c0ff9967af feat(frontends/lean): add basic notation for collections 2016-09-21 16:20:57 -07:00
Leonardo de Moura
5e5285ee67 refactor(library): rename pr1/pr2 ==> fst/snd 2016-09-21 09:48:39 -07:00
Leonardo de Moura
9df712581b chore(frontends/lean): remove 'new_elaborator' option 2016-09-20 08:32:37 -07:00
Leonardo de Moura
9f1a576e98 chore(frontends/lean): remove dead code from parser 2016-09-19 17:04:59 -07:00
Leonardo de Moura
325177bfd9 chore(tests/lean): make sure all tests can be processed using new elaborator 2016-09-19 16:17:32 -07:00
Leonardo de Moura
bc5504b482 fix(tests/lean/run): disable tests that do not type check in the elaborator because it doesn't unfold theorems 2016-09-19 15:34:12 -07:00
Leonardo de Moura
b0361b49e2 chore(tests/lean/run/662): move test to new elaborator 2016-09-19 14:36:46 -07:00
Leonardo de Moura
1cf5419757 chore(tests/lean/run): move tests to new elaborator 2016-09-19 11:43:59 -07:00
Leonardo de Moura
e4553e0446 fix(library/type_context): bug in occurs check 2016-09-19 11:40:00 -07:00
Leonardo de Moura
10f4a22fff fix(frontends/lean/elaborator): try to synthesize pending type class instances before processing eliminator/recursor 2016-09-19 11:14:49 -07:00