Leonardo de Moura
|
ca8943f45b
|
feat(library,hott): remove rapply tactic
|
2015-04-27 15:06:16 -07:00 |
|
Leonardo de Moura
|
17c07cdb02
|
feat(library/data/rat/order): define abs and sign for rat before migrate
|
2015-04-27 12:59:02 -07:00 |
|
Jeremy Avigad
|
7a1064b7e8
|
refactor(library/algebra/order.lean): rename a field in an order structure
|
2015-04-27 12:03:41 -07:00 |
|
Jeremy Avigad
|
d8e40d90d6
|
feat(library/data/rat/order.lean): make rat a linear ordered field
|
2015-04-27 12:03:41 -07:00 |
|
Leonardo de Moura
|
76c773ad3d
|
feat(library/data/examples/depchoice): add dependent choice example
|
2015-04-26 12:56:23 -07:00 |
|
Leonardo de Moura
|
072bf0b3b4
|
refactor(library): make sure "choose" compute inside the kernel
|
2015-04-25 23:10:48 -07:00 |
|
Leonardo de Moura
|
d455bb4c5b
|
feat(library/data/fintype): add decidable_exists_finite
|
2015-04-25 21:38:03 -07:00 |
|
Leonardo de Moura
|
6bb6644c25
|
feat(library/data/squash): define squash type using quotients
|
2015-04-24 18:11:25 -07:00 |
|
Leonardo de Moura
|
9d01868361
|
feat(frontends/lean): use rewrite tactic to implement unfold (it has a unfold step)
closes #502
|
2015-04-24 17:23:12 -07:00 |
|
Leonardo de Moura
|
1149ead14c
|
chore(library/logic/examples/colog88): remove unnecessary annotation
|
2015-04-24 12:45:06 -07:00 |
|
Leonardo de Moura
|
a5306e70eb
|
feat(library/logic/examples/negative): add example showing that allowing negative inductive datatypes would lead to inconsistency
|
2015-04-24 09:33:09 -07:00 |
|
Leonardo de Moura
|
15c331591e
|
feat(library/logic/examples/colog88): add example from COLOG-88 paper
|
2015-04-24 09:33:09 -07:00 |
|
Leonardo de Moura
|
2613e7c444
|
fix(frontends/lean): bug when handling identifiers in tactics
This bug was reported by Jeremy in the Lean Google group:
https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/lean-discuss/ZKJ8WPPEVJA/n05x6rPRzvMJ
|
2015-04-22 16:03:22 -07:00 |
|
Floris van Doorn
|
9d805437f0
|
fix(reserved_notation): lower binding power of 'iff'
|
2015-04-22 13:06:11 -07:00 |
|
Leonardo de Moura
|
670eac9d50
|
refactor(library): avoid 'context' command in the standard library
|
2015-04-21 19:13:19 -07:00 |
|
Leonardo de Moura
|
bf8a7eb9b4
|
fix(library/scoped_ext): bug in local metadata in sections
The problem is described in issue #554
|
2015-04-21 18:56:28 -07:00 |
|
Leonardo de Moura
|
6f6d106a10
|
feat(library/tactic): add "check_expr" tactic
closes #486
|
2015-04-19 19:00:05 -07:00 |
|
Leonardo de Moura
|
306087b5d3
|
refactor(library/data): rename 'countable' to 'encodable', define countable in the usual way, and prove all 'encodable' type is 'countable'
|
2015-04-19 14:20:47 -07:00 |
|
Jeremy Avigad
|
f4398115b4
|
feat(library/data/rat/basic.lean): begin theory of rationals, show rat is a field
|
2015-04-18 11:39:52 -07:00 |
|
Jeremy Avigad
|
6359132b67
|
refactor(library/algebra/field.lean): rename has_decidable_eq and declare instance
|
2015-04-18 11:39:52 -07:00 |
|
Jeremy Avigad
|
dfaeb475cc
|
feat(library/init/reserved_notation.lean): add equiv relation symbol
|
2015-04-18 11:39:52 -07:00 |
|
Jeremy Avigad
|
5eb7fef564
|
feat(library/algebra/order.lean, data/int/{basic,order}.lean): add theorem, correct gt_trans
|
2015-04-18 11:39:52 -07:00 |
|
Jeremy Avigad
|
53919699bc
|
refactor(library/logic/axioms/prop_decidable.lean): simplify proof of prop_decidable (using arbitrary instead of epsilon)
|
2015-04-18 11:39:52 -07:00 |
|
Leonardo de Moura
|
cc63a40a01
|
feat(library): enforce name conventions on old nat declarations
|
2015-04-18 10:50:30 -07:00 |
|
Leonardo de Moura
|
10954a073c
|
feat(library/logic/examples): add new example from Martín Escardó paper
|
2015-04-17 15:22:52 -07:00 |
|
Leonardo de Moura
|
9cb759e0a9
|
feat(library/logic/axioms/examples/leftinv_of_inj): add classical example
|
2015-04-16 22:39:51 -07:00 |
|
Leonardo de Moura
|
3b84a63874
|
fix(library/algebra/function): terminology
|
2015-04-16 20:52:18 -07:00 |
|
Leonardo de Moura
|
2e675c1bdd
|
feat(library/data/examples/notcountable): add example showing that nat -> nat is not countable
|
2015-04-16 14:54:34 -07:00 |
|
Leonardo de Moura
|
df8ebeeefc
|
feat(library/logic/axioms/examples/diaconescu): remove redundant hypothesis
|
2015-04-16 14:04:09 -07:00 |
|
Leonardo de Moura
|
7529ee0a5c
|
feat(library/data/countable): prove axiom of choice and skolem theorem for countable types and decidable relations
|
2015-04-16 12:36:27 -07:00 |
|
Leonardo de Moura
|
0dd7667836
|
feat(library/data/countable): choice function for countable types
|
2015-04-16 12:29:06 -07:00 |
|
Leonardo de Moura
|
7a4f43d6ab
|
feat(library/data/nat/choose): choice function for natural numbers
|
2015-04-16 11:33:26 -07:00 |
|
Leonardo de Moura
|
b14d3dbeba
|
chore(library/data/countable): add copyright notice
|
2015-04-16 09:24:53 -07:00 |
|
Leonardo de Moura
|
036900280d
|
feat(library/data/countable): show that a type is countable by providing an injection to a type already known to be countable
|
2015-04-15 10:30:24 -07:00 |
|
Leonardo de Moura
|
039f1de524
|
fix(library/data/countable): typos
|
2015-04-14 21:26:56 -07:00 |
|
Leonardo de Moura
|
9534cfe92f
|
feat(library/data/countable): prove that (list A) is countable if A is countable
|
2015-04-14 21:17:18 -07:00 |
|
Leonardo de Moura
|
a7db8a2bac
|
theorem(library/data/countable): prove that the product of two countable types is countable
|
2015-04-14 20:39:58 -07:00 |
|
Leonardo de Moura
|
38b880b939
|
feat(library/data/nat/pairing): add unpair_mkpair theorem
|
2015-04-14 20:28:20 -07:00 |
|
Leonardo de Moura
|
f7a43c7997
|
feat(library/data/nat/sqrt): generalize sqrt_eq theorem
|
2015-04-14 20:10:18 -07:00 |
|
Leonardo de Moura
|
faca0acd26
|
feat(library/data/nat/sqrt): add sqrt_eq theorem
|
2015-04-14 15:38:54 -07:00 |
|
Leonardo de Moura
|
11dbcda9d2
|
feat(library/data/nat/pairing): add "elegant" pairing/unpairing function
|
2015-04-14 09:01:15 -07:00 |
|
Leonardo de Moura
|
2eb7538c96
|
fix(library/data/nat/sqrt): adjust to reflect recent changes
|
2015-04-14 09:01:15 -07:00 |
|
Leonardo de Moura
|
4180b80df6
|
feat(library/data/nat/power): define power and add basic theorems
|
2015-04-14 09:01:15 -07:00 |
|
Leonardo de Moura
|
ff72a520ff
|
feat(library/data/nat/div): add mul_cancel theorems
|
2015-04-14 09:01:15 -07:00 |
|
Leonardo de Moura
|
c73c1dbb63
|
feat(library/data/nat/sub): add two extra theorems
|
2015-04-14 09:01:15 -07:00 |
|
Leonardo de Moura
|
11c9bb4626
|
feat(library/data/nat): naive square root function
|
2015-04-14 09:01:15 -07:00 |
|
Leonardo de Moura
|
2453a6ab45
|
feat(library/data/countable): define countable type class
|
2015-04-14 09:01:15 -07:00 |
|
Leonardo de Moura
|
a24d4e47cd
|
feat(library/init/nat): add missing decidable_ge and decidable_lt
|
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
|
3df7fe120c
|
feat(library/algebra/function): define curry and uncurry functions
|
2015-04-11 16:45:07 -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 |
|
Floris van Doorn
|
d1b98b6919
|
fix(reserved_notation): make is_typeof an abbreviation
|
2015-04-10 06:35:15 -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
|
5ba5e66665
|
feat(library/algebra/binary): add auxiliary theorems
|
2015-04-09 11:00:59 -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
|
1f4ddd7a0f
|
refactor(library/init/funext.lean): break out definition of equivalence, and hide auxiliary theorems
|
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 |
|