OKlibrary  0.2.1.6
Basics.mac
Go to the documentation of this file.
00001 /* Oliver Kullmann, 4.1.2009 (Swansea) */
00002 /* Copyright 2009 Oliver Kullmann
00003 This file is part of the OKlibrary. OKlibrary is free software; you can redistribute
00004 it and/or modify it under the terms of the GNU General Public License as published by
00005 the Free Software Foundation and included in this library; either version 3 of the
00006 License, or any later version. */
00007 
00022 oklib_include("OKlib/ComputerAlgebra/Algebra/Lisp/Groupoids/BasicNotions.mac")$ /* guaranteed to be included */
00023 oklib_include("OKlib/ComputerAlgebra/CombinatorialMatrices/Lisp/LatinSquares/BasicNotions.mac")$
00024 
00025 
00026 /* *****************
00027    * Basic notions *
00028    *****************
00029 */
00030 
00031 /* The basic predicates "qgrp_p, cqgrp_p, uqgrp_p, cuqgrp_p" are in
00032    ComputerAlgebra/Algebra/Lisp/Groupoids/BasicNotions.mac.
00033 */
00034 
00035 
00036 /* ***************
00037    * Conversions *
00038    ***************
00039 */
00040 
00041 /* Relations to latin squares: */
00042 
00043 /* Converting a (combinatorial) latin square to a quasigroup: */
00044 comls2qgrp(L) := L$
00045 ls2qgrp(L) := m2scom(L)$
00046 /* These conversions also convert general composition tables into
00047    groupoids.
00048 */
00049 
00050 /* Converting a reduced latin square into a unital quasigroup: */
00051 /* Prerequisite for rls2uqgrp: L is not empty. */
00052 rls2uqgrp(L) := endcons(1,ls2qgrp(L))$
00053 
00054 /* See ComputerAlgebra/CombinatorialMatrices/Lisp/LatinSquares/BasicNotions.mac
00055    for the inverse conversions.
00056 */
00057