Good. Yes. That's the question and I appreciate your proposing to answer.Skepdick wrote: ↑Fri Feb 14, 2020 7:42 am I agree with pretty much everything you said before this so I am not going to respond on any of it. For every Mathematical denotation there is a clear philosophical interpretation. I much prefer science/engineering to philosophy so I want to elaborate on WHY I think lazy evaluation matters to Mathematics (and so I must do Philosophy).
Let me emphasize something I forgot to mention the other day about lazy evaluation. Lazy evaluation is an optimization technique. It's a clever way to reduce the use of resources in a given computation. We don't evaluate an expression till we need to. There's a complementary technique called memoization, which is that once we evaluate an expression we save the result so that we don't have to calculate it again. Computer science is full of these kinds of optimizations for the purpose of using real world resources (time, space, energy) more efficiently.
However, no optimization can have the slightest effect on computability. You could implement lazy evaluation on a Turing machine. After all, we do that every day! Conventional computers are physical implementations of Turing machines. They have a certain level of computational power. We can optimize the algorithms to run more efficiently; but we can never make a noncomputable problem computable by way of an algorithmic optimization.
What you are talking about is complexity: how efficiently a computation runs as a function of the input length. As the inputs get longer, does the resource consumption go up as a polynomial or an exponential of the input length? That's a huge deal in computer science these days.
But that is the subject of complexity and not computability.
It's possible for an optimization to improve the complexity of a given computation; but never the computability. I hope you understand that. Again, using these words with their conventional meaning.
Math itself, yes. 2 + 3 = 5. But if it's 2pm and I wait 3 hours, it's 5pm. So we can use math to model time. But as to pure math itself, there's no time in it. Time is a question of physics, not math.Skepdick wrote: ↑Fri Feb 14, 2020 7:42 am You say that the Mathematical universe is idealised.
Mathematics only cares about pure functions. Referential transparency (e.g referencing/dereferencing are isomorphic)
Time doesn't matter - everything is static and unchanging.
I'll take you on your word and I will even aspire to that narrative in spirit.
Although even then we could invent time-dependent math if we wanted. We could define a set that at time t has elements S(t). So you'd have time-varying sets. You can use math to model anything you want.
But in general the objects described by math are unchanging; even though we can use math to model changing objects. So when we say f(x) = x^2, mathematically the function exists all at once; all the input/output pairs exist right now. We could also say a point is moving with that equation of motion, so that the function describes a motion.
Hope we're all agreed on this. Essentially math is static. I'll agree to that.
I'll stipulate that I know little of Wittgenstein or Kripke. I'll take Wittgy's advice and whereof I cannot speak, thereof I'll put a sock in it.Skepdick wrote: ↑Fri Feb 14, 2020 7:42 am Wittgenstein's rule-following problem (and Kripke's response to it) is about whether, either of us knows what "purity" really means,
and how, despite our best efforts at practicing 'purity' we all might be practicing 'furity' rather than 'purity'.
It's an abstract concept with no formal metric. Like justice, beauty and an infinite list of virtues that I need not enumerate.
I don't know what you mean by furity. Do you mean practicality? As in Turing machines versus actual running programs? Abstract versus concrete? Not sure what you mean and "furity" did not have any Google links when I looked it up. They asked me if I meant fruity or futurity.
You'll have to speak for yourself on that. I long ago gave up that quest, if I ever had it. We are not monks. I'm not, anyway. I live in the world.
But now a point of confusion. I'm not trying to say anything meaningful about purity. Saying meaningful things about purity? When did that become a topic of conversation? I have no interest in it. Besides, purity died in the culture ever since the "99.44% pure" Ivory Snow girl became a porn star.
https://en.wikipedia.org/wiki/Marilyn_Chambers
Saying anything meaningful about purity? Man where ARE you coming from? The other guy, @nothing, he wants to talk about the golden ratio but it turns out he really wants to talk about the Garden of Eden. What is it with this place? LOL
I'm just doing math. Like when I was eating breakfast a while ago. I wasn't thinking about the act of eating breakfast. I was just eating breakfast. And again, I don't exactly know what connotation "fure" means to you. Unless it means abstract versus concrete. Breakfast as an Aristotelian category or Platonic idea, versus the "executing process" of my cooking breakfast for myself in my kitchen.A recipe is a program; making breakfast is a process. Is that what you are talking about?
What are you talking about? When I have to solve an equation or learn a theorem or read a Wiki page about some advanced math concept, that's what I'm doing. I'm not pure or fure. I'm just doing math.
You're off on your own here. You lost me entirely.
It's not a thread subject I'd jump into. I had no idea we were talking about it here. I have no opinion on the subject. I recall there's a dramatic comedy movie State and Main, where Philip Seymour Hoffman is writing a movie script based on the idea of Purity, and that becomes a theme of the movie. Poor guy. Brilliant actor, died with a needle in his arm. Is that Purity or Furity? What do you think?
What is purity? What the eff? The subject was why you think lazy evaluation tells us something about the philosophy of math, and what exactly that might be.
Math answers qualitative questions too. Confidence intervals, probabilities. And math isn't just about quantity. It's about shape, structure, symmetry. It's about how some qualities of things stay the same as you change other qualities, as in stretching and shrinking without tearing or bending.
Math is all of that. Math is about everything mathematical. What of it? Lazy evaluation, remember? You were going to tell me how you think that an algorithmic optimization can affect computability, WHICH IT CAN'T POSSIBLY.
That doesn't make a bit of effing sense. Lazy evaluation is an optimization that makes a computation run more efficiently. You've utterly failed to make your point.
Now YOU are the one believing in a pure universe. Last post you were mocking the idea. Make up your mind.Skepdick wrote: ↑Fri Feb 14, 2020 7:42 am In an impure universe (the actual one), where time, memory or representation does matter functions must be as strict as possible, otherwise they leak implementation details. They leak time, which is what allows for side-channel attacks etc. So back to the pure universe....
The world is what it is, it's the only one we've got. And lazy evaluation is a computational optimization that can not affect computability. My God if I'm writing a program and I use a shortcut operator like x += 5 instead of writing x = x + 5, do you think this is an effiing philosophically significant act? It's a notational optimization. What the hell of it?
To the extent that I understand what you're saying, I think you're making a major mountain of the most trivial idea. Program optimization? Man they've been doing that since they invented programming in the 1940's.
Ok now we're back to math. New subject. Ok. Yes, by definition, equality between functions means that the functions given exactly the same output for every input. That f(x) = g(x) for every x in their common domain. That's the definition of what it means for two functions to be equal.
Let me emphasize that this isn't right or wrong, it's just the way we define equality of functions.
No, it's very different. One's a definition, the other's a theorem that follows from some premises.
Saying f and g are the same function as long as f(x) = g(x) is the DEFINITION of function equality.
Regarding the article, they pointed out that if you make the particular definition of computable continuity, then all functions on the natural numbers are computably continuous (if I recall correctly). That's a theorem that follows from the definition they made of computable continuity.
Two totally different things. No connection.
Interestingly, I understood the topology part. I should go back to the article and finish getting through their conclusion to see if I can put it into context. It was actually very interesting. When they talked about the product topology I knew all about that and was able to make sense out of what they were saying. I'll get back to that article and see if I can say anything interesting about it.Skepdick wrote: ↑Fri Feb 14, 2020 7:42 am Even though I don't understand a significant portion of the topology/homotopy jargon in it (or whether it's even important to do that in order to understand the implications), it seem to me that I am concluding roughly the same things the author is concluding.
Doesn't follow at all. Your 'd' notation's a little confusing, the 'd' of a function is usually its derivative. Can you choose a better notation to say what you mean? I don't actually know what you mean here.
You're making up a connection between things that aren't related. I hope you'll take my words to heart on this matter.
My friend, I know what a leaky abstraction is. I read Joel on Software just like you do.
I also know some math. Let me tell you from the bottom of my heart, that discontinuities in math have nothing at all to do with leaky abstractions. You're reaching for connections when you'd be better off trying to understand the details of what you're talking about, so that you'll understand more.
A discontinuity as an unhandled exception. Ok. I will grant you this: As a metaphor, or as geek poetry, it's not bad. Kind of good in a spacey way. But it's not right technically. There's no technical connection. But poetically? Yeah maybe.
But not really An unhandled exception is a programming error. Two bad things happened: One, the program did something abnormal; and two, the programmer forgot to check for it. Bad programmer!
But with discontinuous functions, some phenomena are really discontinuous. When you go to the post office you pay 55 cents to send a letter weighing up to 3.5 ounces. If your letter weighs 3.6 ounces, you pay $1.10. You need another whole stamp. You can't pay proportionally.
In fact as you may recall, it's the "post office function" that's always taught to students when they learn about discontinuous functions.
So again: An uncaught exception is a programming error; something that ideally, should not happen. A discontinuous function simply models a discontinuous phenomenon in the world.
No. An uncaught exception is a mistake by a programmer A discontinuous function models something in the world that happens to be discontinuous. Like getting married. One instant you aren't then you are. That's discontinuity. The "singlehood" function has a discontinuity at the moment of your marriage. Right? Right.
You are seriously misinterpreting that article. It's a good explainer about a certain aspect of constructive math. I found it useful. But it does not mean what you think it does. And it has nothing to do with discontinuous functions.
Of course the number line represents time in physics. And there is a point to be made about that, which is that there is no evidence that actual time in the universe works anything like the real numbers! The real numbers are an abstraction and very unlikely to end up being "true" about time, if we ever do figure out what's true about time.
Numbers are abstract. Time is an actual reality in our lives.
Much of your post was shockingly lucid. We're at the point where I disagree with you on some issues but at least I can understand what you're saying.
But the part about the meaning of purity, man that went way over my head. And what's furity?
And the bit about mathematical discontinuity, you're just misunderstanding the article, or rather wildly extrapolating it to areas where it doesn't apply.
Also, you did not IMO make your point about lazy evaluation. Lazy evaluation is an optimization technique no different in principle from all other optimization techniques, none of which can affect the computability of a given task. I simply don't see the relevance of that example to anything else you're trying to say.
