I've built this sort of truth table in "plain code" and was always jealous of environments like embeddr, where things are a lot more readable and no manual alignment is required :-) [1].
Subtext [2] included a feature called "schematic tables" that is related to decision tables (demo [3], 8yr old video).
When I saw Subtext's schematic tables I started to think of minimizing expressions, finding the complement, etc, to aid in writing correct boolean expressions. I think an algorithm like Quine–McCluskey [4] or espresso [5] could have applications to programming for refactoring boolean logic (normally these are used in electronics design).
I don't know of any programming environment that could tell you if a boolean expression is a tautology or a contradiction... (I imagine a linter with SAT solver [6] powers could do this). In table form this would be obvious: a result column that is always true or always false. But then again you don't want to write a truth table for EVERY boolean expression on a program. Would be nice to be able to go back and forth from table to expression, minimize the expression, check satisfiability, etc.
Comments
I've built this sort of truth table in "plain code" and was always jealous of environments like embeddr, where things are a lot more readable and no manual alignment is required :-) [1].
Subtext [2] included a feature called "schematic tables" that is related to decision tables (demo [3], 8yr old video).
When I saw Subtext's schematic tables I started to think of minimizing expressions, finding the complement, etc, to aid in writing correct boolean expressions. I think an algorithm like Quine–McCluskey [4] or espresso [5] could have applications to programming for refactoring boolean logic (normally these are used in electronics design).
I don't know of any programming environment that could tell you if a boolean expression is a tautology or a contradiction... (I imagine a linter with SAT solver [6] powers could do this). In table form this would be obvious: a result column that is always true or always false. But then again you don't want to write a truth table for EVERY boolean expression on a program. Would be nice to be able to go back and forth from table to expression, minimize the expression, check satisfiability, etc.
--
1: https://markusvoelter.medium.com/the-evolution-of-decision-t...
2: https://www.subtext-lang.org/
3: https://vimeo.com/140738254
4: https://en.wikipedia.org/wiki/Quine%E2%80%93McCluskey_algori...
5: https://en.wikipedia.org/wiki/Espresso_heuristic_logic_minim...
6: https://en.wikipedia.org/wiki/Boolean_satisfiability_problem