6 ms·
> Explicit proofs (e.g., in math and CS) are more precise but longer, harder to check, and harder to debug. Sorry, I've done a LOT in both (1) proofs in pure a
by graycat 5y ago
> Explicit proofs (e.g., in math and CS) are more precise but longer, harder to check, and harder to debug.
Sorry, I've done a LOT in both (1) proofs in pure and applied math and (2) algorithms and software, and your statement is strongly wrong and backwards -- the math is much easier than the computing.
E.g., my Ph.D. dissertation in applied math had both proofs and the results of some software. There was no problem getting errors out of the proofs.
Proofs are really easy to check. I've done thousands of proofs, and I'm not sure I've ever had a mistake in one.
I've written perhaps a million lines of software, and over 50% of the programs had bugs until I found and fixed them.
One of the real advantages, powers, of math is how easy it is to check proofs.
Commonly it is much easier to have a correct and relatively easy to read proof of a math theorem than it is to have a correct and relatively easy to read proof of an algorithm where it is easy to see that the proof and the algorithm are as claimed. Even for just a simple, old algorithm such as Quicksort, it is not easy to prove it is correct; even the notation is not easy. In computing, proofs of correctness commonly have to be in the framework of mathematical induction, and there some notation is needed typically not seen otherwise for the algorithm.
Uh, mathematical induction is to show something is true for all the natural numbers, and the technique basically returns to one of the good definitions of the natural numbers.
Beyond just algorithms, in computing proofs of correctness are so difficult that we essentially give up: The reason is, the assumptions are too difficult to list. If you will, a common problem is "too many edge cases".
It is true that there is something to learn about how to write proofs.
Pure math has a standard that in precision puts it far above essentially all other writing: Some pictures or intuitive explanations may be tolerated but they are not necessary and mostly not wanted. Also, there is no role for "try it and find out", for "doing some examples to see how it goes", some manual manipulation like do when when learning to use socket wrenches or a chef's knife. An old joke was, how complicated a math description would be for how to put on a suit coat.
E.g., a missed definition sticks out worse than a sore thumb. E.g., it should be clear, maybe even mentioned, in the proof, for each of the assumptions, where it got used.
So, the math writing has to give really solid results just from the words and math notation. Bluntly, that is unique in writing.
For accomplishing good, new things, I'm strongly on the side of math with proofs.
The core of my startup is an example. There are no heuristics there, just some math with proofs. Without the math, there would be only guessing and heuristics on how to manipulate the input data to give the desired outputs, and the chances of any heuristics having stumbled onto the same manipulations as provided by the math are zip, zilch, and zero.
E.g., some of the math is close to some math commonly considered, but my math fixes some essentially universal mistakes, really misunderstandings, that have become standard. That is, the common understanding is that there is a fundamental problem there, but that is not true, and my math, with proofs, shows that. Without the math and proofs, I would not have thought of the data manipulations or, if I did, have confidence in their correctness or power.
Sorry, guys: In my opinion, math is the main tool for the most important progress in applying computing to help civilization.
- pyinstallwoes 5y agoWhat is _computing_? What is _math_? I am genuinely interested in your response. From what I have gathered, computing is actually ill-defined, almost as hand-wavy as "the consciousness problem." Mathematics is a set of mental models and or formal languages to reason about quantities or at least "things." Is one way I look at it, would you agree, have an additional perspective? Computation is.... ? I've come to some simple definitions of computation trying to find an axiomatic root, I'll share if interested.
- mbrodersen 5y agoA computation is basically anything that follows an algorithm. While Math is usually a definition + proofs derived from the definition. I personally think of Constructive Math as being Math as computation. But I am not an expert so …
- pyinstallwoes 5y agoWhat’s the difference between a process, an algorithm, a logic and a system? With your definition wouldn’t everything in the observable universe be an algorithm? Not that there isn’t utility in thinking that way but I feel like the definition should be more specific. My definition is: computation is the transformation of information into meaning. (Simply) Or more expanded… > the transformation of energy into meaning == consciousness > the transformation of energy into information == computation > the transformation of energy == physics Something I’ve been working with in my research and nomenclature.
- mbrodersen 5y agoI do believe that the universe is one massive computation. I highly recommend reading “Constructor Theory of Information”: https://royalsocietypublishing.org/doi/10.1098/rspa.2014.0540 https://royalsocietypublishing.org/doi/10.1098/rspa.2014.054...
- pyinstallwoes 5y ago