Commit graph

5702 commits

Author SHA1 Message Date
Leonardo de Moura
23836f53bb feat(library/blast): do not display inactive hypotheses when displaying failure states 2015-12-30 12:08:33 -08:00
Leonardo de Moura
f2d4e81889 fix(library/blast/state): inactive hypotheses should be printed "after" active ones 2015-12-30 11:46:41 -08:00
Leonardo de Moura
2a454ce791 chore(library/blast/state): do not display set of active hypotheses
This is just "noise" in error messages
2015-12-30 11:31:59 -08:00
Leonardo de Moura
dc6a3e30c0 refactor(library): test simp and msimp in the standard library 2015-12-30 11:22:58 -08:00
Leonardo de Moura
251b53c669 refactor(library/blast/strategies): rename 'debug_action_strategy' to 'action_strategy'
Now, we can also provide a "name" for tracing purposes when
instantiating action_strategy.
2015-12-29 20:45:24 -08:00
Leonardo de Moura
41a01bb606 feat(library/blast/forward/ematch): add option 'blast.ematch.max_instances' 2015-12-29 20:36:11 -08:00
Leonardo de Moura
0148bb08fd feat(library/blast): add 'ematch_simp' strategy for blast and msimp shortcut for it.
This strategy is based on ematching and congruence closure, but it uses
the [simp] lemmas instead of [forward] lemmas.
2015-12-29 20:04:31 -08:00
Leonardo de Moura
8c87f90a29 feat(frontends/lean/elaborator): avoid redudant "don't know how to synthesize placeholder" when using flycheck 2015-12-29 18:00:19 -08:00
Leonardo de Moura
86a5379a96 feat(library/blast): include strategies failure states in the tactic_exception
Reason: better flycheck error messages
2015-12-29 17:14:55 -08:00
Leonardo de Moura
b92416d66c refactor(library/error_handling): move error_handling to library main dir 2015-12-29 15:31:40 -08:00
Leonardo de Moura
3557bd36e7 refactor(library/algebra/group): cleanup proofs using simp and add [simp] attribute 2015-12-29 10:48:47 -08:00
Leonardo de Moura
b117a10f82 refactor(library/blast/simplifier): use priority_queue to store simp/congr lemmas, use name convention used at forward/backward lemmas, normalize lemmas when blast starts, cache get_simp_lemmas 2015-12-28 17:52:57 -08:00
Leonardo de Moura
5b7dc31ad1 chore(library/blast/backward): remove unnecessary include 2015-12-28 14:26:18 -08:00
Leonardo de Moura
079a25f770 refactor(library/blast/forward): make sure backward and forward modules use same naming convention 2015-12-28 12:37:16 -08:00
Leonardo de Moura
482ffe4242 fix(library/attribute_manager): memory leak 2015-12-28 12:31:38 -08:00
Leonardo de Moura
c8b9c98eb6 refactor(library/blast/backward): use priority_queue, make sure head is normalized when building index 2015-12-28 12:26:06 -08:00
Leonardo de Moura
26d0a62052 refactor(*): make sure we use LEAN_DEFAULT_PRIORITY
We recently implemented the attribute manager.
2015-12-28 10:47:56 -08:00
Leonardo de Moura
f177082c3b refactor(*): normalize metaclass names
@avigad and @fpvandoorn, I changed the metaclasses names. They
were not uniform:
- The plural was used in some cases (e.g., [coercions]).
- In other cases a cryptic name was used (e.g., [brs]).

Now, I tried to use the attribute name as the metaclass name whenever
possible. For example, we write

   definition foo [coercion] ...
   definition bla [forward] ...

and

  open [coercion] nat
  open [forward] nat

It is easier to remember and is uniform.
2015-12-28 10:39:15 -08:00
Leonardo de Moura
96bec8b4f9 fix(frontends/lean/builtin_cmds): allow token and metaclass to have the same name 2015-12-28 09:57:45 -08:00
Leonardo de Moura
89a5d00714 chore(library/blast): style 2015-12-28 09:08:18 -08:00
Leonardo de Moura
f679ce0da9 refactor(frontends/lean): move 'print_cmd' to separate module 2015-12-28 09:08:18 -08:00
Leonardo de Moura
cac10aa728 fix(frontends/lean/parser): allow '...' token to be used in imports
Before this commit, we could not write

           import ...foo.b

We had to write

          import .. .foo.b

or

          import . ..foo.b
2015-12-28 09:08:18 -08:00
Leonardo de Moura
2a5a904416 feat(library/blast/discr_tree): remove hack for setting m_fn flag 2015-12-28 09:08:18 -08:00
Leonardo de Moura
93b912ec89 feat(library/blast): use discrimination trees instead of head_map for indexing hypotheses 2015-12-28 09:08:18 -08:00
Leonardo de Moura
1f1fafd535 feat(library/blast/discr_tree): erase operation 2015-12-28 09:08:18 -08:00
Leonardo de Moura
45c29d422f feat(library/blast/discr_tree): set edge m_fn flag 2015-12-28 09:08:18 -08:00
Leonardo de Moura
43e1292f22 feat(library/blast): add discrimination trees 2015-12-28 09:08:17 -08:00
Jeremy Avigad
dc8cad10bf feat(src/emacs/README.md): add header 2015-12-22 16:39:13 -05:00
Jeremy Avigad
68ecdc4c26 feat(src/emacs/README.md): expand instructions slightly 2015-12-22 16:39:13 -05:00
Soonho Kong
f911747b60 fix(util/file_lock.cpp): add 'include <fcntl.h>'
@wizardbc found that this is needed while working on lean.js.
I think it's because of the use of O_CREAT in open system call.

Related issue: leanprover/lean.js#10
2015-12-19 07:51:00 -05:00
Soonho Kong
c5223d2d19 fix(emacs/load-lean.el): proceed even if logo image is not created
On OSX + emacs-24.5, pgm file is not supported in the terminal.
This patch ignores the error and does not show the Lean logo if it fails to create one.
2015-12-18 14:29:51 -05:00
Leonardo de Moura
a7d1625765 fix(library/blast/forward/forward_lemma_set): check pattern inference when setting attribute 2015-12-17 22:50:14 -08:00
Leonardo de Moura
9a6bd96d6b chore(frontends/lean/decl_attributes): style 2015-12-17 22:50:01 -08:00
Leonardo de Moura
40b7cf3ad4 chore(frontends/lean): remove unnecessary tokens 2015-12-17 22:35:12 -08:00
Leonardo de Moura
128b557d37 refactor(frontends/lean): use attribute_manager to simplify decl_attributes 2015-12-17 22:28:53 -08:00
Leonardo de Moura
d81b2d0f29 feat(library/attribute_manager, frontends/lean/builtin_cmds): use attribute manager information when pretty print definitions 2015-12-17 21:16:31 -08:00
Leonardo de Moura
45dbf76df9 refactor(library): add attribute manager 2015-12-17 20:58:15 -08:00
Floris van Doorn
da5f10ce63 feat(hott): minor fixes. allow the usage of numerals for trunc_index 2015-12-17 12:46:16 -08:00
Leonardo de Moura
61ecf018e9 feat(frontends/lean,library/tactic): add easy tactic parsing support for at ... and with ... 2015-12-17 12:18:32 -08:00
Leonardo de Moura
c824a0e050 chore(library,hott): enforce naming conventions 2015-12-17 11:36:58 -08:00
Leonardo de Moura
2502039a5c fix(frontends/lean/parser): tactic notation that may take numerical parameters 2015-12-17 11:27:31 -08:00
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
Leonardo de Moura
c07345d47f fix(util/file_lock): handle permission denied at lock creation
see #925

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2015-12-15 09:48:20 -08:00
Rob Lewis
ec5990f4de fix(library/norm_num): fix incorrect assert 2015-12-14 14:09:54 -05:00
Leonardo de Moura
521657914c chore(util/file_lock): style 2015-12-14 10:20:33 -08: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
31c9a76777 feat(util/file_lock): add support for Windows
Remark: the lock are not being erased on Windows.
I tried different solutions based on MoveFileEx and DeleteFile.
None of them worked. The one based on MoveFileEx

        MoveFileEx(m_fname.c_str(), NULL, MOVEFILE_DELAY_UNTIL_REBOOT);

seems to delete the file after REBOOT.
But, this is not very useful.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2015-12-14 10:07:26 -08:00