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