makeTextTable[data0_]:=Module[{data},
(* FIXME data=Table[ToString[#,TraditionalForm]&/@(data0[[i]]),{i,1,Length[data0]}];*)

Text@Grid[data0,Background->{None,{Lighter[Yellow,.9],{White,Lighter[Blend[{Blue,Green}],.8]}}},Dividers->{{Darker[Gray,.6],{Lighter[Gray,.5]},Darker[Gray,.6]},{Darker[Gray,.6],Darker[Gray,.6],{False},Darker[Gray,.6]}},ItemSize->Automatic]

];
permutation0={1->"1",2->"2",3->"3"};
f0=GraphPlot[permutation0,VertexCoordinateRules->{1->{1,3},2->{1,2},3->{1,1},"1"->{2,3},"2"->{2,2},"3"->{2,1}},VertexLabeling->True,DirectedEdges->True,SelfLoopStyle->None,PlotStyle->{Arrowheads[{{0.25,0.8}}],Thickness[0.01]},ImageSize->Tiny];
permutation1={1->"2",2->"3",3->"1"};
f1=GraphPlot[permutation1,VertexCoordinateRules->{1->{1,3},2->{1,2},3->{1,1},"1"->{2,3},"2"->{2,2},"3"->{2,1}},VertexLabeling->True,DirectedEdges->True,SelfLoopStyle->None,PlotStyle->{Arrowheads[{{0.25,0.8}}],Thickness[0.01]},ImageSize->Tiny];
permutation2={1->"3",2->"1",3->"2"};
f2=GraphPlot[permutation2,VertexCoordinateRules->{1->{1,3},2->{1,2},3->{1,1},"1"->{2,3},"2"->{2,2},"3"->{2,1}},VertexLabeling->True,DirectedEdges->True,SelfLoopStyle->None,PlotStyle->{Arrowheads[{{0.25,0.8}}],Thickness[0.01]},ImageSize->Tiny];
permutation3={1->"2",2->"1",3->"3"};
f3=GraphPlot[permutation3,VertexCoordinateRules->{1->{1,3},2->{1,2},3->{1,1},"1"->{2,3},"2"->{2,2},"3"->{2,1}},VertexLabeling->True,DirectedEdges->True,SelfLoopStyle->None,PlotStyle->{Arrowheads[{{0.25,0.8}}],Thickness[0.01]},ImageSize->Tiny];
permutation4={1->"1",2->"3",3->"2"};
f4=GraphPlot[permutation4,VertexCoordinateRules->{1->{1,3},2->{1,2},3->{1,1},"1"->{2,3},"2"->{2,2},"3"->{2,1}},VertexLabeling->True,DirectedEdges->True,SelfLoopStyle->None,PlotStyle->{Arrowheads[{{0.25,0.8}}],Thickness[0.01]},ImageSize->Tiny];
permutation5={1->"3",2->"2",3->"1"};
f5=GraphPlot[permutation5,VertexCoordinateRules->{1->{1,3},2->{1,2},3->{1,1},"1"->{2,3},"2"->{2,2},"3"->{2,1}},VertexLabeling->True,DirectedEdges->True,SelfLoopStyle->None,PlotStyle->{Arrowheads[{{0.25,0.8}}],Thickness[0.01]},ImageSize->Tiny];

m[]:=DynamicModule[{},
" ",
Initialization:>(SetOptions[EvaluationNotebook[],PrivateNotebookOptions->{"PluginToolbarEnabled"->False},DockedCells->Cell[BoxData[ToBoxes[Row[{Column[{Image[,ImageSize->125],"Prof. Madani"},ItemSize->{20,Automatic}],Column[{"Magnify",PopupMenu[Dynamic[CurrentValue[EvaluationNotebook[],"Magnification"]],Range[0.5,3,0.5]]}],"           ",Image[,ImageSize->90]},Spacer[5]]]],"DockedCell"]];)
]

CDF

(CDFDeploy[ToFileName[{$UserDocumentsDirectory},"cs248_groups.cdf"],CreateDocument[{
Pane@Text[
Style["Introduction to Algebra and Algebraic Structures",Bold,Darker[Orange],30]],
Spacer[100],
Pane@Text[Style["Our mathematical studies are usually focused on sets equipped with one or more binary operations.", 16]
],
Spacer[100],
Pane@Text[Style["Examples:", 16]
],
Pane@Text[Style["1. Set of integers under + and ×.", 16]
],
Pane@Text[Style["2. Logical propositions under conjunction and disjunction.", 16]
],
Pane@Text[Style["3. Such operations exhibit similarities in which they can be manipulated.", 16]
],
Spacer[100],
Pane@Text[
Style["1. Binary Operations, Semigroups, Monoids and Groups",Bold,Lighter[Darker[Orange]],23]],
Pane@Text[
Style["1.1. Binary operations ",Bold,Darker[Lighter[Darker[Orange]]],20]],
Pane@Text[Style["The most basic setting for mathemtical computation is set together with a binary operation. The familiar operations of addition and multiplication are the prototypical binary operations.", 16]],

Spacer[100],
Pane@Text[Style["Definition 1.1.1",Bold, 16]],
Pane@Text[Style["A binary operation ⋆ on a set A is a function (Subscript[f, ⋆]) : A × A ⟶ A",16]],
Pane@Text[Style["Example 1.1.1.",Bold,15]],
Pane@Text[Style["Define (SubPlus[f]) : ℤ × ℤ ⟶ ℤ   by   (SubPlus[f])(a,b) = a + b",16]],
Pane@Row[{
Text[Style["or in an abstract form:",16]], "    ",
Pane@Column[{
makeTextTable[{{"*","a","b","c"},{"a","a","b","c"},{"b","b","c","a"},{"c","c","a","b"}}]
,Text[Style["Table 1.1.1",Bold,13]]
}]
}],
Pane@Text[Style["The table is symmetric. Same entry for (x,y) and (y,x) which means that x ⋆ y = y ⋆ x. The operations is commutative. We also may verify that x ⋆ ( y ⋆ z ) = ( x ⋆ y ) ⋆ z. The operation is associative.",16]],
Spacer[100],
Pane@Text[Style["Definition 1.1.2",Bold, 16]],
Pane@Text[Style["A binary operation ⋆ on a set A is said to be associative if for every elements a,b, and c in A, we have: ",16]],
Pane@Text[Style["a ⋆ ( b ⋆ c ) = ( a ⋆ b ) ⋆ c.",Bold,16]],
Spacer[100],
Pane@Text[Style["Definition 1.1.3",Bold, 16]],
Pane@Text[Style["A binary operation ⋆ on a set A is commutative if for every a and b in A, we have : ",16]],
Pane@Text[Style["a ⋆ b = b ⋆ a.",Bold,16]],
Spacer[100],
Pane@Text[Style["Example 1.1.2.",Bold,15]],
Pane@makeTextTable[{{"(_,*)","Associative","Commutative"},
{"(ℝ,·)","Yes","Yes"},
{"(ℕ,-)","No","No"},
{"(ℝ,-)","No","No"},
{Column[{"(ℝ,#)","x # y=|x-y|"}],"No","Yes"},
{makeTextTable[{{"*","a","b"},{"a","b","a"},{"b","a","a"}}],"No","Yes"}
}],
Spacer[100],
Pane@Text[
Style["1.2. Semigroups ",Bold,Darker[Lighter[Darker[Orange]]],20]],
Pane@Text[Style["Let A be a set and let ⋆ be a binary associative operation on A. We call A a semigroup under ⋆ and denote this algebraic structure by (A,⋆).",16]],
Pane@Text[Style["Examples 1.2.1.",Bold,15]],
Pane@Text[Style["1.2.1.1. (ℤ,+)",16]],
Pane@Text[Style["1.2.1.2. (ℤ,·)",16]],
Pane@Text[Style["1.2.1.3. (sets,⋃)",16]],
Pane@Text[Style["1.2.1.4. (sets,⋂)",16]],
Spacer[100],
Pane@Text[Style["Now if we looked back into Table 1.1.1., (A,⋆), we find that x ⋆ a = x. The same role is played by the number 1 on the integers ℤ under multiplication, 1.x = x. The same with (ℤ,+) and 0. But in the set og integers there is no element e such that e - x = x but x - 0 = x. Therefore the following:",16]],

Spacer[100],
Pane@Text[Style["Definition 1.2.1.",Bold, 16]],
Pane@Text[Style["Let * be a binary operation on a set A. Let e be an element of A.", 16]],
Pane@Text[Style["a) we say that e is a right indentity element if for each element x in A, we have:", 16]],
Pane@Text[Style["x * e = x.", Bold,16]],
Pane@Text[Style["b) we say that e is a left indentity element if for each element x in A, we have:", 16]],
Pane@Text[Style["e * x = x.", Bold,16]],
Pane@Text[Style["c) we say that e is an indentity if it is both right and left element.", 16]],
Spacer[100],
Pane@Text[Style["Examples 1.2.2.",Bold,15]],
Pane@Text[Style["1.2.2.1. For (ℤ,+) 0 is both right and left identity", 16]],
Pane@Row[{ Text[Style["1.2.2.2. Consider the following table : ", 16]], " ",Column[{makeTextTable[{{"","a","b","c"},{"a","a","b","c"},{"b","a","c","b"},{"c","a","b","c"}}],Text[Style["Table 1.2.1.",Bold,13]]}]}],
Pane@Text[Style["            both a and c are left identities.", 16]],
Pane@Text[Style["There is no way that there exist one right identity and one left identity, for the same (A,*), that are distinct.", 16]],
Spacer[100],
Pane@Text[Style["Proposition 1.2.1.",Bold,15]],
Pane@Text[Style["Let (A,*) be given. Let (Subscript[e, R]) : be the right identity and (Subscript[e, L]) : be the left identity. Then (Subscript[e, R]) = (Subscript[e, L])"  ,16]],
Pane@Text[Style["Proof:",Bold,15]],
Pane@Text[Style["(Subscript[e, R]) * (Subscript[e, L]) = (Subscript[e, R]) ",16]],
Pane@Text[Style["(Subscript[e, L]) * (Subscript[e, R]) = (Subscript[e, L]) ",16]],
Pane@Text[Style["Therefore, (Subscript[e, R]) = (Subscript[e, L]) .",16]],
Spacer[100],
Pane@Text[
Style["1.3. Monoids ",Bold,Darker[Lighter[Darker[Orange]]],20]],
Pane@Text[Style["Definition 1.3.1.",Bold, 16]],
Pane@Text[Style["Let (A,*) be a semigroup. Let e be an identity in A, we call A a monoid, and denote the algebraic structure (A,*,e). The most familiar monoids are (ℤ,+,0), (ℤ,·,1).",16]],
Spacer[100],
Pane@Text[Style["Example 1.3.1.",Bold,15]],
Pane@Text[Style["(𝒫(𝓈), ⋂, 𝓈)",16]],
Spacer[100],
Pane@Text[Style["Definition 1.3.2.",Bold, 16]],
Pane@Text[Style["Let * ba a binary operation on a set A, and let B be a subset of A, B ⊆ A. B is said to be closed under * if for every pair of elements (x,y) in B × B, we have x*y also in B.",16]],
Spacer[100],
Pane@Text[Style["Examples 1.3.2.",Bold,15]],
Pane@Text[Style["1.3.2.1. ( set of even integers (Subscript[E, e]), + ), ( {...,-2,0,2,4,...} , + ) closed under +.",16]],
Pane@Text[Style["1.3.2.2. ( set of odd integers (Subscript[E, 0]), + ), is not closed. 3+5 = 8 ∉ (Subscript[E, 0])",16]],
Spacer[100],
Pane@Text[Style["Definition 1.3.3.",Bold, 16]],
Pane@Text[Style["Let (A,*,e) be a monoid, and let B be a subset of A. The set B is a submonoid of A if B is closed under *, and e is an element of B.",16]],
Spacer[100],
Pane@Text[Style["Examples 1.3.3.",Bold,15]],
Pane@Text[Style["1.3.3.1. ( set of even integers = (Subscript[E, e]), + ) is a submonoid of (ℤ,+)",16]],
Pane@Text[Style["1.3.3.2. ( (Subscript[E, e]), · ), is not submonoid of (ℤ,·)",16]],
Pane@Text[Style["1.3.3.3. ( 𝒫(𝓈), ⋂ ) and ( 𝒫(A), ⋂ ) , both are monoids, for 𝒮 ⊂ A , 𝒫(𝒮) is not a submonoid, because they don't have the same identity.",16]],
Spacer[100],
Pane@Text[Style["Exercise:",Bold,16]],
Pane@Text[Style["We wish to obtain the smallest monoid 𝒮 of ( ℤ , + , 0 ) that contains 6 and -4. ",16]],
Pane@Text[Style["Of course 𝒮 must contain 0 and must be closed. Thus it must contain: 0, 6, -4, 6 - 4 = 2, -4 + 2 = -2, -4 - 2 = -6, 6 - 2 = 4",16]],
Pane@Text[Style[" ⇒ (Subscript[E, e]) must be the smallest submonoid of ℤ that contais 6 and -4",16]],
Spacer[100],
Pane@Text[
Style["1.4. Groups ",Bold,Darker[Lighter[Darker[Orange]]],20]],

Pane@Text[Style["Within the structure of a monoid (A,*,e) we are guaranteed that we can aolve for x in even the simplest equation of the form a * x = b where a, and b ∈ B. ",16]],
Spacer[100],
Pane@Text[Style["Examples 1.4.1.",Bold,15]],
Pane@Text[Style["1.4.1.1. (ℤ,·,1) 3x = 5 no integer solution",16]],
Pane@Text[Style["1.4.1.2. (ℤ,+,0) we can solve always the equation a + x = b for exactly one value of x.",16]],
Spacer[100],
Pane@Text[Style["In this section we examine monoids like (ℤ,+,0) in which the equation a * x = b has always a solution. Such structures are called groups.",16]],
Spacer[100],
Pane@Text[Style["Definition 1.4.1.",Bold, 16]],
Pane@Text[Style["Let * be a binary operation on the set A, and let e be the identity element for *. Let a and b be elements of A we say that b is the inverse of a if a * b = b * a = e and we write b = \!(a^(-1))",16]],
Spacer[100],
Pane@Text[Style["Definition 1.4.2.",Bold, 16]],
Pane@Text[Style["Given a monoid (A,*,e). If every element x of A has an inverse then we call (A,*,e) a group.",16]],
Spacer[100],
Pane@Text[Style["More formal we can define group as:",16]],
Spacer[100],
Pane@Text[Style["Definition 1.4.3.",Bold, 16]],
Pane@Text[Style["A group is a non-empty set G together with an associative binary operation * such that:",16]],
Pane@Text[Style["1. ∃ e∈G, ∀ x∈G, e*x = x*e = x.",16]],
Pane@Text[Style["2.  ∀ x∈G, ∃ y∈G, x*y = y*x = e",16]],
Spacer[100],
Pane@Text[Style["The element e is called an identity of the group. The element y is an inverse of x. However, it may be shown that these are unique elements of the set G and so we say \"e is the identity\" and that \"y is the inverse of x\". Since inverses are unique, then we denote the inverse of x as (x^(-1)).",16]],
Spacer[100],
Pane@Text[Style["Definition 1.4.4.",Bold, 16]],
Pane@Text[Style["If (A,*,e) be a group and the operation * is commutative, we call A an abelian group.",16]],
Spacer[100],
Pane@Text[Style["Definition 1.4.5.",Bold, 16]],
Pane@Text[Style["Let (A,*,e) be a group. The order of the group is the cardinality of A. It is defined |A|.",16]],
Spacer[100],
Pane@Text[Style["Unfortunately, the word order is also associated with an element of a group and while there is a connection, it tends to be confusing in a first time meeting.",16]],
Spacer[100],
Pane@Text[Style["Definition 1.4.6.",Bold, 16]],
Pane@Text[Style["The order of an element g is the least positive integer k such that (g^k) is the identity. For a group in which + is the binary operation we need to read this as the least positive integer k such that kg = g + g + ... + g is the identity. If no such integer k exists, then g has infinite order.",16]],
Spacer[100],
Pane@Text[Style["One warning here. If we know that in a group (a^k) is the identity, k>0, it does not mean that the order of a is k. It could happen that some smaller positive integer r would give (a^r) = e. It must be remembered that the order of an element is the LEAST POSITIVE INTEGER or else it does not exist.",16]],
Spacer[100],
Pane@Text[Style["Examples 1.4.2.",Bold,15]],
Pane@Text[Style["1.4.2.1. a * x = b   ⇒ ",16]],
Pane@Text[Style["         (a^(-1)) * b = (a^(-1)) * a * x = e * x = x  ",16]],
Pane@Text[Style["         (a^(-1)) * b = x  ",16]],
Pane@Text[Style["1.4.2.2. (ℤ,+,0) is an abelian group. ",16]],
Pane@Text[Style["1.4.2.3. (ℚ,·,1) is not a group. ",16]],
Pane@Text[Style["1.4.2.4. ((SuperPlus[ℚ]),·,1) is an abelian group. ",16]],
Pane@Text[Style["1.4.2.5. (ℤ,+,0) and ((SuperPlus[ℚ]),·,1) are groups of finite order. ",16]],
Pane@Text[Style["1.4.2.6. The rational numbers, real numbers and complex numbers form groups under addition. ",16]],
Pane@Text[Style["1.4.2.7. The positive reals, (SuperPlus[ℝ]), under multiplication of real numbers is a group.",16]],
Pane@Text[Style["1.4.2.8. The invertible n × n matrices with entries in the real numbers form a group under matrix multiplication. ",16]],
Pane@Text[Style["1.4.2.9. The  m × n matrices with entries in the real numbers form a group under matrix addition.",16]],
Pane@Text[Style["1.4.2.10. The integers {0,1,2,,...,n-1} form a group under addition modulo n. This group is known as (Subscript[ℤ, n]).",16]],
Pane@Text[Style["1.4.2.11. For n a fixed positive integer, n>1, let (Subscript[U, n]) be the set of positive integers less than n and coprime to n. Under multiplication modulo n this is a group.",16]],
Pane@Text[Style["1.4.2.12. The eight 2 x 2 matrices with entries in the complex numbers, made up of 4 diagonal matrices (i,-i), (-1,-1), (-i,i),(1,1) and 4 antidiagonal matrices (0,1,-1,0 , (0,-1,1,0), (0,i,i,0), (0,-i,-i,0), form a group under matrix multiplication. This group is known as the quaternion group and denoted by (Subscript[ℚ, 8]).",16]],
Pane@Text[Style["1.4.2.13. The rotations and reflections of a regular n-gon form a group where the binary operation is function composition. Here the rotations are about an angle \!\(\*FractionBox[\(\(2\)  \(π\)\(\\ \\ \)\), \(n\)]\) around the axis through the center of the n-gon. This ensures that a vertex ends up at the location of a vertex. The reflections are either about lines joining midpoint of an edge to an opposite vertex (when n is odd) or about lines joining opposite vertices or opposite edges if n is even. This group is referred to as the symmetry group of the n-gon (or the dihedral group of order 2n) and is denoted by (Subscript[𝔻, n]). Some authors use (Subscript[𝔻, 2  n]).",16]],
Spacer[100],
Pane@Text[Style["Example 1.4.3.",Bold,15]],
Pane@Text[Style["Abelian group of order 4:",16]],
Pane@makeTextTable[{{"*","a","b","c","d"},{"a","a","b","c","d"},{"b","b","c","d","a"},{"c","c","d","a","b"},{"d","d","a","b","c"}}],
Spacer[100],
Pane@Text[Style["In general we denote a group by ( G , · )",16]],
Spacer[100],
Pane@Text[
Style["1.4.A. Exponent notation ",Bold,Lighter[Darker[Lighter[Darker[Orange]]]],19]],
Spacer[100],
Pane@Text[Style["The product of i (a positive integer) copies of the element g in a group is denoted by  (g^i). This is defined inductively as (g^0)=e and for i ⩾ 1, (g^i) = (g^i)(g^(i - j)). For i>0 we define  (g^(-i)) = ((g^(-1)))^i. This is also equal to ((g^(-i)))^1.",16]],
Pane@Text[Style["It is easily shown that the rules of exponents (g^i)(g^j)= (g^(i + j)), ((g^i)\!\(\*SuperscriptBox[\()\), \(\(j\)\(\\ \)\)]\) hold in a group. What is not necessarily true is the law of exponents  (xy)^m = (x^m)(y^m) which we use in algebra of the real numbers. This holds in the reals because multiplication is commutative. Indeed, this law of exponents holds in an abelian group.",16]],
Pane@Text[Style["When we use + for the binary operation, these rules translate to 0g = 0 and ig = g + (i-1)g for the inductive definition. Also, (-i)g = i(-g). We have (ig) + (jg) = (i+j)g and j(ig) = (ji)g.",16]],
Spacer[100],
Pane@Text[
Style["1.4.B. Permutation Group ",Bold,Lighter[Darker[Lighter[Darker[Orange]]]],19]],
Pane@Text[Style["Definition 1.4.B.1.",Bold, 16]],
Pane@Text[Style["Let (Subscript[x, n]) = {1,2,...,n}. A permutation is bijection f from (Subscript[x, n]) ⟶ (Subscript[x, n])" ,16]],
Spacer[100],
Pane@Text[Style["Now we show one of the methods of presenting permutation. Let us consider finite set A = {1,2,..,n}. We may present such a permutation as:",16]],
Pane@Text[Style["f = (\!\(\*GridBox[{
{1},
{SubscriptBox["i", "1"]}
}]\) \!\(\*GridBox[{
{2},
{SubscriptBox["i", "2"]}
}]\) ... \!\(\*GridBox[{
{n},
{SubscriptBox["i", "n"]}
}]\))",16]],
Pane@Text[Style["where the (Subscript[i, j]) are distinct elements of A.",16]],
Spacer[100],
Pane@Text[Style["There are two other common ways to write such a permutation. If the set A is understood to be a set of consecutive integers (or an ordered set) then the top line is deleted so we would write:",16]],
Pane@Text[Style["f = ((Subscript[i, 1])  (Subscript[i, 2]) ... (Subscript[i, n]) )",Bold,16]],
Pane@Text[Style[" where it is understood that  f maps 1 to  (Subscript[i, 1]) etc. We shall not use this way of writing permutations. The second way, and the method we shall use in these notes, is to write the permutation as a product of disjoint cycles. A cycle is constructed as follows: Choose some starting element, say i∈A. Now compute the elements if,(if)f, and so on until we arrive back at the element i (this is guaranteed if A is finite). Enclose this list of elements of A in parentheses to form the cycle  where ( i if (if)f ... (if^k)) by (f^k) we mean f applied to i k-times. Now repeat the process to form the next cycle choosing as starting element an element of A that has not appeared in any previous cycle. The process ends when every element of A appears in exactly one cycle. The representation of f is then obtained by juxtaposing (multiplying) these disjoint cycles. It is usual to suppress cycles containing only one element.",16]],
Spacer[100],
Pane@Text[Style["The set of all permutations on a set Ω is denoted by (Subscript[S, Ω]). Under the binary operation of function composition, (Subscript[S, Ω]) is a group and is called the symmetric group on Ω . In the case that Ω = {1,2,3,...,n} then we customarily write the symmetric group as (Subscript[S, n]) and talk about the symmetric group of degree n. The order of (Subscript[S, n]) is n! as is easily seen using the \"two row\" method to write a permutation.",16]],
Pane@Text[Style["The set of even permutations in (Subscript[S, n]) forms a subgroup. This subgroup is called the Alternating Group and is denoted by (Subscript[A, n]) . Its order is ((n!)/2).",16]],
Pane@Text[Style["A permutation group is a subgroup of a symmetric group on some set Ω.",16]],
Spacer[100],
Pane@Text[Style["Definition 1.4.B.2.",Bold, 16]],
Pane@Text[Style["Let (Subscript[S, n]) be the set of all bijection (Subscript[S, n]) = { f : (Subscript[x, n]) ⟶ (Subscript[x, n]), f is bijective }. (Subscript[S, n]) is called the permutation group of the set (Subscript[x, n])." ,16]],
Spacer[100],

Pane@Text[
Style["1.4.B.A. Order of permutation ",Bold,Darker[Lighter[Darker[Lighter[Darker[Orange]]]]],18]],
Pane@Text[Style["A cycle that contains finitely many elements is a finite cycle and the cycle length is the number of elements it contains.",16]],
Pane@Text[Style["Let f be a permutation written as a finite product of disjoint cycles of finite length. The order of f is the least common multiple of the lengths of the cycles.",16]],
Pane@Text[Style["A transposition is a cycle of length two. Clearly a transposition has order two, but there are permutations of order two that are not transpositions.",16]],
Pane@Text[Style["One important application of transpositions is that every permutation may be written as a product of transpositions (although not necessarily disjoint and not uniquely). A permutation is an even permutation if it is a product of an even number of transpositions and an odd permutation if it is a product of an odd number of transpositions.",16]],
Pane@Text[Style["As the definition suggests, a permutation cannot be both odd and even. However, the decomposition into a product of transpositions is not unique nor is the number of transpositions unique. For example, the permutation (1 2 3) may be written as (1 2)(1 3), or (1 3)(2 3)(1 2)(1 2). Of course, the identity permutation is an even permutation.",16]],
Spacer[100],
Pane@Text[
Style["1.4.B.B. Products of permutation ",Bold,Darker[Lighter[Darker[Lighter[Darker[Orange]]]]],18]],
Pane@Text[Style["In order to form the product of permutations fρ we mean apply f first and then apply ρ. In terms of the cycle representation this means that products are carried out reading from left to right. This assumes that you are now writing functions on the right! To carry out a product we construct cycles as described above but with one difference. Select an element i∈A. The next element in the cycle is ifρ followed by i(fρ)^2 etc. Repeat this procedure until every element of A appears in some cycle, again single cycles are suppressed.",16]],
Pane@Text[Style["To illustrate this, if f = (1 4 5)(2 3) and ρ = (2 4)(5 1) then find fρ and (f^2).",16]],
Pane@Text[Style["fρ = (1 4 5)(2 3)(2 4)(5 1) = (1 2 3 4)",16]],
Pane@Text[Style["(f^2) = (1 4 5)(2 3)(1 4 5)(2 3) = (1 5 4)",16]],
Pane@Text[Style["Note that the cycle in ρ was written as (5 1) but could have been written as (1 5).",16]],
Pane@Text[Style["Another way to carry out this multiplication process (although no different from what has already been said) is as follows. Write down your starting element. Read the cycles from left to right. If the starting element is in a cycle read its successor (you may have to wrap around to the beginning of the cycle). This is you new number. Now go to the next cycle in which this new number appears. Read its successor and this becomes the new number. Repeat until you reach the end of the cycles (you have reached the rightmost end). This is now written as the successor of the starting element. Now this number becomes the new starting element. Repeat the above to find its successor. When you obtain a successor which is the original starting element, close off your cycle. Open up a new cycle and start all over again until all numbers have appeared in exactly one cycle. Now erase cycles of length one.",16]],
Spacer[100],
Pane@Text[
Style["1.4.B.C. Finding the inverse permutation ",Bold,Darker[Lighter[Darker[Lighter[Darker[Orange]]]]],18]],
Pane@Text[Style["As a permutation is a bijection, then it has an inverse which is also a bijection. The inverse merely undoes what the original function does. Thus if if=j then its inverse (f^(-1)) maps j to i.",16]],
Pane@Text[Style["To find the inverse of a permutation that is a cycle all we have to do is write the elements of the cycle in reverse order. Thus the inverse of (1 2 3 4) is (4 3 2 1). Since a cycle can be written with any of its elements as the first term we can also write this inverse as (1 4 3 2). This gives an alternative way to write down the inverse of a cycle. Fix the first element in the cycle and write the remaining elements in reverse order. Thus, the inverse of (1 2 3 4 5) is (1 5 4 3 2).",16]],
Pane@Text[Style["In the case that the permutation is a product of cycles we must reverse the order of the cycles as well as invert each cycle. As an example, the inverse of (1 3 6 2)(3 7)(2 4 5) is (5 4 2)(7 3)(2 6 3 1) which can also be wriiten as (2 5 4)(3 7)(1 2 6 3).",16]],
Pane@Text[Style["For permutations written as the product of disjoint cycles we need only invert each cycle. For example, the inverse of (1 2 3)(5 6)(9 10) is (3 2 1)(6 5)(9 10) which can also be written as (1 3 2)(5 6)(9 10). Note that cycles of length two do not have to be inverted.",16]],
Pane@Text[Style["One might ask why we don't write the cycles in reverse order when finding the inverse of a permutation written as a product of disjoint cycles. The answer is that you can do that but why? Since the cycles are disjoint then they all commute with each other and so the order of the disjoint cycles does not matter. For example, the inverse of (1 5 2 3)(4 6 7) is (7 6 4)(3 2 5 1). (Note this reverses the elements in each cycle and the order of the cycles.) Now as the cycles are disjoint the inverse can be written as (3 2 5 1)(7 6 4) and the effect is the same as just inverting each cycle.",16]],
Pane@Text[Style["Note that if we want to find the inverse of a permutation consisting of non disjoint cycles we could first multiply out the cycles and then proceed to find the inverse of the permutation as a product of disjoint cycles. For example we found the inverse of (1 3 6 2)(3 7)(2 4 5) to be (5 4 2)(7 3)(2 6 3 1). Now we'll find the inverse in a different way. First multiply out the cycles in (1 3 6 2)(3 7)(2 4 5) to get (1 7 3 6 4 5 2) and now invert to get (1 2 5 4 6 3 7). While this does look different to the inverse we found it is actually identical and we can see that by writing the inverse (5 4 2)(7 3)(2 6 3 1) in disjoint cycle form. That is done by multiplying out the cycles and we get (1 2 5 4 6 3 7) as before.",16]],
Pane@Text[Style["One can always check if the inverse is correct by multiplying the two permutations to see if their product is 1",16]],
Spacer[100],
Pane@Text[
Style["1.4.B.D. Cayley's Theorem ",Bold,Darker[Lighter[Darker[Lighter[Darker[Orange]]]]],18]],
Pane@Text[Style["We now give one of the most important results in group theory. It shows that every group is isomorphic to a group of permutations. That is, every group is isomorphic to a subgroup of the symmetric group on some suitable set Ω.",16]],
Pane@Text[Style["Cayley's Theorem Every group is isomorphic to a group of permutations.",16]],
Pane@Text[Style["PROOF: The proof of this result is constructive in that it gives you an algorithm for converting a group into a permutation group. Let G be a group and let (Subscript[S, G]) be the symmetry group of G (thought of as a set). For each g∈G let (Subscript[f, g]) be the permutation defined by",16]],
Pane@Text[Style["∀x∈G, (Subscript[xf, g]) = xg",16]],
Pane@Text[Style["In other words, (Subscript[f, g]) is derived from right multiplication of the elements of G by g. That (Subscript[f, g]) is a permutation is easily established. For (i),  ((xg^(-1)))(Subscript[f, g])=x shows it is onto and (ii) (Subscript[xf, g]) = (Subscript[yf, g]) if and only if xg=yg if and only if x=y shows that it is one-to-one. Let H = {(Subscript[f, g])|g∈G} and define f: G ⟶ H by gf = (Subscript[f, g]). Then ((Subscript[g, 1])(Subscript[g, 2]))f = (Subscript[f, (Subscript[g, 1]) (Subscript[g, 2])]) . Now for any x∈G we have",16]],
Pane@Text[Style["(Subscript[xf, (Subscript[g, 1]) (Subscript[g, 2])]) = x((Subscript[g, 1])(Subscript[g, 2])) = ((Subscript[xg, 1]))(Subscript[g, 2]) = ((Subscript[xf, (Subscript[g, 1])]))(Subscript[f, (Subscript[g, 2])])",16]],
Pane@Text[Style["Hence, (Subscript[f, (Subscript[g, 1]) (Subscript[g, 2])]) = (Subscript[f, (Subscript[g, 1])])(Subscript[f, (Subscript[g, 2])]) and ((Subscript[g, 1])(Subscript[g, 2]))f = (Subscript[g, 1])(Subscript[fg, 2])f, proving f is a homomorphism. Clearly f is onto H. If (Subscript[g, 1])f = (Subscript[g, 2])f, then for all x∈G we have (Subscript[xg, 1]) = (Subscript[xg, 2]). Therefore, (Subscript[g, 1]) = (Subscript[g, 1]) and f is one-to-one. Thus, H is a subgroup of (Subscript[S, G]) and isomorphic to G.",16]],
Pane@Text[Style["Consequently, if G is finite of order n then G is isomorphic to a subgroup of (Subscript[S, n]). It is possible, as we shall see later on, that G is isomorphic to a subgroup of (Subscript[S, k]) where k<n. This raises the question of what is the smallest positive integer r so that G is isomorphic to a subgroup (Subscript[S, r])? As an example, consider the symmetry group of the equilateral triangle, (Subscript[S, 3]). Cayley's Theorem would yield a representation of the elements as permutations of {1,2,3,4,5,6}. However, if we label the vertices of the triangle with the numbers 1, 2 and 3, then we see that the elements may be represented as permutations of {1,2,3}. With one certain labelling, we would get the rotation through (120^∘) to correspond to (1 2 3) and the rotation about the y-axis to be (2 3).",16]],
Spacer[100],
Pane@Text[Style["Example 1.4.B.1.",Bold,15]],
Pane@Row[{Column[{"(Subscript[f, 0])",f0}],Spacer[40],Column[{"(Subscript[f, 1])",f1}],Spacer[40],Column[{"(Subscript[f, 2])",f2}],Spacer[40],Column[{"(Subscript[f, 3])",f3}],Spacer[40],Column[{"(Subscript[f, 4])",f4}],Spacer[40],Column[{"(Subscript[f, 5])",f5}]}],
Spacer[10],
Pane@Row[
{makeTextTable[{
{"∘","(Subscript[f, 0])","(Subscript[f, 1])","(Subscript[f, 2])","(Subscript[f, 3])","(Subscript[f, 4])","(Subscript[f, 5])"}
,{"(Subscript[f, 0])","(Subscript[f, 0])","(Subscript[f, 1])","(Subscript[f, 2])","(Subscript[f, 3])","(Subscript[f, 4])","(Subscript[f, 5])"}
,{"(Subscript[f, 1])","(Subscript[f, 1])","(Subscript[f, 2])","(Subscript[f, 0])","(Subscript[f, 5])","(Subscript[f, 3])","(Subscript[f, 4])"}
,{"(Subscript[f, 2])","(Subscript[f, 2])","(Subscript[f, 0])","(Subscript[f, 1])","(Subscript[f, 4])","(Subscript[f, 5])","(Subscript[f, 3])"}
,{"(Subscript[f, 3])","(Subscript[f, 3])","(Subscript[f, 4])","(Subscript[f, 5])","(Subscript[f, 0])","(Subscript[f, 1])","(Subscript[f, 2])"}
,{"(Subscript[f, 4])","(Subscript[f, 4])","(Subscript[f, 5])","(Subscript[f, 3])","(Subscript[f, 2])","(Subscript[f, 0])","(Subscript[f, 1])"}
,{"(Subscript[f, 5])","(Subscript[f, 5])","(Subscript[f, 3])","(Subscript[f, 4])","(Subscript[f, 1])","(Subscript[f, 2])","(Subscript[f, 0])"}
}],
"   ",
Column[{"It is a group.","(Subscript[f, 1]) ∘ (Subscript[f, 3]) = \!\(\*SubscriptBox[\(f\), \(\(5\)\(\\ \)\)]\) ≠ (Subscript[f, 3]) ∘ (Subscript[f, 1]) = (Subscript[f, 4])","\!\(\*SuperscriptBox[SubscriptBox[\(f\), \(2\)], \(\(-1\)\(\\ \\ \)\)]\)= (Subscript[f, 1]) "}]
}],
Spacer[10],
Pane@Text[Style["(Subscript[f, 1]) ∘ (Subscript[f, 3]) = (\!\(\*GridBox[{
{123},
{231}
}]\)) ∘ (\!\(\*GridBox[{
{123},
{213}
}]\)) = (\!\(\*GridBox[{
{123},
{321}
}]\)) = \!\(\*SubscriptBox[\(f\), \(\(5\)\(\\ \)\)]\)",16]],
Pane@Text[Style["(Subscript[f, 3]) ∘ (Subscript[f, 1]) = (\!\(\*GridBox[{
{123},
{213}
}]\)) ∘ (\!\(\*GridBox[{
{123},
{231}
}]\)) = (\!\(\*GridBox[{
{123},
{132}
}]\)) = (Subscript[f, 4])",16]],
Pane@Text[Style["\!\(\*SuperscriptBox[SubscriptBox[\(f\), \(2\)], \(\\ \)]\) = (\!\(\*GridBox[{
{123},
{312}
}]\))",16]],
Pane@Text[Style["\!\(\*SuperscriptBox[SubscriptBox[\(f\), \(2\)], \(\(-1\)\(\\ \\ \)\)]\) = (\!\(\*GridBox[{
{123},
{231}
}]\))",16]],
Spacer[10],
Pane@Text[Style["Find g using cancellation law",16]],
Pane@Text[Style["g ∘ \!\(\*SuperscriptBox[SubscriptBox[\(f\), \(2\)], \(\\ \)]\) = (Subscript[f, 3])   ⟶  g ∘ (Subscript[f, 2]) ∘ \!\(\*SuperscriptBox[SubscriptBox[\(f\), \(2\)], \(\(-1\)\(\\ \\ \)\)]\)= (Subscript[f, 3]) ∘ \!\(\*SuperscriptBox[SubscriptBox[\(f\), \(2\)], \(\(-1\)\(\\ \\ \)\)]\) ⟶ g = (Subscript[f, 3]) ∘ \!\(\*SuperscriptBox[SubscriptBox[\(f\), \(2\)], \(\(-1\)\(\\ \\ \)\)]\)=  (Subscript[f, 3]) ∘ (Subscript[f, 1]) = (Subscript[f, 4]) ",16]],
Pane@Text[Style["(Subscript[f, 2]) ∘ g = (Subscript[f, 3])   ⟶  \!\(\*SuperscriptBox[SubscriptBox[\(f\), \(2\)], \(\(-1\)\(\\ \\ \)\)]\) ∘ (Subscript[f, 2]) ∘ g = \!\(\*SuperscriptBox[SubscriptBox[\(f\), \(2\)], \(\(-1\)\(\\ \\ \)\)]\)∘ (Subscript[f, 3]) ⟶ g = \!\(\*SuperscriptBox[SubscriptBox[\(f\), \(2\)], \(\(-1\)\(\\ \\ \)\)]\)∘ (Subscript[f, 3]) = (Subscript[f, 1]) ∘ (Subscript[f, 3]) = \!\(\*SubscriptBox[\(f\), \(\(5\)\(\\ \)\)]\) ",16]],
Spacer[10],
Pane@Text[Style["Example 1.4.B.2.",Bold,15]],
Pane@Text[Style["If A={1,2,3,4,5,6,7,8,9,10} here are two of the three ways we discussed to write a certain permutation:",16]],
Pane@Text[Style["f = (\!\(\*GridBox[{
{1},
{2}
}]\) \!\(\*GridBox[{
{2},
{3}
}]\) \!\(\*GridBox[{
{3},
{1}
}]\) \!\(\*GridBox[{
{4},
{4}
}]\) \!\(\*GridBox[{
{5},
{6}
}]\) \!\(\*GridBox[{
{6},
{5}
}]\) \!\(\*GridBox[{
{7},
{7}
}]\) \!\(\*GridBox[{
{8},
{8}
}]\) \!\(\*GridBox[{
{9},
{10}
}]\) \!\(\*GridBox[{
{10},
{9}
}]\))= (123)(56)(910)",16]],
Pane@Text[Style["where in the cycle notation we have suppressed the cycles (4)(7)(8). In a cycle such as  (123) we mean that the permutation maps 1 to 2, maps 2 to 3 and maps 3 to 1.",16]],
Pane@Text[Style["Note that the cycle (123) can also be written as (312) since it contains the same information, but could not have been written as (321).",16]],
Pane@Text[Style["The six permutations on  A={1,2,3} written as permutations in cycle form are 1,(12),(23),(13),(123),(132).",16]],
Spacer[10],
Pane@Text[
Style["1.5. Subgroups ",Bold,Darker[Lighter[Darker[Orange]]],20]],
Pane@Text[Style["Definition 1.5.1.",Bold, 16]],
Pane@Text[Style["Let (G,·) be a group with respect to a binary operation \"·\". A subset H of G (H ⊂ G) is called a subgroup of (G,·), if H is closed under \"·\" and whenever x∈H, then (x^(-1)) also belongs to H. " ,16]],
Spacer[100],
Pane@Text[Style["In order to test whether a subset is a subgroup it is sufficient to complete the following three tests:",16]],
Pane@Text[Style["1. show e ∈ H.",16]],
Pane@Text[Style["2. show if a,b ∈ H then ab ∈ H.",16]],
Pane@Text[Style["3. show if a ∈ H then (a^(-1)) ∈ H.",16]],
Spacer[100],
Pane@Text[Style["Examples 1.5.1.",Bold,15]],
Pane@Text[Style["1.5.1.1. ( (Subscript[E, e]) , + , 0 )  : The even integers are a subgroup of the integers under addition. Certainly the identity 0 is an even integer, the sum of two even integers is an even integer and the inverse of an even integer is an even integer.",16]],
Pane@Text[Style["1.5.1.2. ( (Subscript[ℤ, 4]) , + , [0] )",16]],
Pane@makeTextTable[{{"(Subscript[+, 4])","0","1","2","3"},{"0","0","1","2","3"},{"1","1","2","3","0"},{"2","2","3","0","1"},{"3","3","0","1","2"}}],
Pane@Text[Style["({[0],[2]},+) is a subgroup of ((Subscript[ℤ, 4]) , + , [0]) because is closed : [0]+[0]=[0] , [0]+[2]=[2] , [2]+[2]=[0] and inverse exist.",16]],
Spacer[10],
Pane@Text[Style["Order of a subgroup is the cardinality of the subset H.",16]],
Spacer[10],
Pane@Text[Style["Notation: Let x∈G, and (G,·) be a group, (x^k) is defined as x operated with itself be times.",16]],
Pane@Text[Style[" If k∈ℤ, (ℤ,+) then (x^k) = \!\(\*OverscriptBox[\(\(x\\  + \\ x\\  + \\ x\\  +  ... \) + \\ x\), OverscriptBox[\(⏞\), \(\(\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \)\(\(k\)\(\\ \)\(times\)\(\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \)\)\)]]\)  ",16]],
Spacer[10],
Pane@Text[Style["A very important result concerning subgroups of finite groups is Lagrange's Theorem which states that the order of a subgroup divides the order of a group.",16]],
Spacer[10],
Pane@Text[Style["Definition 1.5.2.",Bold, 16]],
Pane@Text[Style["Sometimes, it may happen that a subgroup is generated by one element. The subgroup is called cyclic subgroup:" ,16]],
Pane@Text[Style["<x> = {(x^0),x,(x^1),(x^2), ... , (x^(k - 1))} = {e,x,(x^1),(x^2), ... , (x^(k - 1))}.",Bold,16]],
Spacer[10],
Pane@Text[Style["If G = <x>  ⟹  (G,·) is cyclic group.",16]],
Spacer[10],
Pane@Text[Style["Definition 1.5.3.",Bold, 16]],
Pane@Text[Style["A cyclic group is a group in which there is an element x such that each element of the group may be written as (x^k) for some integer k. In additive notation, this translates to k · x. We say that x is a generator of the cyclic group or that the group is generated by x.",16]],
Spacer[10],
Pane@Text[Style["Example 1.5.2.",Bold,15]],
Pane@Text[Style["As an example, the integers under addition is a cyclic group. The number 1 is a generator. This is because for any n in the integers we have n = n · 1. Note that -1 is also a generator.",16]],
Spacer[10],
Pane@Text[Style["Example 1.5.3.",Bold,15]],
Pane@Text[Style["Another example is provided by the set of complex numbers {1,-1,i,-i} under multiplication of complex numbers. A generator is i since  (i^1) = i, (i^2) = -1, (i^3) = -i, (i^4) = 1 . Note that -i is also a generator.",16]],
Spacer[10],
Pane@Text[Style["For a finite cyclic group G having n elements, any element of order n is a generator. If x is a generator having order n then the order of (x^k) is \!\(\*FractionBox[\(\(n\)\(\\ \)\), \(gcd \((n, k)\)\)]\).",16]],
Spacer[10],
Pane@Text[Style["It follows that a cyclic group is an abelian group although not every abelian group is a cyclic group. For example, the rational numbers under addition is not cyclic but is abelian.",16]],
Spacer[10],
Pane@Text[Style["With regard to finite cyclic groups, if G is a finite cyclic group of order n and x is a generator, then <(x^k)> is a cyclic subgroup of order \!\(\*FractionBox[\(\(\\ \)\(n\)\), \(gcd \((n, k)\)\)]\). Indeed, every subgroup of a cyclic group is cyclic. Now Lagrange's Theorem would tell us that a cyclic subgroup of a finite cyclic group of order n must have order a divisor of n. In this case, the converse is true, namely, for every divisor m of n there is a cyclic subgroup of order m. It is generated by (x^k) where x is a generator of the cyclic group and k satisfies km = n. This converse statement is not true for groups in general.",16]],

Pane@m[]
}],
"Method"->"Standalone"];)