OpenMath Content Dictionary: field1
Canonical URL:
http://www.openmath.org/cd/field1.ocd
CD Base:
http://www.openmath.org/cd
CD File:
field1.ocd
CD as XML Encoded OpenMath:
field1.omcd
Defines:
addition , additive_group , carrier , expression , field , identity , inverse , is_commutative , is_subfield , minus , multiplication , multiplicative_group , power , subfield , subtraction , zero
Date:
2004-06-01
Version:
1
(Revision 2)
Review Date:
2006-06-01
Status:
experimental
A CD of basic functions for field theory
Written by Arjeh M. Cohen 2004-02-26
Description:
This symbol is a constructor for fields. It takes seven arguments
R, a, o, n, m, e, i: which are, respectively,
a set R to specify the elements in the field,
a binary operation a on R, an element o of R, and a unary
operation n on R such that [R,a,o,n] is a commutative group, a
binary operation m on R, an element e of R, and a map from R - {o}
to itself such that
[R,m,e] is a monoid and such that [R - {o},m',e,i]
is a group, where m' is the restriction of m to R -{o}.
Example:
This example represents the field of rational numbers.
The field addition is binary addition,
the field multiplication is binary multiplication.
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="field1" name="field"/>
<OMS cd="setname1" name="Q"/>
<OMS cd="arith1" name="plus"/>
<OMI>0</OMI>
<OMS cd="arith1" name="minus"/>
<OMS cd="arith1" name="times"/>
<OMI>1</OMI>
<OMBIND><OMS cd="fns1" name="lambda"/>
<OMBVAR> <OMV name="x"/> </OMBVAR>
<OMA><OMS cd="arith1" name="divide"/>
<OMI> 1 </OMI> <OMV name="x"/>
</OMA>
</OMBIND>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="field1">field</csymbol>
<csymbol cd="setname1">Q</csymbol>
<csymbol cd="arith1">plus</csymbol>
<cn type="integer">0</cn>
<csymbol cd="arith1">minus</csymbol>
<csymbol cd="arith1">times</csymbol>
<cn type="integer">1</cn>
<bind><csymbol cd="fns1">lambda</csymbol>
<bvar><ci>x</ci></bvar>
<apply><csymbol cd="arith1">divide</csymbol><cn type="integer">1</cn><ci>x</ci></apply>
</bind>
</apply>
</math>
Prefix
Popcorn
field1.field(setname1.Q, arith1.plus, 0, arith1.minus, arith1.times, 1, fns1.lambda[$x -> 1 / $x])
Rendered Presentation MathML
field
(
Q
,
+
,
0
,
-
,
×
,
1
,
λ
x
.
1
x
)
Signatures:
sts
Description:
This symbol represents a unary function, whose argument should be a
field S (for instance constructed by field).
When applied to S, its value should be the set of elements of S.
Example:
The carrier of field(R,+,0,-,*,1,inv) is R.
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="carrier"/>
<OMA><OMS cd="field1" name="field"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
<OMV name="R"/>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">carrier</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
<ci>R</ci>
</apply>
</math>
Prefix
Popcorn
field1.carrier(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $R
Rendered Presentation MathML
carrier
(
field
(
R
,
plus
,
zero
,
minus
,
times
,
one
,
inv
)
)
=
R
Signatures:
sts
Description:
This symbol represents a unary function, whose argument should be a
field S. It returns the multiplication map on the field.
We allow for the map to be n-ary.
Example:
The multiplication of field(R,+,0,-,*,1,inv) is *.
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="multiplication"/>
<OMA><OMS cd="field1" name="field"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
<OMV name="times"/>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">multiplication</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
<ci>times</ci>
</apply>
</math>
Prefix
Popcorn
field1.multiplication(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $times
Rendered Presentation MathML
multiplication
(
field
(
R
,
plus
,
zero
,
minus
,
times
,
one
,
inv
)
)
=
times
Signatures:
sts
Description:
This symbol represents a unary function, whose argument should be a
field S. It returns the map sending an element of S to its additive inverse.
Example:
The minus of field(R,+,0,-,*,1,inv) is -.
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="minus"/>
<OMA><OMS cd="field1" name="field"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
<OMV name="minus"/>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">minus</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
<ci>minus</ci>
</apply>
</math>
Prefix
eq
(
minus
(
field
(
R ,
plus ,
zero ,
minus ,
times ,
one ,
inv )
)
,
minus )
Popcorn
field1.minus(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $minus
Rendered Presentation MathML
minus
(
field
(
R
,
plus
,
zero
,
minus
,
times
,
one
,
inv
)
)
=
minus
Signatures:
sts
Description:
This symbol represents a unary function, whose argument should be a field S.
It returns the map sending a nonzero element of S to its multiplicative
inverse.
Example:
The inverse of field(R,+,0,-,*,1,inv) is inv.
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="inverse"/>
<OMA><OMS cd="field1" name="field"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
<OMV name="inv"/>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">inverse</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
<ci>inv</ci>
</apply>
</math>
Prefix
Popcorn
field1.inverse(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $inv
Rendered Presentation MathML
inverse
(
field
(
R
,
plus
,
zero
,
minus
,
times
,
one
,
inv
)
)
=
inv
Signatures:
sts
Description:
This symbols represents a unary function, whose argument should be a
field. It returns the identity element of the field.
Example:
The identity field(R,+,0,-,*,1,inv) is 1.
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="identity"/>
<OMA><OMS cd="field1" name="field"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
<OMV name="one"/>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">identity</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
<ci>one</ci>
</apply>
</math>
Prefix
Popcorn
field1.identity(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $one
Rendered Presentation MathML
identity
(
field
(
R
,
plus
,
zero
,
minus
,
times
,
one
,
inv
)
)
=
one
Signatures:
sts
Description:
This symbols represents a unary function, whose argument should be a
field. It returns the zero element of the field.
Example:
The identity field(R,+,0,-,*,1,inv) is 0.
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="zero"/>
<OMA><OMS cd="field1" name="field"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
<OMV name="zero"/>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">zero</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
<ci>zero</ci>
</apply>
</math>
Prefix
eq
(
zero
(
field
(
R ,
plus ,
zero ,
minus ,
times ,
one ,
inv )
)
,
zero )
Popcorn
field1.zero(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $zero
Rendered Presentation MathML
zero
(
field
(
R
,
plus
,
zero
,
minus
,
times
,
one
,
inv
)
)
=
zero
Signatures:
sts
Description:
This symbols represents a unary function, whose argument should be a
field. It returns the addition map on the field.
We allow for the map to be n-ary.
Example:
The identity field(R,+,0,-,*,1,inv) is +.
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="identity"/>
<OMA><OMS cd="field1" name="field"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
<OMV name="plus"/>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">identity</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
<ci>plus</ci>
</apply>
</math>
Prefix
Popcorn
field1.identity(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = $plus
Rendered Presentation MathML
identity
(
field
(
R
,
plus
,
zero
,
minus
,
times
,
one
,
inv
)
)
=
plus
Signatures:
sts
Description:
This symbols represents a unary function, whose argument should be a
field. It returns the binary operation of subtraction on the field.
Example:
The subtraction of field(R,+,0,-,*,1,inv) is the map
sending the pair (r,s) of elements of R to r-s.
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="subtraction"/>
<OMA><OMS cd="field1" name="field"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
<OMBIND><OMS cd="fns1" name="lambda"/>
<OMBVAR><OMV name="x"/><OMV name="y"/>
</OMBVAR>
<OMA><OMV name="plus"/>
<OMV name="x"/>
<OMA><OMV name="minus"/>
<OMV name="y"/>
</OMA>
</OMA>
</OMBIND>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">subtraction</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
<bind><csymbol cd="fns1">lambda</csymbol>
<bvar><ci>x</ci></bvar>
<bvar><ci>y</ci></bvar>
<apply><ci>plus</ci><ci>x</ci><apply><ci>minus</ci><ci>y</ci></apply></apply>
</bind>
</apply>
</math>
Prefix
Popcorn
field1.subtraction(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = fns1.lambda[$x, $y -> $plus($x, $minus($y))]
Rendered Presentation MathML
subtraction
(
field
(
R
,
plus
,
zero
,
minus
,
times
,
one
,
inv
)
)
=
λ
x
,
y
.
plus
(
x
,
minus
(
y
)
)
Signatures:
sts
Description:
The unary boolean function whose value is true iff the argument is a
commutative field.
Commented Mathematical property (CMP):
If is_commutative(G) then for all a,b in carrier(G) a*b = b*a
Formal Mathematical property (FMP):
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA>
<OMS cd="logic1" name="implies"/>
<OMA>
<OMS cd="field1" name="is_commutative"/>
<OMV name="G"/>
</OMA>
<OMBIND>
<OMS cd="quant1" name="forall"/>
<OMBVAR>
<OMV name="a"/>
<OMV name="b"/>
</OMBVAR>
<OMA>
<OMS cd="logic1" name="implies"/>
<OMA>
<OMS cd="logic1" name="and"/>
<OMA>
<OMS cd="set1" name="in"/>
<OMV name="a"/>
<OMA>
<OMS cd="field1" name="carrier"/>
<OMV name="G"/>
</OMA>
</OMA>
<OMA>
<OMS cd="set1" name="in"/>
<OMV name="b"/>
<OMA>
<OMS cd="field1" name="carrier"/>
<OMV name="G"/>
</OMA>
</OMA>
</OMA>
<OMA>
<OMS cd="relation1" name="eq"/>
<OMA>
<OMS cd="field1" name="multiplication"/>
<OMV name="G"/>
</OMA>
<OMV name="a"/>
<OMV name="b"/>
</OMA>
<OMA>
<OMA>
<OMS cd="field1" name="multiplication"/>
<OMV name="G"/>
</OMA>
<OMV name="b"/>
<OMV name="a"/>
</OMA>
</OMA>
</OMBIND>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="logic1">implies</csymbol>
<apply><csymbol cd="field1">is_commutative</csymbol><ci>G</ci></apply>
<bind><csymbol cd="quant1">forall</csymbol>
<bvar><ci>a</ci></bvar>
<bvar><ci>b</ci></bvar>
<apply><csymbol cd="logic1">implies</csymbol>
<apply><csymbol cd="logic1">and</csymbol>
<apply><csymbol cd="set1">in</csymbol>
<ci>a</ci>
<apply><csymbol cd="field1">carrier</csymbol><ci>G</ci></apply>
</apply>
<apply><csymbol cd="set1">in</csymbol>
<ci>b</ci>
<apply><csymbol cd="field1">carrier</csymbol><ci>G</ci></apply>
</apply>
</apply>
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">multiplication</csymbol><ci>G</ci></apply>
<ci>a</ci>
<ci>b</ci>
</apply>
<apply>
<apply><csymbol cd="field1">multiplication</csymbol><ci>G</ci></apply>
<ci>b</ci>
<ci>a</ci>
</apply>
</apply>
</bind>
</apply>
</math>
Prefix
Popcorn
field1.is_commutative($G) ==> quant1.forall[$a, $b -> set1.in($a, field1.carrier($G)) and set1.in($b, field1.carrier($G)) ==> field1.multiplication($G) = $a = $b ==> field1.multiplication($G)($b, $a)]
Rendered Presentation MathML
is_commutative
(
G
)
⇒
∀
a
,
b
.
a
∈
carrier
(
G
)
∧
b
∈
carrier
(
G
)
⇒
multiplication
(
G
)
=
a
=
b
Signatures:
sts
Description:
The binary boolean function whose value is true iff the second
argument is a subfield of the second.
Commented Mathematical property (CMP):
If is_subfield(G,H) then H is a nonempty set of elements of the carrier
of G and H is closed under multiplication and taking inverses.
Signatures:
sts
Description:
This symbol is a unary function, whose argument should be a field S.
When applied to S its value is the monoid underlying S.
Example:
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="additive_group"/>
<OMA><OMS cd="field1" name="field"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
<OMA><OMS cd="group1" name="group"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">additive_group</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
<apply><csymbol cd="group1">group</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
</apply>
</apply>
</math>
Prefix
eq
(
additive_group
(
field
(
R ,
plus ,
zero ,
minus ,
times ,
one ,
inv )
)
,
group
(
R ,
plus ,
zero ,
minus )
)
Popcorn
field1.additive_group(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = group1.group($R, $plus, $zero, $minus)
Rendered Presentation MathML
additive_group
(
field
(
R
,
plus
,
zero
,
minus
,
times
,
one
,
inv
)
)
=
group
(
R
,
plus
,
zero
,
minus
)
Signatures:
sts
Description:
This symbol is a unary function, whose argument should be a field S.
When applied to S its value is the multiplicative group on the nonzero
elements of S.
Example:
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="multiplicative_group"/>
<OMA><OMS cd="field1" name="field"/>
<OMV name="R"/>
<OMV name="plus"/>
<OMV name="zero"/>
<OMV name="minus"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
<OMA><OMS cd="group1" name="group"/>
<OMV name="R"/>
<OMV name="times"/>
<OMV name="one"/>
<OMV name="inv"/>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">multiplicative_group</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<ci>R</ci>
<ci>plus</ci>
<ci>zero</ci>
<ci>minus</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
<apply><csymbol cd="group1">group</csymbol>
<ci>R</ci>
<ci>times</ci>
<ci>one</ci>
<ci>inv</ci>
</apply>
</apply>
</math>
Prefix
eq
(
multiplicative_group
(
field
(
R ,
plus ,
zero ,
minus ,
times ,
one ,
inv )
)
,
group
(
R ,
times ,
one ,
inv )
)
Popcorn
field1.multiplicative_group(field1.field($R, $plus, $zero, $minus, $times, $one, $inv)) = group1.group($R, $times, $one, $inv)
Rendered Presentation MathML
multiplicative_group
(
field
(
R
,
plus
,
zero
,
minus
,
times
,
one
,
inv
)
)
=
group
(
R
,
times
,
one
,
inv
)
Signatures:
sts
Description:
This symbol is a constructor symbol with one or two arguments. The
first argument is a list or set, D, of field elements. The optional
second argument is the field G containing D. It denotes the subfield
of G generated by D.
Example:
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="field1" name="subfield"/>
<OMV name="D"/> <OMV name="G"/>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML"><apply><csymbol cd="field1">subfield</csymbol><ci>D</ci><ci>G</ci></apply></math>
Prefix
Popcorn
field1.subfield($D, $G)
Rendered Presentation MathML
Example:
This example represents the subfield of the multiplicative field of
the nonzero reals generated by the constants Pi and E:
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="field1" name="subfield"/>
<OMA>
<OMS cd="list1" name="list"/>
<OMS cd="nums1" name="pi"/>
<OMS cd="nums1" name="e"/>
</OMA>
<OMA><OMS cd="field1" name="field"/>
<OMA><OMS cd="set1" name="suchthat"/>
<OMS cd="setname1" name="R"/>
<OMBIND><OMS cd="fns1" name="lambda"/>
<OMBVAR> <OMV name="x"/>
</OMBVAR>
<OMA><OMS cd="relation1" name="neq"/>
<OMV name="x"/>
<OMS cd="alg1" name="zero"/>
</OMA>
</OMBIND>
</OMA>
<OMS cd="arith1" name="times"/>
<OMS cd="arith2" name="inverse"/>
<OMI> 1 </OMI>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="field1">subfield</csymbol>
<apply><csymbol cd="list1">list</csymbol>
<csymbol cd="nums1">pi</csymbol>
<csymbol cd="nums1">e</csymbol>
</apply>
<apply><csymbol cd="field1">field</csymbol>
<apply><csymbol cd="set1">suchthat</csymbol>
<csymbol cd="setname1">R</csymbol>
<bind><csymbol cd="fns1">lambda</csymbol>
<bvar><ci>x</ci></bvar>
<apply><csymbol cd="relation1">neq</csymbol><ci>x</ci><csymbol cd="alg1">zero</csymbol></apply>
</bind>
</apply>
<csymbol cd="arith1">times</csymbol>
<csymbol cd="arith2">inverse</csymbol>
<cn type="integer">1</cn>
</apply>
</apply>
</math>
Prefix
Popcorn
field1.subfield([nums1.pi , nums1.e], field1.field(set1.suchthat(setname1.R, fns1.lambda[$x -> $x != alg1.zero]), arith1.times, arith2.inverse, 1))
Rendered Presentation MathML
subfield
(
(
π
,
e
)
,
field
(
{
x
∈
R
|
x
≠
0
}
,
×
,
inverse
,
1
)
)
Signatures:
sts
Description:
This is a symbol with two or three arguments. Its first argument
should be an element g of a field and the second argument should be
an integer. The optional third argument is the field G containing g.
It denotes the element g^k in G.
Example:
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="field1" name="power"/>
<OMI>3</OMI>
<OMI>2</OMI>
<OMA><OMS cd="field1" name="field"/>
<OMS cd="setname1" name="Q"/>
<OMS cd="arith1" name="plus"/>
<OMI>0</OMI>
<OMS cd="arith1" name="minus"/>
<OMS cd="arith1" name="times"/>
<OMI>1</OMI>
<OMBIND><OMS cd="fns1" name="lambda"/>
<OMBVAR> <OMV name="x"/> </OMBVAR>
<OMA><OMS cd="arith1" name="divide"/>
<OMI> 1 </OMI> <OMV name="x"/>
</OMA>
</OMBIND>
</OMA>
</OMA>
<OMI>9</OMI>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="field1">power</csymbol>
<cn type="integer">3</cn>
<cn type="integer">2</cn>
<apply><csymbol cd="field1">field</csymbol>
<csymbol cd="setname1">Q</csymbol>
<csymbol cd="arith1">plus</csymbol>
<cn type="integer">0</cn>
<csymbol cd="arith1">minus</csymbol>
<csymbol cd="arith1">times</csymbol>
<cn type="integer">1</cn>
<bind><csymbol cd="fns1">lambda</csymbol>
<bvar><ci>x</ci></bvar>
<apply><csymbol cd="arith1">divide</csymbol><cn type="integer">1</cn><ci>x</ci></apply>
</bind>
</apply>
</apply>
<cn type="integer">9</cn>
</apply>
</math>
Prefix
eq
(
power
(3, 2,
field
(
Q ,
plus , 0,
minus ,
times , 1,
lambda
[
x ] .
(
divide
( 1 ,
x )
)
)
)
, 9)
Popcorn
field1.power(3, 2, field1.field(setname1.Q, arith1.plus, 0, arith1.minus, arith1.times, 1, fns1.lambda[$x -> 1 / $x])) = 9
Rendered Presentation MathML
power
(
3
,
2
,
field
(
Q
,
+
,
0
,
-
,
×
,
1
,
λ
x
.
1
x
)
)
=
9
Signatures:
sts
Description:
This symbol is a function with two arguments. Its first
argument should be a field. The
second should be an arithmetic expression A,
whose operators are
times, plus, minus, unary_minus, and power, and whose leaves are members of the carrier of G.
When applied to
G and A, it denotes the element (of G) that is the element obtained from the
leaves of A by applying the operations of G instead of those
from the CD arith1 according to A. Here multiplication, addition, subtraction,
minus, and power take over the roles of
times, plus, minus, unary_minus, and power, respectively.
Also, an integer m occurring in A will be interpreted as a member of G by interpreting it as
the sum of m copies of the identity element, the symbol alg1.one will be
interpreted as the identity,
and the symbol alg1.zero will be
interpreted as the zero of G.
Example:
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath" version="2.0">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="group1" name="expression"/>
<OMA><OMS cd="field1" name="field"/>
<OMS cd="setname1" name="Z"/>
<OMS cd="arith1" name="plus"/>
<OMI>0</OMI>
<OMS cd="arith1" name="unary_minus"/>
<OMS cd="arith1" name="times"/>
<OMI>1</OMI>
</OMA>
<OMA><OMS cd="arith1" name="times"/>
<OMI>6</OMI><OMI>3</OMI>
</OMA>
</OMA>
<OMI>18</OMI>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="group1">expression</csymbol>
<apply><csymbol cd="field1">field</csymbol>
<csymbol cd="setname1">Z</csymbol>
<csymbol cd="arith1">plus</csymbol>
<cn type="integer">0</cn>
<csymbol cd="arith1">unary_minus</csymbol>
<csymbol cd="arith1">times</csymbol>
<cn type="integer">1</cn>
</apply>
<apply><csymbol cd="arith1">times</csymbol>
<cn type="integer">6</cn>
<cn type="integer">3</cn>
</apply>
</apply>
<cn type="integer">18</cn>
</apply>
</math>
Prefix
Popcorn
group1.expression(field1.field(setname1.Z, arith1.plus, 0, arith1.unary_minus, arith1.times, 1), 6 * 3) = 18
Rendered Presentation MathML
expression
(
field
(
Z
,
+
,
0
,
-
,
×
,
1
)
,
6
×
3
)
=
18
Signatures:
sts