Commit graph

8202 commits

Author SHA1 Message Date
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
7462874a4a refactor(library): cleanup nat/int proofs 2015-12-29 12:39:53 -08:00
Leonardo de Moura
a307a0691b refactor(library/data/nat/basic): cleanup some of the nat proofs 2015-12-29 11:43:56 -08:00
Leonardo de Moura
726867a8fb refactor(library/algebra/ring): minor cleanup 2015-12-29 11:16:18 -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
Ulrik Buchholtz
b09fdc8c61 feat(hott/hit): flattening lemmas for coeq and pushout 2015-12-28 09:06:13 -08:00
Ulrik Buchholtz
f3b2c7010f feat(hott): functoriality of quotients 2015-12-28 09:06:13 -08:00
Leonardo de Moura
fe66e2aa4a fix(tests/lean): subtype notation is not in the top-level anymore 2015-12-28 09:04:11 -08:00
Jeremy Avigad
c52ffda0e0 feat(library/algebra/intervals): add notation for intervals 2015-12-26 10:45:53 -08:00
Jeremy Avigad
395eab7c2c feat(library/theories/topology/basic): start on topology (with Jacob Gross) 2015-12-26 10:29:58 -08:00
Jeremy Avigad
549feb5d7f feat(library/data/set/basic): add notation and theorems for large unions and intersections 2015-12-26 08:02:04 -08:00
Jeremy Avigad
d83e5d25fc feat(library/theories/measure_theory/extended_real): start on extended reals 2015-12-24 16:27:48 -05:00
Jeremy Avigad
84cdf3d36d feat(library/theories/analysis/normed_space): start theory of normed spaces for analysis 2015-12-22 16:39:13 -05:00
Jeremy Avigad
08fbf127c6 feat(library/theories/analysis/metric_space,real_limit): define complete metric space, make real an instance 2015-12-22 16:39:13 -05:00
Jeremy Avigad
5b3fbf1618 feat(library/algebra/module): make a start on modules and vector spaces (with material from Nathaniel Thomas) 2015-12-22 16:39:13 -05:00
Jeremy Avigad
dc8cad10bf feat(src/emacs/README.md): add header 2015-12-22 16:39:13 -05:00
Jeremy Avigad
6913eb0c76 refactor(library/init/subtype.lean): put subtype notation in the namespace
The notation { x : A | P x } is overloaded in set, and is ambiguous.
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
Jeremy Avigad
8d50405e68 chore(library/extras/latex/lstlean.text): update lists for syntax highlighting 2015-12-22 16:39:13 -05:00
Jeremy Avigad
8ccafc4267 fix(library/init/function): fix typo 2015-12-22 16:39:13 -05:00
Jeremy Avigad
baf11d0018 feat(library/algebra/ring_bigops): make start on file with more properties of sums and products 2015-12-22 16:39:13 -05:00
Jeremy Avigad
0e3b13f1a0 refactor(library/algebra): combine group_bigops and group_set_bigops 2015-12-22 16:39:13 -05:00
Soonho Kong
f1daf8f24e fix(algebra/group.lean): remove unnecessary use of add.assoc from theorem bit0_add_bit1_helper 2015-12-22 09:12:57 -05:00
Ulrik Buchholtz
71cad16c32 fix(extras/depgraph): calculate lean executable path from PATH or guess 2015-12-19 23:03:53 -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
43a8b01211 feat(extra/depgraph): add dependency graph script 2015-12-18 18:28:58 -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