Aristotle had no problem recognizing the laws as metaphysical. Theology has nothing to do with it, unless you recognize the laws as grounded in a necessary mind.
That’s a different argument. I’m defending the OP which acknowledged the metaphysical assumptions that you seem to prefer to pretend don’t exist.
Of course many people are happy with that. Our ambiguous life in time is “unreal.” The life we live, the uncertainty we suffer, is an “illusion.”
The “end of infinity” is “obviously latently present now” if unfortunately obscured by epistemic clouds. Such a view is harmless and common. I don’t call it “false” but just anti-empirical. For some, that’s the point.
I agree and indicated in the OP that we can solidify our belief relatively objectively that — in many but not all cases — this or that machine reliably halts or reliably loops in this or that input.
Curiously the mathematical platonist might overlook that it’s only the tiniest tiniest programs that we have ever peeked at, against the stormy “completed infinity” of all possible machines. If “average” made sense here, we might say that the “average” machine is indeterminate.
In practical life we naturally avoid programs that we don’t understand. Yet, even for a fuzzy finitist, we don’t understand most programs.
I agree with you on this point. The belief that the program “really actually halts or not” despite the indeterminateness of the lived situation is conspicuously metaphysical.
To me there’s a tacit assumption of “immaterial meaning.” A program is “really a ghost in Heaven.” For me a program is more like a blurry pragmatic equivalence class of actual “material” computations. I understand “materiality” here in terms of sensory-quality and the cost of computation.
I think it’s more honest to use the word “real” for the world we live in pre-theoretically. So I don’t pretend to “mirror” an “immaterial true reality” here.
I just prefer a philosophy of math that places it in the world we live and die in and care about.
We all use words differently, but a Turing machine is a pretty hard core idealization. It’s like a unicorn. No one has ever or can ever see one. (I allow of course that we perceive the sign “Turing machine” in our environment.) Research into Turing machines is done on finite computers that are more like DFAs with the size of their input strings restricted.
It’s obviously no great practical matter. But I see us as primates dealing with an environment. We create techniques for handling signs which are empirical objects that help us with this. The sign \infty has some nice uses. I like the notation f(\infty) for the limit of a convergent sequence. Define f(n) = \frac{1}{n}. Then f(\infty) = 0. It’s just a cute way to denote limits established as valid via \epsilon / \delta proofs, etc. But I enjoy it as frankly an idealization. It gets its non-metaphysical “meaning” from its contribution to the real-world power of the method as a whole.
Some people love what is distant and obscure and mysterious. They want “uncomputable sets.” I think the lowly fractions deserve more love. We are lost without them, unable to measure “continuous” features of our world — approximately of course.
Any metaphysical claims are in addition to the mathematics, and not entailed by it. The theorem is: no algorithm decides halting. This entails nothing about eternity, immaterial meaning, necessary minds, or the unreality of time. Even less so Rob’s Holy Trinity.
I think we get a minimum of metaphysicks precisely through programs that we all trust to halt. Our mathematical predicates are especially semantically secure this way.
Precisely because we can’t “objectively” determine the predicate “halts or not” in the general case, this predicate is on the fuzzy edge of sense, in the judgment of some.
I reacted to your previous expression.
The situation — seems to me — does not remain binary. In general, the situation is indeterminate. You exclude the indeterminate state. Yet above you suggest that there is nothing metaphysical going on.
Great mathematicians disagreed on this issue, which is indeed about “the reality of time” versus “eternity.” It can also be phrased in terms of completed versus potential infinity.
Whether a particular informal proof “really says something” about the world is a situated judgment that depends on attitudes about time and infinity. Anyone can retreat to formalism or just not give a damn. That’s fine.
But for some this issue is fun and obviously connected to the “platomagical mysticism” associated with some interpretations of scientific models. This phrase “platomagical mysticism” expresses an attitude, a preference. Some like math more concrete. Others love wandering in the topless tower of stacked uncountable completed infinite sets. Both preferences are harmless.
The primary life of math is in the world, ruggedly finite.
Thanks, but I am not familiar with Markov process coding. It would have been easier to get some ideas if it were in C, Pascal or Java even Python. But it’s ok.
I feel HALT can be improvised by coding within the subroutines in the programs, if needed. HALT can be controlled via INPUT in the coding. Not sure why let or allow HALT to go on looping forever.
If we can look at some real life coding with some programming language, we could analyse more clearly. Have you done any high level computer programming with such as C, PASCAL, JAVA or Python yourself?
Lots ! I first learned BASIC about 40 years ago. My favorite language is probably C, but I use Python for strings and Julia to do math with pure fractions. I have also used Rust, Go, Swift, JavaScript, R, and a few others I am probably forgetting. I would like to get around to learning Zig.
I have written Turing machine emulators, Markov machine emulators, other weird my own machine emulators, discrete and continuous cellular automata visualizers, neural network visualizers, 2D “text-graphics” video games, and other stuff I’m forgetting. Have you seen my YouTube channel ? I make the graphics with code, mostly with C. I also use video editing software for layers and effects.
More recently I’ve coded up various symmetric ciphers that use cellular automata and instantaneous codes, etc. These are works of art that also actually work.
I am usually obsessed with philosophy, but sometimes I switch to either the literary mode or the math/programming mode.
In practical terms, you might think of a bug in the program.
In theoretical terms, you should imagine all possible programs, listed one by one. Now you can ask if there is a way to automate checking whether each random program falls into a infinite loop or not.
Turing’s point ( which he proved informally and convincingly ) is that there is no single always-halting bug free program that can do this for us. There is no single “perfectly objective method” for deciding if any given particular program falls into a loop.
Wow, cool. You are a computer wiz from the early era of the digital revolution history. I have done some business database programming using MSSQL, VB, COBOL and C. PASCAL and C was our learning language in the univ. MSc degree for the projects.
Philosophy, computer programming and AI are all linked in the core for their operational aspects, so it is natural things to do to get involved in these suppose. The future of these subjects look ever exciting for where they are going, and what they can achieve.
We don’t have a general method that tells us what we should rationally expect. The program is in general a ? that might crystallize into a 1 or 0.
I accept that that is idealization. But Turing machines a theoretical unicorns anyway.
I still grant your idealization in a more realistic context. Let’s say we have a program that determines whether n is prime for 2 \le n \le 10000. This program is something like the equivalence in terms of role of many actual (“physical”) devices that “do essentially the same thing.” We can do this with finite memory. The input size is finite. The output is one bit.
All the machines “should” do the same thing, but only “essentially.” Their outputs will be different events at different times and different places, constructed perhaps with different materials. We enact the numerical output — the “number” — as the “synthesis” of role-equivalent numerals. A “number” is a “role” in the social world.
The independence of this role from any particular empirical numeral encourages the vague postulation of the independence of this role from all possible (merely) empirical numerals. A dream of form without quality, shape without hue.
In real life programming, you would work hard finding and getting rid of any possible bugs for smooth operation of the programs.
I am not sure on Turning machine. But it sounds like it needs one line of code prompting for INPUT for HALTing when it is required. Not sure which programming language Turing machine operates under.
So the theorists are well aware that it is easy to create programs that halt. It is also create programs that loop forever. But as programs get complicated, we can’t methodically decide. There may be a “HALT” instruction, but we don’t know with all the conditional branching and “good non-infinite loops” whether that instruction will be executed.
I think that you’d really have to put some time into the theory. It’s weird stuff, related to but different from practical coding.
But a language like C is equivalent to a Turing machine in the way that matters. So you can safely think of issue in terms of whether a giant C program will terminate or not.
Of course I am suggesting that “terminate or not” is actually a slippery predicate. Does it make sense to say that it will either terminate or not ? We know that actual computations are finite. We can determine if they loop in theory, because they have a finite number of states and advance deterministically.
So you have to imagine no limit on program size or on memory. That’s the catch. The program can keep stuffing more and more bits in memory. We can’t just keep our eyes peeled for a repetition.
Yeah, good chance to read and learn more about Turing machine. I will do that before next postings. But nice to meet you j_j (shaking hands). Feel like meeting an old friend from work.
Sounds great ! If you find it fascinating, I can dig up some emulators. Though you will probably want to code one up yourself. It’s pretty easy, because the models are intentionally very simple.
I was lucky to start as a kid on the Apple IIe. My dad was an early adopter. We had Tandy computers from Radio Shak. This is before the internet, but you could get “share ware.” It was a magical time. The graphics were terrible, but we didn’t know better or care.
Very cool to hear about your experience ! You remind me that Pascal was one of my favorite early languages. I made my first relatively big programs in it. I mean they were ambitious for me. It’s a beautiful language. I also did VB in school, also QBasic. Hell, I even learned some COBOL in school, though I can’t say I loved all that boilerplate stuff. I played with SQL a little.
I forget to mention FORTH. I haven’t learned it, but it’s on my list as a weird and beautiful and unique language. I only dabbled. It is stack-oriented. Wasm is similar. I did a little programming in that and a little in assembly on the M1 chip. Assembly is pretty close to the level of basic models of computation. Register machines are simplified assembly code with an idealized infinite number of registers. You might like them more than Turing machines because they are more like ordinary coding.
I appreciate the clarity. You’re right that treating “the program really halts or not” as a settled fact, even when uncomputable, is a metaphysical commitment. I also respect your preference for locating mathematics in the lived, sensory, cost-laden world we actually inhabit.
That preference, though, is itself a metaphysical stance. Calling a program a “blurry pragmatic equivalence class of material computations” still requires the capacity to identify what counts as the same computation, distinguish it from others, and exclude what does not belong.
Those operations are not generated by sensory quality or computational cost; they are the conditions that make any such equivalence class possible in the first place.
You’re free to disregard the further implications and stay within the pragmatic frame. But it but remind me of Feyman’s quip, “shut up and calculate.”
I’m noting that the frame does not escape the structure it presupposes. The world we inhabit is not something we have constrained. We do not know what consciousness, gravity, and energy are.
The world may be pre-theoretical to US, but the view that we are the only observers begs the metaphysical question.
I find it unsettling that so many people engaging in ‘philosophy’ (a presumably free pursuit of objectivity) prefer to take the Feynman position. We want to think and discover, but keep certain doors locked.
The 3 laws of thought do not demand that and remain unaccounted for. They in fact imply that thought itself is prior and fundamental.