logicly is command line tool intended to make it easier to work with logical expressions.
One can use logicly to create a truth-table for a logic expression.
If you run the command logicly -t "a | b -> b & c", logicly will produce the following output:
a b c | ((a | b) -> (b & c))
----------------------------
0 0 0 | 1
0 0 1 | 1
0 1 0 | 0
0 1 1 | 1
1 0 0 | 0
1 0 1 | 0
1 1 0 | 0
1 1 1 | 1
Since for expession with many different atomic formulas the truth-table gets bigger (for n different atomic formulas the table will contain 2^n rows) you can set one of the following two flags:
--only-satprint only those valuations which satisfie the expression (i.e. where the expression is 1)--only-unsatprint only those valuations which do not satisfies the expression
Furthermore, with the flag -e VAL you can say logicly to evaluate the expression with a specific valuation.
The valuation has to be in the form of <lit>:(0|1)(,<lit>:(0|1))* where <lit> is an literal.
For further details on the api and the syntac refer to the help produced by the flag -h