Commit graph

1659 commits

Author SHA1 Message Date
Jeremy Avigad
1546c04154 feat(library/theories/analysis/complex_norm): instantiate complex numbers as a real normed vector space 2016-02-22 11:25:24 -08:00
Jeremy Avigad
5246072e96 feat(library/theories/analysis/inner_product): add real inner product spaces 2016-02-22 11:25:24 -08:00
Jeremy Avigad
7f1eb76091 feat(library/theories/analysis/normed_space): add specializations to modules over the reals, to help the elaborator 2016-02-22 11:25:24 -08:00
Jeremy Avigad
ea42a76dc5 refactor/feat(library/theories/analysis/sqrt): break out sqrt, add properties 2016-02-22 11:25:23 -08:00
Jeremy Avigad
3c18f05cab feat(library/algebra): add some useful facts 2016-02-22 11:25:23 -08:00
Jeremy Avigad
158acf878d feat(library/data/set/filter): work in material from Jacob Gross 2016-02-22 11:25:23 -08:00
Jeremy Avigad
41342f53df refactor(library/data/set/filter): get filters working with complete lattice notation 2016-02-22 11:25:23 -08:00
Jeremy Avigad
a08395b17e refactor(library/algebra/complete_lattice): make complete lattices more usable
I addressed two problems. First, the theorem names and notation were all in
the namespace complete_lattice. The problem was that if you opened that
namespace, names (like "sup" and "inf") and notation clashed with global notation
for lattices.

The other problem was that if you defined a lattice using Sup, the Sup you got
was not the Sup you want; it was the Sup-construction from the Inf-construction
from the Sup.

Everything seems good now.
2016-02-22 11:25:23 -08:00
Jeremy Avigad
7fe71c972f feat(library/data/set/basic): add theorems for bounded unions and intersections 2016-02-22 11:25:23 -08:00
Jeremy Avigad
518a77587a refactor(library/data/{set,finset},library/*): use compl for set and finset complement 2016-02-22 11:25:23 -08:00
Jeremy Avigad
8f83c78bc9 fix(library/logic/identities,library/*): fix implicit arguments, add implications. Closes #1002. 2016-02-22 11:25:23 -08:00
Jeremy Avigad
769ae6830d feat(library/data/set/function): add facts about preimages 2016-02-22 11:25:23 -08:00
Jeremy Avigad
a72f6666e8 feat(library/data/set/basic): add two theorems 2016-02-22 11:25:23 -08:00
Jeremy Avigad
797905b803 feat(library/theories/topology/order_topology): add order_topology, from Jacob Gross 2016-02-22 11:25:23 -08:00
Jeremy Avigad
b8d3f34d14 feat(library/data/set/basic): add a couple of theorems 2016-02-22 11:25:23 -08:00
Jeremy Avigad
03cd2c0013 feat/refactor(library/algebra/interval): use i for infinite, add some theorems 2016-02-22 11:25:23 -08:00
Jeremy Avigad
e80559237a fix(library/data/real): tinker with instances
Convert two instances of has_zero and has_one to local instance,
and change one "[instance]" to a "[trans_instance]". This (by
accident) fixed a problem Rob had a couple of weeks ago.
2016-02-22 11:25:23 -08:00
Jeremy Avigad
15c9ec12cf fix(library/data/real/division): make temporary has_div only a local instance 2016-02-22 11:25:23 -08:00
Floris van Doorn
facd94a1b4 feat(hott): various changes
more about pointed truncated types, including pointed sets.
also increase the priority of some basic instances that nat/num/pos_num/trunc_index have 0, 1 and + (in both libraries)
also move the notation + for sum into the namespace sum, to (sometimes) avoid overloading with add
2016-02-22 11:15:38 -08:00
Jacob Gross
db8ed5dd08 feat (library/theories/topology/basic) : add separation theorems
add T0, T1, T2 separation theorems and add closed singleton theorem for T1 spaces
2016-02-22 11:11:54 -08:00
Sean Leather
7852524370 fix(library/data/list/sorted): incorrect name 2016-02-22 11:06:39 -08:00
Rob Lewis
b047c9c037 refactor(theories/{analysis, topology}): clean up proofs connecting open balls and open sets 2016-02-12 11:50:11 -08:00
Rob Lewis
68bc41b5fe feat(data/set): add missing set theorems 2016-02-12 11:50:11 -08:00
Rob Lewis
4a41e78124 fix(theories/analysis): make variables implicit in continuous_at_intro 2016-02-12 11:50:10 -08:00
Rob Lewis
2c56a2c48b feat(theories/{analysis, topology}): show eps-delta and topological continuity coincide on metric spaces 2016-02-12 11:50:10 -08:00
Rob Lewis
eb05741ce6 feat(data/set): add missing set membership theorems 2016-02-12 11:50:10 -08:00
Rob Lewis
685049988c feat(theories/analysis): define metric topology 2016-02-12 11:50:10 -08:00
Rob Lewis
b8d86ffe48 feat(theories/topology): add theorem for proving sets open 2016-02-12 11:50:10 -08:00
Floris van Doorn
e14d4a4c0c feat(init/wf): port from standard library to HoTT library
After this commit we need some more advanced theorems in init/wf, notably function extenstionality.
For this reason I had to refactor the init folder a little bit.
To keep the init folders in both libraries similar, I did the same refactorization in the standard library, even though that was not required for the standard library
2016-02-09 10:03:48 -08:00
Leonardo de Moura
42fbc63bb6 fix(library/tc_multigraph): avoid name collisions
@avigad, @fpvandoorn, @rlewis1988, @dselsam

I changed how transitive instances are named.
The motivation is to avoid a naming collision problem found by Daniel.
Before this commit, we were getting an error on the following file
tests/lean/run/collision_bug.lean.

Now, transitive instances contain the prefix "_trans_".
It makes it clear this is an internal definition and it should not be used
by users.

This change also demonstrates (again) how the `rewrite` tactic is
fragile. The problem is that the matching procedure used by it has
very little support for solving matching constraints that involving type
class instances. Eventually, we will need to reimplement `rewrite`
using the new unification procedure used in blast.

In the meantime, the workaround is to use `krewrite` (as usual).
2016-02-04 13:15:42 -08:00
Rob Lewis
87ec5ada07 fix(analysis/metric_space): unnecessary import, style, remove unnecessary lines 2016-02-04 11:03:28 -08:00
Rob Lewis
a675a5ede2 fix(algebra/ordered_field, analysis/real_limit): generalize theorem to ordered fields 2016-02-04 11:03:28 -08:00
Rob Lewis
f402f322aa feat(theories/analysis): add theorems about convergent sequences, functions, and continuity 2016-02-04 11:03:28 -08:00
Rob Lewis
ffed988a34 feat(data/list): add missing theorems 2016-02-04 11:03:28 -08:00
Rob Lewis
dcfc496992 feat(algebra/ordered_field): ad missing theorem 2016-02-04 11:03:28 -08:00
Rob Lewis
40a1371cd0 feat(theories/analysis): define real square roots 2016-02-04 11:03:28 -08:00
Rob Lewis
796e16bdb7 feat(library/theories/analysis): add theorems about convergent functions in metric spaces 2016-02-04 11:03:28 -08:00
Rob Lewis
cb4f71b16c feat(library/data/real): add more theorems concerning rationals embedded in reals 2016-02-04 11:03:28 -08:00
Rob Lewis
110036c4dc feat(library/algebra/ordered_field): add missing theorems 2016-02-04 11:03:28 -08:00
Leonardo de Moura
790dbc53c3 refactor(library/algebra/ring): cleanup 2016-02-03 20:07:12 -08:00
Leonardo de Moura
cb12b9b876 refactor(library): cleanup proofs
Fixed proofs that broke when we tried to implement a "checkpoint" have.
2016-02-03 19:52:23 -08:00
Leonardo de Moura
c779590517 feat(library/algebra/ring): add lemma 2016-01-30 16:34:59 -08:00
Jeremy Avigad
b4d8b1db33 fix(library/library.md): update and correct information. Fixes #973. 2016-01-24 16:26:58 -08:00
Jeremy Avigad
27865e1c8b feat(library/algebra/order_bigops): add min and max over finsets and finite sets 2016-01-24 16:26:57 -08:00
Jeremy Avigad
53b2d90c90 feat(library/data/{set,finset}): add some useful facts 2016-01-24 16:26:57 -08:00
Jeremy Avigad
69d953126a refactor(library/algebra/ordered_group,ordered_ring): add versions of classes with decidable linear order, for min and max 2016-01-24 16:26:57 -08:00
Jeremy Avigad
1980baf784 feat(library/algebra/group_bigops): add Prod_semigroup, for cases without a unit 2016-01-24 16:26:57 -08:00
Leonardo de Moura
dc5ca99afa fix(library/data/real/basic): unnecessary level of indirection
At real.comm_ring, `add` is `@add real real_has_add`.
This is bad for any tactic (e.g., blast) that only unfolds reducible definitions.
`add` is not reducible. So, the tactic will not be able to establish
that `@add real real_has_add` is definitionally equal to `real.add`.
2016-01-24 13:37:15 -08:00
Jeremy Avigad
86fc326e08 refactor/feat(library/theories/analysis/*): reorganize analysis library and add some theorems 2016-01-16 10:53:56 -08:00
Leonardo de Moura
b975717875 feat(init/logic): add cast_heq 2016-01-13 14:18:01 -08:00