Commit graph

45 commits

Author SHA1 Message Date
Leonardo de Moura
cebde17bec feat(library/tactic/simplify): simp reduces c a_1 ... a_n = c b_1 ... b_n into a_1 = b_1 /\ ... /\ a_n = b_n 2018-01-12 18:18:56 -08:00
Leonardo de Moura
c943576e5a feat(library/init): add funext tactic 2017-12-04 14:54:39 -08:00
Leonardo de Moura
db46f01315 chore(library/init): replace iterate applications with repeat when appropriate 2017-12-04 13:04:46 -08:00
Leonardo de Moura
75aa94b34c refactor(library): rename repeat ==> iterate
Reason: we will implement a new `repeat` tactic.
2017-12-04 12:34:59 -08:00
Leonardo de Moura
dc68cc7445 refactor(library): move stream back to the core library 2017-08-16 13:45:36 -07:00
Mario Carneiro
74aeb250ec refactor(*): move out stdlib 2017-07-26 11:52:10 +01:00
Mario Carneiro
803af7cd63 feat(library/data/stream): more stream theorems 2017-07-05 12:37:53 -07:00
Leonardo de Moura
bb9e3ddae2 feat(library/init/meta/interactive): rw [-h] ==> rw [← h]
@Armael: this change may affect your project.

The file `doc/changes.md` explains the motivation for the change.
2017-07-05 11:42:55 -07:00
Sebastian Ullrich
0a48809469 refactor(frontends/lean/tactic_notation): rename note/define tactics to have/let 2017-06-22 08:03:23 -07:00
Mario Carneiro
b775a01fba refactor(init/meta/interactive): merge assert -> note 2017-06-22 08:03:23 -07: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
Leonardo de Moura
cdafd4b791 chore(library): cleanup proofs 2017-04-25 17:23:42 -07:00
Leonardo de Moura
71685e4dd6 feat(frontends/lean): add support for t.<id> and t.<idx> when t is a composite term
Replace `^.` with `.` in the stdlib
2017-03-28 17:47:49 -07:00
Leonardo de Moura
3a4cd38ba9 chore(library/init): remove reducible annotations for id, const, etc, and move $ notation to core.lean 2017-03-11 11:34:16 -08:00
Leonardo de Moura
32e6442d0a feat(frontends/lean): no global universes in the frontend 2017-02-08 17:23:04 -08:00
Leonardo de Moura
f176c272b4 refactor(library/init/core): simpler has_mem type class with out_param 2017-01-30 18:43:05 -08:00
Jeremy Avigad
20edc93b17 fix(library/init/data/list/lemmas): fix theorem names, now nil_append and cons_append 2017-01-10 09:10:33 -08:00
Leonardo de Moura
61d007892b feat(library/data/stream): add stream module 2016-12-25 16:40:52 -08:00
Leonardo de Moura
d97e5b5061 chore(library): remove old files 2016-09-21 11:46:40 -07:00
Sebastian Ullrich
fd2c42a8bf chore(library, tests): switch to new attribute declaration syntax
sed -Ei 's/^(\s*)((private |protected )?(noncomputable )?(abbreviation|definition|meta_definition|theorem|lemma|proposition|corollary)\s+\S+\s*)((\s*\[(\S+(\s+[0-9]+)*|priority.*)\])+)\s*/\1attribute \6\n\1\2/' library/**/*.lean tests/**/*.lean
sed -Ei 's/\s+$//' library/**/*.lean  # remove trailing whitespace
2016-08-12 15:36:12 -07:00
Jeremy Avigad
4050892889 refactor(library/*): rename 'compose' to 'comp' 2016-03-02 22:48:05 -05:00
Leonardo de Moura
deb1b3dc79 refactor(library): replace assert-exprs with have-exprs 2016-02-29 11:53:26 -08:00
Jeremy Avigad
8ccafc4267 fix(library/init/function): fix typo 2015-12-22 16:39:13 -05:00
Leonardo de Moura
b94e31a72c refactor(library): remove algebra namespace 2015-12-05 23:50:01 -08:00
Leonardo de Moura
6df31d3406 refactor(library/data/nat/basic): mark some theorems as protected to avoid overloading 2015-11-08 14:04:56 -08:00
Leonardo de Moura
26eb6fa849 feat(*): new numeral encoding 2015-11-08 14:04:55 -08:00
Leonardo de Moura
3369152559 fix(library/data,library/theories): fin, bag, finset, hf, list, ... 2015-11-08 14:04:54 -08:00
Leonardo de Moura
0de715ae54 refactor(library/data): cleanup proofs using new features 2015-07-21 09:57:10 -07:00
Leonardo de Moura
ea62a27b6b feat(library/data/stream): define lex-order for streams 2015-07-12 16:55:04 -04:00
Leonardo de Moura
a9515ac7a4 feat(library/tactic/rewrite_tactic): try to fold nested recursive applications after unfolding a recursive function
See issue #692.
The implementation still has some rough spots.
It is not clear what the right semantic is.
Moreover, the folds in e_closure could not be eliminated automatically.
2015-07-08 21:19:18 -04:00
Leonardo de Moura
4b1b3e277f feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]'
see issue #693
2015-07-07 16:37:06 -07:00
Leonardo de Moura
9f7c4aac69 feat(library): add helper lemmas for equivalent types 2015-07-06 12:17:57 -07:00
Leonardo de Moura
77d5657813 refactor(library/algebra/function): move function.lean to init folder
Motivation: this file defines basic things such as function composition.
In the HoTT library, it is located in the init folder.
2015-07-06 07:29:56 -07:00
Leonardo de Moura
7f0951b8e7 feat(library/tactic): improve assumption tactic performance 2015-05-25 20:22:37 -07:00
Leonardo de Moura
88975927e6 fix(library/tactic/relation_tactics): beta-reduce goal before trying to extract head symbol 2015-05-24 18:56:35 -07:00
Leonardo de Moura
c453bb52a9 feat(library/data/stream): add notation and commonly used definitions 2015-05-24 16:53:58 -07:00
Leonardo de Moura
880027ea0e feat(library/data/stream): define stream mem predicate and prove basic theorems 2015-05-24 15:47:33 -07:00
Leonardo de Moura
607a5fbb86 feat(library/data/stream): define cycle, inits, tails for streams and prove basic theorems 2015-05-24 13:42:51 -07:00
Leonardo de Moura
32a2425e02 feat(library/data/stream): prove take lemma for infinite streams 2015-05-23 23:01:54 -07:00
Leonardo de Moura
75901157a1 feat(library/data/stream): add more declarations and examples demonstrating how to use eq_of_bisim 2015-05-23 22:03:17 -07:00
Leonardo de Moura
d987d6cc84 feat(library/data/stream): simplify corecursion proofs, define interleave operation by corecursion, add one example of proof by bisimulation 2015-05-23 16:00:08 -07:00
Leonardo de Moura
8685e8ad7e feat(library/data/stream): define corec for infinite streams 2015-05-23 14:32:52 -07:00
Leonardo de Moura
dd4dd154ec feat(library/data/stream): add bisimulation for streams 2015-05-23 12:07:27 -07:00
Jeremy Avigad
8bebd104ff refactor(library/*): remove 'Module:' lines 2015-05-23 20:52:23 +10:00
Leonardo de Moura
fe32b9fa7f feat(library/data/stream): add infinite streams 2015-05-22 18:08:11 -07:00