Я хочу, чтобы создать список списков в SML, который представляет собой таблицу истинности следующего вида:простой способ создать таблицу истинности
Example:
[
[("r",true),("p",true),("q",true)],
[("r",false),("p",false),("q",true)],
[("r",false),("p",true),("q",true)],
...
]
Я думаю, что я мог бы достичь двумя способами: (1) с декартовым произведением (2) преобразование индекса индекса таблицы истинности в двоичный код, который будет представлять кодированную строку в списке (например, 8 (десятичная)) - 1000 (двоичный) => [(«r», true), («p», false), («q», false)]), но я думаю, что это сложное и, вероятно, более простой способ.
Что было бы самым простым способом?