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
Leonardo de Moura
3c1d6ec67a
feat(library/algebra/algebra): add link to complete lattices module
2015-09-04 13:04:36 -07:00
Sebastian Reuße
f8a773be11
chore(library/algebra): remove obsolete link.
2015-09-04 09:41:34 +02:00
Rob Lewis
e722120e34
fix(library/data/rat/order): declare decidable_le an instance
2015-09-03 15:43:07 -07:00
Jeremy Avigad
2ab7928257
refactor(library/data/set/basic): standardize intro and elim theorem names
2015-09-03 15:38:27 -07:00
Floris van Doorn
9a439d4a4e
feat(library.md): update reference to classical axiom
2015-09-01 15:17:46 -07:00
Jeremy Avigad
072971f3bb
feat(library/data/finset/comb,library/data/set/basic): define set complement
2015-09-01 14:47:19 -07:00
Jeremy Avigad
840ef98829
refactor(library/init/nat): make \nat notation available at top level
2015-09-01 14:47:19 -07:00
Jeremy Avigad
51e0d31304
refactor(library/algebra/ordered_ring,ordered_field): move theorems from ordered_field to ordered_ring
2015-09-01 14:47:19 -07:00
Jeremy Avigad
7d72c9b6b5
refactor(library/algebra/{field,ordered_field}, library/*): more renaming, setting implicit arguments
...
Many theorems for division rings and fields have stronger versions for discrete fields, where we
assume x / 0 = 0. Before, we used primes to distinguish the versions, but that has the downside
that e.g. for rat and real, all the theorems are equally present. Now, I qualified the weaker ones
with division_ring.foo or field.foo. Maybe that is not ideal, but let's try it.
I also set implicit arguments with the following convention: an argument to a theorem should be
explicit unless it can be inferred from the other arguments and hypotheses.
2015-09-01 14:47:19 -07:00
Jeremy Avigad
93c2d1e9d0
refactor(library/algebra/ordered_field): rename theorems to maintain consistency with other parts of the library
2015-09-01 14:47:19 -07:00
Jeremy Avigad
92af727daf
fix(library/data/real/{basic,division,order}: use notation for 0 and 1
...
These changes were needed because e.g. real.add_zero was "x + zero = x", and rewrite
would not match it to a goal "t + 0".
The fix was a lot harder than I expected. At first, migrate failed with resource
errors. In the end, what worked was this: I defined the coercion from num to real
directly (rather than infer num -> nat -> int -> rat -> real).
I still don't understand what the issues are, though. There are subtle issues with
numerals and coercions and migrate.
(We are not alone. Isabelle also suffers from the fact that there are too many
"zero"s and "one"s.)
2015-09-01 14:47:19 -07:00
Leonardo de Moura
3b19de1974
feat(library/data/num): show that num has decidable equality
2015-08-31 17:47:07 -10:00
Leonardo de Moura
63b93cf762
refactor(library/data/set/finite): make proof more robust
2015-08-31 17:26:24 -10:00
Leonardo de Moura
92716972c0
refactor(library/data/hf): add local attribute to make proofs more robust
2015-08-31 17:06:54 -10:00
Leonardo de Moura
f74d7fc266
refactor(library/data/real/basic): add extra step to help unifier
2015-08-31 16:56:05 -10: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