Function	Input Type → Output Type	Return Value
scene	φ → objset	Set of all objects in the scene
unique	objset → object	Object if objset is singleton; else raise exception (to verify whether the input is unique or not)
relate	object × relation → objset	Objects satisfying given spatial relation for input object
count	objset → integer	Size of the input set
exist	objset → boolean	‘Yes’ if the input set is non-empty and ‘No’ otherwise
filter_size	objset × size → objset	Subset of input objects that match the given size
filter_color	objset × color → objset	Subset of input objects that match the given color
filter_material	objset × material → objset	Subset of input objects that match the given material
filter_shape	objset × shape → objset	Subset of input objects that match the given shape
query_size	object → size	Size of the input object
query_color	object → color	Color of the input object
query_material	object → material	Material of the input object
query_shape	object → shape	Shape of the input object
same_size	object → objset	Set of objects that have same size as input (excluded)
same_color	object → objset	Set of objects that have same color as input (excluded)
same_material	object → objset	Set of objects that have same material as input(excluded)
same_shape	object → objset	Set of objects that have same shape as input (excluded)
equal_size	size × size → boolean	‘Yes’ if inputs are equal, ‘No’ otherwise
equal_color	color × color → boolean	‘Yes’ if inputs are equal, ‘No’ otherwise
equal_material	material × material → boolean	‘Yes’ if inputs are equal, ‘No’ otherwise
equal_shape	shape × shape → boolean	‘Yes’ if inputs are equal, ‘No’ otherwise
equal_integer	integer × integer → boolean	‘Yes’ if two integer inputs are equal, ‘No’ otherwise
less Than	integer × integer → boolean	‘Yes’ if first integer is smaller than second, else ‘No’
greater Than	integer × integer → boolean	‘Yes’ if first integer is larger than second, else ‘No’
and	objset × objset → objset	Intersection of the two input sets
or	objset × objset → objset	Union of the two input sets.
not_size	object → objset	Subset of input objects that do not match given size
not_color	object → objset	Subset of input objects that do not match given color
not_material	object → objset	Subset of input objects that do not match given material
not_shape	object → objset	Subset of input objects that do not match given shape
add	objset × object → objset	Input set with input object added to it
remove	objset × object → objset	Input set with input object removed from it
add(rel	objset × object x object x relation → objset	Input set with new object (first input) added at the given spatial location relative to second input object
remove(rel	objset × object x object x relation → objset	Input set with object (first input) removed from the given spatial location relative to second input object
change_LOC	objset × object x object x relation → objset	Input set with object (first input) location changed to a given spatial location relative to second input object
change_size	objset × size → objset	Input set with size updated to the given value
change_color	objset × color → objset	Input set with color updated to the given value
change_material	objset × material → objset	Input set with material updated to the given value
change_shape	objset × shape → objset	Input set with shape updated to the given value