Commit graph

53 commits

Author SHA1 Message Date
Leonardo de Moura
deb1b3dc79 refactor(library): replace assert-exprs with have-exprs 2016-02-29 11:53:26 -08:00
Leonardo de Moura
cb12b9b876 refactor(library): cleanup proofs
Fixed proofs that broke when we tried to implement a "checkpoint" have.
2016-02-03 19:52:23 -08:00
Jeremy Avigad
53b2d90c90 feat(library/data/{set,finset}): add some useful facts 2016-01-24 16:26:57 -08:00
Jeremy Avigad
1980baf784 feat(library/algebra/group_bigops): add Prod_semigroup, for cases without a unit 2016-01-24 16:26:57 -08:00
Leonardo de Moura
4f1415174e refactor(library/data): "union." ==> "union_", "inter." ==> "inter_" 2016-01-01 16:13:44 -08:00
Jeremy Avigad
12a69bad04 refactor(library/data/finset/basic,library/*): get rid of finset singleton 2015-12-31 15:16:57 -08:00
Jeremy Avigad
8a00a431e8 refactor(library/data/finset/basic): rename theorem 2015-12-31 15:16:57 -08:00
Jeremy Avigad
86b64cf43b feat(library/data/set/*,library/algebra/group_bigops): better finiteness lemmas, reindexing for big operations 2015-12-31 15:16:57 -08:00
Leonardo de Moura
f177082c3b refactor(*): normalize metaclass names
@avigad and @fpvandoorn, I changed the metaclasses names. They
were not uniform:
- The plural was used in some cases (e.g., [coercions]).
- In other cases a cryptic name was used (e.g., [brs]).

Now, I tried to use the attribute name as the metaclass name whenever
possible. For example, we write

   definition foo [coercion] ...
   definition bla [forward] ...

and

  open [coercion] nat
  open [forward] nat

It is easier to remember and is uniform.
2015-12-28 10:39:15 -08:00
Leonardo de Moura
ef546c5c5b refactor(library): use anonymous instance implicit arguments 2015-12-13 11:46:48 -08:00
Sebastian Ullrich
d1b5031dbd feat(library): add some spacing hints 2015-09-30 17:36:32 -07:00
Leonardo de Moura
d2eb99bf11 refactor(library/logic): move logic/choice.lean to init/classical.lean
choice axiom is now in the classical namespace.
2015-08-12 18:37:33 -07:00
Jeremy Avigad
7b4ebb9866 feat,refactor(library/data/finset/*): add priorities for finset notation, add some theorems 2015-08-07 13:45:15 -07:00
Jeremy Avigad
d02b83b6d6 feat(library/theories/number_theory/prime_factorization): prove that n is equal to its prime factorization 2015-07-27 15:16:16 -07:00
Jeremy Avigad
471c9058eb fix/feat(library/logic/connectives,library/data/{finset,set}): fix names or.left_distrib etc., fix implicit arguments, and make small additions 2015-07-27 07:46:59 -07:00
Jeremy Avigad
c9d6cc5255 feat(library/data/{finset,set}): various basic facts 2015-07-25 14:02:44 -04:00
Mario Carneiro
066b0fcdf9 feat(library): clean up "sorry"s in library
Breaking changes: pnat was redefined to use subtype instead of a custom inductive type, which affects the notation for pnat 2 and 3
2015-07-24 12:21:33 -04:00
Leonardo de Moura
092c8d05b9 feat(frontends/lean,library): rename '[rewrite]' to '[simp]' 2015-07-22 09:01:42 -07:00
Leonardo de Moura
3e3d37905c refactor(library/data): cleanup proofs using new features 2015-07-21 08:26:44 -07:00
Leonardo de Moura
ade60278d0 refactor(library): rename iff.mp' to iff.mpr 2015-07-18 08:52:58 -05:00
Haitao Zhang
9ba350098f feat(library/data): add a few convenience lemmas 2015-07-15 17:44:37 -07:00
Leonardo de Moura
ebe6ec0017 feat(library): add '[rewrite]' annotation some some theorems 2015-07-13 16:39:53 -04:00
Jeremy Avigad
9810105a2a refactor(library/data/finste/basic): rename non_empty_of_card_succ to ne_empty_of_card_eq_succ 2015-07-11 19:01:44 -04:00
Jeremy Avigad
d443b25dee fix(library/data/{finset,set}/basic: change notation from {[a, b, c]} to '{a, b, c} 2015-07-11 19:01:44 -04:00
Leonardo de Moura
9f7c4aac69 feat(library): add helper lemmas for equivalent types 2015-07-06 12:17:57 -07:00
Jeremy Avigad
7d204fdd91 refactor(library/data/finset/card.lean): add useful facts, shorter proof of eq_card_of_eq_subset 2015-06-20 21:13:00 -07:00
Leonardo de Moura
ee0d919c6f feat(library/data/finset/card): add eq_of_card_eq_of_subset theorem 2015-06-19 20:05:32 -07:00
Leonardo de Moura
2910c780d0 feat(library/data/finset/basic): add auxiliary card lemma 2015-06-19 20:05:32 -07:00
Leonardo de Moura
4246a64913 feat(library/data/finset/basic): add more theorems for finset erase 2015-06-19 20:05:32 -07:00
Leonardo de Moura
8fbe22f263 refactor(library/data/finset/basic): cleanup proof 2015-06-10 18:19:16 -07:00
Jeremy Avigad
3c1f5f4e33 feat(library/data/{set,finset}): add more cardinality facts, rename, and add a lemma from Haitao 2015-06-10 16:39:17 -07:00
Jeremy Avigad
370860e1b0 feat(library/data/fintype,finset): add cardinality for finite types from Haitao Zhang 2015-06-05 09:32:00 -07:00
Jeremy Avigad
82142b60f0 refactor(library/data/finset/basic.lean): remove finset / finset.finset duplicate 2015-06-01 12:35:44 +10:00
Jeremy Avigad
7c92161e49 refactor(library/data/finset/basic.lean): change order of arguments to induction tactic 2015-05-25 16:50:42 -07:00
Jeremy Avigad
59c1801921 refactor(library/data/{list,set,finset}/basic.lean): make subset reserved notation 2015-05-23 12:34:07 +10:00
Leonardo de Moura
3e87f09d78 feat(library/tactic/induction_tactic): add support for user-defined recursors that contain parameters that should be synthesized by type class resolution 2015-05-19 15:33:46 -07:00
Leonardo de Moura
e1c2340db2 fix(frontends/lean): consistent behavior for protected declarations
see https://github.com/leanprover/lean/issues/604#issuecomment-103265608

closes #609
2015-05-18 22:35:18 -07:00
Jeremy Avigad
566acf4b31 feat(library/data/finset/card.lean): add card_Union_of_disjoint and other theorems 2015-05-17 19:06:10 +10:00
Jeremy Avigad
783dd61083 feat(library/data/finset/basic.lean): add useful calculation rules for quantifiers 2015-05-17 17:49:02 +10:00
Jeremy Avigad
81d0d4aa53 fix(library/data/{set,finset}/basic.lean: delete \{{ \}}} notation (conflicts with records) 2015-05-16 17:53:35 +10:00
Jeremy Avigad
a009cf24e3 feat(library/data/finset/{basic,card,comb}.lean: add theorems, including card of an injective image 2015-05-11 09:03:57 -07:00
Jeremy Avigad
efbca4c78e feat(library/data/finset/finset.md): add markdown file 2015-05-11 09:03:56 -07:00
Leonardo de Moura
3aac370629 fix(library/data/finset/basic): type error on the finset.induction proof 2015-05-08 11:08:24 -07:00
Jeremy Avigad
4db4c86d37 feat(library/data/finset/basic.lean): add lots of theorems, do minor renaming 2015-05-08 19:51:37 +10:00
Leonardo de Moura
11f74363e2 refactor(library): rename 'intersection' to 'inter' in list and finset, add finset abbreviation at top level 2015-05-05 08:53:31 -07:00
Leonardo de Moura
3edf0dffdf feat(library/data/finset): define subset for finsets 2015-04-11 15:29:12 -07:00
Leonardo de Moura
dfef4c5daf feat(library/data): define fintype type class 2015-04-11 14:55:41 -07:00
Leonardo de Moura
54a2d9750e refactor(library/data): simplify definition of disjoint 2015-04-11 14:04:09 -07:00
Leonardo de Moura
dff05557a3 feat(library/data/finset): add all combinator theorems 2015-04-11 09:28:27 -07:00
Leonardo de Moura
a24c0bf1db feat(library/data/finset): define intersection for finsets 2015-04-10 16:45:25 -07:00