lean4-htt/tests/lean/interactive
Leonardo de Moura 54f2c0f254 feat(library/blast/forward): inst_simp should use the left-hand-side as a pattern (if none is provided by the user)
The motivation is to reduce the number of instances generated by ematching.

For example, given

   inv_inv:  forall a, (a⁻¹)⁻¹ = a

the new heuristic uses ((a⁻¹)⁻¹) as the pattern.
This matches the intuition that inv_inv should be used a simplification
rule.

The default pattern inference procedure would use (a⁻¹). This is bad
because it generates an infinite chain of instances whenever there is a
term (a⁻¹) in the proof state.
By using (a⁻¹), we get
   (a⁻¹)⁻¹ = a
Now that we have (a⁻¹)⁻¹, we can match again and generate
   ((a⁻¹)⁻¹)⁻¹ = a⁻¹
and so on
2015-12-31 20:20:39 -08:00
..
alias.input
alias.input.expected.out feat(library/tactic): make let tactic transparent, introduce new opaque note tactic 2015-12-14 10:14:02 -08:00
apply_info.input
apply_info.input.expected.out
auto_comp.input feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
auto_comp.input.expected.out fix(tests/lean): adjust remaining tests to changes in the standard library 2015-11-08 14:04:56 -08:00
class_bug.lean refactor(library/logic): move logic/choice.lean to init/classical.lean 2015-08-12 18:37:33 -07:00
coe.input
coe.input.expected.out
coe.lean fix(tests,doc): adjust tests to changes in the standard library 2015-12-05 23:52:16 -08:00
commands.input
commands.input.expected.out fix(tests/lean): adjust remaining tests to changes in the standard library 2015-11-08 14:04:56 -08:00
commands.trace
consume_args.input feat(library/blast/forward): inst_simp should use the left-hand-side as a pattern (if none is provided by the user) 2015-12-31 20:20:39 -08:00
consume_args.input.expected.out feat(library/blast/forward): inst_simp should use the left-hand-side as a pattern (if none is provided by the user) 2015-12-31 20:20:39 -08:00
eq2.input
eq2.input.expected.out
eq2.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
extra_type.input feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
extra_type.input.expected.out
findp.lean
in1.input
in1.input.expected.out
in2.input fix(tests/lean/interactive): adjust tests to reflect changes in the standard library 2015-03-04 18:30:31 -08:00
in2.input.expected.out fix(tests/lean/interactive): adjust tests to reflect changes in the standard library 2015-03-04 18:30:31 -08:00
in4.input
in4.input.expected.out
in5.input
in5.input.expected.out
info.input
info.input.expected.out
missing.input
missing.input.expected.out
missing.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
mod.input
mod.input.expected.out fix(tests,doc): adjust tests and documentation 2015-11-20 17:03:17 -08:00
notation_info.input fix(frontends/lean): type information for "atomic" notation declaration, fixes #292 2014-11-04 18:01:20 -08:00
notation_info.input.expected.out
num2.input
num2.input.expected.out fix(tests/lean): adjust remaining tests to changes in the standard library 2015-11-08 14:04:56 -08:00
num2.lean feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations 2015-02-25 17:00:10 -08:00
obtain_type_info.input fix(frontends/lean/elaborator): save type information for 'obtain' declarations 2015-05-29 10:16:12 -07:00
obtain_type_info.input.expected.out fix(frontends/lean/elaborator): save type information for 'obtain' declarations 2015-05-29 10:16:12 -07:00
options_cmd.trace
optstack.input
optstack.input.expected.out
overload_coercion.input fix(tests/lean): adjust remaining tests to changes in the standard library 2015-11-08 14:04:56 -08:00
overload_coercion.input.expected.out fix(tests/lean): adjust remaining tests to changes in the standard library 2015-11-08 14:04:56 -08:00
proof_qed.input
proof_qed.input.expected.out
proof_qed.lean
proof_state_info.input feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
proof_state_info.input.expected.out
proof_state_info2.input feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
proof_state_info2.input.expected.out
proof_state_info3.input feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
proof_state_info3.input.expected.out feat(frontends/lean): uniform notation for lists in tactics 2015-03-27 17:54:48 -07:00
sec_info_bug.input chore(tests/lean/interactive/sec_info_bug): remove 'context' command from test 2015-04-21 19:52:01 -07:00
sec_info_bug.input.expected.out
simple.lean
simple3.lean
snapshot_bug.input fix(frontends/lean/parser): must save state of name_generator in parser snapshot 2015-05-13 12:28:23 -07:00
snapshot_bug.input.expected.out fix(frontends/lean/parser): must save state of name_generator in parser snapshot 2015-05-13 12:28:23 -07:00
snapshot_bug.lean fix(frontends/lean/parser): must save state of name_generator in parser snapshot 2015-05-13 12:28:23 -07:00
sorry2.lean
sync.input
sync.input.expected.out
t4.input
t4.input.expected.out refactor(library/logic): move logic/choice.lean to init/classical.lean 2015-08-12 18:37:33 -07:00
test_single.sh fix(test*.sh): allow spaces in filename 2015-03-28 23:29:52 -04:00
var.input
var.input.expected.out
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