lean2/tests/lean
Leonardo de Moura 8214c7add4 feat(library/elaborator): compensate the lack of eta-reduction (and eta-expanded normal forms) in the kernel normalizer
Before this commit, the elaborator was solving constraints of the form

       ctx |- (?m x) == (f x)
as
       ?m <- (fun x : A, f x)    where A is the domain of f.

In our kernel, the terms f and (fun x, f x) are not definitionally equal.
So, the solution above is not the only one. Another possible solution is

       ?m  <- f

Depending of the circumstances we want  ?m <- (fun x : A, f x) OR ?m <- f.
For example, when Lean is elaborating the eta-theorem in kernel.lean, the first solution should be used:
       ?m <- (fun x : A, f x)

When we are elaborating the axiom_of_choice theorem, we need to use the second one:
       ?m <- f

Of course, we can always provide the parameters explicitly and bypass the elaborator.
However, this goes against the idea that the elaborator can do mechanical steps for us.

This commit addresses this issue by creating a case-split
       ?m <- (fun x : A, f x)
       OR
       ?m <- f

Another solution is to implement eta-expanded normal forms in the Kernel.

With this change, we were able to cleanup the following "hacks" in kernel.lean:
     @eps_ax A (nonempty_ex_intro H) P w Hw
     @axiom_of_choice A B P H
where we had to explicitly provided the implicit arguments

This commit also improves the imitation step for Pi-terms that are actually arrows.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-01-22 13:28:54 -08:00
..
bare test(tests/lean): add version of the Nat library full of holes 2014-01-02 12:31:13 -08:00
interactive refactor(*): error messages 2014-01-13 16:54:21 -08:00
slow fix(tests/lean): adjust tests to reflect recent changes 2014-01-15 16:35:33 -08:00
stackoverflow feat(split-stack): add support for split-stacks (no more stackoverflows) 2013-12-09 22:30:54 -08:00
abst.lean refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
abst.lean.expected.out refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
alias1.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
alias1.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
alias2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
alias2.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
alias3.lean test(tests/lean): alias command error 2014-01-07 15:29:16 -08:00
alias3.lean.expected.out refactor(*): error messages 2014-01-13 16:54:21 -08:00
apply_tac1.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
apply_tac1.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
apply_tac2.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
apply_tac2.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
arith1.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
arith1.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
arith2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
arith2.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
arith3.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
arith3.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
arith4.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
arith4.lean.expected.out refactor(library/arith): do not load specialfn by default 2013-12-30 11:25:43 -08:00
arith5.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
arith5.lean.expected.out refactor(library/arith): do not load specialfn by default 2013-12-30 11:25:43 -08:00
arith6.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
arith6.lean.expected.out refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
arith7.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
arith7.lean.expected.out fix(tests/lean): adjust tests 2014-01-17 19:27:32 -08:00
arith8.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
arith8.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
arrow.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
arrow.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
bad1.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
bad1.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
bad2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
bad2.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
bad3.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
bad3.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
bad4.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
bad4.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
bad5.lean feat(*): change name conventions for Lean builtin libraries 2014-01-05 19:21:44 -08:00
bad5.lean.expected.out feat(*): change name conventions for Lean builtin libraries 2014-01-05 19:21:44 -08:00
bad6.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
bad6.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
bad7.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
bad7.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
bad8.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
bad8.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
bad9.lean refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
bad9.lean.expected.out refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
bad10.lean refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
bad10.lean.expected.out refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
bug.lean chore(tests/lean): adjust tests to reflect recent changes 2014-01-17 14:36:55 -08:00
bug.lean.expected.out chore(tests/lean): adjust tests to reflect recent changes 2014-01-17 14:36:55 -08:00
calc1.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
calc1.lean.expected.out feat(frontends/lean): add syntax sugar for applying Subst in calculational proofs 2014-01-02 11:23:55 -08:00
calc2.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
calc2.lean.expected.out feat(frontends/lean): add syntax sugar for applying Subst in calculational proofs 2014-01-02 11:23:55 -08:00
coercion1.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
coercion1.lean.expected.out refactor(*): error messages 2014-01-13 16:54:21 -08:00
coercion2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
coercion2.lean.expected.out fix(frontends/lean/pp): make sure pp and parser are using the same precedences 2013-12-19 12:46:14 -08:00
compact_def.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
compact_def.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
cond_tac.lean test(tests/lean): When and Cond tactical tests 2014-01-09 20:43:39 -08:00
cond_tac.lean.expected.out test(tests/lean): When and Cond tactical tests 2014-01-09 20:43:39 -08:00
config.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
config.lean.expected.out Fix unit tests for Windows 2013-09-03 10:44:51 -07:00
conv.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
conv.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
discharge.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
discharge.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
disj1.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
disj1.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
disjcases.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
disjcases.lean.expected.out feat(library/tactic/apply_tactic): improved parametric apply_tactic 2013-12-24 22:40:34 -08:00
elab1.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
elab1.lean.expected.out fix(tests/lean): adjust tests to reflect recent changes 2014-01-15 16:35:33 -08:00
elab2.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
elab2.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
elab3.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
elab3.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
elab4.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
elab4.lean.expected.out feat(library/elaborator): compensate the lack of eta-reduction (and eta-expanded normal forms) in the kernel normalizer 2014-01-22 13:28:54 -08:00
elab5.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
elab5.lean.expected.out feat(library/elaborator): compensate the lack of eta-reduction (and eta-expanded normal forms) in the kernel normalizer 2014-01-22 13:28:54 -08:00
elab7.lean refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
elab7.lean.expected.out feat(library/elaborator): compensate the lack of eta-reduction (and eta-expanded normal forms) in the kernel normalizer 2014-01-22 13:28:54 -08:00
env_errors.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
env_errors.lean.expected.out refactor(*): error messages 2014-01-13 16:54:21 -08:00
eq1.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
eq1.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
eq2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
eq2.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
eq3.lean chore(tests/lean): adjust tests to reflect recent changes 2014-01-17 14:36:55 -08:00
eq3.lean.expected.out chore(tests/lean): adjust tests to reflect recent changes 2014-01-17 14:36:55 -08:00
eq4.lean refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
eq4.lean.expected.out refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
errmsg1.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
errmsg1.lean.expected.out fix(tests/lean): adjust tests to reflect recent changes 2014-01-15 16:35:33 -08:00
ex1.lean feat(frontends/lean/parser): combine Echo and Show commands into the 'print' command 2014-01-05 11:03:35 -08:00
ex1.lean.expected.out Fix unit tests for Windows 2013-09-03 10:44:51 -07:00
ex2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
ex2.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
ex3.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
ex3.lean.expected.out feat(kernel/pos_info_provider): add support for file names in pos_info_provider 2014-01-09 12:19:30 -08:00
exists1.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists1.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists2.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists3.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists3.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
exists4.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists4.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists5.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists5.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists6.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists6.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
exists7.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists7.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists8.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
exists8.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
exit.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
exit.lean.expected.out feat(frontends/lean): add Exit command 2013-12-04 10:40:22 -08:00
explicit.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
explicit.lean.expected.out refactor(*): error messages 2014-01-13 16:54:21 -08:00
fake1.olean test(tests/lean): new tests for exercising the environment object 2014-01-07 14:34:21 -08:00
fake2.olean test(tests/lean): new tests for exercising the environment object 2014-01-07 14:34:21 -08:00
find.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
find.lean.expected.out feat(library/simplifier): add rewrite_rule_set extension for managing rewrite rules in an environment 2014-01-18 15:43:24 -08:00
forall1.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
forall1.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
ho.lean feat(*): change name conventions for Lean builtin libraries 2014-01-05 19:21:44 -08:00
ho.lean.expected.out feat(*): change name conventions for Lean builtin libraries 2014-01-05 19:21:44 -08:00
implicit1.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
implicit1.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
implicit2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
implicit2.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
implicit3.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
implicit3.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
implicit4.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
implicit4.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
implicit5.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
implicit5.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
implicit6.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
implicit6.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
implicit7.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
implicit7.lean.expected.out feat(frontends/lean): simplify explicit version names 2013-12-21 17:05:25 -08:00
induction1.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
induction1.lean.expected.out chore(builtin/kernel): remove \bowtie as notation for transitivity 2014-01-18 21:11:12 -08:00
induction2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
induction2.lean.expected.out chore(builtin/kernel): remove \bowtie as notation for transitivity 2014-01-18 21:11:12 -08:00
kernel_ex1.lean test(tests/lean): kernel exception pp method 2014-01-07 15:19:52 -08:00
kernel_ex1.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
leak1.lean fix(frontends/lean/parser): memory leak due to g++ bug 2014-01-15 10:15:04 -08:00
leak1.lean.expected.out fix(frontends/lean/parser): memory leak due to g++ bug 2014-01-15 10:15:04 -08:00
leak2.lean fix(frontends/lean/parser): memory leak due to g++ bug 2014-01-15 10:15:04 -08:00
leak2.lean.expected.out fix(frontends/lean/parser): memory leak due to g++ bug 2014-01-15 10:15:04 -08:00
leak3.lean fix(frontends/lean/parser): memory leak due to g++ bug 2014-01-15 10:15:04 -08:00
leak3.lean.expected.out fix(frontends/lean/parser): memory leak due to g++ bug 2014-01-15 10:15:04 -08:00
let1.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
let1.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
let2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
let2.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
let3.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
let3.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
let4.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
let4.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
level1.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
level1.lean.expected.out fix(frontends/lean/parser): allow parenthesis in level expressions 2013-12-23 13:31:55 -08:00
loop1.lean feat(frontends/lean): use '(* ... *)' instead of '(** ... **)' for script code blocks 2014-01-05 10:32:47 -08:00
loop1.lean.expected.out feat(frontends/lean): use '(* ... *)' instead of '(** ... **)' for script code blocks 2014-01-05 10:32:47 -08:00
loop2.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
loop2.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua1.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua1.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
lua2.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua2.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
lua3.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua3.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
lua4.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua4.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
lua5.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua5.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua6.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
lua6.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
lua7.lean feat(frontends/lean): use '(* ... *)' instead of '(** ... **)' for script code blocks 2014-01-05 10:32:47 -08:00
lua7.lean.expected.out feat(lua): use formatter available in the state object to convert Lean objects into strings in the Lua API 2013-11-12 16:56:30 -08:00
lua8.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua8.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua9.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua9.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua10.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua10.lean.expected.out feat(lua): add for_each to expr Lua API 2013-11-13 16:30:59 -08:00
lua11.lean feat(kernel/environment): universe variables now live in their own namespace 2014-01-07 15:57:36 -08:00
lua11.lean.expected.out feat(kernel/environment): universe variables now live in their own namespace 2014-01-07 15:57:36 -08:00
lua12.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua12.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
lua13.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua13.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
lua14.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua14.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
lua15.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua15.lean.expected.out refactor(*): error messages 2014-01-13 16:54:21 -08:00
lua15b.lean refactor(*): error messages 2014-01-13 16:54:21 -08:00
lua15b.lean.expected.out refactor(*): error messages 2014-01-13 16:54:21 -08:00
lua16.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua16.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
lua17.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua17.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua18.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
lua18.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
matrix.lean test(tests/lean): matrix multiplication example 2014-01-19 16:29:32 -08:00
matrix.lean.expected.out fix(tests/lean): add expected result file 2014-01-19 16:31:35 -08:00
mod1.lean refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
mod1.lean.expected.out refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
mp_forallelim.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
mp_forallelim.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
nbug1.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
nbug1.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
nested.lean feat(frontends/lean): use '(* ... *)' instead of '(** ... **)' for script code blocks 2014-01-05 10:32:47 -08:00
nested.lean.expected.out fix(frontends/lean/parser): add existing command macros when creating parser object 2013-12-26 13:38:14 -08:00
norm1.lean refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
norm1.lean.expected.out refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
norm_tac.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
norm_tac.lean.expected.out feat(*): change name conventions for Lean builtin libraries 2014-01-05 19:21:44 -08:00
ns1.lean feat(*): change name conventions for Lean builtin libraries 2014-01-05 19:21:44 -08:00
ns1.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
overload1.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
overload1.lean.expected.out Fix unit tests for Windows 2013-09-03 10:44:51 -07:00
overload2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
overload2.lean.expected.out feat(kernel/pos_info_provider): add support for file names in pos_info_provider 2014-01-09 12:19:30 -08:00
parser1.lean refactor(*): error messages 2014-01-13 16:54:21 -08:00
parser1.lean.expected.out refactor(*): error messages 2014-01-13 16:54:21 -08:00
pr1.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
pr1.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
push.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
push.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
refute1.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
refute1.lean.expected.out feat(library/basic_thms): add Refute theorem 2013-12-16 12:03:31 -08:00
revapp.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
revapp.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
rw1.lean feat(library/simplifier): add rewrite_rule_set extension for managing rewrite rules in an environment 2014-01-18 15:43:24 -08:00
rw1.lean.expected.out feat(library/simplifier): add rewrite_rule_set extension for managing rewrite rules in an environment 2014-01-18 15:43:24 -08:00
scan_error1.lean fix(frontends/lean/scanner): assertion violation, and add more tests 2014-01-07 15:12:34 -08:00
scan_error1.lean.expected.out fix(tests/lean): adjust test to reflect recent changes 2014-01-15 10:20:35 -08:00
scan_error2.lean fix(frontends/lean/scanner): assertion violation, and add more tests 2014-01-07 15:12:34 -08:00
scan_error2.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
scan_error3.lean fix(frontends/lean/scanner): assertion violation, and add more tests 2014-01-07 15:12:34 -08:00
scan_error3.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
scan_test1.lean fix(frontends/lean/scanner): assertion violation, and add more tests 2014-01-07 15:12:34 -08:00
scan_test1.lean.expected.out fix(frontends/lean/scanner): assertion violation, and add more tests 2014-01-07 15:12:34 -08:00
scan_test2.lean fix(frontends/lean/scanner): assertion violation, and add more tests 2014-01-07 15:12:34 -08:00
scan_test2.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
scope.lean refactor(builtin/kernel): prove eta using function extensionality, and rename abst and abstpi to funext and allext 2014-01-08 17:25:14 -08:00
scope.lean.expected.out chore(builtin/kernel): remove \bowtie as notation for transitivity 2014-01-18 21:11:12 -08:00
script.lua feat(lua): add lua_exception for wrapping lua errors, and improve Lua error messages in the Lean frontend 2013-11-07 15:19:26 -08:00
showenv.l chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
simp.lean feat(frontends/lea): add commands for creating and managing rewrite rule sets 2014-01-19 12:03:59 -08:00
simp.lean.expected.out feat(frontends/lea): add commands for creating and managing rewrite rule sets 2014-01-19 12:03:59 -08:00
simp2.lean fix(tests/lean): remove unnecessary theorems 2014-01-19 12:55:33 -08:00
simp2.lean.expected.out fix(tests/lean): remove unnecessary theorems 2014-01-19 12:55:33 -08:00
simp3.lean feat(library/simplifier): improve simplification by evaluation 2014-01-19 23:26:34 -08:00
simp3.lean.expected.out feat(builtin/Nat): flip orientation of associativity axioms for + and * 2014-01-20 15:38:00 -08:00
simp6.lean feat(library/simplifier): add support for 'permutation' rewrite rules 2014-01-20 08:29:31 -08:00
simp6.lean.expected.out feat(library/simplifier): add support for 'permutation' rewrite rules 2014-01-20 08:29:31 -08:00
simp7.lean test(tests/lean): add example showing how to 'sort' argumentes of AC operators using the simplifier 2014-01-20 08:36:48 -08:00
simp7.lean.expected.out test(tests/lean): add example showing how to 'sort' argumentes of AC operators using the simplifier 2014-01-20 08:36:48 -08:00
simp7b.lean refactor(*): semantic attachment parsing and simplification 2014-01-20 14:44:45 -08:00
simp7b.lean.expected.out refactor(*): semantic attachment parsing and simplification 2014-01-20 14:44:45 -08:00
simp8.lean feat(builtin/Nat): flip orientation of associativity axioms for + and * 2014-01-20 15:38:00 -08:00
simp8.lean.expected.out feat(builtin/Nat): flip orientation of associativity axioms for + and * 2014-01-20 15:38:00 -08:00
simp9.lean feat(library/simplifier): memoize intermediate results 2014-01-20 17:03:44 -08:00
simp9.lean.expected.out feat(library/simplifier): memoize intermediate results 2014-01-20 17:03:44 -08:00
simp10.lean feat(library/simplifier): conditional rewriting 2014-01-20 21:15:46 -08:00
simp10.lean.expected.out feat(library/simplifier): conditional rewriting 2014-01-20 21:15:46 -08:00
simp11.lean feat(library/simplifier): enforce max_steps option 2014-01-21 12:12:17 -08:00
simp11.lean.expected.out feat(library/simplifier): enforce max_steps option 2014-01-21 12:12:17 -08:00
simp12.lean test(library/simplifier): add test for the single_pass option in the simplifier 2014-01-21 13:47:54 -08:00
simp12.lean.expected.out test(library/simplifier): add test for the single_pass option in the simplifier 2014-01-21 13:47:54 -08:00
simple.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
simple.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
single.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
single.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
subst.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
subst.lean.expected.out feat(*): change name conventions for Lean builtin libraries 2014-01-05 19:21:44 -08:00
subst2.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
subst2.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
subst3.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
subst3.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tacluacrash.lean fix(frontends/lean): unprotected call to Lua API 2014-01-09 19:56:20 -08:00
tacluacrash.lean.expected.out fix(frontends/lean): unprotected call to Lua API 2014-01-09 19:56:20 -08:00
tactic1.lean chore(library/tactic): remove imp_tac, it is not needed anymore 2014-01-08 00:57:04 -08:00
tactic1.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tactic2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tactic2.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tactic3.lean chore(library/tactic): remove imp_tac, it is not needed anymore 2014-01-08 00:57:04 -08:00
tactic3.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tactic4.lean chore(library/tactic): remove imp_tac, it is not needed anymore 2014-01-08 00:57:04 -08:00
tactic4.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tactic5.lean chore(library/tactic): remove imp_tac, it is not needed anymore 2014-01-08 00:57:04 -08:00
tactic5.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tactic6.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tactic6.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tactic8.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tactic8.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tactic9.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tactic9.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tactic10.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tactic10.lean.expected.out chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tactic11.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tactic11.lean.expected.out feat(frontends/parser): simplified theorem definition using tactical proof 2013-12-02 08:20:18 -08:00
tactic12.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tactic12.lean.expected.out feat(frontends/parser): simplified theorem definition using tactical proof 2013-12-02 08:20:18 -08:00
tactic13.lean fix(tests/lean): adjust tests to reflect recent changes 2014-01-15 16:35:33 -08:00
tactic13.lean.expected.out fix(tests/lean): adjust tests to reflect recent changes 2014-01-15 16:35:33 -08:00
tactic14.lean fix(tests/lean): adjust tests to reflect recent changes 2014-01-15 16:35:33 -08:00
tactic14.lean.expected.out fix(tests/lean): adjust tests to reflect recent changes 2014-01-15 16:35:33 -08:00
test.sh feat(util/options): 'verbose' as a system option, add -q (quiet) option 2014-01-09 15:31:58 -08:00
test_single.sh fix(tests/lean): ignore lines containing 'executing external script' in test scripts, these lines contain references to the path where Lean was built 2013-12-26 18:41:01 -08:00
test_single_pp.sh test(tests/lean): add new test script that checks if Lean can parse the output produced by its pretty printer 2013-12-19 16:16:56 -08:00
tst1.lean refactor(builtin): move if_then_else to its own module 2014-01-09 14:08:39 -08:00
tst1.lean.expected.out fix(tests/lean): adjust tests 2014-01-17 19:27:32 -08:00
tst2.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tst2.lean.expected.out feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
tst3.lean feat(util/options): 'verbose' as a system option, add -q (quiet) option 2014-01-09 15:31:58 -08:00
tst3.lean.expected.out fix(tests/lean): adjust tests 2014-01-17 19:27:32 -08:00
tst4.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tst4.lean.expected.out chore(tests/lean): adjust tests to reflect recent changes 2014-01-17 14:36:55 -08:00
tst5.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tst5.lean.expected.out feat(frontends/lean): simplify explicit version names 2013-12-21 17:05:25 -08:00
tst6.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tst6.lean.expected.out chore(builtin/kernel): remove \bowtie as notation for transitivity 2014-01-18 21:11:12 -08:00
tst7.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst7.lean.expected.out feat(kernel/pos_info_provider): add support for file names in pos_info_provider 2014-01-09 12:19:30 -08:00
tst8.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst8.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst9.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst9.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
tst10.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
tst10.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst11.lean feat(*): change name conventions for Lean builtin libraries 2014-01-05 19:21:44 -08:00
tst11.lean.expected.out chore(tests/lean): adjust tests to reflect recent changes 2014-01-17 14:36:55 -08:00
tst12.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst12.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst13.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst13.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst14.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
tst14.lean.expected.out chore(builtin): rename nat, int and real modules to Nat, Int and Real. 2014-01-01 13:52:25 -08:00
tst15.lean refactor(builtin/kernel): start with small universes 2014-01-08 12:35:00 -08:00
tst15.lean.expected.out fix(frontends/lean/pp): pretty printer for Type 2013-12-19 15:24:45 -08:00
tst16.lean feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst16.lean.expected.out feat(kernel): use Pi as forall/implication 2014-01-08 00:38:39 -08:00
tst17.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
tst17.lean.expected.out refactor(kernel): remove heterogeneous equality 2014-01-16 17:39:12 -08:00
ty1.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
ty1.lean.expected.out feat(frontends/lean): improve error message for expressions containing unsolved metavariables 2014-01-13 13:21:44 -08:00
ty2.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
ty2.lean.expected.out test(kernel/typechecker): type checker 2013-11-16 15:01:39 -08:00
unicode.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
unicode.lean.expected.out Fix unit tests for Windows 2013-09-03 10:44:51 -07:00
univ.lean chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
univ.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00
univ2.lean refactor(builtin/kernel): start with small universes 2014-01-08 12:35:00 -08:00
univ2.lean.expected.out refactor(builtin/kernel): start with small universes 2014-01-08 12:35:00 -08:00
univ3.lean feat(kernel/environment): universe variables now live in their own namespace 2014-01-07 15:57:36 -08:00
univ3.lean.expected.out feat(kernel/environment): universe variables now live in their own namespace 2014-01-07 15:57:36 -08:00
using.lean test(tests/lean): 'using' command 2014-01-09 12:21:14 -08:00
using.lean.expected.out feat(builtin/Nat): flip orientation of associativity axioms for + and * 2014-01-20 15:38:00 -08:00
vars1.lean feat(frontends/lean): use lowercase commands, replace 'endscope' and 'endnamespace' with 'end' 2014-01-05 13:06:36 -08:00
vars1.lean.expected.out fix(frontends/lean): missing ':' in error messages 2014-01-09 11:19:58 -08:00