Sebastian Ullrich
9fa31b2858
fix(init/meta/interactive): handle pure in parser signature descs
2017-05-31 16:05:02 +02:00
Leonardo de Moura
72134a7bbd
feat(library/equations_compiler/wf_rec): provide recursive equations to rel_tac
...
rel_tac is a tactic used for synthesizing a well founded relation.
The default implementation just uses type class resolution.
More sophisticated strategies may need to access the set of recursive
equations. This commit addresses this need.
2017-05-30 16:55:37 -07:00
Leonardo de Moura
cbca84a8ea
chore(library/init/data/nat/bitwise): fix copyright date
2017-05-30 13:05:37 -07:00
Mario Carneiro
860e2d904d
feat(init/data/nat): bitwise operations
2017-05-30 12:47:44 -07:00
Mario Carneiro
e92fba8eda
feat(init/data/ordering): ordering.swap
2017-05-30 14:22:49 +02:00
Gabriel Ebner
ddab6260aa
fix(library/init/meta/tactic): measure tactic creation time
2017-05-29 14:57:08 +02: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
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
62c24f9bb5
chore(*): remove pos_num and num from stdlib
2017-05-25 18:24:16 -07:00
Leonardo de Moura
0bf51e63e8
fix(library/init/meta/constructor_tactic): fixes #1598
2017-05-25 09:57:15 -07:00
Jared Roesch
191a3d662d
feat(leanpkg): add initial support for test command
2017-05-24 14:55:59 -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
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
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
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
4fbb65d9f1
feat(frontends/lean,library/equations_compiler): store tactics for generating well founded relation and decreasing proofs
2017-05-23 15:00:29 -07:00
Sebastian Ullrich
49e5c69447
fix(init/meta/expr): have all reflected defns accept Sort
2017-05-23 11:00:33 +02:00
Gabriel Ebner
54114fd7bd
fix(frontends/lean/tactic_notation): do not clamp errors to the end of {} blocks
2017-05-23 07:28:34 +02:00
Sebastian Ullrich
9507297687
fix(init/meta/expr,library): reflect should accept Props
...
Fixes #1590
2017-05-19 14:17:06 +02:00
Leonardo de Moura
499fc355df
feat(library/init): add has_well_founded type class
2017-05-17 14:34:52 -07:00
Sebastian Ullrich
84997bf4de
refactor(init/meta/expr): unify expr and pexpr
2017-05-17 10:38:12 -07:00
Leonardo de Moura
cb6d5675df
chore(library/init): ^. ==> .
2017-05-16 15:00:58 -07:00
Leonardo de Moura
cba0eef101
fix(library/data, library/init/data/array): adjust hash_map PR
2017-05-16 14:46:43 -07:00
Mario Carneiro
6b28499e47
feat(init/data/list,data/list): new basic list operations from haskell
2017-05-16 14:38:43 -07:00
Mario Carneiro
7257e32eca
refactor(init/data/list/lemmas): remove projection notation
2017-05-16 14:38:43 -07:00
Mario Carneiro
69c2c998a7
fix(init/data/list/lemmas): fix references to drop
2017-05-16 14:38:43 -07:00
Mario Carneiro
19a919061f
fix(library/data/hash_map): respond to review comments
2017-05-16 14:38:43 -07:00