A propositional logic expression can be viewed as composed of:
- A set of N elements
- A truth function from N inputs to one output
- A one-to-one correspondence between the N elements and the N inputs
For instance, the expression:
((a & c) | (b & ~e)) ==> ((c | m) <==> (m & e))
can be viewed as composed of a set of 5 elements:
{ a, b, c, e, m }
a truth function f (x1, x2, x3, x4, x5):
f (x1, x2, x3, x4, x5) = ( (x1 & x2) | (x3 & ~x4)) ==> ((x2 | x5) <==> (x5 & x4))
and a one-to-one correspondence:
{ (a, x1), (b, x3), (c, x2), (e, x4), (m, x5) }
Here is a graphical representation where the three components can be easily identified:
The "set of N elements" and the "one-to-one correspondence between the N elements and the N inputs" can be represented as a list of elements.
To do so, we need to adopt a convention for ordering the elements in the list, such that the order reflects the one-to-one correspondence.
For instance, we may adopt the convention that the first element in the list corresponds to the first parameter of the truth function, the second element in the list corresponds to the second parameter of the truth function, and so on.






