Commit graph

2321 commits

Author SHA1 Message Date
Leonardo de Moura
b65c774f5b chore(library/init/meta): opened_namespaces ==> open_namespaces 2016-12-18 23:55:45 -08:00
Leonardo de Moura
6b416b4618 feat(library/vm): use native representation for int in the VM 2016-12-18 15:04:02 -08:00
Leonardo de Moura
d2ffa6c476 fix(library/init/data/int/basic): bug in instance definition 2016-12-18 14:45:55 -08:00
Sebastian Ullrich
d95e817a56 refactor(library/data/{bitvec,tuple}): style, conventions, conversions 2016-12-18 13:25:00 -08:00
Leonardo de Moura
1d0d45d890 feat(library/init/data/to_string): mark list.to_string as protected 2016-12-18 13:17:10 -08:00
Sebastian Ullrich
26ead0e7ac feat(library/data/int/basic): has_to_string int 2016-12-18 13:15:41 -08:00
Leonardo de Moura
ca2095f2dd feat(library/init/algebra): add discrete_linear_ordered_field 2016-12-17 21:18:59 -08:00
Leonardo de Moura
37209d45a5 feat(library/init/algebra/norm_num): add missing norm_num lemmas 2016-12-17 20:20:55 -08:00
Leonardo de Moura
c99f25dbf5 feat(library/init/algebra/ordered_ring): add linear_ordered_comm_ring 2016-12-17 19:48:21 -08:00
Leonardo de Moura
303696e693 feat(library/init/algebra): add ordered_field 2016-12-17 19:34:10 -08:00
Leonardo de Moura
97fe22b20e feat(library/init/algebra/ordered_ring): ordered semiring/ring lemmas 2016-12-17 17:49:25 -08:00
Leonardo de Moura
060a554db1 feat(library/tactic): add norm_num_tactic 2016-12-17 16:48:40 -08:00
Leonardo de Moura
b84d5811d1 feat(library/init/algebra): add missing min/max/abs lemmas 2016-12-17 15:22:12 -08:00
Leonardo de Moura
1726d37d4e fix(library/algebra/order): decidable_linear_order
Add fields for decidable_eq and decidable_le.
We need this because a concrete instance may have its own
implementation that is not definitionally equal to
the old ones defined at library/algebra/order.lean.
Without this change, types such as nat and int would
have multiple definitions for decidable_eq and decidable_le
which are not definitionally equal.
2016-12-17 14:01:43 -08:00
Leonardo de Moura
626f8db389 feat(library/init/algebra/functions): define min/max/abs 2016-12-17 13:17:55 -08:00
Leonardo de Moura
422d43cf47 fix(library/init/data/nat/basic): issue reported by @kha 2016-12-17 13:17:30 -08:00
Leonardo de Moura
d41c403442 feat(library/init/meta/simp_tactic, library/init/meta/interactive): add simp_using_hs 2016-12-17 12:54:04 -08:00
Leonardo de Moura
7d5b866503 feat(library/init/meta/tactic): add is_prop and is_proof tactics 2016-12-17 11:53:21 -08:00
Leonardo de Moura
8683ea4f60 feat(library/tactic/simp_lemmas): add simp_lemmas.pp 2016-12-17 11:53:02 -08:00
Leonardo de Moura
1320c16e3d chore(library/init/algebra/field): avoid '.' 2016-12-17 11:02:18 -08:00
Leonardo de Moura
305838bece refactor(library/debugger): move debugger to tools 2016-12-17 10:50:13 -08:00
Leonardo de Moura
63ec7cd6cf chore(library/tools/super): replace ↣ with ^.
The plan is to delete the funny arrow ↣ notation and keep only ^.
2016-12-16 19:14:05 -08:00
Leonardo de Moura
85ae8ce307 chore(tools/super): add copyright 2016-12-16 19:06:50 -08:00
Leonardo de Moura
4b97b00536 refactor(library/tools/super): move examples to test folder 2016-12-16 19:05:32 -08:00
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