File: mgmadj.xml

package info (click to toggle)
gap 4.15.1-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 110,212 kB
  • sloc: ansic: 97,261; xml: 48,343; cpp: 13,946; sh: 4,900; perl: 1,650; javascript: 255; makefile: 252; ruby: 9
file content (79 lines) | stat: -rw-r--r-- 2,831 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

<ManSection>
  <Filt Name="IsMagmaWithZeroAdjoined" Arg='M' Type="Category"/>
  <Returns><K>true</K> or <K>false</K>.</Returns>
  <Description>
  <C>IsMagmaWithZeroAdjoined</C> returns <K>true</K> if the magma <A>M</A> was
  created using <Ref Attr="InjectionZeroMagma"/> or
  <Ref Attr="MagmaWithZeroAdjoined"/> and returns <K>false</K> if it was not.
<Example><![CDATA[
gap> S:=Semigroup(Transformation([1,1,1]), Transformation([1,3,2]));;
gap> IsMagmaWithZeroAdjoined(S);
false
gap> M:=MagmaWithZeroAdjoined(S);
<<transformation semigroup of degree 3 with 2 generators>
  with 0 adjoined>
gap> IsMagmaWithZeroAdjoined(M);
true
]]></Example>
  </Description>
</ManSection>

<ManSection>
  <Attr Name="InjectionZeroMagma" Arg='M'/>
  <Attr Name="MagmaWithZeroAdjoined" Arg='M'/>
  <Description>
  <Ref Attr="InjectionZeroMagma"/> returns an embedding from the magma <A>M</A>
  into a new magma formed from <A>M</A> by adjoining a single new element
  which is the multiplicative zero of the resulting magma.
  The elements of the new magma form a family of elements in the
  category <Ref Filt="IsMultiplicativeElementWithZero"/> and the magma
  itself satisfies <Ref Filt="IsMagmaWithZeroAdjoined"/>.<P/>

  <C>MagmaWithZeroAdjoined</C> is just shorthand for
  <C>Range(InjectionZeroMagma(<A>M</A>)))</C>.<P/>

  If <C>N</C> is a magma with zero adjoined, then the embedding
  used to create <C>N</C> can be recovered using
  <Ref Attr="UnderlyingInjectionZeroMagma"/>.
<Example><![CDATA[
gap> S:=Monoid(Transformation( [ 7, 7, 5, 3, 1, 3, 7 ] ),
> Transformation( [ 5, 1, 4, 1, 4, 4, 7 ] ));;
gap> MultiplicativeZero(S);
Transformation( [ 7, 7, 7, 7, 7, 7, 7 ] )
gap> T:=MagmaWithZeroAdjoined(S);
<<transformation monoid of degree 7 with 2 generators>
  with 0 adjoined>
gap> map:=UnderlyingInjectionZeroMagma(T);;
gap> x:=Transformation( [ 7, 7, 7, 3, 7, 3, 7 ] );;
gap> x^map;
<monoid with 0 adjoined elt: Transformation( [ 7, 7, 7, 3, 7, 3, 7 ]
 )>
gap> PreImage(map, x^map)=x;
true
]]></Example>
  </Description>
</ManSection>

<ManSection>
  <Attr Name="UnderlyingInjectionZeroMagma" Arg='M'/>
  <Description>
  <C>UnderlyingInjectionZeroMagma</C>
  returns the embedding used to create the magma with zero adjoined
  <A>M</A>.
<Example><![CDATA[
gap> S:=Monoid(Transformation( [ 8, 7, 5, 3, 1, 3, 8, 8 ] ),
> Transformation( [ 5, 1, 4, 1, 4, 4, 7, 8 ] ));;
gap> MultiplicativeZero(S);
Transformation( [ 8, 8, 8, 8, 8, 8, 8, 8 ] )
gap> T:=MagmaWithZeroAdjoined(S);
<<transformation monoid of degree 8 with 2 generators>
  with 0 adjoined>
gap> UnderlyingInjectionZeroMagma(T);
MappingByFunction( <transformation monoid of degree 8 with 2
 generators>, <<transformation monoid of degree 8 with 2 generators>
  with 0 adjoined>, function( elt ) ... end, function( x ) ... end )
]]></Example>
  </Description>
</ManSection>