1 + x = 3 as a Query

Just a brief recap of some software engineering fundamentals:

FOL Query

What is

(1) 1 + x = 3, with x ∈ N

from a software engineering perspective? Can it be considered a requirement? No, because it’s not a sentence and thus cannot be evaluated to true/ false.
Can it be considered a query? Yes, since it defines a result set on N, that is {(2)}.
This result set contains a single 1-ary tuple. Other cases are:
1 + x <= 3, {(1), (2)}
3 + x = 1, {}
1 + 2 = 3, {()}
3 + 2 = 1, {}

Here "()" is said to be a tuple with arity 0. For example, a 2-tuple (1, 2) can be defined by a set {{1}, {1, 2}}. Thus a 1-tuple (1) is {{1}}, and a 0-tuple () is {}. Thus, {()} and {} correspond to truth values true and false.

SQL Query

An SQL version would go like this: we define a table “+” (cols y, x, z) that contains all possible results (y+x=z) (what would make it actually infinite, but nerver mind), that we can query by

(2) select x from + where y = 1 and z = 3;

or alternatively for a table N of all naturals (col n) and a query language containing a + operator:

(3) select n from N where 1 + n = 3;

Boolean Query

Back to First Order Logic. Also the following equation can be considered a query of 0-ary tuples, a so called boolean query:

(4) ∃x 1 + x = 3

Notice, this could also be seen as a requirement, since it evaluates to true/ false. So could “1+2=3”. However, requirements are usually about sets not about single instances, i.e. Boy loves Girl, not Willy loves Kate. So, “1+2=3” would correspond more to a test case.

So long
|=

About modelpractice

Modeling Theory and Abstraction Awareness in strive for scientific rigour and relevance to information systems engineering.
This entry was posted in Epistemology and tagged , , , , , , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s