Commit graph

838 commits

Author SHA1 Message Date
Leonardo de Moura
7ddc3c72dd fix(frontends/lean/elaborator, library/vm/vm_qexpr): add and handle as_is annotation 2016-07-31 20:49:53 -07:00
Leonardo de Moura
12fa52c77d feat(library/tactic, frontends/lean/elaborator): add to_expr tactic 2016-07-31 20:21:17 -07:00
Leonardo de Moura
09c000fcb8 chore(frontends/lean/elaborator): remove unnecessary field 2016-07-31 19:54:04 -07:00
Leonardo de Moura
42958be45f feat(frontends/lean/elaborator): better get_level 2016-07-31 17:45:02 -07:00
Leonardo de Moura
e5298c9d8f feat(frontends/lean/elaborator): modify the pre-term for overloaded notation
The new encoding is better for the new elaborator.
2016-07-31 17:14:01 -07:00
Leonardo de Moura
c983e46daa fix(frontends/lean/elaborator): make sure error messages are not affected by purify_metavars 2016-07-31 15:53:30 -07:00
Leonardo de Moura
215bd214ef chore(frontends/lean/elaborator): add another trace msg 2016-07-31 15:10:36 -07:00
Leonardo de Moura
1aeda0e74b feat(frontends/lean/elaborator): invoke tactics 2016-07-31 11:56:52 -07:00
Leonardo de Moura
e28e4fc896 feat(frontends/lean/elaborator): convert unassigned universe levels into universe parameters, basic support for by tactic 2016-07-31 03:45:18 -07:00
Leonardo de Moura
c46403265b feat(library/local_context): add instance_mvars method for local_context object 2016-07-31 02:36:51 -07:00
Leonardo de Moura
fafea473b8 feat(frontends/lean/elaborator): coercions to sort 2016-07-30 19:47:04 -07:00
Leonardo de Moura
b4fefd8c0b feat(frontends/lean/elaborator): coercions to functions 2016-07-30 18:54:20 -07:00
Leonardo de Moura
a0589ce8b8 feat(frontends/lean): automatic coercions 2016-07-30 11:53:25 -07:00
Leonardo de Moura
d05e5422f9 refactor(frontends/lean/elaborator): snapshots 2016-07-29 10:36:14 -07:00
Leonardo de Moura
aae33e02b0 fix(frontends/lean/elaborator): check expected type in applications, make sure we don't accidentally unfold definitions unnecessarily 2016-07-28 17:30:56 -07:00
Leonardo de Moura
cdee8b811a feat(frontends/lean/elaborator): special support for elaborating have-expressions 2016-07-28 16:20:53 -07:00
Leonardo de Moura
a7c8cbc548 feat(frontends/lean/elaborator): add hard coded coercion from bool to Prop 2016-07-28 15:38:22 -07:00
Leonardo de Moura
b5f006d229 feat(frontends/lean/elaborator): use expected types to disambiguate overloads 2016-07-28 15:32:25 -07:00
Leonardo de Moura
e2f14f2dc4 feat(frontends/lean/elaborator): use full_names when displaying ambiguous overload 2016-07-28 15:21:07 -07:00
Leonardo de Moura
f5ca3cdd68 refactor(frontends/lean/elaborator): simplify visit_default_app_core 2016-07-28 15:09:23 -07:00
Leonardo de Moura
ba4abed588 fix(frontends/lean/elaborator): better position tracking for applications 2016-07-27 18:52:19 -07:00
Leonardo de Moura
acda62d725 fix(frontends/lean/elaborator): preserve expected_type when annotations are used 2016-07-27 18:48:31 -07:00
Leonardo de Moura
ef2e80e635 refactor(library/type_context): remove dangerous 'get_cache' method 2016-07-27 18:32:36 -07:00
Leonardo de Moura
690e39b261 feat(frontends/lean/elaborator): add checkpoint at typed_expr 2016-07-27 18:08:28 -07:00
Leonardo de Moura
12070e589a feat(frontends/lean/elaborator): elaboration procedure for recursor/eliminator applications 2016-07-27 17:58:18 -07:00
Leonardo de Moura
084f82b00b feat(frontends/lean/elaborator): elaborate Pi, fix visit_lambda, improve ensure_type 2016-07-27 16:42:45 -07:00
Leonardo de Moura
3a5f6f2e64 feat(frontends/lean/builtin_cmds): improve output produced by #elab command, use kernel type checker to check elaboration result 2016-07-27 15:29:25 -07:00
Leonardo de Moura
7ae1a2c067 fix(frontends/lean/elaborator): synthesize metavariables using the context where they were declared 2016-07-27 15:03:17 -07:00
Leonardo de Moura
9477b91978 feat(frontends/lean/elaborator): elaborate lambdas 2016-07-27 11:40:30 -07:00
Leonardo de Moura
f8b48ac955 feat(frontends/lean/elaborator): support for strict implicit arguments 2016-07-27 10:38:59 -07:00
Leonardo de Moura
9a98501966 chore(tests/lean): fix tests output 2016-07-26 17:54:30 -07:00
Leonardo de Moura
962af9d039 feat(frontends/lean/elaborator): support for '_' 2016-07-26 17:28:41 -07:00
Leonardo de Moura
79efd05fa2 fix(frontends/lean/elaborator): overloaded applications 2016-07-26 17:20:57 -07:00
Leonardo de Moura
7a92ce38bd refactor(frontends/lean): elaborator_exception ==> old_elaborator_exception 2016-07-26 16:24:28 -07:00
Leonardo de Moura
2c20a65737 feat(frontends/lean/elaborator): overloaded application elaboration 2016-07-26 15:45:36 -07:00
Leonardo de Moura
a73f813133 feat(frontends/lean/elaborator): remove coercion resolution 2016-07-26 14:49:01 -07:00
Leonardo de Moura
83d4436079 feat(frontends/lean/elaborator): remove poly case 2016-07-26 14:37:43 -07:00
Leonardo de Moura
3be217395c feat(frontends/lean/elaborator): eliminator elaboration procedure first steps 2016-07-26 14:33:10 -07:00
Leonardo de Moura
c4953cac43 feat(frontends/lean/elaborator): only use eliminator elaboration is function is fully applied 2016-07-25 17:24:57 -07:00
Leonardo de Moura
1ed24a7237 feat(frontends/lean/elaborator): restrict use of 'eliminator' elaboration, approximate is_def_eq in the default function application elaborator 2016-07-25 16:25:54 -07:00
Leonardo de Moura
05a0061c09 feat(frontends/lean/elaborator): default elaboration for function applications 2016-07-25 15:50:16 -07:00
Leonardo de Moura
01283512a6 feat(frontends/lean/elaborator): add code for deciding which function application elaboration procedure should be used 2016-07-25 12:55:28 -07:00
Leonardo de Moura
461b5f289c feat(frontends/lean/elaborator): new elaborator skeleton 2016-07-23 19:02:17 -07:00
Leonardo de Moura
6cb63d5f9a feat(frontends/lean/builtin_exprs): simplify '@' and '@@' 2016-07-02 11:08:18 +01:00
Leonardo de Moura
58569b82d3 refactor(frontends/lean,library,library/tactic): move type_context_cache_helper to type_context module 2016-06-30 12:03:40 +01:00
Leonardo de Moura
d66406a1f4 feat(frontends/lean): add #elab command for testing new elaborator 2016-04-05 17:03:23 -07:00
Leonardo de Moura
75549bafd7 refactor(frontends/lean/elaborator): rename elaborator to old_elaborator 2016-03-30 14:59:18 -07:00
Leonardo de Moura
d8079aa16a refactor(library): create copy of the kernel type_checker in library
Motivation: it will allow us to simplify the kernel type_checker and
make sure it implements the same API provided by type_context
2016-03-18 14:34:10 -07:00
Leonardo de Moura
9d0dfb8404 refactor(frontends/lean): remove calc_proof_elaborator 2016-03-03 17:22:45 -08:00
Leonardo de Moura
22f3efc5be remove(frontends/lean): begin_end pre-tactics
This was never used
2016-03-03 10:02:09 -08:00