**** testing true, false, operators: input is true Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is false Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is true ! Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is false ! Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is true true && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is true false && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is false true && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is false false && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is true true || Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is true false || Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is false true || Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is false false || Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is true true => Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is true false => Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is false true => Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is false false => Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is true true == Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is true false == Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is false true == Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is false false == Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. **** testing less trivial constant expressions: input is true false || true && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is false true false || || Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is false true || true false || && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is false true false || && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. **** testing error checking: input is ! Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not well-formed. input is true && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not well-formed. input is true || Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not well-formed. input is true => Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not well-formed. input is true == Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not well-formed. input is Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not well-formed. input is true true Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not well-formed. input is true true && && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not well-formed. input is true true ! Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not well-formed. **** testing simple non-constant expressions: input is x Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is x x == Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is x y == Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. input is x x ! || Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is x y && ! x ! y ! || == Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is x ! y ! z ! || || Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is not a tautology. **** testing complex non-constant expressions: input is a a ! || b b ! || c c ! || d d ! || && && && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology. input is a a ! || b b ! || c c ! || d d ! || e e ! || f f ! || && && && && && Enter the expression to evaluate (multiple lines okay, control-D to end): Input expression is a tautology.