Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/loops/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 29.7.2024 mit Größe 49 kB image not shown  

Quelle  chap7_mj.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/loops/doc/chap7_mj.html


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script type="text/javascript"
  src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>GAP (Loops) - Chapter 7: Testing Properties of Quasigroups and Loops</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap7"  onload="jscontent()">


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  <a href="chap9_mj.html">9</a>  <a href="chapA_mj.html">A</a>  <a href="chapB_mj.html">B</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap6_mj.html">[Previous Chapter]</a>    <a href="chap8_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap7.html">[MathJax off]</a></p>
<p><a id="X7910E575825C713E" name="X7910E575825C713E"></a></p>
<div class="ChapSects"><a href="chap7_mj.html#X7910E575825C713E">7 <span class="Heading">Testing Properties of Quasigroups and Loops</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7960E3FB7A7F0F00">7.1 <span class="Heading">Associativity, Commutativity and Generalizations</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7C83B5A47FD18FB7">7.1-1 IsAssociative</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X830A4A4C795FBC2D">7.1-2 IsCommutative</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7D53EA947F1CDA69">7.1-3 IsPowerAssociative</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X872DCA027E1A4A1D">7.1-4 IsDiassociative</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X8748BA2187604B24">7.2 <span class="Heading">Inverse Properties</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X85EDD10586596458">7.2-1 <span class="Heading">HasLeftInverseProperty, HasRightInverseProperty and HasInverseProperty</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X86B93E1B7AEA6EDA">7.2-2 HasTwosidedInverses</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X793909B780761EA8">7.2-3 HasWeakInverseProperty</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7F46CE6B7D387158">7.2-4 HasAutomorphicInverseProperty</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X8538D4638232DB51">7.2-5 HasAntiautomorphicInverseProperty</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X7D8CB6DA828FD744">7.3 <span class="Heading">Some Properties of Quasigroups</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X834848ED85F9012B">7.3-1 IsSemisymmetric</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X834F809B8060B754">7.3-2 IsTotallySymmetric</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7CB5896082D29173">7.3-3 IsIdempotent</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X83DE7DD77C056C1F">7.3-4 IsSteinerQuasigroup</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7CA3DCA07B6CB9BD">7.3-5 IsUnipotent</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7B76FD6E878ED4F1">7.3-6 <span class="Heading">IsLeftDistributive, IsRightDistributive, IsDistributive</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7F23D4D97A38D223">7.3-7 <span class="Heading">IsEntropic and IsMedial</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X780D907986EBA6C7">7.4 <span class="Heading">Loops of Bol Moufang Type</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7988AFE27D06ACB5">7.4-1 IsExtraLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7F1C151484C97E61">7.4-2 IsMoufangLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X866F04DC7AE54B7C">7.4-3 IsCLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X801DAAE8834A1A65">7.4-4 IsLeftBolLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X79279F9787E72566">7.4-5 IsRightBolLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X789E0A6979697C4C">7.4-6 IsLCLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7B03CC577802F4AB">7.4-7 IsRCLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X819F285887B5EB9E">7.4-8 IsLeftNuclearSquareLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X8474F55681244A8A">7.4-9 IsMiddleNuclearSquareLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X807B3B21825E3076">7.4-10 IsRightNuclearSquareLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X796650088213229B">7.4-11 IsNuclearSquareLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7C32851A7AF1C45F">7.4-12 IsFlexible</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7DF0196786B9CE08">7.4-13 IsLeftAlternative</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X8416FAD87F148F5D">7.4-14 IsRightAlternative</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X8379356E82DB5DDA">7.4-15 IsAlternative</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X83A501387E1AC371">7.5 <span class="Heading">Power Alternative Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X875C3DF681B3FAE2">7.5-1 <span class="Heading">IsLeftPowerAlternative, IsRightPowerAlternative and IsPowerAlternative</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X8176B2C47A4629CD">7.6 <span class="Heading">Conjugacy Closed Loops and Related Properties</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X784E08CD7B710AF4">7.6-1 IsLCCLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7B3016B47A1A8213">7.6-2 IsRCCLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X878B614479DCB83F">7.6-3 IsCCLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X8655956878205FC1">7.6-4 IsOsbornLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X793B22EA8643C667">7.7 <span class="Heading">Automorphic Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7F063914804659F1">7.7-1 IsLeftAutomorphicLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7DFE830584A769E5">7.7-2 IsMiddleAutomorphicLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7EA9165A87F99E35">7.7-3 IsRightAutomorphicLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X7899603184CF13FD">7.7-4 IsAutomorphicLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7_mj.html#X878C9D247FB0D56E">7.8 <span class="Heading">Additional Varieties of Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X790FA1188087D5C1">7.8-1 IsCodeLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X793600C9801F4F62">7.8-2 IsSteinerLoop</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X85F1BD4280E44F5B">7.8-3 <span class="Heading">IsLeftBruckLoop and IsLeftKLoop</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap7_mj.html#X857B373E7B4E0519">7.8-4 <span class="Heading">IsRightBruckLoop and IsRightKLoop</span></a>
</span>
</div></div>
</div>

<h3>7 <span class="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 <code class="code">Loop</code> or <code class="code">Quasigroup</code> as part of the name of the property, e.g., <code class="code">IsSteinerQuasigroup</code> versus <code class="code">IsSteinerLoop</code>.</p>

<p>On the other hand, some properties coincide for quasigroups and loops and we therefore do not include <code class="code">Loop</code>, <code class="code">Quasigroup</code> as part of the name of the property, e.g., <code class="code">IsCommutative</code>.</p>

<p><a id="X7960E3FB7A7F0F00" name="X7960E3FB7A7F0F00"></a></p>

<h4>7.1 <span class="Heading">Associativity, Commutativity and Generalizations</span></h4>

<p><a id="X7C83B5A47FD18FB7" name="X7C83B5A47FD18FB7"></a></p>

<h5>7.1-1 IsAssociative</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAssociative</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is an associative quasigroup.</p>

<p><a id="X830A4A4C795FBC2D" name="X830A4A4C795FBC2D"></a></p>

<h5>7.1-2 IsCommutative</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCommutative</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a commutative quasigroup.</p>

<p><a id="X7D53EA947F1CDA69" name="X7D53EA947F1CDA69"></a></p>

<h5>7.1-3 IsPowerAssociative</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsPowerAssociative</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a power associative quasigroup.</p>

<p>A quasigroup <span class="SimpleMath">\(Q\)</span> is said to be <em>power associative</em> if every element of <span class="SimpleMath">\(Q\)</span> generates an associative quasigroup, that is, a group.</p>

<p><a id="X872DCA027E1A4A1D" name="X872DCA027E1A4A1D"></a></p>

<h5>7.1-4 IsDiassociative</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsDiassociative</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a diassociative quasigroup.</p>

<p>A quasigroup <span class="SimpleMath">\(Q\)</span> is said to be <em>diassociative</em> if any two elements of <span class="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 <strong class="pkg">LOOPS</strong>.</p>

<p><a id="X8748BA2187604B24" name="X8748BA2187604B24"></a></p>

<h4>7.2 <span class="Heading">Inverse Properties</span></h4>

<p>For an element <span class="SimpleMath">\(x\)</span> of a loop <span class="SimpleMath">\(Q\)</span>, the <em>left inverse</em> of <span class="SimpleMath">\(x\)</span> is the element <span class="SimpleMath">\(x^\lambda\)</span> of <span class="SimpleMath">\(Q\)</span> such that <span class="SimpleMath">\(x^\lambda \cdot x = 1\)</span>, while the <em>right inverse</em> of <span class="SimpleMath">\(x\)</span> is the element <span class="SimpleMath">\(x^\rho\)</span> of <span class="SimpleMath">\(Q\)</span> such that <span class="SimpleMath">\(x\cdot x^\rho = 1\)</span>.</p>

<p><a id="X85EDD10586596458" name="X85EDD10586596458"></a></p>

<h5>7.2-1 <span class="Heading">HasLeftInverseProperty, HasRightInverseProperty and HasInverseProperty</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasLeftInverseProperty</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasRightInverseProperty</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasInverseProperty</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if a loop <var class="Arg">Q</var> has the left inverse property, right inverse property, resp. inverse property.</p>

<p>A loop <span class="SimpleMath">\(Q\)</span> has the <em>left inverse property</em> if <span class="SimpleMath">\(x^\lambda(xy)=y\)</span> for every <span class="SimpleMath">\(x\)</span>, <span class="SimpleMath">\(y\)</span> in <span class="SimpleMath">\(Q\)</span>. Dually, <span class="SimpleMath">\(Q\)</span> has the <em>right inverse property</em> if <span class="SimpleMath">\((yx)x^\rho=y\)</span> for every <span class="SimpleMath">\(x\)</span>, <span class="SimpleMath">\(y\)</span> in <span class="SimpleMath">\(Q\)</span>. If <span class="SimpleMath">\(Q\)</span> has both the left inverse property and the right inverse property, it has the <em>inverse property</em>.</p>

<p><a id="X86B93E1B7AEA6EDA" name="X86B93E1B7AEA6EDA"></a></p>

<h5>7.2-2 HasTwosidedInverses</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasTwosidedInverses</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if a loop <var class="Arg">Q</var> has two-sided inverses.</p>

<p>A loop <span class="SimpleMath">\(Q\)</span> is said to have <em>two-sided inverses</em> if <span class="SimpleMath">\(x^\lambda=x^\rho\)</span> for every <span class="SimpleMath">\(x\)</spanin <span class="SimpleMath">\(Q\)</span>.</p>

<p><a id="X793909B780761EA8" name="X793909B780761EA8"></a></p>

<h5>7.2-3 HasWeakInverseProperty</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasWeakInverseProperty</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if a loop <var class="Arg">Q</var> has the weak inverse property.</p>

<p>A loop <span class="SimpleMath">\(Q\)</span> has the <em>weak inverse property</em> if <span class="SimpleMath">\((xy)^\lambda x = y^\lambda\)</span> (equivalently, <span class="SimpleMath">\(x(yx)^\rho = y^\rho\)</span>) holds for every <span class="SimpleMath">\(x\)</span>, <span class="SimpleMath">\(y\)</span> in <span class="SimpleMath">\(Q\)</span>.</p>

<p><a id="X7F46CE6B7D387158" name="X7F46CE6B7D387158"></a></p>

<h5>7.2-4 HasAutomorphicInverseProperty</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasAutomorphicInverseProperty</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if a loop <var class="Arg">Q</var> has the automorphic inverse property.</p>

<p>According to <a href="chapBib_mj.html#biBAr">[Art59]</a>, a loop <span class="SimpleMath">\(Q\)</span> has the <em>automorphic inverse property</em> if <span class="SimpleMath">\((xy)^\lambda = x^\lambda y^\lambda\)</span>, or, equivalently, <span class="SimpleMath">\((xy)^\rho = x^\rho y^\rho\)</span> holds for every <span class="SimpleMath">\(x\)</span>, <span class="SimpleMath">\(y\)</span> in <span class="SimpleMath">\(Q\)</span>.</p>

<p><a id="X8538D4638232DB51" name="X8538D4638232DB51"></a></p>

<h5>7.2-5 HasAntiautomorphicInverseProperty</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasAntiautomorphicInverseProperty</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if a loop <var class="Arg">Q</var> has the antiautomorphic inverse property.</p>

<p>A loop <span class="SimpleMath">\(Q\)</span> has the <em>antiautomorphic inverse property</em> if <span class="SimpleMath">\((xy)^\lambda=y^\lambda x^\lambda\)</span>, or, equivalently, <span class="SimpleMath">\((xy)^\rho = y^\rho x^\rho\)</span> holds for every <span class="SimpleMath">\(x\)</span>, <span class="SimpleMath">\(y\)</span> in <span class="SimpleMath">\(Q\)</span>.<br /></p>

<p>See Appendix <a href="chapB_mj.html#X84EFA4C07D4277BB"><span class="RefLink">B</span></a> for implications implemented in <strong class="pkg">LOOPS</strong> among various inverse properties.</p>

<p><a id="X7D8CB6DA828FD744" name="X7D8CB6DA828FD744"></a></p>

<h4>7.3 <span class="Heading">Some Properties of Quasigroups</span></h4>

<p><a id="X834848ED85F9012B" name="X834848ED85F9012B"></a></p>

<h5>7.3-1 IsSemisymmetric</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSemisymmetric</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a semisymmetric quasigroup.</p>

<p>A quasigroup <span class="SimpleMath">\(Q\)</span> is <em>semisymmetric</em> if <span class="SimpleMath">\((xy)x=y\)</span>, or, equivalently <span class="SimpleMath">\(x(yx)=y\)</span> holds for every <span class="SimpleMath">\(x\)</span>, <span class="SimpleMath">\(y\)</span> in <span class="SimpleMath">\(Q\)</span>.</p>

<p><a id="X834F809B8060B754" name="X834F809B8060B754"></a></p>

<h5>7.3-2 IsTotallySymmetric</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsTotallySymmetric</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="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 <span class="SimpleMath">\(xy=x\backslash y = x/y\)</span>.</p>

<p><a id="X7CB5896082D29173" name="X7CB5896082D29173"></a></p>

<h5>7.3-3 IsIdempotent</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsIdempotent</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is an idempotent quasigroup.</p>

<p>A quasigroup is <em>idempotent</em> if it satisfies <span class="SimpleMath">\(x^2=x\)</span>.</p>

<p><a id="X83DE7DD77C056C1F" name="X83DE7DD77C056C1F"></a></p>

<h5>7.3-4 IsSteinerQuasigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSteinerQuasigroup</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a Steiner quasigroup.</p>

<p>A totally symmetric idempotent quasigroup is called a <em>Steiner quasigroup</em>.</p>

<p><a id="X7CA3DCA07B6CB9BD" name="X7CA3DCA07B6CB9BD"></a></p>

<h5>7.3-5 IsUnipotent</h5>

<p>A quasigroup <span class="SimpleMath">\(Q\)</span> is <em>unipotent</em> if it satisfies <span class="SimpleMath">\(x^2=y^2\)</span> for every <span class="SimpleMath">\(x\)</span>, <span class="SimpleMath">\(y\)</span> in <span class="SimpleMath">\(Q\)</span>.</p>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsUnipotent</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a unipotent quasigroup.</p>

<p><a id="X7B76FD6E878ED4F1" name="X7B76FD6E878ED4F1"></a></p>

<h5>7.3-6 <span class="Heading">IsLeftDistributive, IsRightDistributive, IsDistributive</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftDistributive</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightDistributive</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsDistributive</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="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 <span class="SimpleMath">\(x(yz) = (xy)(xz)\)</span>, <em>right distributive</em> if it satisfies <span class="SimpleMath">\((xy)z = (xz)(yz)\)</span>, and <em>distributive</em> if it is both left distributive and right distributive.</p>

<p><strong class="button">Remark:</strong> In order to be compatible with <strong class="pkg">GAP</strong>s terminology, we also support the synonyms <code class="code">IsLDistributive</code> and <code class="code">IsRDistributive</code> of <code class="code">IsLeftDistributive</code> and <code class="code">IsRightDistributive</code>, respectively.</p>

<p><a id="X7F23D4D97A38D223" name="X7F23D4D97A38D223"></a></p>

<h5>7.3-7 <span class="Heading">IsEntropic and IsMedial</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsEntropic</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMedial</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is an entropic (aka medial) quasigroup.</p>

<p>A quasigroup is <em>entropic</em> or <em>medial</em> if it satisfies the identity <span class="SimpleMath">\((xy)(uv) = (xu)(yv)\)</span>.</p>

<p><a id="X780D907986EBA6C7" name="X780D907986EBA6C7"></a></p>

<h4>7.4 <span class="Heading">Loops of Bol Moufang Type</span></h4>

<p>Following <a href="chapBib_mj.html#biBFe">[Fen69]</a> and <a href="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 <a href="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 <span class="SimpleMath">\(x(xy) = (xx)y\)</span>,</p>

</li>
<li><p><em>right alternative loops</em> defined by <span class="SimpleMath">\(x(yy) = (xy)y\)</span>,</p>

</li>
<li><p><em>left nuclear square loops</em> defined by <span class="SimpleMath">\((xx)(yz) = ((xx)y)z\)</span>,</p>

</li>
<li><p><em>middle nuclear square loops</em>defined by <span class="SimpleMath">\(x((yy)z) = (x(yy))z\)</span>,</p>

</li>
<li><p><em>right nuclear square loops</em> defined by <span class="SimpleMath">\(x(y(zz)) = (xy)(zz)\)</span>,</p>

</li>
<li><p><em>flexible loops</em> defined by <span class="SimpleMath">\(x(yx) = (xy)x\)</span>,</p>

</li>
<li><p><em>left Bol loops</em> defined by <span class="SimpleMath">\(x(y(xz)) = (x(yx))z\)</span>, always left alternative,</p>

</li>
<li><p><em>right Bol loops</em> defined by <span class="SimpleMath">\(x((yz)y) = ((xy)z)y\)</span>, always right alternative,</p>

</li>
<li><p><em>LC loops</em> defined by <span class="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 <span class="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 <span class="SimpleMath">\((xy)(zx) = (x(yz))x\)</span>, always flexible, left Bol and right Bol,</p>

</li>
<li><p><em>C loops</em> defined by <span class="SimpleMath">\(x(y(yz)) = ((xy)y)z\)</span>, always LC and RC,</p>

</li>
<li><p><em>extra loops</em> defined by <span class="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><a id="X7988AFE27D06ACB5" name="X7988AFE27D06ACB5"></a></p>

<h5>7.4-1 IsExtraLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsExtraLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is an extra loop.</p>

<p><a id="X7F1C151484C97E61" name="X7F1C151484C97E61"></a></p>

<h5>7.4-2 IsMoufangLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMoufangLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a Moufang loop.</p>

<p><a id="X866F04DC7AE54B7C" name="X866F04DC7AE54B7C"></a></p>

<h5>7.4-3 IsCLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a C loop.</p>

<p><a id="X801DAAE8834A1A65" name="X801DAAE8834A1A65"></a></p>

<h5>7.4-4 IsLeftBolLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftBolLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a left Bol loop.</p>

<p><a id="X79279F9787E72566" name="X79279F9787E72566"></a></p>

<h5>7.4-5 IsRightBolLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightBolLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a right Bol loop.</p>

<p><a id="X789E0A6979697C4C" name="X789E0A6979697C4C"></a></p>

<h5>7.4-6 IsLCLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLCLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is an LC loop.</p>

<p><a id="X7B03CC577802F4AB" name="X7B03CC577802F4AB"></a></p>

<h5>7.4-7 IsRCLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRCLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is an RC loop.</p>

<p><a id="X819F285887B5EB9E" name="X819F285887B5EB9E"></a></p>

<h5>7.4-8 IsLeftNuclearSquareLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftNuclearSquareLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a left nuclear square loop.</p>

<p><a id="X8474F55681244A8A" name="X8474F55681244A8A"></a></p>

<h5>7.4-9 IsMiddleNuclearSquareLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMiddleNuclearSquareLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a middle nuclear square loop.</p>

<p><a id="X807B3B21825E3076" name="X807B3B21825E3076"></a></p>

<h5>7.4-10 IsRightNuclearSquareLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightNuclearSquareLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a right nuclear square loop.</p>

<p><a id="X796650088213229B" name="X796650088213229B"></a></p>

<h5>7.4-11 IsNuclearSquareLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsNuclearSquareLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a nuclear square loop.</p>

<p><a id="X7C32851A7AF1C45F" name="X7C32851A7AF1C45F"></a></p>

<h5>7.4-12 IsFlexible</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsFlexible</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a flexible quasigroup.</p>

<p><a id="X7DF0196786B9CE08" name="X7DF0196786B9CE08"></a></p>

<h5>7.4-13 IsLeftAlternative</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftAlternative</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a left alternative quasigroup.</p>

<p><a id="X8416FAD87F148F5D" name="X8416FAD87F148F5D"></a></p>

<h5>7.4-14 IsRightAlternative</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightAlternative</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a right alternative quasigroup.</p>

<p><a id="X8379356E82DB5DDA" name="X8379356E82DB5DDA"></a></p>

<h5>7.4-15 IsAlternative</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAlternative</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="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 <strong class="pkg">LOOPS</strong> as filters. <br /></p>

<p>The following trivial example shows some of the implications and the naming conventions of <strong class="pkg">LOOPS</strong> at work:</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">L := LoopByCayleyTable( [ [ 1, 2 ], [ 2, 1 ] ] );</span>
<loop of order 2>
<span class="GAPprompt">gap></span> <span class="GAPinput">[ IsLeftBolLoop( L ), L ]</span>
[ true, <left Bol loop of order 2> ]
<span class="GAPprompt">gap></span> <span class="GAPinput">[ HasIsLeftAlternativeLoop( L ), IsLeftAlternativeLoop( L ) ];</span>
[ true, true ]
<span class="GAPprompt">gap></span> <span class="GAPinput">[ HasIsRightBolLoop( L ), IsRightBolLoop( L ) ];</span>
[ false, true ]
<span class="GAPprompt">gap></span> <span class="GAPinput">L;</span>
<Moufang loop of order 2>
<span class="GAPprompt">gap></span> <span class="GAPinput">[ IsAssociative( L ), L ];</span>
[ true, <associative loop of order 2> ]
</pre></div>

<p>The analogous terminology for quasigroups of Bol-Moufang type is not standard yet, and hence is not supported in <strong class="pkg">LOOPS</strong> except for the situations explicitly noted above.</p>

<p><a id="X83A501387E1AC371" name="X83A501387E1AC371"></a></p>

<h4>7.5 <span class="Heading">Power Alternative Loops</span></h4>

<p>A loop is <em>left power alternative</em> if it is power associative and satisfies <span class="SimpleMath">\(x^n(x^m y) = x^{n+m}y\)</span> for all elements <span class="SimpleMath">\(x\)</span>, <span class="SimpleMath">\(y\)</span> and all integers <span class="SimpleMath">\(m\)</span>, <span class="SimpleMath">\(n\)</span>. Similarly, a loop is <em>right power alternative</em> if it is power associative and satisfies <span class="SimpleMath">\((x y^n)y^m = xy^{n+m}\)</span> for all elements <span class="SimpleMath">\(x\)</span>, <span class="SimpleMath">\(y\)</span> and all integers <span class="SimpleMath">\(m\)</span>, <span class="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><a id="X875C3DF681B3FAE2" name="X875C3DF681B3FAE2"></a></p>

<h5>7.5-1 <span class="Heading">IsLeftPowerAlternative, IsRightPowerAlternative and IsPowerAlternative</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftPowerAlternative</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightPowerAlternative</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsPowerAlternative</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a left power alternative loop, resp. a right power alternative loop, resp. a power alternative loop.</p>

<p><a id="X8176B2C47A4629CD" name="X8176B2C47A4629CD"></a></p>

<h4>7.6 <span class="Heading">Conjugacy Closed Loops and Related Properties</span></h4>

<p>A loop <span class="SimpleMath">\(Q\)</span> is <em>left conjugacy closed</em> if the set of left translations of <span class="SimpleMath">\(Q\)</span> is closed under conjugation (by itself). Similarly, a loop <span class="SimpleMath">\(Q\)</span> is <em>right conjugacy closed</em> if the set of right translations of <span class="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 <span class="SimpleMath">\(+\)</span> RCC <span class="SimpleMath">\(=\)</span> CC is built into <strong class="pkg">LOOPS</strong>.</p>

<p><a id="X784E08CD7B710AF4" name="X784E08CD7B710AF4"></a></p>

<h5>7.6-1 IsLCCLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLCCLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftConjugacyClosedLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a left conjugacy closed loop.</p>

<p><a id="X7B3016B47A1A8213" name="X7B3016B47A1A8213"></a></p>

<h5>7.6-2 IsRCCLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRCCLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightConjugacyClosedLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a right conjugacy closed loop.</p>

<p><a id="X878B614479DCB83F" name="X878B614479DCB83F"></a></p>

<h5>7.6-3 IsCCLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCCLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsConjugacyClosedLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a conjugacy closed loop.</p>

<p><a id="X8655956878205FC1" name="X8655956878205FC1"></a></p>

<h5>7.6-4 IsOsbornLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsOsbornLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is an Osborn loop.</p>

<p>A loop is <em>Osborn</em> if it satisfies <span class="SimpleMath">\(x(yz\cdot x)=(x^\lambda\backslash y)(zx)\)</span>. Both Moufang loops and CC loops are Osborn.</p>

<p><a id="X793B22EA8643C667" name="X793B22EA8643C667"></a></p>

<h4>7.7 <span class="Heading">Automorphic Loops</span></h4>

<p>A loop <span class="SimpleMath">\(Q\)</span> whose all left (resp. middle, resp. right) inner mappings are automorphisms of <span class="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 <span class="SimpleMath">\(Q\)</span> is an <em>automorphic loop</em> if all inner mappings of <span class="SimpleMath">\(Q\)</span> are automorphisms of <span class="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 <a href="chapBib_mj.html#biBBrPa">[BP56]</a></p>

</li>
<li><p>in an automorphic loop <span class="SimpleMath">\(Q\)</span> we have <span class="SimpleMath">\({\rm Nuc}(Q) = {\rm Nuc}_{\lambda}(Q) = {\rm Nuc}_{\rho}(Q)\le {\rm Nuc}_{\mu}(Q)\)</span> and all nuclei are normal <a href="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 <a href="chapBib_mj.html#biBJoKiNaVo">[JKNV11]</a></p>

</li>
<li><p>diassociative automorphic loops are Moufang <a href="chapBib_mj.html#biBKiKuPh">[KKP02]</a></p>

</li>
<li><p>automorphic loops of odd order are solvable <a href="chapBib_mj.html#biBKiKuPhVo">[KKPV16]</a></p>

</li>
<li><p>finite commutative automorphic loops are solvable <a href="chapBib_mj.html#biBGrKiNa">[GKN14]</a></p>

</li>
<li><p>commutative automorphic loops of order <span class="SimpleMath">\(p\)</span>, <span class="SimpleMath">\(2p\)</span>, <span class="SimpleMath">\(4p\)</span>, <span class="SimpleMath">\(p^2\)</span>, <span class="SimpleMath">\(2p^2\)</span>, <span class="SimpleMath">\(4p^2\)</span> (<span class="SimpleMath">\(p\)</span> an odd prime) are abelian groups <a href="chapBib_mj.html#biBVoQRS">[Voj15]</a></p>

</li>
<li><p>commutative automorphic loops of odd prime power order are centrally nilpotent <a href="chapBib_mj.html#biBJeKiVo">[JKV12]</a></p>

</li>
<li><p>for any prime <span class="SimpleMath">\(p\)</span>, there are <span class="SimpleMath">\(7\)</span> commutative automorphic loops of order <span class="SimpleMath">\(p^3\)</span> up to isomorphism <a href="chapBib_mj.html#biBBaGrVo">[DBGV12]</a></p>

</li>
</ul>
<p>See the built-in filters and the survey <a href="chapBib_mj.html#biBVoQRS">[Voj15]</a> for additional properties of automorphic loops.</p>

<p><a id="X7F063914804659F1" name="X7F063914804659F1"></a></p>

<h5>7.7-1 IsLeftAutomorphicLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftAutomorphicLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftALoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a left automorphic loop.</p>

<p><a id="X7DFE830584A769E5" name="X7DFE830584A769E5"></a></p>

<h5>7.7-2 IsMiddleAutomorphicLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMiddleAutomorphicLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsMiddleALoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a middle automorphic loop.</p>

<p><a id="X7EA9165A87F99E35" name="X7EA9165A87F99E35"></a></p>

<h5>7.7-3 IsRightAutomorphicLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightAutomorphicLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightALoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a right automorphic loop.</p>

<p><a id="X7899603184CF13FD" name="X7899603184CF13FD"></a></p>

<h5>7.7-4 IsAutomorphicLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAutomorphicLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsALoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is an automorphic loop.</p>

<p><strong class="button">Remark:</strong> Be careful not to confuse <code class="code">IsALoop</code> and <code class="code">IsLoop</code>.</p>

<p><a id="X878C9D247FB0D56E" name="X878C9D247FB0D56E"></a></p>

<h4>7.8 <span class="Heading">Additional Varieties of Loops</span></h4>

<p><a id="X790FA1188087D5C1" name="X790FA1188087D5C1"></a></p>

<h5>7.8-1 IsCodeLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCodeLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a code loop.</p>

<p>A <em>code loop</em> is a Moufang 2-loop with a Frattini subloop of order 1 or 2. Code loops are extra and conjugacy closed.</p>

<p><a id="X793600C9801F4F62" name="X793600C9801F4F62"></a></p>

<h5>7.8-2 IsSteinerLoop</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSteinerLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a Steiner loop.</p>

<p>A <em>Steiner loop</em> is an inverse property loop of exponent 2. Steiner loops are commutative.</p>

<p><a id="X85F1BD4280E44F5B" name="X85F1BD4280E44F5B"></a></p>

<h5>7.8-3 <span class="Heading">IsLeftBruckLoop and IsLeftKLoop</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftBruckLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsLeftKLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">Q</var> is a left Bruck loop (aka left K loop).</p>

<p>A left Bol loop with the automorphic inverse property is known as a <em>left Bruck loop</em> or a <em>left K loop</em>.</p>

<p><a id="X857B373E7B4E0519" name="X857B373E7B4E0519"></a></p>

<h5>7.8-4 <span class="Heading">IsRightBruckLoop and IsRightKLoop</span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightBruckLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsRightKLoop</code>( <var class="Arg">Q</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="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>


<div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap6_mj.html">[Previous Chapter]</a>    <a href="chap8_mj.html">[Next Chapter]</a>   </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  <a href="chap9_mj.html">9</a>  <a href="chapA_mj.html">A</a>  <a href="chapB_mj.html">B</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>

100%


¤ Dauer der Verarbeitung: 0.9 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.