## Non-deterministic versus parallel function application

Greetings,

Ehrhard and Regnier described a functional programming language -- the differential lambda calculus -- which added to the lambda calculus a commutative monoid structure and a differential operation. One feature of this calculus is that application is linear in the first argument.

I am studying a weaker system that adds only the commutative monoid structure, and I insist that application preserves addition in the first argument (which is implied in E.R.'s system). This means:
(g+h)*m = g*m + h*m
0*m = 0
(where * is application)

The above has the feel of non-determinism to it. Given 'g' or 'h' applied to 'm' the result is 'g' applied to 'm' or 'h' applied to 'm.'

However, in general:
g*(m+n) =/= g*m + g*n

So it is not as if 'g' makes a non-deterministic choice of 'm' or 'n.' While some have called this non-determinism, others have called parallelism.

Any thoughts on what the correct word describing such an application might be?