> I think it's really neat how the theorem is actually just a result of the domain being connected and the codomain having an order.
Everyone knows about the three major theorems of calculus:
But only the last one concerns any actual calculus! (It has to do with derivatives...) The statements of the first two are purely topological. As you note, the IVT is a result of a continuous function on a connected domain. Similarly, the EVT is a result of a continuous function on a compact domain.
Unlike connected domains, the standard definition of compactness is a bit harder to grasp at first glance: A subset Y of space X is called compact, if, given any collection C (finite or otherwise) consisting of open sets in X such that the union of sets in C contains of Y, one may extract a finite sub-collection C' of C such that the finite union of sets in C' still contains Y.
The Heine-Borel Theorem says that when X=R, the compact sets Y are exactly those that are closed and bounded, of which closed intervals in the statement of EVT are examples.
I personally don't think this definition makes a lot of sense on first glance. Why is this definition so weird? The reason is mostly history: Compactness is defined as such so that the various useful theorems depending on it make sense. Historically there were many other competing definitions of compactness that failed to generalize. You can find more discussion on this topic in the Topology textbook you chose (I recognized that it's Munkres...). There are a huge load of other forms of compactness, some of them are older, historically important, such as limit point compactness -- being the original definition proposed by Fréchet (it is enough for EVT! it is equivalent to compactness in R), while others are useful for different purposes, such as paracompactness for general partitions of unity, which can be used to prove integration by substitution for more than 1 variables.
This is a really fun problem: Let f: ℝ → [0, ∞) be Lebesgue measurable with ∫_ℝ f < ∞. For any ε > 0, there exists δ > 0 so that for any measurable E with μ(E) < δ: ∫_ℝ 𝕀[E] f < ε.
Proof:
If f is bounded, say f < M, then ∫_ℝ 𝕀[E] f ≤ μ(E) M, which is easy to bound.
Otherwise, let A_λ = { x ∈ ℝ : f(x) > λ }, and we must have μ(A_λ) > 0 for λ ∈ ℝ any since f is unbounded on a set of positive measure. Notice also μ(A_λ) → 0 as λ → ∞, since f is integrable so it is finite almost everywhere.
Therefore ∫_ℝ 𝕀[A_λ] f → 0 as λ → ∞ by dominated convergence, since 𝕀[A_λ] f ≤ f. It follows that we can choose δ = μ(A_λ) for which ∫_ℝ 𝕀[A_λ] f < ε.
Finish by considering if μ(E) < δ = μ(A_λ):
By excision μ(E ∖ A_λ) = μ(E ∖ (E ∩ A_λ)) < μ(A_λ ∖ (E ∩ A_λ)) = μ(A_λ \ E). So ∫_ℝ 𝕀[E ∖ A_λ] f ≤ μ(E ∖ A_λ) λ < μ(A_λ \ E) λ = ∫_ℝ 𝕀[A_λ \ E] λ < ∫_ℝ 𝕀[A_λ \ E] f, thus:
∫_ℝ 𝕀[E] f = ∫_ℝ 𝕀[E ∩ A_λ] f + ∫_ℝ 𝕀[E ∖ A_λ] f < ∫_ℝ 𝕀[E ∩ A_λ] f + ∫_ℝ 𝕀[A_λ ∖ E] f = ∫_ℝ 𝕀[A_λ] f < ε.
Today in Chat we had a discussion about learning "Calculus". I made the distinction that "Calculus" as it is known in high school is different in scope from "Proof-based Calculus" (or sometimes, as part of "Mathematical Analysis").
"Calculus" as computing limits, derivatives, and integrals is useful in engineering. This is what this word refers to in high school in North America. This is about finding numerical answers about implicit values about concrete continuously nonlinear relationships. For example, if an object enters free-fall from 20m with an acceleration of -9.8m/s^2, how long does it take for it to reach the ground (0m)? There is a simple formula we can memorize and use to find the answer, and we tend not to bother much with why the formula is indeed correct. Many classes will try to offer intuitive explanations, but there is no guarantee that such explanations should make sense -- because "intuition" is unreliable. It certainly does not offer a mathematically sound investigation, but it's definitely possible to develop a good understanding of the tools and how they can be used in the real world this way (many do! -- calculus in the times of Newton and Leibniz fell out of the strong intuition regarding mechanics, even if none of it was formally sound). But again there is no guarantee, and we can't really help when, unfortunately, some students complain that the material does not make sense when their intuition doesn't connect. You can't just force yourself to "intuit" harder.
"Proof-based Calculus", or sometimes "Analysis", is usually the first course in a pure mathematics program at an undergraduate level. The material usually involves an introduction to mathematical rigour and proof techniques like induction, beginning with the properties of the real numbers. It is important that everything is clearly well-defined and every step is sound, as this usually serves as an introduction to mathematical reasoning where every statement follows strictly from a set of axioms. Every single step in isolation should make sense without much reliance on intuition. Problems usually don't have a lot of number crunching in them, and consists mostly of symbolic reasoning. A typical problem looks like this: Suppose that f is continuous on [a, b] and that f(x) is always rational. What can be said about f? (The answer is that f is constant on [a, b], equal to a rational number. But how should you prove this? How do you even proceed if you don't know the properties of the real numbers?)
It's important to understand that the underpinnings of limits, continuity, derivatives, integrals, infinite sums etc. are not very relevant if you want to be proficient with computation. It does not help to understand what an ε-neighbourhood is, if we just want to quickly conclude that lim x -> 5 1/x = 1/5. This is why "Calculus" courses do not emphasize this kind of material, and certainly do not evaluate against them, as we are not concerned with sound justification.
So what do we mean when we say "learn Calculus"? You need to be more clear which "Calculus" you mean. Do you want to understand and be able to follow the proofs for why things work the way they do from first principles, or that you only care about quickly finding an answer to "solve this integral"? The former is simply not relevant for many applied fields, but if all you care to do is the latter, you shouldn't expect to "understand calculus" on a formal level. From the perspective of academic evaluation there is nothing intended for you to "understand" aside from:
- Memorizing the particular methods and rules,
- Pushing symbols into them without too much regard for its meaning beyond intuition (which, for most people (certainly in my case), is often limited and error-prone),
- Identifying where the nonlinear relationships in the real world occur and performing 2.
If you can do this, then you will probably do very well in this sort of classes. Of course there is nothing wrong with being concerned about computations; conversely knowing theory does not teach you to be efficient in computing huge derivatives.
If you want to learn about "Proof-based Calculus", you don't need to be particularly smart -- reading mathematics just requires a lot of patience, back and forth, before finally understanding comes. For those interested, I recommended in Chat Calculus 4th Edition by Michael Spivak.
After that wall of text I shall now present a fun and interesting Computer Science application of what szy wrote a long time ago in this thread regarding how R and N have different cardinalities. Cantor's diagonal argument in fact shows the power set (as brought up by Kou) of N (denoted P(N)) has strictly greater cardinality than N.
Recall our introduction to language theory from lach's math notes for programmers§Parse XDDDD. Simply take Σ={1}. Claim: There exists an undecidable language L in this alphabet Σ. That is there is such an L, where you cannot possibly make a machine that, upon receiving a string s in the alphabet Σ, halts and tells you whether s belongs to L (ACCEPT) or not (REJECT). In general, a decider is just a machine that halts on any input. And the language of the decider is the set of all strings on which it outputs ACCEPT.
Let S := { Deciders M operating on strings in Σ }. Notice that S as a subset of all machines is countable, since the number of total machines we can make is countable. (Pick your favourite programming language -- there are ultimately only countably infinite many programs that can be written in it.)
Consider the following map φ, for any M in S:
φ(M) = { All strings s accepted by M }.
Notice that φ takes any decider and maps it to a language. That is, φ: S -> P(Σ*), where P(Σ*) denotes the power set of Σ* -- i.e., the set of all languages over Σ.
Σ* is countably infinite (consisting exactly of the strings {1, 11, 111, ...}), that is, it has the same cardinality as N. It follows that P(Σ*) has the same cardinality as P(N), which is strictly bigger than that of Σ* itself (same as N). We can therefore conclude that φ cannot possibly be a surjection, that is, there exists some language Λ in Σ* that is not accepted by any decider.
This really does mean that there exists a set of integers (notice the natural mapping between {1, 2, 3, ...} <=> {1, 11, 111, ...}) of which you cannot possibly describe a procedure in finite length to check whether any particular number is a member.