[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

This glossary contains brief definitions for terms used in the PowerLoom User’s Manual and/or used by the knowledge representation community. It is impractical to give a logically precise definition for many of these terms, because their interpretation varies quite a bit. In this case, the glossary attempts to indicate a range of interpretations consistent with their use in PowerLoom.

**Assertion:** An assertion states that a particular
proposition is `True`

or `False`

.

**Backward and Forward Inference:** **???**

**BACKWARD RULE:** **???**

**Binary Relation:** A relation having two arguments
(arity equals two), often as a mapping from one concept domain to
another. This is by far the most common form of relation.

**Classifier:** A classifier is a type of an inference
engine that implements efficient strategies for computing subsumption
relations between pairs of concepts, or for computing instance-of
relations between a concept an a set of instances. PowerLoom implements
a classifier that can be explicitly invoked by an application program.

**Clipping:** If a function or single-valued binary
relation maps an instance to two or more other instances, a logical
contradiction (a clash) exists. If clipping is enabled, PowerLoom will
automatically retract all assertions but the last that lead to a clash.
Clipping can be toggled on or off; it is enabled by default.

**Closed-World Semantics:** Under closed-world semantics
it is assumed that “if proposition `P`

cannot be proved
`True`

, then assume that `P`

is `False`

.” PowerLoom
gives programmers the option to explicitly declare that concept or a
relation operates under the assumption of closed-world semantics (See
also Open-World Semantics).

**Concept:** A concept defines a category or class of
individuals. PowerLoom categorizes a concept as a special kind of
relation. The distinction between a concept and a unary relation is
subtle (some logicians do not believe that there is any
distinction(10)). In linguistics, the
distinction is that between a noun and an adjective. In logic, the test
we favor is whether or not the relation has a domain — a unary
relation has a domain, while a concept does not. For example, the
relation ‘married’ has domain ‘person’, while the concept
‘married-person’ does not have a domain (or is its own domain).

**Constraint:** “Constraint” at its most general is a
synonym for “rule”. Often a constraint is conceptualized as a rule
that restricts the types of the arguments that can appear within a
tuple.

**Context:** **???**

**Default Rule:** A default rule expresses an conditional
implication that applies only when its consequent is consistent with
current state of the knowledge base. In other words, the rule applies
only when it will not lead to a contradition.

**Definition:** A definition binds a name to a logical
expression. PowerLoom syntax defines several operators with names of the
form `defxxx`

(e.g., `defconcept`

and `defrule`

) that
declare definitions for various types of entities.

**Description:** A “description” is an expression that
defines a particular logical relation (e.g., the class of all
three-legged black cats). In PowerLoom, the terms “concept” and
“relation” generally refer to `named`

relations, while a
description may or may not have a name. The KIF operators `kappa`

and `setofall`

are used to define unnamed descriptions.

**Description Logic:** The term “description logic”
refers to a logic that focuses on descriptions as its principal means
for expressing logical expressions. A description logic system
emphasises the use of classification and subsumption reasoning as its
primary mode of inference. Loom and Classic were two early examples of
knowledge representation systems that implement description logics.

**Domain Model:** A collection of definitions, rules, and
facts that characterizes the possible states of some real or imagined
world. The domain model specifies a terminology (of concepts and
relations) that is useful for describing objects in that world. Often
“domain model” refers to that portion of a world’s representation that
does not change over time.

**Extension:** Given a relation `R`

with arity
`N`

, the extension of `R`

is the set of ground propositions of
the form `(R x1 ... xN)`

whose truth value is true. If R is a
concept, then its extension of often considered to be, not a set of
unary tuples, but the set of argument fillers of those tuples, i.e., the
set of instances that belong to the concept.

**Fact:** A fact is a proposition that has been asserted
to be either `True`

or `False`

. The term “fact” usually
refers to a “ground proposition”, i.e., a proposition that can be
represented as a predicate applied to a sequence of instances or
literals.

**Filler:** The second argument to a binary tuple is often
refered to as its “filler”. When a multiple-valued binary relation
maps an instance to a set of values, these values are also called
“fillers”.

**Forward Rule:** **???**

**Function:** Formally, a function is a relation such that the
value of the last (nth) argument of a relational tuple is a function
of the values of the first n-1 arguments. This definition coincides
with the notion of a “single-valued relation”. PowerLoom (and KIF)
support specialized syntax that allows functions that have been defined
using the operator `deffunction`

to appear in term expressions
(e.g., `(= (f ?x) 42))`

).

**Instance:** An instance denotes an entity within a
domain model, a member of the concept *Thing*. Depending on ones
interpretation, this could include almost everything. Often the term
“instance” is used more narrowly, to exclude literals and other
objects whose properties do not change over time. PowerLoom assumes
that concepts and relations are instances.

**KIF:** Short for “Knowledge Interchange Format”, KIF
is a language that defines a Lisp-like syntax for the predicate
calculus. There is an ANSII-standard that defines the KIF syntax and
semantics. PowerLoom adopts KIF as its representation language, and
adds a few extensions.

**Knowledge Base:** A knowledge base attempts to capture
in abstract (machine interpretable) form a useful representation of a
physical or virtual world. The entities in that world are modeled in the
knowledge base by objects we call * terms*. Examples of terms are
“Georgia” (denoting the U.S., state), “BenjaminFranklin” (denoting
the historical person by that name), the number three, the string "abc",
and the concept “Person”.

**Literal:** A logically static constant. Examples are numbers,
strings, quantities, and truth values.

**Module:** **???**

**Open-World Semantics:** PowerLoom assumes an open-world
semantics, unless a user explicitly specifies that it use closed-world
semantics. Under this assumption, if PowerLoom cannot prove or disprove
a proposition, then it assigns that proposition the value `Unknown`

(See also Closed-World Semantics).

**Predicate:**. The term *predicate* is a syntactic
notion that refers to the zeroth arguments of a proposition. Predicates
denote relations and properties, i.e., sets.

**Proposition:**. A logical sentence whose truth value
can be evaluated with respect to some context. Each PowerLoom assertion
assigns the value `True`

or `False`

to some proposition.

**Primitive Relation:** `P`

is a primitive concept
or relation if and only if a proof that `(P x1 ... xn)`

is true
exists only for the case that there exists an explicit assertion of a
proposition `(Q x1 ... xn)`

and either `Q`

equals `P`

or
`Q`

is a proper subrelation of `P`

. In otherwords, the only
rules that imply membership in `P`

are those that relate `P`

to one of its (proper) subconcepts or subrelations.

**Query:** A query probes the informational state of a
knowledge base. An `ask`

query test the truth of its propositional
argument. A `retrieve`

asks for sets of constants (bindings) that
make its propositional argument true when the constants are substituted
in place of its variables. The propositional argument to `ask`

and
`retrieve`

arbitrary expression in the first-order predicate
calculus. Because of constraints imposed either by resource limitations
or inherent undecidability, PowerLoom cannot guarantee the completeness
of its inferences.

**Relation:** **???**

**Retraction:** A retraction changes the truth value of a
proposition from either `True`

or `False`

to the value
`Unknown`

. Retraction is a procedural (non-declarative) operation.

**Rule:** A “rule” is any universally-quantified
proposition, i.e., a proposition of the form ```
(forall (?x1 ... ?xn)
<logical sentence with free variables ?x1 ... ?xn)
```

. PowerLoom supports
several different syntactic constructs for defining rules. (See also
Forward Rule and Backward Rule).

**Subsumption:** A subsumption relation specifies the
relative generality of two concepts. A concept `A`

subsumes a
concept `B`

if the definitions of `A`

and `B`

logically
imply that members of `B`

must also be members of `A`

.

**Truth-Maintenance:** **???**

**Type:** Often used a synonym for the term
*concept*. The phrase “a type of an instance” generally refers
to (one of) the concepts that the instance belongs to. The phrase “nth
domain type” refers to a concept that contains all instances of the nth
column of a relation.

**World:**
**???**

[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |

This document was generated by *Hans Chalupsky* on *October 16, 2010* using *texi2html 1.82*.