Commit graph

136 commits

Author SHA1 Message Date
Jeremy Avigad
4b39400439 feat(library/data/{int,rat,real}/bigops): add bigops for int, rat, real
Because migrate does not handle parameters, we have to migrate by hand.
2015-08-08 17:20:23 -04:00
Mario Carneiro
066b0fcdf9 feat(library): clean up "sorry"s in library
Breaking changes: pnat was redefined to use subtype instead of a custom inductive type, which affects the notation for pnat 2 and 3
2015-07-24 12:21:33 -04:00
Leonardo de Moura
e969c7a8d6 refactor(library): remove 'simp' hack 2015-07-22 10:13:19 -07:00
Leonardo de Moura
0de715ae54 refactor(library/data): cleanup proofs using new features 2015-07-21 09:57:10 -07:00
Leonardo de Moura
ade60278d0 refactor(library): rename iff.mp' to iff.mpr 2015-07-18 08:52:58 -05:00
Leonardo de Moura
3ab0e07ba9 feat(frontends/lean): add simp tactic frontend stub
This commit also removes the fake_simplifier. It doesn't work anymore
because simp is now a reserved word.
2015-07-14 09:54:53 -04:00
Leonardo de Moura
4b1b3e277f feat(frontends/lean): rename '[unfold-c]' to '[unfold]' and '[unfold-f]' to '[unfold-full]'
see issue #693
2015-07-07 16:37:06 -07:00
Leonardo de Moura
4ae9f3ea81 feat(library/coercion): new coercion manager
closes #668
2015-07-01 16:32:34 -07: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
a54fb42f87 refactor(library/data/int/basic): put int.of_nat coercion in int namespace 2015-06-29 21:00:42 +10:00
Jeremy Avigad
130eb3f6d9 fix(library/data/int/basic): change notation from -[n+1] to -[1+n] to avoid conflict e.g. with -[coercions] 2015-06-29 15:23:11 +10:00
Jeremy Avigad
1a164d8fc9 feat(library/algebra/ordered_group): add theorems for max and min 2015-06-29 15:23:11 +10: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
829c3fb22c refactor(library/data/int/div): reorient of_nat_div and of_nat_mod 2015-06-27 18:47:36 +10:00
Jeremy Avigad
9249ebdaab feat(library/data/{nat,int}/div.lean): add properties of add and mod 2015-06-15 22:53:11 +10:00
Jeremy Avigad
658c5a2c49 feat(library/rat/basic.lean): add reduce for rat, and num and denom 2015-06-10 16:39:17 -07:00
Leonardo de Moura
4b91cfccff feat(frontends/lean/builtin_exprs): make notation ( e : T ) builtin
In the previous approach, the following (definitionally equal) term was being generated

       (fun (A : Type) (a : A), a) T e
2015-06-10 14:52:59 -07:00
Leonardo de Moura
35eae96aa5 chore(library/data/int/gcd): remove 'TODO'
The 'TODO' was fixed by commit 496189feed
2015-06-08 10:45:05 -07: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
dcae29a253 feat(library/data/int/gcd.lean): add gcd for the integers 2015-06-01 12:35:44 +10: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
2273dc669e feat(library/data): fill in sorrys in int and rat orderings 2015-05-29 14:11:51 +10:00
Rob Lewis
6dfcc4610b feat(data): update orderings on int and nat to conform to new algebraic hierarchy 2015-05-29 14:11:51 +10:00
Leonardo de Moura
dc6411b903 feat(library/inductive_unifier_plugin): restrict rule that was generating non-terminating behavior
see issue #632
2015-05-27 14:41:12 -07:00
Floris van Doorn
0c7e16e017 feat(library.data.int.basic): move theorems about successor and predecessor from HoTT to standard library 2015-05-26 21:37:01 -07:00
Jeremy Avigad
a64c0ea845 feat/refactor(library/data/{int,rat}/*): improve casting from nat to int to rat 2015-05-25 16:50:42 -07:00
Jeremy Avigad
4ed9e46532 refactor(library/data/int/*): use better direction for of_nat theorems 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
8bebd104ff refactor(library/*): remove 'Module:' lines 2015-05-23 20:52:23 +10:00
Jeremy Avigad
f65a49b2c3 feat/fix(library/data/nat,int): add power to int, add trans attributes, power notation 2015-05-23 15:38:42 +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
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
d2adf922b7 refactor(library/data/int): use "migrate" command 2015-05-12 04:24:13 -07:00
Floris van Doorn
9893de6194 feat(hit/circle): prove partly that the fundamental group of the circle is int
Also add markdown files for nat and int
2015-05-07 16:39:04 -07:00
Floris van Doorn
7cfac38eda feat(hott): port parts of natural numbers and integers from standard library to HoTT
This also involves:
- adding definitions about logic and natural numbers existing in the standard library to init
- porting the current algebraic hierarchy
2015-05-07 16:39:03 -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
e8affed020 refactor(library): test new tactics in the standard library 2015-05-01 18:18:29 -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
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
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
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
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