.he'TRUTHTABLE'''
.fo'Aaron Sloman''30 March 1978'
.ce 2
TRUTHTABLE
==========

Given a number N, the function TRUTHTABLE returns a list of lists,
each being a list of N truth-values.

So
  : TRUTHTABLE(1) =>
  ** [[<true>][<false>]]
.br
  : TRUTHTABLE(2) =>
  ** [[<true> <true>][<true> <false>][<false> <true>][<false> <false>]]

The pretty-print arrow ==> may be used to print out more complex lists.
As an exercise, try defining the function TRUTHTABLE yourself.
 
You will probably find it helpful to use a subfunction ADD which takes
a list of combinations of truthvalues, and a new value, and produces
a new list with the new value added to all the old combinations, e.g.
 	: ADDONE("T",[[T T][T F][F T][F F]]) =>
 	: [[T T T][T T F][T F T][T F F]]

You can get an idea of the kind of process involved, by tracing the
function TRUTHVALUE, then typing:
 	: TRUTHVALUE(3) ==>
