Jeremy Avigad
86b64cf43b
feat(library/data/set/*,library/algebra/group_bigops): better finiteness lemmas, reindexing for big operations
2015-12-31 15:16:57 -08:00
Leonardo de Moura
c3dfabf741
feat(library/blast/strategies/portfolio): add 'rec_simp'
...
recursors followed by simplification
2015-12-31 15:00:38 -08:00
Leonardo de Moura
bd03619b5c
refactor(library/data/list/basic): test 'rec_inst_simp' blast strategy
...
recursor + instantiate [simp] lemmas + congruence closure
2015-12-31 13:03:47 -08:00
Leonardo de Moura
b35abcc6a8
refactor(library): rename strategy "msimp" ==> "inst_simp"
...
"inst_simp" means "instantiate simplification lemmas"
The idea is to make it clear that this strategy is *not* a simplifier.
2015-12-31 12:45:48 -08:00
Leonardo de Moura
dc6a3e30c0
refactor(library): test simp and msimp in the standard library
2015-12-30 11:22:58 -08:00
Leonardo de Moura
7462874a4a
refactor(library): cleanup nat/int proofs
2015-12-29 12:39:53 -08:00
Leonardo de Moura
a307a0691b
refactor(library/data/nat/basic): cleanup some of the nat proofs
2015-12-29 11:43:56 -08:00
Leonardo de Moura
b117a10f82
refactor(library/blast/simplifier): use priority_queue to store simp/congr lemmas, use name convention used at forward/backward lemmas, normalize lemmas when blast starts, cache get_simp_lemmas
2015-12-28 17:52:57 -08:00
Leonardo de Moura
f177082c3b
refactor(*): normalize metaclass names
...
@avigad and @fpvandoorn, I changed the metaclasses names. They
were not uniform:
- The plural was used in some cases (e.g., [coercions]).
- In other cases a cryptic name was used (e.g., [brs]).
Now, I tried to use the attribute name as the metaclass name whenever
possible. For example, we write
definition foo [coercion] ...
definition bla [forward] ...
and
open [coercion] nat
open [forward] nat
It is easier to remember and is uniform.
2015-12-28 10:39:15 -08:00
Jeremy Avigad
549feb5d7f
feat(library/data/set/basic): add notation and theorems for large unions and intersections
2015-12-26 08:02:04 -08:00
Jeremy Avigad
6913eb0c76
refactor(library/init/subtype.lean): put subtype notation in the namespace
...
The notation { x : A | P x } is overloaded in set, and is ambiguous.
2015-12-22 16:39:13 -05:00
Jeremy Avigad
8ccafc4267
fix(library/init/function): fix typo
2015-12-22 16:39:13 -05:00
Jeremy Avigad
baf11d0018
feat(library/algebra/ring_bigops): make start on file with more properties of sums and products
2015-12-22 16:39:13 -05:00
Floris van Doorn
da5f10ce63
feat(hott): minor fixes. allow the usage of numerals for trunc_index
2015-12-17 12:46:16 -08:00
Sebastian Ullrich
2185ee7e95
feat(library/tactic): make let tactic transparent, introduce new opaque note tactic
...
The new let tactic is semantically equivalent to let terms, while `note`
preserves its old opaque behavior.
2015-12-14 10:14:02 -08:00
Leonardo de Moura
ef546c5c5b
refactor(library): use anonymous instance implicit arguments
2015-12-13 11:46:48 -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
1b80dc0df6
feat(library/data/real/basic): improve performance
2015-12-09 10:57:16 -08:00
Jacob Gross
ab91f8dd5f
feat(library/data/set/basic): add sInter_insert
...
add sInter supporting lemma
2015-12-07 21:39:30 -08:00
Leonardo de Moura
b94e31a72c
refactor(library): remove algebra namespace
2015-12-05 23:50:01 -08:00
Jacob Gross
dd6bed371a
feat(library/data/set/basic): Added a supporting lemma for sUnion, which will be essential for proofs by induction on finite sets
2015-12-02 23:05:59 -08:00
Joe Hendrix
719a78d541
style(library/data/bv): Use syntax for dite
2015-12-02 23:01:26 -08:00
Joe Hendrix
3574ad1f11
style(library/data/bv): Simplify from_bv and bv_mul
2015-12-02 23:01:26 -08:00
Joe Hendrix
fd1999a97f
feat(library/data/bv): Add signed/unsigned comparisons.
2015-12-02 23:01:26 -08:00
Joe Hendrix
5cf6e18af0
refactor(library/data/bv): Cleanup formatting inconsistencies
2015-12-02 23:01:26 -08:00
Joe Hendrix
3fddca81b5
feat(library/data/bv): Add preliminary bitvector ops.
2015-12-02 23:01:26 -08:00
Joe Hendrix
e4c839f362
feat(library/data/tuple): Add tuple combinators
2015-12-02 23:01:26 -08:00
Joe Hendrix
42afd89583
feat(library/data/list): Add additonal list combinators.
2015-12-02 23:01:26 -08:00
Joe Hendrix
63a17a3f48
feat(library/data/bool): Add bxor definition
2015-12-02 23:01:26 -08:00
Floris van Doorn
0537ef2bd9
chore(*): add me as author to files where I made nontrivial contributions
2015-11-22 14:21:26 -08:00
Floris van Doorn
482c68b387
feat(*/list): add some computation rules for lists in both libraries
2015-11-22 14:21:26 -08:00
Floris van Doorn
5abc450fad
feat(list): port list.basic from the standard library
2015-11-22 14:21:26 -08:00
Leonardo de Moura
5a98a2538c
refactor(library): move basic simp/congr rules to init folder, delete some legacy files
2015-11-20 16:38:10 -08:00
Jeremy Avigad
98ddc62f6c
feat(library/data/complex): add complex numbers
2015-11-12 21:05:38 -08:00
Leonardo de Moura
5ceac83b6a
feat(frontends/lean/elaborator): restrict the number of places where coercions are considered
...
We do not consider coercions around meta-variables anymore.
2015-11-11 12:37:19 -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
697df0e68c
refactor(library/*): use type classes for div and mod
2015-11-08 14:04:59 -08:00
Jeremy Avigad
eea4e4ec55
fix(tests/lean/*): fix tests
2015-11-08 14:04:59 -08:00
Jeremy Avigad
2beb0030d6
refactor(library/*): protect sub in nat, div in nat and int
2015-11-08 14:04:59 -08:00
Jeremy Avigad
b1719c3823
refactor(library/real/*): protect theorems
2015-11-08 14:04:59 -08:00
Jeremy Avigad
9e5a27dc77
refactor(library/{pnat,rat,real}/*): protect theorems in pnat and rat
2015-11-08 14:04:59 -08:00
Jeremy Avigad
da5bd03656
refactor(library/init/nat,library/data/nat/*): chagne dots to underscores in protected names
2015-11-08 14:04:59 -08:00
Jeremy Avigad
6dfaf1863c
refactor(library/data/int/{basic,order}): protect theorem names
2015-11-08 14:04:59 -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
4eafcfe945
chore(library/data/fintype/function): fix indentation
2015-11-08 14:04:58 -08:00
Leonardo de Moura
a10aef0792
fix(library/data/tuple): modify definition to make sure we can compile it using new type class resolution procedure
...
The issue are universe level constraints that cannot be solved by the
new procedure.
2015-11-08 14:04:58 -08:00
Leonardo de Moura
5468076400
refactor(library/data): cleanup proofs
2015-11-08 14:04:58 -08:00
Leonardo de Moura
bd41b6ea13
refactor(library/data/rat/basic): cleanup proof
2015-11-08 14:04:58 -08:00
Leonardo de Moura
ac01e9e352
refactor(library/data/int/basic): cleanup proof
2015-11-08 14:04:58 -08:00
Leonardo de Moura
bceac9ece5
refactor(library/data/nat/sub): cleanup nasty proofs
2015-11-08 14:04:58 -08:00
Leonardo de Moura
13ccbaa0d9
refactor(library/data/encodable): mark auxiliary theorems as private
2015-11-08 14:04:56 -08:00
Leonardo de Moura
f14d0523ec
refactor(library/data/set/filter): add missing [instance] attribute
2015-11-08 14:04:56 -08:00
Leonardo de Moura
08c061e1fa
refactor(library/data/set): remove [reducible]
annotation from set operations
2015-11-08 14:04:56 -08:00
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
6779cb4fc6
refactor(library/data/real/division): make sure \sy and / notation for reals is available even when we do not open the namespace algebra
2015-11-08 14:04:56 -08:00
Leonardo de Moura
fa937395d9
fix(library/data/real): minor adjustments
2015-11-08 14:04:55 -08:00
Rob Lewis
670ac6ae19
fix(real/order): remove sorry
2015-11-08 14:04:55 -08:00
Rob Lewis
06c1a97259
feat(library/real): fix real.complete
2015-11-08 14:04:55 -08:00
Rob Lewis
0d0df0417d
fix(library/real): fix real.division
2015-11-08 14:04:55 -08:00
Rob Lewis
f4e1f3bb1b
feat(library/data/real): fix real.order
2015-11-08 14:04:55 -08:00
Leonardo de Moura
fbe80d48dc
chore(library): remove "set_option pp.*" commands
2015-11-08 14:04:55 -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
e8454fad26
fix(library/data/real/basic): remove obsolete notation declarations
2015-11-08 14:04:55 -08:00
Jeremy Avigad
7f88e9ad33
fix(library/data/real,library/theories/group_theory): group theory and real/basic
2015-11-08 14:04:55 -08:00
Leonardo de Moura
0eec984485
fix(library/data/equiv): minor adjustment
2015-11-08 14:04:55 -08:00
Leonardo de Moura
724aacb2c1
fix(library): remove "-[notations]" hack at "open -[notations] algebra"
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
8ee214f133
checkpoint: new numeral encoding
2015-11-08 14:04:55 -08:00
Leonardo de Moura
8657ccfc04
fix(library/data/int/gcd): remove sorry
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
Leonardo de Moura
843e95ade6
fix(library/data/real/basic): some real theorems
2015-11-08 14:04:55 -08:00
Leonardo de Moura
c0990d1902
fix(library/data/pnat): pnat with type classes
2015-11-08 14:04:55 -08:00
Leonardo de Moura
a23c05549e
fix(library/data/int/div): int div
2015-11-08 14:04:54 -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
744d1cba3d
feat(library,hott,frontends/lean): avoid keywords with hyphen
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
e6d7e89419
fix(library/data/int,library/data/nat): nat and int
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
Leonardo de Moura
5f967f40b2
fix(library/data/nat/basic): simplify two lemmas
2015-10-07 10:32:20 -07:00
Leonardo de Moura
ede23a3267
feat(hott,library): add additional spacing hints
2015-09-30 17:41:44 -07:00
Sebastian Ullrich
d1b5031dbd
feat(library): add some spacing hints
2015-09-30 17:36:32 -07:00
Jeremy Avigad
719e9043cd
feat(library/data/set/equinumerosity): add Cantor's theorem, Schroeder-Bernstein theorem
2015-09-25 09:32:28 -07:00
Jeremy Avigad
2c7526e1fc
feat(library/*): add various theorems
2015-09-25 09:32:28 -07:00
Jeremy Avigad
9561e379c7
fix(library/data/set/basic): make set_of reducible
2015-09-20 19:54:46 -04:00
Rob Lewis
ee257a7c6c
chore(library/data/{nat,real}): rename and move iterate function
2015-09-16 08:28:11 -07:00
Rob Lewis
f5dcb1e0a9
feat(library/algebra): add missing theorems to algebra library
2015-09-16 08:28:11 -07:00
Rob Lewis
4312f1e54b
chore(library/data/real): clean and rename theorems in completeness proofs
2015-09-16 08:28:11 -07:00
Rob Lewis
f4fa38e365
chore(library/data/{rat, pnat}): move theorems from reals to more appropriate places
2015-09-16 08:28:11 -07:00
Jeremy Avigad
b48b33c412
feat(library/data/real/division): add useful rules for proving equalities
2015-09-12 21:46:09 -04:00
Jeremy Avigad
780c950414
refactor(library/data/int/order): use 'exists' instead of 'ex', 'least' instead of 'smallest', etc.
2015-09-12 21:46:09 -04:00
Jeremy Avigad
1affeec3c6
fix(library/algebra/ordered_filed): rename theorems
2015-09-12 21:46:09 -04:00
Jeremy Avigad
8db9afbf1c
feat/refactor(data/real/complete): add another archimedean property, rename theorems
2015-09-12 21:46:09 -04:00
Jeremy Avigad
d9e166f77f
feat/refactor(library/data/real/*): add / improve casts to real from nat, int, rat
2015-09-12 21:46:09 -04: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
3035dd7e66
refactor(library/data/finset/equiv): remove workarounds added by commit e9809a453d
...
The workarounds were needed due to a bug at local_context class.
The problem has been fixed at df3100d2cd
2015-09-12 17:19:49 -07:00
Leonardo de Moura
e9809a453d
fix(library/data/finset/equiv): broken proof
...
TODO: investigate why the proof has to be fixed
2015-09-11 23:24:29 -07:00