Application Center - Maplesoft

App Preview:

Topology Package-1

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application




Topology Tools
Department of Mathematics , Faculty of Science,University  of  Benghazi
Taha Guma el turki

E-mail: taha1978_2002@yahoo.com



restart;
with(combinat):with(networks):with(plottools):

#(1)A procedure to check if a given collection over X is topology or not .

CheckTopology:=proc(X,T)

local i,O,CT,CuT;

CT:={};

if `subset`(T,PowerSetof(X))=true then

for O in T do

CuT:={seq(O intersect T[i],i=1..nops(T)),seq(O union T[i],i=1..nops(T))};

CT:=CT union CuT;

od;

CT;

CT:= CT union {{},X};

evalb(CT=T);
if evalb(CT=T)=true then True ;

else "False this collection does not represent a topology";
fi;
else "False this collection is no a sub collection of the powerset";
fi;

end:



#(2) A procedure to obtain a relative topology on a subset of X.
SubSpace:=proc(A,X,T)
if (`subset`(A,X) and `subset`(T,PowerSetof(X))and CheckTopology(X,T))=True then  
map2(`intersect`,A,T);
else "False check your entries";
fi;
end:

#(3) A procedure to check if a given point is a boundary point or not.

CheckBoundary:=proc(x,A,X,T)

local O,t,o,B;

O:={};

B:={};

if (member(x,X)and`subset`(A,X)) then

for  t in T do

if member(x,t) then O:= O union {t};

else O:=O;

fi;

od;

O;

for o in O do

if (o intersect A )<> {} and (o intersect X minus A) <>{} then B:=B union {x};

else B:={};break;

fi;

od;

B;

else false;

fi;

B;

if B={} then "It's not a boundary point of the given set";

else B:={x};

fi;

end:

#(4) A procedure to find all boundary points of a given Set.

BoundaryPoints:=proc(A,X,T)

local CB,x;

CB:={};

if `subset`(A,X) then

for x in X do

if CheckBoundary(x,A,X,T)<>"It's not a boundary point of the given set" then CB:= CB union {x};

else CB:= CB;

fi;

od;

CB;
else false;

fi;
if CB={} then "The given set has no boundary points";else CB;
fi;

end:

#(5) A procedure to check if a given point is interior point or not.

CheckInterior:=proc(x,A,X,T)

local O,In,eO,o;

In:={};

eO:={};

if(`member`(x,X) and `subset`(A,X) ) then

for O in T do

if `member`(x,O) then eO:=eO union {O};

else eO:=eO;

fi;

od;

for o in eO do

if `subset`(o,A) then In:=In union {x};

else In:=In;

fi;

od;

In;

else false;

fi;

if In={} then "It's not an interior point of the given set";

else In:={x};

fi;

end:

#(6) A procedure to find all interior points of a given set.

InteriorPoints:=proc(A,X,T)

local x,ci,d,i;

ci:={};

if `subset`(A,X)=true then

for x in X do

if CheckInterior(x,A,X,T)<>"It's not an interior point of the given set" then ci:=ci union {x};

else ci:=ci;

fi;

od;

else print(false);

fi;

ci;
if ci={} then "The given set has no interior points"; else
ci;
fi;

end:

 

#(7) A procedure to check if a given point is a closure point or not.

CheckClosure:=proc(x,A,X,T)

local c,o,cp,co;

co:={};

cp:={};

if `member`(x,X) and `subset`(A,X) then

for o in T do

if `member`(x,o) then co:=co union {o} ;else co:=co;

fi;

od;

co;

for c in co do

if c intersect A<>{} then cp:=cp union {x};

else cp:={};break;

fi;

od;

cp;

else false;

fi;

cp;

if cp={} then "It's not a closure point of the given set";

else cp:={x};

fi;

end:

#(8) A procedure to find all closure points of a given set.

ClosurePoints:=proc(A,X,T)

local C,t,i,x;

C:={};

if `subset`(A,X) then

for x in X do

if CheckClosure(x,A,X,T)<>"It's not a closure point of the given set" then C:=C union {x};

else C:=C;

fi;

od;

C;

else false;

fi;
if C={} then "The given set has no closure points";else C;
fi;
C;

end:
 

#(9)A procedure to check if a given point is an exterior point of a given subset or not.

CheckExterior:=proc(x,A,X,T)

local CX,O,ex,i;

CX:= X minus A;

ex:={};

if (member(x,X)and`subset`(A,X)) then

for O in T do

if `member`(x,O) and `subset`(O,CX) then ex:=ex union {x};

else ex:=ex;

fi;        

od;

ex;

if ex={} then "It's not an exterior point of the given set " ;

else ex:={x};

fi;

else false;

fi;

end:

 

#(10) A procedure to find all exterior points of a given subset.

ExteriorPoints:=proc(A,X,T)

local ext,x;

ext:={};

if `subset`(A,X) then

for x in X do

if CheckExterior(x,A,X,T)<>"It's not an exterior point of the given set " then ext:=ext union {x};

else ext:=ext;

fi;

od;

ext;
if ext={} then"The given set has no exterior points";
else ext;fi;
else false;
fi;

end:

 #(11) A procedure to check if a given point is a limit  point or not.

 CheckLimit:=proc(x,A,X,T)

local i,o,L,Omx,O;

O:={};

L:={};

if member(x,X)= true then

for i to nops(T) do

if (member(x,T[i]))then O:= O union {T[i]};

else O:=O;

fi;

od;

Omx:={seq(O[i] minus {x},i=1..nops(O))};

for o in  Omx do

if ((o intersect A) <> {}) then L:=L union {x};

else L:={};

break;

fi;

od;

L;

else false;

fi;

L;

if L={} then "It's not a limit point of the given set ";else

L:={x};

fi;

end:

#(12)A procedure to find all limit points of a given set of X.

 LimitPoints:=proc(A,X,T)

local x,LI;

LI:={};

if `subset`(A,X)=true then

for x in X do

if CheckLimit(x,A,X,T) <> "It's not a limit point of the given set " then LI:=LI union {x};

else LI:=LI;

fi;

od;

LI;
if LI={} then "The given set has no limit points";else LI;
fi;   

else false ;

fi;

end:

#(13)A procedure to check if a given point is isolated point or not.

CheckIsolated:=proc(x,A,X,T)

local o,iso;

iso:={};

if (member(x,X)and`subset`(A,X) and `subset`(T,PowerSetof(X))) then

for o in T do  

if o intersect A ={x} then iso:=iso union {x};break;

else iso:=iso;

fi;

od;

iso;

if iso={} then "It's not an isolated point of the given set"; else

iso:={x};        

fi;

else false;

fi;

end:

 

#(14) A procedure to find all isolated points of a given subset.

IsolatedPoints:=proc(A,X,T)

local isol,x;

isol:={};

if `subset`(A,X) then

for x in X do

if CheckIsolated(x,A,X,T)<>"It's not an isolated point of the given set" then

 isol:=isol union {x};

else isol:=isol;

fi;

od;

isol;
if isol={} then "The given set has no isolated points";else isol;
fi;

else false;
fi;

end:

#(15)A procedure to find the closed sets of the topology.

ClosedSets:=proc(X,T)

{seq(X  minus T[i],i=1..nops(T))};

end:

#(16)A procedure to find the clopen sets of the topology.

ClopenSets:=proc(X,T)

local A,W;

W:={};

for A in T do

if `member`(X minus A,T)=true then W:=W union {A};
else W:=W;
fi;

od;

W;

end:

#(17)A procedure to find the neither open nor closed setes in a given topology.
NeitherOpenNorClosedSets:=proc(X,T)
local A,B,C;
if CheckTopology(X,T)=True then
A:=PowerSetof(X) minus T;
A;
B:=A minus ClosedSets(X,T);
B;
C:=B minus ClopenSets(X,T);
C;
else "Please check your entries!!!";fi;
if C={} then "There are no neither open nor closed sets of the given space";
else; C;
fi;
end:

#(18)A procedure to check if a given topology is T0 or not.

CheckT0:=proc(X,T)

local x,y,O,test;

if nops(X)=1 then print("True") ;else

for x in X do

for y in X minus{x} do

for O in T do

test:=evalb((member(x,O)and not(member(y,O)))or (member(y,O) and not(member(x,O))));

if test then break; fi;

od:

if not(test) then break;fi;

od:

if not(test) then break;fi;

od:

fi;

test;

end:

#(19)A procedure to find  all topologies over a given set.

AllTopologies:=proc(X)

local T,ALLTOPO;

ALLTOPO:={};

for T in CollectionsUnionEmptyandFullSet(X) do

if CheckTopology(X,T)=True then ALLTOPO:=ALLTOPO union {T};else

ALLTOPO:=ALLTOPO;

fi;

od;

ALLTOPO;

end:

 

#(20)A procedure to find the number of topologies over a given set.
NumberofTopologies:=proc(X)

print("There are",nops(AllTopologies(X)),"topologies over a set with",nops(X),"points");

end:

 

#(21) A procedure to find all T0 topologies over a given set.

AllT0Topologies:=proc(X)

local i,T,T0S;

T0S:={};

AllTopologies(X);

if nops(X)=1 then T0S:=AllTopologies(X);else

for T in AllTopologies(X) do

if CheckT0(X,T)=true then T0S:= T0S union {T} ; else T0S:=T0S;

fi;

od;

fi;

T0S;

end:

#(22)A procedure to find the number of T0 topologies over a given set.

NumberofT0Topologies:=proc(X)

print("There are",nops(AllT0Topologies(X))," T0 topologies over a set with",nops(X),"points");

end:

#(23)A procedure to generate a topology from a given subbasis S.

GenerateTopologybySubBasis:=proc(X,S)

 local i,O,GT1,GT2,T,B;

    B:={};

    T:={{}};

 for O in S do

GT1:={seq(O intersect S[i],i=1..nops(S))} ; B:=B union GT1;

 od;

  B:=B union {X};

for O in B do

GT2:={seq(O union B[i],i=1..nops(B))};

  B:= B union GT2;

od;

 T union B;

end:

 

#(24) A procedure to find the minimal basic open set for a certain point x.

MinimalBasic:= proc(x,X,T)

local i,O,COUNT;

COUNT:={};

if (member(x,X) and CheckTopology(X,T)=True) then

for O in T do

if member(x,O)then COUNT:=COUNT union {O};

else COUNT:=COUNT;

fi;

od;

COUNT;

COUNT[1];

else false;

fi;

end:

#(25) A procedure to find the minimal basis of a given topological space.

MinimalBasis:=proc(X,T)

local x,minimalbasis;

minimalbasis:={};

if `subset`(T,PowerSetof(X))then

for x in X do

minimalbasis:=minimalbasis union {MinimalBasic(x,X,T)};

od;

minimalbasis;

else print("Check the colllection  !!");

fi;

end:


#(26)A procedure to close a given set under unions needed in other procedure.

CloseUnions:=proc(T)

local A,U;U:=T;

for A in T do

U:=U union map(`union`,U,A);

od;

if U=T then U; else CloseUnions(U); fi;

end:

#(27)A procedure to close agiven set under intersections needed in other procedure.

CloseIntersections:=proc(T)

local A,U;U:=T;

for A in T do

U:=U union map(`intersect`,U,A);

od;

if U=T then U; else CloseIntersections(U); fi;

end:

#(28)A procedure to check that if the topology is connected.

CheckConnected:=proc(X,T)

evalb(ClopenSets(X,T)={X,{}});
end:


#(29)A procedure to find all connected topologies over a given set.
AllConnectedSpaces:=proc(X)
local C,c;
C:={};
AllTopologies(X);
for c in AllTopologies(X) do
if CheckConnected(X,c)=true then C:= C union {c};
else;
C:=C;
fi;
od;
C;
end:

#(30)A procedure to find the number of connected spaces over a given set.
NumberofConnectedSpaces:=proc(X)
print(`There are`,nops(AllConnectedSpaces(X)),`connected spaces over a set with`,nops(X),`points`);
end:

#(31) A procedure to find the connected components of a given point.

ConnectedComponents:=proc(x,X,T)

local i,S,SK;

SK:={};

S:=map2(`union`,{x},powerset(X));

for i to nops(S) do

if CheckConnected(S[i],SubSpace(S[i],X,T)) then SK:=SK union S[i];fi;

od; SK ;

end:

#(32) A procedure to find all connected components of a given space.
AllConnectedComponentsTopology:=proc(X,T)
local x,CC;
CC:={};
for x in X do
CC:=CC union {ConnectedComponents(x,X,T)};
od;
CC;
end:
 
#(33)A procedure to check if a Topology is Totaly Disconnected.

CheckTotalyDisconnected:=proc(X,T)

local i;
if CheckTopology(X,T)=True then

for i to nops(X) do

if not(ConnectedComponents(X[i],X,T)={X[i]}) then RETURN(false)fi;

od;

RETURN(true);
else "Please check your enteries!!!";fi;

end:

#(34) A procedure to find all totaly disconnected space over a given set.
AllTotalyDisconnected:=proc(X)
local o,T;T:={};
AllTopologies(X);
for o in AllTopologies(X) do
if CheckTotalyDisconnected(X,o)=true then T:=T union {o};else
T:=T;
fi;
od;
end:

#(35) A procedure to find the number of totaly disconnected spaces over a given set.
NumberofTotalyDisconnectedSpaces:=proc(X)
AllTotalyDisconnected(X);
print(`There are`,nops(AllTotalyDisconnected(X        )),`over a set with `,nops(X),`points`);
end:



#(36)A procedure to find all disconnected spces over a given set.
AllDisconnectedSpaces:=proc(X)
AllTopologies(X) minus AllConnectedSpaces(X);
end:

#(37)A procedure to find the number of disconnected spaces over a given set given set.
 NumberofDisconnectedSpaces:=proc(X)
print(`There are`,nops(AllDisconnectedSpaces(X)),`disconnected spaces over a set with`,nops(X),`points`);
end:

#(38)A procedure to check if a given topology is weakly-dimensional or not.
CheckWeaklyDimensional:=proc(X,T)
if CheckTopology(X,T)=True then
 evalb(GenerateTopologybySubBasis(X,ClopenSets(X,T))=T)
else "Please Check your entries";
fi;
 end:

#(39)A procedure to find all waekaly-dimensional topology over a given set.
AllWeaklyDimensionalSpaces:=proc(X)
local W,o;
W:={};
AllTopologies(X);
for o in AllTopologies(X)do
if CheckWeaklyDimensional(X,o)=true
then W:=W union {o};
else         W:=W;
fi;
od;
end:

#(40)A procedure to find the number of weakaly-dimensional topologies over a given set.
NumberofWeaklyDimensionalSpaces:=proc(X)
print(`There are`,nops(AllWeaklyDimensionalSpaces(X)),`weakly-dimensional topologies over a set with`,nops(X),`points`);
end:

#(41) A procedure to Generate Extremal Topology Over X by x,y.

GenerateExtremalTopology:=proc(x,y,X)

local o,c,t,e,px,py,M,txy;

if `member`(x,X) and `member`(y,X) and x<>y then

c:={};M:={};txy:={};

px:=PowerSetof(X minus {x});

for o in px do

if `member`(y,o) then

c:=c union {o};

else c:=c;

fi;

od;

c;

for e in c do

txy:=e union {x};

M:=M union {txy};

od;

px union M;

else flase;

fi;

end:

#(42)A proceure to find all extremal topologies over a finite set X.
AllExtremalTopologies:=proc(n)

local EX,x,y,pp,X;

EX:={};

X:={seq(x[i],i=1..n)};

for x in X do

for y in X minus {x} do

EX:=EX union {GenerateExtremalTopology(x,y,X)};

od;

od;

EX;

end:

#(43)A Procdure to Find the Number of  Extremal Topologies Over a Set with n Points.

NumberofExtremalTopologies:=proc(n)

print("There are ",nops(AllExtremalTopologies(n)),"extremal topologies over a set with",n,"points");

end:

#(44) A procdure to find the  Non-Trivial Minimal Topologies Over a Set with n Points.
AllNonTrivialMinimalTopologies:=proc(n)

local o,c,X,PX,T;

c:={};T:={};

X:={seq(x[i],i=1..n)};

PX:=PowerSetof(X);

for o in PX do

c:=c union{{{},o,X}};

od;

c minus {{{},X}};

end:

#(45) A Procdure to Find the Number of Non-Trivial Minimal Topologies Over a Set with n Points.
NumberofNonTrivialMinimalTopologies:=proc(n)

print("There are",nops(AllNonTrivialMinimalTopologies(n)),"non trivial minimal topologies over a set with",n,"oints");

end:

#(46)A Procdure to Find the Number of Open set in Generated Extremal Topologies.

NumberofOpenSetsExtremal:=proc(x,y,X)

print("Number of open setes is",nops(GenerateExtremalTopology(x,y,X)));

end:

#(47) A procedure to find the Cartesian product between two given sets.

Expandcart:=proc(PX)

local C,P,i;

C:={};

P:=cartprod([seq([op(PX[i])],i=1..nops(PX))]);

while not P[finished] do C:=C union{P[nextvalue]()}od;

C;

end:

#(48)A procedure to Implementation of the inverse projections, this is needed in later procedures.

InverseProj:=proc(k,S,PX)

local i,O;

for i to nops(PX) do

if i=k then O[i]:=S else O[i]:=PX[i] fi;

od;

Expandcart([seq(O[i],i=1..nops(PX))]);

end:

 

#(49) A procedure to find subbasis for product topology using inverse projections.

ProductBase:=proc(PX,PS)

local i,k,S;S:={};

for k to nops (PX) do

for i to nops(PS[k]) do

S:=S union {InverseProj(k,PS[k][i],PX)};

od;

od;

S;

end:

#(50) A procedure to give alist of sets and alist of topologis,the product topology is found?.

ProductTopology:=proc(PX,PT)

GenerateTopologybySubBasis(Expandcart(PX),ProductBase(PX,PT));

end:

#(51)A procedure to plot Hass digram over a given space.

SetLattice:=proc(S)

local a,b,G,os,i,j,lorder,P,L,T,k,tl,dincl;

dincl:=proc(A,B,S)

local C;

if A=B then RETURN(false) fi;

if not `subset`(A,B)then RETURN(false) fi;

for C in S minus {A,B} do

if `subset`(A,C)and `subset`(C,B)then RETURN(false) fi;

od;

RETURN(true);

end:

lorder:=proc(a,b)evalb(nops(a)<nops(b))end :

new(G);

os:=sort([op(S)],lorder);

addvertex({seq(i,i=1..nops(S))},G);

for i to nops(os) do

for j to nops(os) do

if dincl(os[i],os[j],S)then addedge([i,j],G)fi;

od;

od;

k:=nops(os[1]);

tl:=1;

T:={};

for i to nops(os) do

print(i=os[i]);

if nops(os[i])=k then T:=T union {i};

else

L[tl]:=T;

T:={i};

tl:=tl+1;

k:=nops(os[i]);

fi;

od;

L[tl]:=T;

P:=draw(Linear(seq([op(L[i])],i=1..tl)),G);

print(rotate(P,Pi/2));

G;

end:

#(52)A procedure to finid the power set.

PowerSetof:=proc(X)

local Y;

Y:=powerset(X);

end:

 

#(53)A procedure to find all proper sets over a given set.

ProperSubsetsof:=proc(X)

local Z;

Z:=PowerSetof(X) minus{{},X};

end:

 

#(54)A procedure to find  proper sets collections over a given set.

CollectionsbyProperSubsets:=proc(X)

local W;

W:=PowerSetof(ProperSubsetsof(X));

end:

 

#(55)A procedure  proper sets collections over a given set union {{},Full Set}.

CollectionsUnionEmptyandFullSet:=proc(X)

{seq(w union{{},X},w=CollectionsbyProperSubsets(X))};

end:

#(56) A procedure to apply a permutation p of the elements of a space to the sets in a topology t is needed in later preocedure.
newjob:=proc(t,p)
local u:
 {seq(subs({seq(X[i]=p[i],i=1..nops(X))} ,u) ,u=t)}:
end:

#(57)A procedure to compare sizes between a given topologies is needed in the following topology.
 bigger:=proc(t1,t2)
if nops(t1) < nops(t2) then true else false fi:
end:

#(58) A procedure to Check if two topologies are homeomoprhic or not.
IsHomeomorphic:=proc(t1,t2,X)
local answer, P,p;
if (CheckTopology(X,t1)="False this collection does not represent a topology" or CheckTopology(X,t2)="False this collection does not represent a topology" or not`subset`(t1,PowerSetof(X)) or not`subset`(t2,PowerSetof(X))) then "There are some mistaiks in your inputs please check it!"; else
p:=permute(X);
 #we can first check for some trivial invariants, such as.
 if nops(t1) <> nops(t2) then return(false) fi:
 answer:=false:
 for p in P do
if {op(newjob(t1,p))}={op(t2)} then answer:=true: break: fi:od:
 #Note that we have to compare _sets_ rather than _lists_!.
 answer:
fi;
end:

#(59)A procedure to find the proper disjoint closed sets.
DisjointProperClosedSets:=proc(X,T)
local c,p,o,SC,CC;
SC:={};
CC:=ClosedSets(X,T) minus {{},X};
for c in CC do
for p in CC minus c do
if c intersect p ={}  then SC:=SC union {c,p};
else SC:=SC;
fi;
od;od;
SC;
end:

#(60)A procedure to find the disjoint proper open sets of a given topological space.
DisjointProperOpenSets:=proc(X,T)
local o,m,D,PO;
D:={};
PO:=T minus {{},X};
for o in PO do
for m in PO minus {o} do
if o intersect m ={} then D:=D union {o,m};else D:=D;
fi;od;od;
D;
end:

#(61) A procedure to find disoint closed sets in pairs {,}.
DisjointClosedinPairs:=proc(X,T)
local f,c,C,M;
C:={};
M:=ClosedSets(X,T)minus {{}};
for f in M do
for c in M minus {f} do
if c intersect f={} then C:=C union {{c,f}};
else C:=C;
fi;
od;
od;
C;
end:

#(62) A procedure to check if a given space is normal or not.
CheckNormal:=proc(X,T)
local o,p,c,s,F;
F:={};
if nops(T)=2 or nops(T)=3 or  DisjointClosedinPairs(X,T)={} then true;
else
for o in DisjointProperOpenSets(X,T) do
for c in DisjointProperClosedSets(X,T) do
for p in DisjointProperOpenSets(X,T) minus {o} do
for s in DisjointProperClosedSets(X,T) minus {c} do
if`subset`(c,o)and `subset`(s,p) then F:=((F union {o})union {p});
else F:=F;
fi;
od;
od;
od;
od;
F;
if F={}then false; else true;
fi;
fi;
end:

#(63)A procedure to find all Normal spaces over a given set.
AllNormalSpaces:=proc(X)
local o,N;
N:={};
AllTopologies(X);
for o in AllTopologies(X) do
if CheckNormal(X,o)=true then N:=N union {o};
else N:=N;
fi;
od;
N;
end:

#(64)A procedure to find the number of normal spaces over a given set.
NumberofNormalSpaces:=proc(X)
AllNormalSpaces(X);
print(`There are`,nops(AllNormalSpaces(X)),`Normal spaces over a set with`,nops(X),`points`);
end:

#(65) A procedure  to find non normal Spaces over a given set.
NonNormalSpaces:=proc(X)
AllTopologies(X) minus AllNormalSpaces(X);
end:

#Implementations;

NULL

X:={a,b,c};

{a, b, c}

(1)

T:={{}, {a}, {a, b}, {a, c}, {a, b, c}};

CheckTopology(X,T);

{{}, {a}, {a, b}, {a, c}, {a, b, c}}

True

(2)

A:={b,c};

{b, c}

(3)

SubSpace(A,X,T);

{{}, {b}, {c}, {b, c}}

(4)

CheckBoundary(a,A,X,T);

"It's not a boundary point of the given set"

(5)

BoundaryPoints(A,X,T);

{b, c}

(6)

CheckInterior(c,A,X,T);

"It's not an interior point of the given set"

(7)

InteriorPoints(A,X,T);

"The given set has no interior points"

(8)

CheckClosure(c,A,X,T);

{c}

(9)

ClosurePoints(A,X,T);

{b, c}

(10)

CheckExterior(b,A,X,T);

"It's not an exterior point of the given set "

(11)

ExteriorPoints(A,X,T);

{a}

(12)

CheckLimit(c,A,X,T);

"It's not a limit point of the given set "

(13)

LimitPoints(A,X,T);

"The given set has no limit points"

(14)

CheckIsolated(b,A,X,T);

{b}

(15)

IsolatedPoints(A,X,T);

{b, c}

(16)

ClosedSets(X,T);

{{}, {b}, {c}, {b, c}, {a, b, c}}

(17)

ClopenSets(X,T);

{{}, {a, b, c}}

(18)

NeitherOpenNorClosedSets(X,T);

"There are no neither open nor closed sets of the given space"

(19)

 

CheckT0(X,T);

true

(20)

AllTopologies(X);

{{{}, {a, b, c}}, {{}, {a}, {a, b, c}}, {{}, {b}, {a, b, c}}, {{}, {c}, {a, b, c}}, {{}, {a, b}, {a, b, c}}, {{}, {a, c}, {a, b, c}}, {{}, {b, c}, {a, b, c}}, {{}, {a}, {a, b}, {a, b, c}}, {{}, {a}, {a, c}, {a, b, c}}, {{}, {a}, {b, c}, {a, b, c}}, {{}, {b}, {a, b}, {a, b, c}}, {{}, {b}, {a, c}, {a, b, c}}, {{}, {b}, {b, c}, {a, b, c}}, {{}, {c}, {a, b}, {a, b, c}}, {{}, {c}, {a, c}, {a, b, c}}, {{}, {c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, b, c}}, {{}, {a}, {c}, {a, c}, {a, b, c}}, {{}, {a}, {a, b}, {a, c}, {a, b, c}}, {{}, {b}, {c}, {b, c}, {a, b, c}}, {{}, {b}, {a, b}, {b, c}, {a, b, c}}, {{}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {b, c}, {a, b, c}}, {{}, {a}, {c}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, b}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}}

(21)

NumberofTopologies(X);

"There are", 29, "topologies over a set with", 3, "points"

(22)

AllT0Topologies(X);

{{{}, {a}, {a, b}, {a, b, c}}, {{}, {a}, {a, c}, {a, b, c}}, {{}, {b}, {a, b}, {a, b, c}}, {{}, {b}, {b, c}, {a, b, c}}, {{}, {c}, {a, c}, {a, b, c}}, {{}, {c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, b, c}}, {{}, {a}, {c}, {a, c}, {a, b, c}}, {{}, {a}, {a, b}, {a, c}, {a, b, c}}, {{}, {b}, {c}, {b, c}, {a, b, c}}, {{}, {b}, {a, b}, {b, c}, {a, b, c}}, {{}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {b, c}, {a, b, c}}, {{}, {a}, {c}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, b}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}}

(23)

NumberofT0Topologies(X);


"There are", 19, " T0 topologies over a set with", 3, "points"

(24)

K:={{a}};

{{a}}

(25)

GenerateTopologybySubBasis(X,K);

{{}, {a}, {a, b, c}}

(26)

MinimalBasic(a,X,T);

{a}

(27)

MinimalBasis(X,T);

{{a}, {a, b}, {a, c}}

(28)

CloseUnions(T);

{{}, {a}, {a, b}, {a, c}, {a, b, c}}

(29)

CloseIntersections(T);

{{}, {a}, {a, b}, {a, c}, {a, b, c}}

(30)

CheckConnected(X,T);

true

(31)

AllConnectedSpaces(X);

{{{}, {a, b, c}}, {{}, {a}, {a, b, c}}, {{}, {b}, {a, b, c}}, {{}, {c}, {a, b, c}}, {{}, {a, b}, {a, b, c}}, {{}, {a, c}, {a, b, c}}, {{}, {b, c}, {a, b, c}}, {{}, {a}, {a, b}, {a, b, c}}, {{}, {a}, {a, c}, {a, b, c}}, {{}, {b}, {a, b}, {a, b, c}}, {{}, {b}, {b, c}, {a, b, c}}, {{}, {c}, {a, c}, {a, b, c}}, {{}, {c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, b, c}}, {{}, {a}, {c}, {a, c}, {a, b, c}}, {{}, {a}, {a, b}, {a, c}, {a, b, c}}, {{}, {b}, {c}, {b, c}, {a, b, c}}, {{}, {b}, {a, b}, {b, c}, {a, b, c}}, {{}, {c}, {a, c}, {b, c}, {a, b, c}}}

(32)

NumberofConnectedSpaces(X);

`There are`, 19, `connected spaces over a set with`, 3, points

(33)

ConnectedComponents(a,X,T);

{a, b, c}

(34)

AllConnectedComponentsTopology(X,T);

{{a, b, c}}

(35)

CheckTotalyDisconnected(X,T);

false

(36)

AllTotalyDisconnected(X);

{{{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}}

(37)

NumberofTotalyDisconnectedSpaces(X);

`There are`, 1, `over a set with `, 3, points

(38)

AllDisconnectedSpaces(X);

{{{}, {a}, {b, c}, {a, b, c}}, {{}, {b}, {a, c}, {a, b, c}}, {{}, {c}, {a, b}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {b, c}, {a, b, c}}, {{}, {a}, {c}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, b}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}}

(39)

NumberofDisconnectedSpaces(X);

`There are`, 10, `disconnected spaces over a set with`, 3, points

(40)

CheckWeaklyDimensional(X,T);

false

(41)

AllWeaklyDimensionalSpaces(X);

{{{}, {a, b, c}}, {{}, {a}, {b, c}, {a, b, c}}, {{}, {b}, {a, c}, {a, b, c}}, {{}, {c}, {a, b}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}}

(42)

 

NumberofWeaklyDimensionalSpaces(X);

`There are`, 5, `weakly-dimensional topologies over a set with`, 3, points

(43)

GenerateExtremalTopology(a,c,        X);

{{}, {b}, {c}, {a, c}, {b, c}, {a, b, c}}

(44)

AllExtremalTopologies(3);

{{{}, {x[1]}, {x[2]}, {x[1], x[2]}, {x[1], x[3]}, {x[1], x[2], x[3]}}, {{}, {x[1]}, {x[2]}, {x[1], x[2]}, {x[2], x[3]}, {x[1], x[2], x[3]}}, {{}, {x[1]}, {x[3]}, {x[1], x[2]}, {x[1], x[3]}, {x[1], x[2], x[3]}}, {{}, {x[1]}, {x[3]}, {x[1], x[3]}, {x[2], x[3]}, {x[1], x[2], x[3]}}, {{}, {x[2]}, {x[3]}, {x[1], x[2]}, {x[2], x[3]}, {x[1], x[2], x[3]}}, {{}, {x[2]}, {x[3]}, {x[1], x[3]}, {x[2], x[3]}, {x[1], x[2], x[3]}}}

(45)

NumberofExtremalTopologies(3);

"There are ", 6, "extremal topologies over a set with", 3, "points"

(46)

AllNonTrivialMinimalTopologies(3);

{{{}, {x[1]}, {x[1], x[2], x[3]}}, {{}, {x[2]}, {x[1], x[2], x[3]}}, {{}, {x[3]}, {x[1], x[2], x[3]}}, {{}, {x[1], x[2]}, {x[1], x[2], x[3]}}, {{}, {x[1], x[3]}, {x[1], x[2], x[3]}}, {{}, {x[2], x[3]}, {x[1], x[2], x[3]}}}

(47)

NumberofNonTrivialMinimalTopologies(5);

"There are", 30, "non trivial minimal topologies over a set with", 5, "oints"

(48)

NumberofOpenSetsExtremal(a,c,X);

"Number of open setes is", 6

(49)

Y:={0,1};

{0, 1}

(50)

S:={{},{0},Y};

{{}, {0}, {0, 1}}

(51)

CheckTopology(Y,S);

True

(52)

XY:=Expandcart([X,Y]);

{[a, 0], [a, 1], [b, 0], [b, 1], [c, 0], [c, 1]}

(53)

TXY:=ProductTopology([X,Y],[T,S]);nops(TXY);

{{}, {[a, 0]}, {[a, 0], [a, 1]}, {[a, 0], [b, 0]}, {[a, 0], [c, 0]}, {[a, 0], [a, 1], [b, 0]}, {[a, 0], [a, 1], [c, 0]}, {[a, 0], [b, 0], [c, 0]}, {[a, 0], [a, 1], [b, 0], [b, 1]}, {[a, 0], [a, 1], [b, 0], [c, 0]}, {[a, 0], [a, 1], [c, 0], [c, 1]}, {[a, 0], [a, 1], [b, 0], [b, 1], [c, 0]}, {[a, 0], [a, 1], [b, 0], [c, 0], [c, 1]}, {[a, 0], [a, 1], [b, 0], [b, 1], [c, 0], [c, 1]}}

14

(54)

CheckTopology(XY,TXY);

True

(55)

SetLattice(T);

1 = {}

2 = {a}

3 = {a, c}

4 = {a, b}

5 = {a, b, c}

G

(56)

SetLattice(TXY);

1 = {}

2 = {[a, 0]}

3 = {[a, 0], [c, 0]}

4 = {[a, 0], [b, 0]}

5 = {[a, 0], [a, 1]}

6 = {[a, 0], [b, 0], [c, 0]}

7 = {[a, 0], [a, 1], [c, 0]}

8 = {[a, 0], [a, 1], [b, 0]}

9 = {[a, 0], [a, 1], [c, 0], [c, 1]}

10 = {[a, 0], [a, 1], [b, 0], [c, 0]}

11 = {[a, 0], [a, 1], [b, 0], [b, 1]}

12 = {[a, 0], [a, 1], [b, 0], [c, 0], [c, 1]}

13 = {[a, 0], [a, 1], [b, 0], [b, 1], [c, 0]}

14 = {[a, 0], [a, 1], [b, 0], [b, 1], [c, 0], [c, 1]}

G

(57)

CollectionsbyProperSubsets(X,T);

{{}, {{a}}, {{b}}, {{c}}, {{a, b}}, {{a, c}}, {{b, c}}, {{a}, {b}}, {{a}, {c}}, {{a}, {a, b}}, {{a}, {a, c}}, {{a}, {b, c}}, {{b}, {c}}, {{b}, {a, b}}, {{b}, {a, c}}, {{b}, {b, c}}, {{c}, {a, b}}, {{c}, {a, c}}, {{c}, {b, c}}, {{a, b}, {a, c}}, {{a, b}, {b, c}}, {{a, c}, {b, c}}, {{a}, {b}, {c}}, {{a}, {b}, {a, b}}, {{a}, {b}, {a, c}}, {{a}, {b}, {b, c}}, {{a}, {c}, {a, b}}, {{a}, {c}, {a, c}}, {{a}, {c}, {b, c}}, {{a}, {a, b}, {a, c}}, {{a}, {a, b}, {b, c}}, {{a}, {a, c}, {b, c}}, {{b}, {c}, {a, b}}, {{b}, {c}, {a, c}}, {{b}, {c}, {b, c}}, {{b}, {a, b}, {a, c}}, {{b}, {a, b}, {b, c}}, {{b}, {a, c}, {b, c}}, {{c}, {a, b}, {a, c}}, {{c}, {a, b}, {b, c}}, {{c}, {a, c}, {b, c}}, {{a, b}, {a, c}, {b, c}}, {{a}, {b}, {c}, {a, b}}, {{a}, {b}, {c}, {a, c}}, {{a}, {b}, {c}, {b, c}}, {{a}, {b}, {a, b}, {a, c}}, {{a}, {b}, {a, b}, {b, c}}, {{a}, {b}, {a, c}, {b, c}}, {{a}, {c}, {a, b}, {a, c}}, {{a}, {c}, {a, b}, {b, c}}, {{a}, {c}, {a, c}, {b, c}}, {{a}, {a, b}, {a, c}, {b, c}}, {{b}, {c}, {a, b}, {a, c}}, {{b}, {c}, {a, b}, {b, c}}, {{b}, {c}, {a, c}, {b, c}}, {{b}, {a, b}, {a, c}, {b, c}}, {{c}, {a, b}, {a, c}, {b, c}}, {{a}, {b}, {c}, {a, b}, {a, c}}, {{a}, {b}, {c}, {a, b}, {b, c}}, {{a}, {b}, {c}, {a, c}, {b, c}}, {{a}, {b}, {a, b}, {a, c}, {b, c}}, {{a}, {c}, {a, b}, {a, c}, {b, c}}, {{b}, {c}, {a, b}, {a, c}, {b, c}}, {{a}, {b}, {c}, {a, b}, {a, c}, {b, c}}}

(58)

CollectionsUnionEmptyandFullSet(X,T);

{{{}, {a, b, c}}, {{}, {a}, {a, b, c}}, {{}, {b}, {a, b, c}}, {{}, {c}, {a, b, c}}, {{}, {a, b}, {a, b, c}}, {{}, {a, c}, {a, b, c}}, {{}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, b, c}}, {{}, {a}, {c}, {a, b, c}}, {{}, {a}, {a, b}, {a, b, c}}, {{}, {a}, {a, c}, {a, b, c}}, {{}, {a}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, b, c}}, {{}, {b}, {a, b}, {a, b, c}}, {{}, {b}, {a, c}, {a, b, c}}, {{}, {b}, {b, c}, {a, b, c}}, {{}, {c}, {a, b}, {a, b, c}}, {{}, {c}, {a, c}, {a, b, c}}, {{}, {c}, {b, c}, {a, b, c}}, {{}, {a, b}, {a, c}, {a, b, c}}, {{}, {a, b}, {b, c}, {a, b, c}}, {{}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, b, c}}, {{}, {a}, {b}, {a, c}, {a, b, c}}, {{}, {a}, {b}, {b, c}, {a, b, c}}, {{}, {a}, {c}, {a, b}, {a, b, c}}, {{}, {a}, {c}, {a, c}, {a, b, c}}, {{}, {a}, {c}, {b, c}, {a, b, c}}, {{}, {a}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {a, b}, {b, c}, {a, b, c}}, {{}, {a}, {a, c}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, b}, {a, b, c}}, {{}, {b}, {c}, {a, c}, {a, b, c}}, {{}, {b}, {c}, {b, c}, {a, b, c}}, {{}, {b}, {a, b}, {a, c}, {a, b, c}}, {{}, {b}, {a, b}, {b, c}, {a, b, c}}, {{}, {b}, {a, c}, {b, c}, {a, b, c}}, {{}, {c}, {a, b}, {a, c}, {a, b, c}}, {{}, {c}, {a, b}, {b, c}, {a, b, c}}, {{}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {a, b}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, b}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {c}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {c}, {a, b}, {b, c}, {a, b, c}}, {{}, {a}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {a, b}, {a, c}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, b}, {a, c}, {a, b, c}}, {{}, {b}, {c}, {a, b}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {b}, {a, b}, {a, c}, {b, c}, {a, b, c}}, {{}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, b}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}}

(59)

Z:={0,1};
T1:={{},{0},Z};
T2:={{},{0},Z};

{0, 1}

{{}, {0}, {0, 1}}

{{}, {0}, {0, 1}}

(60)

IsHomeomorphic(T1,T2,Z);

true

(61)

DisjointProperClosedSets(X,T);

{{b}, {c}}

(62)

DisjointProperOpenSets(X,T);

{}

(63)

CheckNormal(X,T);

false

(64)

AllNormalSpaces(X,T);

{{{}, {a, b, c}}, {{}, {a}, {a, b, c}}, {{}, {b}, {a, b, c}}, {{}, {c}, {a, b, c}}, {{}, {a, b}, {a, b, c}}, {{}, {a, c}, {a, b, c}}, {{}, {b, c}, {a, b, c}}, {{}, {a}, {a, b}, {a, b, c}}, {{}, {a}, {a, c}, {a, b, c}}, {{}, {a}, {b, c}, {a, b, c}}, {{}, {b}, {a, b}, {a, b, c}}, {{}, {b}, {a, c}, {a, b, c}}, {{}, {b}, {b, c}, {a, b, c}}, {{}, {c}, {a, b}, {a, b, c}}, {{}, {c}, {a, c}, {a, b, c}}, {{}, {c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, b, c}}, {{}, {a}, {c}, {a, c}, {a, b, c}}, {{}, {b}, {c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {b}, {a, b}, {b, c}, {a, b, c}}, {{}, {a}, {c}, {a, b}, {a, c}, {a, b, c}}, {{}, {a}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, b}, {b, c}, {a, b, c}}, {{}, {b}, {c}, {a, c}, {b, c}, {a, b, c}}, {{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}}

(65)

NumberofNormalSpaces(X);

`There are`, 26, `Normal spaces over a set with`, 3, points

(66)

NonNormalSpaces(X);

{{{}, {a}, {a, b}, {a, c}, {a, b, c}}, {{}, {b}, {a, b}, {b, c}, {a, b, c}}, {{}, {c}, {a, c}, {b, c}, {a, b, c}}}

(67)

 

NULL