Thanks, this is helpful!
My question is really about the implementations of these rules in the kind of system defined by the software I linked to. We can express the rules as a truth table (as in my first link), or we can express the rules by logic operations on inputs (as you have), but how do we implement these rules in the relevant type of system?
If you take a look under "network" at the second link (that hopefully now works), an option might be to just create three binary nodes A, B, and C. The question, then, would be: how do we define each node?
I guess your suggestion is (for e.g.): define node A as ((~C)&A) OR (C&B).
Unfortunately, the software only allows each node to be defined by one of the following:
AND,
NAND,
OR,
NOR,
XOR,
Random,
Majority,
Minority,
Parity,
Greater than threshold,
Less than threshold
So this may be the answer to my question: It can't be done! The software is too limited to allow the Fredkin gate to be implemented.
But I'm not sure - maybe we just need more than three nodes to implement the Fredkin gate in this software?