Commit graph

12340 commits

Author SHA1 Message Date
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
Jared Roesch
191a3d662d feat(leanpkg): add initial support for test command 2017-05-24 14:55:59 -07:00
Leonardo de Moura
c396e4519a fix(library/equations_compiler/util): missing case at prove_eq_rec_invertible
@dselsam You have used a function similar to prove_eq_rec_invertible in
the inductive compiler.
I'm wondering if this bug (missing case) may also occur in the inductive
compiler.
2017-05-24 14:34:54 -07:00
Leonardo de Moura
39b850fb10 fix(tests/lean/eqn_hole): test output 2017-05-24 14:34:54 -07:00
Leonardo de Moura
e3249dfdb9 test(tests/lean/run/term_app): add test for nested inductive type 2017-05-24 14:34:54 -07:00
Leonardo de Moura
1d7dd20091 feat(library/init/meta/well_founded_tactics): improve default dec_tac
This is a temporary workaround until we have decision procedures for arithmetic.
2017-05-24 14:34:54 -07:00
Leonardo de Moura
56dd09058f feat(library/init/data/list/basic): add auxiliary list functions 2017-05-24 14:34:54 -07:00
Leonardo de Moura
9e9ebe9edd test(tests/lean/run/even_odd): use default decreasing tactic for defining even and odd 2017-05-24 14:34:54 -07:00
Sebastian Ullrich
491802409a chore(*): remove unused macro_definition_cell::pp method 2017-05-24 09:51:23 +02:00
Leonardo de Moura
6ad9e3ed1e feat(library/init/meta/well_founded_tactics): add simple tactic for discharging decreasing proofs 2017-05-23 22:07:46 -07:00
Leonardo de Moura
a1cfe0367b fix(library/equations_compiler/pack_domain): nested recursive calls 2017-05-23 21:50:26 -07:00
Leonardo de Moura
bebdba1004 fix(library/init/meta/simp_tactic): make sure replace_target does not fail due to reducibility settings 2017-05-23 21:43:37 -07:00
Leonardo de Moura
e163b5c884 feat(library/init/meta/expr): binder_info.other ==> binder_info.aux_decl 2017-05-23 21:42:52 -07:00
Leonardo de Moura
d8713acbdd fix(library/tactic/eqn_lemmas): fix get_eqn_lemmas_for 2017-05-23 20:39:27 -07:00
Leonardo de Moura
18c7f5f1b7 refactor(library/init/data/sigma/lex): define psigma.lex
We actually use psigma instead of sigma in the equation compiler.
2017-05-23 20:39:09 -07:00
Leonardo de Moura
290e7b9cff feat(library/init): use Sort instead of Type for defining acc and well_founded 2017-05-23 16:40:45 -07:00
Leonardo de Moura
2fb77c3e40 feat(library/init/core): add has_sizeof instances for psum and psigma 2017-05-23 16:24:38 -07:00
Leonardo de Moura
229b730c15 feat(library/equations_compiler): invoke tactics for building well founded relation, and proving recursive calls are "decreasing" 2017-05-23 16:04:55 -07:00
Leonardo de Moura
ca684102f6 refactor(library/tactic,frontends/lean): move tactic_evaluator to library/tactic 2017-05-23 15:30:31 -07:00