The Irreducible Complexity Argument Debunked Using Computer Science

Many creationists and theists invoke the argument of irreducible complexity in an attempt to discount the theory of evolution.

Irreducible complexity (IC) involves the idea that certain biological systems cannot evolve by successive small modifications to pre-existing functional systems through natural selection.

According to the theistic argument dealing with irreducible complexity, because we couldn’t have evolved slowly from single-celled organisms over time, then we must have had a designer! It is a naive argument made by those who don’t have a suitable understanding of the theory of evolution, or even worse, those who choose to work backward from a predetermined conclusion based on faith.

Infinite Recursion

Many have made the point I’m going to make, that is, the problem of the creator of god, but I want to demonstrate it in a way that mathematicians and programmers can easily relate to. Take a gander at the following Javascript class:

class Being {
    constructor(creator, alive) {
        this.creator = creator;
        this.alive = alive;
    // complex beings must be alive and have a creator
        return this.alive && this.getCreator() !== null;
        if (!this.creator.isComplex()){
            throw "universe blows up, creator isn't a complex being"
        return this.creator

Let’s review the code in English. We define a “complex being” as a being that must be alive and have a complex being as its creator. This is a simplistic definition, but sufficient for any debate regarding creationism.

In order to create an instance of a complex being (via the constructor), we must provide a complex being to serve as the creator. In order to create that complex creator, we must provide that creator’s constructor with another creator. This infinitely recursive problem demonstrates the problem:

If we are too complex to have evolved via natural processes, then our creator is too. Our creator's creator must also have had a creator, ad infinitum.

If you have any questions/criticisms feel free to tweet at me!

Thanks For Reading!

If you’re interested in furthering your CS career, take our computer science courses

Follow and hit us up on Twitter @q_vault if you have any questions or comments, and if we’ve made a mistake be sure to let us know so we can get it corrected!

Subscribe to our newsletter for more programming articles

%d bloggers like this: