Commit graph

50 commits

Author SHA1 Message Date
Floris van Doorn
e5d5ef9d55 feat(hott/library): various changes and additions.
Most notably:
Give le.refl the attribute [refl]. This simplifies tactic proofs in various places.
Redefine the order of trunc_index, and instantiate it as weak order.
Add more about pointed equivalences.
2016-03-03 10:13:20 -08:00
Jeremy Avigad
ebb3e60096 feat(library/algebra/monotone): add properties of monotone functions 2016-03-02 22:01:35 -05:00
Leonardo de Moura
768ba1c363 refactor(library/hott): remove more unnecessary annotations 2016-02-25 14:30:00 -08:00
Johannes Hölzl
12571c92d8 refactor(library/algebra): explicit parameters also for fun instances 2016-01-06 10:58:14 -08:00
Johannes Hölzl
6d6a00f48b refactor(library/algebra): fix theorem names 2016-01-06 10:57:55 -08:00
Johannes Hölzl
9c28552afb feat(library/algebra): add lattice instances for Prop, fun, and set
Adds weak_order, lattice and complete_lattice instances for Prop, fun, and set. Adds supporting
theorems to various other places.
2016-01-06 10:57:32 -08:00
Floris van Doorn
2325d23f68 feat(hott): port nat and int from the standard library 2015-12-09 12:36:11 -08:00
Leonardo de Moura
b36ce49f2b fix(tests,doc): adjust tests to changes in the standard library 2015-12-05 23:52:16 -08:00
Leonardo de Moura
b94e31a72c refactor(library): remove algebra namespace 2015-12-05 23:50:01 -08:00
Leonardo de Moura
9bedbbb739 refactor(library,hott): remove coercions between algebraic structures
They are classes, and mixing coercion with type class resolution is a
recipe for disaster (aka counterintuitive behavior).
2015-11-11 11:57:44 -08:00
Jeremy Avigad
dc8858d764 refactor(library/init/nat,library/): protect more nat theorems 2015-11-08 14:04:59 -08:00
Jeremy Avigad
7bb2ffb79a refactor(library/data/nat/*): protect some theorems in nat 2015-11-08 14:04:59 -08:00
Leonardo de Moura
744d1cba3d feat(library,hott,frontends/lean): avoid keywords with hyphen 2015-11-08 14:04:54 -08:00
Leonardo de Moura
a618bd7d6c refactor(library): use type classes for encoding all arithmetic operations
Before this commit we were using overloading for concrete structures and
type classes for abstract ones.

This is the first of series of commits that implement this modification
2015-11-08 14:04:54 -08:00
Sebastian Ullrich
d1b5031dbd feat(library): add some spacing hints 2015-09-30 17:36:32 -07:00
Rob Lewis
f5dcb1e0a9 feat(library/algebra): add missing theorems to algebra library 2015-09-16 08:28:11 -07:00
Jeremy Avigad
9ff0097223 refactor(library/algebra/{lattice,order},library/data/nat): split lattice from order, make nat an instance of discrete linear order 2015-08-03 22:41:56 -04:00
Jeremy Avigad
0def951efa refactor(library/data/nat/sub,*): get rid of diff, tidy some max and min theorems 2015-08-03 22:41:56 -04:00
Leonardo de Moura
ade60278d0 refactor(library): rename iff.mp' to iff.mpr 2015-07-18 08:52:58 -05:00
Leonardo de Moura
cf574d0127 feat(library): assign priorities to notation declarations in the standard library
Now, even if the user opens the namespaces in the "wrong" order, the
notation + coercions will behave as expected.
2015-06-30 17:38:13 -07:00
Jeremy Avigad
70e551c6d6 feat(library/algebra/order,library/data/nat/order,library/*): instantiate nat to lattice, add theorems 2015-06-29 15:23:11 +10:00
Jeremy Avigad
93e5124d71 feat(library/algebra/order): add lattices, min, max 2015-06-29 15:23:11 +10:00
Jeremy Avigad
0d25831111 refactor(library/algebra/order): cleanup, and remove unused class 2015-06-29 15:23:11 +10:00
Leonardo de Moura
3215af3926 feat(frontends/lean): add '[trans-instance]' attribute
see issue #666
2015-06-27 14:07:29 -07: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
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
8bebd104ff refactor(library/*): remove 'Module:' lines 2015-05-23 20:52:23 +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
daf53e4de2 fix(library/algebra/order.lean): rename decidable_eq to had_decidable_eq to avoid conflict 2015-05-16 17:53:35 +10: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
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
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
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
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
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
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
Jeremy Avigad
58057c5d99 feat(library/algebra/ordered_group): add abs 2015-01-21 15:46:17 -08:00
Leonardo de Moura
8323d580b1 refactor(library/algebra/order): factor out proofs 2015-01-20 15:28:46 -08:00
Jeremy Avigad
50f03c5a09 refactor(library/data/nat/order): make nat order an instance of linear_ordered_semigroup, rename various theorems 2015-01-07 18:18:28 -08:00
Jeremy Avigad
cecabbb401 refactor(library/data/int,library/algebra): make int an instnance of ordered ring, rename theorems 2014-12-26 16:25:05 -05:00
Jeremy Avigad
3e9a484851 refactor(library/logic/connectives): rename theorems 2014-12-15 15:05:44 -05:00
Jeremy Avigad
6f775be1b6 feat(library/algebra/ordered_ring): start on ordered_ring, and minor changes elsewhere 2014-12-13 11:35:35 -08:00
Leonardo de Moura
d6c8e23b03 refactor(library/init/logic): move theorems to library/logic 2014-12-12 13:24:17 -08:00
Jeremy Avigad
1bffd8dd21 refactor(library/algebra/order): change strong order pair, adopt new naming conventions 2014-12-02 12:14:14 -08:00
Leonardo de Moura
697d4359e3 refactor(library): add 'init' folder 2014-11-30 20:34:12 -08:00
Jeremy Avigad
4420f0dc0c feat(library/algebra/group): add ordered semigroups 2014-11-17 18:32:14 -08:00
Jeremy Avigad
4a955c0f92 feat(library/algebra/order): begin theory of orders
feat(library/algebra/order): begin theory of orders
2014-11-08 19:07:59 -08:00