title: Reducing a parsed boole grammar
body: <p>I've implemented a parser for conditional statements. The purpose of the complete program is finding values that match the condition. For example, in the sentence: "a>0 AND b==10", my program would suggest setting a=1 and b=10. Sometimes it can get trickier with more complex sentences like "a>0 AND a+b==10", for example, but I'm solving it for now.</p>
  
  <p>My biggest concern is for those sentences that are formal fallacies, so they must be discarded for having no solution. For example, in the case of "a==0 AND a>0". This example is easy to handle, but if you consider nesting, like in "a==0 AND ((b>3 AND a==10) OR (b&lt;2 AND a==10))". </p>
  
  <p>I think I am able to translate as follows: </p>
  
  <p>b>3 => P, b&lt;2 => ¬P, a==0 => Q, a==10 => ¬Q</p>
  
  <p>So the previous example would be: "Q AND ((P AND ¬Q) OR (¬P AND Q))".</p>
  
  <p>Once I can get a sentence like that, the real question is: is there an algorithm or a way to reduce the sentence and directly knowing if it is an axiom or a fallacy? Or would it be the best way to create the full T/F chart and check if all results are False?</p>