Mathematica 9 is now available
Student Support Forum
Student Support Forum: 'Difference between If[] and Implies[]' topicStudent Support Forum > General > "Difference between If[] and Implies[]"

Next Comment >Help | Reply To Topic
Author Comment/Response
10/26/12 4:41pm


I am new to Mathematica and am using it to program propositional logic.

I'm wondering what the difference is between the If and the Implies operators. For example, both If[p,q] and Implies[p,q] return q for p=True (as a logical conditional is expected to).

But when I try to obtain SatisfiabilityInstances, I get the following:

- SatisfiabilityInstances[If[p, q], {p, q}]
returns {{True, True}}, unless I ask it for more instances:

- SatisfiabilityInstances[If[p, q], {p, q}, All]
returns SatisfiabilityInstances::boolv: "If[p,q] is not Boolean valued at {False,True}."


- SatisfiabilityInstances[Implies[p, q], {p, q}, All] returns the expected out of: {{True, True}, {False, True}, {False, False}}.

Can you please explain what is causing this difference in the outputs? Thank you!

URL: ,

Subject (listing for 'Difference between If[] and Implies[]')
Author Date Posted
Difference between If[] and Implies[] LogicProgram... 10/26/12 4:41pm
Re: Difference between If[] and Implies[] Bill Simpson 10/26/12 7:00pm
Next Comment >Help | Reply To Topic