Top  UNL Expression   Relations   Attributes  Universal Words  UNLKB  Knowledge Representation in UNL  Logical Expression in UNL  UNL System UNL 2005 Specifications

7 June 2005

Chapter 7  Logical Expressions in UNL

In this chapter, how UNL can be used as logical language for expressing logic and what expressive functions the UNL provides to describe logical expressions for reasoning are described. The functions to express logic in UNL and the mechanism of reasoning using UNL are essential  to establish Knowledge Infrastructure based on UNL.

This chapter includes 4 sections as follows:

# 7.1  Expression of Variables in UNL

Every concept is represented using UW in UNL expressions. Inference rules and necessary logical expressions are necessary to be expressed in UNL. Variables are necessary to write rules and logical expressions. UNL should deal with the variables. In UNL, variables are expressed as temporary UWs with variable names as headwords, the domains of variables as constraints of the UWs in the following format:

 Table 7.1 : Descriptive format of a variable UW: "(iof>"")"

Where,

 ::= a variable name such as "x", "y", etc ::= a UW that can express the domain. Full expression of a UW must be used.

For example, ‘x(iof>dog(icl>canine))’ is a variable expressing any element belonging to 'dog(icl>canine)'.

[ex1] Logical expression for “dogs are clever” is the following as shown in (1):

 ∀x ( dog(x) -> clever(x) ) (1)

UNL expression of this logical expression is the following as shown in [UNL1]:

 [UNL1] aoj:01 ( dog(icl>canine).@entry, x(iof>dog(icl>canine)) ) con ( :02.@entry, :01 ) aoj:02 ( clever(aoj>thing).@entry, x(iof>dog(icl>canine)) )

In case of logical expression “x,y ( x=parent(y) -> y=child(x) )”, more than one variables are necessary to introduce.

[ex2] For Logical expression:

 ∀x,y ( x=parent(y) -> y=child(x) ) (2)

the UNL expression is shown as [UNL2]:

 [UNL2] aoj:01 ( parent(icl>relative).@entry, x(iof>parent(icl>relative)) ) pos:01 ( parent(icl>relative).@entry, y(iof>child(icl>relative)) ) con ( :02.@entry, :01 ) aoj:02 ( child(icl>relative).@entry, y(iof>child(icl>relative)) ) pos:02 (child(icl>relative).@entry, x(iof>parent(icl>relative)) )

In UNL logical expressions of [UNL1] and [UNL2], relation ‘con’ has the same function as the logical operator '->'  (means "implication").

# 7.2  UNL Expressions for Logic and Meaning Representation

Logical expression in UNL [UNL1] describes literally “if x is a dog, it is clever”. However, semantic expression of “dogs are clever” in UNL expresses the same meaning. This means that “if x is a dog, it is clever” is equivalent to “dogs are clever”, and [UNL1] is equivalent to the [UNL1-1] below.

 [UNL1-1] aoj ( clever(aoj>thing).@entry, dog(icl>canine) ) qua ( dog(icl>canine), all(qua

[UNL1] is more appropriate for reasoning, whereas [UNL1-1] is more simple and natural, and directly reflects the semantic structure of natural languages. Thus, [UNL1-1] is more appropriate for natural language analysis and generation. Generally, knowledge provided by natural languages is expressed by UNL in the simple way like [UNL1-1]. However, sometimes the logical expression, for example [UNL1], is necessary to be extracted from knowledge representation of UNL in order to facilitate reasoning process. Likewise, logical expressions resulted from reasoning is necessary to be converted into simple UNL expressions so that more natural sentences can be generated easily.

For instance, conversion between [UNL1] and [UNL1-1] can be carried out in the following steps:

Steps of conversion from [UNL1] to [UNL1-1]: 'x(iof>dog(icl>canine))' is an variable in the condition part 'aoj( dog(icl>canine), x(iof>dog(icl>canine)) )' and the relation is 'aoj', we can get 'x(iof>dog(icl>canine)) = dog(icl>canine)'. In addition to this, 'x(iof>dog(icl>canine))' is a variable and can have all the element of 'dog(icl>canine)', 'qua( dog(icl>canine), all(quadog(icl>canine))' for the value of the variable 'dog(icl>canine)', we can get 'aoj( clever(aoj>thing).@entry, dog(icl>canine) )'.

Steps of conversion from [UNL1-1] to [UNL1]: Introduce a variable 'x(iof>dog(icl>canine))' to represent all the element of 'dog(icl>canine)' based on the binary relation 'qua( dog(icl>canine), all(quacanine).@entry, x(iof>dog(icl>canine)) )' and also make conclusion part 'aoj:02( cleaver(aoj>thing).@entry, x(iof>dog(icl>canine)) )', then generate linking 'con(:02.@entry, :01 )'.

# 7.3  UNL Expression on Quantification of Logical Expression

UWs basically represent class concepts or instances. UWs representing class concepts can be used to express all instances of the class, a subclass concept, or particular instances with quantifier. In UNL, quantifiers are expressed by UWs or attributes. Tables 7.1 and 7.2 show the attributes and UWs that have the function of indicating quantifiers which can restrict a UW representing a class concept to express a specific set of the concepts.

 Table 7.1: Attributes that have the functions for quantification @generic Attached to a UW to express all instances of the concept. @def Attached to a UW to express some particular instance of the concept. @indef Attached to a UW to express existence of some instance of the concept. Corresponding to "existential quantifier" of logical expression @not Attached to a UW to express the complement concepts or instances. @ordinal Attached to a UW to express some particular instance of the concept.
 Table 7.2 : Examples of UWs expressing quantities all(qua Has ‘qua’ relation with a UW to express the number of instances of the concept

The followings are examples to show how the universal quantifier() and existential quantifier() of logical expressions are expressed in UNL.

[ex3] Logical expression for “all is walking” is shown as in (3):

 ∀x ( person(x) -> walk(x) ) (3)

[UNL3] shows the UNL logical expression, and [UNL3-1] shows the UNL semantic expression of the sentence.

 [UNL3] aoj:01 ( person(icl>human).@entry, x(iof>person(icl>human)) ) con ( :02.@entry, :01 ) agt:01 ( walk(agt>thing).@entry, x(iof>person(icl>human)) ) [UNL3-1] agt ( walk(agt>thing).@entry, person(icl>human) ) qua ( person(icl>human), all(qua

[ex4] Logical expression for “someone is walking” is shown as in (4):

 ∃x ( person(x) ∧ walk(x) ) (4)

[UNL4] shows the UNL logical expression, and [4-1] shows the UNL semantic expression of the sentence

 [UNL4] aoj:01 ( person(icl>human).@entry, x(iof>person(icl>human)) ) int ( :02.@entry, :01 ) agt:01 ( walk(agt>thing).@entry, x(iof>person(icl>human)) ) [UNL4-1] agt ( walk(agt>thing).@entry, person(icl>human).@indef )

Relation ‘int’ of UNL has the same function as intersection () of logical operator.

Scope (domain) of Quantification

"everyone loves someone" has two interpretations: 1) every person has some person to love, and 2) all persons love the same one person. (5) and (6) show the logical expressions respectively:

 ∀x∃y love ( x, y ) (5)

 ∃y∀x love ( x, y ) (6)

As shown in (5) and (6), scopes of "universal quantifier" and "existential quantifier" are different for the two meanings. In (5), "existential quantifier" exists within the scope of "universal quantifier", whereas in (6), "universal quantifier" exists within the scope of "existential quantifier".

In UNL, this scope of quantification can be expressed by either scopes (compound concepts) of UNL expression, or UWs or attributes that can quantify the different meanings. [UNL5] and [UNL6] show the UNL expressions, figures 7.1 and 7.2 show the graphs of the two different meanings of 1) and 2) using scopes.

In UNL, except cooperative concepts, different initiators are considered to initiate different events. For example "two dog are running" implies two independent events such as "one dog is running" and "another dog is running". According to this interpretation, the first meaning of 1) can be expressed through [UNL5] and the second meaning of 2) can be expressed through [UNL6].

In [UNL5], "love someone" is expressed in a scope. Within the scope, "someone" is linked to "love" by 'obj'. "every person" as agent is linked to the scope. According to the interpretation of different agent initiating different event, the number of events exist according to the number of agents, the initiators of the events respectively. In each event, the "person" to love exists for each event through relation 'obj'.

In [UNL6], "everyone loves" is expressed in a scope. Within the scope, "everyone" is linked to "love" as agent. "someone" is linked to the scope as object. According to interpretation mentioned above, different events caused by different agents (initiators) exist inside the scope. And all these events are linked by one relation 'obj' to indicate the same "person" to love.

 [UNL5] agt(:01.@entry,    person(icl>human):01) qua(person(icl>human):01,    every(quathing,obj>thing).@entry,    person(icl>human):02) mod:01(person(icl>human):02,    some(modthing,obj>thing).@entry,    person(icl>human):01) qua:01(person(icl>human):01,    every(quahuman):02) mod(person(icl>human):02,    some(mod Figure 7.1 graph of [UNL5] Figure 7.2 graph of [UNL6]

# 7.4  Attributes and Relations that can Express Logic

Attributes of UNL have been developed mainly to express subjective information with respect to the author of a sentence. In UNL2005, new attributes to express logical expressions are introduced in order to strengthen the expressiveness of the UNL, although the roles of those attributes can be expressed using UWs in ordinal UNL expressions. In this section, attributes and relations for expressing logic are summarized.

## 7.4.1  Attributes for Expressing Logic of UW

Table 7.3 shows the attributes for expressing logic of UW. These attributes are used to attach to the UWs that have the logic. ‘:@disjointed’ can be attached to a group of UWs (a scope) to show that every concept included in the group are disjointed. It means that all concepts do not share instances.

 Table 7.3 @transitive attached to an UW that has transitivity '@transitive' can be attached to UW 'ancestor(icl>relative)'. Because if "A is a ancestor of B" and "B is ancestor of C" are true, "A is ancestor of C" will be true. @symmetric attached to an UW that has symmetricality '@symmetric' can be attached to UW 'partner(icl>...)'. Because if "A is a partner of B" is true, "B is a partner of A" will be true also. @identifiable attached to an UW that can identify the subject '@identifiable' can be attached to (compound) UW 'national health insurance id' as it can identify the person who holds the ID. @disjointed attached to an UW or a group of UWs to show that all concepts do not hold common instances. All connected UWs do not share instances. '@disjointed' can be attached to a scope consists of "men and women" for instance, when both concepts included in the scope do not share common instances.

## 7.4.2  Relations for Expressing Logical Relations

These relations of UNL have been developed to focus on expressing semantics of a sentence. From this point of view, the relations can be divided into three groups: 1) to express case relations ('agt', 'obj', etc), 2) to express event relations ('con', 'seq', etc), and 3) to express conceptual relations ('cnt', 'equ', etc). Tables 7.4 and 7.5 show the relations that can be used to express logic and the meaning when they are used to express logic.

 Table 7.4 : relations that can be used to express logical relations between concepts and Connects two concepts that values are true. Corresponds to the logical operator "union" con Shows the conditional concepts. Corresponds to the logical operator "imply" but the direction is reverse int Connects two concepts and takes an intersection. Corresponds to the logical operator "intersection" or Connects two events that one of them is true at least. Corresponds to the logical operator "exclusive union"
 Table 7.5 : relations that can express logical relations cnt Link a concept to the content equ Link to an equivalent concept icl Link to an upper class concept iof Link an instance to a class concept