+        """
+        Return a domain from a sequence of polyhedra.
+
+        >>> square = Polyhedron('0 <= x <= 2, 0 <= y <= 2')
+        >>> square2 = Polyhedron('2 <= x <= 4, 2 <= y <= 4')
+        >>> dom = Domain([square, square2])
+
+        It is also possible to build domains from polyhedra using arithmetic
+        operators Domain.__and__(), Domain.__or__() or functions And() and Or(),
+        using one of the following instructions:
+
+        >>> square = Polyhedron('0 <= x <= 2, 0 <= y <= 2')
+        >>> square2 = Polyhedron('2 <= x <= 4, 2 <= y <= 4')
+        >>> dom = square | square2
+        >>> dom = Or(square, square2)
+
+        Alternatively, a domain can be built from a string:
+
+        >>> dom = Domain('0 <= x <= 2, 0 <= y <= 2; 2 <= x <= 4, 2 <= y <= 4')
+
+        Finally, a domain can be built from a GeometricObject instance, calling
+        the GeometricObject.asdomain() method.
+        """