Skip to main content

Does science exist, if God doesn't?

Scientists have always been believed to have a distinct attribute - reasoning. 

A couple of days ago, I was exploring the ways to prove something scientifically. Proof by induction, by contradiction, direct proofs. For the sake of curiosity, I started digging in deep to find out if there's something that has been accepted but not yet proven. My findings turned out to be shocking. Let me introduce a few examples first:

When studying system of Numbers, we have established that numbers exists, like Natural numbers. Then we further devise certain rules to make them usable. Like Rule A: 1 is a Natural number. Rule B: adding 1 to a Natural number gives us a Natural number. But is there a mathematical proof that  N + 1 = N? A common mind would call this a senseless question, claiming that it is obvious. But mathematics doesn't function on how correct something feels. It demands complete proof to declare something "obvious".

The answer is that there is no proof because we assume these rules to be true. This is not the only assumption we make. In primary arithmetic, x + (y - z) = (x + y) - z is also assumed to be true, same applies to trigonometry, algebra, calculus and other branches of mathematics. Such assumptions are called axioms and all mathematics is built upon these axioms. This leads us to another question: "why do we accept them to be true if there is no absolute proof?". Simply, because there is no proof that these axioms are false. Because they appeared to be true for every known number that could be applied on them.

Another, somehow complicated example is from complexity theory. Theorists believe that all the P-type problems (problems that can be solved in polynomial time) are a subset of NP-type problems, meaning that a polynomial time solution exists for non-deterministic machines, if it exists for deterministic machines. But there is no absolute proof that this postulate will be true for each and every problem.

The deeper we go, the more we learn that these axioms have no basis other than that they are self-proving and that all science exists on these assumptions.

Let us now devise an axiom that for every ongoing event E, there exists an initiator. This axiom is evidently true for any event that occurs in real life. Now we can further define another rule that if E occurred because of another event D, then there exists an initiator for D as well. Modifying the same a little further, if an object A exists, it exists as a result of an event E, caused by an initiator. This can be proven wrong iff an object is ever observed that was not caused by any event, or an event occurs by itself without any external influence.

Now if the Universe exists, there must have been a mega event that caused it, initiated by an initiator. This is our axiom. If Mathematics - the mother of all Sciences - is built upon axioms that are believed to be true unless proven wrong, then is there any reason to deny the above axiom, especially when we have observed billions of events following the same rules? This isn't a new question. Just another way of asking it. Why is the fashion of accepting axioms not same when it comes to proving existence of God, the Grand designer of the Universe, or even Multiverse?"



Popular posts from this blog

Executing MapReduce Applications on Hadoop (Single-node Cluster) - Part 1

Okay. You just set up Hadoop on a single node on a VM and now wondering what comes next. Of course, you’ll run something on it, and what could be better than your own piece of code? But before we move to that, let’s first try to run an existing program to make sure things are well set on our Hadoop cluster.
Power up your Ubuntu with Hadoop on it and on Terminal (Ctrl+Alt+T) run the following command: $
Provide the password whenever asked and when all the jobs have started, execute the following command to make sure all the jobs are running: $ jps
Note: The “jps” utility is available only in Oracle JDK, not Open JDK. See, there are reasons it was recommended in the first place.
You should be able to see the following services: NameNode SecondaryNameNode DataNode JobTracker TaskTracker Jps

We'll take a minute to very briefly define these services first.
NameNode: a component of HDFS (Hadoop File System) that manages all the file system metadata, links, trees, directory structure, etc…

A faster, Non-recursive Algorithm to compute all Combinations of a String

Imagine you're me, and you studied Permutations and Combinations in your high school maths and after so many years, you happen to know that to solve a certain problem, you need to apply Combinations.

You do your revision and confidently open your favourite IDE to code; after typing some usual lines, you pause and think, then you do the next best thing - search on Internet. You find out a nice recursive solution, which does the job well. Like the following:

import java.util.ArrayList;
import java.util.Date;

public class Combination {
   public ArrayList<ArrayList<String>> compute (ArrayList<String> restOfVals) {
      if (restOfVals.size () < 2) {
         ArrayList<ArrayList<String>> c = new ArrayList<ArrayList<String>> ();
         c.add (restOfVals);
         return c;
      else {
         ArrayList<ArrayList<String>> newList = new ArrayList<ArrayList<String>> ();
         for (String o : restOfVals) {

Titanic: A case study for predictive analysis on R (Part 4)

Working with titanic data set picked from's competition, we predicted the passenger survivals with 79.426% accuracy in our previous attempt. This time, we will try to learn the missing values instead of setting trying mean or median. Let's start with Age.

Looking at the available data, we can hypothetically correlate Age with attributes like Title, Sex, Fare and HasCabin. Also note that we previous created variable AgePredicted; we will use it here to identify which records were filled previously.

> age_train <- dataset[dataset$AgePredicted == 0, c("Age","Title","Sex","Fare","HasCabin")]
>age_test <- dataset[dataset$AgePredicted == 1, c("Title","Sex","Fare","HasCabin")]
>formula <- Age ~ Title + Sex + Fare + HasCabin
>rp_fit <- rpart(formula, data=age_train, method="class")
>PredAge <- predict(rp_fit, newdata=age_test, type="vector")