Leonardo de Moura
|
2453a6ab45
|
feat(library/data/countable): define countable type class
|
2015-04-14 09:01:15 -07:00 |
|
Leonardo de Moura
|
82eada7d56
|
feat(library/data/list/basic): add find nth theorem
|
2015-04-14 09:01:15 -07:00 |
|
Leonardo de Moura
|
07e195e9f1
|
feat(library/data/fintype): add decidable_finite_pred instance
|
2015-04-12 20:07:04 -07:00 |
|
Leonardo de Moura
|
00d68cadc8
|
refactor(library/data/fintype): cleanup and mark location that exposes bug in the 'cases' tactic
|
2015-04-12 17:52:41 -07:00 |
|
Leonardo de Moura
|
f523d3a995
|
feat(library/data): add structure for converting a list of elements into a type, and then show the resultant type is a finite type
|
2015-04-12 17:33:58 -07:00 |
|
Leonardo de Moura
|
d9f8b0f3d7
|
feat(library/data/finset/comb): add cross_product to finset
|
2015-04-11 19:46:04 -07:00 |
|
Leonardo de Moura
|
4c827293a8
|
feat(library/data/list/perm): add perm_cross_product theorem
|
2015-04-11 19:13:34 -07:00 |
|
Leonardo de Moura
|
41ddc97e0d
|
feat(library/data/list): define filter function for lists
|
2015-04-11 18:22:22 -07:00 |
|
Leonardo de Moura
|
c437fbe0bc
|
feat(library/data/fintype): prove that A->B has decidable equality when A is a finite type and B has decidable equality
|
2015-04-11 16:45:27 -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
|
06d4ae971d
|
feat(library/data/list): add nodup_cross_product theorem
|
2015-04-11 14:31:01 -07:00 |
|
Leonardo de Moura
|
54a2d9750e
|
refactor(library/data): simplify definition of disjoint
|
2015-04-11 14:04:09 -07:00 |
|
Leonardo de Moura
|
ee895e00dd
|
feat(library/data/list): define cross_product for lists
|
2015-04-11 13:52:50 -07:00 |
|
Leonardo de Moura
|
fefddcd0f9
|
fix(library/data/list/perm): broken theorem
|
2015-04-11 09:42:24 -07:00 |
|
Leonardo de Moura
|
1b34f40f36
|
feat(library/data/list/set): add decidable_nodup
|
2015-04-11 09:39:26 -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
|
5304c5afb8
|
feat(library/data/list/set): add 'all' theorems
|
2015-04-11 09:28:05 -07:00 |
|
Leonardo de Moura
|
32b07c4561
|
feat(library/data/finset): define map for finset
|
2015-04-10 17:14:10 -07:00 |
|
Leonardo de Moura
|
a24c0bf1db
|
feat(library/data/finset): define intersection for finsets
|
2015-04-10 16:45:25 -07:00 |
|
Leonardo de Moura
|
49d6d43926
|
feat(library/data/list): define intersection for lists
|
2015-04-10 16:31:44 -07:00 |
|
Leonardo de Moura
|
d59c671054
|
feat(library/data/list/comb): define upto list generator
|
2015-04-10 15:32:44 -07:00 |
|
Leonardo de Moura
|
9d8b5aa347
|
feat(library/data/list/comb): add any/all theorems
|
2015-04-10 07:01:14 -07:00 |
|
Leonardo de Moura
|
5caa983919
|
feat(library/data/finset): redefine bigop for finset
|
2015-04-10 06:13:32 -07:00 |
|
Leonardo de Moura
|
53f730ec82
|
feat(library/data/list/bigop): add bigop perm theorem
|
2015-04-10 06:01:23 -07:00 |
|
Leonardo de Moura
|
608e2838bf
|
feat(library/data/list): define bigop for lists
|
2015-04-10 05:52:19 -07:00 |
|
Leonardo de Moura
|
4be8741a39
|
feat(library/data/list): break list/basic.lean into smaller files
|
2015-04-10 05:19:52 -07:00 |
|
Leonardo de Moura
|
a223b9b1f7
|
feat(library/data/finset): add bigop for finset + commutative groups
|
2015-04-09 20:00:00 -07:00 |
|
Leonardo de Moura
|
795acc70a6
|
refactor(library/data/finset): move finset to its own directory
|
2015-04-09 19:30:09 -07:00 |
|
Leonardo de Moura
|
ca377e5f8b
|
feat(library/data/list/basic): add foldr/foldl theorems
|
2015-04-09 18:48:04 -07:00 |
|
Leonardo de Moura
|
b209f442f7
|
refactor(library/data/list) fix theorem name, and do not rely on implementation of mem
|
2015-04-09 16:27:48 -07:00 |
|
Leonardo de Moura
|
2ab2f7dc9d
|
feat(library/data/finset): add basic support for finite sets
|
2015-04-09 15:51:23 -07:00 |
|
Leonardo de Moura
|
571ff76080
|
feat(library/data/list/perm): add perm_ext theorem
|
2015-04-09 15:27:32 -07:00 |
|
Leonardo de Moura
|
64173ddf93
|
feat(library/data/list/basic): more nodup theorems
|
2015-04-09 14:50:00 -07:00 |
|
Leonardo de Moura
|
b4611ba33d
|
feat(library/data/list/basic): add mem erase theorems
|
2015-04-09 13:19:51 -07:00 |
|
Leonardo de Moura
|
d5176ebae5
|
refactor(library/algebra/binary): define right_commutative and left_commutative
|
2015-04-09 10:54:28 -07:00 |
|
Leonardo de Moura
|
8522fbec4b
|
feat(library/data/list): more general theorems for perm foldl and foldr, and other minor improvements
|
2015-04-09 09:29:58 -07:00 |
|
Leonardo de Moura
|
07ff0900aa
|
feat(library/data/list): add permutation theorems for union and insert
|
2015-04-08 19:02:35 -07:00 |
|
Leonardo de Moura
|
33422a387a
|
feat(library/data/list/basic): define 'union' and 'insert' for lists
|
2015-04-08 18:12:51 -07:00 |
|
Leonardo de Moura
|
c95bd8ba61
|
feat(library/data/list): add erase_dup and theorems
|
2015-04-08 12:28:48 -07:00 |
|
Leonardo de Moura
|
05bd6b5fe7
|
feat(library/data/list): add foldr/foldl equality theorems for permutations
|
2015-04-08 10:36:05 -07:00 |
|
Jeremy Avigad
|
eb5089bf27
|
feat(library/data/set): add theory of functions and maps between sets
|
2015-04-08 09:46:34 -07:00 |
|
Jeremy Avigad
|
5812b35d93
|
feat(library/data/set/function.lean): begin theory of functions on sets
|
2015-04-08 09:46:34 -07:00 |
|
Leonardo de Moura
|
afc75f141c
|
refactor(library/data/list/perm): prove auxiliary theorems using 'match-with'
|
2015-04-08 09:43:17 -07:00 |
|
Leonardo de Moura
|
56d20852aa
|
refactor(library/data/list/perm): remove dead code
|
2015-04-08 09:32:28 -07:00 |
|
Leonardo de Moura
|
ef1b057b63
|
refactor(library/data/list/perm): cleanup theorem
|
2015-04-08 09:29:40 -07:00 |
|
Leonardo de Moura
|
e0e65705db
|
feat(library/data/list/perm): add perm inversion theorems
|
2015-04-07 18:54:02 -07:00 |
|
Leonardo de Moura
|
c6a35e718d
|
refactor(library/data/list/perm): use by_cases instead of dependent-if
|
2015-04-07 09:26:24 -07:00 |
|
Leonardo de Moura
|
9306830d8c
|
feat(library/data/list): perm is decidable
|
2015-04-07 09:12:10 -07:00 |
|
Leonardo de Moura
|
754276a660
|
feat(frontends/lean): round parenthesis for [tactic1 | tactic2]
This commit also replaces the notation for divides
`(` a `|` b `)`
with
a `∣` b
The character `∣` is entered by typing \|
closes #516
|
2015-04-06 09:24:09 -07:00 |
|
Leonardo de Moura
|
3b959c9e6c
|
refactor(library/data): move perm to list folder
|
2015-04-05 12:01:32 -07:00 |
|
Jeremy Avigad
|
c563548980
|
feat(library/data/set/basic.lean): add definitions and simplify proofs
|
2015-04-05 12:36:54 -04:00 |
|
Jeremy Avigad
|
c6c50a61b3
|
refactor(library/data/set/basic.lean): take advantage of extensionality in sets
|
2015-04-05 10:12:27 -04:00 |
|
Jeremy Avigad
|
6596217a84
|
refactor(library/data/set): expand set.lean to set directory
|
2015-04-05 09:27:15 -04:00 |
|
Leonardo de Moura
|
4ec0e1b07c
|
feat(frontends/lean): improve calc mode
Now, it automatically supports transitivity of the form
(R a b) -> (b = c) -> R a c
(a = b) -> (R b c) -> R a c
closes #507
|
2015-04-04 08:58:35 -07:00 |
|
Leonardo de Moura
|
f1b7021ed0
|
feat(library/data/list/basic): add more theorems for disjoint predicate
|
2015-04-03 22:55:16 -07:00 |
|
Leonardo de Moura
|
23a1f5fa4b
|
feat(library/data/list/basic): define nodup and disjoint
|
2015-04-03 15:44:07 -07:00 |
|
Leonardo de Moura
|
01f5dd9fa8
|
feat(library/data/list): add "erase" function lemmas
|
2015-04-03 13:18:48 -07:00 |
|
Leonardo de Moura
|
fc0ed5e46c
|
feat(library/data/list/basic): define erase and prove basic theorems
|
2015-04-02 23:58:47 -07:00 |
|
Leonardo de Moura
|
9f3ba66295
|
feat(library/data/perm): add more theorems
|
2015-04-02 20:00:46 -07:00 |
|
Leonardo de Moura
|
e47c8c2d9e
|
feat(library/data/list/basic): add quasiequality predicate l₁≈a|l₂, l₁ is equal to l₂ with 'a' inserted somewhere
|
2015-04-02 20:00:46 -07:00 |
|
Leonardo de Moura
|
5a394ac7ea
|
feat(library/data/perm): add more theorems
|
2015-04-02 09:21:20 -07:00 |
|
Leonardo de Moura
|
92d6e93971
|
feat(library/data/perm): cleanup and add calculational proof support to perm
|
2015-04-02 08:50:05 -07:00 |
|
Leonardo de Moura
|
54136c1ec0
|
feat(library/data/perm): add list permutation module
|
2015-04-01 23:00:02 -07:00 |
|
Leonardo de Moura
|
dbe54c4fb5
|
feat(library/data): define unordered pairs using quotients
|
2015-04-01 17:30:49 -07:00 |
|
Leonardo de Moura
|
3951b50282
|
feat(library/data/prod): define swap
|
2015-04-01 17:30:37 -07:00 |
|
Leonardo de Moura
|
ed1acd9fb0
|
feat(library/init): move propext to init/quot, add Jeremy's funext theorem
|
2015-04-01 12:36:33 -07:00 |
|
Leonardo de Moura
|
ce5e83eb3e
|
refactor(library/init): move subsingleton to init folder
|
2015-04-01 11:57:29 -07:00 |
|
Leonardo de Moura
|
a52cb009dc
|
refactor(library): reorganize init folder and add setoid
|
2015-03-31 19:56:05 -07:00 |
|
Leonardo de Moura
|
e35de54cee
|
feat(library/data/list/basic): add aux theorems
|
2015-03-31 18:38:05 -07:00 |
|
Leonardo de Moura
|
4c0ce9a619
|
feat(library/data/list/basic): missing theorems
|
2015-03-30 19:11:45 -07:00 |
|
Leonardo de Moura
|
299cbe4b25
|
feat(library/data/bool): add auxiliary theorems for bool
|
2015-03-30 04:55:28 -07:00 |
|
Leonardo de Moura
|
42fe87d7cc
|
feat(library/data/list/basic): add sublist predicate
|
2015-03-30 03:20:42 -07:00 |
|
Leonardo de Moura
|
66bb22f268
|
feat(library/data/list/basic): cleanup
|
2015-03-30 02:14:33 -07:00 |
|
Leonardo de Moura
|
ec1a60b02c
|
feat(library/init/logic): add helper function for proving decidable equality
|
2015-03-30 02:14:26 -07:00 |
|
Leonardo de Moura
|
5b9d52c0dd
|
refactor(library/data/int/order): cleanup
|
2015-03-28 12:58:40 -07:00 |
|
Leonardo de Moura
|
75621df52b
|
feat(frontends/lean): uniform notation for lists in tactics
closes #504
|
2015-03-27 17:54:48 -07:00 |
|
Jeremy Avigad
|
765f6f21f8
|
fix(library/algebra/ring.lean): allow degenerate semirings and rings, but not degenerate ordered_semirings and ordered_rings. Closes #478.
|
2015-03-25 18:29:06 -07:00 |
|
Leonardo de Moura
|
9b577a7b3e
|
feat(frontends/lean): add 'migrate' command
|
2015-03-14 21:48:00 -07:00 |
|
Leonardo de Moura
|
ba913876e0
|
feat(library/data/list/basic): enforce name conventions, add foldl_eq_foldr theorem
|
2015-03-14 13:06:09 -07:00 |
|
Leonardo de Moura
|
bed0d6df6b
|
fix(frontends/lean/elaborator): inaccessible over coercion
|
2015-03-13 23:04:45 -07:00 |
|
Leonardo de Moura
|
27e58dc534
|
refactor(library/data): cleanup vector and list modules
|
2015-03-13 22:25:21 -07:00 |
|
Jeremy Avigad
|
ec05e83a2a
|
feat(library/data/int/div.lean): add theorems about div
|
2015-03-12 20:54:49 -07:00 |
|
Leonardo de Moura
|
167675a397
|
feat(library/data/vector): add nth and decidable_eq
|
2015-03-09 08:41:36 -07:00 |
|
Leonardo de Moura
|
a628836f28
|
feat(library/data/vector): add theorems
|
2015-03-08 22:51:11 -07:00 |
|
Leonardo de Moura
|
f6cd604a44
|
chore(library/data/bool): enforce naming conventions
|
2015-03-06 19:20:48 -08:00 |
|
Leonardo de Moura
|
4fdac068b0
|
chore(library/data/vector): cleanup vector proofs
|
2015-03-06 17:37:03 -08:00 |
|
Leonardo de Moura
|
78d8e79000
|
fix(library/data/num): naming convention
|
2015-03-05 23:48:08 -08:00 |
|
Leonardo de Moura
|
57ec52b6f1
|
refactor(library/data/fin): cleanup pattern matching equations
|
2015-03-05 14:42:42 -08:00 |
|
Leonardo de Moura
|
e4060a5614
|
feat(frontends/lean): do not force user to type the function name in the left-hand-side of recursive equations
|
2015-03-05 12:08:36 -08:00 |
|
Leonardo de Moura
|
53df3d86ee
|
feat(library/data/list/basic): use 'show' instead of 'change' tactic
|
2015-03-04 20:40:06 -08:00 |
|
Leonardo de Moura
|
b8afba47ad
|
feat(library/data/list/basic): add some map, foldl, foldl, zip and unzip
|
2015-03-04 20:30:19 -08:00 |
|
Leonardo de Moura
|
c78734874d
|
feat(library/data/list/basic): list A has decidable equality if A has
|
2015-03-04 18:48:13 -08:00 |
|
Leonardo de Moura
|
cc2d988aea
|
feat(library/data/num): prove many theorems for pos_num.lt and pos_num.le
|
2015-03-04 18:30:31 -08:00 |
|
Leonardo de Moura
|
f60fc5183a
|
feat(library/data/bool): add auxiliary theorems
|
2015-03-04 18:30:31 -08:00 |
|
Leonardo de Moura
|
02d3f7c37c
|
refactor(library/data/list): use 'change' tactic
|
2015-03-01 14:27:22 -08:00 |
|
Leonardo de Moura
|
df13588b93
|
chore(library/data): remove unnecessary parentheses
|
2015-03-01 14:18:36 -08:00 |
|
Leonardo de Moura
|
e8ef1f97b6
|
feat(library/data/set): use Prop instead of bool when defining set
|
2015-03-01 08:23:39 -08:00 |
|
Leonardo de Moura
|
68110faa4d
|
feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations
|
2015-02-25 17:00:10 -08:00 |
|
Leonardo de Moura
|
5ca52d81ec
|
feat(frontends/lean): ML-like notation for match and recursive equations
|
2015-02-25 16:20:44 -08:00 |
|