Leonardo de Moura
6df31d3406
refactor(library/data/nat/basic): mark some theorems as protected to avoid overloading
2015-11-08 14:04:56 -08:00
Leonardo de Moura
ce21996635
feat(library): define custom recursors for nat, and minimize the use of krewrite
2015-11-08 14:04:55 -08:00
Leonardo de Moura
6e44a42779
refactor(library/data/int,library/data/rat): rename theorems: of_nat_zero, of_nat_one, of_int_zero, of_int_one
2015-11-08 14:04:55 -08:00
Leonardo de Moura
26eb6fa849
feat(*): new numeral encoding
2015-11-08 14:04:55 -08:00
Leonardo de Moura
a9f5735bb5
fix(library/data/int/basic): remove sorry's
2015-11-08 14:04:55 -08:00
Jeremy Avigad
1ffe62341b
fix(library/data/int): more int problems
2015-11-08 14:04:54 -08:00
Leonardo de Moura
07b33ec75e
fix(library/data/int,library/data/rat): int and rat
2015-11-08 14:04:54 -08:00
Leonardo de Moura
27b4eb2058
fix(library/data): hf, int, nat, pnat
2015-11-08 14:04:54 -08:00
Leonardo de Moura
3369152559
fix(library/data,library/theories): fin, bag, finset, hf, list, ...
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
Jeremy Avigad
de83a68667
refactor(library/data/{int,rat}/*): clean up casts between nat, int, and rat
2015-09-12 21:46:09 -04:00
Leonardo de Moura
e01b155b2e
refactor(library/data/int/basic): cleanup proof
...
Proof was abusing the higher-order unifier
2015-08-31 16:53:11 -10:00
Jeremy Avigad
7dda69fec7
feat/refactor(library/theories/number_theory/irrational_roots,library/*): show nth roots irrational, and add lots of missing theorems
2015-08-16 23:23: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
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
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
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
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
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
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
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
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
Jeremy Avigad
ec05e83a2a
feat(library/data/int/div.lean): add theorems about div
2015-03-12 20:54:49 -07:00
Leonardo de Moura
68110faa4d
feat(frontends/lean/inductive_cmd): allow '|' in inductive datatype declarations
2015-02-25 17:00:10 -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