Commit graph

73 commits

Author SHA1 Message Date
Leonardo de Moura
d43764b6fb refactor(library/tactic/defeq_simplifier): move defeq_simp_lemmas to library
This commit also renames them to "rfl_lemmas".
Reason: these lemmas will be used at type_context::is_def_eq and type_context::whnf
2016-09-12 10:36:11 -07:00
Leonardo de Moura
19a6005f7e refactor(library): move user_attribute to tactic folder
It depends on tactic_state.
2016-08-26 09:28:42 -07:00
Leonardo de Moura
0d8213cf92 feat(library/tactic): add unfold tactic 2016-07-18 15:46:56 -04:00
Leonardo de Moura
579f643d1d refactor(library): move kabstract to tactic folder 2016-07-18 09:57:02 -04:00
Leonardo de Moura
7f0276f592 feat(library/tactic): add 'rewrite' tactic and variants 2016-07-17 16:08:11 -04:00
Leonardo de Moura
26177995c2 feat(library/tactic): add 'generalize' tactic 2016-07-16 15:41:32 -04:00
Leonardo de Moura
a5307a34bc feat(library/tactic): add 'cases' tactic skeleton 2016-07-12 14:05:03 -04:00
Leonardo de Moura
2ae516ebe0 refactor(library): move backward lemmas to tactic 2016-07-10 10:17:56 -07:00
Leonardo de Moura
dbbe070060 feat(library/tactic): add 'induction' tactic 2016-07-05 19:13:23 -07:00
Leonardo de Moura
945faefd78 feat(library/tactic): add 'flat_assoc' tactic 2016-07-03 21:27:05 +01:00
Leonardo de Moura
afffd31a7b feat(library/tactic): add match_pattern tactic 2016-06-27 14:26:31 +01:00
Daniel Selsam
e1bc0a68e6 refactor(simplifier): port skeleton to new tactic framework
Conflicts:
	library/init/meta/tactic.lean
	src/library/tactic/tactic_state.cpp
2016-06-24 15:20:40 -07:00
Leonardo de Moura
490a116baa refactor(library): remove abstract_expr and abstract_expr_manager modules 2016-06-24 15:16:57 -07:00
Leonardo de Moura
facdf99e86 feat(library): add abstract_hash 2016-06-23 14:25:29 -07:00
Leonardo de Moura
120c48b1b2 feat(library/tactic): expose congr_lemmas
This commit also adds several helper code, and fixes bugs in congr_lemma.cpp
2016-06-22 19:17:08 -07:00
Daniel Selsam
9327d85f6c chore(library/defeq_simplifier): move to new module inside library/tactic 2016-06-22 17:18:57 -07:00
Leonardo de Moura
61de427699 feat(library/init/meta/fun_info): expose fun_info 2016-06-22 14:00:00 -07:00
Leonardo de Moura
61a845c005 feat(library/tactic): add 'apply' tactic 2016-06-17 20:11:52 -07:00
Leonardo de Moura
c5f92f08b8 feat(library/tactic): add 'assert' tactic
Remark: the new assert tactic does have the problem described in issue #621
2016-06-17 14:42:28 -07:00
Leonardo de Moura
d0afe0aa99 feat(library/tactic): add 'change' tactic 2016-06-17 13:21:52 -07:00
Leonardo de Moura
c8c43a866b feat(library/tactic): implement assumption tactic in Lean 2016-06-17 09:06:35 -07:00
Leonardo de Moura
5b8ac6ba30 feat(library/tactic): add 'exact' tactic 2016-06-14 21:30:58 -07:00
Leonardo de Moura
cb9b5650b7 feat(library/tactic): add 'subst' tactic 2016-06-14 21:01:57 -07:00
Leonardo de Moura
9fad884dd8 feat(library/tactic): add tactic.mk_app for using app_builder 2016-06-14 17:13:10 -07:00
Leonardo de Moura
f86f8b040f feat(library/tactic): add 'by' annotation 2016-06-13 10:12:00 -07:00
Leonardo de Moura
125a80ad69 feat(library/tactic): add 'clear' tactic 2016-06-11 20:23:24 -07:00
Leonardo de Moura
6829c81f18 feat(library/tactic): add 'rename' tactic 2016-06-11 19:18:25 -07:00
Leonardo de Moura
62116f5b4b feat(library/tactic): add 'revert' tactic 2016-06-11 10:12:43 -07:00
Leonardo de Moura
0a6cc0ab5a feat(library/tactic): assumption tactic 2016-06-10 18:29:41 -07:00
Leonardo de Moura
e9ae5019ca feat(library/tactic): init intro tactic 2016-06-10 18:29:19 -07:00
Leonardo de Moura
cf073f5ed0 feat(library/tactic): add tactic_state 2016-06-08 15:12:22 -07:00
Leonardo de Moura
aeee79da2b chore(library): library/tactic => library/old_tactic 2016-06-06 16:38:27 -07:00
Leonardo de Moura
128d6cdec2 refactor(library/tactic): remove tactics whnf and beta 2016-03-21 11:48:36 -07:00
Rob Lewis
031831f101 feat(library/tactic): add replace tactic 2016-01-04 14:43:31 -05:00
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
Daniel Selsam
550cac6065 feat(library/norm_num): use type_context 2015-11-16 20:33:22 -08:00
Leonardo de Moura
e4f0f6a9b4 feat(library): numeral normalization skeleton 2015-10-08 12:49:12 -07:00
Leonardo de Moura
9c5bf98ed6 feat(library/tactic): add 'with_options' tactical
see issue #494
2015-07-13 18:34:31 -04:00
Leonardo de Moura
0f714e36b0 feat(library/tactic): add 'location' macro 2015-07-13 17:56:42 -04:00
Leonardo de Moura
d547698a56 refactor(library,library/tactic): move class_instance_synth to library
This module will be needed by the simplifier
2015-06-01 16:30:40 -07:00
Leonardo de Moura
8a89588079 refactor(library,library/tactic): move auxiliary procedures from tactic to library 2015-06-01 16:19:55 -07:00
Leonardo de Moura
a3f23d5233 feat(library/tactic): add improved 'subst' tactic 2015-05-25 15:03:59 -07:00
Leonardo de Moura
c2faa0fe98 refactor(library): rename equivalence_manager to relation_manager 2015-05-21 12:25:02 -07:00
Leonardo de Moura
065a1f7501 feat(library/tactic): add 'induction' tactic skeleton 2015-05-12 20:21:25 -07:00
Leonardo de Moura
b39fe17dee feat(library/tactic): add 'transitiviy', 'reflexivity' and 'symmetry' tactics
closes #500
2015-05-02 15:48:25 -07:00
Leonardo de Moura
415ca2b93f feat(library/tactic): add 'congruence' tactic
It is the f_equal described at issue #500.
2015-05-02 12:58:46 -07:00
Leonardo de Moura
63eb155c7e feat(library/tactic): add 'injection' tactic
see issue #500
2015-05-01 12:45:21 -07:00
Leonardo de Moura
d152f38518 feat(library/tactic): add 'constructor', 'split', 'left', 'right' and 'existsi' tactics
see issue #500
2015-04-30 17:52:29 -07:00
Leonardo de Moura
1c6067bac2 feat(library/tactic): add 'exfalso' tactic
see issue #500
2015-04-30 15:43:07 -07:00