<divclass="chlinkprevnexttop"> <ahref="chap0_mj.html">[Top of Book]</a> <ahref="chap0_mj.html#contents">[Contents]</a> <ahref="chap6_mj.html">[Previous Chapter]</a> <ahref="chap8_mj.html">[Next Chapter]</a> </div>
<divclass="ChapSects"><ahref="chap7_mj.html#X7910E575825C713E">7 <spanclass="Heading">Testing Properties of Quasigroups and Loops</span></a>
<divclass="ContSect"><spanclass="tocline"><spanclass="nocss"> </span><ahref="chap7_mj.html#X7960E3FB7A7F0F00">7.1 <spanclass="Heading">Associativity, Commutativity and Generalizations</span></a>
<spanclass="ContSS"><br/><spanclass="nocss"> </span><ahref="chap7_mj.html#X85EDD10586596458">7.2-1 <spanclass="Heading">HasLeftInverseProperty, HasRightInverseProperty and HasInverseProperty</span></a>
<divclass="ContSect"><spanclass="tocline"><spanclass="nocss"> </span><ahref="chap7_mj.html#X7D8CB6DA828FD744">7.3 <spanclass="Heading">Some Properties of Quasigroups</span></a>
<spanclass="ContSS"><br/><spanclass="nocss"> </span><ahref="chap7_mj.html#X7F23D4D97A38D223">7.3-7 <spanclass="Heading">IsEntropic and IsMedial</span></a>
</span>
</div></div>
<divclass="ContSect"><spanclass="tocline"><spanclass="nocss"> </span><ahref="chap7_mj.html#X780D907986EBA6C7">7.4 <spanclass="Heading">Loops of Bol Moufang Type</span></a>
<divclass="ContSect"><spanclass="tocline"><spanclass="nocss"> </span><ahref="chap7_mj.html#X83A501387E1AC371">7.5 <spanclass="Heading">Power Alternative Loops</span></a>
</span>
<divclass="ContSSBlock">
<spanclass="ContSS"><br/><spanclass="nocss"> </span><ahref="chap7_mj.html#X875C3DF681B3FAE2">7.5-1 <spanclass="Heading">IsLeftPowerAlternative, IsRightPowerAlternative and IsPowerAlternative</span></a>
</span>
</div></div>
<divclass="ContSect"><spanclass="tocline"><spanclass="nocss"> </span><ahref="chap7_mj.html#X8176B2C47A4629CD">7.6 <spanclass="Heading">Conjugacy Closed Loops and Related Properties</span></a>
<divclass="ContSect"><spanclass="tocline"><spanclass="nocss"> </span><ahref="chap7_mj.html#X846F363879BAB349">7.8 <spanclass="Heading">Additonal Varieties of Loops</span></a>
<spanclass="ContSS"><br/><spanclass="nocss"> </span><ahref="chap7_mj.html#X85F1BD4280E44F5B">7.8-3 <spanclass="Heading">IsLeftBruckLoop and IsLeftKLoop</span></a>
</span>
<spanclass="ContSS"><br/><spanclass="nocss"> </span><ahref="chap7_mj.html#X857B373E7B4E0519">7.8-4 <spanclass="Heading">IsRightBruckLoop and IsRightKLoop</span></a>
</span>
</div></div>
</div>
<h3>7 <spanclass="Heading">Testing Properties of Quasigroups and Loops</span></h3>
<p>Although loops are quasigroups, it is often the case in the literature that a property of the same name can differ for quasigroups and loops. For instance, a Steiner loop is not necessarily a Steiner quasigroup.</p>
<p>To avoid such ambivalences, we often include the noun <codeclass="code">Loop</code> or <codeclass="code">Quasigroup</code> as part of the name of the property, e.g., <codeclass="code">IsSteinerQuasigroup</code> versus <codeclass="code">IsSteinerLoop</code>.</p>
<p>On the other hand, some properties coincide for quasigroups and loops and we therefore do not include <codeclass="code">Loop</code>, <codeclass="code">Quasigroup</code> as part of the name of the property, e.g., <codeclass="code">IsCommutative</code>.</p>
<p>Returns: <codeclass="code">true</code> if <varclass="Arg">Q</var> is a power associative quasigroup.</p>
<p>A quasigroup <spanclass="SimpleMath">\(Q\)</span> is said to be <em>power associative</em> if every element of <spanclass="SimpleMath">\(Q\)</span> generates an associative quasigroup, that is, a group.</p>
<p>Returns: <codeclass="code">true</code> if <varclass="Arg">Q</var> is a diassociative quasigroup.</p>
<p>A quasigroup <spanclass="SimpleMath">\(Q\)</span> is said to be <em>diassociative</em> if any two elements of <spanclass="SimpleMath">\(Q\)</span> generate an associative quasigroup, that is, a group. Note that a diassociative quasigroup is necessarily a loop, but it need not be so declared in <strongclass="pkg">LOOPS</strong>.</p>
<p>For an element <spanclass="SimpleMath">\(x\)</span> of a loop <spanclass="SimpleMath">\(Q\)</span>, the <em>left inverse</em> of <spanclass="SimpleMath">\(x\)</span> is the element <spanclass="SimpleMath">\(x^\lambda\)</span> of <spanclass="SimpleMath">\(Q\)</span> such that <spanclass="SimpleMath">\(x^\lambda \cdot x = 1\)</span>, while the <em>right inverse</em> of <spanclass="SimpleMath">\(x\)</span> is the element <spanclass="SimpleMath">\(x^\rho\)</span> of <spanclass="SimpleMath">\(Q\)</span> such that <spanclass="SimpleMath">\(x\cdot x^\rho = 1\)</span>.</p>
<p>Returns: <codeclass="code">true</code> if a loop <varclass="Arg">Q</var> has the left inverse property, right inverse property, resp. inverse property.</p>
<p>A loop <spanclass="SimpleMath">\(Q\)</span> has the <em>left inverse property</em> if <spanclass="SimpleMath">\(x^\lambda(xy)=y\)</span> for every <spanclass="SimpleMath">\(x\)</span>, <spanclass="SimpleMath">\(y\)</span> in <spanclass="SimpleMath">\(Q\)</span>. Dually, <spanclass="SimpleMath">\(Q\)</span> has the <em>right inverse property</em> if <spanclass="SimpleMath">\((yx)x^\rho=y\)</span> for every <spanclass="SimpleMath">\(x\)</span>, <spanclass="SimpleMath">\(y\)</span> in <spanclass="SimpleMath">\(Q\)</span>. If <spanclass="SimpleMath">\(Q\)</span> has both the left inverse property and the right inverse property, it has the <em>inverse property</em>.</p>
<p>Returns: <codeclass="code">true</code> if a loop <varclass="Arg">Q</var> has two-sided inverses.</p>
<p>A loop <spanclass="SimpleMath">\(Q\)</span> is said to have <em>two-sided inverses</em> if <spanclass="SimpleMath">\(x^\lambda=x^\rho\)</span> for every <spanclass="SimpleMath">\(x\)</span> in <spanclass="SimpleMath">\(Q\)</span>.</p>
<p>Returns: <codeclass="code">true</code> if a loop <varclass="Arg">Q</var> has the weak inverse property.</p>
<p>A loop <spanclass="SimpleMath">\(Q\)</span> has the <em>weak inverse property</em> if <spanclass="SimpleMath">\((xy)^\lambda x = y^\lambda\)</span> (equivalently, <spanclass="SimpleMath">\(x(yx)^\rho = y^\rho\)</span>) holds for every <spanclass="SimpleMath">\(x\)</span>, <spanclass="SimpleMath">\(y\)</span> in <spanclass="SimpleMath">\(Q\)</span>.</p>
<p>Returns: <codeclass="code">true</code> if a loop <varclass="Arg">Q</var> has the automorphic inverse property.</p>
<p>According to <ahref="chapBib_mj.html#biBAr">[Art59]</a>, a loop <spanclass="SimpleMath">\(Q\)</span> has the <em>automorphic inverse property</em> if <spanclass="SimpleMath">\((xy)^\lambda = x^\lambda y^\lambda\)</span>, or, equivalently, <spanclass="SimpleMath">\((xy)^\rho = x^\rho y^\rho\)</span> holds for every <spanclass="SimpleMath">\(x\)</span>, <spanclass="SimpleMath">\(y\)</span> in <spanclass="SimpleMath">\(Q\)</span>.</p>
<p>Returns: <codeclass="code">true</code> if a loop <varclass="Arg">Q</var> has the antiautomorphic inverse property.</p>
<p>A loop <spanclass="SimpleMath">\(Q\)</span> has the <em>antiautomorphic inverse property</em> if <spanclass="SimpleMath">\((xy)^\lambda=y^\lambda x^\lambda\)</span>, or, equivalently, <spanclass="SimpleMath">\((xy)^\rho = y^\rho x^\rho\)</span> holds for every <spanclass="SimpleMath">\(x\)</span>, <spanclass="SimpleMath">\(y\)</span> in <spanclass="SimpleMath">\(Q\)</span>.<br/></p>
<p>See Appendix <ahref="chapB_mj.html#X84EFA4C07D4277BB"><spanclass="RefLink">B</span></a> for implications implemented in <strongclass="pkg">LOOPS</strong> among various inverse properties.</p>
<p>Returns: <codeclass="code">true</code> if <varclass="Arg">Q</var> is a semisymmetric quasigroup.</p>
<p>A quasigroup <spanclass="SimpleMath">\(Q\)</span> is <em>semisymmetric</em> if <spanclass="SimpleMath">\((xy)x=y\)</span>, or, equivalently <spanclass="SimpleMath">\(x(yx)=y\)</span> holds for every <spanclass="SimpleMath">\(x\)</span>, <spanclass="SimpleMath">\(y\)</span> in <spanclass="SimpleMath">\(Q\)</span>.</p>
<p>Returns: <codeclass="code">true</code> if <varclass="Arg">Q</var> is a totally symmetric quasigroup.</p>
<p>A commutative semisymmetric quasigroup is called <em>totally symmetric</em>. Totally symmetric quasigroups are precisely the quasigroups satisfying <spanclass="SimpleMath">\(xy=x\backslash y = x/y\)</span>.</p>
<p>A quasigroup <spanclass="SimpleMath">\(Q\)</span> is <em>unipotent</em> if it satisfies <spanclass="SimpleMath">\(x^2=y^2\)</span> for every <spanclass="SimpleMath">\(x\)</span>, <spanclass="SimpleMath">\(y\)</span> in <spanclass="SimpleMath">\(Q\)</span>.</p>
<p>Returns: <codeclass="code">true</code> if <varclass="Arg">Q</var> is a left distributive quasigroup, resp. a right distributive quasigroup, resp. a distributive quasigroup.</p>
<p>A quasigroup is <em>left distributive</em> if it satisfies <spanclass="SimpleMath">\(x(yz) = (xy)(xz)\)</span>, <em>right distributive</em> if it satisfies <spanclass="SimpleMath">\((xy)z = (xz)(yz)\)</span>, and <em>distributive</em> if it is both left distributive and right distributive.</p>
<p><strongclass="button">Remark:</strong> In order to be compatible with <strongclass="pkg">GAP</strong>s terminology, we also support the synonyms <codeclass="code">IsLDistributive</code> and <codeclass="code">IsRDistributive</code> of <codeclass="code">IsLeftDistributive</code> and <codeclass="code">IsRightDistributive</code>, respectively.</p>
<h4>7.4 <spanclass="Heading">Loops of Bol Moufang Type</span></h4>
<p>Following <ahref="chapBib_mj.html#biBFe">[Fen69]</a> and <ahref="chapBib_mj.html#biBPhiVoj">[PV05]</a>, a variety of loops is said to be of <em>Bol-Moufang type</em> if it is defined by a single <em>identity of Bol-Moufang type</em>, i.e., by an identity that contains the same 3 variables on both sides, exactly one of the variables occurs twice on both sides, and the variables occur in the same order on both sides.</p>
<p>It is proved in <ahref="chapBib_mj.html#biBPhiVoj">[PV05]</a> that there are 13 varieties of nonassociative loops of Bol-Moufang type. These are:</p>
<ul>
<li><p><em>left alternative loops</em> defined by <spanclass="SimpleMath">\(x(xy) = (xx)y\)</span>,</p>
</li>
<li><p><em>right alternative loops</em> defined by <spanclass="SimpleMath">\(x(yy) = (xy)y\)</span>,</p>
</li>
<li><p><em>left nuclear square loops</em> defined by <spanclass="SimpleMath">\((xx)(yz) = ((xx)y)z\)</span>,</p>
</li>
<li><p><em>middle nuclear square loops</em>defined by <spanclass="SimpleMath">\(x((yy)z) = (x(yy))z\)</span>,</p>
</li>
<li><p><em>right nuclear square loops</em> defined by <spanclass="SimpleMath">\(x(y(zz)) = (xy)(zz)\)</span>,</p>
</li>
<li><p><em>flexible loops</em> defined by <spanclass="SimpleMath">\(x(yx) = (xy)x\)</span>,</p>
</li>
<li><p><em>left Bol loops</em> defined by <spanclass="SimpleMath">\(x(y(xz)) = (x(yx))z\)</span>, always left alternative,</p>
</li>
<li><p><em>right Bol loops</em> defined by <spanclass="SimpleMath">\(x((yz)y) = ((xy)z)y\)</span>, always right alternative,</p>
</li>
<li><p><em>LC loops</em> defined by <spanclass="SimpleMath">\((xx)(yz) = (x(xy))z\)</span>, always left alternative, left nuclear square and middle nuclear square,</p>
</li>
<li><p><em>RC loops</em> defined by <spanclass="SimpleMath">\(x((yz)z) = (xy)(zz)\)</span>, always right alternative, right nuclear square and middle nuclear square,</p>
</li>
<li><p><em>Moufang loops</em> defined by <spanclass="SimpleMath">\((xy)(zx) = (x(yz))x\)</span>, always flexible, left Bol and right Bol,</p>
</li>
<li><p><em>C loops</em> defined by <spanclass="SimpleMath">\(x(y(yz)) = ((xy)y)z\)</span>, always LC and RC,</p>
</li>
<li><p><em>extra loops</em> defined by <spanclass="SimpleMath">\(x(y(zx)) = ((xy)z)x\)</span>, always Moufang and C.</p>
</li>
</ul>
<p>Note that although some of the defining identities are not of Bol-Moufang type, they are equivalent to a Bol-Moufang identity. Moreover, many varieties of loops of Bol-Moufang type can be defined by one of several equivalent identities of Bol-Moufang type.</p>
<p>There are also several varieties related to loops of Bol-Moufang type. A loop is said to be <em>alternative</em> if it is both left alternative and right alternative. A loop is <em>nuclear square</em> if it is left nuclear square, middle nuclear square and right nuclear square.</p>
<p>Returns: <codeclass="code">true</code> if <varclass="Arg">Q</var> is an alternative quasigroup.<br/></p>
<p>While listing the varieties of loops of Bol-Moufang type, we have also listed all inclusions among them. These inclusions are built into <strongclass="pkg">LOOPS</strong> as filters. <br/></p>
<p>The following trivial example shows some of the implications and the naming conventions of <strongclass="pkg">LOOPS</strong> at work:</p>
<p>The analogous terminology for quasigroups of Bol-Moufang type is not standard yet, and hence is not supported in <strongclass="pkg">LOOPS</strong> except for the situations explicitly noted above.</p>
<h4>7.5 <spanclass="Heading">Power Alternative Loops</span></h4>
<p>A loop is <em>left power alternative</em> if it is power associative and satisfies <spanclass="SimpleMath">\(x^n(x^m y) = x^{n+m}y\)</span> for all elements <spanclass="SimpleMath">\(x\)</span>, <spanclass="SimpleMath">\(y\)</span> and all integers <spanclass="SimpleMath">\(m\)</span>, <spanclass="SimpleMath">\(n\)</span>. Similarly, a loop is <em>right power alternative</em> if it is power associative and satisfies <spanclass="SimpleMath">\((x y^n)y^m = xy^{n+m}\)</span> for all elements <spanclass="SimpleMath">\(x\)</span>, <spanclass="SimpleMath">\(y\)</span> and all integers <spanclass="SimpleMath">\(m\)</span>, <spanclass="SimpleMath">\(n\)</span>. A loop is <em>power alternative</em> if it is both left power alternative and right power alternative.</p>
<p>Left power alternative loops are left alternative and have the left inverse property. Left Bol loops and LC loops are left power alternative.</p>
<p>Returns: <codeclass="code">true</code> if <varclass="Arg">Q</var> is a left power alternative loop, resp. a right power alternative loop, resp. a power alternative loop.</p>
<h4>7.6 <spanclass="Heading">Conjugacy Closed Loops and Related Properties</span></h4>
<p>A loop <spanclass="SimpleMath">\(Q\)</span> is <em>left conjugacy closed</em> if the set of left translations of <spanclass="SimpleMath">\(Q\)</span> is closed under conjugation (by itself). Similarly, a loop <spanclass="SimpleMath">\(Q\)</span> is <em>right conjugacy closed</em> if the set of right translations of <spanclass="SimpleMath">\(Q\)</span> is closed under conjugation. A loop is <em>conjugacy closed</em> if it is both left conjugacy closed and right conjugacy closed. It is common to refer to these loops as LCC, RCC, and CC loops, respectively.</p>
<p>The equivalence LCC <spanclass="SimpleMath">\(+\)</span> RCC <spanclass="SimpleMath">\(=\)</span> CC is built into <strongclass="pkg">LOOPS</strong>.</p>
<p>Returns: <codeclass="code">true</code> if <varclass="Arg">Q</var> is an Osborn loop.</p>
<p>A loop is <em>Osborn</em> if it satisfies <spanclass="SimpleMath">\(x(yz\cdot x)=(x^\lambda\backslash y)(zx)\)</span>. Both Moufang loops and CC loops are Osborn.</p>
<p>A loop <spanclass="SimpleMath">\(Q\)</span> whose all left (resp. middle, resp. right) inner mappings are automorphisms of <spanclass="SimpleMath">\(Q\)</span> is known as a <em>left automorphic loop</em> (resp. <em>middle automorphic loop</em>, resp. <em>right automorphic loop</em>).</p>
<p>A loop <spanclass="SimpleMath">\(Q\)</span> is an <em>automorphic loop</em> if all inner mappings of <spanclass="SimpleMath">\(Q\)</span> are automorphisms of <spanclass="SimpleMath">\(Q\)</span>.</p>
<p>Automorphic loops are also known as <em>A loops</em>, and similar terminology exists for left, right and middle automorphic loops.</p>
<p>The following results hold for automorphic loops:</p>
<ul>
<li><p>automorphic loops are power associative <ahref="chapBib_mj.html#biBBrPa">[BP56]</a></p>
</li>
<li><p>in an automorphic loop <spanclass="SimpleMath">\(Q\)</span> we have <spanclass="SimpleMath">\({\rm Nuc}(Q) = {\rm Nuc}_{\lambda}(Q) = {\rm Nuc}_{\rho}(Q)\le {\rm Nuc}_{\mu}(Q)\)</span> and all nuclei are normal <ahref="chapBib_mj.html#biBBrPa">[BP56]</a></p>
</li>
<li><p>a loop that is left automorphic and right automorphic satisfies the anti-automorphic inverse property and is automorphic <ahref="chapBib_mj.html#biBJoKiNaVo">[JKNV11]</a></p>
</li>
<li><p>diassociative automorphic loops are Moufang <ahref="chapBib_mj.html#biBKiKuPh">[KKP02]</a></p>
</li>
<li><p>automorphic loops of odd order are solvable <ahref="chapBib_mj.html#biBKiKuPhVo">[KKPV16]</a></p>
</li>
<li><p>finite commutative automorphic loops are solvable <ahref="chapBib_mj.html#biBGrKiNa">[GKN14]</a></p>
</li>
<li><p>commutative automorphic loops of order <spanclass="SimpleMath">\(p\)</span>, <spanclass="SimpleMath">\(2p\)</span>, <spanclass="SimpleMath">\(4p\)</span>, <spanclass="SimpleMath">\(p^2\)</span>, <spanclass="SimpleMath">\(2p^2\)</span>, <spanclass="SimpleMath">\(4p^2\)</span> (<spanclass="SimpleMath">\(p\)</span> an odd prime) are abelian groups <ahref="chapBib_mj.html#biBVoQRS">[Voj15]</a></p>
</li>
<li><p>commutative automorphic loops of odd prime power order are centrally nilpotent <ahref="chapBib_mj.html#biBJeKiVo">[JKV12]</a></p>
</li>
<li><p>for any prime <spanclass="SimpleMath">\(p\)</span>, there are <spanclass="SimpleMath">\(7\)</span> commutative automorphic loops of order <spanclass="SimpleMath">\(p^3\)</span> up to isomorphism <ahref="chapBib_mj.html#biBBaGrVo">[BGV12]</a></p>
</li>
</ul>
<p>See the built-in filters and the survey <ahref="chapBib_mj.html#biBVoQRS">[Voj15]</a> for additional properties of automorphic loops.</p>
<p>Returns: <codeclass="code">true</code> if <varclass="Arg">Q</var> is a right Bruck loop (aka right K loop).</p>
<p>A right Bol loop with the automorphic inverse property is known as a <em>right Bruck loop</em> or a <em>right K loop</em>.</p>
<divclass="chlinkprevnextbot"> <ahref="chap0_mj.html">[Top of Book]</a> <ahref="chap0_mj.html#contents">[Contents]</a> <ahref="chap6_mj.html">[Previous Chapter]</a> <ahref="chap8_mj.html">[Next Chapter]</a> </div>