## Philosophy of software engineering?

• 1.3k
When X is something people do, then sooner or later the "Philosophy of X" will arise. Nowadays a large number of people are involved in the world of software engineering.

Wikipedia has an interesting overview on the subject.

What strikes me, is that it seems to be quite divorced from the philosophy of mathematics, even though that is where it all originated. Alan Turing, Alonzo Church, Bertrand Russell, Stephen Kleene, and John Von Neumann, just to name a few, dreamed up abstract machines that were later painstakingly implemented. They were all mathematicians using pen and paper long before the first computer was actually built.

Is there more continuity in philosophy between the founders of the field and current practice than I suspect?
• 5.9k
The Wikipedia seems to be a listing of aspects of software engineering. Maybe therein a set of clues that a philosophy-of might organize somehow. As to your question, it seems to me that you're perched between thinkers(-doers) and practitioners. Folks can be in either or both camps, but they're two different camps.

Would it facilitate this discussion if you expanded on what your notion of what such a philosophy would or should be and be about?
• 4.5k
That wiki page is about workflow design and programming language styles in programming. Not anything about philosophy; it's philosophy in the sense of perspective rather than the topic of this site. You're looking for this kind of thing.
• 1.3k
it's philosophy in the sense of perspective rather than the topic of this site. You're looking for this kind of thing.

Yes, that is a better page. Unfortunately, all it really says, is:

There is still no common understanding of the content, aim, focus, or topic of the philosophy of computer science, despite some attempts to develop a philosophy of computer science like the philosophy of physics or the philosophy of mathematics.

That is exactly what I thought ...
• 1.3k
Maybe therein a set of clues that a philosophy-of might organize somehow.

Concerning "Software development philosophies", they tend to be epistemic considerations, but not very rigorous at that. Furthermore, their applicability is rather debatable. The "Rules of thumb" section actually looks like a better starting point.

By the way, I accidentally ended up drilling down into expensive consultancy practices: Rational Unified Process (RUP). Like all snake-oil style consulting, IBM's RUP has a rather poor reputation.

There is a nascent meta-level to these things, but it is rather poor. Epistemology would be a good starting point, and seems to have the largest number of contributions; but philosophy is more than only epistemology.
• 5.9k
but philosophy is more than only epistemology.
Maybe like Bacon we - you - need to put it to the question. Instead of asking what it is, telling it. If wrong, at least you'll know one thing it isn't.
• 62
The wikipedia article also has a lot of links to documents and not only the information you read.
• 1.8k
I accidentally ended up drilling down into expensive consultancy practices

Yes, there's a whole industry, supposedly based on 'teaching' the latest fads. Snake oil, mostly, as you suggest. Agile is one of the recent fads, and it has been changed from its original (worthwhile) intent to something that can be taught in a classroom, and produce Agile Managers. :scream: :rage: It makes actual practitioners wince and despair.

it seems to be quite divorced from the philosophy of mathematics, even though that is where it all originated. Alan Turing, Alonzo Church, Bertrand Russell, Stephen Kleene, and John Von Neumann, just to name a few, dreamed up abstract machines that were later painstakingly implemented.

Yes, and then other people learned to program them. Programming is a separate discipline. And it is divorced from mathematics, as you observe. But the names we give our discipline don't help. "Programming" and "software engineering" do not offer the right tone/view, in my opinion. They neglect the heart of our discipline: design. I always called myself a "software designer". Just as there is art at the heart of science, so also is there art in software. And science too; quite a lot of it! And this is but the start.

Some years ago, there was an "Iron Man" version of a definition of software engineering, and the list of associated disciplines, that the successful candidate should master was extensive. It included psychology and an understanding of how humans think and work together. And loads more.

As for the philosophy of programming, well philosophy is about thinking, so thinking about software engineering is presumably practicing the philosophy of programming? If this is a good definition, I think all capable software practitioners are also philosophers (of programming, if nothing else). :chin:
• 1.8k
As to your question, it seems to me that you're perched between thinkers(-doers) and practitioners. Folks can be in either or both camps, but they're two different camps.

Disclaimer: I'm writing here as an experienced software designer, not as an expert in the "philosophy of programming".

There are not two camps; there is only one. No programming project can succeed without both thinking and doing being present in the appropriate combination. All successful practitioners know this so deeply they wouldn't even think of expressing it, like we don't notice we're breathing (most of the time).

Those who reside in only one 'camp' are not capable of successfully practicing 'programming'. They might be former practitioners who are thinking about how their discipline might move forward, or they might have some other aim. They just aren't software designers.
• 1.8k
Some years ago, there was an "Iron Man" version of a definition of software engineering

I tracked some of this stuff down. Here's what I found.

In order to propose Knowledge Areas and Related Disciplines for “generally accepted” knowledge and to do so based on recognized, public and verifiable sources of information, it was decided that the tables of contents of general software engineering textbooks, the curricula of undergraduate and graduate programs in software engineering, and the admission criteria for graduate programs would constitute the input to our analysis. A total of 24 textbooks and 29 programs were examined.For the purposes of this Straw Man version, a potential knowledge area had to be mentioned in the table of contents of at least one quarter of the textbooks sampled to qualify as a proposed Knowledge Area.The ISO/IEC 12207 standard on Software Life Cycle Processes is used as the basis and vocabulary for the classification of the different topics related to the life cycle. A number of other topics not related to the life-cycle were also considered.

The list of proposed Knowledge Areas based on ISO/IEC 12207 is:
— SWEBOK
• Development Process
• Requirements Analysis
• Detailed Design
• Coding
• Testing
• Maintenance Process
• Configuration Management
• Quality Assurance
• Verification and Validation
• Improvement Process

The list of proposed Knowledge Areas that do not converge well with ISO/IEC 12207 is:
• Software Development Methods−Object Oriented−Formal Methods−Prototyping
• Software Development Environments
• Software Engineering Overview & DefinitionüMeasurement/Metrics
• Software Reliability

The list of proposed Related Disciplines is:
• Computer Science
• Project Management
• Electrical Engineering
• Mathematics
• Telecommunications/NetworksüManagement
• Science
• Other Engineering Disciplines
• Cognitive Sciences

Sorry about the text layout, it was originally laid out as a bulleted and tabbed list, but it seems I can't embed lists into quotes. :fear: The original is here.
• 1.8k
Thanks for creating this topic! It's a bit weird though, commenting on something I actually know something about! :rofl:
• 1.3k
Agile is one of the recent fads, and it has been changed from its original (worthwhile) intent to something that can be taught in a classroom, and produce Agile Managers.

In my opinion, "agile" is epistemically worthless. If knowledge is a justified belief, then the very last industry that feels the need to come up with reasonable justification, are the consultancy snake-oil factories. It is incredible how intellectually poor their conjectures are. The more money floats around in flogging the nonsense, the more nonsensical it tends to be.
• 4.2k
In my opinion, "agile" is epistemically worthless.

The motivation isn't. The reason agile became a thing is because often it's the case that during a software project the requirements change as the customer comes to realize what they really want which they were unable to specify at the outset. This is particularly true for web and app software.

I was just in a meeting today where with a deadline a couple weeks away where the customer once again is changing the requirements. And this customer is state funded.

That's part of the reason why programming isn't math. In a platonic software world, you would know the exact requirements before starting. But in the real world it's often the case that the process is one of discovery and negotiation. Agile is meant to address that reality. But whatever you call it, software engineering needs to take into account changing requirements when you can't nail them down before starting the project.

And sometimes you just have to ship it to meet a deadline, even if it's hacked together. The whole "real developers ship" is contrasted against having mathematically rigorous software specifications nailed down first where shipping less than perfect code is financially prudent.

Now it's a bit different if safety is the number one requirement, say for flying a plane or autonomous cars.
• 1.3k
But whatever you call it, software engineering needs to take into account changing requirements when you can't nail them down before starting the project.

Well, the very concept of "project" is a problem. In a successful "project", 80+% of the cost will be incurred during later maintenance. Of course, most "projects" will never reach that stage.

In other words, setting a project goal to be achieved, and associating a budget for it, tends to fail. Successful software rarely emerges out of that kind of context. I am surprised that even civil service bureaucracies begin to understand the fundamental problem:

www.csc.gov.sg The Civil Service College (CSC) was established as a statutory board under the Public Service Division in 2001. As the heart of learning for the Singapore Public Service, we deliver an innovative, inspiring and impactful learning experience for public officers.

How to Build Good Software
Software has characteristics that make it hard to build with traditional management techniques; effective development requires a different, more exploratory and iterative approach.

It is the very notion of "project" with "start" date, "delivery" date, and definitive "budget" that is the problem. The larger the distance between what you want to achieve versus what you can download verbatim from github, the more costly the failure will be.
• 107
Well, To comment on the thread start, software and mathematics maybe have some general differences. And some similarities. Both are kind of logic based activites, there isnt on the lower levels anything fuzzy about it, its not in the humanities. And both can be considered as tools to enhance life for people by solving problems. Computer guys are most often good at maths as well.

But the computer programs have a different kind of complexity, in that the problem really isnt the complexity of the problem to be solved, but in the communications. What is it we want done, how shall the different persons realizing the programming project work together, how shall the programming parts communicate with each other, how can we use already delivered program code.

Programming has, since I studied computer engineering in the 80´s exploded to be a massive activity, and all of us use the results of endless efforts all the time. So computer programming have more in common with house construction work or something like that than with maths.

One problem here is that I dont really know much about the philosophy of maths. What is that all about?
• 1.3k
So computer programming have more in common with house construction work or something like that than with maths.

House construction work is relatively well manageable as projects. You start, you build, and you finish within a particular time frame and budget. Corporations have attempted to to manage software development in the same way, and have failed for decades now to do exactly that. That does not mean that it is necessarily more related to doing original math work either. Still, viewing software as projects, is a failing proposition.

One problem here is that I dont really know much about the philosophy of maths. What is that all about?

Philosophy of mathematics

The Platonic, formalist, and structuralist views certainly ring a bell with me. In fact, even the fictionalist take on mathematics makes sense to me. In my opinion, the different schools of thought do not necessarily exclude each other, even though my own opinion is certainly incompatible with the constructivist view. I cannot reconcile myself with people like Brouwer.
• 526
the philosophically enlightening thing about the craft of software engineering is it's cut-throat pragmatism that makes explicit what mathematics and logic are really about, such that the disease of philosophical speculation cannot take hold. There aren't any software engineers debating whether an infinite loop really runs forever, unlike a significant proportion of set-theorists, who as a result of refusing to get their hands dirty in practical application, end up associating mathematical infinity with the religious idea of eternity.
• 1.3k
unlike a significant proportion of set-theorists, who as a result of refusing to get their hands dirty in practical application, end up associating mathematical infinity with the religious idea of eternity.sime

According to Cantor's theory, the infinities (Beth numbers) (or Aleph numbers) are a series of successive numbers, with the smallest one being countable infinite, the next one uncountable infinite, and each successive infinity, inf[n] = 2^inf[n-1], the cardinality of the power set of the previous one. Such sequence of infinities is not particularly compatible with the idea of one God, which would correspond to one infinity.

According to Cantor's diagonal argument, it is absolutely excluded that countable infinite would be the same number/cardinality as uncountable infinite.
• 1.7k
According to Cantor's theory, the infinities (Beth numbers) (or Aleph numbers) are a series of successive numbers, with the smallest one being countable infinite, the next one uncountable infinite, and each successive infinity, inf[n] = 2^inf[n-1], the cardinality of the power set of the previous one. Such sequence of infinities is not particularly compatible with the idea of one God, which would correspond to one infinity.

Cantor thought that the limit of that process, essentially the union of all the infinite cardinals, was God. God is the absolute infinity. Cantor's theology is forgotten today but it was important to him. This would be relevant if you're trying to use set theory to make a theological argument.

In any event, there are many uncountable cardinals. All the cardinals other than the countable one Aleph-0 are uncountable. The Beth numbers are the Alephs in the presence of the continuum hypothesis; they're distinct in its absence.
• 3.1k

I work in the software industry. Software development is a subset of computer science, however in practice it is more like a trade. When entering the trade, one begins as an apprentice, before advancing to journeyman and finally master. Sometimes this involves a university degree.

There are guild-like organizations and communities that are built around "philosophies" of software engineering. These philosophies are different ways of developing software.

What is interesting is how closely tied mainstream software development practices are to capitalism. I was taught and currently work in a development environment called Agile, which is meant to facilitate pipelined production of software in iterations. The cycle of production never ends - as soon as one checkpoint is reached, the next checkpoint is immediately placed. Programmers are told what the customer wants, and they have to negotiate with their boss about the workload. Every day there is a check-up to see what progress has been made and what set backs have been encountered - this peer pressure acts as incentive to work.

With web development, which is one area I work in, the name of the game is efficiency. Everything must continuously be quicker and easier. This is mostly because anything less will lose the short attention span of potential customers. There are lots of gimmicky widgets, like pop ups, infinite scrolls, silent collection of user data, etc that are all meant to help lure customers into spending money, or giving up their privacy (I do not code this kind of stuff).

Computers are like crack to capitalism. They make everything more efficient, more automated, more blind. I think perhaps in the next few decades, programmers will put themselves out of a job by developing an artificial intelligence that can do their jobs.

There are tons of nauseating self-help books for programmers that are written by self-absorbed assholes who think their way is the right way. Often there are pretentious quotes from Lao Tzu or some other sage in the beginning of each chapter. Super cringey.

So my point is that, from an industry perspective, software development is intimately tied to capitalism. But there are other ways of developing software that are less tied to economics - open source software is a great example.

On the other end of the spectrum of computer science is the actual science. This is less tied to capitalism, partly because it is usually limited to universities. And it is close to philosophy as well. This is where you will find philosophical concepts like Turing machines, finite state machines, semantics of programming languages, algorithms, etc.

I think probably the most ubiquitous philosophical mindset of computer science must be a certain reductionism. Abstraction is a fundamental concept to computer science, but nevertheless these abstractions could not function unless the underlying substrate is also functional. High-level applications do not function unless the operation system does, and the operation system does not function unless the low-level firmware does, and the low-level firmware does not function unless the hardware does. The Unix "philosophy" could be described as reductionistic too, because it emphasizes making larger things out of smaller, basic modules.

I think it's safe to say that if you ever hear someone on the internet proclaiming that some difficult philosophical issue "is just" something, this person might be a computer science undergraduate.
• 1.3k
The Beth numbers are the Alephs in the presence of the continuum hypothesis; they're distinct in its absence.

Finite fields (in which arithmetic is permitted) must have a prime-power size. Therefore, there tend to be gaps between permissible calculation field sizes. E.g. a size of 13 is allowed, but 14,15 are not; 16=2⁴ is a prime power and is again allowed, and so on. So, in a way, we could wonder why it would be any different -- the fact that there are gaps -- in between infinite field sizes in which arithmetic is permitted? Of course, this kind of pattern is not a proof, but it seems to point in a particular direction.

But then again, since CH is provably not provable/disprovable from ZFC, proving CH from any alternative set of axioms, that is not just itself, may not be particularly "simple". It would require a meaningful distance, i.e. a meaningful number of non-trivial derivation steps from these axioms to CH, while these axioms would also have to be provably independent of ZFC. I do not see how else anybody could make progress in CH?
• 1.3k
What is interesting is how closely tied mainstream software development practices are to capitalism.

But there are other ways of developing software that are less tied to economics - open source software is a great example.

The first problem is, of course: What is the definition of "capitalism"? It is often confused with (free) trade, commerce, and the resulting trend to specialization:

Modern capitalist societies—marked by a universalization of money-based social relations, a consistently large and system-wide class of workers who must work for wages, and a capitalist class which owns the means of production—developed in Western Europe in a process that led to the Industrial Revolution.

So, modern capitalism may revolve around the existence of a capitalist class which owns the means of production.

So, is this the case in software? What are the means of production and who owns them?

To produce software, you need relatively inexpensive computer equipment, owned by the public at large. So, the hardware part is not capitalistic.

You also need other software such as operating systems, compilers, basic libraries, and so on. You do have two large, proprietary owners of their version of basic software, i.e. IBM and Microsoft, but nowadays most software is built using free software, especially if you consider that most software runs on mobile phones, and that Android is (or is based on) free software.

Hence, even though there are noticeable elements of capitalism that operate in the realm of software, i.e. a few large capitalist players, they do not generally own the means of production. In other words, there is no (dominant) capitalist class which owns the means of production in software.
• 1.8k
The reason agile became a thing is because often it's the case that during a software project the requirements change as the customer comes to realize what they really want which they were unable to specify at the outset.

It is the very notion of "project" with "start" date, "delivery" date, and definitive "budget" that is the problem. The larger the distance between what you want to achieve versus what you can download verbatim from github, the more costly the failure will be.

[C]omputer programs have a different kind of complexity, in that the problem really isnt the complexity of the problem to be solved, but in the communications. What is it we want done, how shall the different persons realizing the programming project work together, how shall the programming parts communicate with each other, how can we use already delivered program code.

It's a joy to see posts based on real knowledge and understanding! @Ansiktsburk, aren't you wandering around the word "design" in what you wrote? :wink: To successfully design a program (or anything else, come to that), we need to understand all the contributing forces, as @Ansiktsburk describes. The need for understanding is paramount. This being the case, I wonder what the role of the philosophy of SE is?

Philosophy most often tries to lead us in the direction of understanding. In other areas, say X, the philosophy of X is an investigation into background issues, those that are rarely scrutinised. But in SE, understanding of roughly that sort is necessary for its practitioners. So where is the space for the philosophy of SE? I'm not sure. But I'm sure someone here will offer suggestions? :wink:
• 1.8k
the philosophically enlightening thing about the craft of software engineering is its cut-throat pragmatism...sime

...unexpectedly coupled with its need to satisfy human-based desires (requirements), which move well away from "pragmatism". Many of them are only distantly connected to logic or reason; ask any working software designer! :smile:
• 1.8k
I think perhaps in the next few decades, programmers will put themselves out of a job by developing an artificial intelligence that can do their jobs.

I see from your post that you're a relatively recent recruit to our ranks, as you mention web development, and starting with Agile. Nevertheless, you seem to have developed quite an eye for our industry! :wink: As to AIs replacing us, I've read the same thing twice a year since I started, in the (very) late 70s. I don't think our replacement is likely, because of the strong and central core of creativity in our work. We are not artists like Emin or Monet, but we could not do our jobs without the creativity that gets us from a whole host of requirements (from the customer; technical requirements from the engineering side; commercial requirements from the managerial side; and so on) to a solution acceptable to all.
• 1.7k
Finite fields (in which arithmetic is permitted) must have a prime-power size. Therefore, there tend to be gaps between permissible calculation field sizes. E.g. a size of 13 is allowed, but 14,15 are not; 16=2⁴ is a prime power and is again allowed, and so on. So, in a way, we could wonder why it would be any different -- the fact that there are gaps -- in between infinite field sizes in which arithmetic is permitted? Of course, this kind of pattern is not a proof, but it seems to point in a particular direction.

The Alephs aren't fields. Finite fields have absolutely nothing at all to do with this. They're apples and rutabagas.

But then again, since CH is provably not provable/disprovable from ZFC, proving CH from any alternative set of axioms, that is not just itself, may not be particularly "simple". It would require a meaningful distance, i.e. a meaningful number of non-trivial derivation steps from these axioms to CH, while these axioms would also have to be provably independent of ZFC. I do not see how else anybody could make progress in CH?

One can Google around. A lot of work has been done by Woodin, Hamkins, and other contemporary set theorists. Work on CH has been ongoing for decades. It just doesn't make the mainstream news.

One big new idea is Woodin's Ultimate-L. It's so new and so technical it doesn't have a Wikipedia entry. This MathOverflow thread has some references. Nothing in this topic is comprehensible to laymen, just mentioning it since it's the state of the CH art.

https://mathoverflow.net/questions/269780/the-ultimate-l-in-a-nutshell-on-descriptive-articles

Another idea is Hamkins's set-theoretic multiverse.

http://jdh.hamkins.org/themultiverse/

Here's an accessible article that surveys the modern developments.

https://www.ias.edu/ideas/2011/kennedy-continuum-hypothesis
• 1.3k
The Alephs aren't fields. Finite fields have absolutely nothing at all to do with this. They're apples and rutabagas.

The cardinality of an infinite set ("aleph") is indeed formally not a Galois field. What I was saying, isn't a formal argument. I was just pointing out an uncanny similarity, i.e. just some kind of pattern:

[1] arithmetic is allowed in finite fields of prime powers only. This rule creates gaps between the field sizes.

At the same time, arithmetic is allowed in the integers (or rationals), i.e. a set with cardinality of aleph-0, and is also allowed in the reals (or computable numbers or similar), i.e. a set with cardinality of aleph-1.

[2] Continuum hypothesis. There is an insurmountable gap between aleph-0 and aleph-1. There are no infinite cardinalities in between.

As far as I am concerned, there is an uncanny similarity between the gaps in between finite calculation fields and the gaps between infinite calculation fields. Furthermore, with aleph[k]=2^aleph[k-1], the aleph[k] cardinalities are also prime powers; which is another uncanny similarity.

Of course, formally proving the link between both phenomena, is something else altogether. That is obviously another exercise.

One can Google around. A lot of work has been done by Woodin, Hamkins, and other contemporary set theorists. Work on CH has been ongoing for decades. It just doesn't make the mainstream news.

Well, of course, people are still working on CH. I was just pointing out how "rigged" the game is. The context to work in, is really difficult. The proof that any axiomatization of CH is independent of ZFC, makes doing something meaningful, really hard. The structure required is incredibly annoying. You need other axioms, but which must still have a real provability distance from CH, because otherwise you would just be axiomatizing the final result itself ... Well ...

One big new idea is Woodin's Ultimate-L. It's so new and so technical it doesn't have a Wikipedia entry. This MathOverflow thread has some references. Nothing in this topic is comprehensible to laymen, just mentioning it since it's the state of the CH art.

Apparently, the current status is: How Woodin changed his mind: new thoughts on the Continuum Hypothesis.

This paper illustrates Woodin’s solutions to the problem, starting in Sect. 3 with his 1999–2004 argument that Cantor’s hypothesis about the continuum was incorrect. From 2010 onwards, Woodin presents a very different argument, an argument that Cantor’s hypothesis is in fact true.

Well, yeah. My own intuition is in favour of CH. So, I obviously like Woodin's new approach better.

This argument is still incomplete, but according to Woodin, some of the philosophical issues surrounding the Continuum Problem have been reduced to precise mathematical questions, questions that are, unlike Cantor’s hypothesis, solvable from our current theory of sets.

That explains why there is no Wikipedia entry for Woodin's work yet. They are not supposed to report on proofs that still have gaps in them. A proof with existing remaining gaps is a research hypothesis and not something to be propagated as "finished work" in places like Wikipedia.

If you look at the subtleties he needs in order to make his point:

[1] A Reinhardt cardinal, [2] An n-huge cardinal, [3] A huge cardinal, [4] An extendible cardinal, [5] A supercompact cardinal, [6] A superstrong cardinal, [7] A Woodin cardinal, [8] A measurable cardinal, [9] A (strongly) inaccessible cardinal.

The complexity proposed is substantially beyond what is done in existing, established theories. Therefore, what he is doing, looks quite ... ambitious.

Then, he writes:

As mentioned in the article, too much would have to be said to give an argument as to why the Axiom of Projective Determinacy, PD, should be accepted.

There, he is hitting the core of the problem. In fact, there should be no argument as to why axiom PD is accepted. If he does that, it is not an axiom. So no, all he needs to do, is to prove that there is a real distance, a serious series of transformative derivation steps from PD to CH.

There is no such thing as the quality of an axiom, because that implies "justification" of an axiom, which is exactly what is not allowed. All we need to see, is that CH is not trivial from PD. That would be enough.

I think that Woodin's work is interesting, but before further digging into the nitty-gritty details of the pyramid of vocabulary on which his work rests, I will just let him first complete the gaps in his argument! ;-)

Another idea is Hamkins's set-theoretic multiverse.
http://jdh.hamkins.org/themultiverse/

The multiverse view in set theory, introduced and argued for in this article, is the view that there are many distinct concepts of set, each instantiated in a corresponding set-theoretic universe. The universe view, in contrast, asserts that there is an absolute background set concept, with a corresponding absolute set-theoretic universe in which every set-theoretic question has a definite answer.

In my opinion, Hamkins' work sounds less promising than Woodin's work, with which I can somehow identify. Hamkins does not talk about juxtaposing a set of axioms provably independent from ZFC from which there exists a noticeable derivation distance from CH, but from which he successfully derives CH. Therefore, I cannot identify with Hamkins work.

Here's an accessible article that surveys the modern developments.
https://www.ias.edu/ideas/2011/kennedy-continuum-hypothesis

He writes:

How ironic then that the continuum hypothesis is unsolvable—indeed, “provably unsolvable,” as we say.

Well, CH is not unsolvable. It is just unsolvable from ZFC. That does not mean that it would be unsolvable from anything else. For example, it is trivially solvable from itself. However, that is not what we want. We want some larger distance between CH and the X someone would solve it from. This X needs to be independent from ZFC, and that is a problem, because ZFC is extremely powerful. So, finding such X is not easy.

Gödel, however, [...] taking the view that his incompleteness theorems, though they show that some provably undecidable statements do exist, have nothing to do with whether the continuum hypothesis is solvable or not.

Yes, of course!

what would it be like to go beyond set-theoretic methods and suggest something new? Still, this is exactly what is needed to solve the continuum hypothesis.

Yes, X needs to be independent from ZFC (not easy to achieve) and still have a real distance from CH. Next, CH needs to be proven from X. That is what needs to happen, but as I argued before, that is clearly not easy. Furthermore, it is also a very counter-intuitive procedure to follow.
• 1.7k
[2] Continuum hypothesis. There is an insurmountable gap between aleph-0 and aleph-1. There are no infinite cardinalities in between.

This is true by the definition of the Aleph numbers. It's not a statement of the continuum hypothesis. I hope we can clarify this if we're going to talk about CH.

There is no transfinite cardinal between $\aleph_0$ and $\aleph_1$, period. It's a matter of definitions within ZF, Zermelo-Fraenkel set theory without the axiom of choice.

$\aleph_0$ is by definition the cardinality of the set of natural numbers.

$\aleph_1$, by definition, is the cardinality of the set of all distinct well-order types of countable sets. $\aleph_2$ is the cardinality of the set of all distinct well-order types of sets of cardinality $\aleph_1$, and so forth. If you don't know what that means that's ok, I don't want to get sidetracked by technical detail. All that's important at the moment is that each Aleph number has a specific technical definition such that the they form a sequence of discrete cardinalities, one after the other. There can be no Alephs strictly between two Alephs simply by virtue of their definitional construction. That's the key point. They're defined such that there are no "in-between" Alephs.

Now consider the real numbers. We can code each real number (between 0 and 1 for simplicity and without loss of generality) as an infinite binary sequenc; a bitstring with an implied binary point in front. It's clear that a real number is essentially a function from the set of natural numbers to a set with two elements (zero and one). Such a set (again omitting technical details) has cardinality $2^{\aleph_0}$, which is defined as the cardinality of the set of all functions from the natural numbers to a two-element set.

So $2^{\aleph_0}$ is SOME cardinal; and if we assume that every cardinal is an aleph (this actually depends on the axiom of choice) then there must be some ordinal number $x$ such that $2^{\aleph_0} = \aleph_x$. Which $x$ could that be?

The continuum hypothesis is the claim that $2^{\aleph_0} = \aleph_1$,

The generalized continuum hypothesis, GCH, is the claim that $2^{\aleph_\alpha} = \aleph_{\alpha + 1}$ for every ordinal $\alpha$.

[If you've never seen the ordinals they're the coolest thing ever. They show up in logic and sometimes computer science, especially in the theory of hypercomputation].

As far as anyone knows, $2^{\aleph_0}$ could be huge -- it could be $\aleph_{100000}$ or worse. Gödel thought that it was $\aleph_2$. Cohen thought it could be much larger. Or ... and there's a lot of support for this position ... the question could be entirely meaningless.

Your idea isn't entirely without merit. Cohen wrote that intuitively, exponentiation is a much more powerful operation than taking successors. For example going from $2^4$ to $2^5$ is a much larger jump than going from $2^4$ to $2^4 + 1$. (My example, not Cohen's). By that analogy, CH would be false. That's essentially your argument I think. You're analogizing with the permissible cardinalities of finite fields. It's not a bad idea as far as it goes if you find it helpful.

Some of what you wrote is a little off the mark IMO but I wanted to nail down the definition and meaning of CH first. What you call uncanny I call "a stretch" not justified by the math. I accept your analogy only insofar as it's helpful to you personally.

ps ... this also really jumped out at me.

[1] A Reinhardt cardinal, [2] An n-huge cardinal, [3] A huge cardinal, [4] An extendible cardinal, [5] A supercompact cardinal, [6] A superstrong cardinal, [7] A Woodin cardinal, [8] A measurable cardinal, [9] A (strongly) inaccessible cardinal.

The complexity proposed is substantially beyond what is done in existing, established theories. Therefore, what he is doing, looks quite ... ambitious.

Those technical terms are the meat and potatoes of 20th century set theory, especially of the last thirty or forty years. They're not "beyond existing theories." They're just beyond what you've heard about. Measurable cardinals for example were studied in 1930 by Stefan Banach. An inaccessible cardinal was implicitly used by Wiles in his proof of Fermat's last theorem, though specialists believe his proof could be done without it. Advanced set theory doesn't make the TED talks and math blogs but it's out there. And it's really "out there."
• 1.3k
hose technical terms are the meat and potatoes of 20th century set theory, especially of the last thirty or forty years. They're not "beyond existing theories."

Sure.

I just somehow hope that the nitty-gritty distinctions between "extremely large", "super huge", and "incredibly out-sized" cardinals won't be needed.

Furthermore, I was more interested in the remark by/on Woodin, "why the Axiom of Projective Determinacy, PD, should be accepted". I do not think it matters "why". What matters is that If PD is provably independent from ZFC, and that Woodin also manages to prove CH from PD, because then Woodin will have managed to finish the job. The real problem is what he writes at "the argument is still incomplete ...". That is why I said that I am waiting for him to complete the argument. Unfortunately, we cannot do particularly much with just half the argument ...
• 1.7k
I just somehow hope that the nitty-gritty distinctions between "extremely large", "super huge", and "incredibly out-sized" cardinals won't be needed.

Why not? May I ask if these are technical terms with which you're familar? You mis-stated CH in such a way as to give me the impression you haven't studied much set theory beyond the basics. If you're a specialist in advanced set theory who made an elementary error then you have my apologies. It's just that I don't understand why you are trying to discuss or comment on things that are far outside of your (and my) competence. If I've got this all wrong just tell me.

I
Furthermore, I was more interested in the remark by/on Woodin, "why the Axiom of Projective Determinacy, PD, should be accepted". I do not think it matters "why". What matters is that If PD is provably independent from ZFC, and that Woodin also manages to prove CH from PD. Then, Woodin will have finished the job. The real problem is what he writes at "the argument is still incomplete ...". That is why I said that I am waiting for him to complete the argument. Unfortunately, we cannot do particularly much with just half the argument ...

Do you know what PD is? Do you have an opinion on its truth or falsity, and knowledge of how it relates to other candidate axioms floating about? Do you know a lot about infinite games and projective sets? I saw a lecture on AD once, the axiom of determinacy. That says that EVERY set of reals is determined. PD says that every projective set is determined, which is weaker.

I
That is why I said that I am waiting for him to complete the argument. Unfortunately, we cannot do particularly much with just half the argument ...

My point is that neither of us is remotely qualified to discuss Woodin's work at all, unless you have set-theoretic knowledge far in excess of what you have demonstrated so far. Nor is his argument incomplete. Google for "extender models" and you'll probably find some papers.

I'm honestly having trouble here. By your comments I've placed you at a certain level in set theory. And you seem perfectly confident of your ability to understand what Woodin is talking about. There's a massive disconnect. He's one of the world's leading set theorists. This is bleeding edge theoretical work. It's not absent from Wiki because it's "not complete." It's absent because there are as yet no humans who can understand his work and translate it for the public; even that segment of the public with a technical degree or two. There are one or two popular articles on the subject that are no help at all. You wouldn't expect to jump into the latest bleeding edge research in biology or physics.

I had a professor once, Fields medalist, very famous guy. In grad-level real analysis he forgot the wording of Zorn's lemma and asked for help, Which I, bright-eyed young genius that I was at the time, quoted for him perfectly. That was the high point of my math career. Point being that you misconstrued CH either because: (a) you haven't studied much set theory; or (b) you are so advanced you can no longer be bothered with the basics. There's a disconnect and it's bothering me.
• 1.3k
You mis-stated CH in such a way as to give me the impression you haven't studied much set theory beyond the basics.
About CH, I just said in my own words what you can find in Wikipedia too. Maybe it is a mis-statement. I don't particularly care, actually. CH is not "critically" important to me. I do not research it. It is not my job. I do other stuff. So, yes, just like Wikipedia (as an earlier remark), I am not much interested in going particularly much beyond what is provable already, and therefore, what are merely "the basics".

My point is that neither of us is remotely qualified to discuss Woodin's work at all, unless you have set-theoretic knowledge far in excess of what you have demonstrated so far. Nor is his argument incomplete.

Well, Woodin literally says that his argument is incomplete. (Read the original paper. I literally quoted what it said.)

Furthermore, If it weren't incomplete, Woodin would simply provide us with the proof, instead of saying that his argument is incomplete.

By the way, if you look at the problem, you can see that the only workable proof strategy is exactly about avoiding set-theoretic knowledge. It is a hard requirement to stay clear of ZFC, because if you don't, the proof will automatically be wrong. That is probably what makes the proof strategy so hard for people who are too deeply steeped in set-theoretic knowledge. They simply won't be able to do it.

As I said, Woodin's strategy to prove CH from PD -- while staying clear of ZFC in any form or shape -- sounds really interesting, but he has also clearly said that he still hasn't managed to do it. I am just repeating Woodin's own words.
bold
italic
underline
strike
code
quote
ulist
image
url
mention
reveal