Commit graph

1539 commits

Author SHA1 Message Date
Rob Lewis
44a099f6f1 feat(norm_num): performance and style fixes 2015-11-12 20:53:37 -08:00
Rob Lewis
4bf0519843 feat(norm_num): numeral normalizer works for +, -, *, / 2015-11-12 20:53:37 -08:00
Rob Lewis
616450be64 feat(library/norm_num): extend norm_num to handle subtraction 2015-11-12 20:53:37 -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
Daniel Selsam
bacb9f99aa fix(logic/quantifiers): restore original 2015-11-08 14:05:03 -08:00
Daniel Selsam
34f4e315ee feat(logic/quantifiers): tag congruence theorems 2015-11-08 14:05:02 -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
33006919b3 refactor(library/theories/group_theory/hom): cleanup definition 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
c2ed5d3f1f fix(library/algebra/category/constructions): make proof more robust 2015-11-08 14:04:58 -08:00
Leonardo de Moura
65d7c05737 fix(library/algebra/complete_lattice): avoid looping instances 2015-11-08 14:04:57 -08:00
Leonardo de Moura
9348701a5b fix(library/logic/examples/instances_test): we do not support the set_option class.conservative false anymore 2015-11-08 14:04:57 -08:00
Rob Lewis
958add9ef8 feat(library/norm_num): fix numeral normalization to work on new numeral structure; add support for multiplication 2015-11-08 14:04:56 -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
Rob Lewis
0aaa8a9770 feat(theories/analysis/real_limit): fix analysis.real_limit 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
7838ed386d refactor(frontends/lean/pp,library/init/reserved_notation): pretty print "nat numerals" nicely even when namespace nat is not open 2015-11-08 14:04:56 -08:00
Leonardo de Moura
840f0ea05d fix(library/theories/analysis/real_limit): minor 2015-11-08 14:04:55 -08:00
Leonardo de Moura
9fb59a05f5 fix(library/theories/analysis/metric_space): minor correction 2015-11-08 14:04:55 -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
Jeremy Avigad
ffbb2be6ac fix(library/theories/group_theory): group_theory 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
f6d22c0002 fix(library/theories/group_theory/finsubg): fix compilation errors 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
06e35b4863 fix(library/algebra/numeral): remove redundant definitions 2015-11-08 14:04:54 -08:00
Leonardo de Moura
e4f0f6a9b4 feat(library): numeral normalization skeleton 2015-10-08 12:49:12 -07:00
Leonardo de Moura
5f967f40b2 fix(library/data/nat/basic): simplify two lemmas 2015-10-07 10:32:20 -07:00
Floris van Doorn
115dedbd1c fix(hott): notation spacing and markdown files 2015-10-02 16:26:10 -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
Floris van Doorn
3c4c722afd feat(hott): port more from chapters 4 and 6 of the book 2015-09-28 09:09:21 -07:00
Leonardo de Moura
33f46fd137 feat(library/blast): parse blast tactic and invoke stub 2015-09-25 12:45:16 -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
135f5ff96b feat(library/init/quot.lean): declare calc subst rule for iff 2015-09-25 09:32:28 -07:00
Leonardo de Moura
3d4475b7d9 refactor(library/logic/cast): simplify proofs 2015-09-21 12:34:24 -07:00
Jeremy Avigad
42c9bdc463 feat(library/theories/analysis/{metric_space,real_limit}: add convergence theorems 2015-09-20 20:51:28 -04:00
Jeremy Avigad
aa8dfba5a5 feat/fix(library/algebra/*): add some useful theorems, fix implicit arguments 2015-09-20 20:47:30 -04:00
Jeremy Avigad
9561e379c7 fix(library/data/set/basic): make set_of reducible 2015-09-20 19:54:46 -04:00
Rob Lewis
8fef4a95d4 chore(library/algebra/ordered_field): generalize theorem from reals 2015-09-17 16:23:22 -04:00
Rob Lewis
d6be32e4ef feat(library/theories/analysis): refactor IVT proof, add more general version of IVT 2015-09-17 16:22:46 -04:00
Rob Lewis
856a09d70e chore(library/theories/analysis): make proof of IVT compile faster 2015-09-16 16:44:28 -04:00
Rob Lewis
631b9b3312 feat(library/theories/analysis): clean and simplify proof of IVT 2015-09-16 08:28:11 -07:00
Rob Lewis
ee257a7c6c chore(library/data/{nat,real}): rename and move iterate function 2015-09-16 08:28:11 -07:00
Rob Lewis
ea3915f279 feat(library/theories/analysis): prove intermediate value theorem 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
352a906ba2 feat(library/theories/{metric_space,real_limit}): define metric spaces, limits, instantiate reals 2015-09-12 21:46:09 -04:00
Jeremy Avigad
948cdee366 feat(library/algebra/ordered_group): add variant of triangle inequality 2015-09-12 21:46:09 -04: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
Jeremy Avigad
20f6b4c6bd feat(library/logic/quantifiers): add 'the' 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
Rob Lewis
8d1f449491 refactor(library/data/real): move and rename theorems 2015-09-11 08:52:53 -07:00