| FUNCTION space_is_continuum (space : maths_space) : BOOLEAN;
 
 LOCALEND_FUNCTION; -- space_is_continuumtypenames : SET OF  STRING := TYPEOF (space);
 factors : LIST OF maths_space;
 END_LOCAL;
 IF  NOT  EXISTS (space) THEN
 RETURN  (FALSE);
 END_IF;
 IF  subspace_of_es(space,es_reals) OR subspace_of_es(space,es_complex_numbers) THEN
 RETURN  (TRUE);
 END_IF;
 IF  (schema_prefix + 'UNIFORM_PRODUCT_SPACE') IN  typenames THEN
 RETURN  (space_is_continuum(space\uniform_product_space.base));
 END_IF;
 IF  (schema_prefix + 'LISTED_PRODUCT_SPACE') IN typenames THEN
 factors := space\listed_product_space.factors;
 IF  SIZEOF(factors) = 0 THEN
 RETURN  (FALSE);
 END_IF;
 REPEAT i := 1 TO SIZEOF (factors);
 IF NOT space_is_continuum(factors[i]) THEN
 RETURN  (FALSE);
 END_IF;
 END_REPEAT;
 RETURN  (TRUE);
 END_IF;
 RETURN (FALSE);
 
 |