Introduction to deCheem

The purpose of deCheem

Human language can be amazingly nuanced, allowing us to communicate complicated concepts that are specific to a certain context, culture or emotional state.

However, this very property of human language starts to limit us when we start taking on extremely complicated discussions involving multiple conflicting arguments and beliefs. Examples of this manifesting in our daily lives are plenty: business meetings that drag on for hours in search of a best-fit solution when actually none is possible if all the requirements are properly understood. People spending their lives chasing certain ideals and dreams, unaware of how these are at odds with their fundamental beliefs and values.

Most of the time, people involved in these modern-day ‘Socratic sessions’ have more than enough brain power to understand the arguments in the discussion when taken one at a time. However, when several arguments need to be stringed together to reach conclusions that are not necessarily intuitive, people start to struggle.

Often it is because the arguments are part of dense and lengthy essays or dialogues, making it difficult for one to keep remember and thus comprehend all it’s components holistically. Other times, the conclusions are reached but dismissed, because they are so unintuitive that one simply assumes that his or her reasoning must have been faulty.

deCheem’s was born out of the need for a method to express arguments, beliefs and statements in a consistent and succinct manner, so that watertight reasoning can be performed based on them. With it, people gain access to a robust framework for conducting discourse and argumentation and cut down the confusion and misunderstandings so common in our daily lives.

The deCheemic way of describing things

deCheem is basically a multi-dimensional Venn diagram. It’s purpose is to help us see the world around us as a ‘universal set’, and then framing normal human sentences as statements about the sets in this world.

To understand how deCheem works, it is important to learn to frame statements and arguments in a deCheemic way.

In the deCheem framework, all that we say, write and think about the world can be said to comprise of two parts:

  • Description of what that thing is, which can be a compound statement consisting of multiple descriptive properties.
  • A modal, which is a normative or prescriptive component of our thoughts about the thing (or category of thing) described.

Consider the sentences below as examples:

  • I don’t like to eat fish.
  • Things that are sour are not nice to eat

In deCheemic terms, this can be broken down into:

descriptive properties Modal
Fish don’t like to be eaten by me.
Things that are sour are not nice to eat

As it is possible to have a mental image of anything that we are able to imagine, and anything that we can imagine can eventually be described by some form of language or another, there should not be any limits to what can be described under deCheem, assuming the right number of descriptive properties with the right amount of descriptive specificity are used.

Theory behind deCheem: the concept of All Possible Combinations

Before we talk about deCheem’s syntax and functioning, it is important to understand the thought framework that underlies it, which is based on set-theory.

Imagine there is some called Jan who holds the following three simple beliefs (described with placeholder adjectives):

  • Things which are ‘KAKA’ exist.
  • Things which are ‘ALPHA’ and ‘GAMMA’ do not exist.
  • Things which are ‘ALPHA’ and ‘YETA’, but not ‘BETA’, do not exist.

Let us then express his beliefs in the following deCheemic form:

          descriptive_properties          | statementmodal
------------------------------------------+----------------
 KAKA=TRUE                                | EXISTS
 ALPHA=TRUE AND GAMMA=TRUE                | NOT EXISTS
 ALPHA=FALSE AND BETA=FALSE AND YETA=TRUE | NOT EXISTS
(3 rows)

‘Things’ here simply refer to the most generic ‘thing’ one can imagine; everything from concepts, ideas, people, animals to objects all fall under ‘things’. It is the basic term one can use to describe anything in the universal set of everything imaginable in this universe.

In this situation, ALPHA, KAKA, GAMMA, BETA and YETA are placeholder adjectives, which I shall call descriptive properties of things. Once a descriptive property has been described, it opens up the possibility for all things in the universe to be described by it. There can be three ways in which a thing can interact with a descriptive property:

  1. be positively described by it (e.g. it is KAKA).
  2. be negatively described by it (e.g. it is not KAKA).
  3. have no known descriptive relationship with it (e.g. it is not known whether it could be KAKA or not)

To come up with a framework to describe things in case 1 and 2, every descriptive property needs to be able to take up the boolean values of either True or False. To encapsulate the third case, we need to take into account cases where things can either be True or False on every descriptive property.

What this means is that we need to imagine a table of all possible combinations of True/False values for all descriptive properties mentioned. If we extract the descriptive properties from Jan’s three statements and flesh out all possible combinations, we will get 32 possible combinations (simply 2 to the power of 5):

 rowid | gamma | beta | kaka | yeta | alpha
-------+-------+------+------+------+-------
     1 | t     | t    | t    | t    | t
     2 | t     | t    | t    | t    | f
     3 | t     | t    | t    | f    | t
     4 | t     | t    | t    | f    | f
     5 | t     | t    | f    | t    | t
     6 | t     | t    | f    | t    | f
     7 | t     | t    | f    | f    | t
     8 | t     | t    | f    | f    | f
     9 | t     | f    | t    | t    | t
    10 | t     | f    | t    | t    | f
    11 | t     | f    | t    | f    | t
    12 | t     | f    | t    | f    | f
    13 | t     | f    | f    | t    | t
    14 | t     | f    | f    | t    | f
    15 | t     | f    | f    | f    | t
    16 | t     | f    | f    | f    | f
    17 | f     | t    | t    | t    | t
    18 | f     | t    | t    | t    | f
    19 | f     | t    | t    | f    | t
    20 | f     | t    | t    | f    | f
    21 | f     | t    | f    | t    | t
    22 | f     | t    | f    | t    | f
    23 | f     | t    | f    | f    | t
    24 | f     | t    | f    | f    | f
    25 | f     | f    | t    | t    | t
    26 | f     | f    | t    | t    | f
    27 | f     | f    | t    | f    | t
    28 | f     | f    | t    | f    | f
    29 | f     | f    | f    | t    | t
    30 | f     | f    | f    | t    | f
    31 | f     | f    | f    | f    | t
    32 | f     | f    | f    | f    | f
(32 rows)

With this table of all possible combinations, which I shall call the table of combinations, we can start using the deCheemic form of Jan’s statements of belief as SQL queries to mark the subsets of combinations that he deems to be existent or not.

 rowid | gamma | beta | kaka | yeta | alpha |                   statement_modals
-------+-------+------+------+------+-------+------------------------------------------------------
     1 | t     | t    | t    | t    | t     | Statement 2 says NOT EXISTS, Statement 1 says EXISTS
     2 | t     | t    | t    | t    | f     | Statement 1 says EXISTS
     3 | t     | t    | t    | f    | t     | Statement 1 says EXISTS, Statement 2 says NOT EXISTS
     4 | t     | t    | t    | f    | f     | Statement 1 says EXISTS
     5 | t     | t    | f    | t    | t     | Statement 2 says NOT EXISTS
     6 | t     | t    | f    | t    | f     |
     7 | t     | t    | f    | f    | t     | Statement 2 says NOT EXISTS
     8 | t     | t    | f    | f    | f     |
     9 | t     | f    | t    | t    | t     | Statement 1 says EXISTS, Statement 2 says NOT EXISTS
    10 | t     | f    | t    | t    | f     | Statement 1 says EXISTS, Statement 3 says NOT EXISTS
    11 | t     | f    | t    | f    | t     | Statement 1 says EXISTS, Statement 2 says NOT EXISTS
    12 | t     | f    | t    | f    | f     | Statement 1 says EXISTS
    13 | t     | f    | f    | t    | t     | Statement 2 says NOT EXISTS
    14 | t     | f    | f    | t    | f     | Statement 3 says NOT EXISTS
    15 | t     | f    | f    | f    | t     | Statement 2 says NOT EXISTS
    16 | t     | f    | f    | f    | f     |
    17 | f     | t    | t    | t    | t     | Statement 1 says EXISTS
    18 | f     | t    | t    | t    | f     | Statement 1 says EXISTS
    19 | f     | t    | t    | f    | t     | Statement 1 says EXISTS
    20 | f     | t    | t    | f    | f     | Statement 1 says EXISTS
    21 | f     | t    | f    | t    | t     |
    22 | f     | t    | f    | t    | f     |
    23 | f     | t    | f    | f    | t     |
    24 | f     | t    | f    | f    | f     |
    25 | f     | f    | t    | t    | t     | Statement 1 says EXISTS
    26 | f     | f    | t    | t    | f     | Statement 1 says EXISTS, Statement 3 says NOT EXISTS
    27 | f     | f    | t    | f    | t     | Statement 1 says EXISTS
    28 | f     | f    | t    | f    | f     | Statement 1 says EXISTS
    29 | f     | f    | f    | t    | t     |
    30 | f     | f    | f    | t    | f     | Statement 3 says NOT EXISTS
    31 | f     | f    | f    | f    | t     |
    32 | f     | f    | f    | f    | f     |
(32 rows)

From this marked table of combinations, the stage is set for all kinds of interesting queries to be run, and for linguistic expressions like ‘Always’, ‘Never’, ‘Sometimes’ and ‘Possible’ to be constructed on top of it.

For example, an interesting query would be to looking for the cases where Jan’s statements would contradict each other (e.g. rowids 1,3,9,10,11,26).

However an even more interesting query would be to see what Jan did not explicitly say, but would imply under certain conditions.

Let’s say we want to know what ‘things’ would be acceptable for Jan under the anchoring condition that things need to be GAMMA but not BETA. By filtering on the rows without ‘NOT EXISTS’ statements and with GAMMA=True and BETA=FAlse, we have two rows remaining.

 rowid | gamma | beta | kaka | yeta | alpha |    statement_modals
-------+-------+------+------+------+-------+-------------------------
    12 | t     | f    | t    | f    | f     | Statement 1 says EXISTS
    16 | t     | f    | f    | f    | f     |
(2 rows)

Summarising these, you will see:

 descriptive_property | true_count | false_count
----------------------+------------+-------------
 KAKA                 |          1 |           1
 YETA                 |          0 |           2
 ALPHA                |          0 |           2
(3 rows)

This implies that under the condition of things being GAMMA and not being BETA, things will definitely need to not be YETA or ALPHA. There is however no verdict on things having to be KAKA or not under these circumstances, which is in line with Jan’s beliefs.