TestTheorem: Add more test cases to testParse and testIsAxiom
isProof: Test and implement 'isProof :: [Wff] -> [Wff] -> Bool'
isProof: Add substitution rule
testIsProof: Add more test cases which exercise the substitution rule
isProof: Fix isSubstitution

Fix isSubstitution to work properly when substituting the a wff multiple times for the same variable