egg-checker is a small app designed to determine if a given *.egg file correpsonds to a logically sound proof. *.egg files are text representations of existential graphs, a diagrammatic visualization of truth-functional logic, where each line in the file refers to a different step in the proof. *.egg files are generated by EGG, a project seeking to make existential graphs easier to work with on a computer. egg-checker's goal is to make sure that a given file is
- well-formed
- logically sound
Well-formed means that the lines in the proof file actually realize possible graphs. Logically sound means that the modifications to the premise graph are actually allowed, and that the entire proof file can be used as evidence for the validity of an argument.
When I have some free time, I'll compile a description of the *.egg file format and include some pseudocode to show how easy it is to parse and generate.
The end goal of this project is for it to be incorporated into the main EGG program as part of its load functionality. I also want to create a basis for a homework checker: given a homework assignment of an existential graph premise file, instructors can parse folders of student-submitted work to see if their answers are correct, and if they were able to produce a valid proof using the existential graph format.
This project is released under the MIT license, using the Qt C++ framework. Feel free to use code from this repo in any other projects.
This is mostly a solo project at the moment; if you are looking to help out, I suggest heading over to the main egg repo and contributing there instead. If you find a bug, please submit an issue here on github.