I wrote

Let for each 𝑗 < 𝑛 a permutation ℎ𝑗 : 𝐿 ↪ 𝐿 be given.

A proofreader (whom I can no longer ask) changed it to

For each 𝑗 < 𝑛, let a permutation ℎ𝑗 : 𝐿 ↪ 𝐿 be given.

This made me stumble. I think that we introduce all the symbols ℎ𝑗 once rather than separately for every 𝑗. Also, if you were to go for pure non-mathematical grammar, the prepositional phrase “For each 𝑗 < 𝑛” is probably short enough such that it might not require a comma after it. In mathematical writing, you may agree or disagree on these two matters.

  1. Why the change? What could be better™ in the changed formulation compared to the original one?

  2. What is worse™ in the changed formulation compared to the original one?

  • 11
    This is effectively algebra / technical specification, far removed from normal concepts of grammar / syntax (and vocabulary - people today would rarely use the form Let [something] be [some value] in any context outside programming / maths specification / teaching. Dec 7, 2021 at 14:37
  • 6
    You might think that, but I just don't think it's relevant to talk about things like "prepositional phrases" here, or to think of your "formatting" problem in terms of "grammatically speaking". Note that your initial attempt Let for each 𝑗 < 𝑛 a permutation ℎ_𝑗 : 𝐿 ↪ 𝐿 Loc be given is something no native speaker would ever write. Your "no-longer-contactable proofreader" has made the best of a bad job of it with For each 𝑗 < 𝑛, let a permutation ℎ_𝑗 : 𝐿 ↪ 𝐿 Loc be given, but there's little point in "syntactically dissecting" that version. It's domain-specific proofreading. Dec 7, 2021 at 14:56
  • 2
    I’m voting to close this question because it's "domain-specific proofreading" that has little or nothing to do with the needs of people learning English as a foreign language. Dec 7, 2021 at 14:58
  • 6
    @FumbleFingers Asking on the LaTeX site is a particularly bad piece of advice because that site is about typesetting and not about punctuation and word order.
    – user142975
    Dec 7, 2021 at 15:15
  • 5
    @xyz “Let it be” is a stock phrase all-but-completely divorced from “let [something] be [some value]” in most people’s minds. (For that matter, “let [something] be [some value]” is a stock phrase, too, though one specific to mathematics.)
    – KRyan
    Dec 8, 2021 at 19:28

4 Answers 4


Mathematician here.

Your proofreader is right.

The revised version is how this is normally written. I would understand your original text, but it would make me stumble. You should avoid wording that distracts your mathematician readers.

You could avoid the passive construction and replace some symbols by words by writing

For each j < n let h_j be a permutation of L ...

  • Thx! In your suggestion, you put no comma after “For each 𝑗 < 𝑛”, right?
    – user142975
    Dec 7, 2021 at 16:23
  • 2
    I would leave the comma out but others might put it in. The publisher may have a style guide that covers this. Dec 7, 2021 at 16:25
  • Thanks! The publisher is elsevier; they don't give a darn.
    – user142975
    Dec 7, 2021 at 16:26

Your proofreader is correct. Another alternative I might accept would be:

Let a permutation ℎ_𝑗 : 𝐿 ↪ 𝐿 be given for each 𝑗 < 𝑛.

I’m less likely to Write a sentence with mathematical notation this way, because in formal notation, I’m used to specifying the ∀ and ∃ quantifiers from outermost to innermost. Your readers are probably used to seeing the “let,” “for all” and “there exists” clauses in the order you used, too.

But “Let for each” is not standard English grammar. It’s just one of those arbitrary rules.

Here is a document with many good examples of how to write quantifiers in your math papers, in English.

  • 1
    +1 for the link! Dec 8, 2021 at 1:18
  • Right, "let for each" elicits a buzzer.
    – Lambie
    Dec 8, 2021 at 23:02

You ask what is wrong with it. Nothing is "wrong", but the proofreader's version is definitely much better.

If you break up both phrases into their clauses, you get this:

for each 𝑗 < 𝑛
a permutation ℎ_𝑗 : 𝐿 ↪ 𝐿 be given.

For each 𝑗 < 𝑛
let a permutation ℎ_𝑗 : 𝐿 ↪ 𝐿 be given.`

The basic "natural phrase" that most easily guides the user's focus would be "Let a permutation be given". We insert two further clauses, one specifies the permutation itself, which fits naturally into it ("Let a permutation ℎ_𝑗 : 𝐿 ↪ 𝐿 be given"). The other specifies the scope of the definition, so to speak: "For each 𝑗 < 𝑛".

By inserting this as you did, the user has to break off the "flow" of the clause, then resume it. As modified, they don't have to do this.

The effect is a bit like this:

For every Stack Exchange question, let there be one great answer!

(Easy to read and flows well)

Let, for every Stack Exchange question, there be one great answer!

(Not so easy or flowing)

  • Thx! I guess it depends whom you ask whether it is easy flowing or not. If you start a sentence with Let, the reader knows already that something will be defined or introduced or assumed. If you start with For each, what follows can be anything, and I imagine immediately the universal quantifier. Moreover, as I said, when the reader reads the sentence, logically, the introduction of the new variable(s) happens just once (and not for each 𝑗<𝑛).
    – user142975
    Dec 8, 2021 at 2:47
  • I'm pretty sure the ease of following these two statements is nigh-universal amongst native/fluent speakers. The proofreader is correct, particularly in the mathematical domain. Dec 9, 2021 at 1:29

The "default" order is "Let a permutation ℎ𝑗 : 𝐿 ↪ 𝐿 be given for each 𝑗 < 𝑛." We have a verb ("let") and an object (the rest of the sentence). The object is itself a phrase that contains an infinitive ("be") that is modified by an prepositional phrase ("for each 𝑗 < 𝑛"). When a prepositional phrase precedes the verb that it modifies, it should be followed by a comma. That is why there's a comma in your proofreader's proposed correction; it's not about length, it's about a modifier preceding the thing it modifies. In this case, there's also the bonus that the comma separates j < n from the rest of the sentence, making it more clear that "< n" is modifying "j".

The prepositional phrase "for each" is modifying the verb phrase "be given", not "let", so the default order is for it to be placed next the the former, not the latter.

I think that we introduce all the symbols ℎ𝑗 once rather than separately for every 𝑗.

If you want to conceptualize it as a single act of giving, you would have to phrase it as a single object, such as "Let a function ℎ: j → Sym(L) be given".

  • Nobody actually writes “Let a function ℎ: 𝑛 → Sym(𝐿) be given” except when making a set-theoretical point, but you are right that we certainly think™ or at least should think this way. A single act of giving should be expressable in words rather than in symbols. After all, you don't wish to introduce symbols 𝑛 times in your paper (where 𝑛 can be any nonnegative integer, including 0).
    – user142975
    Dec 10, 2021 at 0:11

You must log in to answer this question.