lean2/tests/lean/run
Leonardo de Moura a1601e7a5f feat(library/tactic/apply_tactic): add option for 'refreshing' universe metavariables in the 'apply' tactic
The new test ../../tests/lean/run/tactic27.lean demonstrates why we need this feature. The tactic 'apply @refl' is actually 'apply @refl.{?l}'. It is used inside of a repeat tactical. Each iteration of the 'repeat' may need to use a different value for ?l. Before this commit, there was not way to say we want a fresh ?l each iteration.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2014-07-08 16:55:23 -07:00
..
algebra1.lean feat(frontends/lean): search for identifiers in the stack of namespaces; reject non-atomic names as local names 2014-07-07 19:00:06 -07:00
alias1.lean feat(frontends/lean/elaborator): keep postponing delayed coercions until the type can be inferred 2014-07-07 12:50:43 -07:00
alias2.lean feat(frontends/lean/elaborator): keep postponing delayed coercions until the type can be inferred 2014-07-07 12:50:43 -07:00
alias3.lean fix(library/aliases): aliasing behavior 2014-07-07 15:40:55 -07:00
basic.lean fix(frontends/lean): fix (and simplify) parameter universe inference 2014-07-06 16:56:54 -07:00
class1.lean feat(frontends/lean/builtin_cmds): allow many namespaces in the same 'using' command 2014-07-07 14:53:06 -07:00
class2.lean feat(frontends/lean/builtin_cmds): allow many namespaces in the same 'using' command 2014-07-07 14:53:06 -07:00
class3.lean feat(frontends/lean/builtin_cmds): allow many namespaces in the same 'using' command 2014-07-07 14:53:06 -07:00
class4.lean feat(frontends/lean): remove [class] annotation and 'class' command, they are redundant, we only need [instance] and 'instance' 2014-07-07 16:09:30 -07:00
class5.lean feat(frontends/lean): remove [class] annotation and 'class' command, they are redundant, we only need [instance] and 'instance' 2014-07-07 16:09:30 -07:00
class6.lean feat(library/standard): add namespace 'pair' 2014-07-07 14:48:19 -07:00
e1.lean feat(frontends/lean/notation_cmd): make the notation for setting precedence uniform 2014-07-01 16:55:41 -07:00
e2.lean fix(frontends/lean): infer type of definitions 2014-06-25 08:39:14 -07:00
e3.lean feat(frontends/lean/notation_cmd): make the notation for setting precedence uniform 2014-07-01 16:55:41 -07:00
e4.lean feat(frontends/lean/notation_cmd): make the notation for setting precedence uniform 2014-07-01 16:55:41 -07:00
e5.lean feat(frontends/lean/notation_cmd): make the notation for setting precedence uniform 2014-07-01 16:55:41 -07:00
e6.lean test(tests/lean/run): add simple overloading test 2014-06-26 09:32:12 -07:00
e7.lean test(tests/lean/run): add test demonstrating how to control ambiguity 2014-06-26 09:32:19 -07:00
e8.lean test(tests/lean/run): more tests on how to deal with ambiguity 2014-06-26 09:32:26 -07:00
e9.lean test(tests/lean/run): more tests on how to deal with ambiguity 2014-06-26 09:32:26 -07:00
e10.lean fix(frontends/lean): bugs in notation management 2014-07-07 09:31:42 -07:00
e11.lean fix(frontends/lean/builtin_cmds): abstract section parameters in the 'check' command 2014-06-26 10:06:50 -07:00
e12.lean test(tests/lean/run): add another example on how to deal with ambiguity 2014-06-26 10:18:35 -07:00
e13.lean feat(library/scoped_ext): do not import 'children' namespace objects 2014-06-26 10:32:34 -07:00
e14.lean feat(kernel): add infer implicit, and use it to infer implicit arguments of inductive datatype eliminators, and tag whether parameters should be implicit or not in introduction rules in the module inductive_cmd 2014-06-28 13:57:36 -07:00
e15.lean feat(kernel): add infer implicit, and use it to infer implicit arguments of inductive datatype eliminators, and tag whether parameters should be implicit or not in introduction rules in the module inductive_cmd 2014-06-28 13:57:36 -07:00
e16.lean feat(kernel): add infer implicit, and use it to infer implicit arguments of inductive datatype eliminators, and tag whether parameters should be implicit or not in introduction rules in the module inductive_cmd 2014-06-28 13:57:36 -07:00
e17.lean feat(kernel): add infer implicit, and use it to infer implicit arguments of inductive datatype eliminators, and tag whether parameters should be implicit or not in introduction rules in the module inductive_cmd 2014-06-28 13:57:36 -07:00
e18.lean chore(tests): add missing tests 2014-06-29 09:03:51 -07:00
group.lean feat(frontends/lean): remove [class] annotation and 'class' command, they are redundant, we only need [instance] and 'instance' 2014-07-07 16:09:30 -07:00
group2.lean feat(frontends/lean): remove [class] annotation and 'class' command, they are redundant, we only need [instance] and 'instance' 2014-07-07 16:09:30 -07:00
have1.lean feat(frontends/lean): add '[fact]' modifier for 'have' expression 2014-06-20 11:58:05 -07:00
have2.lean feat(frontends/lean): add '[fact]' modifier for 'have' expression 2014-06-20 11:58:05 -07:00
have3.lean feat(frontends/lean): add 'then have' expression 2014-06-20 14:27:21 -07:00
have4.lean feat(frontends/lean): add 'then have' expression 2014-06-20 14:27:21 -07:00
have5.lean feat(library/tactic): rename 'exact' to 'assumption', 'exact' is a different tactic 2014-07-02 18:10:42 -07:00
have6.lean feat(frontends/lean/notation_cmd): make the notation for setting precedence uniform 2014-07-01 16:55:41 -07:00
imp.lean fix(frontends/lean): '@' explicit mark 2014-06-28 07:30:36 -07:00
ind0.lean feat(frontends/lean): add inductive_cmd 2014-06-18 16:00:59 -07:00
ind1.lean feat(frontends/lean): add inductive_cmd 2014-06-18 16:00:59 -07:00
ind2.lean feat(frontends/lean): add inductive_cmd 2014-06-18 16:00:59 -07:00
ind3.lean refactor(frontends/lean/inductive_cmd): redesign inductive datatype elaboration, use the new elaborator, and use simpler algorithm to infer the resulting universe 2014-06-28 15:33:56 -07:00
ind4.lean feat(frontends/lean): add inductive_cmd 2014-06-18 16:00:59 -07:00
ind5.lean feat(frontends/lean): flip definition modifiers position, now they must occur after the identifier 2014-06-20 11:58:05 -07:00
ind6.lean refactor(frontends/lean/inductive_cmd): redesign inductive datatype elaboration, use the new elaborator, and use simpler algorithm to infer the resulting universe 2014-06-28 15:33:56 -07:00
ind7.lean feat(frontends/lean): add inductive_cmd 2014-06-18 16:00:59 -07:00
induniv.lean fix(frontends/lean): fix (and simplify) parameter universe inference 2014-07-06 16:56:54 -07:00
is_nil.lean feat(library/unifier): case split on constraints of the form (f ...) =?= (f ...), where f can be unfolded, and there are metavariables in the arguments 2014-07-05 15:52:40 -07:00
local_using.lean feat(frontends/lean): add notation overwrite 2014-06-23 16:10:36 -07:00
n1.lean feat(frontends/lean/parser): expand Lua parser API 2014-06-18 08:03:17 -07:00
n2.lean feat(frontends/lean/parser): add local_scope object to Lua API 2014-06-18 08:38:23 -07:00
n3.lean fix(frontends/lean/notation_cmd): fix default, add 'prev' action 2014-07-03 16:44:44 -07:00
n4.lean feat(frontends/lean/notation_cmd): make the notation for setting precedence uniform 2014-07-01 16:55:41 -07:00
n5.lean feat(frontends/lean/notation_cmd): reuse existing precedence to increase compatibility with existing notation 2014-07-03 17:23:29 -07:00
num.lean feat(frontends/lean): parse numerals as expressions of type 'num.num' 2014-07-02 08:09:33 -07:00
ptst.lean feat(library/standard): add namespace 'pair' 2014-07-07 14:48:19 -07:00
root.lean feat(frontends/lean): add '_root_' prefix for referencing names in the root namespace 2014-07-07 19:15:46 -07:00
simple.lean refactor(frontends/lean): Bool does not need to be a reserved keyword 2014-06-16 10:52:12 -07:00
string.lean feat(frontends/lean): parse strings as expressions of type 'string.string' 2014-07-02 10:00:55 -07:00
t1.lean refactor(frontends/lean): Bool does not need to be a reserved keyword 2014-06-16 10:52:12 -07:00
t2.lean feat(frontends/lean/parser): add parse_level 2014-06-12 12:34:55 -07:00
t4.lean feat(frontends/lean/parser): allow explicit universe level to be provided to aliases and locals 2014-06-13 18:00:52 -07:00
t5.lean test(lean/run): add overload test 2014-06-13 18:06:44 -07:00
t6.lean feat(frontends/lean/builtin_exprs): add parser for 'let' expressions 2014-06-16 09:50:34 -07:00
t7.lean feat(frontends/lean/builtin_exprs): parse '_' placeholder 2014-06-16 10:41:08 -07:00
t8.lean feat(library/tactic): rename 'exact' to 'assumption', 'exact' is a different tactic 2014-07-02 18:10:42 -07:00
t9.lean feat(frontends/lean/notation_cmd): make the notation for setting precedence uniform 2014-07-01 16:55:41 -07:00
t10.lean feat(frontends/lean/builtin_cmds): add 'print options' command 2014-06-16 17:31:28 -07:00
t11.lean feat(frontends/lean/builtin_cmds): change notation for marking implicit/cast parameter in sections 2014-06-22 17:51:00 -07:00
tactic1.lean feat(library/tactic): rename 'exact' to 'assumption', 'exact' is a different tactic 2014-07-02 18:10:42 -07:00
tactic2.lean feat(library/tactic): rename 'exact' to 'assumption', 'exact' is a different tactic 2014-07-02 18:10:42 -07:00
tactic3.lean fix(library/standard): orelse notation, avoid conflict with inductive datatype declaration 2014-07-04 10:10:05 -07:00
tactic4.lean feat(library/tactic): rename 'exact' to 'assumption', 'exact' is a different tactic 2014-07-02 18:10:42 -07:00
tactic5.lean feat(library/tactic): rename 'exact' to 'assumption', 'exact' is a different tactic 2014-07-02 18:10:42 -07:00
tactic6.lean feat(library/tactic): rename 'exact' to 'assumption', 'exact' is a different tactic 2014-07-02 18:10:42 -07:00
tactic7.lean fix(library/standard): orelse notation, avoid conflict with inductive datatype declaration 2014-07-04 10:10:05 -07:00
tactic8.lean feat(library/tactic): new apply tactic 2014-07-02 13:14:50 -07:00
tactic9.lean feat(library/tactic): rename 'exact' to 'assumption', 'exact' is a different tactic 2014-07-02 18:10:42 -07:00
tactic10.lean fix(library/standard): orelse notation, avoid conflict with inductive datatype declaration 2014-07-04 10:10:05 -07:00
tactic11.lean fix(library/standard): orelse notation, avoid conflict with inductive datatype declaration 2014-07-04 10:10:05 -07:00
tactic12.lean feat(library/tactic): add 'exact' tactic 2014-07-02 18:37:32 -07:00
tactic13.lean feat(frontends/lean): add 'proof-qed' notation 2014-07-02 19:30:48 -07:00
tactic14.lean feat(frontends/lean): rename command 'reset_proof_qed' to 'set_proof_qed' 2014-07-07 15:48:16 -07:00
tactic15.lean test(tests/lean/run): add 'apply subst' test 2014-07-03 09:07:56 -07:00
tactic16.lean feat(library/tactic): add apply tactic 2014-07-03 09:20:01 -07:00
tactic17.lean fix(library/unifier): missing case 2014-07-03 10:51:59 -07:00
tactic18.lean fix(library/unifier): missing case 2014-07-03 10:51:59 -07:00
tactic19.lean fix(library/unifier): missing case 2014-07-03 10:51:59 -07:00
tactic20.lean feat(library/tactic): add eassumption tactic, and remove redundant 'subgoals' from apply tactic 2014-07-03 13:04:46 -07:00
tactic21.lean feat(library/tactic): add eassumption tactic, and remove redundant 'subgoals' from apply tactic 2014-07-03 13:04:46 -07:00
tactic22.lean fix(library/standard): orelse notation, avoid conflict with inductive datatype declaration 2014-07-04 10:10:05 -07:00
tactic23.lean feat(library/unifier): case split on constraints of the form (f ...) =?= (f ...), where f can be unfolded, and there are metavariables in the arguments 2014-07-05 15:52:40 -07:00
tactic24.lean feat(frontends/lean): add tactic_hint command 2014-07-08 15:08:13 -07:00
tactic25.lean feat(frontends/lean): allow tactic_hints to be applied when class-instance mechanism fails 2014-07-08 15:08:13 -07:00
tactic26.lean feat(frontends/lean): allow tactic_hints to be applied when class-instance mechanism fails 2014-07-08 15:08:13 -07:00
tactic27.lean feat(library/tactic/apply_tactic): add option for 'refreshing' universe metavariables in the 'apply' tactic 2014-07-08 16:55:23 -07:00
test_single.sh feat(tests/lean/run): add test_single script that sets the LEAN_PATH 2014-06-29 07:47:46 -07:00
trick.lean feat(library/unifier): case split on constraints of the form (f ...) =?= (f ...), where f can be unfolded, and there are metavariables in the arguments 2014-07-05 15:52:40 -07:00
uni.lean feat(library/unifier): add support for unification constraints of the form "(elim ... (?m ...)) =?= t", where elim is an eliminator 2014-07-03 20:41:51 -07:00
uni2.lean feat(kernel): add method 'may_reduce_later' to normalizer_extension, and improve unifier 2014-07-03 22:31:05 -07:00
uni_issue1.lean fix(frontends/lean): fix (and simplify) parameter universe inference 2014-07-06 16:56:54 -07:00