Live data from Hacker News

Parallels Between Math and Software Engineering

beta.oreilly.com

91–97 of 97 posts

Re: Parallels Between Math and Software Engineering

#92
Understanding programming languages definitely helped my understanding of Math. Smarter people than myself can do this the other way around, but I always needed to understand the why before it could start to stick. I didn't really understand programming languages until I could dig into the source code and the standard libraries to see how and why everything was done. The problem with modern math teaching is that is starts with fully baked axioms and it doesn't walk you through the process of discovery before it was all cleaned up into a neat terse explanation. One exception is a great book from the 40s called a Mathameticians Delight. It was recommended to my by my Yale professor and I highly recommend it.

Re: Parallels Between Math and Software Engineering

#93
post #42

Earlier quoted context omitted.

I don't think you can say of any topic in mathematics that it's the best example of why learning math is useful. What about calculus? It's an immensely powerful tool that, by harnessing the power of the infinite and the infinitesimal, unlocks a massive body of practical applications in nearly every field of quantitative knowledge. And what about discrete math? Without it there would be no such thing as a computer. Di…

> What about calculus [...and...] differential equations ? I agree that calculus and diff. equations techniques are important, but if you look closely, you'll see they are only "necessary" for engineers and physicists, and other "hard" sciences, and not so essential for non-science studies. Imagine "pitching" the benefits of learning university-level math to a class of Arts students. Can you honestly say their lives…

>quantitative disciplines

i.e. not Arts, History or Literature :)

Re: Parallels Between Math and Software Engineering

#94

What a great article. Paraphrased "Math is a designed thing, for humans and by humans, not an absolute truth." Also this post is the BEST introduction to linear algebra that I have seen.

to assume that maths is itself the absolute truth ,which suppesedly actual mathematics are supposed to lead to, is an apt syllogism. It's saying, any kind of math that doesn't reveal an absolut truth isn't real maths.

Re: Parallels Between Math and Software Engineering

#95
post #90

Earlier quoted context omitted.

> This is a really hair-splitting distinction that only makes sense if mathematicians wrote proofs (e.g., about commutative group theory) while keeping ZFC's axioms in mind. They may not do so explicitly, but it is easy to see where the axioms become important when dealing with mathematical structures. For example, if you are considering the group of integers with addition, the existence of this group is predicated o…

This is a silly argument. 1. Assume false. 2. Anything follows. For what odd-ball definition of "far reaching" is "anything" not "far reaching"? An assumption doesn't have to be an Axiom to have "far reaching" consequences. Period. So, you're wrong -- assuming non-foundational axioms can have far reaching consequences. Assumptions are assumptions, and flaws are flaws. Assuming "false" is just as bad as working with a…

The whole point is that all of the structural axioms are known to be consistent (relative to ZFC or another foundation) because there exist known models of them. The fact that we don't need to assume group axioms hold, but can instead prove they hold for at least one structure is a huge distinction. There is no way to prove there are models of ZFC or another (suitably powerful) foundational system without appealing to a foundational system in the first place. That is the content of Godel's second incompleteness theorem[1]. So the axioms of ZFC bear some scrutiny, while those of a group etc. don't. This is a completely technical distinction.

> That argument would be a lot more compelling if Mathematicians formalized their arguments in terms of an underlying foundations, because then we would always know that all assumptions are checked.

But they do! You can find many books on real analysis that prove that the reals exist from the foundation, as well as proving that the naturals and integers exist on the way. They don't constantly refer to the foundations, but they use facts that have been rigorously proved from the foundations. And although they don't write "axiom schema of specification" every time they consider a subset satisfying a property, that doesn't mean they don't know that it is required.

> In short, what matters is that people accept the incorrect fact and move forward from it, NOT whether that incorrectness comes from foundations or from something built on top of them. The impact of either depends entirely upon how many people trust the result and build on top of it.

My whole point is that you don't have to trust the group axioms, because they can (and typically are) validated relative to ZFC. Since the trivial group can be constructed within ZFC they are consistent in ZFC, full stop. The same goes for refinements like commutative groups. If the group axioms lead to a inconsistency, it can only be because ZFC itself is inconsistent. Do you not think that being a possible source of inconsistency or not is an important distinction?

[1]: https://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_...

Re: Parallels Between Math and Software Engineering

#97
post #89

Earlier quoted context omitted.

Careful, the axiom of choice doesn't state that non-empty sets contain an element (this is a triviality). Rather (an equivalent of) it states that the Cartesian product of non-empty sets is non-empty. If we take a product of finitely many such sets, then we can prove it, but we need the axiom of choice for the infinite case. The reason is intuitively clear: in order to prove that the infinite product is non-empty, we…

There are many classically equivalent formulations of the axiom of choice, the one I gave is just the one I like best. :) But you are right, the devil is in the details, so let me spell it out precisely: The axiom states that for every set X, there is a function \epsilon : P(X)/{\empty} -> X If you want to restrict yourself to first-order logic, then you have to encode the function \epsilon (e.g. as a functional rela…

Is there any effect on our thinking that comes from HoTT? I heard this is exactly the kind of problems it tries to solve.
Post reply on HN