Commit graph

862 commits

Author SHA1 Message Date
Sebastian Ullrich
2185ee7e95 feat(library/tactic): make let tactic transparent, introduce new opaque note tactic
The new let tactic is semantically equivalent to let terms, while `note`
preserves its old opaque behavior.
2015-12-14 10:14:02 -08:00
Leonardo de Moura
193a9d8cde refactor(library/norm_num): avoid manual constant name initialization
@rlewis1988 We group all Lean constants used in the C++ code at
src/library/constants.txt

Jeremy and Floris check this file before renaming constants in the
library. So, they can quickly decide whether C++ code will be affected
or not.

We also have a python script for initializing the C++ name objects.
To use the script:
   - go to src/library
   - execute
       python ../../script/gen_constants_cpp.py constants.txt

It will create the boring initialization and finalization code, and
declare a procedure get_<id>_name() for each constant in the file constants.txt.

I also move the norm_num1.lean to the set of unit tests that are
executed whenever we push a commit to the main branch.

I found an assertion violation at line 606. Could you take a look?

Best,
Leo
2015-12-13 21:38:59 -08:00
Leonardo de Moura
e3a35ba4fd feat(frontends/lean): add 'with_attributes' tactical
closes #494
2015-12-13 18:27:44 -08:00
Leonardo de Moura
727a4f5a3a feat(library/tactic/intros_tactic): use '_' to say that some names are irrelevant in the intro tactic
See #695
2015-12-13 16:47:31 -08:00
Leonardo de Moura
d4e49a8434 feat(library/tactic/intros_tactic): intro without argument should introduce a single variable
see #695
2015-12-13 16:28:39 -08:00
Leonardo de Moura
ce622e9179 feat(frontends/lean): add auto-include for structures and inductive decls 2015-12-13 13:39:34 -08:00
Leonardo de Moura
20de22a8ad feat(frontends/lean): automatically include anonymous instance implicit variables/parameters (whenever their parameters have been included) 2015-12-13 13:20:54 -08:00
Leonardo de Moura
b6bac2e542 chore(tests/lean/run): adjust tests 2015-12-13 12:23:44 -08:00
Leonardo de Moura
ef546c5c5b refactor(library): use anonymous instance implicit arguments 2015-12-13 11:46:48 -08:00
Leonardo de Moura
b7de10a6d2 feat(library/trace): allow user to disable subclasses of a trace class
Example:

set_option trace.blast true         -- enables trace.blast class and all subclasses
set_option trace.blast.action false -- disables the given subclass

Result: all blast classes are traced but blast.action
2015-12-11 11:03:16 -08:00
Leonardo de Moura
a35fd06a33 test(tests/lean/run/blast_simp4): add simp test 2015-12-11 10:23:58 -08:00
Leonardo de Moura
ac0bd539b0 feat(frontends/lean/notation_cmd): allow 'abstract ... end' to be used in notation declarations
helps #825
2015-12-11 09:55:27 -08:00
Leonardo de Moura
13f9d8dd6c fix(tests/lean): move hott tests 2015-12-10 10:55:27 -08:00
Leonardo de Moura
8b3cbb8fdd fix(library/tactic/induction_tactic): apply substitution to hypothesis type (it may contain metavars)
closes #876
2015-12-10 10:11:55 -08:00
Leonardo de Moura
50323e5b14 fix(tests/lean/run/simplifier1): option name 2015-12-09 12:30:20 -08:00
Leonardo de Moura
bed03272f5 fix(tests/lean/run/blast_cc1): option name 2015-12-09 12:23:00 -08:00
Leonardo de Moura
3f9549485f feat(frontends/lean/parser): restore config options in the end of sections/namespaces 2015-12-09 11:24:37 -08:00
Leonardo de Moura
273f6fc04c fix(tests/lean/run): new option names 2015-12-08 20:06:43 -08:00
Leonardo de Moura
b145a7332a feat(library/blast/congruence_closure): use new tracing infrastructure 2015-12-08 15:18:21 -08:00
Leonardo de Moura
7da64a768f refactor(library/type_context): with the new tracing infrastructure, type_context doesn't need an io_state 2015-12-08 14:58:08 -08:00
Leonardo de Moura
50df6b5698 feat(frontends/lean): rename '[intro]' ==> '[intro!]' and '[backward]' ==> '[intro]' 2015-12-07 21:33:35 -08:00
Leonardo de Moura
041c1cbb17 feat(library/blast): add strategies "grind" and "core_grind" 2015-12-07 20:30:59 -08:00
Leonardo de Moura
af7ffcf575 chore(tests/lean/run/blast_meta_bug): use "ematch" strategy in the test 2015-12-07 12:23:01 -08:00
Leonardo de Moura
121648dda6 fix(library/congr_lemma_manager): issue with reducible annotation when generating congruence lemmas 2015-12-07 12:09:30 -08:00
Leonardo de Moura
f31553d916 feat(library/blast/strategies/portfolio): add more strategies for debugging purposes 2015-12-07 11:59:21 -08:00
Leonardo de Moura
54c0921bbb feat(library/blast/forward/pattern): consider patterns with nested lambdas in the pattern inference procedure 2015-12-07 10:39:42 -08:00
Leonardo de Moura
85379b7706 feat(library/blast/actions/simple_actions): make sure contradiction action works even if classical logic support is not enabled
not (not (not a)) -> not a
2015-12-07 09:30:14 -08:00
Leonardo de Moura
c7390684ba feat(library/blast/strategies/portfolio): add 'unit' strategy for testing unit propagation 2015-12-07 08:45:54 -08:00
Leonardo de Moura
bccf716fd5 chore(tests/lean/run/blast_unit): remove reducible-not tests 2015-12-07 08:44:09 -08:00
Leonardo de Moura
2d007c7c23 feat(library/blast/simplifier/simp_rule_set): rename metaclass to '[simps]'
The previous name [rrs] was too cryptic.
2015-12-06 20:49:27 -08:00
Leonardo de Moura
1eb28b842e feat(library/blast/simplifier): add eta-reduction to simplifier 2015-12-06 20:41:25 -08:00
Leonardo de Moura
b044f9e8c1 feat(library/blast/strategies): add "ematch" strategy for testing ematching 2015-12-06 15:01:49 -08:00
Leonardo de Moura
5626431c7f test(tests/lean/run): use 'simp' when testing the simplifier 2015-12-06 14:35:14 -08:00
Leonardo de Moura
67e291ac84 feat(library/blast/strategies): add strategy for testing congruence closure module 2015-12-06 14:33:21 -08:00
Leonardo de Moura
732a92de05 feat(frontends/lean): add 'simp' as shortcut for 'with_options [blast.strategy "simp"] blast' 2015-12-06 13:14:04 -08:00
Leonardo de Moura
b36ce49f2b fix(tests,doc): adjust tests to changes in the standard library 2015-12-05 23:52:16 -08:00
Leonardo de Moura
648f6c5f82 fix(library/blast/strategies): constructor action was being applied too soon 2015-12-05 19:44:07 -08:00
Leonardo de Moura
ae8efb684e fix(tests/lean/run/blast9): missing option 2015-12-05 19:26:37 -08:00
Leonardo de Moura
aa998bfad3 fix(library/fun_info_manager): reducibility issue 2015-12-05 19:26:06 -08:00
Leonardo de Moura
6193816f6a fix(library/tmp_type_context): bug at pop() 2015-12-05 19:14:33 -08:00
Leonardo de Moura
df567717f8 feat(library/blast/strategies): add 'blast.strategy "preprocess"' 2015-12-05 18:17:15 -08:00
Daniel Selsam
08e0fc796b feat(library/blast/actions): by_contradiction action 2015-12-04 20:19:05 -08:00
Leonardo de Moura
2682fe9525 feat(library/blast/blast): force 'ne' to be always transparent 2015-12-04 18:24:36 -08:00
Leonardo de Moura
5da1b52e47 feat(library/blast/unit/unit_propagate): make sure unif_propagate works even if 'not' is marked as '[reducible]' 2015-12-04 16:49:21 -08:00
Leonardo de Moura
5d38a5a5cd test(tests/lean/run/blast_ematch10): make sure the test is for the cc module 2015-12-04 14:03:51 -08:00
Leonardo de Moura
a8b6a286dd fix(library/app_builder): make sure app_builder works even if iff is marked as reducible 2015-12-04 13:51:56 -08:00
Leonardo de Moura
07cb35fd3c fix(library/abstract_expr_manager): incorrect handling of de-Bruijn variables 2015-12-04 09:27:21 -08:00
Daniel Selsam
6e478696d2 feat(library/blast/unit): preprocessor placeholder 2015-12-04 08:30:04 -08:00
Daniel Selsam
0df4556eb5 feat(library/blast/unit): quantified and non-Prop facts 2015-12-04 08:30:03 -08:00
Daniel Selsam
2bf9989bd9 refactor(library/blast/unit): simplify module 2015-12-04 08:30:03 -08:00