lean2/tests/lean
Leonardo de Moura 235b8975d2 feat(kernel/inductive): K-like reduction in the kernel
Given (H_1 : a = a), we have that
      eq.rec H_2 H_1
reduces to H_2

This is not exclusive to equality.
It applies to any inductive datatype in Prop, containing only one
constructor with zero "arguments" (we say they are nullary).

BTW, the restriction to only one constructor is not needed, but it is
does not buy much to support multiple nullary constructors since Prop is
proof irrelevant.
2014-10-10 14:37:45 -07:00
..
expensive chore(tests/lean): add 'expensive' file 2014-08-01 10:35:32 -07:00
hott chore(build): remove hott library directory, and move hott tests 2014-08-15 13:30:56 -07:00
interactive chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
run feat(kernel/inductive): K-like reduction in the kernel 2014-10-10 14:37:45 -07:00
slow chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
alias.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
alias.lean.expected.out feat(frontends/lean): add basic pretty printer 2014-07-09 01:12:36 -07:00
alias2.lean fix(frontends/lean/pp): pp was not taking into account new namespace name resolution rules, fixes #216 2014-10-01 11:24:45 -07:00
alias2.lean.expected.out fix(frontends/lean/pp): pp was not taking into account new namespace name resolution rules, fixes #216 2014-10-01 11:24:45 -07:00
bad_class.lean fix(library/algebra/category): minor fixes to reflect recent changes, and fix tests 2014-10-08 23:44:09 -07:00
bad_class.lean.expected.out fix(library/algebra/category): minor fixes to reflect recent changes, and fix tests 2014-10-08 23:44:09 -07:00
bug1.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
bug1.lean.expected.out chore(kernel/error_msgs): change type mismatch error messages, closes #33 2014-08-07 16:18:40 -07:00
calc1.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
calc1.lean.expected.out fix(frontends/lean/elaborator): use preprocessed expression when displaying errors 2014-07-29 14:25:50 -07:00
choice_expl.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
choice_expl.lean.expected.out fix(frontends/lean): distribute '@' over choice 2014-08-27 16:31:18 -07:00
cls_err.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
cls_err.lean.expected.out fix(library/unifier): missing justification when updating choice constraints 2014-10-04 10:40:53 -07:00
coe.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
coe.lean.expected.out fix(frontends/lean/pp): when formatting a coercion to function-class 2014-09-20 09:56:46 -07:00
config.lean chore(tests/lean): reactivate config.lean 2014-07-10 23:32:23 +01:00
config.lean.expected.out chore(shell): re-activate .lean tests 2014-06-11 14:36:42 -07:00
const.lean feat(frontends/lean): variables/parameters and check commands have access to all section variables/parameters, closes #231 2014-10-08 08:40:55 -07:00
const.lean.expected.out feat(frontends/lean): variables/parameters and check commands have access to all section variables/parameters, closes #231 2014-10-08 08:40:55 -07:00
crash.lean fix(tests/lean): adjust test to reflect recent changes 2014-08-26 09:12:18 -07:00
crash.lean.expected.out chore(kernel/error_msgs): change type mismatch error messages, closes #33 2014-08-07 16:18:40 -07:00
ctxopt.lean fix(frontends/lean/parser): configuration options defined in a context are transient, fixes #162 2014-09-09 11:02:54 -07:00
ctxopt.lean.expected.out fix(frontends/lean/parser): configuration options defined in a context are transient, fixes #162 2014-09-09 11:02:54 -07:00
empty.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
empty.lean.expected.out fix(library/unifier): missing justification when updating choice constraints 2014-10-04 10:40:53 -07:00
empty_thm.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
empty_thm.lean.expected.out fix(frontends/lean/decl_cmds): improve error message for invalid end of theorem 2014-08-17 17:03:54 -07:00
have1.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
have1.lean.expected.out feat(frontends/lean): rename '[fact]' to '[visible]' 2014-09-08 07:47:42 -07:00
inst.lean feat(frontends/lean): force 'classes' to be declared before instances are declared, closes #228 2014-10-07 18:02:15 -07:00
inst.lean.expected.out feat(frontends/lean): allow user to associate priorities to class-instances, closes #180 2014-09-28 12:20:42 -07:00
let1.lean feat(frontends/lean): rename '[fact]' to '[visible]' 2014-09-08 07:47:42 -07:00
let1.lean.expected.out fix(frontends/lean/pp): pretty print 'let-expressions', closes #87 2014-08-28 18:20:58 -07:00
let3.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
let3.lean.expected.out feat(frontends/lean/pp): improve let-expr pretty printer 2014-08-29 07:46:58 -07:00
let4.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
let4.lean.expected.out fix(frontends/let): let-expression pretty printer 2014-08-29 10:58:27 -07:00
num.lean feat(frontends/lean/inductive_cmd): prefix introduction rules with the name of the inductive datatype 2014-09-04 17:26:36 -07:00
num.lean.expected.out feat(frontends/lean/pp): pretty print numerals 2014-08-14 09:12:22 -07:00
num2.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
num2.lean.expected.out feat(frontends/lean): allow users to define "numeral notation" 2014-09-26 14:55:23 -07:00
num3.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
num3.lean.expected.out feat(frontends/lean): allow users to define "numeral notation" 2014-09-26 14:55:23 -07:00
num4.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
num4.lean.expected.out feat(frontends/lean): allow users to define "numeral notation" 2014-09-26 14:55:23 -07:00
num5.lean fix(frontends/lean): add 'eval' command 2014-09-26 20:16:03 -07:00
num5.lean.expected.out fix(frontends/lean): add 'eval' command 2014-09-26 20:16:03 -07:00
omit.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
omit.lean.expected.out feat(frontends/lean): add 'include' and 'omit' commands, closes #184 2014-10-03 07:23:24 -07:00
pp.lean fix(frontends/lean/pp): bug when pretty printing binder information, fixes #73 2014-08-21 09:28:07 -07:00
pp.lean.expected.out feat(frontends/lean): remove restriction on implict arguments, add new test that demonstrates the new feature 2014-09-07 12:29:32 -07:00
prodtst.lean refactor(frontends/lean): remove hardcoded Type', and define it using notation 2014-10-02 14:29:51 -07:00
prodtst.lean.expected.out refactor(frontends/lean): remove hardcoded Type', and define it using notation 2014-10-02 14:29:51 -07:00
protected.lean refactor(frontends/lean): replace '[protected]' modifier with 'protected definition' and 'protected theorem', '[protected]' is not a hint. 2014-09-19 15:54:32 -07:00
protected.lean.expected.out feat(frontends/lean): add '[protected]' modifier 2014-09-03 15:01:13 -07:00
sec.lean fix(frontends/lean/decl_cmds): do not allow section parameters/variables to shadow existing parameters/variables 2014-10-02 18:29:41 -07:00
sec.lean.expected.out fix(frontends/lean/decl_cmds): do not allow section parameters/variables to shadow existing parameters/variables 2014-10-02 18:29:41 -07:00
show1.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
show1.lean.expected.out feat(frontends/lean): rename '[fact]' to '[visible]' 2014-09-08 07:47:42 -07:00
showenv.l chore(*): cleanup lean builtin symbols, replace :: with _ 2014-01-09 08:33:52 -08:00
t1.lean refactor(kernel): rename var_decl to constant_assumption 2014-10-02 17:55:34 -07:00
t1.lean.expected.out refactor(*): rename Bool to Prop 2014-07-22 09:43:18 -07:00
t2.lean feat(frontends/lean/builtin_cmds): add simple 'print' command 2014-06-11 14:35:34 -07:00
t2.lean.expected.out feat(frontends/lean/builtin_cmds): add simple 'print' command 2014-06-11 14:35:34 -07:00
t3.lean feat(library/scoped_ext): force user to end a scope with an identifier matching the one used in beginning of scope, closes #30 2014-08-07 16:59:08 -07:00
t3.lean.expected.out feat(frontends/lean): add declaration to namespace without opening it, closes #161 2014-09-09 18:02:14 -07:00
t4.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
t4.lean.expected.out feat(frontends/lean): change the name resolution rules: when in a namespace N that defines C, then C always refers to N.C (i.e., it overrides any alias) 2014-08-18 18:58:50 -07:00
t5.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
t5.lean.expected.out feat(frontends/lean): add basic pretty printer 2014-07-09 01:12:36 -07:00
t6.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
t6.lean.expected.out refactor(*): rename Bool to Prop 2014-07-22 09:43:18 -07:00
t7.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
t7.lean.expected.out feat(frontends/lean): remove restriction on implict arguments, add new test that demonstrates the new feature 2014-09-07 12:29:32 -07:00
t9.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
t9.lean.expected.out fix(tests/lean): adjust tests expected output 2014-08-13 12:35:14 -07:00
t10.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
t10.lean.expected.out chore(kernel/error_msgs): change type mismatch error messages, closes #33 2014-08-07 16:18:40 -07:00
t11.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
t11.lean.expected.out feat(frontends/lean): add basic pretty printer 2014-07-09 01:12:36 -07:00
t12.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
t12.lean.expected.out feat(frontends/lean): add basic pretty printer 2014-07-09 01:12:36 -07:00
t13.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
t13.lean.expected.out feat(frontends/lean): add basic pretty printer 2014-07-09 01:12:36 -07:00
t14.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
t14.lean.expected.out feat(frontends/lean): add 'export' command 2014-09-03 18:37:01 -07:00
test.sh chore(tests/*/test.sh): change working dir; avoid using ls in for-loop 2014-10-06 11:20:13 -07:00
test_single.sh fix(tests): make sure tests can be executed on Windows msys2 shell 2014-09-20 15:51:24 -07:00
test_single_pp.sh chore(tests): cleanup test scripts 2014-06-29 09:03:39 -07:00
tuple.lean feat(library/universe): improve support for universe level constraints in the unifier 2014-10-09 20:28:39 -07:00
tuple.lean.expected.out feat(library/universe): improve support for universe level constraints in the unifier 2014-10-09 20:28:39 -07:00
uni_bug1.lean refactor(frontends/lean): constant/axiom are top-level commands, parameter/variable/hypothesis/conjecture are section/context-level commands 2014-10-02 17:55:34 -07:00
uni_bug1.lean.expected.out fix(tests/lean/uni_bug1): make sure test does not produce a 'used sorry' warning. 2014-09-26 09:42:31 -07:00
univ.lean feat(frontends/lean/elaborator): more strict test for bad universe solution 2014-10-02 14:29:51 -07:00
univ.lean.expected.out feat(frontends/lean/elaborator): more strict test for bad universe solution 2014-10-02 14:29:51 -07:00
var.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
var.lean.expected.out feat(frontends/lean): enforce rule section parameters cannot depend on section variables 2014-10-02 17:55:34 -07:00
var2.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
var2.lean.expected.out feat(frontends/lean): section variables occur after section parameters 2014-10-02 17:55:34 -07:00