Nuprl Definition : set-sig

set-sig{i:l}(Item) ==
  "set":{s:Type| valueall-type(Item)  valueall-type(s)} 
  "member":Item ─→ self."set" ─→ 𝔹
  "empty":{s:self."set"| ∀x:Item. (¬↑(self."member" s))} 
  "isEmpty":{f:self."set" ─→ 𝔹| ∀s:self."set". (↑(f s) ⇐⇒ ∀x:Item. (¬↑(self."member" s)))} 
  "singleton":{f:Item ─→ self."set"| ∀x,y:Item.  (↑(self."member" (f y)) ⇐⇒ y ∈ Item)} 
  "add":{f:Item ─→ self."set" ─→ self."set"| 
         ∀s:self."set". ∀x,y:Item.  (↑(self."member" (f s)) ⇐⇒ (x y ∈ Item) ∨ (↑(self."member" s)))} 
  "union":{f:self."set" ─→ self."set" ─→ self."set"| 
           ∀s1,s2:self."set". ∀x:Item.
             (↑(self."member" (f s1 s2)) ⇐⇒ (↑(self."member" s1)) ∨ (↑(self."member" s2)))} 
  "remove":{f:Item ─→ self."set" ─→ self."set"| 
            ∀s:self."set". ∀x,y:Item.  (↑(self."member" (f s)) ⇐⇒ (x y ∈ Item)) ∧ (↑(self."member" s)))} 



Definitions occuring in Statement :  valueall-type: valueall-type(T) assert: b bool: 𝔹 top: Top all: x:A. B[x] iff: ⇐⇒ Q not: ¬A implies:  Q or: P ∨ Q and: P ∧ Q set: {x:A| B[x]}  apply: a function: x:A ─→ B[x] token: "$token" universe: Type equal: t ∈ T record-select: r.x record+: record+ record: record(x.T[x])
FDL editor aliases :  set-sig
set-sig\{i:l\}(Item)  ==
    "set":\{s:Type|  valueall-type(Item)  {}\mRightarrow{}  valueall-type(s)\} 
    "member":Item  {}\mrightarrow{}  self."set"  {}\mrightarrow{}  \mBbbB{}
    "empty":\{s:self."set"|  \mforall{}x:Item.  (\mneg{}\muparrow{}(self."member"  x  s))\} 
    "isEmpty":\{f:self."set"  {}\mrightarrow{}  \mBbbB{}|  \mforall{}s:self."set".  (\muparrow{}(f  s)  \mLeftarrow{}{}\mRightarrow{}  \mforall{}x:Item.  (\mneg{}\muparrow{}(self."member"  x  s)))\} 
    "singleton":\{f:Item  {}\mrightarrow{}  self."set"|  \mforall{}x,y:Item.    (\muparrow{}(self."member"  x  (f  y))  \mLeftarrow{}{}\mRightarrow{}  x  =  y)\} 
    "add":\{f:Item  {}\mrightarrow{}  self."set"  {}\mrightarrow{}  self."set"| 
                  \mforall{}s:self."set".  \mforall{}x,y:Item.
                      (\muparrow{}(self."member"  x  (f  y  s))  \mLeftarrow{}{}\mRightarrow{}  (x  =  y)  \mvee{}  (\muparrow{}(self."member"  x  s)))\} 
    "union":\{f:self."set"  {}\mrightarrow{}  self."set"  {}\mrightarrow{}  self."set"| 
                      \mforall{}s1,s2:self."set".  \mforall{}x:Item.
                          (\muparrow{}(self."member"  x  (f  s1  s2))  \mLeftarrow{}{}\mRightarrow{}  (\muparrow{}(self."member"  x  s1))  \mvee{}  (\muparrow{}(self."member"  x  s2)))\} 
    "remove":\{f:Item  {}\mrightarrow{}  self."set"  {}\mrightarrow{}  self."set"| 
                        \mforall{}s:self."set".  \mforall{}x,y:Item.
                            (\muparrow{}(self."member"  x  (f  y  s))  \mLeftarrow{}{}\mRightarrow{}  (\mneg{}(x  =  y))  \mwedge{}  (\muparrow{}(self."member"  x  s)))\} 



Date html generated: 2015_07_17-AM-08_21_02
Last ObjectModification: 2013_04_24-AM-01_29_51

Home Index