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