This is a project from Logic Circuit Synthesis and Optimization In it, we were provided a framework defined by circuit, node, and truthtable. Given that, we had to design methods for the program such that it could take an arbitrary BLIF file as input and perform a topological sort on it or evaluate it for some set of inputs. My methodology is described in report_joesteve.pdf