############################################################################# ## ## This file is part of GAP, a system for computational discrete algebra. ## This file's authors include Thomas Breuer, and Heiko Theißen. ## ## Copyright of GAP belongs to its developers, whose names are too numerous ## to list here. Please refer to the COPYRIGHT file for details. ## ## SPDX-License-Identifier: GPL-2.0-or-later ## ## This file contains the definitions of properties of mappings preserving ## algebraic structure. ## ## 1. properties and attributes of gen. mappings that respect multiplication ## 2. properties and attributes of gen. mappings that respect addition ## 3. properties and attributes of gen. mappings that respect scalar mult. ## 4. properties and attributes of gen. mappings that respect multiplicative ## and additive structure ## 5. properties and attributes of gen. mappings that transform ## multiplication into addition ## 6. properties and attributes of gen. mappings that transform addition ## into multiplication ##
############################################################################# ## ## 1. properties and attributes of gen. mappings that respect multiplication ##
############################################################################# ## #P RespectsMultiplication( <mapp> ) ## ## <#GAPDoc Label="RespectsMultiplication"> ## <ManSection> ## <Prop Name="RespectsMultiplication" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq S \times R</M>, ## where <M>S</M> and <M>R</M> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Prop="RespectsMultiplication"/> returns <K>true</K> if ## <M>S</M> and <M>R</M> are magmas such that ## <M>(s_1,r_1), (s_2,r_2) \in F</M> implies ## <M>(s_1 * s_2,r_1 * r_2) \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then ## <Ref Prop="RespectsMultiplication"/> returns <K>true</K> ## if and only if the equation ## <C><A>s1</A>^<A>mapp</A> * <A>s2</A>^<A>mapp</A> = ## (<A>s1</A> * <A>s2</A>)^<A>mapp</A></C> ## holds for all <A>s1</A>, <A>s2</A> in <M>S</M>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareProperty( "RespectsMultiplication", IsGeneralMapping );
############################################################################# ## #P RespectsOne( <mapp> ) ## ## <#GAPDoc Label="RespectsOne"> ## <ManSection> ## <Prop Name="RespectsOne" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq <A>S</A> \times <A>R</A></M>, ## where <A>S</A> and <A>R</A> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Prop="RespectsOne"/> returns <K>true</K> if ## <A>S</A> and <A>R</A> are magmas-with-one such that ## <M>( </M><C>One(<A>S</A>)</C><M>, </M><C>One(<A>R</A>)</C><M> ) \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then <Ref Prop="RespectsOne"/> returns ## <K>true</K> if and only if the equation ## <C>One( <A>S</A> )^<A>mapp</A> = One( <A>R</A> )</C> ## holds. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareProperty( "RespectsOne", IsGeneralMapping );
############################################################################# ## #P RespectsInverses( <mapp> ) ## ## <#GAPDoc Label="RespectsInverses"> ## <ManSection> ## <Prop Name="RespectsInverses" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq <A>S</A> \times <A>R</A></M>, ## where <A>S</A> and <A>R</A> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Prop="RespectsInverses"/> returns <K>true</K> if ## <A>S</A> and <A>R</A> are magmas-with-inverses such that, ## for <M>s \in <A>S</A></M> and <M>r \in <A>R</A></M>, ## <M>(s,r) \in F</M> implies <M>(s^{{-1}},r^{{-1}}) \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then <Ref Prop="RespectsInverses"/> ## returns <K>true</K> if and only if the equation ## <C>Inverse( <A>s</A> )^<A>mapp</A> = Inverse( <A>s</A>^<A>mapp</A> )</C> ## holds for all <A>s</A> in <M>S</M>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareProperty( "RespectsInverses", IsGeneralMapping );
############################################################################# ## #P IsGroupGeneralMapping( <mapp> ) #P IsGroupHomomorphism( <mapp> ) ## ## <#GAPDoc Label="IsGroupGeneralMapping"> ## <ManSection> ## <Filt Name="IsGroupGeneralMapping" Arg='mapp'/> ## <Filt Name="IsGroupHomomorphism" Arg='mapp'/> ## ## <Description> ## A <E>group general mapping</E> is a mapping which respects multiplication ## and inverses. ## If it is total and single valued it is called a ## <E>group homomorphism</E>. ## <P/> ## Chapter <Ref Chap="Group Homomorphisms"/> explains ## group homomorphisms in more detail. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareSynonymAttr( "IsGroupGeneralMapping",
IsGeneralMapping and RespectsMultiplication and RespectsInverses );
DeclareSynonymAttr( "IsGroupHomomorphism",
IsGroupGeneralMapping and IsMapping );
############################################################################# ## #A KernelOfMultiplicativeGeneralMapping( <mapp> ) ## ## <#GAPDoc Label="KernelOfMultiplicativeGeneralMapping"> ## <ManSection> ## <Attr Name="KernelOfMultiplicativeGeneralMapping" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping. ## Then <Ref Attr="KernelOfMultiplicativeGeneralMapping"/> returns ## the set of all elements in the source of <A>mapp</A> that have ## the identity of the range in their set of images. ## <P/> ## (This is a monoid if <A>mapp</A> respects multiplication and one, ## and if the source of <A>mapp</A> is associative.) ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareAttribute( "KernelOfMultiplicativeGeneralMapping",
IsGeneralMapping );
############################################################################# ## #A CoKernelOfMultiplicativeGeneralMapping( <mapp> ) ## ## <#GAPDoc Label="CoKernelOfMultiplicativeGeneralMapping"> ## <ManSection> ## <Attr Name="CoKernelOfMultiplicativeGeneralMapping" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping. ## Then <Ref Attr="CoKernelOfMultiplicativeGeneralMapping"/> returns ## the set of all elements in the range of <A>mapp</A> that have ## the identity of the source in their set of preimages. ## <P/> ## (This is a monoid if <A>mapp</A> respects multiplication and one, ## and if the range of <A>mapp</A> is associative.) ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareAttribute( "CoKernelOfMultiplicativeGeneralMapping",
IsGeneralMapping );
############################################################################# ## ## 2. properties and attributes of gen. mappings that respect addition ##
############################################################################# ## #P RespectsAddition( <mapp> ) ## ## <#GAPDoc Label="RespectsAddition"> ## <ManSection> ## <Prop Name="RespectsAddition" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq S \times R</M>, ## where <M>S</M> and <M>R</M> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Prop="RespectsAddition"/> returns <K>true</K> if ## <M>S</M> and <M>R</M> are additive magmas such that ## <M>(s_1,r_1), (s_2,r_2) \in F</M> implies ## <M>(s_1 + s_2,r_1 + r_2) \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then <Ref Prop="RespectsAddition"/> ## returns <K>true</K> if and only if the equation ## <C><A>s1</A>^<A>mapp</A> + <A>s2</A>^<A>mapp</A> = ## (<A>s1</A>+<A>s2</A>)^<A>mapp</A></C> ## holds for all <A>s1</A>, <A>s2</A> in <M>S</M>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareProperty( "RespectsAddition", IsGeneralMapping );
############################################################################# ## #P RespectsZero( <mapp> ) ## ## <#GAPDoc Label="RespectsZero"> ## <ManSection> ## <Prop Name="RespectsZero" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq <A>S</A> \times <A>R</A></M>, ## where <A>S</A> and <A>R</A> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Prop="RespectsZero"/> returns <K>true</K> if ## <A>S</A> and <A>R</A> are additive-magmas-with-zero such that ## <M>( </M><C>Zero(<A>S</A>)</C><M>, ## </M><C>Zero(<A>R</A>)</C><M> ) \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then <Ref Prop="RespectsZero"/> returns ## <K>true</K> if and only if the equation ## <C>Zero( <A>S</A> )^<A>mapp</A> = Zero( <A>R</A> )</C> ## holds. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareProperty( "RespectsZero", IsGeneralMapping );
############################################################################# ## #P RespectsAdditiveInverses( <mapp> ) ## ## <#GAPDoc Label="RespectsAdditiveInverses"> ## <ManSection> ## <Prop Name="RespectsAdditiveInverses" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq S \times R</M>, ## where <M>S</M> and <M>R</M> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Prop="RespectsAdditiveInverses"/> returns <K>true</K> if ## <M>S</M> and <M>R</M> are additive-magmas-with-inverses such that ## <M>(s,r) \in F</M> implies <M>(-s,-r) \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then ## <Ref Prop="RespectsAdditiveInverses"/> returns <K>true</K> ## if and only if the equation ## <C>AdditiveInverse( <A>s</A> )^<A>mapp</A> = ## AdditiveInverse( <A>s</A>^<A>mapp</A> )</C> ## holds for all <A>s</A> in <M>S</M>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareProperty( "RespectsAdditiveInverses", IsGeneralMapping );
############################################################################# ## #P IsAdditiveGroupGeneralMapping( <mapp> ) #P IsAdditiveGroupHomomorphism( <mapp> ) ## ## <#GAPDoc Label="IsAdditiveGroupGeneralMapping"> ## <ManSection> ## <Filt Name="IsAdditiveGroupGeneralMapping" Arg='mapp'/> ## <Filt Name="IsAdditiveGroupHomomorphism" Arg='mapp'/> ## ## <Description> ## <Ref Filt="IsAdditiveGroupGeneralMapping"/> ## specifies whether a general mapping <A>mapp</A> respects ## addition (see <Ref Prop="RespectsAddition"/>) and respects ## additive inverses (see <Ref Prop="RespectsAdditiveInverses"/>). ## <P/> ## <Ref Filt="IsAdditiveGroupHomomorphism"/> is a synonym for the meet of ## <Ref Filt="IsAdditiveGroupGeneralMapping"/> and <Ref Filt="IsMapping"/>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareSynonymAttr( "IsAdditiveGroupGeneralMapping",
IsGeneralMapping and RespectsAddition and RespectsAdditiveInverses );
DeclareSynonymAttr( "IsAdditiveGroupHomomorphism",
IsAdditiveGroupGeneralMapping and IsMapping );
############################################################################# ## #A KernelOfAdditiveGeneralMapping( <mapp> ) ## ## <#GAPDoc Label="KernelOfAdditiveGeneralMapping"> ## <ManSection> ## <Attr Name="KernelOfAdditiveGeneralMapping" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping. ## Then <Ref Attr="KernelOfAdditiveGeneralMapping"/> returns ## the set of all elements in the source of <A>mapp</A> that have ## the zero of the range in their set of images. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareAttribute( "KernelOfAdditiveGeneralMapping", IsGeneralMapping );
############################################################################# ## #A CoKernelOfAdditiveGeneralMapping( <mapp> ) ## ## <#GAPDoc Label="CoKernelOfAdditiveGeneralMapping"> ## <ManSection> ## <Attr Name="CoKernelOfAdditiveGeneralMapping" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping. ## Then <Ref Attr="CoKernelOfAdditiveGeneralMapping"/> returns ## the set of all elements in the range of <A>mapp</A> that have ## the zero of the source in their set of preimages. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareAttribute( "CoKernelOfAdditiveGeneralMapping", IsGeneralMapping );
############################################################################# ## ## 3. properties and attributes of gen. mappings that respect scalar mult. ##
############################################################################# ## #P RespectsScalarMultiplication( <mapp> ) ## ## <#GAPDoc Label="RespectsScalarMultiplication"> ## <ManSection> ## <Prop Name="RespectsScalarMultiplication" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping, with underlying relation ## <M>F \subseteq S \times R</M>, ## where <M>S</M> and <M>R</M> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Prop="RespectsScalarMultiplication"/> returns <K>true</K> if ## <M>S</M> and <M>R</M> are left modules with the left acting domain ## <M>D</M> of <M>S</M> contained in the left acting domain of <M>R</M> ## and such that ## <M>(s,r) \in F</M> implies <M>(c * s,c * r) \in F</M> for all ## <M>c \in D</M>, and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then ## <Ref Prop="RespectsScalarMultiplication"/> returns ## <K>true</K> if and only if the equation ## <C><A>c</A> * <A>s</A>^<A>mapp</A> = ## (<A>c</A> * <A>s</A>)^<A>mapp</A></C> ## holds for all <A>c</A> in <M>D</M> and <A>s</A> in <M>S</M>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareProperty( "RespectsScalarMultiplication", IsGeneralMapping );
############################################################################# ## #P IsLeftModuleGeneralMapping( <mapp> ) #P IsLeftModuleHomomorphism( <mapp> ) ## ## <#GAPDoc Label="IsLeftModuleGeneralMapping"> ## <ManSection> ## <Filt Name="IsLeftModuleGeneralMapping" Arg='mapp'/> ## <Filt Name="IsLeftModuleHomomorphism" Arg='mapp'/> ## ## <Description> ## <Ref Filt="IsLeftModuleGeneralMapping"/> ## specifies whether a general mapping <A>mapp</A> satisfies the property ## <Ref Filt="IsAdditiveGroupGeneralMapping"/> and respects scalar ## multiplication (see <Ref Prop="RespectsScalarMultiplication"/>). ## <P/> ## <Ref Filt="IsLeftModuleHomomorphism"/> is a synonym for the meet of ## <Ref Filt="IsLeftModuleGeneralMapping"/> and <Ref Filt="IsMapping"/>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareSynonymAttr( "IsLeftModuleGeneralMapping",
IsAdditiveGroupGeneralMapping and RespectsScalarMultiplication );
DeclareSynonymAttr( "IsLeftModuleHomomorphism",
IsLeftModuleGeneralMapping and IsMapping );
############################################################################# ## #O IsLinearMapping( <F>, <mapp> ) ## ## <#GAPDoc Label="IsLinearMapping"> ## <ManSection> ## <Oper Name="IsLinearMapping" Arg='F, mapp'/> ## ## <Description> ## For a field <A>F</A> and a general mapping <A>mapp</A>, ## <Ref Oper="IsLinearMapping"/> returns <K>true</K> if <A>mapp</A> is an ## <A>F</A>-linear mapping, and <K>false</K> otherwise. ## <P/> ## A mapping <M>f</M> is a linear mapping (or vector space homomorphism) ## if the source and range are vector spaces over the same division ring ## <M>D</M>, and if ## <M>f( a + b ) = f(a) + f(b)</M> and <M>f( s * a ) = s * f(a)</M> hold ## for all elements <M>a</M>, <M>b</M> in the source of <M>f</M> ## and <M>s \in D</M>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareOperation( "IsLinearMapping", [ IsDomain, IsGeneralMapping ] );
############################################################################# ## ## 4. properties and attributes of gen. mappings that respect multiplicative ## and additive structure ##
############################################################################# ## #P IsRingGeneralMapping( <mapp> ) #P IsRingHomomorphism( <mapp> ) ## ## <#GAPDoc Label="IsRingGeneralMapping"> ## <ManSection> ## <Filt Name="IsRingGeneralMapping" Arg='mapp'/> ## <Filt Name="IsRingHomomorphism" Arg='mapp'/> ## ## <Description> ## <Ref Filt="IsRingGeneralMapping"/> specifies whether a general mapping ## <A>mapp</A> satisfies the property ## <Ref Filt="IsAdditiveGroupGeneralMapping"/> and respects multiplication ## (see <Ref Prop="RespectsMultiplication"/>). ## <P/> ## <Ref Filt="IsRingHomomorphism"/> is a synonym for the meet of ## <Ref Filt="IsRingGeneralMapping"/> and <Ref Filt="IsMapping"/>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareSynonymAttr( "IsRingGeneralMapping",
IsGeneralMapping and RespectsMultiplication
and IsAdditiveGroupGeneralMapping );
DeclareSynonymAttr( "IsRingHomomorphism",
IsRingGeneralMapping and IsMapping );
DeclareSynonymAttr( "IsRingWithOneHomomorphism",
IsRingWithOneGeneralMapping and IsMapping );
############################################################################# ## #P IsAlgebraGeneralMapping( <mapp> ) #P IsAlgebraHomomorphism( <mapp> ) ## ## <#GAPDoc Label="IsAlgebraGeneralMapping"> ## <ManSection> ## <Filt Name="IsAlgebraGeneralMapping" Arg='mapp'/> ## <Filt Name="IsAlgebraHomomorphism" Arg='mapp'/> ## ## <Description> ## <Ref Filt="IsAlgebraGeneralMapping"/> specifies whether a general ## mapping <A>mapp</A> satisfies both properties ## <Ref Filt="IsRingGeneralMapping"/> and ## (see <Ref Filt="IsLeftModuleGeneralMapping"/>). ## <P/> ## <Ref Filt="IsAlgebraHomomorphism"/> is a synonym for the meet of ## <Ref Filt="IsAlgebraGeneralMapping"/> and <Ref Filt="IsMapping"/>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareSynonymAttr( "IsAlgebraGeneralMapping",
IsRingGeneralMapping and IsLeftModuleGeneralMapping );
DeclareSynonymAttr( "IsAlgebraHomomorphism",
IsAlgebraGeneralMapping and IsMapping );
############################################################################# ## #P IsAlgebraWithOneGeneralMapping( <mapp> ) #P IsAlgebraWithOneHomomorphism( <mapp> ) ## ## <#GAPDoc Label="IsAlgebraWithOneGeneralMapping"> ## <ManSection> ## <Filt Name="IsAlgebraWithOneGeneralMapping" Arg='mapp'/> ## <Filt Name="IsAlgebraWithOneHomomorphism" Arg='mapp'/> ## ## <Description> ## <Ref Filt="IsAlgebraWithOneGeneralMapping"/> ## specifies whether a general mapping <A>mapp</A> satisfies both ## properties <Ref Filt="IsAlgebraGeneralMapping"/> and ## <Ref Prop="RespectsOne"/>. ## <P/> ## <Ref Filt="IsAlgebraWithOneHomomorphism"/> is a synonym for the meet of ## <Ref Filt="IsAlgebraWithOneGeneralMapping"/> and <Ref Filt="IsMapping"/>. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareSynonymAttr( "IsAlgebraWithOneGeneralMapping",
IsAlgebraGeneralMapping and RespectsOne );
DeclareSynonymAttr( "IsAlgebraWithOneHomomorphism",
IsAlgebraWithOneGeneralMapping and IsMapping );
############################################################################# ## #P IsFieldHomomorphism( <mapp> ) ## ## <#GAPDoc Label="IsFieldHomomorphism"> ## <ManSection> ## <Prop Name="IsFieldHomomorphism" Arg='mapp'/> ## ## <Description> ## A general mapping is a field homomorphism if and only if it is ## a ring homomorphism with source a field. ## </Description> ## </ManSection> ## <#/GAPDoc> ##
DeclareProperty( "IsFieldHomomorphism", IsGeneralMapping );
InstallMethod( \=,
Concatenation( "method for two s.v. gen. mappings", infostring ),
IsIdenticalObj,
[ IsGeneralMapping and IsSingleValued and respects,
IsGeneralMapping and IsSingleValued and respects ], 0, function( map1, map2 )
local preim, gen; if not IsStruct( Source( map1 ) ) then
TryNextMethod(); elif HasIsInjective( map1 ) and HasIsInjective( map2 )
and IsInjective( map1 ) <> IsInjective( map2 ) then
return false; elif HasIsSurjective( map1 ) and HasIsSurjective( map2 )
and IsSurjective( map1 ) <> IsSurjective( map2 ) then
return false; elif HasIsTotal( map1 ) and HasIsTotal( map2 )
and IsTotal( map1 ) <> IsTotal( map2 ) then
return false; elif Source( map1 ) <> Source( map2 )
or Range ( map1 ) <> Range ( map2 ) then
return false; fi;
preim:= PreImagesRange( map1 ); if not IsStruct( preim ) then
TryNextMethod(); fi; for gen in GeneratorsOfStruct( preim ) do if ImagesRepresentative( map1, gen )
<> ImagesRepresentative( map2, gen ) then
return false; fi;
od;
return true; end );
InstallMethod(IsOne,
Concatenation( "method for s.v. gen. mapping", infostring ),
true,
[ IsGeneralMapping and IsSingleValued and respects ], 0, function( map )
local gen; if not IsStruct( Source( map ) ) then
TryNextMethod(); elif HasIsInjective( map ) and not IsInjective( map ) then
return false; elif HasIsSurjective( map ) and not IsSurjective( map ) then
return false; elif HasIsTotal( map ) and not IsTotal( map ) then
return false; elif Source( map ) <> Range( map ) then
return false; fi;
for gen in GeneratorsOfStruct( Source(map) ) do if gen<>ImagesRepresentative( map, gen ) then
return false; fi;
od;
return true; end );
end );
############################################################################# ## ## 5. properties and attributes of gen. mappings that transform ## multiplication into addition ##
############################################################################# ## #P TransformsMultiplicationIntoAddition( <mapp> ) ## ## <ManSection> ## <Prop Name="TransformsMultiplicationIntoAddition" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq S \times R</M>, ## where <M>S</M> and <M>R</M> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Func="TransformsMultiplicationIntoAddition"/> returns ## <K>true</K> if <M>S</M> is a magma and <M>R</M> an additive magma ## such that <M>(s_1,r_1), (s_2,r_2) \in F</M> implies ## <M>(s_1 * s_2,r_1 + r_2) \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then ## <Ref Func="TransformsMultiplicationIntoAddition"/> ## returns <K>true</K> if and only if the equation ## <C><A>s1</A>^<A>mapp</A> + <A>s2</A>^<A>mapp</A> = ## (<A>s1</A> * <A>s2</A>)^<A>mapp</A></C> holds for all ## <A>s1</A>, <A>s2</A> in <M>S</M>. ## </Description> ## </ManSection> ##
DeclareProperty( "TransformsMultiplicationIntoAddition", IsGeneralMapping );
############################################################################# ## #P TranformsOneIntoZero( <mapp> ) ## ## <ManSection> ## <Prop Name="TranformsOneIntoZero" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq S \times R</M>, ## where <M>S</M> and <M>R</M> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Func="TranformsOneIntoZero"/> returns <K>true</K> if ## <M>S</M> is a magma-with-one and <M>R</M> an additive-magma-with-zero ## such that ## <M>( </M><C>One(</C><M>S</M><C>), Zero(</C><M>R</M><C>) )</C><M> \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then ## <Ref Func="TranformsOneIntoZero"/> returns <K>true</K> ## if and only if the equation ## <C>One( S )^<A>mapp</A> = Zero( R )</C> ## holds. ## </Description> ## </ManSection> ##
DeclareProperty( "TranformsOneIntoZero", IsGeneralMapping );
############################################################################# ## #P TransformsInversesIntoAdditiveInverses( <mapp> ) ## ## <ManSection> ## <Prop Name="TransformsInversesIntoAdditiveInverses" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq S \times R</M>, ## where <M>S</M> and <M>R</M> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Func="RespectsInverses"/> returns <K>true</K> if ## <M>S</M> and <M>R</M> are magmas-with-inverses such that ## <M>S</M> is a magma-with-inverses ## and <M>R</M> an additive-magma-with-inverses ## such that <M>(s,r) \in F</M> implies <M>(s^{-1},-r) \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then ## <Ref Func="TransformsInversesIntoAdditiveInverses"/> ## returns <K>true</K> if and only if the equation ## <C>Inverse( <A>s</A> )^<A>mapp</A> = ## AdditiveInverse( <A>s</A>^<A>mapp</A> )</C> ## holds for all <A>s</A> in <M>S</M>. ## </Description> ## </ManSection> ##
DeclareProperty( "TransformsInversesIntoAdditiveInverses", IsGeneralMapping );
############################################################################# ## #P IsGroupToAdditiveGroupGeneralMapping( <mapp> ) #P IsGroupToAdditiveGroupHomomorphism( <mapp> ) ## ## <ManSection> ## <Prop Name="IsGroupToAdditiveGroupGeneralMapping" Arg='mapp'/> ## <Prop Name="IsGroupToAdditiveGroupHomomorphism" Arg='mapp'/> ## ## <Description> ## A <C>GroupToAdditiveGroupGeneralMapping</C> is a mapping which transforms ## multiplication into addition and transforms ## inverses into additive inverses. If it is total and single valued it is ## called a group-to-additive-group ## homomorphism. ## </Description> ## </ManSection> ##
DeclareSynonymAttr( "IsGroupToAdditiveGroupGeneralMapping",
IsGeneralMapping and TransformsMultiplicationIntoAddition and
TransformsInversesIntoAdditiveInverses );
DeclareSynonymAttr( "IsGroupToAdditiveGroupHomomorphism",
IsGroupToAdditiveGroupGeneralMapping and IsMapping );
############################################################################# ## ## 6. properties and attributes of gen. mappings that transform addition ## into multiplication ##
############################################################################# ## #P TransformsAdditionIntoMultiplication( <mapp> ) ## ## <ManSection> ## <Prop Name="TransformsAdditionIntoMultiplication" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq S \times R</M>, ## where <M>S</M> and <M>R</M> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Func="TransformsAdditionIntoMultiplication"/> returns ## <K>true</K> if ## <M>S</M> is an additive magma and <M>R</M> a magma such that ## <M>(s_1,r_1), (s_2,r_2) \in F</M> implies <M>(s_1 + s_2,r_1 * r_2) \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then ## <Ref Func="TransformsAdditionIntoMultiplication"/> ## returns <K>true</K> if and only if the equation ## <C><A>s1</A>^<A>mapp</A> * <A>s2</A>^<A>mapp</A> = ## (<A>s1</A>+<A>s2</A>)^<A>mapp</A></C> ## holds for all <A>s1</A>, <A>s2</A> in <M>S</M>. ## </Description> ## </ManSection> ##
DeclareProperty( "TransformsAdditionIntoMultiplication", IsGeneralMapping );
############################################################################# ## #P TransformsZeroIntoOne( <mapp> ) ## ## <ManSection> ## <Prop Name="TransformsZeroIntoOne" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq S \times R</M>, ## where <M>S</M> and <M>R</M> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Func="TransformsZeroIntoOne"/> returns <K>true</K> if ## <M>S</M> is an additive-magma-with-zero and <M>R</M> a magma-with-one ## such that ## <M>( </M><C>Zero(</C><M>S</M><C>), One(</C><M>R</M><C>) )</C><M> \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then ## <Ref Func="TransformsZeroIntoOne"/> returns <K>true</K> ## if and only if the equation ## <C>Zero( S )^<A>mapp</A> = One( R )</C> ## holds. ## </Description> ## </ManSection> ##
DeclareProperty( "TransformsZeroIntoOne", IsGeneralMapping );
############################################################################# ## #P TransformsAdditiveInversesIntoInverses( <mapp> ) ## ## <ManSection> ## <Prop Name="TransformsAdditiveInversesIntoInverses" Arg='mapp'/> ## ## <Description> ## Let <A>mapp</A> be a general mapping with underlying relation ## <M>F \subseteq S \times R</M>, ## where <M>S</M> and <M>R</M> are the source and the range of <A>mapp</A>, ## respectively. ## Then <Ref Func="TransformsAdditiveInversesIntoInverses"/> returns ## <K>true</K> if <M>S</M> is an additive-magma-with-inverses and ## <M>R</M> a magma-with-inverses such that ## <M>(s,r) \in F</M> implies <M>(-s,r^{-1}) \in F</M>, ## and <K>false</K> otherwise. ## <P/> ## If <A>mapp</A> is single-valued then ## <Ref Func="TransformsAdditiveInversesIntoInverses"/> ## returns <K>true</K> if and only if the equation ## <C>AdditiveInverse( <A>s</A> )^<A>mapp</A> = ## Inverse( <A>s</A>^<A>mapp</A> )</C> holds for all <A>s</A> in <M>S</M>. ## </Description> ## </ManSection> ##
DeclareProperty( "TransformsAdditiveInversesIntoInverses", IsGeneralMapping );
DeclareSynonymAttr( "IsAdditiveGroupToGroupHomomorphism",
IsAdditiveGroupToGroupGeneralMapping and IsMapping );
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.28Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-10-12)
¤
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 und die Messung sind noch experimentell.