Behavioural Definition

Require an operation that creates fractions:

CREATE_FRACTION(N,D)

where N is any integer, D is non-zero integer.

Condition:

NORMALIZE((N/D) * (D/N)) = 1

Therefore:

    NORMALIZE(CREATE_FRACTION(N,D) *
              CREATE_FRACTION(D,N))
    = CREATE_FRACTION(1,1)
There are many more such constraints.

This sort of definition is behavioural because it uses constraints, or axioms, to relate the behaviours of the operations to one another.