### What Does Logic Buster do?

I wrote Logic Buster during my A-Levels to help me design some of the combinatorial logic of my Zany Clock project in Electronics and extended it to provide my electronics lecturer of the time to check students work, and design logic problems. The program takes as input a logic table, and does some number crunching to produce possible logic combinations. It can also simplify logic based on logic re-write rules, but it cannot guarantee that the expression can't be simplified further. It also allows you to create logic tables from expressions, supporting loading and saving in CSV format. You can also view logic in a number if modes (including excell, symbol, recursive), but only the symbol mode can be used for input.

### Download

The program was written in Delphi 6

Get LogicBuster

I Hope to update the program to provide better simplification by updating the re-write rules, but perhaps another time!

A screenshot of the program in action

### How to use Logic Buster

I'm afraid the program doesn't have much error checking (because I wrote it for myself) but it is quite easy to use. To solve some logic from a Boolean table, follow the following steps:

- Open the program - good start
- Right click in the Boolean table sheet
- Select "Set Bit Length"
- Enter the number of entries you'd like in your table (max=32)
- Specify Input columns with a '1' in the top row, output columns with a '0'
- Right-click "clear Col" to remove a whole column
- You can paste a binary string into a column by using "Fill Col With Text" by right-clicking in table
- Click "Compute Logic" button when you are done filling table
- Click "Stop" when you are satisfied with the number of results produced
- A list of expressions are given on the right
- 'C' field represents output column from Boolean table
- 'D' is a depth measure which is equal to the Boolean operations used in expression
- 'Logic' is the Boolean expression used to express the output column in terms of input columns

- Click on the 'D' field in the expression table to sort by depth, hence finding the minimul equation

You can fill a column in the Boolean table by entering a logic expression into the expression box at the bottom, selecting the desired column to fill, and pressing "Create Table". You can also simplify the expression that you've entered by pressing the "simplify" button. The simplification can work with arbitrary symbols such as 5.!5 will simplify to 0, but to represent the Boolean table for creating a column, you must use uppercase letters.

### Logic Symbols

The table below shows the four Boolean operators the program supports

Operator | | Symbol | | Example |
---|---|---|

AND | . | A.B |

OR | + | A+B |

XOR | | | A|B |

NOT | ! | !A |

### Logic Buster is Incredibly Naive!

I've subsequently realised that 'Logic Buster' is incredibly naive. Since studying various formal logics at Imperial, I've realised that there are many MUCH better ways of going about solving this problem! Maybe I'll have the enthusiasm to write a rehash some time in the future.

Despite inefficiencies, the program is still pretty useful...