A rust library for generating the truth table of any single compound proposition.
only has one dependency: cli_table
```rust use propositional_logic::prelude::*;
let compound_proposition = |p, q, r| -> bool { iff(q, (p && !q) || (!p && q)) && r };
printtruthtable!(|p, q, r| => compound_proposition);
println!();
// or inline printtruthtable!(inlinecompoundproposition => |p, q, r| { iff(q, (p && !q) || (!p && q)) && r }) ```
Outputs:
```text +-------+-------+-------+----------------------+ | p | q | r | compound_proposition | +-------+-------+-------+----------------------+ | true | true | true | false | +-------+-------+-------+----------------------+ | true | true | false | false | +-------+-------+-------+----------------------+ | true | false | true | false | +-------+-------+-------+----------------------+ | true | false | false | false | +-------+-------+-------+----------------------+ | false | true | true | true | +-------+-------+-------+----------------------+ | false | true | false | false | +-------+-------+-------+----------------------+ | false | false | true | true | +-------+-------+-------+----------------------+ | false | false | false | false | +-------+-------+-------+----------------------+
+-------+-------+-------+-----------------------------+ | p | q | r | inlinecompoundproposition | +-------+-------+-------+-----------------------------+ | true | true | true | false | +-------+-------+-------+-----------------------------+ | true | true | false | false | +-------+-------+-------+-----------------------------+ | true | false | true | false | +-------+-------+-------+-----------------------------+ | true | false | false | false | +-------+-------+-------+-----------------------------+ | false | true | true | true | +-------+-------+-------+-----------------------------+ | false | true | false | false | +-------+-------+-------+-----------------------------+ | false | false | true | true | +-------+-------+-------+-----------------------------+ | false | false | false | false | +-------+-------+-------+-----------------------------+ ```