Commit graph

1295 commits

Author SHA1 Message Date
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