SET

 

Operations

NewSet: ® Set

Insert: Set ´ Item ® Set

Delete: Set ´ Item ® Set

Member: Set ´ Item ® Boolean

Union: Set ´ Set ® Set

Equal: Set ´ Set ® Boolean

. . . .

 

Equations s, s1, s2: Set; i, i1, i2: Item

Delete(NewSet, i) = NewSet

Delete(Insert(s, i1), i2) = if i1 = i2 then Delete(s, i2)

else Insert(Delete(s, i2), i1)

Member(NewSet, i) = false

Member(Insert(s, i1), i2) = if i1 = i2 then true

else Member(s, i2)

Union(NewSet, s) = s

Union(Insert(s1, i), s2) = Insert(Union(s1,s2), i)

Equal(NewSet, NewSet) = true

Equal(s1, Insert(s2, i) = Member(s1, i) and

Equal(Delete(s1, i), Delete(s2, i))

Equal(Insert(s1, i), s2) = . . .

. . . . .