Commit graph

2297 commits

Author SHA1 Message Date
Gabriel Ebner
6b15f6cef9 feat(library/tools/super): add super prover 2016-12-16 18:18:13 -08:00
Leonardo de Moura
a0ad8a678a feat(library/init/algebra/norm_num): add missing lemmas for norm_num tactic 2016-12-16 12:15:40 -08:00
Leonardo de Moura
816c315b50 feat(library/init/algebra): add field 2016-12-16 12:02:30 -08:00
Leonardo de Moura
bcf15b0d39 feat(library/init/data/int): import int by default 2016-12-15 16:59:36 -08:00
Jeremy Avigad
8b84af4853 feat(library/init/data/int/basic,order): the integers as an ordered ring 2016-12-15 09:56:22 -08:00
Jeremy Avigad
57dcbcc1c6 feat(library/init/data/nat/lemmas): add facts about order and subtraction 2016-12-15 09:56:09 -08:00
Leonardo de Moura
b0ce461fcd feat(library/vm): native closures that do not depend on vm_state
Remark: native_closures are used in the C++ code generator.
2016-12-14 18:51:24 -08:00
Daniel Selsam
317989bf9e feat(tactic/exact_tactic): exact_core that takes transparency 2016-12-13 08:27:21 -08:00
Leonardo de Moura
13ae8b07b3 feat(library/init/data/nat/lemmas): add missing lemmas 2016-12-12 13:25:30 -08:00
Leonardo de Moura
c8d6836aa1 feat(library): port nat sub lemmas 2016-12-11 09:46:45 -08:00
Leonardo de Moura
18098e9455 perf(library/init/data/list/basic): avoid naive quadratic implementations 2016-12-10 13:18:11 -08:00
Leonardo de Moura
9f6e71b374 feat(library/tactic): add "approximate" parameter to apply_core and rewrite_core
If this parameter is set to true, then approximate unification is
used.

closes #1208
2016-12-10 10:24:05 -08:00
Jeremy Avigad
0950b7a49f feat(library/init/meta/interactive): allow cases on an arbitrary expression 2016-12-10 09:54:03 -08:00
Jeremy Avigad
1dd91c6e6a feat(library/init/meta/interactive): add fapply 2016-12-10 09:53:53 -08:00
Jeremy Avigad
1ba55e5cda feat(library/init/meta/interactive): allow metavariable in change tactic 2016-12-10 09:53:36 -08:00
Gabriel Ebner
e03c31d2f9 refactor(gitignore): remove old ignore entries 2016-12-10 08:42:39 -08:00
Leonardo de Moura
692701c5ef feat(library/init/meta): use cheap "reflexivity" after simp and rewrite
The idea is to make sure lean doesn't timeout (at reflexivity) when we apply simp or
rewrite in goals such as

    (x y : nat) |- x + y + 10000000000 = x + y + 200000000000000

This commit also addresses an issue raised at #1218
2016-12-08 14:41:26 -08:00
Jeremy Avigad
6f64244f2a refactor(library/init/meta/tactic): switch 'pose' and 'note' 2016-12-08 13:17:42 -08:00
Leonardo de Moura
6577cc87a3 feat(library): add pre_monad
closes #1235
2016-12-08 12:48:55 -08:00
Daniel Selsam
f952dbc78e fix(init/meta/expr.lean): is_app_of can return true for constants as well 2016-12-08 11:23:53 -08:00
Leonardo de Moura
b9de2fda0c chore(library/init/algebra/order): remove unnecessary *.refl lemmas 2016-12-08 07:32:25 -08:00
Leonardo de Moura
023f216cab chore(init/algebra/order): use new attribute syntax 2016-12-08 07:22:58 -08:00
Jeremy Avigad
281903edee refactor(library/init/data/nat/lemmas): better name for self_lt_succ 2016-12-08 07:20:39 -08:00
Jeremy Avigad
16b239cbff feat(library/init/algebra/order): add refl and trans attribute and dot notation 2016-12-08 07:20:22 -08:00
Jeremy Avigad
9c6605c992 refator(library/init/data/set): make implicit argument in subset weak 2016-12-08 07:20:12 -08:00
Jeremy Avigad
814da88858 refactor(library/init/data/nat/basic,lemmas): alternative name, and rename le.elim to le.dest 2016-12-08 07:20:02 -08:00
Jeremy Avigad
acb58e8a87 feat(library/init/algebra/group,ring): alternative names for calculation lemmas 2016-12-08 07:19:41 -08:00
Jeremy Avigad
da6dfa6fdd feat(library/init/logic): alternative theorem names, and make some arguments explicit 2016-12-08 07:19:38 -08:00
Jared Roesch
e65d90ac79 feat(*): C++ code generator
in progress move of Lean.native to init
2016-12-05 16:11:41 -08:00
Leonardo de Moura
5d1716a983 refactor(library/data): delete init/data/instances.lean 2016-12-02 16:41:16 -08:00
Leonardo de Moura
e4285bf684 refactor(library/init): list classes => instances 2016-12-02 16:29:15 -08:00
Leonardo de Moura
46cb2dfd02 refactor(library/init): move instances.lean => init.data 2016-12-02 16:25:27 -08:00
Leonardo de Moura
ed97ab486f refactor(library/init): timeit, trace ==> util 2016-12-02 16:19:15 -08:00
Leonardo de Moura
e423588463 refactor(library/init): merge some files 2016-12-02 16:13:45 -08:00
Leonardo de Moura
d96fed26b0 refactor(library/init): move propext to its own file 2016-12-02 16:04:39 -08:00
Leonardo de Moura
fb38b6e016 refactor(library/init): move combinator logic to core 2016-12-02 15:56:52 -08:00
Leonardo de Moura
00f5a807af refactor(library/init): create init.category folder 2016-12-02 15:52:49 -08:00
Leonardo de Moura
e11fd8820a refactor(library/init): create init.data folder 2016-12-02 14:23:06 -08:00
Leonardo de Moura
af6ee4ad9d refactor(library/init): move algebra to its own folder 2016-12-02 11:24:43 -08:00
Gabriel Ebner
7ff2a77d67 feat(library/vm/vm_task): expose task_result objects to VM 2016-11-29 11:12:43 -08:00
Gabriel Ebner
a8df381d20 feat(*): parallel compilation 2016-11-29 11:12:40 -08:00
Leonardo de Moura
94c882f4d5 feat(library/documentation, frontends/lean): add /-! -/ doc string module block 2016-11-27 12:23:53 -08:00
Leonardo de Moura
6978906a78 chore(frontends/lean): remove namespace documentation
We will add module level doc strings /-! -/
2016-11-27 11:57:03 -08:00
Leonardo de Moura
5daf1986e7 feat(library/init/nat): add nat.zero = zero (rfl) lemma 2016-11-26 10:54:28 -08:00
Leonardo de Moura
abc84452bc fix(library/init/group): add group lemmas and use transport 2016-11-26 10:46:02 -08:00
Leonardo de Moura
338a46c225 fix(library/documentation): do not store doc strings for namespaces and declarations in the same name_map 2016-11-26 09:41:07 -08:00
Leonardo de Moura
ef34ab0148 feat(library/init): add lemmas for norm_num 2016-11-25 19:11:07 -08:00
Leonardo de Moura
4a31d541c9 feat(library/init/ring): add comm_ring, integral_domain 2016-11-25 18:53:03 -08:00
Leonardo de Moura
e9f8f9e5d7 refactor(library/nat): rename nat.le to nat.less_than
Motivation: avoid overload when we use `open nat`.

Unfortunately, we currently do not allow users to mark inductive datatype
declarations as protected.
2016-11-25 18:53:03 -08:00
Leonardo de Moura
efa760fc74 feat(library/init/nat_lemmas): add extra instances for short circuiting type class resolution 2016-11-25 18:53:03 -08:00