Net{
There are many approaches to defining a topology of a space, differing only in their
appeal to different people. This one starts with the 'closure' operation. Others follow.
To close a set is to add points to it - those points that we decide are
infinitely close to or on the edge of the set. The result of 'close'
is a 'closed' set.
- Space::Sets -- the set of points in the space.
- X::=Space, abbreviation.
- 0::@X={x:X||false} -a local abbreviation for the empty subset of the space.
- CLOSURE::=
Net{
The close operator adds points on the edge of a set to that set.
A more precisely, the boundary of a set and the idea of closeness is defined by the closure function.
- close::(monoid)(@X,|,0)->(@X,|,0),
- (close)|-close(A|B) = close(A)|close(B).
- (close)|-close(0) = 0.
- |- (idempclose): close;close=close,
- |- (closeadds): For all A:@X(A==>close(A)),
- close::X->@X=close({(_)}), overloaded to handle points.
- For x:X, Y:@X, x in close(Y)=x is close to or inside Y.
A set is is dense if and only if closing it fills the space.
- dense::={A:@X||close(A)=X},
Closed sets arise from the closure operation:
- closed::@@X,
- |-closed={A:@X || close(X)=X },
- (above)|-closed in closed_family(X),
- |-close(A)=min{C:closed||A==>C}.
- open::@@X.
If we removes a closed set from a space then we remove its "edge" as well an leave behind a set that is said to be open.
- |-open={A:@X|| X~A in closed},
- (above)|-open in open_family(X).
Two special topologies -- the discrete and indiscrete topologies:
- discrete::@= (open=@X).
- indiscrete::@= (open={0,X}).
Note well: there are sets that are both open and closed, and there can be
sets that are neither open or closed.
- interior::@X->@X,
- |-For all A:@X,
- interior(A)=(|(open & @A)).
- exterior::@X->@X,
- exterior(A)=(interior(X~A)).
- boundary::@X->@X,
- boundary(A)=(X~interior(A)~exterior(A)).
- (above)|-For all A:@X, X>=={interior(A), boundary(A), exterior(A)}.
- (above)|-dense={A:@X||exterior(A)={}}.
- |-For all A:@S, boundary(A)=boundary(S~A).
- open_neighbourhoods::X->@@X.
- |-For x:X,
- open_neighbourhoods(x)={G:open||x in G},
- neighbourhoods::X->@@X.
- neighbourhoods(x)={N:@X||for some G:open( p in G ==> N)},
- fundamental_neighbourhoods::X->@@X.
- fundamental_neighbourhoods(x)={F:@@X ||for all V:open_neighbourhoods(x), some W:F (W==>V)}.
- For A:@X, neighbourhoods(A)={N:@X||for some G:open(A==>G==>N)}.
- separated::=Hausdorf, pronounced a little like "housed off".
- Hausdorff::@=Any two points can be separated.
- |-Hausdorff iff for x,y:X, if x<>y then for some N1:n(x), N2:n(y) ( no N1&N2 ).
- |-if Hausdorff then for x:X, {x} in closed.
There are are other forms of separation: T0, T1, T2 (= Hausdorff), Regular, T3, Normal, T4, ...
[ Separation_axiom ]
- basis::@@X.
- |-For all x:X ({V:basis||x in V}in fundamental_neighbourhoods(x)).
- For p:X, W:@^S, for x:near[p](W(x)) ::=for some N:neighbourhoods(p), all x:N (W(x)).
- inside::@(@X,@X)= (1st)==>interior((2nd)).
- (above)|-if A inside B then some C:open(A==>C==>B).
- (above)|-neighbourhoods=[x:X]{A:@X||{x}inside A}.
- (above)|-open={A||A inside X}.
- For A:@X, isolated(A)::={x:X||some N:neighbourhood(x)( A&N={x})}.
- For Y:@Y, Y subspace X::= Y in subspaces.
- subspaces::={Y:@X||Y.open={G&Y:@Y||G:X.open}.
- (above)|-for Y:subspaces(Y.open in open_family(Y)).
- compact::@.
- compact::=Hausdorff and for all oc:open & covers(X), some foc:FiniteSubsets(oc)(foc in covers(X)),
- (above)|-for all oc:open & covers(X), some foc:FiniteSubsets(oc)(foc in covers(X)) iff for all cc:closed & covers(X), some fcc:FiniteSubsets(fc)(fcc in covers(X)).
- compact_sets::={A:@X||A subspace X and compact.A}.
- For Y:Sets, β:filter_bases(Y), f:Y->X,
f ->[β] l::=for all V:(X.neighbourhoods)(l), some b:β. (f(B)==>V),
f ->[β] l::= f tends to l along β in space X.
Cf. LIMITS later.
connected:@.
?? connected::=no(open & covers(X)).?.
}=::
CLOSURE.
There are other ways to define a topology. The text book starting point is from either a closed or an open family of subsets of the space S.
- CLOSED::=
Net{
- S::Sets,
- closed::closed_family(S).
- |-TOPOLOGY and Net{close:=[A]min{B:closed||A==>B} }.
}=::
CLOSED.
- OPEN::=
Net{
.
- S::Sets,
- open::open_family(S),
Duality:|-CLOSED and Net{ closed:={S~G:@X||G in Open} }.
Once you have got a set of points and the set of all open sets than you
have determined the shape of the space. Knowing the closed sets
determines the shape as well. As an example suppose that the whole space
S>=={A,B} and both A,B in open, then clearly its possible for a sequence to
be in A and for its limit to jump to B and vice versa - the space is not
connected.
}=::
OPEN.
- INSIDE::=
Net{
An alternative approach is to take the idea of one set lying completely inside another - with some kind of skin separating them - however thin it gets.
- X::Sets,
- inside::@(@X,@X),
- |-0 inside 0 and X inside X,
- |-(==>;inside;==>) ==>inside,
- |-inside ==> ( ==>),
- |-For all A,B,C,D:@X(if A inside B and C inside D then A&C inside B&D),
- |-For all A,B:array I of @X (if for all i:I(A(i) inside B(i)) then |A inside |B).
- (above)|-CLOSED and Net{ closed:={B||(X~B) inside (X~B)} }.
}=::
INSIDE.
- INTERIOR::=
Net{
- X::Sets,
- interior::(monoid)(@X,&,0)->(@X,&,0).
- |-interior;interior=interior.
- |-For all A:@X(interior(A)==>A).
- |-interior(X)=X.
- (above)|-OPEN(open=>{G:@X||int(G)=G}).
}=::
INTERIOR.
- NEIGHBOURHOODS::=
Net{
- X::Sets,
- neighbourhoods::X->(@@X).
n:=neighborhoods.
- |-For all x:X( (n(x),&) in semigroup).
- |-For all p:X, N:n(p)( p in N).
- |-For all p,N, some G:n(p)&@N, all g:G(N in n(g)).
- (above)|-OPEN(open=>{G:@S||for all x:G(G in n(x)}).
}=::
NEIGHBOURHOODS.
- FINENESS::=
Net{
X1,X2::Spaces.
- |-X1 finer X2 iff for G:open.X1(G in open.X2)
[click here if you can fill this hole]
}.
- LIMITS::=
Net{
Use TOPOLOGY.
- |-{n..*||n:Nat} in filter_bases(Nat),
- base for limits of sequences.
- |-For X:Spaces, x:X, neighbourhoods(x) in filter_bases(X).
- Used for limits of functions at a point.
- |-For X:Space, Y:@X, x0:close(Y), {Y&V||V in neighbourhoods(x0)}in filters(Y).
- For Y:Sets, β:filter_bases(Y), X:Spaces, f:Y->X,
f ->[β,X] l::=for all V:(X.neighbourhoods)(l), some b:β.
- (f(B)==>V),
f ->[β,X] l ::= f tends to l along β in space X.
Note. When there is no ambiguity the space (,X) is omitted).
- For X:Spaces, a:Nat->X,
lim[n->oo]a[n] ::= the [l](a->[{n..||n:Nat}]l),
- l=lim[n->oo]a[n] iff for all V:neighbourhoods(l), abf n (a[n] in V).
(note. 'oo' is an arbitrary symbol, not necesarily a value in Nat, and 'abf' is 'short for 'all but a finite number of'.).
- For X,Y:Spaces, f:X->Y,
lim[x->x0]f(x) ::= the [l](f->[X.neighbourhoods(x0)]l),
- |-l=[x->x0]f(x) iff for all V:Y.neighbourhoods(l), some W:X.neighbouhoods(x0), (if x in W then f(x) in V).
Similarly:
- {[x0..x0+ε)||ε>0} is a filter_base for lim[x->x0,x>=0]f(x).
Notice that {x0..x0+ε)||ε>=0} is not because [x0..x0) =0).
- {[a..)||a:Real} is a filter_base for lim[x->oo]f(x).
- For x0:close(Y), {Y&V||V in nieghbourhoods(x0)} is a base for lim[x->x0,x:Y].
- For X,Y:Spaces, x0:X, y0:Y, f:X->Y,
- W:X.fundamental_neighbourhoods(x0), V:Y.fundamental_neighbourhoods(y0),
- y0=lim[x->x0]f(x) iff for all v:V, some w:W(f(w)==>V).
Hausdorff spaces have unique limits (if any).
- (above)|-For Y:Sets, β:filter_bases(Y), X:Spaces and Hausdorff, f:Y->X,
- 0..1 l (f ->[β] l).
The limit of a function does not depend on what it does initially (where the filter is widest) but what happens later (inside the narrower confines of the filter):
- (above)|-For Y:Sets, β:filter_bases(Y), X:Spaces, f:Y->X, B:β,
- γ={B&A||A in β},
- f ->[β] l iff f ->[γ] l.
Even though a function may not have a unique limit (at a point, as x->oo,...) it may still get close to one or more points while avoiding coming to a unique limit. For example fun[n]((-1)^n(1+1/n)) in Seq(Real) tends to accumulate at or adhere to both -1 and +1.
- For X,Z:Spaces, f:X->Z, Y:@X, x0:close(Y), β={Y&V||V in neighbourhoods(x0)}, z0:Z, adherence_value[β](f):={z:Z ||for all V:neighbourhood(z), W:neighbourhoods(x0), (f(W&Y) & Y)},
- |-For X:sets, Y:Spaces and Hausdorff, β:filter_bases(X), f:X->Y,
- f ->[β] l iff l= the adherence_value[β](f).
- |-For X:sets, Y:Spaces and Hausdorff, β:filter_bases(X), f:X->Y,
- adherence_value[β](f)=&{close(f(B))||B in β}.
}=::
LIMITS.
- CONTINUITY::=
Net{
Continuous maps are not a topological morphism because continuity alone
gives no guarantee that a structure is preserved when the mapping is
applied - in fact the reverse is true - continuity implies that properties
in the codomain of the map imply properties in the domain.
Continous maps form a category but without uniqely defined products and
coproducts.
(Continuous)::=(Cont).
(C) ::=(Cont).
- arrow::{->,>->,...},
X,Y::Spaces,
- p::X.
(Cont)X arrow Y::={f:(X arrow Y || for all A:@X( f(close(A))==>close(f(A) )},
This is not the text book definition but is equivalent to it.
- \swashC(X,Y)::=(Cont)(X->Y) - This notation is often used in text books.
A easily understood definition of continuity at a point is that the limit of the function at that point is the value of the function at that point:
- For all f:(Continuous(x0))X arrow Y iff f:X arrow Y and f ->[x0] f(x0).
In the vernacular: If it looks like its going there, then it gets there..
(Continuous(p))::=Continuous at p,
(C(p)) ::=(Continuous(p)),
(Continuous(p))X arrow Y={f:X arrow Y||for all A:@X( if p in X.close(A) then f(p) in f(A))},
- (above)|-for all p:X (Cont)==>(Cont(p)).
- (above)|-for all f:X->Y, (f in Continuous iff for all A,B:@Y(if A inside B then /f(A) inside /f(B)).
- (above)|-for f:X->Y, f in continuous iff for all x, some F:fundamental_neighbourhoods(f(x)), all V:F(/f(V)in open_neighbourhoods(x)).
- (above)|-For f:(Cont)X->Y,
- For all G:open(Y) (/f(G) in open(X))
- and for all G:closed(Y) (/f(G) in closed(X))
- and for all A:@X (f(close(A))==>close(f(A)))
- and for all B:@Y (close(/f(B))==>/f(close(f(B)))
- and for all B:@Y (/f(interior(B))==>interior(/f(B)))
- and for all A,B:@Y (if A inside B then /f(A) inside /f(B))
- and ? for all A:connected(Y) (f(A) is connected)
- and for all A:compact(X) (f(A) in compact(Y) )
- and for all x:X, N:neighbourhoods(f(x)) (/f(N) in neighbourhoods(x)).
- (above)|-For f:>X->Y, g:Y->Z, if f,g in Cont then f;g in Cont.
- (above)|-Id(X) is (Cont)X->X.
- (above)|-CATEGORY(Spaces,Continuous).
- |-For f:>X->Y, g:Y->Z, if f in Cont(x0), g in Cont(f(x0)) then f;g in Cont(x0).
}=::
CONTINUITY.
- TOPOLOGICAL_MORPHISMS::=
Net{
- For X, Y::Spaces,
- arrow::Arrows,
- F::@@X|@@Y, (F is typically open, closed,...),
(F)X arrow Y ::={f:X arrow Y|| for all A:@X(if A in F then f(A) in F)}.
(topological) ::=(Closed)&(Continuous).
- homeomorphisms(X,Y)::={f:(Cont)X---Y || /f in (Cont)Y---X}.
- Hom(X,Y)::=homeomorphisms(X,Y).
- (above)|-homeomorphism<>Continuous && (1)-(1).
- (above)|-For F:X---Y, f in Hom(X,Y)
- iff f,/f in Cont
- iff (for all A:@X(X in open iff f(X) in open)
- iff (for all A:@X(X in close iff f(X) in close).
- (above)|-homeomorphisms(X,Y)=(topological)X---Y.
- (above)|-if compact then homeomorphisms=continuous & (1)-(1).
Example - stereographic projection of a sphere onto a plane.
- ()|-for p:sphere[n], (topological) (sphere[n]~{p})---R^(n).
}=::
TOPOLOGICAL_MORPHISMS.
- SUBSPACE::=
Net{
- |-TOPOLOGY(X),
- Subset::@X.
- Y:=Subset.
- |-TOPOLOGY(Y,close=>[B:@Y](Y & X.close(B))
- (above)|-Y.open={G&Y||G:X.open}.
}=::
SUBSPACE.
- For X:Space, subspaces(X)::=SUBSPACE.Subset.
- |-for X:Spaces, Y:subspaces(X)(Y.open in open_family(Y) and Y ==> X).
- For X,Y:Spaces, (topology)X==>Y::=X in subspaces(Y).
Many properties are propagated from space to subspace:
- |-For X,Y, (topology)X==>Y,
- X.closed={C&X||C:Y.closed},
- X.neighbourhoods=[x]{N&X||N:Y.neighbourhoods(x)},
- if Y.Hausdorff then then X.Hausdorff,
- For I:Sets, β:fbase(I), f:I->X, l:X(f ->[β,X]l iff f->[β,Y]l).
- For T:Spaces, f:T->X(f in Continous(X) iff continuous(Y),
- Id(X) in (continuous.Y)X->Y.
- |-For X:Spaces, Y:@X, Y.discrete iff for all y:Y(y in isolated.Y).
- |-subspace in Transitive(Spaces).
??|-(topology)X-->Y iff for some Z((topology)X---Z and Z subspace Y).
- QUOTIENT_TOPOLOGY::=
Net{
- |-TOPOLOGY(X).
- R::equivalence_relations(X). Glueing things together
- φ::=[x]x/R.
quotient_topology is the finest topology with φ in (continous)X>==X/R.
- |-TOPOLOGY(X=>X/R,open=>{A||A./φ in open(X)},...).
}=::
QUOTIENT_TOPOLOGY.
[ Connected_space ]
Continuous maps of [0..1] into the space.
[ Path_(topology) ]
[ Fundamental_group ]
[ Homotopy_group ]
- TOPOLOGICAL_BASIS::=
Net{
- S::Sets,
- basis::covers(S), 0 in basis.
- For all A:finite(basis)(&A in basis).
- generate_open::=[B:@@S]{|(A) || A:@B}.
- |-OPEN and Net{open=generate_open(basis)}.
}=::
TOPOLOGICAL_BASIS.
.
- ORDERED_TOPOLOGY::=
Net{
- |-Toset(X,<=).
- |-TOPOLOGICAL_BASIS,
- |-basis={u..v ~{u,v}||u,v:S}.
- (above)|-for all u,v(u..v=close(u..v not {u,v})).
}=::
ORDERED_TOPOLOGY.
- ADIC::=
Net{
- p::Integer,
- S::=Integer,
- |-neighbourhoods=[n]{n+s*p^r||r:Nat0, s:Integer
[click here if you can fill this hole]
}=::
ADIC.
- INITIAL::=
Net{
- I::Sets,
- Y::I->TOPOLOGY,
- X::Set,
- Z::TOPOLOGY.
- For i:I, f[i]::X->Y(i), α:coarsest topology on X such that for all i(f[i] in continuous).
- |-for all g:(continuous???).
[click here if you can fill this hole]
}=::
INITIAL.
- FINAL::=
Net{
- I::Sets,
- Y::I->TOPOLOGY,
- X::Set,
- Z::TOPOLOGY.
- For i:I, f[i]::Y(i)->X, β:finest topology on X such that for all i(f[i] in continuous).
- |-β={U||for all i (/(f[i])in open)}.
}=::
FINAL.
- PRODUCT_2_SPACES::=
Net{
For Family:{open,closed,...}, elementary(Family) ::={(U><V):@(X><Y)|| U in Family(X) and V in Family(Y)}).
- |-TOPOLOGY(X).
- |-TOPOLOGY(Y).
- (above)|-TOPOLOGY(X><Y, open=>{U:@(X><Y)||some eo:elementary(open)(U= |(eo))}).
}=::
PRODUCT_SPACE.
In general when we need a topological space that is the product of a number (including infinitely
many) spaces then we use the INITIAL topology that makes all the projection functions continuous.
The Initial topology is also known as the
Tychonoff Product Topology.
. . . . . . . . . ( end of section Product of Spaces) <<Contents | End>>
- SUM_2_SPACES::=
Net{
- |-TOPOLOGY(X).
- |-TOPOLOGY(Y).
- |-{X,Y} in open & partitions(X|Y).
}=::
SUM_SPACE.
. . . . . . . . . ( end of section Topology) <<Contents | End>>
Special characters are defined in
[
intro_characters.html ]
that also outlines the syntax of expressions and a document.
Proofs follow a natural deduction style that start with
assumptions ("Let") and continue to a consequence ("Close Let")
and then discard the assumptions and deduce a conclusion. Look
here
[ Block Structure in logic_25_Proofs ]
for more on the structure and rules.
The notation also allows you to create a new network of variables
and constraints. A "Net" has a number of variables (including none) and
a number of properties (including none) that connect variables.
You can give them a name and then reuse them. The schema, formal system,
or an elementary piece of documentation starts with "Net" and finishes "End of Net".
For more, see
[ notn_13_Docn_Syntax.html ]
for these ways of defining and reusing pieces of logic and algebra
in your documents. A quick example: a circle
might be described by
Net{radius:Positive Real, center:Point, area:=π*radius^2, ...}.
For a complete listing of pages in this part of my site by topic see
[ home.html ]
The notation used here is a formal language with syntax
and a semantics described using traditional formal logic
[
logic_0_Intro.html ]
plus sets, functions, relations, and other mathematical extensions.
For a more rigorous description of the standard notations
see