Should the syntax rules require or allow the multiple-specification of a subprogram the following variations are permitted:
One numeric variable can only be replaced by another numeric variable if both variables possess the same value.
A simple name can only be replaced by a selected name (in which the simple name serves as a selector) if in both specifications the direction of the simple name is determined by the same declaration.
Two specifications for one subprogram are conform if - irrespective of comments and the variations mentioned above - both specifications are made up of the same sequence of lexical elements and corresponding lexical elements have the same meaning. The specification of a impure function is never conform to that of a pure function