Commit graph

12358 commits

Author SHA1 Message Date
Leonardo de Moura
cbca84a8ea chore(library/init/data/nat/bitwise): fix copyright date 2017-05-30 13:05:37 -07:00
Mario Carneiro
9d676776b5 feat(library/vm/vm_nat): implementations of bitwise ops 2017-05-30 12:47:44 -07:00
Mario Carneiro
860e2d904d feat(init/data/nat): bitwise operations 2017-05-30 12:47:44 -07:00
Leonardo de Moura
d0f73c7041 fix(util/trie): compilation issue
See #1619
2017-05-30 10:57:59 -07:00
Sebastian Ullrich
4eab11ec3d fix(frontends/lean/structure_cmd): even less error recovery 2017-05-30 19:02:25 +02:00
Mario Carneiro
e92fba8eda feat(init/data/ordering): ordering.swap 2017-05-30 14:22:49 +02:00
Gabriel Ebner
d5c7d078eb fix(library/type_context): check for stack overflow 2017-05-29 14:58:34 +02:00
Gabriel Ebner
5ab28548b8 fix(library/type_context): reduce whnf stack space 2017-05-29 14:58:28 +02:00
Gabriel Ebner
ddab6260aa fix(library/init/meta/tactic): measure tactic creation time 2017-05-29 14:57:08 +02:00
Gabriel Ebner
b14a248dcd fix(frontends/lean/structure_cmd): segfault 2017-05-29 07:37:50 +02:00
Johannes Hölzl
ab6797b74c feat(leanpkg): support (deterministic) timeout value in leanpkg.toml 2017-05-29 06:52:38 +02:00
Mario Carneiro
92d76c22a5 feat(data/pnat): positive natural numbers 2017-05-28 02:32:23 -04:00
Leonardo de Moura
d10a799b79 chore(tests/lean/interactive/complete_field): fix test 2017-05-27 10:18:44 -07:00
Mario Carneiro
9c29206386 feat(init/meta/injection_tactic): injections tactic
Runs injection repeatedly on the LC and subgoals
2017-05-27 06:15:47 -04:00
Mario Carneiro
6e88119f55 feat(init/meta/injection_tactic): better injection tactic
(1) The lhs and rhs will be reduced to whnf before getting the constructor apps
(2) If the lhs and rhs are distinct constructors, it discharges the goal by contradiction
(3) The interactive injection tactic will try to close the goal by assumption if successful
2017-05-27 04:59:40 -04:00
Mario Carneiro
f5aa07953b chore(init/logic): slightly more efficient decidability of iff, xor 2017-05-27 04:16:25 -04:00
Mario Carneiro
2251de503d feat(init/relator): some new base theorems for transfer tactic 2017-05-27 04:16:25 -04:00
Mario Carneiro
961d0cd6ed feat(init/data/list): list mem lemmas for map, join, bind 2017-05-27 04:16:24 -04:00
Mario Carneiro
0b4cecfc87 refactor(init/core): write std.priority.max in hex 2017-05-27 04:16:23 -04:00
Mario Carneiro
57837c2b3e fix(init/meta/tactic): let by_cases handle elimination to Type 2017-05-27 04:14:06 -04:00
Mario Carneiro
558efb33c1 feat(init/data/option): option.get 2017-05-27 04:14:05 -04:00
Mario Carneiro
6ebbe40437 chore(init/category/monad): proof optimization 2017-05-27 04:14:04 -04:00
Mario Carneiro
a0503f964c feat(init/algebra, init/data/int): more ring theorems 2017-05-27 04:14:04 -04:00
Mario Carneiro
b827df8b49 refactor(init/logic): remove "contrapos" (which is a duplicate of "mt") 2017-05-27 04:14:03 -04:00
Mario Carneiro
39e7e5cba8 feat(data/vector): more vector operations 2017-05-27 04:14:02 -04:00
Mario Carneiro
07f4055dc0 feat(init/data/int): some more basic int theorems 2017-05-27 04:14:02 -04:00
Mario Carneiro
d85c3fa74e feat(init/category/alternative): a monadic "give me a proof" assert operator 2017-05-27 04:14:01 -04:00
Mario Carneiro
0d977f46e6 feat(init/data/quot): show that quot is the quotient by the generated equivalence 2017-05-27 04:14:00 -04:00
Mario Carneiro
b28ff94780 feat(init/data/option_t): option_t is a monad transformer 2017-05-27 04:14:00 -04:00
Mario Carneiro
52e41ecd1d feat(init/data/subtype): add subtype.eta 2017-05-27 04:13:59 -04:00
Mario Carneiro
20e630ad19 refactor(init/funext): shorten proof 2017-05-27 04:13:59 -04:00
Mario Carneiro
0441605861 feat(init/core): add heq.rfl 2017-05-27 04:13:58 -04:00
Mario Carneiro
1d3887dd3f fix(init/meta/interactive): bug in generalize2 2017-05-27 04:13:57 -04:00
Leonardo de Moura
1ee1e01f8c feat(library/tactic/smt/congruence_closure): add builtin support for (@ne A a b)
This is needed when using cc in the standard tactic monad.

closes #1608
2017-05-26 17:06:22 -07:00
Leonardo de Moura
82e51ddad5 fix(library/constructions/injective): fixes #1609
@dselsam You have assumed that the left-hand-side (t) and
right-hand-side (s) of (t = s) and (t == s) are the last two arguments.
This is a reasonable assumption, and it is correct for eq, but it is
incorrect for heq.
The type of heq is
```
Π {α : Sort u_1}, α → Π {β : Sort u_1}, β → Prop
```
Do you recall other places where we may have made this assumption?
2017-05-26 16:39:38 -07:00
Leonardo de Moura
fe9d5d68c3 chore(README): add "wish list" 2017-05-26 14:43:01 -07:00
Leonardo de Moura
81d16548b8 chore(README): add roadmap 2017-05-26 14:38:42 -07:00
Leonardo de Moura
a31e3a95ae feat(library/equations_compiler/wf_rec): improve error message for failed decreasing proofs 2017-05-26 13:55:29 -07:00
Leonardo de Moura
4bdb2da1b6 fix(library/equations_compiler): improve pull_nested_rec_fn, and make sure it communicates local propositions to the well founded recursion module
The bin_tree and num_consts examples can now be encoded more naturally.
2017-05-26 10:45:39 -07:00
Gabriel Ebner
0cd5feed6e fix(leanpkg/leanpkg): build command: pass correct directory to lean --make
Fixes #1607.
2017-05-26 09:06:59 +02:00
Leonardo de Moura
62c24f9bb5 chore(*): remove pos_num and num from stdlib 2017-05-25 18:24:16 -07:00
Floris van Doorn
3af2a91112 doc(emacs): fix formatting 2017-05-25 17:03:42 -07:00
Jared Roesch
952eb63d96 chore(doc/make/osx): add build instructions to mac OS 2017-05-25 17:03:15 -07:00
Leonardo de Moura
7ffd7fea3d feat(kernel): store depth of composite terms and use it in the hash code computation
closes #1589
2017-05-25 16:51:02 -07:00
Leonardo de Moura
438ce08748 feat(library/equations_compiler/util): cleanup equation rhs
The idea is to remove hints used to define a function by well founded
recursion. See new div_eqn.lean test for an example.
2017-05-25 13:09:13 -07:00
Leonardo de Moura
9b12559239 fix(library/tactic/dsimplify): fixes #1603 2017-05-25 11:21:06 -07:00
Leonardo de Moura
0bf51e63e8 fix(library/init/meta/constructor_tactic): fixes #1598 2017-05-25 09:57:15 -07:00
Leonardo de Moura
5583893991 fix(library/equations_compiler/wf_rec): avoid name collision between auxiliary lemmas produced in different modules 2017-05-24 17:50:39 -07:00
Leonardo de Moura
5604835672 test(tests/lean/tree_map): closes #1457 2017-05-24 17:15:12 -07:00
Leonardo de Moura
7b98484002 test(tests/lean/run/term_app2): another well founded recursion example 2017-05-24 15:58:18 -07:00