Commit graph

137 commits

Author SHA1 Message Date
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
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
Jeremy Avigad
05e28aaf19 feat(library/data/nat/{basic.lean,order.lean}): use migrate 2015-05-12 06:20:51 -07:00
Jeremy Avigad
42616f766f refactor(library/data/{nat,int,rat}/{basic.lean,order.lean}: make algebra instance declarations local 2015-05-12 06:20:47 -07:00
Leonardo de Moura
379af8a04e feat(library): avoid 'definition' hack for theorems 2015-05-09 12:15:30 -07:00
Leonardo de Moura
9760968b45 refactor(library,hott): use/test new 'contradiction' tactic in the standard and hott libraries 2015-04-30 13:56:12 -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
072bf0b3b4 refactor(library): make sure "choose" compute inside the kernel 2015-04-25 23:10:48 -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
cc63a40a01 feat(library): enforce name conventions on old nat declarations 2015-04-18 10:50:30 -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
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
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
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
Jeremy Avigad
ec05e83a2a feat(library/data/int/div.lean): add theorems about div 2015-03-12 20:54:49 -07:00
Leonardo de Moura
df13588b93 chore(library/data): remove unnecessary parentheses 2015-03-01 14:18:36 -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
cfdaffb6f5 feat/refactor(library/data/nat): do some housecleaning, add facts to div 2015-02-25 14:05:07 -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
1cd44e894b feat(library/tactic/class_instance_synth): conservative class-instance resolution: expand only definitions marked as reducible
closes #442
2015-02-24 16:12:35 -08:00
Leonardo de Moura
74b8499fa9 refactor(library/data/nat/div): simplify proof of dvd_of_dvd_add_left 2015-02-17 18:55:44 -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
2ffdbba8b0 feat(library): replace same 'calc' proofs with 'rewrite' 2015-02-05 10:39:25 -08:00
Jeremy Avigad
77e8439012 feat(library/data/nat/div): add theorems for coprime, etc. 2015-02-03 13:50:59 -08:00
Jeremy Avigad
e5c25ff7a3 refactor(library/data/nat,int): use nicer definitions of structure instances 2015-02-01 11:17:45 -08:00
Jeremy Avigad
95d79e7bda refactor(library/data/nat): merge comm_semiring, make minor fixes 2015-02-01 11:17:44 -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
0c04c7b0d2 fix(library/data/nat,int): make structure instances reducible 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
Jeremy Avigad
58057c5d99 feat(library/algebra/ordered_group): add abs 2015-01-21 15:46:17 -08:00
Leonardo de Moura
2e13e81fe0 refactor(library/data/nat/order): use record/structure instance expression
Motivation: do not rely on a specific argument ordering
2015-01-19 17:39:59 -08:00