Commit graph

11891 commits

Author SHA1 Message Date
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
3af268a95a test(tests/lean/run/elab4): test 'calc'-expressions in the new elaborator 2016-07-27 17:11:34 -07:00
Leonardo de Moura
de9075b19d chore(frontends/lean/builtin_cmds): support 'sorry' at #elab command 2016-07-27 17:09:36 -07:00
Leonardo de Moura
4fd69ca2d4 test(tests/lean/elab10): test show/have-exprs using new elaborator 2016-07-27 16:50: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
4f2bb65b1e test(tests/lean): more examples 2016-07-27 16:08:33 -07:00
Leonardo de Moura
cc429b1ab7 refactor(library/local_context,library/type_context): remove frozen mode, cleanup instance cache 2016-07-27 16:07:48 -07:00
Leonardo de Moura
0283d80719 fix(library/type_context): most recent local instances have priority 2016-07-27 16:01:07 -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
b29a9ce325 chore(tests/lean): fix test output 2016-07-27 15:06:05 -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
e9ebdfb3a3 feat(library/type_context): "read" regular metavariable assignment even when in tmp mode 2016-07-27 15:00:56 -07:00
Leonardo de Moura
75d06ebc34 feat(library/type_context): use delayed abstraction at type_context (instead of restrict_metavars_context) 2016-07-27 14:57:39 -07:00
Leonardo de Moura
e9672a0058 fix(library/type_context): potential problem at mk_nested_instance 2016-07-27 14:12:38 -07:00
Leonardo de Moura
de35a856ec chore(library/type_context): remove question
The answer is yes.
2016-07-27 14:00:31 -07:00
Leonardo de Moura
5b0100ef0b refactor(library/lazy_abstraction): lazy ==> delayed 2016-07-27 13:53:17 -07:00
Leonardo de Moura
1b75a98ea4 feat(library/tactic/tactic_state): add helper mk procedure 2016-07-27 13:42:32 -07:00
Leonardo de Moura
9477b91978 feat(frontends/lean/elaborator): elaborate lambdas 2016-07-27 11:40:30 -07:00
Leonardo de Moura
cc21604e4c fix(library/type_context): bug as is_def_eq for universe levels 2016-07-27 11:36:18 -07:00
Leonardo de Moura
40fc9b8056 feat(library/type_context): missing case at is_def_eq
is_def_eq was failing at

          ?M1 ... =?= ?M2 ...

when context of ?M1 is a strict subset of ?M2.
2016-07-27 11:14:17 -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
a05291ed75 chore(library/io_state): fix style 2016-07-26 17:59:22 -07:00
Leonardo de Moura
9a98501966 chore(tests/lean): fix tests output 2016-07-26 17:54:30 -07:00
Leonardo de Moura
3fd452d1db test(tests/lean): add new test for overloaded application 2016-07-26 17:38:51 -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
e33f8ec4d4 feat(library): add formatted_exception base class 2016-07-26 16:06:12 -07:00
Leonardo de Moura
2c20a65737 feat(frontends/lean/elaborator): overloaded application elaboration 2016-07-26 15:45:36 -07:00
Leonardo de Moura
df1bb458f9 fix(frontends/lean/pp): use group for lambda/pi 2016-07-26 15:44:03 -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
b53e50c968 fix(library/metavar_context): incorrect assertions 2016-07-25 19:11:01 -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
Sebastian Ullrich
a18440d67e feat(bin): add GDB pretty-printers for lean::name and lean::list 2016-07-24 12:37:05 -07:00
Leonardo de Moura
c50c2dde68 feat(library/smt/array): define array theory used in SMT 2016-07-23 21:45:29 -07:00
Leonardo de Moura
3c1a1d6f1b chore(frontends/lean/elaborator): style 2016-07-23 19:06:17 -07:00
Leonardo de Moura
9ca065e7ee chore(tests/lean/run/measurable): remove obsolete test 2016-07-23 19:05:22 -07:00
Leonardo de Moura
461b5f289c feat(frontends/lean/elaborator): new elaborator skeleton 2016-07-23 19:02:17 -07:00
Leonardo de Moura
14ac5fb25a fix(library/init/meta/mk_measurable_instance) : add 1 for each constructor 2016-07-23 13:01:09 -07:00
Leonardo de Moura
e0e5a84f84 chore(tests/lean): adjust tests 2016-07-23 12:48:35 -07:00
Leonardo de Moura
b5cddede6b feat(library/init/meta): add mk_measurable_instance tactic 2016-07-23 12:30:41 -07:00
Leonardo de Moura
bdc93cb7f4 refactor(library/init): change subtype notation and put it on the top-level 2016-07-23 12:30:11 -07:00
Leonardo de Moura
85e3f51fd5 feat(library/bin_app): uniform foldr, add helper methods for synthesizing recursive functions
foldr combinator is used to define brec_on recursor.
It is easier to access the brec_on "dictionary" if the representation is
uniform.
2016-07-23 12:11:18 -07:00