SCHEMA Maths_function_arm;
  
USE FROM Engineering_analysis_basics_arm -- Engineering_analysis_basics
  (Specialisation_of_class, 
  Mapping);
USE FROM Maths_space_arm -- Maths_space
  (Maths_space);
USE FROM Maths_value_arm -- Maths_value
  (Maths_value);
  
ENTITY composition_of_function
  result  :  maths_function);
  operands  :  LIST [2:?] OF maths_function;
DERIVE
  self\maths_function.domain : Maths_space
       :=  operands[1].domain;
  self\maths_function.range : Maths_space
       :=  operands[SIZEOF(operands)].range;
WHERE
  proper_sequence : composable_sequence (operands);
END_ENTITY;
  
ENTITY Maths_function
  SUBTYPE OF (Mapping);
  domain :  Maths_space;
  range  :  Maths_space;
END_ENTITY;
  
ENTITY Subset_of_function
  SUBTYPE OF (Specialisation_of_class);
  subclass  :  Maths_function;
  superclass  :  Maths_function;
END_ENTITY;
  
END_SCHEMA;

Page last updated - 7 Sep 2000