lean2/tests/lean
Leonardo de Moura ca632cca13 feat(frontends/lean): add 'universe variable' command
We can declare variables anywhere. So, we must also be able do declare
"universe" variables anywhere. Here is a minimal example that requires
this feature

```
-- We want A and B to be in the same universe
universe variable l
variable A : Type.{l}
variable B : Type.{l}
definition tst := A = B
```

The following doesn't work because A and B are in different universes
```
variable A : Type
variable B : Type
definition tst := A = B
```

The following works, but tst is not universe polymorphic, since l is
one *fixed* global universe
```
universe l
variable A : Type.{l}
variable B : Type.{l}
definition tst := A = B
```
2014-10-11 14:22:33 -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 fix(frontends/lean/elaborator): incorrect type information being reports in lean-mode, fixes #241 2014-10-10 15:41:55 -07:00
run feat(frontends/lean): namespaces also define scope for variables 2014-10-10 16:21:30 -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
error_pos_bug.lean fix(frontends/lean/elaborator): bug when reporting error position 2014-10-10 17:31:12 -07:00
error_pos_bug.lean.expected.out fix(frontends/lean/elaborator): bug when reporting error position 2014-10-10 17:31:12 -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
param.lean feat(frontends/lean/parser): reject ambiguous parameter declaration, closes #242 2014-10-10 18:08:03 -07:00
param.lean.expected.out feat(frontends/lean/parser): reject ambiguous parameter declaration, closes #242 2014-10-10 18:08:03 -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 feat(frontends/lean): allow variables anywhere 2014-10-10 16:16:19 -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
univ_vars.lean feat(frontends/lean): add 'universe variable' command 2014-10-11 14:22:33 -07:00
univ_vars.lean.expected.out feat(frontends/lean): add 'universe variable' command 2014-10-11 14:22:33 -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): allow variables anywhere 2014-10-10 16:16:19 -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