sequence set1 = {1,2,3}, set2 = {3,4,5} function element(object x, sequence set) return find(x,set)!=0 end function function union(sequence set1, sequence set2) for i=1 to length(set2) do if not element(set2[i],set1) then set1 = append(set1,set2[i]) end if end for return set1 end function function intersection(sequence set1, sequence set2) sequence res = {} for i=1 to length(set1) do if element(set1[i],set2) then res = append(res,set1[i]) end if end for return res end function function difference(sequence set1, sequence set2) sequence res = {} for i=1 to length(set1) do if not element(set1[i],set2) then res = append(res,set1[i]) end if end for return res end function function subset(sequence set1, sequence set2) for i=1 to length(set1) do if not element(set1[i],set2) then return false end if end for return true end function function equality(sequence set1, sequence set2) if length(set1)!=length(set2) then return false end if return subset(set1,set2) end function --test code: ?element(3,set1) -- 1 ?element(4,set1) -- 0 ?union(set1,set2) -- {1,2,3,4,5} ?intersection(set1,set2) -- {3} ?difference(set1,set2) -- {1,2} ?subset(set1,set2) -- 0 ?subset({1,2},set1) -- 1 ?equality(set1,set2) -- 0 ?equality(set1,{3,1,2}) -- 1