Commit graph

3288 commits

Author SHA1 Message Date
Sebastian Ullrich
c4edad0372 feat(frontends/lean, library): remove attribute and metaclass scoping
All data is now part of either a global, permanent scope or a local,
temporary one
2016-07-29 23:44:21 -04:00
Leonardo de Moura
de237fa6e4 chore(library/coercion): disable coercion attribute 2016-07-29 13:15:10 -07:00
Leonardo de Moura
7ddf1e817b chore(frontends/lean): coercions are disabled by default 2016-07-29 13:03:23 -07:00
Daniel Selsam
1b7f70dde9 feat(simplifier): expose simp_lemmas data structure 2016-07-29 10:44:44 -07:00
Daniel Selsam
5fe08cb24c fix(simplifier): closes #1093 2016-07-29 10:44:44 -07:00
Daniel Selsam
79e5e80dae test(frontends/smt2): basic tests for parser and elaborator 2016-07-29 10:44:44 -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
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
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
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
3fd452d1db test(tests/lean): add new test for overloaded application 2016-07-26 17:38:51 -07:00
Leonardo de Moura
83d4436079 feat(frontends/lean/elaborator): remove poly case 2016-07-26 14:37:43 -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
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
212d222047 feat(frontends/lean): quoted names 2016-07-22 19:06:57 -07:00
Leonardo de Moura
2bcd5c8379 feat(library/init): add state monad and stateT monad transformer 2016-07-22 15:42:29 -07:00
Leonardo de Moura
eb526be99f chore(tests/lean): adjust tests 2016-07-22 11:34:58 -07:00
Leonardo de Moura
90eb79a295 feat(library/init/meta): add mk_inhabited_instance tactic 2016-07-20 21:01:50 -04:00
Leonardo de Moura
40b3410ede feat(library/init/meta): add tactic mk_dec_eq_instance 2016-07-20 19:57:12 -04:00
Leonardo de Moura
cda29ea107 fix(library/tactic/cases_tactic): incorrect mk_app 2016-07-20 09:32:12 -04:00
Leonardo de Moura
3dccaa8e39 feat(library/init/string): add utf8_length 2016-07-19 14:22:37 -04:00
Leonardo de Moura
d8e6915366 fix(frontends/lean/builtin_cmds): fail if expression contain metavars 2016-07-19 13:22:10 -04:00
Leonardo de Moura
59ff0eef5c feat(frontends/lean/scanner): hexadecimal numerals 2016-07-19 13:04:27 -04:00
Leonardo de Moura
492c90ed1d feat(frontends/lean/scanner): hex scape in character literal 2016-07-19 12:38:20 -04:00
Leonardo de Moura
ceba74f24e feat(library/tactic/unfold_tactic): improve fold failure detection 2016-07-18 20:17:40 -04:00
Leonardo de Moura
ff712dd78d test(tests/lean/run/unfold_crash): add Jared's repro 2016-07-18 20:00:30 -04:00
Leonardo de Moura
16ab639f56 fix(library/tactic/unfold_crash): crash when constant is not a definition 2016-07-18 19:59:17 -04:00
Leonardo de Moura
7597952bad fix(library/tactic/unfold_tactic): should use type_context locals 2016-07-18 19:08:31 -04:00