- In programming, the computer will complain if an undefined variable is used. In mathematics, this is sadly missing. (The next best things are other proofreaders, i.e. other mathematicians.)
- Variable names aren’t just picked at random (or as a, b, c, …), but nearly always follow sensible patterns. (Natural numbers are n, m, k, l, …; vectors are v, w, u, …; indices are i, j, k, l, …; radius is r; …) Different authors may use different conventions, but they still allow mathematicians to kind of understand what the variable means just from looking at its name.
- Every area of mathematics has certain keywords which the reader has to be aware of. Again, some authors may use (slightly) different conventions, but there are typically only few conventions out there, and they often don’t differ much. (Example: The space of homomorphisms/linear maps between two vector spaces V and W is commonly denoted by Hom(V, W), hom(V,W), ℒ(V, W) or Lin(V, W).) One can oftentimes tell what a keyword means just from it’s name, its signature, and its usage. Keywords also often consist of more than one letter or are typeset in a special way to distinguish them from regular variables.)
Good mathematical writers will oftentimes go out of their way to explain their notation at the beginning of their text, just to be sure. - The variable was already introduced beforehand, but the reader forgot about it. (This is the most common scenario.)
- The variable is explained in the upcoming line. (Also very common. The reader will—of course—only notice this after going through the previous part of the text multiple times in seach of just this explanation.)
- It is a standard notation that the reader is not familiar with. (Often happens if the reader is missing the background knowledge assumed by the author, or if the author uses some outdated notation (e.g. because they have been dead for over 50 years).)
- The author made a simple mistake while writing. (Typo; forgot to change a variable name after shuffeling things around).
- The author actually forgot to define the variable: a mistake that is hopefully catched by their peers.
- The explanatory text was left out for time reasons (giving a talk, writing some rough/informal lecture notes, quickly scribbling down homework in the morning).
In the specific situation, let’s say that by an array we mean a finite, ordered list whose entries are indexed by the numbers 0, 1, …, n - 1 for some natural number n. Let’s also say that two arrays are equal if they have the same length and the same value at each position (in other words, they have “the same elements in the same order”).
If we now want to represent a function f as an array arr such that f(i) = arr[i] for every possible input i of f, then this will only be possible for some very specific functions: those whose domain are the set {0, 1, …, n - 1} for some natural number n. But for any two such functions f, g : {0, 1, …, n - 1} → t, their extensional equality is logically equivalent to the equality of the corresponding arrays: you really can check that f and g are extensionally equal by checking that they are represented by equal arrays.