I've had a bit of a rough day so I am not on my best game choosing my words - if you pick up on any irritability/crankiness in my tone - it's not you....
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Of course. But the representation is not the number.
Yes exactly. A representation is a pointer to the abstract concept it points to.
So it seems to me that we are on the same page then, the symbol 0 is a representation. It's a pointer.
Hence my question: Where is the referent?
I am sure you will tell me something like... "In the universe of Mathematical abstractions".... but that's not good enough.
Succ(0) is in that universe.
Pred(Succ(0)) in that universe.
In which universe is Pred(0) ?
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
It's not only in math that we use abstractions as perfected examples of the imperfect things of our world, right? To be human is to abstract.
I agree. But the position I am coming from is abstracting mathematics itself!
Meta-logic. N-th order functions. I am sure you have a "standard definition" for it that I don't know.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Of course TMs can represent numbers. I don't see what your problem is. In computer memory if I have an address that points to a bit pattern that represents a number, so what? I hope this isn't confusing you in any way. What is your concern with a chain of a dozen pointers that end up pointing to a memory location that holds a bit pattern that represents a number? So what?
My concern is
lazy evaluation
You've accused me of being "too strict" on a number of occasions, but strictness and laziness are on a sliding scale
just design choices in a programming language. In so far as I can tell you default to max(laziness) . A key flaw of lazy languages (if we are to say Mathematics is lazy) is that "Space complexity of non-strict programs is difficult to understand and predict." So you haven't so much ignored complexity theory, you have just traded time complexity for
space complexity. Memory.
Suppose you have two functions:
f(x) = 0
g(x) = 0
The suppose you have some 2nd order function:
y(f(x)) = 10
y(g(x)) = 1
Do you still insist that f(x) is "equal" to g(x)? It's equal by value - sure, but there's clearly a measurement to be made (information to be obtained) such that they can be differentiated.
We have such 2nd order function in the real world. time(). Why is that function "not allowed" in the Mathematical kingdom?
In "software engineering" we have names for such things - leaky abstractions. ALL abstractions leak. If they didn't - we wouldn't be able to measure anything.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
This remark doesn't make any sense at all. What do countable and uncountable infinities have to do with anything? Except to note that TMs can only represent at most countably many numbers. Most real numbers are not computable.
Any mathematical function you give me, I am going to wrap it in my time() function.
I will measure how long it takes to return a value. Is time() a computable by your definition?
By mine: sometimes.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
But that doesn't invalidate set theory. It's two different things.
The question I am leading to is simply: What would invalidate set theory?
Is the construction of some N-th order system in which set theory's axioms explode sufficient?
Is the construction of some N-th order system in which the axioms of 1st order logic explode sufficient to invalidate 1st order logic?
We are talking abstraction here, right? How abstract is too abstract an explosion?
To me sets are just arrays... you know. Memory. read(), write() - side effects. Tape on a Turing Machine.
If you want to read the 1st cell on the tape you have to do 1 MHR (Move-Head-Right) operation.
If you want to read the Nth cell you have to do N MRH operations.
CPU cycles - time. All the imperatives.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
But of course they are actually no such thing, even if they're called that. All physical machines are limited by time, space, and energy. So we can never arbitrarily represent all the real numbers, or even, in the age of the universe, all the positive integers. Computers are finite.
All arbitrary precision means is that you can have as many decimal places of accuracy as you like, subject to the physical limitations of the computer. You can NOT approximate every real number for the simple reason that your computer is finite. Again, surely you know that.
We need to unpack this word - "representation", because you seem to be defending the position I've always held.
Of course we can
represent ALL the positive integers. Here - I have represented them.
Code: Select all
def all_integers(start=0):
print(start)
all_integers(start + 1)
all_integers()
We can represent anything. f(x) = y. Oracle machine!
Declaratively - this is true. It's not true imperatively/constructively.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
To express the entire decimal representation of pi? You need all of them.
Ok well, I gave you a function which generates all the integers, so it seems to me the solution can be represented:
generate_pi(all_integers())
What am I missing?
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
But why are you going on about this? It's perfectly clear that we can crank out as many digits of pi as we want,
ignoring resource constraints. That's Turing's definition of computability.
Because it's perfectly clear that f(x) = y can represent ANYTHING.
And so the question is not representation, the question is evaluation.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Revelations? Talking points? What? Tell me.
Godel! I can recurse as deep as it's needed to be recursed in order to explode any grammar/representation system. Find any equivocation.
Trivial to construct such a system in Lambda calculus,. Say I prescribe:
for all numbers x, y: x != y.
That is - I insist that ALL symbols have unique identities. You know - like numbers!
So you have no formal alphabet left for variables. Then any axiomatic mention of (x=y) explodes by default.
In such a system Peano explodes. Everything explodes if you axiomatically choose completeness.
That's what Godel said.
So if everything explodes by construction, how and why did you choose consistency?
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
No. Turing-computable is Turing computable, and Skepdick-computable is Skepdick-computable. You do yourself no favors by insisting that everyone else in the entire world is using the wrong definition.
No! What I am insisting on is that YOU don't know if you are using the right definition or not. But it doesn't matter either.
According to your definition, can you classify this function for me: time(all_integers())
time() is a function. It's represented so you can treat it as abstract and upload it to the "Abstract Mathematical Universe" where all of your other abstractions exist.
Is that wtf-computable or not computable?
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
You can call coffee tea, but if you ask for tea at the diner they're going to give you coffee. You can't start arguing with them that YOU use the word tea to mean coffee.
False analogy. I am not asking you to give me anything - I am asking you to explain how you know whether you've accidentally violated one of your axioms or not - even unintentionally. When you make an error in reality - you know because feedback loops.
Where's the feedback loop in Mathematics?
Paradox of rule-following.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Even quantum computing has the SAME power as classical computation. It runs more efficiently on some problems (as far as we know, but not proven); but in terms of computability, it's the same.
Wow!!!! That is called the Turing tarpit.
https://en.wikipedia.org/wiki/Turing_tarpit
If you wrap ANY computable function in the 2nd order time() function, they are no longer "the same".
Linear speedup theorem
And if you take the expressive power of your grammar into account. then everything about the imperative paradigm matters!
So we are back at representation/grammar/richness of vocabularies.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Why are you calling coffee, tea? Computable has a standard meaning and by insisting that YOUR definition is right any the standard one is wrong, you embarrass yourself. A definition can't be wrong. If you want to talk about the limits of practical computation, call it "practically computable" or Skepdick-computable and we can have a conversation. Otherwise you're tedious.
I have told you that I don't have a definition. I have also told you that my definitions keep changing. And in the real world - that's perfectly OK!
We have English, metaphors, Google and a whole swathe of concepts in our heads. Surely we can arrive at definitions pretty rapidly - it's really not a big deal.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Namedropping some philosophical shit while
acting like a crank is a waste of time.
But Mathematicians don't care about time! That's what you said.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
As long as you insist on changing a common definition and then arguing with people about it, you're a crank. Your basic ideas are fine but the way you come across is very cranky.
As long as you insist that definitions matter in practice - you are an academic. You come across as very inflexible when it comes to languages/grammars.
ESPECIALLY the grammar of Mathematics.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Floats represent reals in the sense that all floats are rational numbers. That's as far as it goes. And you can't represent ALL rationals, because your computing equipment has bounded resources.
Again. Define "represent".
let f(x) be the function which produces the set of all <insert whatever abstract mathematical object you want here>
And then?
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
There are real numbers you can NOT approximate with floating point arithmetic running on physical hardware. It would be helpful for you to understand this point.
Let f(x) be the generator function for ALL real numbers that cannot be represented on a finite classical computer.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
As long as you don't want to do physics or biology, I suppose we don't care. How much civilization are you willing to abandon to stick to your position, whatever it is? Abstractions DO exist in the world. Justice, law, traffic lights, property. We could not run our lives without abstractions. Math consists of abstractions that often do have impact in our lives.
Obviously abstractions are useful. Nobody is denying that. What I am wondering is: how far into the clouds is abstract mathematics willing to go into before they notice their feet are no longer touching the ground?"
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Very odd response. Computer programming is not an example of symbolic computation? You would deny this? Either by deliberately mis-parsing it, or by stating an obvious falsehood? You say programming ISN"T symbolic computation? Wow. News to me.
Programming is Logic. A pretty high order logic at that.
Some of Mathematics isn't Logic. They parted ways somewhere around "first order logic with equality".
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
You "keep telling me" things that are perfectly obvious. Why do you do that?
I don't know what is and "isn't obvious" to you. And I don't know the impedance mismatch between us is.
A number of times in the interaction you've gone "Oh!", that kinda signals to me that I've told you something new.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Of course. All you're doing in all of this is talking about the different between computer science and software engineering. Why do you think this is news to anyone?
And I am telling you that there is no difference. In as much as any community has chosen their foundations/definitions/axioms - they are doing engineering.
We'll can park the discussion on how any abstract discipline gets to call itself a "science" for another time...
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Then we'll all be as smart as you? You're being a crank again. You're right and everyone else is wrong.
Then I'll be the crank. My ego isn't on the line here. Nor my reputation or my future. I am rich enough.
And constructive math is fun.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Ok. What of it?
Feet off the ground...
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Oh I see. So what?
Everything declarative reduces to imperative by compilation.
Relational algebra.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Besides, Skepdick-computability keeps changing.
Mathematical "=" keeps changing too. It's just language - for communicating ideas. Is why we can re-define it.
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
It's a function of how fast our hardware is and how clever our algorithms are. Whereas Turing-computability is eternal. It doesn't change over time.
Yeah.... See. That's bullshit. If the "abstract mathematical universe" is immutable (e.g eternal and unchangeable) no information could ever leave it under observation. No Mathematician could ever learn anything about Mathematics. You wouldn't even have a read() function.
Mutation implies memory. Variables. You got those, right? x and y? Those same things I took away from from you with stricter axioms.
So clearly you want SOME mutability even if you keep telling yourself the "eternal and unchanging" story. Maybe it's just the medium you use to do mathematics with? Pen and paper - eternal and unchanging.
Software is dynamic. Things look differently when you "animate" then in spacetime then they look abstractly.
In so far as the mind of a Mathematician can be talked about in terms of "software engineering" all the limits/distinctions that we have practically identified applies to your head.
Side effects? Got those! Variables! Why do you feign immutability?
Skepdick wrote: ↑Tue Feb 11, 2020 10:52 pm
You don't care for computer science, but you also have some kind of psychological block on believing in it or using its standard terminology.
I am using computer science. What does it mean for me "to believe" or "not believe" in it?
wtf wrote: ↑Wed Feb 12, 2020 3:30 am
Meaning what? I can't connect your personal philosophy with your technical points.
Meaning: how many universes are there?
Your mind: 1
The universe of the noumena: 2
Is the "abstract mathematical universe" one of the two above or is it a 3rd universe?
Full circle.
is the function Previous(0) computable?
If not - why not.
if yes - what "abstract mathematical object" does it produce?
In computer science - the "abstract mathematical object" is called an unhandled exception. New Information.
https://en.wikipedia.org/wiki/Exception_handling
This is the usual control flow stuff/engineering stuff.
But I am curious. While I consider all of those design patterns to be abstract logical objects (because they can be expressed in Logic...), do you consider them to be "abstract mathematical objects" or do you gave some exclusion criterion?
Like, for example - what is the Mathematical equivalent to
call with continuation? What is the mathematical equivalent to synchronous and asynchronous functions?