Pragmatically, I find that relations are a good place to start. Now, I
pause to examine the alternatives that naturally suggest themselves, and try not
to fall into the trap of *post hoc* justification.

I have chosen to work from relations. One may formalise a relation as a
predicate with two free variables

(do I relate *this* to
*that* ?), a collection as a predicate with one free variable

(is
*this* a member of me ?) and, indeed, a statement as a predicate with
no free variables

. Going the other way, we can intelligibly consider
multi-relations

of form do I relate

(a predicate with three free variables) and so on.
Why settle on two ?*this*, then *that*,
to some *other* ?

The answer has two parts:

- mappings are practical
- one can do anything with relations

These are both implementation truths. On the one hand, the customer
(Physics) needs certain tools, among which mappings predominate; when described
as predicates, mappings are a variety of 2-relation (*ie* what's normally
called a relation - a mapping never relates any given input

to more than
one output

). On the other, the implementor finds that one can do
anything with the variety of relation required by the customer; a relation whose
values are all fixed points models a collection, by constraining input = output
on a mapping and only leaving the question do I relate

as a model for *this* to
itselfis

; likewise, a
relation whose final values are relations models a 3-relation using *this* a member of me ?do I
relate

; inductively, one can likewise model arbitrary
multi-relations as *this* to something which relates *that* to some
*other* ?

. *[*relations whose final values are *...]*
relations

One may equally formalise a multi-relation, generally, as a mapping which
takes values and yield a truth value

which says whether the
multi-relation says yes

to that sequence of values. I find this more
intelligible when expressed as a mapping which takes a *list* of values
and returns a truth value

; with Haskell B. Curie, I find I prefer the
mapping

idiom to work on a basis which views f(a, b, c) as mentioning a
function, f, which accepts some value, a, as an input

and yields a
result, f(a), which is, likewise, a function accepting b to yield f(a,b), which
in its turn accepts c to yield the value f(a, b, c), which might not be a
function; f(a, b, c) = ((f(a))(b))(c), though I can refine this *via* the
denotational form which admits f(a, ..., w) whenever: f relates a to some ...
relation which relates w to some F and there is only one F for which this is
true. Example: f(a,b) will make sense if f relates a to various relations, but
there is exactly one value to which any of these relates b; illustrate ?

One must chose whether to formalise a multi-relation (or, indeed, a function of many arguments) as such or as a mapping whose input is a list of values. I find this discipline more helpful than inconvenient: the two are functionally equivalent, so it seldom hurts overly to be wrong - and such errors are easy to correct, - but discovering which idiom describes each case best reveals much about each case.

In any case, one must have 2-relations as the style of predicate

which yields a mapping; which physics wants; and 2-relations provide a natural
implementation of arbitrary multi-relations, including collections and
statements; so it suffices to use only what we must have.