# Logic formula checker Script for checking if formula is correct ### Installation You can run this script without downloading any other libraries. ### Usage There are several ways of usage. + You can use it as a library in your project: ``` from logic_formula_checker import is_formula_correct ``` + With run.py for interactive console + From bash ``` $ python -m logic_formula_checker -f (a∧b) ``` ### Testing Some tests are written in tests.py file. They check if formula's single tests work properly. ## Script logic explaination It takes two tests of formula for checking formula's correctness. Firstly, check if all brackets are properly opened and closed. ``` ( { } ) - Good ( { ) } - Wrong ( { } - Wrong ``` The next script checks if signs are put correctly. Brackets are bypassed. Steps: 1. Read sign, check its type (Types are in logic_formula_checker/types.py). 2. Check if it is in expected_sign list. 3. Update expected_sign list based on current sign. ``` a ^ ¬ b # take a, write to expected_sign conjuction symbols and negation symbols ^ ¬ b # take ^, check is it in expected_sign, update expected_sign with asci lowercase sings (formula variables) and negation signs ```