lean2/tests/lean/run
Leonardo de Moura 08169c5ac2 fix(library/unifier): fixes #809
Daniel is correct when he says the interaction between choice
case-splits, delta case-splits, and coercions can be subtle.

I believe the following condition
https://github.com/leanprover/lean/blob/master/src/frontends/lean/elaborator.cpp#L111
reduces counter-intuitive behavior. Example, the coercion should not
influence the resulting type.
BTW, by removing this condition, many files in the library broke when I
tried to compile from scratch

      make clean-olean
      make

I used the following workaround. Given a delta-delta constraint

           f a =?= f b

If the terms are types, and no case-split will be performed, then
the delta-delta constraint is eagerly solved.
In principle, we don't need the condition that the terms are types.
However, many files break if we remove it. The problem is that many files in the standard
library are abusing the higher-order unification procedure. The
elaboration problems are quite tricky to solve.
I use the extra condition "the terms are types" because usually if they
are, "f" is morally injective, and we don't really want to unfold it.

Note that the following two cases do not work

     check '{1, 2, 3}
     check insert 1 (insert 2 (insert 3 empty))

Well, they work if we the num namespace is open, and they are
interpreted as having type (finset num)
2015-08-31 17:59:30 -10:00
..
252.lean feat(frontends/lean/coercion_elaborator): "coercion lifting" for backtracking case 2015-05-30 16:44:26 -07:00
331.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
360_1.lean feat(library/tactic/apply_tactic): perform class-instance resolution in the apply tactic 2015-02-06 16:14:03 -08:00
361.lean fix(library/tactic/apply_tactic): add eapply, and fix issue #361 2015-05-01 15:08:00 -07:00
362.lean fix(frontends/lean): intro tactic + universe variables, fixes #362 2014-12-03 12:56:30 -08:00
415.hlean fix(frontends/lean/elaborator): apply substitution before compiling pre-tactics into tactics 2015-01-28 13:32:56 -08:00
444.lean feat(frontends/lean/elaborator): try coercions after each overload 2015-02-24 17:41:20 -08:00
445.lean fix(frontends/lean/decl_cmds): constants command 2015-02-24 16:27:13 -08:00
454.lean fix(frontends/lean/elaborator): unassigned metavariable when using nested begin-end blocks 2015-02-28 09:03:56 -08:00
466.lean feat(frontends/lean): use rewrite tactic to implement unfold (it has a unfold step) 2015-04-24 17:23:12 -07:00
490.lean fix(frontends/lean/structure_cmd): explicit universe levels for structures 2015-03-25 16:10:30 -07:00
505.lean test(tests/lean/run): workaround for issue #505 2015-03-25 15:53:50 -07:00
511a.lean feat(library/tactic/rewrite_tactic): add xrewrite and krewrite tactic variants 2015-05-27 16:32:43 -07:00
541a.lean feat(nat): redefine le and lt in the standard library 2015-06-04 20:14:13 -04:00
541b.lean test(tests/lean/run): add examples showing how to prove (using tactics) that direct_subterm relation is well-founded 2015-06-09 16:17:29 -07:00
543.lean fix(library/tactic/exact_tactic): exact and or_else 2015-04-19 17:23:09 -07:00
548.lean fix(library/tactic/rewrite_tactic): second problem reported at issue #548 2015-04-24 16:49:32 -07:00
567.lean fix(library/tactic/rewrite_tactic): relax reducibility constraints in some parts of the rewrite tactic 2015-04-30 18:22:58 -07:00
568.lean fix(frontends/lean/builtin_cmds): bug in export command 2015-05-02 16:01:25 -07:00
570.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
570b.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
585.lean refactor(logic/funext.lean, algebra/function.lean): delete logic/funext, merge into algebra/function 2015-05-23 16:16:36 +10:00
588.lean fix(library/unifier): typo 2015-05-07 16:30:02 -07:00
592.lean fix(frontends/lean/elaborator): problem with 'calc' proofs discussed at issue #592 2015-05-11 13:22:39 -07:00
600a.lean fix(frontends/lean/scanner): block comments 2015-05-13 22:14:28 -07:00
600b.lean fix(frontends/lean/scanner): block comments 2015-05-13 22:14:28 -07:00
600c.lean fix(frontends/lean/scanner): block comments 2015-05-13 22:14:28 -07:00
645a.lean feat(library/tactic): automate "generalize-intro-induction/cases" idiom 2015-05-30 21:57:28 -07:00
662.lean fix(library/unifier): try to generate approximate solution for flex-flex constraints before discarding them 2015-06-09 14:36:31 -07:00
662b.lean test(tests/lean/run): add test/example 2015-06-09 14:50:15 -07:00
668.lean test(tests/lean/run): add test showing new coercion module addresses issue #668 2015-07-01 16:41:19 -07:00
676.lean feat(library/tactic/constructor_tactic): restore 'constructor' tactic old semantics, add 'fconstructor' tactic 2015-06-17 23:48:54 -07:00
679a.lean feat(library/class): allow any constant to be marked as a class 2015-06-17 16:26:45 -07:00
679b.lean feat(library/class): allow any constant to be marked as a class 2015-06-17 16:26:45 -07:00
682.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
687.lean fix(frontends/lean/elaborator): fixes #687 2015-06-28 19:58:57 -07:00
695d.lean feat(frontends/lean/parse_rewrite_tactic): accept trailing comman in rewrite tactic 2015-06-28 11:45:30 -07:00
695e.lean test(tests/lean/run): add test for <d notation 2015-06-28 13:10:15 -07:00
702.lean fix(library/tactic/rewrite_tactic): fixes #702 2015-06-28 20:37:17 -07:00
724.lean fix(frontends/lean/elaborator): fixes #724 2015-07-06 15:19:19 -07:00
751.lean fix(library/util): fixes #751 2015-07-28 16:30:20 -07:00
774.lean feat(frontends/lean/decl_cmds): allow recursive examples 2015-08-08 08:26:25 -07:00
791.lean feat(frontends/lean/decl_cmds): closes #791 2015-08-11 17:53:33 -07:00
796.lean fix(library/definitional/equations): fixes #796 2015-08-14 14:39:23 -07:00
801.lean fix(library/normalize): fixes #801 2015-08-16 14:22:02 -07:00
803.lean fix(frontends/lean/elaborator): fixes #803 2015-08-17 14:56:41 -07:00
809.lean fix(library/unifier): fixes #809 2015-08-31 17:59:30 -10:00
809b.lean fix(library/unifier): fixes #809 2015-08-31 17:59:30 -10:00
abs.lean refactor(library): use 'reserve' notation in the standard library 2014-10-21 15:39:47 -07:00
ack.lean test(tests/lean/run): define ackermann function using recursors 2014-11-11 11:06:10 -08:00
alg_rw.lean feat(library/unifier): do not fire type class resolution as last resort when type contains metavariables 2015-05-18 15:45:23 -07:00
algebra1.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
algebra3.lean refactor(library): change mul.left_id to mul_one, and similarly for mul.right_id, add.left_id, add.right_id 2014-12-23 21:14:36 -05:00
alias1.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
alias2.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
alias3.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
all_goals.lean feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]' 2015-07-07 16:37:06 -07:00
all_goals2.lean feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]' 2015-07-07 16:37:06 -07:00
app_builder.lean fix(library/app_builder): many bugs, add use_cache option, add tests 2015-01-29 15:30:31 -08:00
apply_class_issue0.lean fix(library/unifier): postpone class-instance constraints whose type could not be inferred 2014-12-01 22:27:23 -08:00
apply_failure.lean feat(library/tactic/apply_tactic): do not report elaboration failure in apply tactic when proof_state.report_failure() is false 2015-08-21 15:45:52 -07:00
as.lean feat(frontends/lean): add 'as' clause to 'open' command 2014-09-03 17:37:02 -07:00
assert_tac.lean feat(frontends/lean): add 'assert H : A, ...' as notation for 'have H [visible] : A, ...' 2015-02-25 14:30:42 -08:00
assert_tac2.lean feat(frontends/lean): round parenthesis for [tactic1 | tactic2] 2015-04-06 09:24:09 -07:00
atomic2.lean feat(frontends/lean): better default for atomic notation 2014-11-14 16:25:13 -08:00
atomic_notation.lean fix(frontends/lean/pp): avoid parentheses around atomic notation 2014-10-20 18:08:13 -07:00
attrs.lean feat(frontends/lean/decl_cmds): allow many constants to be set in the same attribute command 2015-01-31 23:55:14 -08:00
basic.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
begin_end_plus.lean feat(frontends/lean): add 'begin+' and 'by+' that enter tactic mode with the whole context visible 2015-05-05 18:47:25 -07:00
beginend.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
beginend3.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
booltst.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
bquant.lean feat(library/data/nat): add "bounded" quantifiers 2014-12-13 15:42:38 -08:00
bug5.lean refactor(library): add 'eq' and 'ne' namespaces 2014-09-04 18:41:06 -07:00
bug6.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
by_exact.lean feat(frontends/lean): add tactic_notation command 2015-04-27 17:46:13 -07:00
calc.lean refactor(library): replace 'calc_trans', 'calc_symm', 'calc_refl' and 'calc_subst' commands with attributes '[symm]', '[refl]', '[trans]' and '[subst]' 2015-05-02 15:15:35 -07:00
calc_auto_trans_eq.lean fix(tests): update tests to reflect the change of notation from \~ to ~ 2015-06-25 22:55:05 -04:00
calc_bug.lean fix(frontends/lean/calc): add expected type for single-step calc expressions, fixes #357 2014-11-29 15:35:09 -08:00
calc_heq_symm.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
calc_imp.lean feat(frontends/lean): allow → to be used in calc proofs 2015-05-07 12:28:47 -07:00
cases_bug.lean fix(library/tactic/inversion_tactic): missing condition for applying optimization 2015-03-12 09:11:36 -07:00
cast_sorry_bug.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
choice_ctx.lean chore(frontend/lean/pp_options): use consistent name convention for pp option names 2014-09-09 09:27:26 -07:00
choose_test.lean test(tests/lean/run): add example for constructive choice 2015-05-09 12:02:52 -07:00
class1.lean refactor(library/data/num): break into pieces to reduce dependencies 2014-11-07 08:24:29 -08:00
class2.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
class3.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
class4.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
class5.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
class6.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
class7.lean feat(frontends/lean): round parenthesis for [tactic1 | tactic2] 2015-04-06 09:24:09 -07:00
class8.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
class11.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
class_bug1.lean fix(frontends/lean): problems with sections 2015-04-21 19:46:57 -07:00
class_bug2.lean feat(frontends/lean): new semantics for "protected" declarations 2015-02-11 14:09:25 -08:00
class_coe.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
clear_tac.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
clears_tac.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
cody1.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
cody2.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
coe1.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
coe2.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
coe3.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
coe4.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
coe5.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
coe6.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
coe7.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
coe8.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
coe9.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
coe10.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
coe11.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
coe12.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
coe13.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
coe14.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
coe15.lean feat(frontends/lean): use coercions to function-class and sort-class in 2014-09-20 09:00:10 -07:00
coefun.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
coercion_bug.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
coercion_bug2.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
coesec.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
comment.lean chore(tests/lean): add untracked tests 2014-09-09 16:21:30 -07:00
confuse_ind.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
congr.lean feat(frontends/lean/bultin_cmds): add 'print [congr]' command for displaying active congruence rules 2015-07-23 18:52:59 -07:00
congr_imp_bug.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
congr_tac.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
congr_tac2.lean feat(library/tactic/congruence_tactic): add congruence lemma generator 2015-06-05 22:00:10 -07:00
const_choice.lean fix(frontends/lean): process choice-exprs at check_constant_next 2014-11-02 19:42:30 -08:00
constr_tac.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
constr_tac2.lean fix(library/tactic/constructor_tactic): bug in constructor tactic 2015-04-30 20:18:24 -07:00
constr_tac3.lean feat(library/tactic/constructor_tactic): allow 'constructor' tactic without index 2015-04-30 21:15:07 -07:00
constr_tac4.lean feat(nat): redefine le and lt in the standard library 2015-06-04 20:14:13 -04:00
consume.lean feat(frontends/lean): add ! operator the "dual" of @, closes #220 2014-10-01 17:13:41 -07:00
contra1.lean feat(library/tactic): add 'contradiction' tactic 2015-04-30 13:47:40 -07:00
contra2.lean feat(library/tactic/contradiction_tactic): handle (h1 : p) and (h2 : not p) hypotheses in the contradiction tactic 2015-05-25 10:29:51 -07:00
ctx.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
dec_trivial_loop.lean feat(library/unifier): do not fire type class resolution as last resort when type contains metavariables 2015-05-18 15:45:23 -07:00
deceq_vec.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
decidable.lean refactor(data/num/string): break into pieces to reduce dependencies 2014-11-07 08:53:14 -08:00
def_tac.lean feat(frontends/lean): add tactic_notation command 2015-04-27 17:46:13 -07:00
dep_subst.lean fix(library/tactic/subst_tactic): in the standard mode, use dependent elimination in the subst tactic (when needed) 2015-06-03 17:36:04 -07:00
dfun_tst.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
diag.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
div2.lean feat(frontends/lean): add simp tactic frontend stub 2015-07-14 09:54:53 -04:00
div_wf.lean refactor(library/init/nat): rename constants 2015-01-07 18:26:51 -08:00
e1.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
e2.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
e3.lean refactor(library/logic/connectives): rename theorems 2014-12-15 15:05:44 -05:00
e4.lean refactor(library/logic/connectives): rename theorems 2014-12-15 15:05:44 -05:00
e5.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
e6.lean feat(frontends/lean): 'attribute' command is persistent by default 2015-01-26 11:51:17 -08:00
e7.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
e8.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
e9.lean feat(frontends/lean): 'attribute' command is persistent by default 2015-01-26 11:51:17 -08:00
e10.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
e11.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
e12.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
e13.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
e14.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
e15.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
e16.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
e17.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
e18.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
eassumption.lean feat(library/tactic/constructor_tactic): restore 'constructor' tactic old semantics, add 'fconstructor' tactic 2015-06-17 23:48:54 -07:00
elab_bug1.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
elab_failure.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
elim.lean refactor(library): rename exists_elim and exists_intro to exists.elim 2014-12-15 19:07:38 -08:00
elim2.lean fix(tests/lean/run/elim2): adjust test to reflect recent changes 2015-02-05 10:54:00 -08:00
empty_eq.lean refactor(library/data): replace 'fin' with Haitao's 'less_than' 2015-06-05 10:33:19 -07:00
empty_match.lean feat(frontends/lean): add support for empty match-with expressions 2015-02-26 16:36:15 -08:00
empty_match_bug.lean refactor(library/data): replace 'fin' with Haitao's 'less_than' 2015-06-05 10:33:19 -07:00
enum.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
eq1.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
eq2.lean perf(frontends/lean/elaborator): do not invoke recursive equation compiler when equations still contain metavariables 2015-04-02 23:37:33 -07:00
eq3.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
eq4.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eq5.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eq6.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eq7.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
eq8.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
eq9.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eq10.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
eq11.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
eq12.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eq13.lean perf(frontends/lean/elaborator): do not invoke recursive equation compiler when equations still contain metavariables 2015-04-02 23:37:33 -07:00
eq14.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eq15.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eq16.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eq17.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eq18.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
eq19.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
eq20.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
eq21.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
eq22.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eq23.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
eq24.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
eq25.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
eqn_tac.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
eqv_tacs.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
esimp1.lean feat(library/tactic/rewrite_tactic): try to fold nested recursive applications after unfolding a recursive function 2015-07-08 21:19:18 -04:00
ex.lean chore(tests/lean): add missing tests 2014-09-04 15:04:57 -07:00
example1.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
exfalso1.lean feat(library/tactic): add 'exfalso' tactic 2015-04-30 15:43:07 -07:00
export.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
export2.lean test(tests/lean/run): add 'export' command test 2015-02-01 19:57:26 -08:00
fapply.lean refactor(library): rename exists_elim and exists_intro to exists.elim 2014-12-15 19:07:38 -08:00
fib_brec.lean feat(datatypes): let the type of unit be the lowest non-Prop universe 2015-06-25 17:33:46 -07:00
fib_wrec.lean refactor(library/data/nat): declare lt and le asap using inductive definitions, and make key theorems transparent for definitional package 2014-11-22 00:19:39 -08:00
fibrant_class1.lean feat(library): add 'noncomputable' keyword for the standard library 2015-07-28 21:56:35 -07:00
fibrant_class2.lean feat(library): add 'noncomputable' keyword for the standard library 2015-07-28 21:56:35 -07:00
finbug.lean refactor(library/*): remove 'Module:' lines 2015-05-23 20:52:23 +10:00
finbug2.lean refactor(library/*): remove 'Module:' lines 2015-05-23 20:52:23 +10:00
find_cmd.lean feat(frontends/lean/find_cmd): add options for controlling find_decl 2014-11-24 00:16:10 -08:00
finset.lean fix(tests/lean/run/finset): adjust test to recent changes to the 2015-07-19 11:53:21 -07:00
finset1.lean feat(library): enforce name conventions on old nat declarations 2015-04-18 10:50:30 -07:00
finset_coe.lean feat(frontends/lean/elaborator): use custom normalizers for detecting whether there are coercions from/to a given type 2015-05-20 16:12:12 -07:00
fold.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
forest.lean feat(datatypes): let the type of unit be the lowest non-Prop universe 2015-06-25 17:33:46 -07:00
forest2.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
forest_height.lean fix(tests/lean): adjust tests to recent changes to the standard library 2015-07-19 21:32:42 -07:00
ftree_brec.lean feat(datatypes): let the type of unit be the lowest non-Prop universe 2015-06-25 17:33:46 -07:00
full.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
fun.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
gcd.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
generalizes.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
goal.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
group.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
group2.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
group3.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
group4.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
group5.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
group6.lean fix(frontends/lean): disable class-instance resolution when executing find_decl, fixes #343 2014-11-24 21:33:52 -08:00
hash.lean feat(kernel/expr): add hash_bi function that takes binder information into account 2014-09-29 16:44:55 -07:00
have1.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
have2.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
have3.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
have4.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
have5.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
have6.lean feat(frontends/lean): add 'assert H : A, ...' as notation for 'have H [visible] : A, ...' 2015-02-25 14:30:42 -08:00
help_cmd.lean feat(frontends/lean): add missing 'help' command 2015-03-06 13:56:20 -08:00
ho.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
id.lean feat(frontends/lean/inductive_cmd): prefix introduction rules with the name of the inductive datatype 2014-09-04 17:26:36 -07:00
iff_rw.lean feat(library/tactic/rewrite_tactic): rewrite tactic with 'iff' lemmas 2015-05-14 18:27:13 -07:00
imp.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
imp2.lean feat(frontends/lean/elaborator): more strict test for bad universe solution 2014-10-02 14:29:51 -07:00
imp3.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
imp_curly.lean refactor(library): change mul.left_id to mul_one, and similarly for mul.right_id, add.left_id, add.right_id 2014-12-23 21:14:36 -05:00
impbug1.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
impbug2.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
impbug3.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
impbug4.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
implicit.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
ind0.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
ind1.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
ind2.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
ind3.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
ind4.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
ind5.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
ind6.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
ind7.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
ind8.lean feat(frontends/lean/inductive_cmd): infer implicit argument annotation after elaboration, allow user to disable it by using '()' annotation, closes #210 2014-09-29 11:11:17 -07:00
ind_bug.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
ind_ns.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
ind_tac.lean feat(library/tactic): add induction tactic with support for user defined recursors 2015-05-19 13:27:17 -07:00
ind_tac1.lean feat(library/user_recursors): generalize acceptable use-defined recursors 2015-05-18 14:21:10 -07:00
indbug2.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
indimp.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
induction_tac1.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
induction_tac2.lean feat(library/tactic): add induction tactic with support for user defined recursors 2015-05-19 13:27:17 -07:00
induniv.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
inf_tree.lean test(tests/lean/run): add examples showing how to prove (using tactics) that direct_subterm relation is well-founded 2015-06-09 16:17:29 -07:00
inf_tree2.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
inf_tree3.lean refactor(frontends/lean): approach used to parse tactics 2015-03-05 18:11:21 -08:00
inj_tac.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
injective_decidable.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
inst_bug.lean feat(frontends/lean/placeholder_elaborator): apply substitution before collecting local instances, closes #333 2014-11-23 17:30:46 -08:00
interp.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
intros.lean feat(library,hott): remove rapply tactic 2015-04-27 15:06:16 -07:00
inv_bug.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
inv_bug2.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
inversion1.lean refactor(library/data): replace 'fin' with Haitao's 'less_than' 2015-06-05 10:33:19 -07:00
is_nil.lean feat(library/inductive_unifier_plugin): restrict rule that was generating non-terminating behavior 2015-05-27 14:41:12 -07:00
is_true.lean feat(frontends/lean): round parenthesis for [tactic1 | tactic2] 2015-04-06 09:24:09 -07:00
issue332.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
kcomp.lean feat(kernel/inductive): K-like reduction in the kernel 2014-10-10 14:37:45 -07:00
let1.lean chore(*): minimize dependencies on tests 2014-08-24 19:58:48 -07:00
let2.lean feat(frontends/lean): avoid exponential blowup when processing let-expressions with a lot of sharing, cleanup show-expression 2014-08-28 16:27:52 -07:00
let_tac.lean feat(library/tactic): add 'let' tactic 2015-04-28 17:24:43 -07:00
level_bug1.lean fix(kernel/default_converter): broken optimization 2015-05-06 18:32:41 -07:00
level_bug2.lean fix(kernel/default_converter): broken optimization 2015-05-06 18:32:41 -07:00
level_bug3.lean fix(kernel/default_converter): broken optimization 2015-05-06 18:32:41 -07:00
lift.lean feat(frontends/lean): new semantics for "protected" declarations 2015-02-11 14:09:25 -08:00
lift2.lean feat(library/unifier): generalize method process_succ_eq_max_core 2014-11-14 14:25:41 -08:00
list_elab1.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
list_vector_overload.lean feat(frontends/lean): allow user to overload notation containing foldr/foldl and/or scoped expressions 2015-08-16 18:24:30 -07:00
local_eqns.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
local_eqns2.lean refactor(library/data): replace 'fin' with Haitao's 'less_than' 2015-06-05 10:33:19 -07:00
local_notation.lean feat(frontends/lean): modify syntax for local notation 2015-01-26 11:51:17 -08:00
local_using.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
localcoe.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
match1.lean feat(library): add idx_metavar module 2015-06-08 16:02:37 -07:00
match2.lean feat(library): add idx_metavar module 2015-06-08 16:02:37 -07:00
match3.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
match4.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
match_fun.lean fix(library/definitional/equations): allow a function to be the result of a match-with term or recursive definition 2015-03-06 15:08:52 -08:00
match_tac.lean feat(frontends/lean): allow 'match-with' to be used in tactics without prefixing it with 'exact' 2015-03-06 15:49:31 -08:00
match_tac2.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
match_tac3.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
match_tac4.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
matrix.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
matrix2.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
max_memory.lean feat(frontends/lean): add option 'max_memory' 2015-03-06 13:56:20 -08:00
measurable.lean feat(library/init/measurable): add 'measurable' type class 2014-12-03 18:54:24 -08:00
meta.lean feat(frontends/lean): add 'print metaclasses' command 2015-02-11 10:13:20 -08:00
mul_zero.lean feat(frontends/lean/calc_proof_elaborator): reject proofs with metavariables in the calc-assistant 2015-02-01 11:11:27 -08:00
n1.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
n2.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
n3.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
n4.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
n5.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
namespace_local.lean feat(frontends/lean): namespaces also define scope for variables 2014-10-10 16:21:30 -07:00
nat_bug.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
nat_bug2.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
nat_bug3.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
nat_bug4.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
nat_bug5.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
nat_bug6.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
nat_bug7.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
nat_coe.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
nateq.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
nested_begin.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
nested_begin_end.lean feat(frontends/lean): nested begin-end blocks 2015-02-24 11:59:27 -08:00
nested_rec.lean fix(tests/lean): adjust tests to reflect changes in the elaboration process 2015-06-26 17:18:30 -07:00
new_obtain3.lean fix(tests/lean): fix three tests broken by setext renaming 2015-08-09 22:14:25 -04:00
new_obtain4.lean fix(tests/lean): fix three tests broken by setext renaming 2015-08-09 22:14:25 -04:00
new_obtains.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
new_obtains2.lean feat(frontends/lean/builtin_exprs): improve new 'obtain' expression 2015-05-06 09:56:57 -07:00
no_confusion_bug.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
not_bug1.lean feat(frontends/lean): validate infixl/infixr/postfix/prefix declarations against reserved notations 2014-10-21 15:39:47 -07:00
notation_priority.lean feat(frontends/lean/util): remove hack that overrides priority namespace 2015-08-11 18:01:40 -07:00
ns.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
ns1.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
ns2.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
num.lean chore(*): minimize dependencies on tests 2014-08-24 19:58:48 -07:00
num_bug2.lean feat(library/unifier): do not fire type class resolution as last resort when type contains metavariables 2015-05-18 15:45:23 -07:00
num_sub.lean feat(library/init/num): define sub and le for binary numerals 2015-03-03 15:55:16 -08:00
obtain_tac.lean feat(frontends/lean/builtin_exprs): allow 'obtain' to be used in tactic mode 2015-05-19 16:26:02 -07:00
occurs_check_bug1.lean feat(frontends/lean): validate infixl/infixr/postfix/prefix declarations against reserved notations 2014-10-21 15:39:47 -07:00
one.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
one2.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
opaque_hint_bug.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
over2.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
over_subst.lean fix(tests/lean): adjust tests since module 'logic' depends on nat 2014-11-22 17:34:05 -08:00
override1.lean feat(frontends/lean): add 'override' (notation) command 2015-05-20 11:42:16 -07:00
override_on_equations.lean fix(frontends/lean): fix '#' override notation on the left-hand-side of recursive equations (and match-expressions) 2015-05-03 21:08:09 -07:00
parent_struct_ref.lean feat(frontends/lean/structure_cmd): allow user to reference parent structures when defining new fields 2015-01-16 13:04:48 -08:00
parity.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
pickle1.lean refactor(library/data): rename 'countable' to 'encodable', define countable in the usual way, and prove all 'encodable' type is 'countable' 2015-04-19 14:20:47 -07:00
ppbeta.lean fix(library/data/nat/div,tests/lean/run/ppbeta): make decidable for dvd transparent, name change in ppbeta 2014-12-26 16:44:43 -05:00
pquot.lean feat(kernel): add experimental support for quotient types 2015-03-31 22:04:16 -07:00
prec_max.lean feat(frontends/lean): increase binding power of ! and @ 2015-01-19 18:40:33 -08:00
premises.lean feat(frontends/lean): add "premise" and "premises" command 2015-02-11 18:46:03 -08:00
print.lean fix(tests/lean): to reflect changes in the standard library 2014-11-03 18:46:53 -08:00
print_inductive.lean feat(frontends/lean): add 'print inductive' command 2015-04-29 15:22:10 -07:00
print_poly.lean refactor(library/logic): move logic/choice.lean to init/classical.lean 2015-08-12 18:37:33 -07:00
prio_overloading.lean fix(frontends/lean/util): bug when parsing priorities and numerals are overloaded 2015-08-31 15:08:21 -10:00
priority_test.lean feat(frontends/lean/util): remove hack that overrides priority namespace 2015-08-11 18:01:40 -07:00
priority_test2.lean feat(frontends/lean/util): remove hack that overrides priority namespace 2015-08-11 18:01:40 -07:00
private_names.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
prod_notation.lean fix(library/data/prod): make the notation for tuples and product types consistent 2014-10-13 06:48:37 -07:00
proj.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
proof_qed_improved.lean test(tests/lean/run): add test showing that "proof ... qed" can access the whole context 2015-05-05 18:32:47 -07:00
proof_qed_nested_tac.lean feat(frontends/lean): treat "proof t qed" as alias for "by exact t" 2015-03-05 11:12:39 -08:00
proposition.lean feat(frontends/lean/token_table): add 'proposition' keyword 2015-08-19 08:05:31 -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
ptst.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
rat_coe.lean feat(frontends/lean/elaborator): use custom normalizers for detecting whether there are coercions from/to a given type 2015-05-20 16:12:12 -07:00
rat_rfl.lean feat(frontends/lean/builtin_cmds): do not unfold proofs in the eval command 2015-05-20 19:14:57 -07:00
record1.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
record2.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
record3.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
record4.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
record5.lean feat(frontends/lean/structure_cmd): allow fields to be suppresed, but constructor to be provided 2014-11-03 22:55:51 -08:00
record6.lean feat(frontends/lean/structure_cmd): add 'private' modifier for parent structures 2014-11-03 23:16:49 -08:00
record7.lean feat(frontends/lean/builtin_cmds): add 'print prefix' command 2014-11-04 08:40:32 -08:00
record8.lean feat(frontends/lean): add 'record' as an alias for 'structure' command 2014-11-05 12:02:52 -08:00
record9.lean fix(frontends/lean/structure_cmd): accept ': Type' when universe levels are not specified 2014-11-05 12:02:52 -08:00
record10.lean feat(frontends/lean/structure_cmd): allow inheritance from two identical structures, closes #296 2014-11-05 15:01:05 -08:00
reducible.lean refactor(kernel): remove "opaque" field from kernel declarations 2015-05-08 16:06:16 -07:00
refine1.lean feat(library/tactic): add 'refine' tactic 2015-04-06 18:36:56 -07:00
refine2.lean feat(library/tactic): add 'refine' tactic 2015-04-06 18:36:56 -07:00
refine3.lean feat(library/tactic): add 'refine' tactic 2015-04-06 18:36:56 -07:00
refl_beta.lean fix(library/tactic/relation_tactics): beta-reduce goal before trying to extract head symbol 2015-05-24 18:56:35 -07:00
rel.lean fix(tests/lean): to reflect changes in the standard library 2014-11-28 23:03:37 -08:00
rename_tac.lean refactor(frontends/lean): approach used to parse tactics 2015-03-05 18:11:21 -08:00
reserve.lean feat(frontends/lean): reserve notation, closes #95 2014-10-21 15:39:47 -07:00
revert_tac.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
reverts_tac.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
rewrite4.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
rewrite5.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
rewrite8.lean fix(tests): update tests because [unfold-c] attribute has been added to some definitions 2015-05-18 15:59:55 -07:00
rewrite9.lean feat(library/tactic/rewrite_tactic): add "reduce_to" step at rewrite tactic 2015-02-05 13:59:55 -08:00
rewrite10.lean fix(tests): to reflect recent changes in the standard library 2015-07-06 15:05:01 -07:00
rewrite12.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
rewrite_bug.lean fix(library/tactic/rewrite_tactic): bug when rewriting multiple hypotheses 2015-05-01 19:03:43 -07:00
rewrite_with_beta.lean fix(library/tactic/relation_tactics): beta-reduce goal before trying to extract head symbol 2015-05-24 18:56:35 -07:00
rewriter1.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
rewriter2.lean feat(library/unifier): do not fire type class resolution as last resort when type contains metavariables 2015-05-18 15:45:23 -07:00
rewriter3.lean fix(library/tactic/rewrite_tactic): elaboration bug in the rewrite tactic steps/elements 2015-02-05 10:01:18 -08:00
rewriter6.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
rewriter7.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
rewriter11.lean fix(library/tactic/rewrite_tactic): adjust the behavior of class resolution in rewriter 2015-02-05 19:08:47 -08:00
rewriter12.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
rewriter13.lean test(tests/lean/run): add more rewrite tactic tests 2015-02-06 12:57:42 -08:00
rewriter14.lean feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]' 2015-07-07 16:37:06 -07:00
rewriter15.lean feat(library/tactic/rewrite_tactic): add option to prevent any kind of constant unfolding when perfoming pattern matching in the rewrite tactic 2015-02-06 13:27:33 -08:00
rewriter16.lean test(tests/lean/run): add rewrite tactic test 2015-02-06 14:14:42 -08:00
rewriter17.lean feat(frontends/lean): extend parser: rewrite "fold" step 2015-02-06 15:22:34 -08:00
rewriter18.lean feat(frontends/lean): extend parser: rewrite "fold" step 2015-02-06 15:22:34 -08:00
root.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
rw_bug2.lean fix(library/tactic/rewrite_tactic): bug when rewriting hypotheses 2015-05-01 19:45:23 -07:00
rw_set1.lean feat(frontends/lean,library): rename '[rewrite]' to '[simp]' 2015-07-22 09:01:42 -07:00
rw_set2.lean feat(library/simplifier): add API for extracting simplification rules defined in a given namespace 2015-07-22 18:47:56 -07:00
scope_bug.lean fix(frontends/lean/elaborator): bug in translation function 2015-05-02 18:05:07 -07:00
sec_bug.lean fix(library/scoped_ext): section/context should not affect namespace 2014-09-07 19:59:34 -07:00
sec_notation.lean feat(frontends/lean): allow persistent notation declaration in sections (when they do not contain parameters) 2015-04-21 19:04:06 -07:00
sec_var.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
seclvl.lean fix(frontends/lean): universe levels associated with section variables should not be fixed in the section 2014-10-04 07:13:19 -07:00
secnot.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
section1.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
section2.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
section3.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
section4.lean fix(frontends/lean): another bug in sections with parameters 2015-04-21 19:50:21 -07:00
section5.lean feat(frontends/lean): allow parameters to be used in sections 2015-01-23 17:42:19 -08:00
set.lean feat(frontends/lean): validate infixl/infixr/postfix/prefix declarations against reserved notations 2014-10-21 15:39:47 -07:00
set2.lean refactor(library/logic/connectives): rename theorems 2014-12-15 15:05:44 -05:00
show2.lean feat(frontends/lean/builtin_exprs): rename 'show' hidden name to 'this' 2015-08-07 13:29:21 -07:00
sigma_match.lean feat(frontends/lean): ML-like notation for match and recursive equations 2015-02-25 16:20:44 -08:00
sigma_no_confusion.lean feat(frontends/lean): new semantics for "protected" declarations 2015-02-11 14:09:25 -08:00
simple.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
sorry.lean feat(frontends/lean): add 'sorry' 2014-07-31 18:35:57 -07:00
soundness.lean feat(library/tactic/constructor_tactic): restore 'constructor' tactic old semantics, add 'fconstructor' tactic 2015-06-17 23:48:54 -07:00
st_options.lean test(tests/lean/interactive): add tests for options structure.eta_thm and structure.proj_mk_thm 2015-01-29 16:52:23 -08:00
string.lean fix(tests/lean): adjust tests to new library structure 2014-08-01 09:37:23 -07:00
struc_names.lean fix(frontends/lean/structure_cmd): simplify structure names 2014-12-13 14:18:02 -08:00
struct_bug1.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
struct_infer.lean feat(frontends/lean/structure_cmd): add implicit_infer_kind annotation to structure command 2015-01-21 18:12:29 -08:00
struct_inst_exprs.lean refactor(library/init): define prod as an inductive datatype 2015-06-25 17:59:06 -07:00
struct_inst_exprs2.lean feat(frontends/lean): remove 'using' from structure instance command 2015-01-17 09:38:10 -08:00
structure_test.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
sub.lean refactor(library/logic): move logic/choice.lean to init/classical.lean 2015-08-12 18:37:33 -07:00
sub_bug.lean refactor(library/logic): move logic/choice.lean to init/classical.lean 2015-08-12 18:37:33 -07:00
subst_tact.lean feat(library/tactic): add 'subst' tactic 2015-05-01 19:31:24 -07:00
subst_test.lean feat(frontends/lean/elaborator): hide auxiliary 'match' hypothesis during elaboration 2015-05-25 15:24:56 -07:00
subst_test2.lean test(tests/lean/run): add missing test 2015-05-25 17:02:23 -07:00
suffices.lean fix(frontends/lean): rename multiword keyword "suffices to show" to "suffices" 2015-08-18 17:57:53 -07:00
sum_bug.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
t1.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
t2.lean feat(frontends/lean/parser): add parse_level 2014-06-12 12:34:55 -07:00
t3.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
t4.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
t5.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
t6.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
t7.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
t8.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
t9.lean fix(tests/lean): adjust tests to modifications to standard library 2014-11-30 21:16:01 -08:00
t10.lean feat(frontends/lean/builtin_cmds): add 'print options' command 2014-06-16 17:31:28 -07:00
t11.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
tac1.lean feat(frontends/lean): add tactic_notation command 2015-04-27 17:46:13 -07:00
tactic1.lean feat(frontends/lean): automatically open 'tactic' namespace (if it is not already open) in 'by' and 'begin-end' expressions 2014-10-23 10:26:19 -07:00
tactic2.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
tactic3.lean feat(frontends/lean): round parenthesis for [tactic1 | tactic2] 2015-04-06 09:24:09 -07:00
tactic4.lean feat(frontends/lean): add tactic_notation command 2015-04-27 17:46:13 -07:00
tactic5.lean feat(frontends/lean): add tactic_notation command 2015-04-27 17:46:13 -07:00
tactic6.lean feat(frontends/lean): rename 'using' command to 'open' 2014-09-03 16:00:38 -07:00
tactic7.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
tactic8.lean feat(library/tactic): change apply tactic semantics: goals are not reversed; and dependent arguments are not included 2014-10-22 18:11:09 -07:00
tactic9.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
tactic10.lean feat(library,hott): remove rapply tactic 2015-04-27 15:06:16 -07:00
tactic11.lean feat(library,hott): remove rapply tactic 2015-04-27 15:06:16 -07:00
tactic12.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
tactic13.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
tactic14.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
tactic15.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
tactic16.lean feat(frontends/lean): automatically open 'tactic' namespace (if it is not already open) in 'by' and 'begin-end' expressions 2014-10-23 10:26:19 -07:00
tactic17.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
tactic18.lean refactor(library/tactic): elaborate expressions nested in tactics with respect to current goal, save postponed constraints (e.g., flex-flex constraints) closes #44, fixes #70 2014-10-14 17:18:40 -07:00
tactic19.lean refactor(library/tactic): elaborate expressions nested in tactics with respect to current goal, save postponed constraints (e.g., flex-flex constraints) closes #44, fixes #70 2014-10-14 17:18:40 -07:00
tactic20.lean feat(frontends/lean): parse argument of unary tactis with rbp=0, tokens may have a different precedence in expression and tactic modes 2015-04-28 13:43:05 -07:00
tactic21.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
tactic22.lean feat(frontends/lean): add tactic_notation command 2015-04-27 17:46:13 -07:00
tactic23.lean feat(library/inductive_unifier_plugin): restrict rule that was generating non-terminating behavior 2015-05-27 14:41:12 -07:00
tactic24.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
tactic25.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
tactic26.lean feat(library): add 'noncomputable' keyword for the standard library 2015-07-28 21:56:35 -07:00
tactic27.lean feat(frontends/lean): add tactic_notation command 2015-04-27 17:46:13 -07:00
tactic28.lean feat(library): add 'noncomputable' keyword for the standard library 2015-07-28 21:56:35 -07:00
tactic29.lean fix(frontends/lean): tactic + section variables, fixes #332 2014-11-21 10:07:16 -08:00
tactic30.lean chore(*): minimize the use of parameters 2014-10-09 07:13:06 -07:00
tactic31.lean feat(frontends/lean): parse argument of unary tactis with rbp=0, tokens may have a different precedence in expression and tactic modes 2015-04-28 13:43:05 -07:00
tactic_notation.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
tactic_op_overload_bug.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
tele_eq.lean feat(frontends/lean): rename 'wait' to 'reveal' 2015-05-08 20:54:16 -07:00
test_single.sh fix(test*.sh): allow spaces in filename 2015-03-28 23:29:52 -04:00
trans.lean refactor(frontends/lean): add 'attribute' command 2015-01-24 20:23:21 -08:00
tree.lean feat(datatypes): let the type of unit be the lowest non-Prop universe 2015-06-25 17:33:46 -07:00
tree2.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
tree3.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
tree_height.lean feat(library): enforce name conventions on old nat declarations 2015-04-18 10:50:30 -07:00
tree_subterm_pred.lean test(tests/lean/run): add examples showing how to prove (using tactics) that direct_subterm relation is well-founded 2015-06-09 16:17:29 -07:00
trick.lean feat(frontends/lean/inductive_cmd): prefix introduction rules with the name of the inductive datatype 2014-09-04 17:26:36 -07:00
true_imp_rw.lean feat(library/tactic/rewrite_tactic): rewrite tactic with 'iff' lemmas 2015-05-14 18:27:13 -07:00
tt1.lean refactor(library/logic): remove 'core' subdirectory 2014-10-05 10:50:13 -07:00
tut_104.lean feat(library/*): add theorems from Haitao on sets and functions, clean up 2015-06-04 11:55:25 -07:00
type_equations.lean test(tests/lean/run): add examples showing how to prove (using tactics) that direct_subterm relation is well-founded 2015-06-09 16:17:29 -07:00
unfold_rec.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
unfold_rec2.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
unfold_tac_bug1.lean fix(library/tactic/unfold_rec): add annother brec pattern that should be checked in the unfold recursive definition tactic 2015-07-10 22:16:23 -04:00
unfold_test.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
uni_issue1.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
uni_var_bug.lean fix(frontends/lean): universe variable is treated as parameter inside section, fixes #283 2014-10-29 19:47:14 -07:00
unicode.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
univ1.lean feat(frontends/lean): use rewrite tactic to implement unfold (it has a unfold step) 2015-04-24 17:23:12 -07:00
univ2.lean feat(frontends/lean): use rewrite tactic to implement unfold (it has a unfold step) 2015-04-24 17:23:12 -07:00
univ_bug1.lean feat(frontends/lean): add simp tactic frontend stub 2015-07-14 09:54:53 -04:00
univ_bug2.lean feat(library/tactic/class_instance_synth): create class instance synthesis subproblems only for arguments marked with the [] binder annotation 2015-02-24 16:12:39 -08:00
univ_problem.lean feat(datatypes): let the type of unit be the lowest non-Prop universe 2015-06-25 17:33:46 -07:00
univs.lean chore(tests): remove most occurrences of 'context' command from the test suite 2015-04-21 19:33:21 -07:00
unzip_bug.lean refactor(library/data): move vector as indexed family to examples folder 2015-08-12 15:05:14 -07:00
using_bug.lean fix(frontends/lean/builtin_exprs): bug in 'using' construct 2015-03-06 13:56:20 -08:00
using_bug2.lean fix(frontends/lean/builtin_exprs): bug in 'using' expressions 2015-05-14 17:17:48 -07:00
using_expr.lean feat(library/tactic): improve 'assumption' tactic 2015-05-02 17:33:54 -07:00
uuu.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
vars_anywhere.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
vec_inv.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
vec_inv2.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
vec_inv3.lean feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
vector.lean feat(datatypes): let the type of unit be the lowest non-Prop universe 2015-06-25 17:33:46 -07:00
vector2.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
vector3.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
vector_subterm_pred.lean test(tests/lean/run): add examples showing how to prove (using tactics) that direct_subterm relation is well-founded 2015-06-09 16:17:29 -07:00
whnfinst.lean feat(library/tactic/class_instance_synth): conservative class-instance resolution: expand only definitions marked as reducible 2015-02-24 16:12:35 -08:00