I am new to Mathematica (v8) and use it to program sentence logic.
I am wondering what is the difference between If and Implies . For example, photographs both If[p,q] and Implies[p,q] return q for p=True (as expected).
But when I try to get SatisfiabilityInstances, I get the following:
SatisfiabilityInstances[If[p, q], {p, q}] (* {{True, True}} *)
if I donโt ask about it anymore:
SatisfiabilityInstances[If[p, q], {p, q}, All]
Satisfactory conditions :: boolv: "If [p, q] is not a Boolean value in {False, True}.
But:
SatisfiabilityInstances[Implies[p, q], {p, q}, All]
returns expected from:
(* {{True, True}, {False, True}, {False, False}} *)
What causes this difference in output?