An application that can create logical functions and solve them, create truth tables, find expressions from truth tables and visualize expression trees.
My coursework for Data Structures and Algorithms in university. The program is written in C# on the framework WPF.
Note: All input must be in the given format.
The DEFINE command creates and stores a logical function with the input expression for future evaluation.
Example: DEFINE func1(a,b): a && !b
The REMOVE command removes the function with the input name.
Example: REMOVE func1
The SOLVE command allows the user to solve the defined functions with boolean values
Example: SOLVE func1(true,false)
The ALL command creates a Truth Table for a chosen logic function's expression
Example: ALL func14
The FIND command takes a given truth table and uses an Evolutionary algorithm to find an expression that fits the table/gives the same result.
It also checks the already defined user functions for any matches.
Example: FIND (+ a path to a file with a truth table)
The DISPLAY command displays the binary expression tree of an expression to the screen.
Example: DISPLAY Func6
PRINTALL - prints all defined functions
EXIT - another way to close the program