Table of Contents
Genius possède des fonctionnalités intégrées basiques concernant la théorie des ensembles. Actuellement un ensemble est juste un vecteur (ou une matrice). Chaque objet distinct est traité comme un élément différent.
Tout comme les vecteurs, les objets dans les ensembles peuvent comprendre des nombres, des chaînes de caractères, null, des matrices et des vecteurs. Il est prévu dans le futur d'avoir un type dédié pour les ensembles plutôt que d'utiliser des vecteurs. Notez que les nombres flottants sont différents des entiers, même s'ils semblent être les mêmes. Cela signifie que Genius traite 0 et 0.0 comme deux éléments différents. La constante null est traitée comme un ensemble vide.
	To build a set out of a vector, use the 
	MakeSet function.
	Currently, it will just return a new vector where every element is unique.
genius> MakeSet([1,2,2,3])
= [1, 2, 3]
	Similarly there are functions 
	Union,
	Intersection,
	SetMinus, which
	are rather self explanatory.  For example:
genius> Union([1,2,3], [1,2,4])
= [1, 2, 4, 3]
	Note that no order is guaranteed for the return values.  If you wish to sort the vector you
should use the
	SortVector function.
	
	  For testing membership, there are functions
	IsIn and
	IsSubset,
	which return a boolean value.  For example:
genius> IsIn (1, [0,1,2])
= true
	The input IsIn(x,X) is equivalent to
	IsSubset([x],X).  Note that since the empty set is a subset
	of every set, IsSubset(null,X) is always true.