"Defining Variables" discussed assignments such as x=y which setx equal to y. Here we discuss equations, which test equality. The equation x==ytests whether x is equal to y.
This tests whether 2+2 and 4 are equal. The result is the symbol True:
It is very important that you do not confuse x=y with x==y. While x=y is an imperative statement that actually causes an assignment to be done, x==y merely tests whether x and y are equal, and causes no explicit action. If you have used the C programming language, you will recognize that the notation for assignment and testing in the Wolfram Language is the same as in C.
assigns x to have value y
tests whether x and y are equal
Assignments and tests.
This assignsx to have value 4:
If you ask for x, you now get 4:
This tests whether x is equal to 4. In this case, it is:
x is equal to 4, not 6:
This removes the value assigned to x:
The tests we have used so far involve only numbers, and always give a definite answer, either True or False. You can also do tests on symbolic expressions.
The Wolfram Language cannot get a definite result for this test unless you give x a specific numerical value:
If you replace x by the specific numerical value 4, the test gives False:
Even when you do tests on symbolic expressions, there are some cases where you can get definite results. An important one is when you test the equality of two expressions that are identical. Whatever the numerical values of the variables in these expressions may be, the Wolfram Language knows that the expressions must always be equal.
The two expressions are identical, so the result is True, whatever the value of x may be:
The Wolfram Language does not try to tell whether these expressions are equal. In this case, using Expand would make them have the same form:
Expressions like x==4 represent equations in the Wolfram Language. There are many functions in the Wolfram Language for manipulating and solving equations.