Difference in terminology between Let and Assume?

Let: This is usually used in a definition, when no earlier context is given. For example, "Let $x$ be a real number", "Let $n$ be an integer". We would then continue with the proof, and use this definition for whatever we had in mind. This is used in practically every mathematical proof.

Assume: This is used in a statement that elaborates on a previous context. For example, we might say "Let $x$ be a real number $\dots$ Assume that $x$ is positive" or "Let $n$ be an integer $\dots$ Assume that $n$ is even."

"Assume" is often used in order to go through a proof by exhaustion (that is, a proof by cases) or in order to begin a proof by contradiction. You might also see "assume to derive a contradiction". This can be thought of as interchangeable with the word "suppose", which is used more often than "assume" for proofs by contradiction.

In some instances, you might use "assume" to indicate the statements that you accept without proof. For example, a question might state "you may assume the fundamental theorem of algebra", which would mean that you're allowed to use the fundamental theorem of algebra without proving it yourself.


For the problem you've presented, I would disagree with your teacher's assessment that "let" would be the better word to use here. In any case, I think the clearest way to answer the question would have been:

If $x=-7$ or $x=3$, then the denominator is equal to zero, and thus the fraction is not defined.


Assume is circumstantial, let is not.

$\bullet$ We use assume to investigate the implications of a certain assumption, given a certain context. For instance, say we want to prove that $A$ is true , but $A$ requires that we consider two cases, $a$ and $a'$. Then we can assume $a$ is true, observe that it implies $A$, then assume $a'$ is true, and observe that it implies $A$ as well. Thus we have shown $A$ is true, by assuming all possible cases. Another word we can use is suppose. The idea is that you are considering a possibility, whether it leads to something true or not.

Note that this depends entirely on the problem, hence why I use the word circumstancial: for instance, you cannot assume $f(x)=\ln x$ if neither $f$ nor $\ln x$ appear in the problem.

$\bullet$ We use let when we wish to introduce a tool which will enable us to solve the problem. It is permanent throughout the proof, and is more of a commodity. For instance, if we want to prove $A$ is true, and need to use a certain mathematical object to do so, then it is useful to let: "something" be "said object". Another word for this is $set$.

This is not circumstantial, in the sense that one could $let:$ "something" be "said object" under any circumstance, hypothetically. For example, one can let $f(x)=\ln x$ no matter what the context of the problem is.


Example

We want to hike to the top of a mountain via the quickest route. There are exactly four possible routes. We may let these routes be $a,b,c,d$ so that we may refer to them later in the solution. Next, to solve the problem, we may assume that we take $a$, observe that it would take a certain time, then assume that we take $b$, etc. and conclude.


"Let" defines a new symbol. This symbol can represent a specific object or an arbitrary one, as in "let $p$ be the smallest prime factor of $x$" or "let $p$ be an arbitrary prime".

"Assume" indicates that you are introducing a hypothesis to an if-then argument. This can be a hypothesised new object or it can be a property you are demanding an existing object hold, as in "assume there is an integer $n$ such that $x < n < y$" or "assume $x$ is divisible by $2$".

As to your specific sentence, I would have said "if $x$ equals $7$ or $-3$ then ...". I wouldn't have used "assume" or "let".


"Let" is usually used as a precursor to an if/then statement, and an establishment of data that is not axiomatic. "Assume" is almost always implying an axiom or some statement of proof without proof. The distinction here is miniscule, and I do not think it is significant mathematically but in terms of pure style I can see the point of using one word over the other.

To illustrate the subtle difference I'll use an example.

If I say "Let $f$ be a quadratic polynomial then $f$ is a polynomial", I am letting $f$ be arbitrary and not making an assertion about some $f$. Simply I am saying if $f$ is quadratic, then $f$ is also a polynomial.

If I instead say "Assume $f$ is a quadratic polynomial, then $f$ is a polynomial" I am making some assertion about $f$. I am no longer stating "if $f$ is quadratic, then $f$ is also a polynomial", but instead saying the following. I have an $f$. I assume $f$ is quadratic (I take it as truth that $f$ is quadratic), then $f$ is a polynomial.


I don't know of any resource that discusses this convention, but I can describe how I think it works.

One uses "assume" to prove implications. For example:

Theorem. If A, then B.

Proof. Assume A holds...therefore B holds.

One uses "let" to prove universal statements. For example:

Theorem. For every $\epsilon > 0$ there is a $\delta > 0$ such that...

Proof. Let $\epsilon > 0$...

EDIT: In your particular case you might write the following (probably less formally):

Theorem. If $x = -7$ or $x = 3$, then...

Proof. Assume that $x = -7$ or $x = 3$...

So I would use either "if" or "assume" in this case. I don't know why your teacher wanted "let."