lean4-htt/tests/lean
Leonardo de Moura ae7167d626 fix(library/equations_compiler): equation compiler bug reported by @dselsam on Zulip
@kha @dselsam: I added a small repro for the bug reported by Daniel on
Zulip. The current fix is not polished at all since we will replace
the equation compiler with one implemented in Lean.  The bug is once
again on the code that handle nested `match`-expressions containing
recursive calls. We had problems in this module before, and the
current compilation strategy using auxiliary `*._match_<id>` functions
is also very inconvenient for users. They are often puzzled when they
see these auxiliary functions appearing in proof goals after unfolding
and/or simplification.  They usually don't know what to do with these
auxiliary definitions, and have no idea how they were defined and what
they correspond to if the function has several nested
`match`-expression. Right now, the best option is to use `#print
<fun-name>._match_<id>` which is far from ideal.

@kha: @dselsam and I discussed an alternative approach where we do not
create the auxiliary definitions, annotate the generated `cases_on`
applications with meta-data indicating they correspond to a nested
match, and modify the pretty printer to display these annotated
`cases_on` applications using the `match` syntax. With these
modifications, the behavior will be similar to the one in Coq where
complex `match`-expressions are reduced to atomic ones. The only
difference is that we represent these "atomic" `match`-expressions
using `cases_on` applications.
This commit uses a simpler version of this approach where we do not
create auxiliary `*._match_<id>` functions, and more importantly do
not use the dreadful `pull_nested_rec_fn` code.
2019-08-12 19:20:26 -07:00
..
fail chore(tests): port tests, fix at least compiler tests 2019-03-21 15:11:05 -07:00
run fix(library/equations_compiler): equation compiler bug reported by @dselsam on Zulip 2019-08-12 19:20:26 -07:00
trust0 chore(*): update equation syntax in files and old parser 2019-08-09 11:11:34 +02: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
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/lean/ll_infer_type_bug): fix partial file manually 2019-08-09 11:11:34 +02: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
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(frontends/lean): fun x, e ==> fun x => e 2019-07-02 13:22:11 -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 tests 2019-07-17 10:46:35 -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