Mathematics is less precise than Programming

What is the basis for reason? And mathematics?

Moderators: AMod, iMod

Skepdick
Posts: 14366
Joined: Fri Jun 14, 2019 11:16 am

Mathematics is less precise than Programming

Post by Skepdick »

Aside from the fact that "precision" is not precisely definable...

“Mathematics is much less formally complete and precise than computer programs.” — William Thurston, 1994
"Math is less precise than Programming." --Cody Roux (echoed by Andrej Bauer), 2021
User avatar
Sculptor
Posts: 8535
Joined: Wed Jun 26, 2019 11:32 pm

Re: Mathematics is less precise than Programming

Post by Sculptor »

Since you have little idea what these guys are saying one has to wonder whose arse are you blowing smoke up?
Probably your own.

This enuntians apparenti is so god damn obvious that ex se intellegitur.

You can state the reason in a few words.
Skepdick
Posts: 14366
Joined: Fri Jun 14, 2019 11:16 am

Re: Mathematics is less precise than Programming

Post by Skepdick »

Sculptor wrote: Sat Jul 10, 2021 5:57 pm Since you have little idea what these guys are saying one has to wonder whose arse are you blowing smoke up?
Probably your own.
Do you need some toilet paper to wipe your mouth with? An enema for your brain perhaps?

What these guys are saying is THAT Mathematics is less precise than Programming. This is really easy to grasp if you understand what "precision" means (maybe you don't).

WHY this is true is a separate matter from the fact THAT it is true.
Gary Childress
Posts: 8121
Joined: Sun Sep 25, 2011 3:08 pm
Location: Retirement Home for foolosophers

Re: Mathematics is less precise than Programming

Post by Gary Childress »

Skepdick wrote: Sat Jul 10, 2021 6:04 pm
Sculptor wrote: Sat Jul 10, 2021 5:57 pm Since you have little idea what these guys are saying one has to wonder whose arse are you blowing smoke up?
Probably your own.
Do you need some toilet paper to wipe your mouth with? An enema for your brain perhaps?

What these guys are saying is THAT Mathematics is less precise than Programming. This is really easy to grasp if you understand what "precision" means (maybe you don't).

WHY this is true is a separate matter from the fact THAT it is true.
Perhaps math is to programing as DOS was to Windows 3.1, a building block?
wtf
Posts: 1178
Joined: Tue Sep 08, 2015 11:36 pm

Re: Mathematics is less precise than Programming

Post by wtf »

Skepdick wrote: Sat Jul 10, 2021 12:29 pm Aside from the fact that "precision" is not precisely definable...

“Mathematics is much less formally complete and precise than computer programs.” — William Thurston, 1994
"Math is less precise than Programming." --Cody Roux (echoed by Andrej Bauer), 2021
I can't account for Thurston's remark. Perhaps you can provide the context. Bauer of course is a famous advocate of constructive math, so his remark at least makes some sense in terms of his professional beliefs.

In any event, programming can only represent computable numbers, and even those only to finite precision. Whereas math can represent numbers to infinite precision. So the opposite case can be made.

Programs only represent a tiny portion of the world of math, since programs are limited to that which is computable. So if programming is more "formally complete," whatever that means, it's only because it's applicable over a very small domain, relative to math, which includes the uncomputable. The Halting function is perfectly well defined in math, even though there is no such thing in programming.

Without more context, your quotes aren't very helpful in terms of gaining insight into the nature of math or programming.

I will say, having done a bit of both, that I always found programming easier. Because when you're stuck, you can just type something in, play around, see what works. Whereas with math, when you're stuck, you need an idea or an insight. I always found the experience of being able to run a program very satisfying. Whereas doing math is like writing programs without ever being able to execute them. Executing a program is a visceral experience that came more naturally to me. "Bam, it works." Or, "Darn, it doesn't work." Then you debug it. Debugging is kind of mindless, you just drill down till you figure out what's wrong. Programming requires much less cognitive effort than math, for me anyway. But others have had the opposite experience so there's no general lesson to be learned.
Skepdick
Posts: 14366
Joined: Fri Jun 14, 2019 11:16 am

Re: Mathematics is less precise than Programming

Post by Skepdick »

wtf wrote: Sat Jul 10, 2021 11:24 pm I can't account for Thurston's remark. Perhaps you can provide the context. Bauer of course is a famous advocate of constructive math, so his remark at least makes some sense in terms of his professional beliefs.
Page 10 of this paper: https://www.math.toronto.edu/mccann/199/thurston.pdf
wtf wrote: Sat Jul 10, 2021 11:24 pm In any event, programming can only represent computable numbers, and even those only to finite precision. Whereas math can represent numbers to infinite precision. So the opposite case can be made. Programs only represent a tiny portion of the world of math, since programs are limited to that which is computable.

. So if programming is more "formally complete," whatever that means, it's only because it's applicable over a very small domain, relative to math, which includes the uncomputable. The Halting function is perfectly well defined in math, even though there is no such thing in programming.
This is not quite the case. Representation is not the problem. Manipulation (of mathematical objects) is the problem.

The point about representing non-computable objects and non-halting functions is made by Bauer in this post. Relevant quote:
It is meaningless to discuss representations of a set by a datatype without also considering operations that we want to perform on the set.
As to the "domains of applicability" (of functions) well.... That's Dana Scott's domain theory from the 60s.
wtf wrote: Sat Jul 10, 2021 11:24 pm Without more context, your quotes aren't very helpful in terms of gaining insight into the nature of math or programming.
The context not really about "Math" and "Programming" because we might end up figuring out that we are both talking about the exact same activity using different language.

What the context is of what it means to be precise and what it means to define something. In fact, what modern proof assistants primarily concern themselves with is proving whether a concept/term/idea is "well-defined" in a certain, precise sense. Proofs assistants *do not* concern themselves with side-effects.

In a broader context, what I am pointing out is the very same thing Lakatos was demonstrating through the dialogue in "Proofs and Refutations" that informal proofs/definitions have all sorts of implicit assumptions and corner cases which lead to minor; or major disagreements once one tries to be "precise" about Mathematics. When one uses a proof assistant - one is forced to make the implicit explicit.
wtf wrote: Sat Jul 10, 2021 11:24 pm I will say, having done a bit of both, that I always found programming easier. Because when you're stuck, you can just type something in, play around, see what works. Whereas with math, when you're stuck, you need an idea or an insight. I always found the experience of being able to run a program very satisfying. Whereas doing math is like writing programs without ever being able to execute them. Executing a program is a visceral experience that came more naturally to me. "Bam, it works." Or, "Darn, it doesn't work." Then you debug it. Debugging is kind of mindless, you just drill down till you figure out what's wrong. Programming requires much less cognitive effort than math, for me anyway. But others have had the opposite experience so there's no general lesson to be learned.
I am thinking on an abstract level above that. In my mind there is an explicit distinction between function definition and function application.
"Running a program" is function application. "Running a program" is the manipulation of the data as per Bauer's blog post.

When we talk about any existing programming language implementation you are already committed to some sort of runtime (in Mathematics you call that a Kernel I think - inverse image of a homomorphism). The runtime has some inherent computational properties/behaviours/axioms assumed in its design - these are either encoded in the compiler or interpreter.

When I speak about "precise definition" what I have in mind is the process of formal language design itself. Specifying the compiler/language. Defining the Computable function which determines whether a formal expression is well-defined or not.
wtf
Posts: 1178
Joined: Tue Sep 08, 2015 11:36 pm

Re: Mathematics is less precise than Programming

Post by wtf »

Skepdick wrote: Sun Jul 11, 2021 7:39 am\
When we talk about any existing programming language implementation you are already committed to some sort of runtime (in Mathematics you call that a Kernel I think - inverse image of a homomorphism). The runtime has some inherent computational properties/behaviours/axioms assumed in its design - these are either encoded in the compiler or interpreter.
I was trying to take you seriously till you said a kernel is the inverse image of a homomorphism and that it's like a runtime. Methinks you are slinging buzzwords without much comprehension. FWIW nobody's arguing against proof assistants. What exactly is the point of all this? Also Bauer is a constructivist. Quoting him to make a point is like quoting the Pope to argue for the existence of God. He's biased. But again, what point are you trying to make?
Skepdick
Posts: 14366
Joined: Fri Jun 14, 2019 11:16 am

Re: Mathematics is less precise than Programming

Post by Skepdick »

wtf wrote: Sun Jul 11, 2021 7:40 pm I was trying to take you seriously till you said a kernel is the inverse image of a homomorphism and that it's like a runtime.
Huh?!?! Where did I say that?

I said that your runtime already has assumptions built-in. I said that your runtime has already made choices for you. Choices that you can't unmake.
You a trapped in a model of computation NOT of your own choosing.

In the trivial case I am not saying anything other than the fact that in one runtime 1+1 evaulates to 2 and in another runtime 1+1 evaluates to 10.

Or like if you are executing a binary on an X86 computer you have a strong memory model, but if you are running it on an M1 Apple you a have a weak memory model. And so the same source code compiled for two different runtimes can (and will!) behave differently.
wtf wrote: Sun Jul 11, 2021 7:40 pm Methinks you are slinging buzzwords without much comprehension.
Methinks it's your comprehension that's limited. I am trying to transpile my understanding into your language.

You know what a compiler is - yes? A formal language specification.

Input: source code.
Output: something your runtime can comprehend

A compiler proves your expressions are well-defined. A compiler cannot prove that the resulting output will play nicely with your runtime.
wtf wrote: Sun Jul 11, 2021 7:40 pm FWIW nobody's arguing against proof assistants. What exactly is the point of all this?
The point is that Programming is more precise than Mathematics. It says so in the topic.

Proving theorems with a proof assistants IS programming.
Proofs done in theorem provers are more verbose/concise than informal proofs.
wtf wrote: Sun Jul 11, 2021 7:40 pm Also Bauer is a constructivist. Quoting him to make a point is like quoting the Pope to argue for the existence of God. He's biased.
That's called a strawman. Which part of his argument do you disagree with?

Informally speaking bias means exactly the same thing as choice. Every axiom you choose to accept is a "bias" - for you can just as easily choose to reject it.

Also, I also quoted Thurston saying what Bauer said 27 prior. Ah! The conspiracy.
wtf wrote: Sun Jul 11, 2021 7:40 pm But again, what point are you trying to make?
The point THAT Programming is more precise than Mathematics.
wtf
Posts: 1178
Joined: Tue Sep 08, 2015 11:36 pm

Re: Mathematics is less precise than Programming

Post by wtf »

Skepdick wrote: Sun Jul 11, 2021 7:56 pm
Huh?!?! Where did I say that?
Somebody operating your keyboard wrote:
Skepdick wrote: Sun Jul 11, 2021 7:39 am When we talk about any existing programming language implementation you are already committed to some sort of runtime (in Mathematics you call that a Kernel I think - inverse image of a homomorphism).

Do you have a cat? Cats often type things into online forums when their humans aren't looking. Accounts for so many people writing things then claiming they didn't when the absurdity of what they wrote is pointed out to them.
Skepdick wrote: Sun Jul 11, 2021 7:56 pm I said that your runtime already has assumptions built-in. I said that your runtime has already made choices for you. Choices that you can't unmake.
You a trapped in a model of computation NOT of your own choosing.
I quoted exactly what you or your cat wrote. No denying it now, it's there for all to see.
Skepdick wrote: Sun Jul 11, 2021 7:56 pm In the trivial case I am not saying anything other than the fact that in one runtime 1+1 evaulates and in another runtime 1+1 evaluates to 10.
You don't even know what a runtime is. Your buzzword to knowledge ratio is off the charts.
Skepdick wrote: Sun Jul 11, 2021 7:56 pm Or like if you are executing a binary on an X86 computer you have a strong memory model, but if you are running it on an M1 Apple you a have a weak memory model. And so the same source code compiled for two different runtimes can (and will!) behave differently.
That is deep, man.
Skepdick wrote: Sun Jul 11, 2021 7:56 pm Methinks it's your comprehension that's limited. I am trying to transpile my understanding into your language.
I have no problem with your advocacy for constructive math or computer-assisted math. I just wonder what is the point of your post here. And then I was troubled by your equating of a mathematical kernel with a runtime in programming. Those are apples and rutabagas.
Skepdick wrote: Sun Jul 11, 2021 7:56 pm You know what a compiler is - yes? A formal language specification.
A compiler is a formal language specification? My friend, that's pathetic. You don't even know what a compiler is. Would you perhaps agree that a compiler is a particular implementation of a formal language specification? Do you know you just embarrassed yourself? Again?
Skepdick wrote: Sun Jul 11, 2021 7:56 pm Input: source code.
Output: something your runtime can comprehend
You know so little about all this it's pathetic. That's actually not what the runtime does.
Skepdick wrote: Sun Jul 11, 2021 7:56 pmThe point is that Programming is more precise than Mathematics. It says so in the topic.
The Thurston quote was about carefulness with respect to data types and such. A very limited point. Bauer of course is a constructivist so he's extremely biased in these matters. You quote-mined one sentence and extrapolated far beyond its intended meaning.
Skepdick wrote: Sun Jul 11, 2021 7:56 pm Proving theorems with a proof assistants IS programming.
Proofs done in theorem provers are more verbose/concise than informal proofs.
Ok. And?
Skepdick wrote: Sun Jul 11, 2021 7:56 pm That's called a strawman. Which part of his argument do you disagree with?
Actually that's not a strawman.
Skepdick wrote: Sun Jul 11, 2021 7:56 pm Bias means exactly the same thing as "choice". Every axiom you choose to accept is your "bias".
Bias is choice? I said do you speaka my language? He just smiled and gave me a vegemite sandwich.
Skepdick wrote: Sun Jul 11, 2021 7:56 pm Also, I also quoted Thurston saying what Bauer said 27 prior. Ah! The conspiracy.
You quote-mined Thurston to make a point he didn't make. You probably didn't expect me to check, but I did, since I'm already familiar with the essay you quote-stripped.
Skepdick wrote: Sun Jul 11, 2021 7:56 pm The point THAT Programming is more precise than Mathematics.
Yeah ok man. Tell me in your own words, without paraphrasing Wiki, anything about Dana Scott's ideas.
Skepdick
Posts: 14366
Joined: Fri Jun 14, 2019 11:16 am

Re: Mathematics is less precise than Programming

Post by Skepdick »

wtf wrote: Sun Jul 11, 2021 8:28 pm A compiler is a formal language specification? My friend, that's pathetic. You don't even know what a compiler is. Would you perhaps agree that a compiler is a particular implementation of a formal language specification?
AAHAHAHAHAHAHAHA... Idiot.

No. I do not agree.

A compiler is a computable function which admits formal expressions as "well-formed" and "not well formed", then translates them into some target langauge. For all I care it can translate into Sheffer strokes.

If I can find ANY formal expression where compiler A admits and compiler B rejects - that's evidence that they are different formal languages.
If I can find you ANY formal expression which behaves one way when compiled by implemnetation A and another way when compiled by implementation B - that is evidence that they are different formal languages.

That's precision! A difference that makes a difference.

The rest of what you said is not worth tackling.
wtf
Posts: 1178
Joined: Tue Sep 08, 2015 11:36 pm

Re: Mathematics is less precise than Programming

Post by wtf »

dbl post
Last edited by wtf on Sun Jul 11, 2021 8:47 pm, edited 1 time in total.
Skepdick
Posts: 14366
Joined: Fri Jun 14, 2019 11:16 am

Re: Mathematics is less precise than Programming

Post by Skepdick »

wtf wrote: Sun Jul 11, 2021 8:39 pm Your ignorance is beyond belief. You don't know what a compiler is. Incredible. Have a nice life. Regret interacting with you, won't do it again. To any readers of this thread, this guy has no idea what he's talking about.
Man there is irony. I know precisely what I am talking about because Programming is more precise than Mathematics.

And I know what a compiler is because I have implemented a bunch of self-compiling compilers.

On the other hand, you are holdin your dick in your hand when I ask you: What is Mathematics ABOUT exactly?
Last edited by Skepdick on Sun Jul 11, 2021 8:47 pm, edited 2 times in total.
wtf
Posts: 1178
Joined: Tue Sep 08, 2015 11:36 pm

Re: Mathematics is less precise than Programming

Post by wtf »

Skepdick wrote: Sun Jul 11, 2021 8:35 pm
No. I do not agree.
Your ignorance is beyond belief. You don't know what a compiler is. Incredible. You don't know what a kernel is in math, nor a homomorphism. You don't know what a language runtime does. You quote-stripped a paper you didn't understand to make a point the paper didn't express. You namedropped Dana Scott but when challenged could not even spell the guy's name, let alone give an account of his work. Have a nice life. Regret interacting with you, won't do it again. To any readers of this thread, this guy has no idea what he's talking about. Just a buzzword jock.
Skepdick
Posts: 14366
Joined: Fri Jun 14, 2019 11:16 am

Re: Mathematics is less precise than Programming

Post by Skepdick »

wtf wrote: Sun Jul 11, 2021 8:44 pm Your ignorance is beyond belief. You don't know what a compiler is. Incredible. You don't know what a kernel is in math, nor a homomorphism. You don't know what a language runtime does. You quote-stripped a paper you didn't understand to make a point that the paper didn't express. You namedropped Dana Scott but when challenged could not even spell the guy's name, let alone give an account of his work. Have a nice life. Regret interacting with you, won't do it again. To any readers of this thread, this guy has no idea what he's talking about. Just a buzzword jock.
That's a long way to backtrack on your stupid.

If two computable functions (and compilers are computable functions) produce different outputs for the same input that's empirical evidence that they are different functions.

If two runtimes produce different behaviour when executing the same executable that's empirical evidence that they are different runtimes.

Different implementations of "the same" specification do that. A LOT.

You can't answer the question "What is Mathematics ABOUT?" because Mathematics isn't about anything other than man-made constructions.
Skepdick
Posts: 14366
Joined: Fri Jun 14, 2019 11:16 am

Re: Mathematics is less precise than Programming

Post by Skepdick »

wtf wrote: Sun Jul 11, 2021 8:39 pm To any readers of this thread, this guy has no idea what he's talking about.
wtf wrote: Fri Feb 14, 2020 11:26 pm 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.
This idiot admits that his area of expertise doesn't concern itself with time, then acuses me that "I don't know what I am talking about".
It's a diversionary tactic precisely because Mathematics cannot speak about what happens to a formal language expression at COMPILE TIME and at RUNTIME.

https://en.wikipedia.org/wiki/Compile_time
https://en.wikipedia.org/wiki/Runtime_system

Of course, I sympathise - his religion is under attack. The cracks in the Church of Mathematics are beginning to show.
Post Reply