Commit graph

2228 commits

Author SHA1 Message Date
Leonardo de Moura
70f71a18c8 doc(library/type_context): explain why we need tmp_local_generator 2015-12-15 18:58:07 -08:00
Leonardo de Moura
73b28c91a6 fix(library/type_context): local constant management bug 2015-12-15 18:49:26 -08:00
Leonardo de Moura
1387cdfa0f feat(library/type_context): add eta-expansion to type_context 2015-12-15 17:24:53 -08:00
Leonardo de Moura
10273bf176 feat(library/blast/forward/pattern): improve pattern inference heuristic 2015-12-15 12:55:43 -08:00
Rob Lewis
ec5990f4de fix(library/norm_num): fix incorrect assert 2015-12-14 14:09:54 -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
95fba3dba6 chore(library/constants): sort constant decls 2015-12-13 21:39:45 -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
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
894875dc5c feat(library/tactic/congruence_tactic): closes #855 2015-12-13 15:03:25 -08:00
Leonardo de Moura
4dc3764a02 feat(util,library,shell): basic locking mechanism
We still have to test on Windows.
see issue #925
2015-12-12 21:26:13 -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
7f1800962a feat(frontends/lean/pp): allow user to override pp.all setting
see #922
2015-12-11 10:40:48 -08:00
Leonardo de Moura
abbb2cfbbd feat(library/export): take binder labels into account when max-sharing expression during .olean generation 2015-12-10 23:27:44 -08:00
Leonardo de Moura
3057dde885 fix(library/class,library/coercion): fixes #852 2015-12-10 22:52:02 -08:00
Leonardo de Moura
cf61adc5d5 feat(frontends/lean): identifiers starting with '_' are now reserved 2015-12-10 22:32:03 -08:00
Leonardo de Moura
7b29ee1666 fix(library/tactic/induction_tactic): fixes #892 2015-12-10 10:52:57 -08:00
Leonardo de Moura
8094ca1c70 fix(library/blast/backward): crash when pretty printing backward rule set
We make sure it doesn't depend on the blast state.
2015-12-10 10:38:53 -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
c9ff175cf4 fix(library/tactic/induction_tactic): fixes #893 2015-12-10 10:11:55 -08:00
Leonardo de Moura
1f8de7b50b feat(library/blast): refine trace messages 2015-12-09 18:38:20 -08:00
Leonardo de Moura
34e85be970 feat(library/blast): add 'blast.deadend' tracing option 2015-12-09 17:45:36 -08:00
Leonardo de Moura
1502248d30 feat(library/blast): trace strategy name 2015-12-09 17:13:28 -08:00
Leonardo de Moura
6abf2fd975 feat(library/blast/congruence_closure): avoid unnecessary propagations in the congruence closure module 2015-12-09 12:17:51 -08:00
Leonardo de Moura
6bbbc3d50e feat(library/blast): improve trace messages 2015-12-09 11:38:39 -08:00
Leonardo de Moura
a7f5d6603a feat(library/blast/actions/recursor_action): trace recursor name 2015-12-09 11:25:05 -08:00
Leonardo de Moura
f9a669665a feat(library/blast/backward/backward_action): display lemma name in backward action 2015-12-09 11:07:53 -08:00
Leonardo de Moura
53a05e845e chore(library/blast/trace): fix style 2015-12-09 09:35:46 -08:00
Leonardo de Moura
fbaa3e13ab chore(library/blast/simplifier/simplifier): use '-->' for tracing a rewrite 2015-12-09 08:06:05 -08:00
Leonardo de Moura
6b91505c0e feat(library/blast/trace): improve trace depth 2015-12-09 08:04:02 -08:00
Leonardo de Moura
e9d6326b88 feat(library/blast/trace): do not show common prefix between states when tracing 2015-12-09 07:55:12 -08:00
Leonardo de Moura
c1a4e0ee4f feat(library/blast): trace target 2015-12-09 07:34:15 -08:00
Leonardo de Moura
36f3549c44 fix(library/blast/blast): make sure blast uses the given ios options for tracing
They might have been updated using the with_options tactic
2015-12-09 07:21:18 -08:00
Leonardo de Moura
a3346e997b fix(library/class_instance_resolution): signature has changed 2015-12-09 07:14:39 -08:00
Leonardo de Moura
c6fc18a8d1 chore(library/blast/simplifier/simplifier): remove "dead" field 2015-12-09 07:13:54 -08:00
Leonardo de Moura
aed0c7cccf chore(library/blast/state): trace msg 2015-12-09 07:13:19 -08:00
Leonardo de Moura
08052c1988 feat(library/blast): improve tracing 2015-12-08 19:53:25 -08:00
Leonardo de Moura
429527eb72 refactor(library/blast): move to new tracing infrastructure 2015-12-08 19:37:06 -08:00
Leonardo de Moura
370f9a6eec fix(library/trace): use null output channel when trace environment is not set
This is important when multiple threads are being used, and the trace
environment is not set for a child thread
2015-12-08 18:37:57 -08:00
Leonardo de Moura
3c1f49de8f fix(library/io_state): typo 2015-12-08 18:28:54 -08:00
Leonardo de Moura
78533cde0a chore(library/blast/blast): reorg blast tracing 2015-12-08 15:57:25 -08:00
Leonardo de Moura
f0c42defc8 feat(library/blast/grinder): add tracing for suspicious event 2015-12-08 15:53:43 -08:00
Leonardo de Moura
81b093271d fix(library/io_state_stream): option kind when pretty printing 2015-12-08 15:48:10 -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
58ab526d44 feat(library/type_context): use new tracing infrastructure in new type class resolution procedure 2015-12-08 14:34:20 -08:00
Leonardo de Moura
9b69ccd2f8 feat(library/app_builder): add trace messages to app_builder 2015-12-08 13:43:15 -08:00
Leonardo de Moura
9df10a4048 feat(library): add tracing messages to app_builder and congr_lemma_manager 2015-12-08 13:36:11 -08:00
Leonardo de Moura
e5a6bc5b85 feat(library/blast/simplifier/simplifier): move to new tracing framework 2015-12-08 12:59:30 -08:00