This is probably better known here under the name of implicit type conversions. Strictly speaking, the rational number 1 is not the same as the integer 1; we just have a conversion map that preserves all the relevant properties. It's all fun and games until there are 1000 types and 10000 conversion maps involved and the relevant diagrams no longer commute (i.e., it depends what order you go).
At the risk of utterly derailing this with irrelevant discussion: path-dependent systems are particularly tricky for some people IMHO. I think in a more state-based way, and my first rigorous dive into path-dependent calculation was during my chemical engineering degree -- I learned to be extremely vigilant about memorizing what was path-dependent and triple-checking if that affected the situation I was calculating.
I do wish there was more rigorous exposure to them at lower levels of education and younger age. Because while I'm perfectly capable of handling path-dependent systems with proper focus and effort, my brain doesn't feel "native" when deriving solutions around those spaces - it feels similar to being "fluent enough" in another language. I feel this way about a lot of things -- I really feel I'd have been happier and more fulfilled if I'd been immersed in super rigorous first-principles education beginning around age 8-9. I didn't do well with things like "memorize this procedure for doing long division" and did much better with conceptual derivations of physics/math/science/historical arcs, etc.
The problem is that no one thinks of type conversions as taking any explicit paths! It's one thing to view the actual process of long division as path-dependent (something everyone who learns about Gröbner bases is familiar with, as at the right level of generality even the result is path-dependent); it's another thing to apply the same intuition to the way the inputs are parsed. (You said divide 3 by 2 with remainder? Sure, the quotient is 3/2 and the remainder is 0. Problem?)
Or when your formulas on Google sheets start failing because you do 1-1 and the result is not 0, and then you spend 30 minutes creating new sheets, searching the web and double checking everything, until you realize that the value on the cell wasn’t 1, but 1.
In other areas, one might compare code jurisdictions, where presumably all the legislative clauses share a common vocabulary (and probably even conceptual framework), with common law jurisdictions, where all the legislative clauses occur in different centuries and thus one adds "picking a parallel transport" between the legal languages of the times (and jurisdictions) to the difficulties of adjudication.
This doesn’t sound right to me. The rational numbers are a superset of the integers. We know that there’s only one 1 in the rational numbers, then it must be the same 1 object as the 1 in the integers.
The statement “3/3 is in Z” is true. There’s no conversion happening: 3/3 is a notation for 1, just like 0.999… is a notation for 1. Many notations, but only one 1 object.
The case of R x R^2 = R^3 is different because the Cartesian product is defined to produce a set of ordered pairs. So it cannot give rise to a set of triples any more than a dog can give birth to a cat. So either x is not a Cartesian product or = is isomorphism not equality.
> We know that there’s only one 1 in the rational numbers, then it must be the same 1 object as the 1 in the integers.
> The statement “3/3 is in Z” is true.
make it sound very trivial while in reality it is not. I do not quite understand your example with R^3 but the defined applies equally to your statements. There are many ways to define and think about the objects you mentioned -- there is not one single truth. Unless you are a devoted platonist, in which case, it's still like your opinion, man.
0.999… always reminds me of my favorite definition of the real numbers:
“A real number is a quantity x that has a decimal expansion
x = n + 0.d₁d₂d₃…, (1)
where n is an integer, each dᵢ is a digit between 0 and 9, and the sequence of digits doesn't end with infinitely many 9s. The representation (1) means that
n + d₁/10 + d₂/100 + ⋯ + dₖ/10^k ≤ x < n + d₁/10 + d₂/100 + ⋯ + dₖ/10^k + 1/10^k
for all positive integers k.”[1]
Defining the reals in terms of binary expansion is left as an exercise for the reader[2].
[1] Knuth, The Art of Computer Programming, Volume 1, Third Edition, p. 21.
In the formalization of mathematics, things are built up structurally. Zero is the empty set. Natural numbers are sets that contain smaller natural numbers. Integers are pairs of natural numbers under an equivalence relation (a,b) ~ (c,d) if a + d = c + b. Rationals are pairs of integers under the equivalence relationship as above but if a * d = c * b. Reals are bounded sets of rationals (e.g. all the rationals q such that q * q < 2). Complex numbers are pairs of reals with addition and multiplication defined with i^2 = -1. Functions are really large sets with ordered pair (x,y) in the set f means f(x) = y. Etc.
Inclusions are a form of isomorphism. In the more common developments of elementary arithmetic, Q is constructed from Z, and in particular the subset of integral rational numbers are technically a different ring from Z. The conversion Z \to Q in particular is an isomorphism from Z to that subset.
Type conversions in every day programming languages though sometimes not only fail to be surjective, they can also fail to be injective, for example int32 -> float32.
type-conversions and "implicit isomorphisms" differ because the former does not need to be invertible, but they agree in that they are implicit maps, that are often performed without thought by the user. So I think that the type-conversions analogy is pretty good in that it captures the idea that implicit conversions, when composed in different ways from A to B, can arrive at various values, even if each stage along the way the choices seemed natural.
Note how your parent comment has specified "rational" 1 and "integer" 1. They use the symbol 1 for two similar concepts: We all "know" that 1 + 1 = 2 and 1.0 + 1.0 = 2.0. I have deliberately specified 1 for an int and 1.0 for a rational. Now we have two different representations for two very similar but not identical concepts.
At which point does 1 + a tiny amount cease to be an integer? By definition that tiny amount can have any magnitude and 1 plus anything will cease to be an integer. That is the property that defines an integer. Integers have subsequent "behaviours" that other types of numbers might lack.
You have picked zero/0. Now that is a sodding complicated concept 8) There are lots of things called zero but no more nor less than any other.
Zero might be defined by: 1 - 1 = 0. I have £1 in my bank account and I pay out £1 for a very small flower, my bank balance is now £0. Lovely model, all good except that interest calcs intervened and I actually have a balance of £0.00031. Blast. My pretty integer has morphed into a bloody complicated ... well is it a rational thingie or a ... what is it?
Now I want to withdraw my balance. I put a shiny £1 in, bought something and I have some change. What on earth does a 0.031p coin look like? Obviously, it doesn't exist. My lovely integer account has gone rational.
Symbols mean what we agree on with some carefully and well chosen language. Mathematicians seem to think they are the ultimate aces at using spoken and written language to make formal definitions, derivations and so on. That is a bit unfair, obviously. We all believe that what we think is communicable in some way. Perhaps it is but I suspect that it isn't always.
Have a jolly good think about what zero, nothing, 0 and so on really mean. Concepts and their description to others is a really hard problem, that some funky symbols sort of helps with.
Yes there are loads of things called zero. If I had to guess: infinitely things are zero! Which infinity I could not say.
It's also a complex number, a Unicode character, an ASCII character, an Extended ASCII character, a glyph, the multiplicative identity element, a raster image, ...
The GP point is correct; we implicitly convert between all these representations naturally and quickly, but there are interesting branches of mathematics that consider those conversions explicitly and find nuances (eg, category theory).
There are multiple things that we denote using a particular symbol: 1. 1 in and of itself is not a single concept. You could replace the symbol 1 with any other, even the sound of a fart and the concepts still remain the same. Given that we somehow agree that a fart sound shall be the way that we refer to a concept/object/thing.
It's a largely useful conceit to use 1 for all of those objects and more besides. It makes talking about them easier but we do have to be careful to use the correct rule-set for their manipulation.
I would personally prefer to see 1.0 for "rational 1" or perhaps 1. but that would require a convoluted sentence to avoid 1. being at the end of the sentence, unless we allow for: 1.! Well, that would work but what about 1.? Oh for ffs, I mean: 1..
One notes that one's own ones may not be the same as one's other ones.
If only I could spin "won", "own" and perhaps "wan" into that last sentence! ... Right, I've wedged in own. Needs some work 8)
I'm typing this after reading their section on page 6 about the "pentagon axiom". They write that RxR^2, R^2xR, and R^3 are isomorphic, but not literally equal under different constructions, because (a,(b,c)) is different from ((a,b), c), and that this is a problem. I feel like math kinda gets this wrong by treating sets as meaningful objects on their own. Physics gets it closer to correct because it tries to be "covariant", where the meaningful answers to questions have to either have units on them or be totally unitless e.g. irrespective of coordinate system.
The two spaces Rx(RxR) and (RxR)xR have many isomorphisms between them (every possible coordinate change, for instance). But what matters, what makes them "canonically isomorphic", is not isomorphisms in how they are _constructed_ but in how they are _used_. When you write an element as (a,b,c), what you mean is that when you are asked for the values of three possible projections you will answer with the values a, b, and c. Regardless of how you define your product spaces, the product of (a), (b), and (c) are going to produce three projections that give the same answers when they are used (if not, you built them wrong). Hence they are indistinguishable, hence canonically isomorphic.
This is exactly the way that physics always treats coordinates: sure, you can write down a function like V(x), but it's really a function from "points" in x to "points" in V, which happens to be temporarily written in terms of a coordinate system on x and a coordinate system on V. We just write it as V(x) because we're usually going to use it that way later. Any unitless predictions you get to any actual question are necessarily unchanged by those choices of coordinate systems (whereas if they have units then they are measured in one of the coordinate systems).
So I would say that (a,(b,c)) and ((a,b), c) are just two different coordinate systems for R^3. But necessarily any math you do with R^3 can't depend on the choice of coordinates. There is probably a way to write that by putting something like "units" on every term and then expecting the results of any calculation to be unitless.
This is exactly the "specification by universal property" that the author is talking about. In your case, it's saying "a 3-dimensional vector space is a vector space with three chosen vectors e, f, g and three linear maps x, y, z such that each vector v equals x(v) e + y(v) f + z(v) g". But as the author points out, not everything follows from universal properties, and when it does, there is often several universal properties defining the same object, and that sameness itself needs to be shown.
Yes, I know it's the meaning of it, but I'm saying that the presence of "units" allows you to sort of... operationalize it? In a way that removes the ambiguity about what's going on. Or like, in theory. I dunno it's a comment on the internet lol.
You use R^3 in your example of why coordinates don't matter. R^3 can be covered by one chart. Maybe your argument would be more convincing if you pick a different manifold. I have no idea what your complaint is otherwise.
I'm not talking about charts of R^3; I'm talking about the different isomorphic constructions of products like ((a, b), c) and (a, (b, c)) as being a sort of 'choice of coordinate system' on the isomorphic class of objects.
For this particular question we have a great answer in the form of homotopy type theory. It handles all the complications that the author mentions. This is one of the reasons type theorists were excited about HoTT in the first place.
The only problem is that the author is working in Lean and apparently* dismissive of non-classical type theory. So now we're back to lamenting that equality in type theory is broken...
*) I'm going by second hand accounts here, please correct me if you think this statement is too strong.
> For this particular question we have a great answer in the form of homotopy type theory. It handles all the complications that the author mentions. This is one of the reasons type theorists were excited about HoTT in the first place.
Arguably, Homotopy type theory still doesn't solve the problem, because while it strengthens the consequences of isomorphism it doesn't distinguish between "isomorphism" and "canonical isomorphism", whereas (some?) mathematicians informally seem to think that there's a meaningful difference.
> The only problem is that the author is working in Lean and apparently* dismissive of non-classical type theory. So now we're back to lamenting that equality in type theory is broken...
In my opinion, Lean made a number pragmatic choices (impredicative Prop, non-classical logic including the axiom of global choice, uniqueness of identity proofs, etc.) that enable the practical formalization of mathematics as actually done by the vast majority of mathematicians who don't research logic, type theory, or category theory.
It's far from established that this is possible at all with homotopy type theory, yet alone whether it would actually be easier or more economical to do so. And even if this state of affairs is permanent, homotopy type theory itself would still be an interesting topic of study like any other field of mathematics.
"Canonical" refers largely to the names we give to things, so that we maximize the extent to which an isomorphism maps the object named A in X to the object named A in Y. And also to choosing an isomorphism that embeds in a different isomorphism (of superstructures) that isn't strictly the topic of the current question.
I don't think anyone thinks canonical isomorphisms are mathematically controversial (except some people having fun with studying scenarios where more than one isomorphism is equally canonical, and other meta studies), they are a convenient communication shorthand for avoiding boring details.
> it doesn't distinguish between "isomorphism" and "canonical isomorphism"
You can distinguish these concepts in (higher )category theory, where isomorphisms are morphisms in groupoids and canonical isomorphisms are contractible spaces of morphisms. These sound like complicated concepts, but in HoTT you can discover the same phenomena as paths in types (i.e., equality) and a simple definition of contractibility which looks and works almost exactly like unique existence.
> In my opinion, Lean made a number pragmatic choices (impredicative Prop, non-classical logic including the axiom of global choice, uniqueness of identity proofs, etc.) that enable the practical formalization of mathematics as actually done by the vast majority of mathematicians who don't research logic, type theory, or category theory.
The authors of Lean are brilliant and I'm extremely happy that more mathematicians are looking into formalisations and recognizing the additional challenges that this brings. At the same time, it's a little bit depressing that we had finally gotten a good answer to many (not all!) of these additional challenges only to then retreat back to familiar ground.
Anyway, there were several responses to my original comment and instead of answering each individually, I'm just going to point to the article itself. The big example from section 5 is that of localisations of R-algebras. Here is how this whole discussion changes in HoTT:
1) We have a path R[1/f][1/g] = R[1/fg], therefore the original theorem is applicable in the case that the paper mentions.
2) The statements in terms of "an arbitrary localisation" and "for all particular localisations" are equivalent.
3) ...and this is essentially because in HoTT there is a way to define the localisation of an R-algebra at a multiplicative subset. This is a higher-inductive type and the problematic aspects of the definition in classical mathematics stem from the fact that this is not (automatically) a Set. A higher-inductive definition is a definition by a universal property, yet you can work with this in the same way as you would with a concrete construction and the theorems that the article mentions are provable.
---
There is much more that can be said here and it's not all positive. The only point I want to make is that everybody who ever formalised anything substantial is well aware of the problem the article talks about: you need to pick the correct definitions to formalise, you can't just translate a random math textbook and expect it to work. Usually, you need to pick the correct generalisation of a statement which actually applies in all the cases where you need to use it.
Type theory is actually especially difficult here, because equality in type theory lacks many of the nice properties that you would expect it to have, on top of issues around isomorphisms and equality that are left vague in many textbooks/papers/etc. HoTT really does solve this issue. It presents a host of new questions and it's almost certain that we haven't found the best presentation of these ideas yet, but even the presentation we have solves the problems that the author talks about in this article.
> It handles all the complications that the author mentions. This is one of the reasons type theorists were excited about HoTT in the first place.
It's not that simple, Buzzard actually seems to be quite familiar with HoTT. The HoTT schtick of defining equality between types as isomorphism does 'handle' these issues for you in the sense that they are treated rigorously, but there's no free lunch in that. You still need to do all the usual work establishing compatibility of values, functions etc. with the relevant isomorphisms, so other than the presentation being somewhat more straightforward there is not much of a gain in usability.
Can you elaborate more on how you think HoTT can solve the issue Buzzard mentions that when formalizing informal mathematics, the author frequently has a model (or, a particular construction) in mind and requires properties present in the model, and then claims that this is true for all "canonically equivalent" objects without actually spending time explicating the abstract nonsense required to properly specify the properties that canonically equivalent objects preserve, for their developement? (see: a product vs. the product)
Edit: and furthermore, the situation where the obvious choice of universal property (read: level of isomorphism) was a poor one, in their attempt to formalize localizations.
I think 99.9% of the people talking about HoTT haven't used HoTT in practice. They just see isomorphism is equivalent to equivalence(or something similar), comes up with a mental model and think this is the main contribution of HoTT, whereas isomorphism is a well studied thing even before formal set theory was a thing. HoTT gets weird and anyone who has tried any tool to prove anything in HoTT knows this, and this is the reason why it didn't got adopted even though many leading tools like lean worked hard to implement it.
For reference, the paper mentions the term "homotopy" exactly once, in this sentence:
> The set-theoretic definition is too strong (Cauchy reals and Dedekind reals are certainly not equal as sets) and the homotopy type theoretic definition is too weak (things can be equal in more than one way, in contrast to Grothendieck’s usage of the term).
Classical versus non-classical has nothing to do with it. HoTT does not work to capture what a mathematician means by "unique isomorphism" because witnesses of equality in HoTT are very much not unique.
I think HOTT helps remove a lot of the footguns and computational hairiness around using type-theoretic mathematics. But the issues Buzzard is talking about are really more profound than that.
This relates to a much deeper (but familiar and nontechnical) philosophical problem: you assign a symbol to a thing, and read two sentences that refer to the same symbol ("up to isomorphism"), but not necessarily the same thing. If the sentences contradict each other, is it because they disagree on the meaning of the symbol, or do they disagree on the essence of the thing? There is a strong argument that most debates about free will and consciousness are really about what poorly-understood thing(s) we are assigning to the symbol. Worse, this makes such debates ripe for bad faith, where flaws in an argument are defended by implicitly changing the meaning of the symbol.
In the context of """simple""" mathematics, preverbal toddlers and chimpanzees clearly have an innate understanding of quantity and order. It's only after children fully develop this innate understanding that there's any point in teaching them "one," "two," "three," and thereby giving them the tools for handling larger numbers. I don't think it makes sense to say that toddlers understand the Peano axioms. Rather, Peano formulated the axioms based on his own (highly sophisticated) innate understanding of number. But given he spent decades of pondering the topic, it seems like Peano's abstract conception of "number" became different from (say) Kronecker's, or other constructivists/etc. Simply slapping the word "integer" on two different concepts and pointing out that they coincide for quantities we can comprehend doesn't actually do anything by itself to address the discrepancy in concept revealed by Peano allowing unbounded integers and Kronecker's skepticism. (The best argument against constructivism is essentially sociological and pragmatic, not "mathematically rational.")
Zooming out a bit, I suspect we (scientifically-informed laypeople + many scientists) badly misunderstand the link between language and human cognition. It seems more likely to me that we have extremely advanced chimpanzee brains that make all sorts of sophisticated chimpanzee deductions, including the extremely difficult question of "what is a number?", but to be shared (and critically investigated) these deductions have to be squished into language, as a woefully insufficient compromise. And I think a lot of philosophical - and metamathematical - confusion can be understood as a discrepancy between our chimpanzee brains having a largely rigorous understanding of something, but running into limits with our Broca's and Wernicke's areas, limits which may or may not be fixed by "technological development" in human language. (Don't even get me started on GPT...)
The level of insights and clearness in your message, and most comments in this thread actually, is surprising great compared to what I often read on HN.
The fact that Buzzard is writing this paper at all to me shows a much higher degree of respect than before --- see how humble the overview is. I think this is great progress!
If you want to frame a 'universal defining property', you have to frame it in some language. The definition, therefore, is inevitably idiosyncratic to that language, and, if you specify the same property using a different language, the definition is going to change. What's more, the two definitions can be incommensurable.
And---all you have done is translate from the object language to the meet language--leaving the definitions of the terms of the meta language completely unexplicated.
The solution to this is as old too---like "point", "line", etc, these terms can--and arguably should--remain completely un-defined.
whence did you learn this idiom of "the meet language"???
i have working definitions of line, point, etc.. in terms of dimensions. but I have some issues with the precise definition of "dimension" due to having picked up the concept of "density". I cannot say what's the difference between density and dimension
sigh I really hate autocorrect. It was supposed to be "meta", not "meet".
It's bad enough that most of the content I read these days is being generated by LLMs. Slowly and inexorably, even the content I write is being written and overwritten by LLMs.
How can you frame a paper from 1965 as "very old" when the linked article is about Grothendieck, who started his math PhD in 1950 (and presumably studied math before that)?
The very very old solution I'm adverting to is Euclid's axioms. They don't define what "point" or "line" means, they just specify some axioms about them.
I haven't actually dug up the source, so I'm not sure if the gaps here are related, but GC Rota apparently claimed that one reason the umbral calculus remained mysterious for as long as it did was about ambiguities with `=`.
> Rota later stated that much confusion resulted from the failure to distinguish between three equivalence relations that occur frequently in this topic, all of which were denoted by "=".
There's so much ambiguous context that goes into your average '=', even when just talking about your standard functions on real numbers. You'll see it being used for anything from:
- We've found these to be equal
- We're hypothesizing this to be equal
- These are approximately equal
- These are defined to be equal
- This is a way to calculate something else, whether it's equal is up to your philosophy (a^2+b^2=c^2)
- I'm transforming my function into something else that looks different but is exactly the same
- I'm transforming my function into something else that is the same for some of the stuff I care about (but for example does not work anymore for negative numbers, complex nrs, etc.)
- I'm transforming my function into something else, but it's actually a trapdoor, and you can't convert it back.
- This is kind of on average true within an extremely simplified context or we know it's not true at all, but we'll pretend for simplification (looking at you physics)
- We are trying to check if these two are equal
- This is equal, but only within a context where these variables follow some constraints mentioned somewhere else entirely
- This is equal, but, we're not going to say whether you can or can't replace the variables with functions or whether it supports complex nrs, negative nrs, non-integers, etc.
A lot of this is usually kind of clear from context, but some of these differences are a nightmare if you want to code it out
Equality can be philosophically troubling, but as a practical matter, what you care about is the indiscernibility of identicals, and if every property you use follows from a universal property, then equal up to isomorphism is just equal. So every Rubik's cube is equal considered as a group of face rotations, and there's only one Rubik's cube, but if you care about chemical properties of sticker glue, they're no longer equal.
Something the author points out: sometimes theorems directly rely on specific constructions of mathematical objects, which are then used to establish things that do not mention the construction.
I have now read the paper and it alone is enough to make me seriously consider devoting significant amount of my time to the author's project. Here's why:
In my introductory statistics class, I learned that a independent and identically distributed sample is a sequence of random variables X[1], ..., X[n], all of the same signature Omega -> (usually) R. All of them are pairwise independent, and all of them have the same distribution, e.g. the same density function. Elsewhere in probability I have learned that two random variables that have the same density function are, for all intents and purposes, the same.
For all, really? Let's take X[i] and X[j] from some i.i.d. random sample, i != j. They have the same density, which leads us to write X[i] = X[j]. They are also independent, hence
P(X[i] in A, X[j] in A) = P(X[i] in A)*P(X[j] in A),
but X[i] = X[j], so
P(X[i] in A, X[j] in A) = P(X[i] in A, X[i] in A) = P(X[i] in A), so
P(X[i] in A) in {0, 1}.
This was a real problem for me, and I believe I had worse results in that statistics class than I would have if the concept was introduced properly. It took me a while to work out a solution for this. Of course, you can now see that the strict equality X[i] = X[j] is indefensible, in the sense that in general X[i](omega) != X[j](omega) for some atom omega. If you think about what needs to be true about Omega in order for it to have two different variables, X[i] and X[j]:Omega -> R, that are i.i.d, then it will turn out that you need Omega to be a categorical product of two probability spaces:
Omega = Omega[i] x Omega[j]
and X[i] (resp. X[j]) to be the same variable X composed with projection onto first (resp. second) factor. This definition of "sampling with replacement" is able to withstand all scrutiny.
Of course, just like in Buzzard's example of ring localization, it was all caused by someone being careless about using equality.
I was just thinking about something adjacent to this the other day. I had this half-baked idea that you could classify all the "types" built out of, say (R, ×, →) by algebraically replacing each copy of R with a finite set of cardinality a and then counting the cardinality of the entire type expression. So you'd formally associate, say, R^3 with the algebraic term a^3, and that holds regardless of how you rearrange R^3 = R^2 × R or R × R^2 or whatever. I liked the idea because it seemed (?) to derive non-obvious set theoretic equivalences, for free: such as
R -> (R -> R) ~ (a^a)^a = a^(a^2)
R^2 -> R ~ a^(a^2)
(R -> R)^2 ~ (a^a)^2 = a^(2a)
R -> R^2 ~ a^(2a)
The first equivalence is between a "curried", partial-application, function form of a function of two arguments, and the "uncurried" form which takes a tuple argument. The second equivalence is between a pair of real functions and a path in the plane R^2—the two functions getting identified with the coordinate paths x(t) and y(t). (Remember the cardinality of distinct functions over finite sets S -> T is |T|^|S|).
And I think you can take this further, I'm not sure how far, for example by associating different formal parameters a,b,c... for different abstract types S,T,U... Is this a trick that's already known, in type theory?
(My motivation was to try to classify the "complexity", "size", of higher-ordered functions over the reals. The inspiration's that you're imagining a numerical approximation on a grid of size a for (a finite subinterval in) each copy of R: then that cardinality relates to the memory size of the numerical algorithm, working inside that space. And you could interpret the asymptotic growth of the formal function, as a complexity measure of the space. If you think of R^n -> R as a "larger" function space than R -> R^n, that observation maps to a^(a^n) being an asymptotically faster-growing function (of 'a') than (a^n)^a = a^(na). And similarly the functionals, (R -> R) -> R, and function operators (like differential operators) (R -> R) -> (R -> R), form a hierarchy of increasing "size").
The connection between type isomorphisms and algebraic equalities is known and explored in a variety of interesting ways.
I don't know the precise history of the development of the notation and vocabulary, but there's a reason types like A+B are notated with a plus symbol and called "sums". Similarly for products. And it may surprise you (or not) to learn that people sometimes call A -> B an exponential type, and even notate it with superscript notation.
One of my favorites is the result that the binary tree type is isomorphic to septuples of binary trees, which you can arrive at by using the definition of binary trees as the fixed point solution of T = 1 + T*T and deriving T = T^7 with some algebra. [0]
I really like this. I remember my first serious math book, which was this old-school set theory and topology book, and being all excited about learning set theory up until I encountered iterated Cartesian product, and was forced to accept that ((x, y), z) and (x, (y, z)) are supposed to be indistinguishable to me. An answer on StackExchange said that "you will never, ever, ever need to worry about the details of set theory", but I still did.
This is an excellent text to understand mathematical structuralism.
But it feels anticlimactic.
At the beginning there are fundamental problems with mathematical equality.
In the end, there is no great new idea but only the observation that in algebraic geometry some proofs have holes (two kinds), but they can be filled (quite) schematically.
"Some proofs" are the proof used to verify that the definition of an affine scheme makes sense, and the author motions in the direction that every single proof in algebraic geometry uses identically wrong arguments when using the language of "canonical" maps.
Thus the replication crisis of mathematics is revealed. In the words of John Conway: a map is canonical if you and your office neighbor write down the same map.
When this subject comes up I always think that the equality sign is loaded. It can mean, definition, equality, identity, and proportionality. How come this state of the equality sign is not mentioned in the paper?
As a mathematician, I have never, ever seen the equal sign used to denote proportionality. I cannot tell what you mean by "identity" that wouldn't be equality. And a definition in the sense you seem to mean is, indeed, also an equality. I guess this issue not mentioned in the paper because it doesn't exist.
I agree it’s not really used symbolically, but isn’t it referring to the difference between, say:
(x + y)(x - y) = x^2 - y^2
(an identity, since it’s true for every x and every y) and something more arbitrary like
3x^2 + 2x - 7 = 0
(an equation certainly not valid for all x and whose solutions are sought).
Of course, really, the first one is a straightforward equality missing some universal quantification at the front… so maybe that’s just what the triple equals sign would be short for in this case.
The story of Grothendieck is really fascinating. He was a superstar in algebraic geometry, only to suddenly reject the endeavor of mathematics and going off to grow vegetables in the Pyrenees. He also demanded that all notes from his lectures be destroyed. But those notes existed in so many hands, I don’t think many people (if any) complied.
This is probably better known here under the name of implicit type conversions. Strictly speaking, the rational number 1 is not the same as the integer 1; we just have a conversion map that preserves all the relevant properties. It's all fun and games until there are 1000 types and 10000 conversion maps involved and the relevant diagrams no longer commute (i.e., it depends what order you go).
> (i.e., it depends what order you go)
At the risk of utterly derailing this with irrelevant discussion: path-dependent systems are particularly tricky for some people IMHO. I think in a more state-based way, and my first rigorous dive into path-dependent calculation was during my chemical engineering degree -- I learned to be extremely vigilant about memorizing what was path-dependent and triple-checking if that affected the situation I was calculating.
I do wish there was more rigorous exposure to them at lower levels of education and younger age. Because while I'm perfectly capable of handling path-dependent systems with proper focus and effort, my brain doesn't feel "native" when deriving solutions around those spaces - it feels similar to being "fluent enough" in another language. I feel this way about a lot of things -- I really feel I'd have been happier and more fulfilled if I'd been immersed in super rigorous first-principles education beginning around age 8-9. I didn't do well with things like "memorize this procedure for doing long division" and did much better with conceptual derivations of physics/math/science/historical arcs, etc.
The problem is that no one thinks of type conversions as taking any explicit paths! It's one thing to view the actual process of long division as path-dependent (something everyone who learns about Gröbner bases is familiar with, as at the right level of generality even the result is path-dependent); it's another thing to apply the same intuition to the way the inputs are parsed. (You said divide 3 by 2 with remainder? Sure, the quotient is 3/2 and the remainder is 0. Problem?)
3 replies →
Or when your formulas on Google sheets start failing because you do 1-1 and the result is not 0, and then you spend 30 minutes creating new sheets, searching the web and double checking everything, until you realize that the value on the cell wasn’t 1, but 1.
This happened to me yesterday
Can you elaborate?
5 replies →
I assume you mean any random enterprise codebase? Because that is any random enterprise codebase.
In other areas, one might compare code jurisdictions, where presumably all the legislative clauses share a common vocabulary (and probably even conceptual framework), with common law jurisdictions, where all the legislative clauses occur in different centuries and thus one adds "picking a parallel transport" between the legal languages of the times (and jurisdictions) to the difficulties of adjudication.
Not if you use a language that bans implicit type conversions (like go)
1 reply →
This doesn’t sound right to me. The rational numbers are a superset of the integers. We know that there’s only one 1 in the rational numbers, then it must be the same 1 object as the 1 in the integers.
The statement “3/3 is in Z” is true. There’s no conversion happening: 3/3 is a notation for 1, just like 0.999… is a notation for 1. Many notations, but only one 1 object.
The case of R x R^2 = R^3 is different because the Cartesian product is defined to produce a set of ordered pairs. So it cannot give rise to a set of triples any more than a dog can give birth to a cat. So either x is not a Cartesian product or = is isomorphism not equality.
Your statements such as
> We know that there’s only one 1 in the rational numbers, then it must be the same 1 object as the 1 in the integers. > The statement “3/3 is in Z” is true.
make it sound very trivial while in reality it is not. I do not quite understand your example with R^3 but the defined applies equally to your statements. There are many ways to define and think about the objects you mentioned -- there is not one single truth. Unless you are a devoted platonist, in which case, it's still like your opinion, man.
Q is (usually) a set of equivalence classes of ZxZ\{0}, so obviously it's not a superset of Z since they're not even the same types of things.
There is however a canonical embedding of Z into Q, sending n to the class of (n,1).
3 replies →
0.999… always reminds me of my favorite definition of the real numbers:
“A real number is a quantity x that has a decimal expansion
x = n + 0.d₁d₂d₃…, (1)
where n is an integer, each dᵢ is a digit between 0 and 9, and the sequence of digits doesn't end with infinitely many 9s. The representation (1) means that
n + d₁/10 + d₂/100 + ⋯ + dₖ/10^k ≤ x < n + d₁/10 + d₂/100 + ⋯ + dₖ/10^k + 1/10^k
for all positive integers k.”[1]
Defining the reals in terms of binary expansion is left as an exercise for the reader[2].
[1] Knuth, The Art of Computer Programming, Volume 1, Third Edition, p. 21.
[2] Ibid., p. 25, exercise 5.
You can easily define a Cartesian product that works on more than two sets at a time. See https://en.wikipedia.org/wiki/Cartesian_product#Cartesian_pr...
In the formalization of mathematics, things are built up structurally. Zero is the empty set. Natural numbers are sets that contain smaller natural numbers. Integers are pairs of natural numbers under an equivalence relation (a,b) ~ (c,d) if a + d = c + b. Rationals are pairs of integers under the equivalence relationship as above but if a * d = c * b. Reals are bounded sets of rationals (e.g. all the rationals q such that q * q < 2). Complex numbers are pairs of reals with addition and multiplication defined with i^2 = -1. Functions are really large sets with ordered pair (x,y) in the set f means f(x) = y. Etc.
I'm not sure I agree. That sort of type conversion involves inclusions, while the examples Buzzard talked about involved isomorphisms
Inclusions are a form of isomorphism. In the more common developments of elementary arithmetic, Q is constructed from Z, and in particular the subset of integral rational numbers are technically a different ring from Z. The conversion Z \to Q in particular is an isomorphism from Z to that subset.
Type conversions in every day programming languages though sometimes not only fail to be surjective, they can also fail to be injective, for example int32 -> float32.
type-conversions and "implicit isomorphisms" differ because the former does not need to be invertible, but they agree in that they are implicit maps, that are often performed without thought by the user. So I think that the type-conversions analogy is pretty good in that it captures the idea that implicit conversions, when composed in different ways from A to B, can arrive at various values, even if each stage along the way the choices seemed natural.
> Strictly speaking, the rational number 1 is not the same as the integer 1
So does that mean you can have different 0 zero's ?
Yes. 0/1, 0/2, 0/3 are all different in some sense, but they belong in the same equivalence class.
7 replies →
Note how your parent comment has specified "rational" 1 and "integer" 1. They use the symbol 1 for two similar concepts: We all "know" that 1 + 1 = 2 and 1.0 + 1.0 = 2.0. I have deliberately specified 1 for an int and 1.0 for a rational. Now we have two different representations for two very similar but not identical concepts.
At which point does 1 + a tiny amount cease to be an integer? By definition that tiny amount can have any magnitude and 1 plus anything will cease to be an integer. That is the property that defines an integer. Integers have subsequent "behaviours" that other types of numbers might lack.
You have picked zero/0. Now that is a sodding complicated concept 8) There are lots of things called zero but no more nor less than any other.
Zero might be defined by: 1 - 1 = 0. I have £1 in my bank account and I pay out £1 for a very small flower, my bank balance is now £0. Lovely model, all good except that interest calcs intervened and I actually have a balance of £0.00031. Blast. My pretty integer has morphed into a bloody complicated ... well is it a rational thingie or a ... what is it?
Now I want to withdraw my balance. I put a shiny £1 in, bought something and I have some change. What on earth does a 0.031p coin look like? Obviously, it doesn't exist. My lovely integer account has gone rational.
Symbols mean what we agree on with some carefully and well chosen language. Mathematicians seem to think they are the ultimate aces at using spoken and written language to make formal definitions, derivations and so on. That is a bit unfair, obviously. We all believe that what we think is communicable in some way. Perhaps it is but I suspect that it isn't always.
Have a jolly good think about what zero, nothing, 0 and so on really mean. Concepts and their description to others is a really hard problem, that some funky symbols sort of helps with.
Yes there are loads of things called zero. If I had to guess: infinitely things are zero! Which infinity I could not say.
Yes
1 is an integer, a rational number, a positive integer, an odd integer, a power of 2, etc.
It's also a complex number, a Unicode character, an ASCII character, an Extended ASCII character, a glyph, the multiplicative identity element, a raster image, ...
The GP point is correct; we implicitly convert between all these representations naturally and quickly, but there are interesting branches of mathematics that consider those conversions explicitly and find nuances (eg, category theory).
16 replies →
There are multiple things that we denote using a particular symbol: 1. 1 in and of itself is not a single concept. You could replace the symbol 1 with any other, even the sound of a fart and the concepts still remain the same. Given that we somehow agree that a fart sound shall be the way that we refer to a concept/object/thing.
It's a largely useful conceit to use 1 for all of those objects and more besides. It makes talking about them easier but we do have to be careful to use the correct rule-set for their manipulation.
I would personally prefer to see 1.0 for "rational 1" or perhaps 1. but that would require a convoluted sentence to avoid 1. being at the end of the sentence, unless we allow for: 1.! Well, that would work but what about 1.? Oh for ffs, I mean: 1..
One notes that one's own ones may not be the same as one's other ones.
If only I could spin "won", "own" and perhaps "wan" into that last sentence! ... Right, I've wedged in own. Needs some work 8)
1 reply →
I'm typing this after reading their section on page 6 about the "pentagon axiom". They write that RxR^2, R^2xR, and R^3 are isomorphic, but not literally equal under different constructions, because (a,(b,c)) is different from ((a,b), c), and that this is a problem. I feel like math kinda gets this wrong by treating sets as meaningful objects on their own. Physics gets it closer to correct because it tries to be "covariant", where the meaningful answers to questions have to either have units on them or be totally unitless e.g. irrespective of coordinate system.
The two spaces Rx(RxR) and (RxR)xR have many isomorphisms between them (every possible coordinate change, for instance). But what matters, what makes them "canonically isomorphic", is not isomorphisms in how they are _constructed_ but in how they are _used_. When you write an element as (a,b,c), what you mean is that when you are asked for the values of three possible projections you will answer with the values a, b, and c. Regardless of how you define your product spaces, the product of (a), (b), and (c) are going to produce three projections that give the same answers when they are used (if not, you built them wrong). Hence they are indistinguishable, hence canonically isomorphic.
This is exactly the way that physics always treats coordinates: sure, you can write down a function like V(x), but it's really a function from "points" in x to "points" in V, which happens to be temporarily written in terms of a coordinate system on x and a coordinate system on V. We just write it as V(x) because we're usually going to use it that way later. Any unitless predictions you get to any actual question are necessarily unchanged by those choices of coordinate systems (whereas if they have units then they are measured in one of the coordinate systems).
So I would say that (a,(b,c)) and ((a,b), c) are just two different coordinate systems for R^3. But necessarily any math you do with R^3 can't depend on the choice of coordinates. There is probably a way to write that by putting something like "units" on every term and then expecting the results of any calculation to be unitless.
This is exactly the "specification by universal property" that the author is talking about. In your case, it's saying "a 3-dimensional vector space is a vector space with three chosen vectors e, f, g and three linear maps x, y, z such that each vector v equals x(v) e + y(v) f + z(v) g". But as the author points out, not everything follows from universal properties, and when it does, there is often several universal properties defining the same object, and that sameness itself needs to be shown.
Yes, I know it's the meaning of it, but I'm saying that the presence of "units" allows you to sort of... operationalize it? In a way that removes the ambiguity about what's going on. Or like, in theory. I dunno it's a comment on the internet lol.
4 replies →
I think it's the first time that I witness this comic https://xkcd.com/793/ happening but with math as a target.
You use R^3 in your example of why coordinates don't matter. R^3 can be covered by one chart. Maybe your argument would be more convincing if you pick a different manifold. I have no idea what your complaint is otherwise.
I'm not talking about charts of R^3; I'm talking about the different isomorphic constructions of products like ((a, b), c) and (a, (b, c)) as being a sort of 'choice of coordinate system' on the isomorphic class of objects.
1 reply →
For this particular question we have a great answer in the form of homotopy type theory. It handles all the complications that the author mentions. This is one of the reasons type theorists were excited about HoTT in the first place.
The only problem is that the author is working in Lean and apparently* dismissive of non-classical type theory. So now we're back to lamenting that equality in type theory is broken...
*) I'm going by second hand accounts here, please correct me if you think this statement is too strong.
> For this particular question we have a great answer in the form of homotopy type theory. It handles all the complications that the author mentions. This is one of the reasons type theorists were excited about HoTT in the first place.
Arguably, Homotopy type theory still doesn't solve the problem, because while it strengthens the consequences of isomorphism it doesn't distinguish between "isomorphism" and "canonical isomorphism", whereas (some?) mathematicians informally seem to think that there's a meaningful difference.
> The only problem is that the author is working in Lean and apparently* dismissive of non-classical type theory. So now we're back to lamenting that equality in type theory is broken...
In my opinion, Lean made a number pragmatic choices (impredicative Prop, non-classical logic including the axiom of global choice, uniqueness of identity proofs, etc.) that enable the practical formalization of mathematics as actually done by the vast majority of mathematicians who don't research logic, type theory, or category theory.
It's far from established that this is possible at all with homotopy type theory, yet alone whether it would actually be easier or more economical to do so. And even if this state of affairs is permanent, homotopy type theory itself would still be an interesting topic of study like any other field of mathematics.
"Canonical" refers largely to the names we give to things, so that we maximize the extent to which an isomorphism maps the object named A in X to the object named A in Y. And also to choosing an isomorphism that embeds in a different isomorphism (of superstructures) that isn't strictly the topic of the current question.
I don't think anyone thinks canonical isomorphisms are mathematically controversial (except some people having fun with studying scenarios where more than one isomorphism is equally canonical, and other meta studies), they are a convenient communication shorthand for avoiding boring details.
https://en.m.wikipedia.org/wiki/Isomorphism_theorems
3 replies →
> it doesn't distinguish between "isomorphism" and "canonical isomorphism"
You can distinguish these concepts in (higher )category theory, where isomorphisms are morphisms in groupoids and canonical isomorphisms are contractible spaces of morphisms. These sound like complicated concepts, but in HoTT you can discover the same phenomena as paths in types (i.e., equality) and a simple definition of contractibility which looks and works almost exactly like unique existence.
> In my opinion, Lean made a number pragmatic choices (impredicative Prop, non-classical logic including the axiom of global choice, uniqueness of identity proofs, etc.) that enable the practical formalization of mathematics as actually done by the vast majority of mathematicians who don't research logic, type theory, or category theory.
The authors of Lean are brilliant and I'm extremely happy that more mathematicians are looking into formalisations and recognizing the additional challenges that this brings. At the same time, it's a little bit depressing that we had finally gotten a good answer to many (not all!) of these additional challenges only to then retreat back to familiar ground.
Anyway, there were several responses to my original comment and instead of answering each individually, I'm just going to point to the article itself. The big example from section 5 is that of localisations of R-algebras. Here is how this whole discussion changes in HoTT:
1) We have a path R[1/f][1/g] = R[1/fg], therefore the original theorem is applicable in the case that the paper mentions.
2) The statements in terms of "an arbitrary localisation" and "for all particular localisations" are equivalent.
3) ...and this is essentially because in HoTT there is a way to define the localisation of an R-algebra at a multiplicative subset. This is a higher-inductive type and the problematic aspects of the definition in classical mathematics stem from the fact that this is not (automatically) a Set. A higher-inductive definition is a definition by a universal property, yet you can work with this in the same way as you would with a concrete construction and the theorems that the article mentions are provable.
---
There is much more that can be said here and it's not all positive. The only point I want to make is that everybody who ever formalised anything substantial is well aware of the problem the article talks about: you need to pick the correct definitions to formalise, you can't just translate a random math textbook and expect it to work. Usually, you need to pick the correct generalisation of a statement which actually applies in all the cases where you need to use it.
Type theory is actually especially difficult here, because equality in type theory lacks many of the nice properties that you would expect it to have, on top of issues around isomorphisms and equality that are left vague in many textbooks/papers/etc. HoTT really does solve this issue. It presents a host of new questions and it's almost certain that we haven't found the best presentation of these ideas yet, but even the presentation we have solves the problems that the author talks about in this article.
3 replies →
> It handles all the complications that the author mentions. This is one of the reasons type theorists were excited about HoTT in the first place.
It's not that simple, Buzzard actually seems to be quite familiar with HoTT. The HoTT schtick of defining equality between types as isomorphism does 'handle' these issues for you in the sense that they are treated rigorously, but there's no free lunch in that. You still need to do all the usual work establishing compatibility of values, functions etc. with the relevant isomorphisms, so other than the presentation being somewhat more straightforward there is not much of a gain in usability.
Sorry about not providing a reference re: Kevin Buzzard's previously-stated thoughts on HoTT, but see https://ncatlab.org/nlab/show/Kevin+Buzzard
Can you elaborate more on how you think HoTT can solve the issue Buzzard mentions that when formalizing informal mathematics, the author frequently has a model (or, a particular construction) in mind and requires properties present in the model, and then claims that this is true for all "canonically equivalent" objects without actually spending time explicating the abstract nonsense required to properly specify the properties that canonically equivalent objects preserve, for their developement? (see: a product vs. the product)
Edit: and furthermore, the situation where the obvious choice of universal property (read: level of isomorphism) was a poor one, in their attempt to formalize localizations.
I think 99.9% of the people talking about HoTT haven't used HoTT in practice. They just see isomorphism is equivalent to equivalence(or something similar), comes up with a mental model and think this is the main contribution of HoTT, whereas isomorphism is a well studied thing even before formal set theory was a thing. HoTT gets weird and anyone who has tried any tool to prove anything in HoTT knows this, and this is the reason why it didn't got adopted even though many leading tools like lean worked hard to implement it.
Have you used it? If yes, could you elaborate? Or if you haven't, can you point to any recent source on what it's like to be using HoTT in 2024?
1 reply →
For reference, the paper mentions the term "homotopy" exactly once, in this sentence:
> The set-theoretic definition is too strong (Cauchy reals and Dedekind reals are certainly not equal as sets) and the homotopy type theoretic definition is too weak (things can be equal in more than one way, in contrast to Grothendieck’s usage of the term).
Classical versus non-classical has nothing to do with it. HoTT does not work to capture what a mathematician means by "unique isomorphism" because witnesses of equality in HoTT are very much not unique.
I think HOTT helps remove a lot of the footguns and computational hairiness around using type-theoretic mathematics. But the issues Buzzard is talking about are really more profound than that. This relates to a much deeper (but familiar and nontechnical) philosophical problem: you assign a symbol to a thing, and read two sentences that refer to the same symbol ("up to isomorphism"), but not necessarily the same thing. If the sentences contradict each other, is it because they disagree on the meaning of the symbol, or do they disagree on the essence of the thing? There is a strong argument that most debates about free will and consciousness are really about what poorly-understood thing(s) we are assigning to the symbol. Worse, this makes such debates ripe for bad faith, where flaws in an argument are defended by implicitly changing the meaning of the symbol.
In the context of """simple""" mathematics, preverbal toddlers and chimpanzees clearly have an innate understanding of quantity and order. It's only after children fully develop this innate understanding that there's any point in teaching them "one," "two," "three," and thereby giving them the tools for handling larger numbers. I don't think it makes sense to say that toddlers understand the Peano axioms. Rather, Peano formulated the axioms based on his own (highly sophisticated) innate understanding of number. But given he spent decades of pondering the topic, it seems like Peano's abstract conception of "number" became different from (say) Kronecker's, or other constructivists/etc. Simply slapping the word "integer" on two different concepts and pointing out that they coincide for quantities we can comprehend doesn't actually do anything by itself to address the discrepancy in concept revealed by Peano allowing unbounded integers and Kronecker's skepticism. (The best argument against constructivism is essentially sociological and pragmatic, not "mathematically rational.")
Zooming out a bit, I suspect we (scientifically-informed laypeople + many scientists) badly misunderstand the link between language and human cognition. It seems more likely to me that we have extremely advanced chimpanzee brains that make all sorts of sophisticated chimpanzee deductions, including the extremely difficult question of "what is a number?", but to be shared (and critically investigated) these deductions have to be squished into language, as a woefully insufficient compromise. And I think a lot of philosophical - and metamathematical - confusion can be understood as a discrepancy between our chimpanzee brains having a largely rigorous understanding of something, but running into limits with our Broca's and Wernicke's areas, limits which may or may not be fixed by "technological development" in human language. (Don't even get me started on GPT...)
The level of insights and clearness in your message, and most comments in this thread actually, is surprising great compared to what I often read on HN.
Thank you very much for this
The fact that Buzzard is writing this paper at all to me shows a much higher degree of respect than before --- see how humble the overview is. I think this is great progress!
This is a very old consideration (cf https://www.jstor.org/stable/2183530).
If you want to frame a 'universal defining property', you have to frame it in some language. The definition, therefore, is inevitably idiosyncratic to that language, and, if you specify the same property using a different language, the definition is going to change. What's more, the two definitions can be incommensurable.
And---all you have done is translate from the object language to the meet language--leaving the definitions of the terms of the meta language completely unexplicated.
The solution to this is as old too---like "point", "line", etc, these terms can--and arguably should--remain completely un-defined.
whence did you learn this idiom of "the meet language"???
i have working definitions of line, point, etc.. in terms of dimensions. but I have some issues with the precise definition of "dimension" due to having picked up the concept of "density". I cannot say what's the difference between density and dimension
Meet here is shorthand the comment author is using for: https://en.wikipedia.org/wiki/Join_and_meet
You should read it as: "the largest group of properties that both languages agree about said abstractly defined mathematical object."
1 reply →
sigh I really hate autocorrect. It was supposed to be "meta", not "meet".
It's bad enough that most of the content I read these days is being generated by LLMs. Slowly and inexorably, even the content I write is being written and overwritten by LLMs.
How can you frame a paper from 1965 as "very old" when the linked article is about Grothendieck, who started his math PhD in 1950 (and presumably studied math before that)?
The very very old solution I'm adverting to is Euclid's axioms. They don't define what "point" or "line" means, they just specify some axioms about them.
I haven't actually dug up the source, so I'm not sure if the gaps here are related, but GC Rota apparently claimed that one reason the umbral calculus remained mysterious for as long as it did was about ambiguities with `=`.
> Rota later stated that much confusion resulted from the failure to distinguish between three equivalence relations that occur frequently in this topic, all of which were denoted by "=".
https://en.wikipedia.org/wiki/Umbral_calculus#The_modern_umb...
There's so much ambiguous context that goes into your average '=', even when just talking about your standard functions on real numbers. You'll see it being used for anything from:
- We've found these to be equal
- We're hypothesizing this to be equal
- These are approximately equal
- These are defined to be equal
- This is a way to calculate something else, whether it's equal is up to your philosophy (a^2+b^2=c^2)
- I'm transforming my function into something else that looks different but is exactly the same
- I'm transforming my function into something else that is the same for some of the stuff I care about (but for example does not work anymore for negative numbers, complex nrs, etc.)
- I'm transforming my function into something else, but it's actually a trapdoor, and you can't convert it back.
- This is kind of on average true within an extremely simplified context or we know it's not true at all, but we'll pretend for simplification (looking at you physics)
- We are trying to check if these two are equal
- This is equal, but only within a context where these variables follow some constraints mentioned somewhere else entirely
- This is equal, but, we're not going to say whether you can or can't replace the variables with functions or whether it supports complex nrs, negative nrs, non-integers, etc.
A lot of this is usually kind of clear from context, but some of these differences are a nightmare if you want to code it out
Equality can be philosophically troubling, but as a practical matter, what you care about is the indiscernibility of identicals, and if every property you use follows from a universal property, then equal up to isomorphism is just equal. So every Rubik's cube is equal considered as a group of face rotations, and there's only one Rubik's cube, but if you care about chemical properties of sticker glue, they're no longer equal.
Something the author points out: sometimes theorems directly rely on specific constructions of mathematical objects, which are then used to establish things that do not mention the construction.
The glue point reminds me of Benacerraf problem.
https://en.m.wikipedia.org/wiki/Benacerraf%27s_identificatio...
> Equality can be philosophically troubling
Which is probably why they are saying "equity" now
I have now read the paper and it alone is enough to make me seriously consider devoting significant amount of my time to the author's project. Here's why:
In my introductory statistics class, I learned that a independent and identically distributed sample is a sequence of random variables X[1], ..., X[n], all of the same signature Omega -> (usually) R. All of them are pairwise independent, and all of them have the same distribution, e.g. the same density function. Elsewhere in probability I have learned that two random variables that have the same density function are, for all intents and purposes, the same.
For all, really? Let's take X[i] and X[j] from some i.i.d. random sample, i != j. They have the same density, which leads us to write X[i] = X[j]. They are also independent, hence
P(X[i] in A, X[j] in A) = P(X[i] in A)*P(X[j] in A),
but X[i] = X[j], so
P(X[i] in A, X[j] in A) = P(X[i] in A, X[i] in A) = P(X[i] in A), so
P(X[i] in A) in {0, 1}.
This was a real problem for me, and I believe I had worse results in that statistics class than I would have if the concept was introduced properly. It took me a while to work out a solution for this. Of course, you can now see that the strict equality X[i] = X[j] is indefensible, in the sense that in general X[i](omega) != X[j](omega) for some atom omega. If you think about what needs to be true about Omega in order for it to have two different variables, X[i] and X[j]:Omega -> R, that are i.i.d, then it will turn out that you need Omega to be a categorical product of two probability spaces:
Omega = Omega[i] x Omega[j]
and X[i] (resp. X[j]) to be the same variable X composed with projection onto first (resp. second) factor. This definition of "sampling with replacement" is able to withstand all scrutiny.
Of course, just like in Buzzard's example of ring localization, it was all caused by someone being careless about using equality.
I was just thinking about something adjacent to this the other day. I had this half-baked idea that you could classify all the "types" built out of, say (R, ×, →) by algebraically replacing each copy of R with a finite set of cardinality a and then counting the cardinality of the entire type expression. So you'd formally associate, say, R^3 with the algebraic term a^3, and that holds regardless of how you rearrange R^3 = R^2 × R or R × R^2 or whatever. I liked the idea because it seemed (?) to derive non-obvious set theoretic equivalences, for free: such as
The first equivalence is between a "curried", partial-application, function form of a function of two arguments, and the "uncurried" form which takes a tuple argument. The second equivalence is between a pair of real functions and a path in the plane R^2—the two functions getting identified with the coordinate paths x(t) and y(t). (Remember the cardinality of distinct functions over finite sets S -> T is |T|^|S|).
And I think you can take this further, I'm not sure how far, for example by associating different formal parameters a,b,c... for different abstract types S,T,U... Is this a trick that's already known, in type theory?
(My motivation was to try to classify the "complexity", "size", of higher-ordered functions over the reals. The inspiration's that you're imagining a numerical approximation on a grid of size a for (a finite subinterval in) each copy of R: then that cardinality relates to the memory size of the numerical algorithm, working inside that space. And you could interpret the asymptotic growth of the formal function, as a complexity measure of the space. If you think of R^n -> R as a "larger" function space than R -> R^n, that observation maps to a^(a^n) being an asymptotically faster-growing function (of 'a') than (a^n)^a = a^(na). And similarly the functionals, (R -> R) -> R, and function operators (like differential operators) (R -> R) -> (R -> R), form a hierarchy of increasing "size").
The connection between type isomorphisms and algebraic equalities is known and explored in a variety of interesting ways.
I don't know the precise history of the development of the notation and vocabulary, but there's a reason types like A+B are notated with a plus symbol and called "sums". Similarly for products. And it may surprise you (or not) to learn that people sometimes call A -> B an exponential type, and even notate it with superscript notation.
One of my favorites is the result that the binary tree type is isomorphic to septuples of binary trees, which you can arrive at by using the definition of binary trees as the fixed point solution of T = 1 + T*T and deriving T = T^7 with some algebra. [0]
[0] https://arxiv.org/abs/math/9405205
This has been studied under the name algebraic data types.
I really like this. I remember my first serious math book, which was this old-school set theory and topology book, and being all excited about learning set theory up until I encountered iterated Cartesian product, and was forced to accept that ((x, y), z) and (x, (y, z)) are supposed to be indistinguishable to me. An answer on StackExchange said that "you will never, ever, ever need to worry about the details of set theory", but I still did.
"When is one thing equal to some other thing?"
Barry Mazur June 12, 2007
https://bpb-us-e1.wpmucdn.com/sites.harvard.edu/dist/a/189/f...
https://people.math.osu.edu/cogdell.1/6112-Mazur-www.pdf
This is an excellent text to understand mathematical structuralism.
But it feels anticlimactic.
At the beginning there are fundamental problems with mathematical equality.
In the end, there is no great new idea but only the observation that in algebraic geometry some proofs have holes (two kinds), but they can be filled (quite) schematically.
"Some proofs" are the proof used to verify that the definition of an affine scheme makes sense, and the author motions in the direction that every single proof in algebraic geometry uses identically wrong arguments when using the language of "canonical" maps.
Thus the replication crisis of mathematics is revealed. In the words of John Conway: a map is canonical if you and your office neighbor write down the same map.
At least it's a short piece, compared to A New Kind of Science.
When this subject comes up I always think that the equality sign is loaded. It can mean, definition, equality, identity, and proportionality. How come this state of the equality sign is not mentioned in the paper?
As a mathematician, I have never, ever seen the equal sign used to denote proportionality. I cannot tell what you mean by "identity" that wouldn't be equality. And a definition in the sense you seem to mean is, indeed, also an equality. I guess this issue not mentioned in the paper because it doesn't exist.
I agree it’s not really used symbolically, but isn’t it referring to the difference between, say:
(x + y)(x - y) = x^2 - y^2
(an identity, since it’s true for every x and every y) and something more arbitrary like
3x^2 + 2x - 7 = 0
(an equation certainly not valid for all x and whose solutions are sought).
Of course, really, the first one is a straightforward equality missing some universal quantification at the front… so maybe that’s just what the triple equals sign would be short for in this case.
[x:y] = [lx:ly]
and I suppose the model of localization discussed in the article above counts as well.
4 replies →
As far as I remember, that's not a problem in math:
:= definition ≡ identity = equality ∝ proportionality
But this is how it works:
= definition = identity = equality = proportionality
1 reply →
up to (non-)unique isomorphism
And I thought "Grothendieck" was a German social disease! I'm getting a real education here on HN!
The story of Grothendieck is really fascinating. He was a superstar in algebraic geometry, only to suddenly reject the endeavor of mathematics and going off to grow vegetables in the Pyrenees. He also demanded that all notes from his lectures be destroyed. But those notes existed in so many hands, I don’t think many people (if any) complied.
kevin buzzard is a very good(usually math) expositor with a bent towards programming. love it
reminicscent of Euler's use of Pi?
I recall that Euler would write Pi but sometimes he meant 2*pi, or possibly pi/2 depending on context