This full definition of a limit is quite technical, and has many logical layers that are hard to understand for someone inexperienced in the field:
you start with a real numberA and an infinite sequence of real numberss1,s2,…, that’s indexed by a natural numbern.
In order for the convergence to hold, you need a certain property to hold for all real numbers ε, after further conditioning on ε>0.
The specific condition that needs to hold is that, depending on this ε (as well as depending on the earlier variables - sn and A), there exists a natural numberk that satisfies a condition.
The condition that this number k satisfies is that for all natural numbers n≥k, the inequality |sn−A|<ε is satisfied.
Each bullet point relies on the previous one, so you either understand all points at once or none at all.
There are 5 different variables here, and each one plays an important and distinct role - A is the limit, s is the sequence, n is an index to the sequence, ε is a “sensitivity” parameter to measure closeness to the limit and k is a “largeness” parameter to measure how large your index must be for the sequence to be close enough to the limit.
Two of these variables are given from the start, while three of them have an existential or universal quantifier. The order of the quantifiers is critical—first a universal one, then an existential one, then again a universal one. Each variable depends on all the previous ones in the definition.
Also, these 5 variables cover 3 different “data types”: two are real numbers, two are natural numbers and one is a function-type (mapping natural numbers to real numbers). The student also has to understand and remember which of the data types appear in each of the 3 quantified variables (this is critical because the definition of a limit for real-valued functions switches up the datatypes for the k,n variables).
There are also 3 required inequalities - ε>0,n≥k,|sn−A|<ε. Each one plays an important and different role. The student has to understand and remember which type of inequality appears in each part, out of the set of “reasonable” relations: {<,≤,>,≥,=,≠}. Also, the definitions of the second and third inequalities may change to n>k,|sn−A|≤ε and the definition still works, but the first inequality can’t change to ε≥0 without completely ruining the definition.
All in all, I like intuitive approaches to mathematics and I don’t think this subject is inherently inaccessible, I just think that the limit definition should have a lot more motivation—each variable, quantifier and inequality should become “obvious” and the student should be able to reconstruct it from first principles.
I like Terry Tao’s approach here, with intermediate definitions of “ε-close” and “eventually ε-close” in order to make the final definition less cluttered.
I wish mathematicians would take a page out of computer science/software engineering, where we’ve collectively decided that single-character variable names are bad practice.
I do understand the value and beauty of a terse notation, especially when hand-writing it, but I can also appreciate similar beauty of well-structured and self-documenting code, especially within an code editor that uses a language server that can provide context for any symbol. White space hints at structure and comments clarify the more difficult to parse sections of code
I’m constantly algebraicly manipulating symbols. We generally call it refactoring, but it’s the same thing up to an isomorphism. I aim to write my code in such a way to minimize the cognitive load on the reader. Using single-character symbols adds a whole layer of cognitive load where the reader needs to keep a mental map of what each symbol represents, especially when the convention chooses an arbitrary symbol, rather than at least using abbreviations. This feels especially onerous for students who are trying to learn the concepts behind the symbols, while trying to keep track of what each symbol represents
This is really is just a general rant. You did a good job with your explanation. It balances technical nuance with approachability. That really is why I even had this thought to begin with.
This will make sense when mathematicians stop using pen and paper. Or maybe only for presenting the final equation. Otherwise solving an equation would take ten pages full of prose—and the terse notation was historically invented to prevent exactly this.
For an introduction to young audiences, I think it’s better to get the point across in less technical terms before trying to formalize it. The OP jumps to epsilon pretty quickly. I would try to get to a description like “A sequence converges to a limit L if its terms are ‘eventually’ arbitrarily close to L. That is, no matter how small a (nonzero) tolerance you pick, there is a point in the sequence where all of the remaining terms are within that tolerance.” Then you can formalize the tolerance, epsilon, and the point in the sequence, k, that depends on epsilon.
Note that this doesn’t depend on the sequence being indexed by integers or the limit being a real number. More generally, given a directed set (S, ≤), a topological space X, and a function f: S → X, a point x in X is the limit of f if for any neighborhood U of x, there exists t in S where s ≥ t implies f(s) in U. That is, for every neighborhood U of x, f is “eventually” in U.
I agree. I think real analysis should really be taking a more topological approach to limits and continuity. In a topology classroom, they would instead define a limit in the real numbers as “every open ball around your limit point contains all of the elements of the sequence past a certain index”, which is much the same as your description of Terry Tao’s “ϵ-close” and “eventually ϵ-close”. Likewise, a continuous function would be defined, “For every open ball around f(x) in the range, there is an open ball around x in the domain where points around the domain ball get mapped inside the range’s ball.” The whole—ϵδdefinition obscures what is really going on with a bunch of mathematical jargon.
This full definition of a limit is quite technical, and has many logical layers that are hard to understand for someone inexperienced in the field:
you start with a real number A and an infinite sequence of real numbers s1,s2,…, that’s indexed by a natural number n.
In order for the convergence to hold, you need a certain property to hold for all real numbers ε, after further conditioning on ε>0.
The specific condition that needs to hold is that, depending on this ε (as well as depending on the earlier variables - sn and A), there exists a natural number k that satisfies a condition.
The condition that this number k satisfies is that for all natural numbers n≥k, the inequality |sn−A|<ε is satisfied.
Each bullet point relies on the previous one, so you either understand all points at once or none at all.
There are 5 different variables here, and each one plays an important and distinct role - A is the limit, s is the sequence, n is an index to the sequence, ε is a “sensitivity” parameter to measure closeness to the limit and k is a “largeness” parameter to measure how large your index must be for the sequence to be close enough to the limit.
Two of these variables are given from the start, while three of them have an existential or universal quantifier. The order of the quantifiers is critical—first a universal one, then an existential one, then again a universal one. Each variable depends on all the previous ones in the definition.
Also, these 5 variables cover 3 different “data types”: two are real numbers, two are natural numbers and one is a function-type (mapping natural numbers to real numbers). The student also has to understand and remember which of the data types appear in each of the 3 quantified variables (this is critical because the definition of a limit for real-valued functions switches up the datatypes for the k,n variables).
There are also 3 required inequalities - ε>0,n≥k,|sn−A|<ε. Each one plays an important and different role. The student has to understand and remember which type of inequality appears in each part, out of the set of “reasonable” relations: {<,≤,>,≥,=,≠}. Also, the definitions of the second and third inequalities may change to n>k,|sn−A|≤ε and the definition still works, but the first inequality can’t change to ε≥0 without completely ruining the definition.
All in all, I like intuitive approaches to mathematics and I don’t think this subject is inherently inaccessible, I just think that the limit definition should have a lot more motivation—each variable, quantifier and inequality should become “obvious” and the student should be able to reconstruct it from first principles.
https://www.math.ucla.edu/%7Etao/resource/general/131ah.1.03w/
I like Terry Tao’s approach here, with intermediate definitions of “ε-close” and “eventually ε-close” in order to make the final definition less cluttered.
I wish mathematicians would take a page out of computer science/software engineering, where we’ve collectively decided that single-character variable names are bad practice.
I do understand the value and beauty of a terse notation, especially when hand-writing it, but I can also appreciate similar beauty of well-structured and self-documenting code, especially within an code editor that uses a language server that can provide context for any symbol. White space hints at structure and comments clarify the more difficult to parse sections of code
I’m constantly algebraicly manipulating symbols. We generally call it refactoring, but it’s the same thing up to an isomorphism. I aim to write my code in such a way to minimize the cognitive load on the reader. Using single-character symbols adds a whole layer of cognitive load where the reader needs to keep a mental map of what each symbol represents, especially when the convention chooses an arbitrary symbol, rather than at least using abbreviations. This feels especially onerous for students who are trying to learn the concepts behind the symbols, while trying to keep track of what each symbol represents
This is really is just a general rant. You did a good job with your explanation. It balances technical nuance with approachability. That really is why I even had this thought to begin with.
Thanks for sharing!
This will make sense when mathematicians stop using pen and paper. Or maybe only for presenting the final equation. Otherwise solving an equation would take ten pages full of prose—and the terse notation was historically invented to prevent exactly this.
For an introduction to young audiences, I think it’s better to get the point across in less technical terms before trying to formalize it. The OP jumps to epsilon pretty quickly. I would try to get to a description like “A sequence converges to a limit L if its terms are ‘eventually’ arbitrarily close to L. That is, no matter how small a (nonzero) tolerance you pick, there is a point in the sequence where all of the remaining terms are within that tolerance.” Then you can formalize the tolerance, epsilon, and the point in the sequence, k, that depends on epsilon.
Note that this doesn’t depend on the sequence being indexed by integers or the limit being a real number. More generally, given a directed set (S, ≤), a topological space X, and a function f: S → X, a point x in X is the limit of f if for any neighborhood U of x, there exists t in S where s ≥ t implies f(s) in U. That is, for every neighborhood U of x, f is “eventually” in U.
I agree. I think real analysis should really be taking a more topological approach to limits and continuity. In a topology classroom, they would instead define a limit in the real numbers as “every open ball around your limit point contains all of the elements of the sequence past a certain index”, which is much the same as your description of Terry Tao’s “ϵ-close” and “eventually ϵ-close”. Likewise, a continuous function would be defined, “For every open ball around f(x) in the range, there is an open ball around x in the domain where points around the domain ball get mapped inside the range’s ball.” The whole—ϵδdefinition obscures what is really going on with a bunch of mathematical jargon.