lean4-htt/tests/lean
Leonardo de Moura 1cdadba4b2 fix(library/compiler/csimp): type error
@kha This is another instance of a problem we discussed last summer.
I guess there are many more instances like this one that we are not handling.
Recall that we want to preserve types at `csimp` because we eventually
want to allow users to use equational theorems as rewriting rules during
compilation.
However, some of the transformations that `csimp` perform do not
preserve typeability in CIC.
Moreover, some of the optimizations require type inference.

I see the possible long term solutions:

1- Erase types and proofs as soon as possible. The main drawback here is
that we would have to develop an approach for translating Lean theorems
into valid rewriting rules for lambda pure. For example, the following
theorem should not be used as a rewriting rule after we erase types.
```
forall (xs : List Unit) (f : Unit -> Unit), List.map f xs = List.map id xs
```
BTW, I don't want to abandon the idea of using lemmas as rewriting rules in
the compiler.

2- Go over `csimp` and other compiler steps and make sure they work
properly even when `type_checker::infer_type` fails.
2019-06-03 17:36:40 -07:00
..
fail chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
run fix(library/compiler/csimp): type error 2019-06-03 17:36:40 -07:00
trust0 chore(tests): fix tests 2019-03-27 14:06:23 -07:00
check.lean chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
check.lean.expected.out chore(tests/lean): fix more tests 2019-03-21 15:11:05 -07:00
extract.lean chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
extract.lean.expected.out chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
include_out_param.lean chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
include_out_param.lean.expected.out feat(src/frontends/lean/decl_util): ignore out_params when deciding whether to include an anonymous inst implicit section variable 2018-07-27 14:49:09 -07:00
leanpkg.path refactor(library/module_mgr): minor refactorings 2018-09-11 13:55:25 -07:00
leanpkg.toml chore(tests/lean): add leanpkg file to make sure the same cwd is used in test runs and the interactive server 2018-07-05 16:48:56 +02:00
lisp.lean.expected.out chore(tests/lean): fix tests 2018-06-12 13:06:33 -07:00
ll_infer_type_bug.lean chore(tests): fix tests 2019-03-27 14:06:23 -07:00
ll_infer_type_bug.lean.expected.out chore(tests): fix tests 2019-03-27 14:06:23 -07:00
macro1.lean.expected.out chore(tests/lean): replace run_cmd with #eval 2018-08-23 13:32:25 -07:00
macro_scopes.lean chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
macro_scopes.lean.expected.out chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
parsec1.lean chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
parsec1.lean.expected.out chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
parser1.lean chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
parser1.lean.expected.out chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
reader1.lean.expected.out refactor(library/init/lean/parser/reader): use different monad stacks for different parts of the reader 2018-08-29 16:42:24 -07:00
readlinkf.sh
repr_issue.lean chore(library/init/control/id): rename id monad to Id 2019-03-29 16:45:52 -07:00
repr_issue.lean.expected.out chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
string_imp.lean chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
string_imp.lean.expected.out chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
string_imp2.lean chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
string_imp2.lean.expected.out chore(tests): fix/disable some tests 2019-03-21 15:11:05 -07:00
test.sh
test_single.sh chore(shell/lean): reduce lean interface to taking a single file, assuming all dependencies have already been built 2019-01-25 18:27:38 +01:00
test_single_pp.sh