# Relational and Logical Operators

x==y | equal (also input as ) |

x!=y | unequal (also input as ) |

x>y | greater than |

x>=y | greater than or equal to (also input as ) |

x<y | less than |

x<=y | less than or equal to (also input as ) |

x==y==z | all equal |

x!=y!=z | all unequal (distinct) |

x>y>z, etc. | strictly decreasing, etc. |

Relational operators.

This tests whether

is less than

. The result is

False.

Out[1]= | |

Not all of these numbers are unequal, so this gives

False.

Out[2]= | |

You can mix

and

.

Out[3]= | |

Since both of the quantities involved are numeric,

*Mathematica* can determine that this is true.

Out[4]= | |

*Mathematica* does not know whether this is true or false.

Out[5]= | |

!p | not (also input as p) |

p&&q&&... | and (also input as ) |

p||q||... | or (also input as ) |

Xor[p,q,...] | exclusive or (also input as ) |

Nand[p,q,...] and Nor[p,q,...] | nand and nor (also input as and ) |

If[p,then,else] | give then if p is True, and else if p is False |

LogicalExpand[expr] | expand out logical expressions |

Logical operations.

Both tests give

True, so the result is

True.

Out[6]= | |

You should remember that the logical operations , , and are all *double characters* in *Mathematica*. If you have used a programming language such as C, you will be familiar with this notation.

*Mathematica* does not know whether this is true or false.

Out[7]= | |

*Mathematica* leaves this expression unchanged.

Out[8]= | |

Out[9]= | |