Leonardo de Moura
1bffb89126
fix(library/algebra/function): lean was failing to infer that injective is a decidable predicate for finite types with decidable equality
...
This is an issue reported by Haitao.
2015-06-09 15:30:58 -07:00
Rob Lewis
d287b20018
chore(library/data/real): move more lemmas to algebra
2015-06-09 16:27:55 +10:00
Rob Lewis
7822ba9dee
feat(library/algebra): add lemmas to group and ordered group
2015-06-09 16:14:21 +10:00
Jeremy Avigad
e59400b58c
feat(library/data/int/{div,gcd}): add some theorems, to reduce rationals
2015-06-08 22:43:51 +10:00
Jeremy Avigad
df69bb4cfc
feat(library/*): add theorems from Haitao on sets and functions, clean up
2015-06-04 11:55:25 -07:00
Jeremy Avigad
03952ae12c
feat(library/logic/{connectives,identities},library/algebra/function): cleanup and some additions from Haitao Zhang
2015-06-04 11:55:25 -07:00
Jeremy Avigad
ffa648a090
feat/refactor(library/*): various additions and improvements
2015-06-01 12:35:44 +10:00
Jeremy Avigad
b76445df39
feat(library/data/{nat,int}/div.lean,*): improve and extend div in nat and int
2015-05-30 22:10:21 +10:00
Jeremy Avigad
cc0a620db1
feat(library/data/{nat,int}/div.lean): add to and improve div library
2015-05-30 22:10:21 +10:00
Rob Lewis
4b67cd1f97
feat(library/algebra): update algebraic hierarchy to be more constructive
2015-05-29 14:11:50 +10:00
Rob Lewis
eb537daa1c
feat(library/algebra): add min/max to ordered algebraic structures
2015-05-26 11:45:09 +10:00
Jeremy Avigad
39129f112b
refactor(library/*): do various renamings
2015-05-25 16:50:42 -07:00
Jeremy Avigad
fdc89cd285
refactor(library/algebra/order.lean,library/{data,algebra}/*): use better names for order theorems
2015-05-25 16:50:42 -07: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
8bebd104ff
refactor(library/*): remove 'Module:' lines
2015-05-23 20:52:23 +10:00
Jeremy Avigad
db7bdce451
refactor(logic/funext.lean, algebra/function.lean): delete logic/funext, merge into algebra/function
2015-05-23 16:16:36 +10:00
Jeremy Avigad
d33c91d7b9
fix({hott,library}/algebra/*): fix names
2015-05-23 14:05:06 +10: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
Floris van Doorn
2144036cdb
feat(hott.circle): prove that the fundamental group of the circle is equal to the integers, as groups
...
Also many minor fixes at various places
2015-05-18 15:59:55 -07:00
Leonardo de Moura
19361f0196
feat(library/unifier): do not fire type class resolution as last resort when type contains metavariables
...
see discussion at #604
2015-05-18 15:45:23 -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
6549940c63
feat(library/data/finset/bigops.lean): add Union for finsets
2015-05-17 17:50:32 +10:00
Jeremy Avigad
9720d84095
refactor(library/algebra/group_bigops.lean,library/data/nat/bigops.lean): add ext principle, clean up file
2015-05-17 16:00:38 +10:00
Jeremy Avigad
4764f6e8ec
refactor(library/algebra/group_bigops.lean,library/data/nat/bigops.lean): simplify naming scheme for bigops
2015-05-17 15:24:37 +10:00
Jeremy Avigad
7bde8193fe
feat(library/algebra/order): add alternate names for le.antisymm etc.
2015-05-17 12:54:36 +10:00
Jeremy Avigad
ff701a9812
feat(library/data/nat/bigops.lean): add finite products and sums for nat
2015-05-16 22:26:59 +10:00
Jeremy Avigad
eae047bd31
refactor,feat(library/{data,algebra}): move bigops to algebra, define sums
2015-05-16 18:42:13 +10:00
Jeremy Avigad
87e4f7a951
feat(library/algebra/group.lean): add coercions from additive (comm) monoid to (comm) monoid
2015-05-16 18:27:49 +10:00
Jeremy Avigad
daf53e4de2
fix(library/algebra/order.lean): rename decidable_eq to had_decidable_eq to avoid conflict
2015-05-16 17:53:35 +10:00
Jeremy Avigad
8de6a4bb4c
feat(library/algebra/group_pow.lean,library/data/nat/power.lean): add generic power operation on monoids and groups
2015-05-13 22:19:02 -07:00
Floris van Doorn
0a8f4f6dab
feat(function): add unfold hints to function.[h]lean
2015-05-07 16:39:03 -07:00
Leonardo de Moura
64cc710ff7
refactor(ordered_group): replace 'match' with 'obtain'
2015-05-06 10:34:43 -07:00
Leonardo de Moura
cd17618f4a
refactor(library): replace 'calc_trans', 'calc_symm', 'calc_refl' and 'calc_subst' commands with attributes '[symm]', '[refl]', '[trans]' and '[subst]'
...
These attributes are used by the calc command.
They will also be used by tactics such as 'reflexivity', 'symmetry' and
'transitivity'.
See issue #500
2015-05-02 15:15:35 -07:00
Leonardo de Moura
3912bc24c8
feat(frontends/lean): nicer syntax for 'intros' 'reverts' and 'clears'
2015-04-30 11:00:39 -07:00
Leonardo de Moura
018f768555
chore(library): remove some unnecessary parentheses
2015-04-29 14:39:59 -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
Leonardo de Moura
670eac9d50
refactor(library): avoid 'context' command in the standard library
2015-04-21 19:13:19 -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
5eb7fef564
feat(library/algebra/order.lean, data/int/{basic,order}.lean): add theorem, correct gt_trans
2015-04-18 11:39:52 -07:00
Leonardo de Moura
3b84a63874
fix(library/algebra/function): terminology
2015-04-16 20:52:18 -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
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
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
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
3b0f666646
feat(library/algebra/function): define injective
2015-04-03 15:43:44 -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
87f6fc6b6a
feat(library/algebra/ring): remove sorrys
2015-03-30 11:55:48 -07:00
Leonardo de Moura
56af7ba535
feat(library/algebra/ordered_ring): remove sorry
2015-03-30 11:01:26 -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
Rob Lewis
abcc56a2a7
feat(library/algebra):refactor field and ordered_field more appropriately
2015-03-27 11:54:11 -07:00
Rob Lewis
b79f600fbc
style(library/algebra/ordered_field):fix indentation, shorten calc statements
2015-03-27 11:52:30 -07:00
Rob Lewis
94b9aaea45
feat(library/algebra/ordered_field): prove more theorems
2015-03-27 11:52:30 -07:00
Rob Lewis
a1028922bd
feat(library/algebra/ordered_field): complete proofs of many theorems. Define discrete linear ordered field
2015-03-27 11:52:30 -07:00
Rob Lewis
4099de7754
feat(library/algebra/field): redefine field so that 1/0=0. Many theorems lose hypotheses in discrete setting.
2015-03-27 11:52:29 -07:00
Rob Lewis
365f1ebcb6
feat(library/algebra/ordered_field): prove more theorems for ordered field
2015-03-27 11:45:57 -07:00
Rob Lewis
11f82eacfb
feat(library/algebra/ordered_field.lean): add ordered fields
2015-03-27 11:45:57 -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
14aeac180a
refactor(library/algebra/category/constructions): more rewrite tactic tests
2015-03-12 20:27:11 -07:00
Leonardo de Moura
d7c6028a3e
refactor(hott,library): use/test the rewrite tactic in more places
...
The performance also improved.
2015-03-12 17:25:31 -07:00
Leonardo de Moura
fa201bce9b
feat(library/algebra/group): cleanup some proofs
2015-03-05 18:46:07 -08:00
Jeremy Avigad
c09f1c4eaf
feat(*.md): create markdown files for HoTT library, update ones in standard library
2015-03-04 18:33:18 -08:00
Leonardo de Moura
6ad469e717
fix(library/algebra/order): duplicate argument
2015-03-03 17:04:26 -08:00
Leonardo de Moura
e2bef88a33
fix(library/algebra/order): duplicate arguments
...
There is a 'include s' in the section
2015-03-03 16:52:12 -08:00
Leonardo de Moura
b254c78c44
refactor(library/algebra): move bundled structures to separate module
...
Motivation: performance.
After this commit, the bundled instances do not participate in the
class/instance resolution if we do not import algebra.bundled.
2015-03-02 18:45:08 -08:00
Leonardo de Moura
a1066ebdf4
feat(library/algebra/ordered_group): improve performance using rewrite tactic
2015-03-01 11:38:27 -08:00
Leonardo de Moura
18ab9ce4e1
feat(library/algebra/ordered_ring): improve performance using rewrite tactic
2015-03-01 10:10:44 -08:00
Leonardo de Moura
9c0375b6e2
feat(library/init/logic): add transitivity theorems for = + <->
2015-03-01 10:09:46 -08:00
Leonardo de Moura
25df44ea43
refactor(library/algebra/category/morphism): restore previous (and more readable) proofs
2015-03-01 06:54:52 -08:00
Rob Lewis
10f1232296
feat(library/algebra/field): fix broken theorems
2015-02-28 08:49:28 -08:00
Rob Lewis
8ef2849b67
feat(library/algebra/fields): prove more theorems about division rings
2015-02-28 08:49:28 -08:00
Jeremy Avigad
a8cf58d97c
feat(library/algebra/field): define discrete field
2015-02-28 08:49:28 -08:00
Rob Lewis
eef2e99a1c
feat(library/algebra/field): add theorems about division rings
2015-02-28 08:49:05 -08:00
Rob Lewis
b8f0341119
feat(library/algebra): add field.lean
2015-02-28 08:48:48 -08:00
Leonardo de Moura
3c24461e51
refactor(*): modify '|' binding power, use 'abs a' instead of '|a|', and '(a | b)' instead of 'a | b'
2015-02-25 15:18:21 -08:00
Leonardo de Moura
c04c610b7b
feat(frontends/lean): add 'assert H : A, ...' as notation for 'have H [visible] : A, ...'
2015-02-25 14:30:42 -08:00
Jeremy Avigad
7a57908d62
feat/refactor(library/data/int): revise and add theorems
2015-02-25 14:05:07 -08:00
Jeremy Avigad
a607e7dd57
feat(library/algebra/group): add rules for sub equalities
2015-02-25 14:05:06 -08:00
Leonardo de Moura
577a6da119
refactor(library/algebra/category/morphism): reduce compilation time using rewrite tactic
2015-02-25 14:04:17 -08:00
Leonardo de Moura
4f79d12da7
refactor(library/algebra/category/morphism): improve performance using rewrite tactic
2015-02-24 18:28:49 -08:00
Leonardo de Moura
3ede8e9150
refactor(library): use []
binder annotation when declaring instances
2015-02-24 16:12:39 -08:00
Leonardo de Moura
3197e6d403
feat(frontends/lean/parse_rewrite_tactic): improve rewrite tactic parser
2015-02-23 19:40:03 -08:00
Leonardo de Moura
421a30d75c
feat(library): export [reducible] annotations from function namespace to top-level
...
see issue #433
2015-02-16 18:52:41 -08:00
Leonardo de Moura
a35cce38b3
feat(frontends/lean): new semantics for "protected" declarations
...
closes #426
2015-02-11 14:09:25 -08:00
Leonardo de Moura
c7ee831c69
refactor(library/algebra/ordered_group): use rewrite tactic at ordered_group
2015-02-08 17:35:28 -08:00
Leonardo de Moura
f9ff4ee6bd
refactor(library/algebra/ring): use rewrite tactic at ring module
2015-02-08 17:35:01 -08:00
Leonardo de Moura
d143b525f7
feat(library/algebra/ordered_group): reduce compilation time
2015-02-06 18:34:41 -08:00
Leonardo de Moura
96c161a659
feat(library/algebra/ring): simplify ring theorems using rewrite tactic
2015-02-05 18:48:02 -08:00
Leonardo de Moura
0ae6e2b3e4
feat(library/algebra/group): use rewrite tactic in the algebraic hierarchy
2015-02-05 18:03:02 -08:00
Leonardo de Moura
2ffdbba8b0
feat(library): replace same 'calc' proofs with 'rewrite'
2015-02-05 10:39:25 -08:00
Leonardo de Moura
7e5fb3e493
fix(library/algebra/function): remove notation that conflicts with top-level notation for dependent pairs
2015-02-01 11:35:01 -08:00
Jeremy Avigad
8d5a7a96b6
feat(library/data/nat/div): revise theorems, add lcm
2015-01-31 21:52:35 -08:00
Jeremy Avigad
928fc3ab81
feat(library/algebra/order,library/data/{nat,int}/order): make gt, ge reducible, add transitivity rules
2015-01-26 20:38:21 -05:00
Jeremy Avigad
85ef7c5151
refactor(library/algebra/group): rename neg_add_distrib to neg_add, etc.
2015-01-26 20:38:21 -05:00
Jeremy Avigad
ba15da8d83
refactor(library/init/reserved_notation): increase binding strength of ^-1 to max+10
2015-01-26 20:38:21 -05:00
Leonardo de Moura
e2c41fca75
feat(frontends/lean): modify syntax for local notation
...
The idea is to make it uniform with the syntax for defining local
attributes.
2015-01-26 11:51:17 -08:00
Leonardo de Moura
b4d6f6e3ed
feat(frontends/lean): 'attribute' command is persistent by default
2015-01-26 11:51:17 -08:00
Leonardo de Moura
4f2e0c6d7f
refactor(frontends/lean): add 'attribute' command
...
The new command provides a uniform way to set declaration attributes.
It replaces the commands: class, instance, coercion, multiple_instances,
reducible, irreducible
2015-01-24 20:23:21 -08:00
Leonardo de Moura
ae7b5a9bc9
fix(library/algebra): add missing [reducible]
...
It addresses issues raised at #403
2015-01-21 15:53:56 -08:00
Jeremy Avigad
44642a4285
feat(library/algebra/ordered_ring,library/data/int/): add sign and theorems about abs, make int an instance, port theorems
2015-01-21 15:46:17 -08:00