Lets fast forward ourself to the future. We are now very much advanced in technology. We have mastered the art of creating truly autonomous robots. We have factories that can create a million robots every day.
These autonomous robots can function by itself without any supervision. They can sense, learn, plan and act. To keep details to a minimum, lets just say that, these robots, are very much like us.

Each robot has an open source software that it runs. Its this software that makes it very autonomous. The software contains billions of lines of code. The engineers and quality assurance engineers, from around the globe, gather together weekly to discuss plans to test the software. Like all good software and hardware , these robots needs to be tested for quality so that we have only the best robots. 

Finally, they come up with a brilliant plan. The autonomous software cant be tested out in a day. Its going to take some time. They decide to create a small test world for the robots. The robots will then have fixed birth and death in that world. The robots would be allowed to live autonomously in that world. Each robot will be observed closely as to how it functions - Whether it learns to do its tasks in the best possible way and whether its survives in the test environment in the best possible manner. The one that performs the best tasks will have the best quality software in it.

To add to the challenge, there is group of people who are against robots. They have created a virus that can divert the robots from functioning in the best possible manner. Each and every robot is prone to this virus. There is no anti virus software to isolate and destroy the virus. This virus causes sensor errors and other problems that are sometimes very difficult to diagnose. 

Here is the test plan :-

1) Disable robots sensors to detect the engineers. They can now only detect other robots and its temporary test world.
      - The rationale behind this is that, engineers are always observing the robots. Any direct sense of the engineers will interfere in the autonomous decision making functionalities of the software. To understand this scenario, consider culprits being observed by police 24x7. Will the culprits ever commit a crime if they know that the police is watching them close !!

2) To help overcome the virus, engineers decide to release 'protocol robots' once in a while. These protocol robots are the best possible robots ever. These robots will be role models for other robots. Other robots can choose to follow or not follow the protocol robots. Some of these protocol robots are also given a 'manual book' that describes the best possible way of life in the test world. These protocol robots warn the other robots about the virus and improper functioning. 

3) Engineers also decides to place various signs in the test world that informs the robots about the right way of functioning.

4) After the test time for a robot ( death ), the observations of its behaviour in the test world is analysed. If its found to have functioned in the best possible manner, its stamped OK and released. Else its destroyed.

Coming back to today, we are now struggling hard to design autonomous robots. Little do we think about mass testing them. We are still not there yet. But the tasks that we might need to do sheds a lot of light on how we function and about our life .

What if the engineers who designed us was just one person. What if this world is our test world. Are we functioning right!!!

 
 
A mosque
Who can tell us what a mosque is
Today, we can stare at it with dropped jaws
while it was just a Cave for 7 some, once, in olden days.

My dream mosque is built with people and not stones.
It is a community of people, a social network of a mahal.
It doesnt require any income from the people. But can provide jobs, income and money to them.
It should provide shelter, food and security to needy.
It should provide education and support to the people under it and other people not under it.
Any help, we need, should be available in the mosque. 

A dream mosque can only be built if there is a group of people who believe and is looking for a place to get together and worship Allah. 

It cannot be built by those who want to build a mosque.

 
 
 
 
Inspiration : 36:40

It is not allowable for the sun to reach the moon, nor does the night overtake the day, but each, in an orbit, is swimming.

Isn't it amazing that everything in this world is actually swimming, when we think about it. Each event or action is related to the previous one and flows from it to the next. 

If I have to move a pen from my left side to my right side, it has to actually flow from the left side to my right as my hand picks it up and then drop it. It cant vanish from the left side and appear instantly on the right side. There is always a path that is followed and can be traced.

Isn't that amazing. I am reading a lot about how our mind understands and recognise environments and space that I realised the importance of 'swimming' in our life. Our mind forms maps of our environments and these maps are called cognitive maps.


Cognitive maps are highly imprecise maps and are nothing like the google maps. But its automatic for us and we use it to understand where we are and move to another location. 


These cognitive maps form a representation or a snapshot of a view of the environment and each such representation connects to the next to form a map.


 Its always the flow -> From Here to This to There

Like 1 -> 2 -> 3 -> 4 -> 5

Is Swimming...

So what does all these lead to. More questions ofcourse. Is it that the world is designed so that everything is swimming or is it our mind that perceives everything to be swimming. We have no way of knowing what the world is without our perceptions about it. Our perceptions are just perceptions that cant be always accurate, like the illusions that we perceive to be true.

Sun, moon , night and day are all swimming in orbits ( paths ). Revealed more than 1400 years ago.


 
 
 
 
 
 
 
 
To understand the book - Concrete Semantics, we got to revise the lessons on Logical and set theoretic notations.

PATH SO FAR 
Theorem Proving <= Isabelle <= functional programming <= concrete semantics <= logical and set theoretic notations

Here is a good reference :-
 
 
http://isabelle.in.tum.de

Isabelle is a generic proof assistant. It allows mathematical formulas to be expressed in a formal language and provides tools for proving those formulas in a logical calculus. The main application is the formalization of mathematical proofs and in particular formal verification, which includes proving the correctness of computer hardware or software and proving properties of computer languages and protocols.