Its Monday evening and I am back to my books. After a weekend away from technical reading I am back to normal reading now and also discussing online with my mate Nathan about Semantics and the philosophical concept of Semantics.
In search of finding the root of semantics or what is required to make something semantic. I was digging into books and articles and in one of the articles from one of the famous author so far (John F Sowa), I came across something which is so good to be true. He explained what it is required for a Natural language or First order language to be semantic.
Every Natural languge or the First order logic deals with five primitives. They are called semantic primitives because they go beyond syntactic relations between signs to semantic relations between signs and the world. Any notation that is capable of expressing these five primitives in all possible combinations must include all of FOL as a subset. As an example, the WHERE clause of the SQL query language can express each of these primitives and combine them in all possible ways; therefore, first-order logic is a subset of SQL. Different languages may use different notations for representing the five primitives:
1. Existence. In most natural languages, existence is implied by mentioning something. For emphasis, languages also provide an explicit existential quantifier such as the word some. In the algebraic notation for logic, existence may be expressed by an explicit symbol, such as $. In SQL, existence is stated implicitly by mentioning something or explicitly by using the keyword EXISTS. A real World Example could be something like "There is a Person". This statements emphasizes on existence of the person.
2. Coreference. To say that two different signs refer to the same thing, natural languages use a variety of methods, both explicit and implicit: pronouns, determiners, inflections, and forms of the verb be. Most linear notations for logic use variables and the equal sign, and graphic notations use connecting lines or ligatures. Like other linear notations, SQL uses variables and the equal sign. In real-world we can equate to something like "He is my Friend". Here we are referring to someone as a Friend.
3. Relation. Content words in natural languages express some information about at least one entity, known as the referent of the word, but they may also relate or imply other entities as well. The verb give, for example, refers to an act of giving, but it also implies a giver, a gift, and a recipient. In SQL, relations are called tables. A Statement like "Michael Schumacher Drives Ferrari". Here the relation between Michael Schumacher and Ferrari is being established.
4. Conjunction. In both natural and artificial languages, conjunction may be expressed implicitly by making one statement after another or explicitly by a word like and or a symbol like Ù. SQL uses the keyword AND. Like Samir Lives in Australia and Possesses Indian Citizenship.
5. Negation. All natural languages and most versions of logic provide words, inflections, or symbols to express negation. The biggest variations from one language to another are in the methods for distinguishing the context or scope of what is negated from what is not negated. SQL uses the keyword NOT with parentheses to show scope. e.g. He is not Working.
In our day to day life we make use of these primitives numerous times. And they have become part of ours. This poses a very legitimate question is "What is Semantics?"
It is coming in next post..