Nuprl Definition : s-group

This is "fully constructive" version of the normal 
algebraic concept of group. 
The difference is that the "points" (i.e. the elements) of the group
come from SeparationSpace -- type with separation relation x'.
Then the negation ⌜¬x'⌝ -- which we write ⌜x ≡ x'⌝ -- is an equivalence
relation on the elements. 
We could then form quotient type ⌜x,x':Point//x ≡ x'⌝ and use the 
normal defintion of group with elements from the quotient type.
But, in general, we may not be able to define the needed operations on the
quotient. 

Instead, we state the "equations" (associativity, inverse, and identity) using
the equivalence realtion x ≡ x' instead of equality.
In addition, we add as axioms that the group operations 
are "strongly extensional"⋅

s-Group ==
  SeparationSpace
  "id":Point
  "inv":Point ⟶ Point
  "op":{f:Point ⟶ Point ⟶ Point| 
        (∀x,y,z:Point.  (f z) ≡ (f y) z)
        ∧ (∀x:Point. self."id" ≡ x)
        ∧ (∀x:Point. (self."inv" x) ≡ self."id")} 
  "opsep":∀x,x',y,y':Point.  (self."op" self."op" x'  (x x' ∨ y'))
  "invsep":∀x,y:Point.  (self."inv" self."inv"  y)



Definitions occuring in Statement :  ss-eq: x ≡ y ss-sep: y ss-point: Point separation-space: SeparationSpace all: x:A. B[x] implies:  Q or: P ∨ Q and: P ∧ Q set: {x:A| B[x]}  apply: a function: x:A ⟶ B[x] token: "$token" record-select: r.x record+: record+
Definitions occuring in definition :  ss-sep: y token: "$token" record-select: r.x apply: a implies:  Q ss-point: Point all: x:A. B[x] or: P ∨ Q ss-eq: x ≡ y and: P ∧ Q function: x:A ⟶ B[x] set: {x:A| B[x]}  separation-space: SeparationSpace record+: record+
FDL editor aliases :  s-group

Latex:
s-Group  ==
    SeparationSpace
    "id":Point
    "inv":Point  {}\mrightarrow{}  Point
    "op":\{f:Point  {}\mrightarrow{}  Point  {}\mrightarrow{}  Point| 
                (\mforall{}x,y,z:Point.    f  x  (f  y  z)  \mequiv{}  f  (f  x  y)  z)
                \mwedge{}  (\mforall{}x:Point.  f  x  self."id"  \mequiv{}  x)
                \mwedge{}  (\mforall{}x:Point.  f  x  (self."inv"  x)  \mequiv{}  self."id")\} 
    "opsep":\mforall{}x,x',y,y':Point.    (self."op"  x  y  \#  self."op"  x'  y  {}\mRightarrow{}  (x  \#  x'  \mvee{}  y  \#  y'))
    "invsep":\mforall{}x,y:Point.    (self."inv"  x  \#  self."inv"  y  {}\mRightarrow{}  x  \#  y)



Date html generated: 2016_11_08-AM-09_11_20
Last ObjectModification: 2016_11_02-PM-05_05_31

Theory : inner!product!spaces


Home Index