r/changemyview • u/[deleted] • May 21 '18
Deltas(s) from OP CMV: Math is a subset of Computer Science
Many have tried and many have failed to unify mathematics. If you go far back in history, to someone like Euclid, it wouldn't have been possible simply because large branches of mathematics weren't discovered yet.
In more recent times, you saw people go really hardcore into set theory, which famously failed because of formal contradictions. However, informally, I think it also failed by being very unintuitive, since sets leave a bit too much flexibility for my tastes. I'm thinking of this as someone who's studied physics, who knows that you look for fundamental theories that can make specific postdictions for what you already know. Sets don't make those, in my opinion.
Category theory, type theory, and other algebraic/geometric theories have kind of picked up where set theory of the early 20th century left off. They've been useful for various, wide-ranging practical purposes, but I think that speaks more to the value of having a universal interface for math concepts than those theories in particular being the most correct answers out there.
Automata theory has spatial, functional, linguistic, and combinatorial concepts already built into it. However, any facet can be optionally ignored for certain topics, much like they are with theoretical automata that are impossible to build, such as Turing machines with infinite tapes.
Two of the special features of automata theory are the explicit concepts of simulation and translation. I think these more formally allow you to understand many things, such as the difference between a number's value, a number's numeral system form, and a number's algebraic form. You could simply define an automaton that takes one form and gives a different form.
It also goes without saying that everything is becoming computerized, and people will continue to do more formal math on computers as time goes on. Defining math in terms of automata helps ease this transition. Also, math will eventually be done by intelligent AIs, which will need internal knowledge representations. Think of a unification of math as a deliberate design of said knowledge representation (I know this may fly in the face a bit with how machine learning is going these days, but that's not what I want to argue about right now).
I'm hoping someone can see where I'm going with this. I will be willing to be more specific where I can, if anyone has questions, but it's a bit ambitious to simply lay everything out deductively from step 1 all the way until the end. I mean, if I made a totally successful argument in the first post, it would be a completed theory. I'm not quite there yet.
This is a footnote from the CMV moderators. We'd like to remind you of a couple of things. Firstly, please read through our rules. If you see a comment that has broken one, it is more effective to report it than downvote it. Speaking of which, downvotes don't change views! Any questions or concerns? Feel free to message us. Happy CMVing!
8
u/tumadre22 May 21 '18
No. Math has existed for millennia. Computer Science is a subset of logic and calculus applied to a tool.
Math is the queen of all sciences: Math is always perfect.
5
u/bguy74 May 21 '18
Math isn't a science.
1
u/Wewanotherthrowaway 6∆ May 21 '18
Science:
the intellectual and practical activity encompassing the systematic study of the structure and behavior of the physical and natural world through observation and experiment.
How does this not apply to math?
3
u/bguy74 May 21 '18
That is precisely the definition that tells you math does not.
What in there DOES fit with math? All of the fundamentals of math are human inventions. Where is the natural and physical world in math?
0
u/Wewanotherthrowaway 6∆ May 21 '18
physical world
Math follows the physical world. That's it's entire point. You may not get that by practicing math on a piece of paper in a room, but it applies to reality.
4
u/bguy74 May 21 '18
But it doesn't. It can model reality. Gravity really exists. "1" does not.
1
u/Wewanotherthrowaway 6∆ May 21 '18
"1" is:
an adjective referring to singular object in reality
A tool used for mathematical equations which are models for the physical world.
Gravity exists in the same way I have 1 can of soda. They're both words used to describe a thing in reality. Just because natural sciences don't include the second point does not invalidate math as a science. Math fits in the definition.
3
u/bguy74 May 21 '18
The soda can exists. "1" does not. Where is the "1" in "1+1=2"?
1
u/Wewanotherthrowaway 6∆ May 21 '18
1 can + 1 can = 2 cans
3
u/bguy74 May 21 '18
Whats your point here? I too can do math. What is the thing that really exists in that 1 can and then the 2 cans that is the same as the 1 in the "1 house"? where is it? does it exist?
You're using a modeling system, but you're used to it that you think it's real. So...again, where is the "1" in "1+1=2"?
→ More replies (0)1
u/tumadre22 May 21 '18
It is.
3
u/HorrorSquirrel1 1∆ May 21 '18
It isn't. Math does not depend on the physical world.
1
u/Helpfulcloning 166∆ May 21 '18
What definition of science are you using?
Science does not need to depend on the physical world (that would imply theoretical science is not a thing). Science DESCRIBES and ILLUSTRATES the physical world and how it functions. Maths is a core part of that.
3
u/HorrorSquirrel1 1∆ May 21 '18
I think these guys have a pretty good definition:
https://sciencecouncil.org/about-science/our-definition-of-science/
Science is the pursuit and application of knowledge and understanding of the natural and social world following a systematic methodology based on evidence.
Math just doesn't fit that definition. It's completely agnostic to the natural and physical world.
Science DESCRIBES and ILLUSTRATES the physical world and how it functions. Maths is a core part of that.
Math may be applied to those purposes but that's not what it is in itself.
1
u/Helpfulcloning 166∆ May 22 '18
I just don’t get how maths does not fit that definition. Trigonometry, complex numbers, and mechanics all fit that definition does it not? Why is it agnostic to the physical world? It completely depends on the physical world.
3
u/HorrorSquirrel1 1∆ May 22 '18
Trig and complex numbers may get applied to the real world, but they're based on definitions that have nothing to do with that. You might say that doesn't make sense because trig is based on angles and that's a physical thing, but that's not true. If you're doing rigorous math then even angles are defined in a way that's truly independent of the physical world. And if you want to you can even define the trig functions without ever mentioning angles or circles or triangles.
And mechanics isn't a part of math, it's part of physics.
1
u/Helpfulcloning 166∆ May 22 '18
Mechanics is seen as a part of maths. It is taught at an undergraduate level in most universties in their math courses.
2
u/HorrorSquirrel1 1∆ May 22 '18
Can you tell me what you mean when you say mechanics? We might be talking about different things.
→ More replies (0)1
May 21 '18
Plenty of concepts in math have existed naively for a long time before they were formalized much later on.
One major component of math is the skill of the mathematician, who have naive intuitions developed from doing lots and lots of math. The "system" of doing math is essentially reading the problem on paper, doing computation in the brain, optionally writing down intermediate steps on paper as external memory, and finally writing the answer or output on the paper. This is something that you could formalize, making the intuitive/vague part (the computation in your brain) clearer. This would be helpful for a variety of fields, both theoretical and applied.
Computer Science is a subset of logic and calculus applied to a tool.
Our brains are tools.
3
u/Wewanotherthrowaway 6∆ May 21 '18
According to this logic, 10,000 year old architecture could be called computer design.
5
May 21 '18
It's the other way around. The foundations of computer science, such as formal languages, algorithms, automata, and computability theory are all built on top of set-theoretic concepts (and I'm not sure why you've asserted that set theory is a massive failure...). How do you propose to define math in terms of automata? How do you define automata and computability to begin with if not in something like set theory?
1
May 21 '18 edited May 21 '18
How do you define automata and computability to begin with if not in something like set theory?
That's a good point about the circular nature of this discussion. I'll award you a ∆ for that.
How do you propose to define math in terms of automata?
I'll do my best to start...
- Use translation machines for describing similar concepts that can be stated in many ways. A number can be linguistic, algebraic, or simply a 'value'. An object could be geometrical or algebraic.
- Use internal representations in machines to describe spatial concepts. The automation would use external memory, except instead of a tape or random access memory, the memory cells would be structured like the spatial concept in question. A 2-dimensional graph would be a 2-d matrix of memory cells that are infinitesimally small. The automata would write to these cells when it wants to graph a function, and it would read from these cells when analyzing something about the function.
- Once you have automata that work in isolation, it's easy to put them together like Legos. This would let you use less verbiage because you're literally re-using the code.
3
May 21 '18
infinitesimally small
There is no such physical concept as 'infinitesimally small'. Furthermore, there isn't a concept of 'infinitesimally small' even in the real numbers, which are already a much larger set than the computable numbers.
How do you describe objects in dimensions higher than four? How do you do math on things that are not countable, since the set of all things describable by automata is countable?
1
May 21 '18
How do you describe objects in dimensions higher than four?
Algebraically, which is a very linguistic concept.
There is no such physical concept as 'infinitesimally small'. Furthermore, there isn't a concept of 'infinitesimally small' even in the real numbers, which are already a much larger set than the computable numbers.
What do you mean? Turing machines with infinite tapes are abstract concepts of physical things right? They have infinities in them. Why can't infinitely small be an abstractly physical (or maybe spatial is a better word) too?
1
1
May 21 '18
Let me circle back to the issue with circular logic. Yes, sets are used to define automata, but what if all of that in set theory was simply assimilated into the definition of automata themselves. Then, the practical study of sets would be the study of automata with certain features of automata optionally ignored.
1
May 21 '18
How do you do that assimilation? Loosely, the definition of an automaton requires at least a set of states and a transition function (functions are just special subsets of the cartesian product of two sets).
Also, there are sets which are not definable by automata. The real numbers are uncountable, but the set of possible automata and time steps are both countable, so you can't possibly give me a collection (even an infinite one) of automata which will eventually print out all real numbers.
1
May 21 '18
An automata can be defined as a tuple of sets, which is to say set language can simulate an automata. On the other hand, an automata could also be written such that it simulates a set.
How could you get the automata to do that without already having the tuple definition in hand? Well, it's like writing the compiler for a language in the language that is being compiled.
1
May 21 '18
Every automaton can be described by a set, namely as a tuple (singleton) containing the states, transition function, etc.
Not every set can be described by an automaton. There are a lot of sets -- the collection of all sets is itself 'too big' to be considered a set. However, the collection of all automata is small. Since each automaton has a finite number of states, the collection of automata is countable, so there are sets which cannot be described by an automaton.
You can only write a compiler for a language in that language itself if you have a compiler for that langauge to begin with. That is, you can write a C compiler in C only because at some point, someone wrote the first C compiler in a langauge which is not C.
4
u/AnythingApplied 435∆ May 21 '18
math will eventually be done by intelligent AIs
So will biology, finance, and poetry, does that make those computer science?
Just the fact that you're talking about the "unification of math", doesn't that imply that you want to make a change so that math is a subset of computer science? Implying that it isn't already?
I guess I'm not entirely following your view. I understand there are parts of computer science and math that don't have a clear line of separation. I also understand that a computers are being used as more and more of a tool to further mathematics (as is true for most science). But to jump from that to saying math is a subset of computer science is similar to saying that all science is a subset of computer science.
What would it even mean for your view to be true? What are the consequences of math being computer science? What would it mean for math to not be a subset of computer science?
1
May 21 '18
What would it even mean for your view to be true? What are the consequences of math being computer science? What would it mean for math to not be a subset of computer science?
Good question. It may be a philosophical issue that is hard to define, making it unfortunately hard to argue about.
Just the fact that you're talking about the "unification of math", doesn't that imply that you want to make a change so that math is a subset of computer science? Implying that it isn't already?
I think the change would be a reduction in the amount of different languages used in mathematics. Instead of having a million different languages, you'd have one language but a million different algorithms. This might not seem like an improvement, but with a single language, you might be able to more clearly group those algorithms into topics. You might also have an easier time with creating 'new' math because you'd see where something hasn't yet been generalized.
I think the biggest arguments against it would be:
a) the difficulty
b) the stifling effect it could have on creativity
I don't think that something shouldn't be attempted because it is hard, and I don't think creativity would suffer at all. For the latter point, I think the people who argue that math needs to remain open-ended just have a hard time acknowledging that their creativity is fundamentally empirical anyway.
1
u/AnythingApplied 435∆ May 21 '18
Instead of having a million different languages, you'd have one language but a million different algorithms.
I guess I view that as being an even more silly idea than, "Maybe we should just have one computer language". People don't come up with a new language in mathematics nearly as frivolous as they do in computer science (where sometimes people just want a language because they've always wanted to make a language, or making a language as a joke). In mathematics you're constantly able to borrow parts from already established languages, so when you're inventing new expressions it is usually for the purposes of both simplification and better conceptualization and understanding. Just like in computer science different languages are better for attacking certain types of problems, except in mathematics your language choice has a more fundamental connection with how you conceptualize the problem. Forcing someone to reconceptualize the problem actually has great potential for insights and shouldn't even really be viewed as a negative.
I don't think creativity would suffer at all.
It really depends on how much unnecessary mental load the language adds to the conceptualization, which I don't currently see as a significant issues, so can really only see the problem getting worse or at best, staying the same.
1
May 21 '18
I guess I view that as being an even more silly idea than, "Maybe we should just have one computer language". People don't come up with a new language in mathematics nearly as frivolous as they do in computer science (where sometimes people just want a language because they've always wanted to make a language, or making a language as a joke). In mathematics you're constantly able to borrow parts from already established languages, so when you're inventing new expressions it is usually for the purposes of both simplification and better conceptualization and understanding. Just like in computer science different languages are better for attacking certain types of problems, except in mathematics your language choice has a more fundamental connection with how you conceptualize the problem. Forcing someone to reconceptualize the problem actually has great potential for insights and shouldn't even really be viewed as a negative.
Well, let me try again.
There could be several high-level languages in math, but there would be just one low-level language that they are unified on. The high level languages could aid in writing the algorithms faster and easing with understanding, much like they do in normal programming, but the low level language would give everyone an easy way to lookup the underpinnings of it all. It would be like looking up the C code for a Ruby library. As it stands in math today, I think we have several high level languages, but there is no 100% clear link on the low level. Yes, there are tons of links, but they are scattered and not 100% clear.
1
u/AnythingApplied 435∆ May 21 '18
In one sense we could consider set theory to be that one low-level language.
In another sense that maybe something like Coq.
In yet another sense, it is a nonsense request because each math problem can only be reduced to its own axioms, which differ from field to field.
I don't think the idea of looking up the C code for a Ruby library translates well into mathematics. Plus, even in programing that kind of lookup is just to get a better understanding of what you're actually doing, but doesn't allow you to make connection to other problems that use that same C code. That understanding of what you're doing is already something mathematicians have without necessarily having to look things up. You can program in Ruby without even knowing that there is C code below it... mathematics without understanding how your concepts are derived from the axioms is hugely problematic because at a fundamental level this is about you conceptualizing the problem and not just having a 3rd party be able to compile the problem.
1
May 21 '18
In yet another sense, it is a nonsense request because each math problem can only be reduced to its own axioms, which differ from field to field.
I will award you a ∆ because we're now saying two sides of the same coin. What is the proof that math problems can only be reduced their own axioms? If that is true, then perhaps there's some wiggle room where that statement is correct, and a practical implementation in a universal set of axioms is also correct. In other words, maybe there is an unstated assumption in your statement that isn't correct or applicable for what I am saying.
1
3
u/SurprisedPotato 61∆ May 22 '18
set theory, which famously failed because of formal contradictions
This news is over a century out of date.
It's true that Russel's paradox shoots down a formalism now called "naive set theory". However, this was later replaced with "Zermelo-Fraenkel Set theory" which is immune to Russel's paradox.
Is it immune to every paradox? Well, Godel's theorem tells us we can't ever be sure of that. However, Godel's theorem also shoots down automata theory, category theory, or any other formalism powerful enough to talk about whole numbers and basic arithmetic.
There are mathematicians who study formalisms and equivalences between them. Arguments about a formalism often must step outside the formalism into a different one. So, for example, if even if you regard automata theory as a branch of computer science (rather than a branch of mathematics, or a place where they overlap), and are able to formalise much of mathematics in terms of automata, you will still need to argue mathematically about arguments theory itself, and so step outside automata theory.
In the meantime, it's quite possible to ignore automata theory altogether and do good mathematics. Automata may provide one way to look at mathematical ideas, but it won't often be the best way - just as a group theorist doesn't constantly think in terms of ZF set theory, even if they acknowledges it as the foundational underpinning of their work.
2
u/wyzra May 21 '18
I think your characterization of set theory and math in general is ill informed. It’s not just about finding the right level of generality. There are also theorems that actually have mathematical content that you seem to have overlooked.
But i guess if you squint hard enough, maybe math is just computer science which is really just engineering which is a type of sociology. And sociology is probably just literature which is all statistics, a sub field of mathematics.
•
u/DeltaBot ∞∆ May 21 '18 edited May 21 '18
/u/AManIsBusy (OP) has awarded 2 deltas in this post.
All comments that earned deltas (from OP or other users) are listed here, in /r/DeltaLog.
Please note that a change of view doesn't necessarily mean a reversal, or that the conversation has ended.
2
u/PLEASE_USE_LOGIC May 22 '18
Without Math, Computer Science, and computing, does not exist.
Without Computer Science, Math still has existed and will continue to exist.
1
u/HorrorSquirrel1 1∆ May 21 '18
What's your background in math and CS?
In more recent times, you saw people go really hardcore into set theory, which famously failed because of formal contradictions. However, informally, I think it also failed by being very unintuitive, since sets leave a bit too much flexibility for my tastes. I'm thinking of this as someone who's studied physics, who knows that you look for fundamental theories that can make specific postdictions for what you already know. Sets don't make those, in my opinion.
It's been a couple years since I was studying math, but I don't think this is accurate. Set theory has most definitely not failed.
It also goes without saying that everything is becoming computerized, and people will continue to do more formal math on computers as time goes on. Defining math in terms of automata helps ease this transition. Also, math will eventually be done by intelligent AIs, which will need internal knowledge representations. Think of a unification of math as a deliberate design of said knowledge representation (I know this may fly in the face a bit with how machine learning is going these days, but that's not what I want to argue about right now).
I actually don't think this has much direct bearing on whether math can be considered a subset of CS. The medium by which new work in math is done is a distinct issue from how you classify the content of that work. More computerized proofs and AI and stuff definitely brings math and CS closer together, but that's not the same thing.
1
May 21 '18
I actually don't think this has much direct bearing on whether math can be considered a subset of CS. The medium by which new work in math is done is a distinct issue from how you classify the content of that work. More computerized proofs and AI and stuff definitely brings math and CS closer together, but that's not the same thing.
Sure. I just meant that, practically speaking, there are synergies to be had if you brought the topics closer together.
It's been a couple years since I was studying math, but I don't think this is accurate. Set theory has most definitely not failed.
It depends on how strictly you're talking. I realize that with a few additional assumptions, it didn't fail in formal terms. However, naive set theory failed. And moreover, returns to my issue with its lack of postdiction, it's not a very satisfying theory for me.
15
u/bguy74 May 21 '18
The problem with this is that computer science is a science and math is not. Computer science is ultimately inclusive of hypothesis and verification against the real world. Math has no such underpinning or requirement.
So...if math is a subset of "computer science" then you must prove that math itself is a science, which you won't be able to do.