Multi-Dimensional

Logic

Programming

Theoretical

Foundations

Mehmet

A.

Orgun

Weichang

Du

Department

of

Computing

Department

of

Mathematics

Computer

Science

Macquarie

University

University

of

New

Brunswick

Sydney

NSW

Australia

Saint

John

N.B.

Canada

Tel

Tel

506 648-5725

Fax

Fax

506 648-5528

E-mail

Mehmet.Orgun@mq.edu.au

E-mail

wdu@unb.ca

ABSTRACT

This

paper

introduces

an

extension

of

logic

programming

based

on

multi-dimensional

logics

called

MLP

In

a

multi-dimensional

logic

the

values

of

elements

vary

depending

on

more

than

one

dimension

such

as

time

and

space

The

resulting

logic

programming

language

is

suitable

for

modelling

objects

which

involve

implicit

and/or

explicit

temporal

and

spatial

dependencies

The

execution

of

programs

of

the

language

is

based

on

a

resolution-type

proof

procedure

called

MSLD-resolution

-LRB-

for

Multi-dimensional

SLD-resolution

-RRB-

MSLD

resolution

is

based

on

the

axioms

and

rules

of

inference

of

the

underlying

multi-dimensional

logic

The

paper

also

establishes

the

declarative

semantics

of

multi-dimensional

logic

programs

based

on

an

extension

of

Herbrand

models

In

particular

it

is

shown

that

MLP

programs

satisfy

the

minimum

model

semantics

A

novel

multidimensional

interface

to

MLP

is

also

outlined

it

can

be

used

as

a

powerful

development

tool

with

the

advantage

non-determinism

inherent

in

logic

programming

Introduction

Extensions

of

classical

logics

such

as

temporal

and

modal

logic

have

been

successfully

used

as

a

formalism

in

many

areas

including

program

specification

and

verification

-LSB-

-RSB-

temporal

reasoning

-LSB-

-RSB-

and

knowledge

representation

-LSB-

-RSB-

In

temporal

and

modal

logics

the

meanings

of

formulas

vary

depending

on

an

implicit

context

and

elements

from

different

contexts

can

be

combined

through

the

use

of

contextual

-LRB-

temporal

and

modal

-RRB-

operators

not

by

explicit

references

to

context

-LRB-

time

space

or

otherwise

-RRB-

Therefore

these

logics

can

model

dynamic

properties

of

certain

problems

in

a

natural

and

problem-oriented

way

More

recently

several

researchers

have

suggested

that

temporal

and

modal

logics

can

be

directly

used

as

a

programming

language

in

applications

involving

the

notion

of

dynamic

change

There

are

a

number

of

temporal

and

modal

logic

programming

languages

Tempura

-LSB-

-RSB-

and

Tokio

-LSB-

-RSB-

are

based

on

interval

logic

which

is

a

form

of

temporal

logic

Templog

-LSB-

-RSB-

and

Chronolog

-LSB-

-RSB-

are

based

on

linear-time

temporal

logic

Temporal

Prolog

-LSB-

-RSB-

is

based

on

linear

and

branching-time

temporal

logic

InTense

-LSB-

-RSB-

is

based

on

a

multi-dimensional

logic

with

multiple

spatial

and

temporal

dimensions

MTL

-LSB-

-RSB-

is

based

on

a

temporal

logic

with

metric

and

past

operators

and

Molog

-LSB-

-RSB-

is

based

on

modal

logic

For

more

details

we

refer

the

reader

to

the

surveys

of

Fisher

and

Owens

-LSB-

-RSB-

and

Orgun

and

Ma

-LSB-

-RSB-

Just

as

the

logics

these

languages

are

based

on

their

execution

mechanisms

differ

markedly

in

the

way

programs

are

interpreted

and

answers

to

queries

are

obtained

In

Tempura

programs

are

systematically

transformed

into

a

sequence

of

state

descriptions

over

an

interval

that

satisfies

the

original

program

-LSB-

-RSB-

Templog

-LSB-

-RSB-

Temporal

Prolog

-LSB-

-RSB-

and

Chronolog

-LSB-

-RSB-

are

extensions

of

logic

programming

in

which

programs

are

executed

to

obtain

answers

by

the

use

of

resolution-type

proof

procedures

Molog

-LSB-

-RSB-

uses

modal

inference

rules

and

a

resolution-type

proof

procedure

Tokio

-LSB-

-RSB-

is

based

on

the

same

interval

logic

as

Tempura

but

its

execution

mechanism

is

a

mixture

of

transformation

and

resolution

There

are

also

several

attempts

at

developing

the

declarative

and

operational

semantics

for

these

languages

Since

it

is

known

that

first-order

temporal

-LRB-

and

modal

-RRB-

logic

is

incomplete

-LSB-

-RSB-

it

is

important

to

show

that

there

are

fragments

of

temporal

and

modal

logic

which

can

be

given

an

operational

semantics

and

that

the

declarative

and

operational

semantics

of

these

languages

coincide

-LRB-

that

is

what

we

can

compute

from

a

program

is

the

same

as

what

it

means

declaratively

-RRB-

In

ordinary

logic

programming

these

two

semantics

coincide

-LSB-

-RSB-

Brzoska

-LSB-

-RSB-

established

the

soundness

and

completeness

of

MTL-resolution

by

translating

MTL

programs

into

constraint

logic

programs

over

a

suitable

algebra

Baudinet

-LSB-

-RSB-

first

showed

that

Templog

's

proof

procedure

TSLD-resolution

is

sound

and

complete

and

it

forms

the

basis

of

the

operational

semantics

of

the

language

and

then

established

the

equivalence

of

the

declarative

and

operational

semantics

of

Templog

programs

Orgun

and

Wadge

-LSB-

-RSB-

provided

analogous

results

for

Chronolog

programs

in

particular

they

showed

the

completeness

of

the

proof

procedure

of

Chronolog

which

forms

the

basis

for

implementations

of

the

language

Gabbay

-LSB-

-RSB-

defined

a

resolution

procedure

for

Temporal

Prolog

and

proved

its

soundness

Balbiani

et

al

-LSB-

-RSB-

provided

a

tree-like

semantics

for

instances

of

Molog

based

modal

logics

Q

T

and

These

results

suggest

that

temporal

and

modal

logic

programming

is

feasible

Multi-dimensional

logic

programming

-LRB-

MLP

-RRB-

is

based

on

a

logic

with

a

countably

infinite

number

of

dimensions

which

we

call

ML

-LRB-

-RRB-

Each

dimension

is

modeled

by

the

set

of

integers

unbounded

in

the

past

and

future

In

this

sense

temporal

logic

has

only

one

dimension

that

is

time

A

context

in

ML

-LRB-

-RRB-

is

simply

a

point

in

the

hyperfield

of

Z

Contextual

operators

are

provided

to

formally

define

dynamic

relationships

among

data

at

different

points

implicitly

in

the

hyperfieled

without

explicit

references

to

contexts

MLP

allows

us

to

capture

naturally

the

dynamic

aspects

of

certain

problems

such

as

simulation

dataflow

computation

mesh-oriented

computation

and

spreadsheets

InTense

-LSB-

-RSB-

is

based

on

a

multi-dimensional

logic

which

is

very

much

like

ML

-LRB-

-RRB-

However

InTense

also

includes

a

large

repertoire

of

Lucid-like

intensional

operators

such

as

asa

-LRB-

as

soon

as

-RRB-

and

wvr

-LRB-

whenever

-RRB-

-LSB-

-RSB-

It

is

not

clear

how

such

operators

can

be

given

an

operational

semantics

and

whether

proof

rules

can

be

defined

for

them

and

yet

they

are

implemented

The

correctness

of

the

implementation

is

not

addressed

nor

the

declarative

semantics

of

the

language

In

contrast

to

InTense

our

work

starts

from

a

solid

foundation

and

declarative

semantics

and

a

complete

proof

procedure

called

MSLD-resolution

There

is

a

subset

of

InTense

without

any

Lucid-like

operators

which

is

just

like

MLP

Therefore

our

work

also

provides

a

basis

for

pure

InTense

In

particular

MSLD-resolution

can

be

used

to

provide

an

operational

semantics

for

pure

InTense

programs

The

main

goal

of

this

paper

is

to

provide

a

theoretical

framework

for

MLP

and

to

demonstrate

its

practical

aspects

in

applications

involving

the

notion

of

dynamic

change

In

this

paper

we

do

not

address

the

issue

of

implementations

Note

that

some

of

the

preliminary

results

of

this

paper

first

appeared

in

-LSB-

-RSB-

The

structure

of

the

paper

is

as

follows

Section

discusses

the

underlying

logic

of

MLP

detailing

its

axioms

and

rules

of

inference

Section

outlines

the

syntax

and

semantics

of

multi-dimensional

logic

programs

and

summarizes

the

features

of

the

proof

procedure

of

MLP

which

we

call

MSLD-resolution

The

operational

semantics

of

MLP

is

defined

in

terms

of

MSLD-derivations

and

MSLD-resolution

forms

the

basis

for

implementations

of

MLP

In

section

we

establish

the

declarative

semantics

of

MLP

programs

based

on

an

extension

of

Herbrand

models

-LSB-

-RSB-

We

in

particular

show

that

MLP

programs

satisfy

the

minimum

model

semantics

an

alternative

declarative

semantics

of

MLP

is

discussed

based

on

the

theory

of

Orgun

and

Wadge

-LSB-

-RSB-

In

section

we

outline

a

multidimensional

interface

to

MLP

which

can

be

used

to

define

an

MLP

program

as

well

as

input

to

the

program

and

display

the

results

We

also

give

several

examples

of

multi-dimensional

logic

programming

Multi-Dimensional

Logic

Multi-dimensional

logic

is

a

form

of

modal

logic

-LSB-

-RSB-

The

set

of

possible

contexts

-LRB-

possible

worlds

-RRB-

is

modeled

by

Z

-LRB-

the

countably

infinite

Cartesian

product

Z

Z

Z

-RRB-

In

other

words

a

possible

context

in

multi-dimensional

logic

is

a

point

in

the

hyperfield

of

Z

For

a

given

x

Z

we

write

x

i

where

each

xk

is

the

coordinate

-LRB-

value

-RRB-

for

the

kth

dimension

For

each

dimension

k

there

are

three

contextual

operators

initk

priork

and

restk

Here

k

is

used

as

a

dimension

indicator

Informally

initk

refers

to

the

origin

along

the

dimension

k

priork

the

previous

point

along

the

dimension

k

and

restk

the

next

point

along

the

dimension

k.

Formal

semantics

of

these

operators

are

given

below

The

syntax

of

multi-dimensional

logic

extends

that

of

first-order

logic

with

three

formation

rules

if

A

is

a

formula

so

are

initk

A

priork

A

and

restk

A

for

all

k

Note

that

contextual

operators

are

applied

to

formulas

not

to

terms

of

the

language

For

any

given

m

we

write

priork

-LSB-

m

-RSB-

and

restk

-LSB-

m

-RSB-

for

m

successive

applications

of

priork

and

restk

In

case

m

priork

-LSB-

m

-RSB-

and

restk

-LSB-

m

-RSB-

are

the

empty

string

We

write

ML

-LRB-

-RRB-

for

the

multi-dimensional

logic

with

countably

infinite

dimensions

We

are

especially

interested

in

multi-dimensional

logics

with

a

finite

number

of

dimensions

for

instance

ML

-LRB-

n

-RRB-

is

a

logic

with

n

dimensions

-LRB-

for

n

-RRB-

in

which

Zn

is

the

set

of

possible

contexts

We

write

An

for

n-folded

Cartesian

product

of

set

A

The

Pascal

program

given

earlier

is

based

on

ML

-LRB-

-RRB-

Semantics

of

Formulas

The

semantics

of

formulas

of

ML

-LRB-

-RRB-

are

provided

by

multi-dimensional

interpretations

A

multi-dimensional

interpretation

assigns

meanings

at

all

possible

contexts

to

all

the

basic

elements

of

the

language

such

as

function

and

predicate

symbols

and

variables

Interpretations

are

extended

upward

to

all

elements

of

the

language

by

a

satisfaction

relation

j

The

meaning

of

a

formula

is

context-dependent

However

we

restrict

the

discussion

to

those

interpretations

in

which

the

values

of

variables

and

function

symbols

are

rigid

The

value

of

a

rigid

term

is

an

invariant

of

contexts

The

formal

definition

of

a

multi-dimensional

interpretation

is

given

below

Let

the

notation

-LSB-

A

B

-RSB-

denote

the

set

of

all

functions

from

set

A

to

set

B

and

P

-LRB-

A

-RRB-

the

set

of

subsets

-LRB-

the

power

set

-RRB-

of

set

A.

Definition

An

interpretation

I

of

ML

-LRB-

-RRB-

comprises

a

non-empty

set

D

called

the

domain

of

the

interpretation

together

with

for

each

variable

an

element

of

D

for

each

n-ary

function

symbol

an

element

of

-LSB-

Dn

D

-RSB-

and

for

each

n-ary

predicate

symbols

an

element

of

-LSB-

Z

P

-LRB-

Dn

-RRB-

-RSB-

In

the

following

the

fact

that

a

formula

A

is

true

at

context

x

in

some

multi-dimensional

interpretation

I

is

denoted

as

j

I

x

A

The

formal

semantics

of

formulas

of

ML

are

given

as

follows

Definition

The

semantics

of

elements

of

ML

-LRB-

-RRB-

are

given

inductively

by

the

following

where

I

is

an

interpretation

of

ML

i

Z

k

and

A

and

B

are

formulas

of

ML

If

f

-LRB-

en

-RRB-

is

a

term

I

-LRB-

f

-LRB-

en

-RRB-

-RRB-

I

-LRB-

f

-RRB-

-LRB-

I

-LRB-

-RRB-

I

-LRB-

en

-RRB-

-RRB-

D

If

v

is

a

variable

I

-LRB-

v

-RRB-

D.

For

any

n-ary

predicate

symbol

p

and

terms

en

j

I

i

p

-LRB-

en

-RRB-

if

and

only

if

hI

-LRB-

-RRB-

I

-LRB-

en

-RRB-

i

I

-LRB-

p

-RRB-

-LRB-

i

-RRB-

j

I

i

A

if

and

only

if

it

is

not

the

case

that

j

I

i

A.

j

I

i

A

B

if

and

only

if

j

I

i

A

and

j

I

i

B.

j

I

i

-LRB-

-RRB-

A

if

and

only

if

j

I

-LSB-

d

y

-RSB-

i

A

for

all

d

D

where

the

interpretation

I

-LSB-

d

y

-RSB-

is

just

like

I

except

that

the

variable

y

is

assigned

the

value

d

in

I

-LSB-

d

y

-RSB-

j

I

xk

xk

i

initkA

if

and

only

if

j

I

xk

i

A.

j

I

xk

xk

i

priorkA

if

and

only

if

j

I

xk

-LRB-

xk

-RRB-

i

A.

j

I

xk

xk

i

restkA

if

and

only

if

j

I

xk

-LRB-

xk

-RRB-

i

A

If

a

formula

A

is

true

in

a

multi-dimensional

interpertation

I

at

all

possible

contexts

we

say

that

A

is

true

in

I

or

I

is

a

model

of

A

We

denote

this

fact

as

j

I

A

If

a

formula

A

is

true

in

any

multi-dimensional

interpretation

we

denote

this

fact

as

j

A

We

regard

and

as

primitives

and

assume

the

usual

definitions

of

-LRB-

-RRB-

and

in

terms

of

these

primitives

Axioms

and

Rules

of

Inference

Let

the

notation

A

denote

the

fact

that

A

is

a

theorem

of

ML

-LRB-

-RRB-

A

theorem

is

interpreted

as

a

true

statement

at

all

possible

contexts

The

notion

of

deducibility

can

be

characterized

in

terms

of

theoremhood

A

means

that

the

formula

A

is

deducible

from

a

set

of

formulas

in

ML

The

following

axioms

state

some

of

the

important

theorems

and

properties

of

ML

Here

k

is

a

dimension

indicator

-LRB-

k

-RRB-

is

any

contextual

operator

and

k

is

any

contextual

operator

for

the

kth

dimension

Cancellation

rules

k

-LRB-

initk

A

-RRB-

-LRB-

-RRB-

initk

A.

priork

-LRB-

restk

A

-RRB-

-LRB-

-RRB-

A.

restk

-LRB-

priork

A

-RRB-

-LRB-

-RRB-

A

The

first

axiom

-LRB-

-RRB-

says

that

initial

truths

along

any

given

dimension

persist

The

axioms

and

capture

that

fact

that

priork

and

restk

are

complete

inverses

along

any

given

dimension

k

Distribution

rules

-LRB-

A

B

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

A

-RRB-

-LRB-

-RRB-

:-LRB-

-RRB-

For

all

j

k

j

kA

-LRB-

-RRB-

k

jA

For

all

j

k

j

k

A

-LRB-

-RRB-

k

jA

when

k

j

Here

k

is

any

contextual

operator

for

the

dimension

k

and

j

is

any

contextual

operator

for

the

dimension

j

The

first

two

axioms

-LRB-

and

-RRB-

say

that

contextual

operators

commute

with

the

Boolean

operators

and

The

last

two

axioms

-LRB-

and

-RRB-

state

the

conditions

under

which

contextual

operators

commute

with

each

other

Rigidness

of

variables

V.

-LRB-

-RRB-

-LRB-

A

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

-LRB-

-RRB-

These

axioms

stipulate

that

the

values

of

individual

variables

range

over

extensions

-LRB-

data

values

-RRB-

not

intensions

-LRB-

context-varying

values

-RRB-

It

is

an

instant

of

the

so-called

Barcan

formula

combined

with

its

converse

-LSB-

-RSB-

Rules

of

inference

In

addition

to

substitution

and

Modus

Ponens

we

have

the

following

contextual

operator

introduction

rules

if

A

then

initk

A.

if

A

then

priork

A.

if

A

then

restk

A

We

read

the

rules

of

inference

as

given

A

as

a

theorem

infer

initk

A

priork

A

and

restk

A

as

theorems

These

rules

are

instances

of

the

rule

of

generalization

from

modal

logic

-LSB-

-RSB-

We

also

have

the

following

derived

rule

Let

be

a

contextual

operator

and

n

if

A

then

-LSB-

n

-RSB-

A.

Induction

rule

I.

if

it

is

the

case

that

for

all

k

initk

A

A

priork

A

and

A

restk

A

then

A.

Induction

rule

is

a

form

of

contextual

operator

elimination

rule

We

do

not

make

use

of

the

induction

rule

in

logic

programming

because

of

its

infinitary

flavor

The

presentation

of

an

axiomatic

system

for

ML

-LRB-

-RRB-

begs

the

question

whether

it

is

complete

with

respect

to

the

semantics

scheme

of

ML

-LRB-

-RRB-

that

is

it

axiomatizes

the

semantics

scheme

and

the

structure

of

the

set

of

possible

worlds

described

above

In

this

paper

we

do

not

attempt

to

answer

this

question

because

the

completeness

of

ML

-LRB-

-RRB-

is

not

an

issue

in

its

application

to

logic

programming

However

we

include

the

following

theorem

showing

the

correctness

-LRB-

soundness

-RRB-

of

the

axioms

and

the

rules

of

inference

Lemma

All

of

the

axioms

and

the

rules

of

inference

are

valid

with

respect

to

the

semantics

scheme

of

ML

-LRB-

-RRB-

Proof

By

the

definition

of

the

satisfaction

relation

j

For

axioms

we

need

to

show

that

A

implies

j

A.

For

rules

of

inference

of

the

form

if

A

then

B

we

need

to

show

that

if

j

A

then

j

B

We

omit

the

details

We

assume

that

the

rules

of

inference

given

above

are

extended

to

consider

the

notion

of

deducibility

from

a

set

of

formulas

For

instance

now

reads

if

A

then

initk

A.

Under

the

presence

of

the

rules

of

inference

we

do

not

have

a

form

of

a

deduction

theorem

If

we

did

given

A

A

we

could

derive

A

initk

A

by

and

then

by

the

deduction

theorem

A!initk

A

But

it

can

be

shown

that

A!initk

A

is

not

a

valid

formula

The

axioms

and

rules

of

inference

for

ML

-LRB-

-RRB-

form

the

basis

for

the

operational

semantics

of

multi-dimensional

logic

programming

based

on

ML

-LRB-

n

-RRB-

for

any

n

-LRB-

see

below

-RRB-

Multi-Dimensional

Logic

Programs

Building

blocks

We

start

by

defining

a

multi-dimensional

logic

program

as

a

set

of

program

clauses

The

basic

building

blocks

in

a

multi-dimensional

logic

program

are

contextual

units

defined

inductively

as

follows

Definition

ffl

All

atomic

formulas

are

contextual

units

ffl

If

A

is

a

contextual

unit

and

is

a

contextual

operator

of

ML

then

is

a

contextual

unit

We

adopt

the

clausal

notation

-LSB-

-RSB-

for

multi-dimensional

logic

programs

All

variables

in

a

program

clause

are

assumed

to

be

universally

quantified

For

convenience

we

use

upper-case

letters

for

variables

and

lower-case

letters

for

function

and

predicate

symbols

Definition

ffl

A

program

clause

is

the

universal

closure

of

a

clause

of

the

form

A

Bm

-LRB-

m

-RRB-

where

each

Bi

and

A

are

contextual

units

ffl

A

goal

clause

is

the

universal

closure

of

a

clause

of

the

form

Bm

-LRB-

m

-RRB-

where

each

Bi

is

a

contextual

unit

The

informal

semantics

of

a

program

clause

A

Bm

is

defined

as

follows

at

all

contexts

x

Z

for

each

variable

assignment

if

all

of

Bm

are

true

then

A

is

true

Then

a

multi-dimensional

logic

program

consists

of

-LRB-

the

conjunction

of

-RRB-

a

set

of

program

clauses

regarded

as

axioms

true

at

all

contexts

in

Z

Goal

clauses

are

also

called

queries

For

practical

purposes

we

restrict

the

following

discussion

to

MLP

with

a

finite

number

of

dimensions

for

instance

the

program

that

defines

the

pascal

predicate

is

based

on

MLP

-LRB-

-RRB-

There

is

a

simple

dimensionality

analysis

technique

to

determine

the

dimensionality

of

a

given

MLP

program

We

first

define

the

dimensionality

of

a

given

contextual

unit

-LRB-

the

set

of

contexts

in

which

it

varies

-RRB-

Definition

Let

A

be

a

contextual

unit

Then

the

dimensionality

of

A

denoted

by

Dim

-LRB-

A

-RRB-

is

defined

as

follows

ffl

If

A

is

an

atomic

formula

then

Dim

-LRB-

A

-RRB-

fg

ffl

If

A

is

of

the

form

kB

for

some

contextual

operator

k

and

B

is

a

contextual

unit

then

Dim

-LRB-

kB

-RRB-

fkg

-LSB-

Dim

-LRB-

B

-RRB-

Based

on

the

above

definition

we

define

the

dimensionality

of

a

given

program

clause

and

a

program

of

MLP

-LRB-

n

-RRB-

Definition

Let

C

be

a

program

clause

of

the

form

A

Bm

The

dimensionality

of

C

denoted

by

Dim

-LRB-

C

-RRB-

is

defined

as

follows

Dim

-LRB-

C

-RRB-

Dim

-LRB-

A

-RRB-

-LSB-

Dim

-LRB-

-RRB-

-LSB-

-LSB-

Dim

-LRB-

Bm

-RRB-

Definition

Let

P

be

the

conjunction

of

a

set

of

program

clauses

The

dimensionality

of

P

denoted

by

Dim

-LRB-

P

-RRB-

is

defined

as

follows

Dim

-LRB-

P

-RRB-

-LSB-

Dim

-LRB-

C

-RRB-

Let

n

card

-LRB-

Dim

-LRB-

P

-RRB-

-RRB-

where

card

-LRB-

S

-RRB-

is

the

cardinality

of

the

set

S

Then

we

say

that

P

is

a

program

of

MLP

-LRB-

n

-RRB-

In

the

above

definition

we

assume

that

there

are

no

gaps

in

the

dimensions

used

in

the

program

P

in

order

to

simplify

the

following

discussion

There

is

in

fact

a

simple

translation

from

programs

with

gaps

in

dimensions

into

programs

without

any

gaps

Let

Dim

-LRB-

P

-RRB-

dng

In

the

translated

program

each

dimension

di

is

replaced

by

its

index

in

Dim

-LRB-

P

-RRB-

i.e.

dimension

i.

For

example

if

we

have

some

program

which

uses

the

dimensions

and

only

then

the

dimension

is

replaced

by

the

dimension

before

Dim

is

applied

to

P

Also

MLP

-LRB-

-RRB-

is

ordinary

logic

programming

Note

that

Dim

-LRB-

P

-RRB-

is

always

finite

for

a

program

P

consisting

of

finitely

many

program

clauses

We

are

considering

an

extension

of

MLP

in

which

the

dimension

indicators

in

contextual

operators

may

be

variables

as

well

as

constants

-LRB-

e.g.

initNA

where

N

is

a

variable

-RRB-

In

such

an

extension

programs

with

finitely

many

program

clauses

may

have

an

infinite

number

of

dimensions

We

also

need

the

following

definitions

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

Dimension

Dimension

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

Figure

Pascal

's

triangle

on

the

south-east

quadrant

Definition

Let

A

be

a

contextual

unit

of

MLP

-LRB-

n

-RRB-

We

say

that

A

is

canonical

if

it

is

of

the

form

-LSB-

-RSB-

-LSB-

-RSB-

initn

n

-LSB-

mn

-RSB-

B

where

B

is

an

atomic

formula

Definition

Let

A

Bm

be

a

program

clause

of

MLP

-LRB-

n

-RRB-

We

say

that

the

clause

is

canonical

if

all

of

A

and

Bm

are

canonical

contextual

units

Similarly

for

goal

clauses

-LRB-

queries

-RRB-

An

Example

The

following

MLP

program

adapted

from

-LSB-

-RSB-

defines

the

predicate

pascal

which

varies

only

in

two

dimensions

All

program

clauses

are

interpreted

as

assertions

true

at

all

points

in

the

hyperfield

of

contexts

Contextual

operators

are

indexed

by

dimension

indicators

-LRB-

natural

numbers

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

X

-RRB-

pascal

-LRB-

X

-RRB-

pascal

-LRB-

X

-RRB-

pascal

-LRB-

X

-RRB-

pascal

-LRB-

X

-RRB-

pascal

-LRB-

Y

-RRB-

pascal

-LRB-

Z

-RRB-

X

is

Y+Z

Since

the

definition

of

pascal

does

not

involve

contextual

operators

other

than

those

operating

on

the

first

two

dimensions

the

value

of

pascal

varies

only

in

those

two

dimensions

and

is

constant

in

the

other

dimensions

Then

the

resulting

program

is

said

to

be

in

MLP

-LRB-

-RRB-

i.e.

two-dimensional

logic

programming

If

these

are

the

only

axioms

for

the

pascal

predicate

Pascal

's

triangle

is

constructed

on

the

south-east

quadrant

of

the

two-dimensional

space

whose

apex

is

at

i.e.

at

pascal

-LRB-

-RRB-

is

true

-LRB-

from

the

first

clause

-RRB-

Figure

shows

an

approximate

twodimensional

graphic

representation

of

Pascal

's

triangle

as

specified

by

the

pascal

predicate

The

triangle

is

observed

by

rotating

the

figure

by

degrees

in

the

clock-wise

direction

MSLD-Resolution

Note

that

in

the

following

discussion

we

assume

familiarity

with

the

concepts

of

substitution

unification

and

refutation

procedures

see

-LSB-

-RSB-

for

a

detailed

discussion

Programs

of

MLP

-LRB-

n

-RRB-

are

executed

using

a

resolution-type

proof

procedure

called

MSLD

resolution

-LRB-

for

multi-dimensional

SLD-resolution

-RRB-

It

is

an

extension

of

SLD-resolution

-LSB-

-RSB-

MSLD-resolution

is

applied

to

a

set

of

canonical

instances

of

program

clauses

and

queries

Let

n

For

any

given

multi-dimensional

logic

ML

-LRB-

n

-RRB-

the

canonical

instances

of

a

given

clause

C

are

obtained

by

systematic

applications

of

the

rules

of

inference

and

as

follows

ffl

initk

C

-LRB-

by

-RRB-

ffl

initk

priork

C

-LRB-

by

-RRB-

ffl

initk

restk

C

-LRB-

by

-RRB-

ffl

initk

priork

-LSB-

-RSB-

C

-LRB-

by

-RRB-

ffl

initk

restk

-LSB-

-RSB-

C

-LRB-

by

-RRB-

and

so

on

We

start

from

dimension

n

and

proceed

to

dimension

step

by

step

while

repeating

the

above

process

for

each

dimension

on

the

resulting

formulas

from

the

previous

step

until

all

the

n

dimensions

are

exhausted

Then

the

introduced

contextual

operators

are

distributed

to

the

contextual

units

in

the

clauses

and

contextual

operators

are

grouped

according

to

their

dimensions

and

then

superfluous

applications

of

contextual

operators

are

eliminated

using

the

cancellation

and

distribution

axioms

of

ML

Each

of

the

clauses

in

the

resulting

set

of

clauses

is

a

canonical

instance

of

the

clause

C

in

ML

-LRB-

n

-RRB-

The

value

of

a

canonical

instance

of

a

clause

of

ML

-LRB-

n

-RRB-

is

an

invariant

of

context

which

is

implied

by

the

following

lemma

The

proof

of

the

lemma

is

straightforward

Lemma

Let

A

be

a

canonical

contextual

unit

of

ML

-LRB-

n

-RRB-

the

form

-LSB-

-RSB-

initn

-LSB-

mn

-RSB-

B

where

B

is

an

atomic

formula

and

i

is

resti

if

xi

and

i

is

priori

if

xi

Let

I

be

multi-dimensional

interpretation

of

ML

-LRB-

n

-RRB-

Then

j

I

xn

A

for

any

context

xn

Zn

if

and

only

if

j

I

mn

B.

For

ML

-LRB-

-RRB-

canonical

instances

contain

a

countably

infinite

number

of

init

operators

applied

to

them

As

in

the

form

described

above

there

is

no

provision

made

in

ML

to

accomodate

infinitely

long

formulas

The

notion

of

a

canonical

instance

hence

does

not

apply

to

formulas

of

ML

-LRB-

-RRB-

The

value

of

a

given

clause

in

a

multi-dimensional

interpretation

of

ML

-LRB-

n

-RRB-

can

be

expressed

using

the

values

of

its

canonical

instances

The

intuitive

idea

is

that

for

any

given

context

in

Zn

we

can

find

a

canonical

instance

of

the

clause

fixed

to

that

context

and

then

combine

the

values

of

canonical

instances

Lemma

Let

C

be

a

clause

of

ML

-LRB-

n

-RRB-

and

I

a

multi-dimensional

interpretation

of

ML

-LRB-

n

-RRB-

Then

j

I

C

if

and

only

if

j

I

Cz

for

all

canonical

instances

Cz

of

A.

For

a

given

multi-dimensional

logic

program

P

canonical

instances

of

program

clauses

and

queries

are

naturally

obtained

by

the

rules

of

inference

and

axioms

By

lemmas

and

P

C

for

each

canonical

instance

C

of

any

program

clause

in

P

In

short

we

carry

out

proofs

from

the

canonical

instances

of

the

clauses

in

P

and

the

results

are

justified

by

the

lemmas

Goal

clauses

are

assumed

to

be

canonical

When

the

canonicality

restriction

is

lifted

for

goal

clauses

they

can

be

open-ended

Open-ended

goal

clauses

can

also

be

used

to

initiate

non-terminating

computations

Given

a

program

P

in

ML

-LRB-

n

-RRB-

for

some

n

and

a

goal

G

an

MSLD-derivation

of

P

-LSB-

fGg

consists

of

a

sequence

of

goal

clauses

where

G

a

sequence

of

variants

-LRB-

up

to

renaming

-RRB-

of

canonical

instances

of

program

clauses

in

P

and

a

sequence

of

substitutions

At

every

step

of

an

MSLD-derivation

some

contextual

unit

from

the

current

goal

is

selected

and

unified

with

the

conclusion

-LRB-

head

-RRB-

of

a

canonical

instance

of

a

program

clause

after

renaming

of

the

variables

in

the

canonical

instance

A

new

goal

is

produced

by

replacing

the

selected

contextual

unit

in

the

goal

by

the

premise

-LRB-

body

-RRB-

of

the

canonical

instance

and

then

the

substitution

-LRB-

mgu

-RRB-

obtained

from

unification

is

applied

to

the

new

goal

More

formally

an

MSLD-resolution

step

is

described

as

follows

Let

S

be

an

MSLD

derivation

g

The

relation

between

any

two

consecutive

elements

of

S

say

Si

and

Si

is

formulated

by

the

following

Si

-LRB-

As

Ak

-RRB-

-LRB-

A

Bm

-RRB-

i

Si

-LRB-

Bm

Ak

-RRB-

i

Ci

i

where

As

is

the

selected

temporal

unit

in

the

goal

Gi

via

some

computation

rule

R

Ci

is

a

canonical

instance

of

a

program

clause

in

P

and

As?i

A?i

with

mgu

i.

For

any

sequence

S

associated

with

a

successful

MSLD-derivation

we

have

that

Gn

for

some

n

in

which

case

the

sequence

S

has

length

n

with

the

last

element

hGn

Cn

n

The

composition

of

substitutions

-LRB-

mgu

's

-RRB-

n

is

the

computed

answer

substitution

for

the

goal

G.

An

example

MSLD-derivation

Consider

the

Pascal

program

given

earlier

a

simple

dimensionality

analysis

shows

that

it

is

in

ML

-LRB-

-RRB-

Consider

the

goal

pascal

-LRB-

X

-RRB-

The

goal

clause

is

canonical

in

ML

-LRB-

-RRB-

up

to

the

reordering

of

contextual

operators

in

the

goal

with

respect

to

the

distribution

axioms

-LRB-

and

-RRB-

We

now

give

the

steps

in

a

MSLD-refutation

of

the

program

and

the

goal

with

the

assumption

that

all

the

contextual

units

in

the

refutation

are

canonical

up

to

the

reordering

of

contextual

operators

The

only

contextual

unit

in

the

goal

is

selected

and

then

matched

with

the

head

of

a

canonical

instance

of

the

fourth

program

clause

by

unification

after

renaming

the

variable

X

in

the

clause

-LRB-

We

ask

the

reader

to

verify

that

the

first

three

program

clauses

are

not

applicable

to

the

goal

-RRB-

pascal

-LRB-

X

-RRB-

pascal

-LRB-

-RRB-

pascal

-LRB-

Y

-RRB-

pascal

-LRB-

Z

-RRB-

is

Y+Z

-LRB-

fourth

program

clause

by

rules

of

inference

axioms

-RRB-

fX

Then

a

new

goal

is

produced

after

replacing

the

selected

contextual

unit

in

by

the

body

of

The

substitution

is

applied

to

the

new

goal

Any

of

the

three

contextual

units

can

be

selected

for

the

next

step

in

the

derivation

we

select

the

first

one

The

contextual

unit

pascal

-LRB-

Y

-RRB-

in

is

matched

with

a

canonical

instance

of

the

third

program

clause

in

the

program

pascal

-LRB-

Y

-RRB-

pascal

-LRB-

Z

-RRB-

is

Y+Z

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

-LRB-

third

program

clause

by

rules

of

inference

axioms

-RRB-

fY

In

the

new

goal

the

selected

contextual

unit

from

is

replaced

by

the

body

of

The

substitution

is

applied

to

the

new

goal

We

select

the

first

contextual

unit

in

the

goal

and

match

it

with

the

first

program

clause

which

is

already

canonical

pascal

-LRB-

-RRB-

pascal

-LRB-

Z

-RRB-

is

Z.

pascal

-LRB-

-RRB-

-LRB-

first

program

clause

-RRB-

When

the

selected

contextual

unit

in

is

removed

we

can

select

the

first

contextual

unit

in

for

the

next

step

of

the

derivation

It

matches

a

canonical

instance

of

the

second

program

clause

pascal

-LRB-

Z

-RRB-

is

Z.

pascal

-LRB-

-RRB-

pascal

-LRB-

-RRB-

-LRB-

second

program

clause

by

rules

of

inference

axioms

-RRB-

fZ

In

the

rest

of

the

derivation

we

proceed

in

the

above

manner

to

arrive

at

the

empty

goal

say

Gi

-LRB-

after

using

the

first

clause

once

more

and

then

eliminating

the

addition

operation

-RRB-

Note

that

the

is

predicate

in

the

form

given

above

can

be

formalized

as

a

ternary

addition

predicate

so

can

be

unified

with

the

result

of

the

addition

operation

Since

we

can

reach

the

empty

goal

we

say

that

the

derivation

is

successful

A

successful

MSLD-derivation

is

called

a

MSLD-refutation

The

composition

of

mgu

's

and

etc

is

regarded

as

a

computed

answer

substitution

for

the

original

goal

indeed

a

correct

one

In

the

answer

to

the

original

goal

X

is

substituted

by

It

follows

that

pascal

-LRB-

-RRB-

is

a

logical

consequence

of

the

Pascal

program

Therefore

MSLD

resolution

is

used

not

only

as

a

proof

procedure

to

show

that

P

-LRB-

-RRB-

pascal

-LRB-

-RRB-

but

also

as

a

computational

procedure

to

find

an

answer

substitution

for

the

variable

X.

Note

that

MSLD-resolution

is

a

complete

proof

procedure

for

languages

based

on

ML

-LRB-

n

-RRB-

for

any

n

for

n

it

degenerates

into

ordinary

SLD-resolution

-LSB-

-RSB-

The

completeness

of

MSLD-resolution

can

be

established

by

extending

the

completeness

results

of

SLD

resolution

-LSB-

-RSB-

and

by

making

use

of

the

equivalence

between

a

given

program

P

and

the

set

of

canonical

instances

of

program

clauses

in

P.

Because

of

space

limitations

we

do

not

discuss

the

completeness

of

MSLD-resolution

in

this

paper

Declarative

Semantics

The

declarative

semantics

of

MLP

programs

can

be

defined

in

terms

of

an

entension

of

the

minimum

Herbrand

models

-LSB-

-RSB-

The

minimum

Herbrand

model

of

a

ordinary

logic

program

consists

of

all

ground

atomic

formulas

that

are

logical

consequences

of

the

program

Similarly

the

declarative

semantics

of

MLP

-LRB-

n

-RRB-

programs

are

defined

in

terms

of

the

minimum

multi-dimensional

Herbrand

models

-LSB-

-RSB-

In

this

section

we

demonstrate

that

the

declarative

semantics

of

-LRB-

negation-free

-RRB-

logic

programs

can

be

smoothly

extended

to

MLP

-LRB-

n

-RRB-

programs

for

any

n

For

n

MLP

-LRB-

n

-RRB-

degenerates

into

ordinary

logic

programming

We

in

particular

show

that

the

minimum

multi-dimensional

Herbrand

model

of

an

MLP

-LRB-

n

-RRB-

program

consists

of

all

canonical

contextual

units

that

are

logical

consequences

of

the

program

Multi-dimensional

Herbrand

Models

In

logic

programming

theory

-LSB-

-RSB-

Herbrand

interpretations

are

models

generated

by

constants

function

and

predicate

symbols

used

in

a

given

logic

program

In

MLP

since

the

meaning

of

a

predicate

symbol

varies

in

contexts

we

need

a

different

approach

to

generate

multi-dimensional

Herbrand

interpretations

of

a

given

MLP

program

By

lemma

we

know

that

the

value

of

a

formula

can

be

expressed

in

terms

of

the

values

of

its

canonical

instances

Furthermore

the

value

of

a

canonical

instance

of

the

formula

is

an

invariant

of

time

We

use

this

idea

to

define

multi-dimensional

Herbrand

interpretations

Definition

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

ffl

The

Herbrand

universe

of

P

denoted

as

UP

is

generated

by

function

symbols

and

constants

-LRB-

nullary

function

symbols

-RRB-

that

appear

in

P

ffl

The

multi-dimensional

Herbrand

base

BP

of

P

consists

of

all

those

canonical

contextual

units

of

ML

-LRB-

n

-RRB-

generated

by

contextual

operators

and

predicate

symbols

that

appear

in

P

with

terms

in

UP

used

as

arguments

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

Since

P

is

the

conjunction

of

a

set

of

contextual

program

clauses

we

say

that

P

is

true

in

a

multi-dimensional

interpretation

I

if

and

only

if

all

program

clauses

in

P

are

true

I.

By

lemma

a

program

clause

is

true

in

I

if

and

only

if

all

canonical

instances

of

the

clause

are

true

in

I

As

far

as

the

declarative

semantics

is

concerned

we

may

regard

P

as

the

set

of

all

canonical

instances

of

the

program

clauses

in

P

Definition

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

Subsets

of

BP

are

called

multi-dimensional

Herbrand

interpretations

of

P

This

definition

is

just

a

reformulation

of

multi-dimensional

interpretations

having

UP

as

their

domain

In

fact

the

correspondence

can

be

established

as

follows

Let

I

be

a

multi-dimensional

interpretation

of

P

-LRB-

or

more

strictly

of

the

underlying

multi-dimensional

language

ML

-LRB-

n

-RRB-

of

P

-RRB-

with

UP

as

its

domain

Then

I

is

identified

with

a

subset

H

of

BP

by

the

following

Let

p

be

a

predicate

symbol

with

arity

m

Then

em

I

-LRB-

p

-RRB-

-LRB-

xn

-RRB-

if

and

only

if

-LSB-

-RSB-

initn

n

-LSB-

xn

-RSB-

p

-LRB-

em

-RRB-

H

where

i

is

resti

if

xi

and

i

is

priori

if

xi

Therefore

the

notion

of

a

model

naturally

extends

to

subsets

of

BP

As

with

ordinary

logic

programs

-LRB-

multi-dimensional

-RRB-

Herbrand

interpretations

are

satisfactory

for

developing

declarative

semantics

of

MLP

-LRB-

n

-RRB-

programs

In

fact

it

can

be

shown

that

given

an

MLP

-LRB-

n

-RRB-

program

and

a

goal

G

P

-LSB-

fGg

is

unsatisfiable

if

and

only

if

P

-LSB-

fGg

has

no

multidimensional

Herbrand

models

Let

A

BP

We

have

that

j

I

A

if

and

only

if

A

H

for

the

H

corresponding

to

I

Since

A

is

canonical

its

truth

value

is

fixed

at

all

contexts

The

following

lemma

says

that

the

entire

multi-dimensional

Herbrand

base

BP

of

an

MLP

-LRB-

n

-RRB-

program

P

is

a

model

of

the

program

Lemma

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

Then

j

BP

P

Proof

We

have

that

j

BP

C

for

all

canonical

ground

instances

C

of

any

program

clause

in

P

because

BP

consists

of

all

ground

canonical

contextual

units

of

MLP

-LRB-

n

-RRB-

that

can

be

obtained

from

the

program

This

means

that

all

canonical

instances

of

program

clauses

are

true

in

BP

by

definition

Thus

j

BP

P

by

lemma

As

the

following

lemma

shows

the

family

of

multi-dimensional

Herbrand

models

of

a

given

MLP

-LRB-

n

-RRB-

program

is

also

closed

under

intersection

Lemma

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

and

M

be

a

non-empty

family

of

multi-dimensional

Herbrand

models

of

P

Then

M

is

a

multi-dimensional

Herbrand

model

of

P

Proof

The

proof

is

similar

to

that

of

logic

programming

Lloyd

-LSB-

-RSB-

First

of

all

M

is

a

multi-dimensional

Herbrand

interpretation

of

P.

Suppose

it

is

not

a

model

of

P

Then

there

is

a

canonical

ground

instance

of

a

clause

in

P

which

is

false

in

M

-LRB-

at

some

context

-RRB-

Let

A

Bn

be

such

an

instance

i.e.

A

M

but

for

all

i

n

Bi

M

This

implies

for

some

model

I

M

A

I

but

since

all

Bi

's

are

true

in

M

Bi

I

for

all

i

n

as

well

Thus

we

obtain

a

contradiction

that

I

is

not

a

model

of

P

either

Since

the

family

of

multi-dimensional

Herbrand

models

of

every

MLP

-LRB-

n

-RRB-

program

is

non-empty

by

lemma

-LRB-

it

contains

at

least

BP

-RRB-

and

the

model-intersection

property

holds

for

the

family

by

lemma

the

intersection

of

the

family

is

the

minimum

multi-dimensional

Herbrand

model

of

the

program

Theorem

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

and

M

be

the

family

of

multi-dimensional

Herbrand

models

of

P

Then

MMOD

-LRB-

P

-RRB-

def

M

is

the

minimum

multi-dimensional

Herbrand

model

of

P

The

following

theorem

says

that

the

minimum

model

of

every

MLP

-LRB-

n

-RRB-

program

consists

of

all

those

canonical

contextual

units

that

are

logical

consequences

of

the

program

i.e.

all

those

canonical

contextual

units

that

are

true

in

every

model

of

the

program

Theorem

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

Then

MMOD

-LRB-

P

-RRB-

fA

BP

j

P

j

Ag

Proof

Let

A

BP

Then

A

is

a

logical

consequence

of

P

if

and

only

if

P

-LSB-

f

Ag

is

unsatisfiable

in

any

multi-dimensional

model

of

P

if

and

only

if

no

multi-dimensional

Herbrand

model

of

P

satisfies

P

-LSB-

f

Ag

if

and

only

if

P

I

x

A

for

all

x

Zn

and

for

any

multi-dimensional

Herbrand

model

I

of

P

if

and

only

if

P

j

I

A

for

all

multi-dimensional

Herbrand

models

I

of

P

if

and

only

if

P

j

MMOD

-LRB-

P

-RRB-

A

by

theorem

Fixpoint

Semantics

An

alternative

approach

to

the

declarative

semantics

of

MLP

-LRB-

n

-RRB-

programs

involves

the

fixpoint

theory

Van

Emden

and

Kowalski

-LSB-

-RSB-

developed

the

fixpoint

semantics

of

logic

programs

using

the

mapping

TP

which

is

a

one-step

Modus

Ponens

function

We

now

generalize

their

results

to

MLP

-LRB-

n

-RRB-

programs

The

definition

of

the

mapping

TP

for

MLP

-LRB-

n

-RRB-

programs

is

given

as

follows

Definition

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

and

F

-LRB-

P

-RRB-

denote

the

family

of

multi-dimensional

Herbrand

interpretations

of

P

Let

TP

-LSB-

F

-LRB-

P

-RRB-

F

-LRB-

P

-RRB-

-RSB-

where

for

any

H

F

-LRB-

P

-RRB-

TP

-LRB-

H

-RRB-

f

A

j

-LRB-

A

Bn

-RRB-

is

a

canonical

ground

instance

of

a

program

clause

in

P

and

Bn

H

g

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

We

have

that

F

-LRB-

P

-RRB-

is

a

complete

lattice

under

the

partial

order

of

set

inclusion

denoted

as

-LRB-

F

-LRB-

P

-RRB-

-RRB-

The

fixpoint

semantics

of

MLP

-LRB-

n

-RRB-

programs

depends

on

the

fact

that

the

multi-dimensional

Herbrand

models

of

P

are

characterized

by

the

mapping

TP

and

TP

over

the

complete

lattice

of

F

-LRB-

P

-RRB-

is

continuous

and

hence

monotonic

The

continuity

condition

on

TP

is

expressed

as

follows

Definition

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

Then

we

say

that

TP

is

continuous

if

for

any

chain

Cn

of

multi-dimensional

Herbrand

interpretations

of

P

TP

-LRB-

-LSB-

Cn

-RRB-

-LSB-

TP

-LRB-

Cn

-RRB-

Lemma

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

Then

TP

is

continuous

and

hence

monotonic

Proof

The

proof

is

a

point-wise

extension

of

that

of

the

continuity

of

TP

for

logic

programs

-LSB-

-RSB-

Let

A

be

any

canonical

contextual

unit

in

BP

We

can

show

show

that

A

TP

-LRB-

S

Cn

-RRB-

if

and

only

if

A

S

TP

-LRB-

Cn

-RRB-

We

omit

the

details

The

following

lemma

gives

the

necessary

and

sufficient

conditions

in

terms

of

TP

for

a

multi-dimensional

Herbrand

interpretation

to

be

a

model

of

P

The

lemma

basically

says

that

the

mapping

TP

does

not

improve

a

given

multi-dimensional

Herbrand

interpretation

of

P

if

it

is

already

a

model

Lemma

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

and

H

F

-LRB-

P

-RRB-

Then

H

is

a

model

of

P

if

and

only

if

TP

-LRB-

H

-RRB-

H

We

now

give

the

fixpoint

characterization

of

the

minimum

multi-dimensional

Herbrand

model

of

MLP

-LRB-

n

-RRB-

programs

Lloyd

-LSB-

-RSB-

shows

that

monotonic

mappings

over

complete

lattices

have

fixpoints

So

does

TP

First

we

introduce

some

notation

for

ordinal

powers

of

TP

ffl

TP

TP

-LRB-

;-RRB-

ffl

TP

n

TP

-LRB-

TP

n

-RRB-

for

all

n

ffl

TP

S

TP

n

Here

is

the

minimum

element

in

-LRB-

F

-LRB-

P

-RRB-

-RRB-

and

BP

the

maximum

The

continuity

of

TP

together

with

lemma

implies

the

following

theorem

Theorem

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

and

lfp

-LRB-

TP

-RRB-

denote

the

least

fixed

point

of

TP

Then

MMOD

-LRB-

P

-RRB-

lfp

-LRB-

TP

-RRB-

TP

Proof

The

proof

of

an

analogous

theorem

for

logic

programming

-LSB-

-RSB-

can

be

generalized

to

MLP

-LRB-

n

-RRB-

programs

It

uses

Knaster-Tarski

fixpoint

theorem

and

Kleene

recursion

theorem

besides

lemmas

and

Generalized

Semantics

for

MLP

-LRB-

-RRB-

The

above

techniques

for

MLP

-LRB-

n

-RRB-

programs

does

not

apply

to

MLP

-LRB-

-RRB-

programs

because

the

notion

of

a

canonical

instance

does

not

extend

to

them

-LRB-

we

would

need

to

have

infinite

formulas

-RRB-

However

a

model-theoretic

framework

for

MLP

-LRB-

-RRB-

would

apply

to

all

instances

of

MLP

-LRB-

n

-RRB-

Orgun

and

Wadge

-LSB-

-RSB-

developed

a

language-independent

model

theory

by

first

imposing

certain

constraints

on

the

underlying

-LRB-

intensional

-RRB-

logics

and

then

by

studying

model-theoretic

properties

of

intensional

logic

programs

related

to

these

constraints

We

show

that

an

alternative

declarative

semantics

of

MLP

-LRB-

-RRB-

programs

in

fact

follows

from

their

results

We

first

define

the

denotation

of

a

formula

of

ML

-LRB-

-RRB-

Definition

The

denotation

of

a

formula

A

in

a

muti-dimensional

interpretation

I

denoted

by

kAkI

is

defined

as

fx

Z

j

j

I

x

Ag

In

other

words

the

denotation

of

a

formula

A

in

I

is

just

a

subset

of

Z

determined

by

the

interpretation

-LRB-

kAkI

is

the

set

of

all

those

elements

of

Z

at

which

A

is

true

in

I

-RRB-

Contextual

operators

take

formulas

as

arguments

and

denotations

of

formulas

are

subsets

of

Z

Thus

the

denotation

of

a

-LRB-

unary

-RRB-

contextual

operator

is

a

mapping

from

subsets

of

Z

to

subsets

of

Z

Definition

Let

be

a

-LRB-

unary

-RRB-

contextual

operator

of

ML

-LRB-

-RRB-

The

denotation

of

denoted

by

k

k

is

an

element

of

-LSB-

P

-LRB-

Z

-RRB-

P

-LRB-

Z

-RRB-

-RSB-

Consider

the

semantics

of

a

formula

of

the

form

restk

A

in

a

multi-dimensional

interpretation

I

i.e.

krestk

AkI

krestkk

-LRB-

kAkI

-RRB-

Then

from

the

definition

of

the

satisfaction

relation

j

the

function

krestkk

can

be

obtained

as

follows

krestkk

-LRB-

kAkI

-RRB-

f

xk

i

Z

j

j

I

xk

i

restk

A

g

f

xk

i

Z

j

j

I

-LRB-

xk

-RRB-

i

A

g

f

xk

i

Z

j

-LRB-

xk

-RRB-

i

kAkI

g

Here

kAkI

is

an

arbitrary

element

of

P

-LRB-

Z

-RRB-

Hence

by

lambda

abstraction

the

definition

of

krestkk

can

be

obtained

as

krestkk

X

f

xk

i

Z!j

-LRB-

xk

-RRB-

i

Xg

Based

on

the

above

formulation

of

the

denotations

of

-LRB-

contextual

-RRB-

operators

we

define

the

following

useful

semantic

properties

Definition

-LSB-

-RSB-

Let

-LSB-

P

-LRB-

Z

-RRB-

P

-LRB-

Z

-RRB-

-RSB-

We

say

that

ffl

is

monotonic

if

for

all

X

and

Y

Z

-LRB-

X

-RRB-

-LRB-

Y

-RRB-

whenever

X

Y

ffl

is

universal

if

for

some

X

Z

-LRB-

X

-RRB-

Z

ffl

is

conjunctive

if

-LRB-

-RRB-

-LRB-

X

-RRB-

for

all

fX

g

P

-LRB-

P

-LRB-

Z

-RRB-

-RRB-

and

ffl

is

finitary

if

for

any

X

Z

and

any

x

Z

x

-LRB-

X

-RRB-

implies

x

-LRB-

S

-RRB-

for

some

finite

subset

S

of

X

There

is

a

theorem

-LSB-

theorem

-RSB-

showing

that

the

minimum

model

semantics

is

valid

for

intensional

-LRB-

modal

-RRB-

logic

programs

provided

that

the

denotations

of

operators

appearing

in

the

heads

of

program

clauses

are

monotonic

universal

and

conjunctive

and

the

denotations

of

operators

appearing

in

the

bodies

of

program

clauses

are

monotonic

and

finitary

The

continuity

of

the

mapping

TP

which

may

be

regarded

as

the

computability

requirement

is

also

guaranteed

under

these

restrictions

It

can

be

shown

that

kinitkk

kpriorkk

and

krestkk

have

all

the

four

properties

described

above

This

justifies

their

unrestricted

use

in

MLP

-LRB-

n

-RRB-

We

have

the

following

result

Lemma

kinitkk

kpriorkk

and

krestkk

are

all

monotonic

universal

conjunctive

and

finitary

Proof

From

the

definition

of

the

satisfaction

relation

j

we

can

obtain

the

following

definitions

of

the

denotations

of

the

contextual

operators

kinitkk

X

-LRB-

xk

xk

i

Z

if

xk

i

X

otherwise

kpriorkk

X

f

xk

i

Z!j

-LRB-

xk

-RRB-

i

Xg

krestkk

X

f

xk

i

Z!j

-LRB-

xk

-RRB-

i

Xg

By

using

the

definitions

of

the

desired

properties

it

can

be

shown

that

these

operators

have

all

of

the

properties

We

omit

the

details

Given

lemma

we

have

the

following

corollary

to

theorem

of

Orgun

and

Wadge

-LSB-

-RSB-

Corollary

Let

P

be

an

MLP

-LRB-

n

-RRB-

program

Then

the

model-intersection

property

holds

for

P

and

hence

the

minimum

multi-dimensional

Herbrand

model

of

P

exists

In

Orgun

and

Wadge

-LSB-

-RSB-

the

theory

is

applied

to

other

temporal

and

modal

logic

programming

languages

such

as

Templog

-LSB-

-RSB-

and

Temporal

Prolog

-LSB-

-RSB-

Molog

-LSB-

-RSB-

and

InTense

-LSB-

-RSB-

it

is

shown

that

all

of

these

languages

except

Temporal

Prolog

has

the

minimum

model

semantics

The

minimum

model

semantics

of

Templog

is

independently

given

by

Baudinet

-LSB-

-RSB-

The

declarative

semantics

of

an

instance

of

Molog

based

on

modal

logics

and

Q

is

given

in

terms

of

a

tree-like

semantics

by

Balbiani

et

al

-LSB-

-RSB-

An

Multidimensional

Interface

For

multi-dimensional

logic

programming

a

good

visual

interface

or

browser

would

enhance

the

appreciation

of

the

results

of

computations

and

it

would

also

provide

an

aid

in

writing

programs

For

example

in

programming

a

spreadsheet-like

interface

seems

to

be

a

natural

choice

Each

cell

in

the

interface

corresponds

to

a

context

The

interface

can

be

used

to

define

clauses

and

display

results

We

can

define

a

clause

in

a

cell

-LRB-

context

-RRB-

a

dimension

-LRB-

row

or

column

-RRB-

or

the

entire

plane

If

a

context

has

two

or

more

defining

clausees

the

finer

one

say

cell

will

override

the

coarser

one

-LRB-

say

dimension

-RRB-

Consider

the

Pascal

program

given

earlier

The

value

of

the

pascal

predicate

varies

in

two

dimensions

The

value

of

pascal

at

each

context

in

Z

Z

corresponds

to

the

value

displayed

in

a

cell

in

a

spreadsheet

Although

Z

Z

is

an

infinite

plane

we

regard

a

interface

as

a

window

through

which

finite

portions

of

this

plane

can

be

observed

Using

the

interface

we

can

define

the

clause

for

predicate

pascal

-LRB-

X

-RRB-

as

follows

For

all

the

cells

on

the

plane

we

define

2035 357056

126 126252

462 462 924

Origin

-LRB-

-RRB-

-LRB-

-RRB-

Goal

pascal

-LRB-

X

-RRB-

Dimensions

Figure

Pascal

's

triangle

on

a

spreadsheet

pascal

-LRB-

X

-RRB-

pascal

-LRB-

Y

-RRB-

pascal

-LRB-

Z

-RRB-

X

is

Y+Z

For

all

cells

in

row

and

column

we

define

pascal

-LRB-

-RRB-

which

override

their

plane

definitions

Each

cell

definition

corresponds

to

a

canonical

instance

of

the

defined

clause

in

that

context

For

example

a

definition

P

-LRB-

X

-RRB-

in

cell

-LRB-

i

j

-RRB-

corresponds

to

the

canonical

instance

-LRB-

i

-RRB-

-LRB-

j

-RRB-

P

-LRB-

X

-RRB-

Figure

shows

how

the

result

of

the

computation

initiated

by

the

goal

pascal

-LRB-

X

-RRB-

is

displayed

on

the

interface

It

is

displayed

in

a

spreadsheet

In

the

figure

the

dimensions

and

are

displayed

The

pascal

predicate

is

designated

as

the

goal

predicate

that

is

the

predicate

whose

values

are

going

to

be

displayed

in

the

interface

Origin

refers

to

the

left-most

cell

in

the

top

row

and

it

gives

the

coordinate

of

the

possible

context

chosen

to

be

displayed

in

that

position

The

cells

-LRB-

contexts

-RRB-

at

which

pascal

-LRB-

X

-RRB-

fails

is

left

blank

The

multidimensional

interface

also

provides

a

solution

to

the

goal

convention

problem

canonical

instances

of

the

given

goal

are

produced

for

all

the

cells

chosen

for

the

interface

For

the

above

example

the

following

canonical

instances

-LRB-

up

to

the

reordering

of

contextual

operators

-RRB-

would

be

produced

Cell

-LRB-

-RRB-

=-LRB-

-RRB-

pascal

-LRB-

X

-RRB-

Cell

-LRB-

-RRB-

-LRB-

-RRB-

pascal

-LRB-

X

-RRB-

Cell

-LRB-

-RRB-

-LRB-

-RRB-

pascal

-LRB-

X

-RRB-

Cell

-LRB-

-RRB-

=-LRB-

-RRB-

pascal

-LRB-

X

-RRB-

Cell

-LRB-

-RRB-

-LRB-

-RRB-

pascal

-LRB-

X

-RRB-

Cell

-LRB-

-RRB-

-LRB-

-RRB-

pascal

-LRB-

X

-RRB-

and

so

on

Of

course

the

variable

X

is

assumed

to

be

different

for

each

canonical

instance

As

an

option

the

values

for

the

cells

can

be

displayed

one

at

a

time

or

all

at

once

It

is

also

possible

to

use

the

interface

for

programs

in

MLP

-LRB-

n

-RRB-

for

arbitrary

n

This

would

allow

the

user

to

view

a

multi-dimensional

object

from

different

angles

and/or

points

of

view

by

selecting

the

appropriate

two

dimensions

and

their

relative

ordering

for

the

cell

definition/display

and

freezing

the

other

dimensions

at

fixed

coordinates

Any

unary

predicate

can

be

designated

as

the

goal

predicate

Consider

the

following

program

for

Conway

's

game

of

life

which

is

in

ML

-LRB-

-RRB-

The

game

involves

a

-LRB-

possibly

infinite

-RRB-

plane

divided

into

grids

Inside

each

grid

-LRB-

or

cell

-RRB-

resides

an

organism

that

may

become

alive

or

dead

depending

on

the

status

of

its

immediate

neighbors

in

the

surrounding

cells

on

the

plane

The

game

starts

with

an

initial

configuration

on

the

plane

in

which

some

of

the

organisms

are

alive

In

MLP

-LRB-

-RRB-

plane

can

be

modeled

by

the

first

two

dimensions

say

dimensions

and

and

time

can

be

modeled

by

-LRB-

the

positive

fragment

of

-RRB-

the

dimension

In

the

following

we

define

the

MLP

program

using

the

interface

It

describes

all

relationships

and

state

changes

in

the

game

it

is

adapted

from

a

program

given

in

-LSB-

-RSB-

Cube

-LRB-

-RRB-

definition

for

each

cell

organism

-LRB-

alive

-RRB-

neighbors

-LRB-

L

-RRB-

count-alive

-LRB-

L

-RRB-

organism

-LRB-

alive

-RRB-

organism

-LRB-

alive

-RRB-

neighbors

-LRB-

L

-RRB-

count-alive

-LRB-

L

-RRB-

organism

-LRB-

dead

-RRB-

neighbors

-LRB-

L

-RRB-

lonely

-LRB-

L

-RRB-

organism

-LRB-

dead

-RRB-

neighbors

-LRB-

L

-RRB-

overcrowded

-LRB-

L

-RRB-

organism

-LRB-

dead

-RRB-

organism

-LRB-

dead

-RRB-

neighbors

-LRB-

L

-RRB-

count-alive

-LRB-

L

-RRB-

neighbors

-LRB-

-LSB-

-RSB-

-RRB-

organism

-LRB-

-RRB-

organism

-LRB-

-RRB-

organism

-LRB-

-RRB-

organism

-LRB-

-RRB-

organism

-LRB-

-RRB-

organism

-LRB-

-RRB-

organism

-LRB-

-RRB-

organism

-LRB-

-RRB-

lonely

-LRB-

L

-RRB-

count-alive

-LRB-

L

X

-RRB-

X

overcrowded

-LRB-

L

-RRB-

count-alive

-LRB-

L

X

-RRB-

X

count-alive

-LRB-

-LSB-

-RSB-

-RRB-

count-alive

-LRB-

-LSB-

alive

L

-RSB-

N

-RRB-

count-alive

-LRB-

L

X

-RRB-

N

is

X

count-alive

-LRB-

-LSB-

dead

L

-RSB-

X

-RRB-

count-alive

-LRB-

L

X

-RRB-

definition

at

time

organism

-LRB-

dead

-RRB-

Initial

cell

definition

for

alive

cells

at

space

-LRB-

i

j

-RRB-

at

time

organism

-LRB-

alive

-RRB-

Read

all

clauses

as

assertions

true

at

all

cells

The

initial

cell

definition

overrides

the

and

definitions

and

definitions

override

the

definitions

When

an

initial

cell

definition

is

not

given

for

a

cell

definition

is

used

The

and

definitions

together

are

used

to

define

the

initial

configuration

of

the

game

The

intuitive

reading

of

the

clauses

in

definition

is

given

as

follows

The

first

clause

says

that

an

organism

will

become

alive

at

the

this

moment

-LRB-

at

the

point

in

the

dimension

-RRB-

if

exactly

two

of

its

neighbors

are

alive

at

the

previous

moment

no

matter

if

the

organism

itself

is

alive

or

dead

This

clause

also

covers

the

case

where

the

birth

of

an

organism

occurs

at

the

this

moment

if

it

was

dead

and

exactly

two

of

its

neighbors

were

alive

at

the

previous

moment

The

second

clause

says

that

an

alive

organism

continues

to

live

at

the

this

moment

if

exactly

three

of

its

neighbors

were

alive

at

the

previous

moment

The

next

two

clauses

state

that

an

organism

becomes

dead

at

the

this

moment

if

it

is

lonely

-LRB-

less

than

two

neighbors

were

alive

-RRB-

or

the

surrounding

area

was

overcrowded

-LRB-

more

than

three

neighbors

were

alive

-RRB-

The

fifth

clause

says

that

an

organism

stays

dead

if

it

was

already

dead

and

had

exactly

three

alive

neighbors

The

sixth

clause

simply

bundles

up

the

status

of

the

neighbors

of

a

given

cell

in

a

list

for

further

use

The

rest

of

the

clauses

define

some

auxiliary

predicates

According

to

the

program

at

any

possible

context

exactly

one

of

the

units

organism

-LRB-

alive

-RRB-

and

organism

-LRB-

dead

-RRB-

is

true

The

problem

is

again

how

to

produce

the

canonical

instances

of

a

given

goal

such

as

organism

-LRB-

X

-RRB-

We

are

in

fact

interested

in

all

canonical

instances

of

this

goal

and

thus

without

the

interface

display

it

is

very

difficult

to

impose

any

ordering

on

the

way

in

which

canonical

instances

are

produced

Since

the

dimension

is

regarded

as

the

time

dimension

the

first

two

dimensions

-LRB-

and

-RRB-

can

be

chosen

for

the

display

The

time

dimension

is

orthogonal

to

the

display

plane

Figure

displays

the

initial

configuration

of

the

game

which

is

defined

by

the

plane

definition

at

time

and

the

cell

definitions

Initially

the

organisms

are

dead

at

all

cells

outside

the

boundaries

of

the

interface

the

second

stage

of

the

game

-LRB-

at

the

time

-RRB-

is

displayed

in

Figure

Again

Origin

refers

to

the

left-most

cell

in

the

top

row

and

Dimensions

refers

to

the

remaining

dimensions

in

this

case

the

dimension

The

canonical

instances

of

the

goal

organism

-LRB-

X

-RRB-

are

produced

using

the

information

provided

by

Origin

and

Dimensions

Here

organism

is

the

goal

predicate

In

a

way

we

have

a

stack

of

planes

one

for

each

moment

in

time

-LRB-

point

in

the

dimension

-RRB-

Dimensions

-LRB-

-RRB-

-LRB-

-RRB-

Origin

-LRB-

-RRB-

-LRB-

-RRB-

Goal

organism

-LRB-

X

-RRB-

alive

deaddead

alivealive

deaddeaddead

deaddead

deaddeaddead

dead

dead

dead

dead

dead

dead

dead

dead

dead

dead

dead

deaddeaddeaddeaddeaddeaddead

deaddead

alive

alivealive

alive

alive

alive

alive

alivealive

dead

deaddead

dead

dead

alive

alive

alivealivedeaddead

dead

deaddead

dead

deadalivedead

alivealive

dead

Figure

The

first

stage

of

the

game

of

life

-LRB-

-RRB-

-LRB-

-RRB-

Goal

organism

-LRB-

X

-RRB-

deaddead

alivealive

deaddead

deaddead

dead

dead

dead

dead

dead

dead

dead

dead

dead

dead

deaddeaddeaddeaddeaddead

dead

alivealive

alivealivealive

deaddead

alive

alivedeaddead

dead

deaddead

dead

deadalivedead

alivealive

deadalive

Dimensions

-LRB-

-RRB-

-LRB-

-RRB-

alive

alive

alive

alive

alive

alive

alive

alive

alive

alive

dead

deaddead

dead

dead

dead

dead

dead

Figure

The

second

stage

of

the

game

of

life

In

general

there

are

no

restrictions

on

the

form

of

goals

and

more

complicated

goals

can

also

be

given

For

example

consider

the

goal

organism

-LRB-

X

-RRB-

organism

-LRB-

X

-RRB-

It

says

that

Display

the

values

X

such

that

organism

is

true

of

those

values

at

two

consecutive

moments

in

time

As

a

result

of

such

a

goal

the

cell

-LRB-

-RRB-

would

be

left

blank

in

the

display

using

Origin

-LRB-

-RRB-

-LRB-

-RRB-

and

Dimensions

-LRB-

-RRB-

-LRB-

-RRB-

If

the

goal

involves

more

than

one

variable

the

choice

of

the

variable

for

the

display

should

be

made

by

the

user

The

multidimensional

interface

is

very

flexible

As

in

the

definition

of

program

clauses

finer

goals

may

override

coarser

goals

-LRB-

e.g.

a

goal

would

override

a

goal

-RRB-

It

is

also

possible

to

exploit

the

inherent

non-determinism

in

logic

programming

In

the

above

examples

both

pascal

and

organism

represent

single-valued

relations

at

each

possible

context

If

we

use

a

multiple-valued

predicate

as

the

goal

predicate

we

can

simply

request

another

value

for

any

given

individual

cell

This

would

not

be

possible

in

conventional

spreadsheets

in

which

each

cell

has

a

single

value

We

are

currently

working

on

the

formalization

of

the

multidimensional

interface

or

browser

In

our

opinion

the

interface

is

a

very

promising

avenue

of

further

research

There

are

also

other

logic

programming

spreadsheets

van

Emden

et

al

-LSB-

-RSB-

concentrate

on

a

spreadsheet

interface

supported

by

incremental

queries

as

a

means

to

display

the

results

of

goals

Kriwaczek

-LSB-

-RSB-

outlines

a

spreadsheet

program

implemented

in

Prolog

In

our

approach

there

is

a

natural

correspondence

between

the

multidimensional

interface

and

MLP

-LRB-

n

-RRB-

Also

the

interface

can

be

naturally

used

as

a

programming

tool

Du

and

Wadge

-LSB-

-RSB-

proposed

a

spreadsheet

based

on

intensional

logic

and

the

functional

language

Lucid

-LSB-

-RSB-

Concluding

Remarks

We

have

established

a

theoretical

foundation

of

logic

programming

based

on

multi-dimensional

logics

and

outlined

its

features

and

use

We

have

in

particular

discussed

the

declarative

and

operational

semantics

of

MLP

Orgun

and

Wadge

-LSB-

-RSB-

provided

a

language-independent

model-theoretic

framework

for

temporal

and

modal

logic

programming

which

can

also

be

applied

to

MLP

However

the

framework

does

not

provide

a

basis

for

operational

semantics

in

which

the

soundness

and

completeness

of

MLP

can

be

established

MSLD-resolution

however

does

not

apply

to

MLP

based

on

ML

-LRB-

-RRB-

Implementations

of

MLP

rely

on

MSLD-resolution

for

correctness

For

efficiency

we

can

combine

features

of

logic

programming

-LRB-

Prolog

-RRB-

implementations

with

features

of

dataflow

implementations

-LRB-

associative

memory

tagging

-RRB-

such

as

those

of

Lucid

-LSB-

-RSB-

Mitchell

and

Faustini

-LSB-

-RSB-

report

on

an

implementation

of

InTense

based

on

an

extension

of

the

Warren

Abstract

Machine

-LRB-

WAM

-RRB-

with

an

associative

memory

in

which

contexts

are

used

as

tags

on

atoms

The

implementation

allows

the

use

of

temporal

and

spatial

dimensions

Rolston

and

Faustini

-LSB-

-RSB-

outlined

an

eductive

evaluation

mechanism

for

logic

programming

which

can

also

be

used

to

implement

contextual

extensions

such

as

MLP

Contextual

extensions

of

logic

programming

offer

an

extra

form

of

parallelism

which

we

call

context-parallelism

in

addition

to

the

standard

AND

and

OR-parallelism

existing

in

logic

programs

Context-parallelism

can

be

effectively

exploited

in

a

parallel

implementation

A

parallel

execution

model

for

temporal

logic

programming

that

exploits

context-parallelism

is

proposed

in

-LSB-

-RSB-

Further

research

continues

in

this

direction

Acknowledgements

The

work

of

Mehmet

A.

Orgun

has

been

supported

in

part

by

an

Australian

Research

Council

-LRB-

ARC

-RRB-

grant

The

work

of

Weichang

Du

has

been

supported

in

part

by

a

Canadian

NSERC

research

grant

References

-LSB-

-RSB-

M.

Abadi

The

power

of

temporal

proofs

Theoretical

Computer

Science

-LCB-

-LSB-

-RSB-

M.

Abadi

and

Z.

Manna

Temporal

logic

programming

In

Proceedings

of

the

Symposium

on

Logic

Programming

pages

-LCB-

San

Fransisco

Calif

IEEE

Computer

Society

Press

-LSB-

-RSB-

M.

Abadi

and

Z.

Manna

Temporal

logic

programming

Journal

of

Symbolic

Computation

-LCB-

-LSB-

-RSB-

T.

Aoyagi

M.

Fujita

and

T.

Moto-oka

Temporal

logic

programming

language

Tokio

In

E.

Wada

editor

Logic

Programming

volume

of

LNCS

pages

-LCB-

Springer-Verlag

-LSB-

-RSB-

K.

R.

Apt

and

M.

H.

van

Emden

Contributions

to

the

theory

of

logic

programming

Journal

of

the

Association

for

Computing

Machinery

-LCB-

July

-LSB-

-RSB-

E.

A.

Ashcroft

A.

A.

Faustini

and

B.

Huey

Eduction

A

model

of

parallel

computation

and

the

programming

language

Lucid

In

Proc

of

Phoenix

Conference

on

Computers

and

Communications

pages

-LCB-

IEEE

Computer

Society

Press

-LSB-

-RSB-

Philippe

Balbiani

Luis

Fari

nas

del

Cerro

and

Andreas

Herzig

Declarative

semantics

for

modal

logic

programs

In

Proceedings

of

the

International

Conference

on

Fifth

Generation

Computer

Systems

pages

-LCB-

ICOT

-LSB-

-RSB-

M.

Baudinet

Temporal

logic

programming

is

complete

and

expressive

In

Conference

Record

of

the

Sixteenth

ACM

Symposium

on

Principles

of

Programming

Languages

pages

-LCB-

Austin

Texas

January

The

Association

for

Computing

Machinery

-LSB-

-RSB-

M.

Baudinet

A

simple

proof

of

the

completeness

of

temporal

logic

programming

In

L.

Fari

nas

del

Cerro

and

M.

Penttonen

editors

Intensional

Logics

for

Programming

pages

-LCB-

Oxford

University

Press

-LSB-

-RSB-

C.

Brzoska

Temporal

logic

programming

with

metric

and

past

operators

In

M.

Fisher

and

R.

Owens

editors

Executable

Modal

and

Temporal

Logics

pages

-LCB-

Springer

Verlag

Berlin

Heidelberg

-LSB-

-RSB-

B.

F.

Chellas

Modal

Logic

An

Introduction

Cambridge

University

Press

-LSB-

-RSB-

W.

Du

and

W.

W.

Wadge

A

spreadsheet

based

on

intensional

logic

IEEE

Software

pages

-LCB-

-LSB-

-RSB-

Luis

Fari

nas

del

Cerro

MOLOG

A

system

that

extends

PROLOG

with

modal

logic

New

Generation

Computing

-LCB-

-LSB-

-RSB-

M.

Fisher

and

R.

Owens

An

introduction

to

executable

modal

and

temporal

logics

In

M.

Fisher

and

R.

Owens

editors

Executable

Modal

and

Temporal

Logics

pages

-LCB-

Springer

Verlag

Berlin

Heidelberg

-LSB-

-RSB-

D.

M.

Gabbay

Modal

and

temporal

logic

programming

In

A.

Galton

editor

Temporal

Logics

and

Their

Applications

pages

-LCB-

Academic

Press

-LSB-

-RSB-

R.

Hale

Temporal

logic

programming

In

A.

Galton

editor

Temporal

Logics

and

Their

Applications

pages

-LCB-

Academic

Press

-LSB-

-RSB-

P.

Jackson

and

H.

Reichgelt

A

general

proof

method

for

modal

predicate

logic

In

P.

Jackson

H.

Reichgelt

and

F.

van

Harmelen

editors

Logic-Based

Knowledge

Representation

pages

-LCB-

MIT

Press

-LSB-

-RSB-

R.

A.

Kowalski

Logic

for

Problem

Solving

North

-LCB-

Holland

Publishing

Company

Amsterdam

-LSB-

-RSB-

F.

Kriwaczek

LogiCalc

A

Prolog

spreadsheet

In

J.

E.

Hayes

D.

Michie

and

J.

Richards

editors

Machine

Intelligence

pages

-LCB-

Clarendon

Press

Oxford

-LSB-

-RSB-

C.

Liu

M.

A.

Orgun

and

K.

Zhang

A

framework

for

exploiting

parallelism

in

Chronolog

In

Proceedings

of

The

First

IEEE

International

Conference

on

Algorithms

and

Architectures

for

Parallel

Processing

Brisbane

Australia

April

-LCB-

IEEE

Press

-LSB-

-RSB-

J.

W.

Lloyd

Foundations

of

Logic

Programming

Springer-Verlag

-LSB-

-RSB-

Z.

Manna

and

A.

Pnueli

Verification

of

concurrent

programs

the

temporal

framework

In

Boyer

and

Moore

editors

Correctness

Problem

in

Computer

Science

pages

-LCB-

Academic

Press

-LSB-

-RSB-

W.

H.

Mitchell

Intensional

Horn

clause

logic

as

a

programming

language

-LCB-

it

's

use

and

implementation

Master

's

thesis

Department

of

Computer

Science

and

Engineering

Arizona

State

University

Tempe

Arizona

-LSB-

-RSB-

W.

H.

Mitchell

and

A.

A.

Faustini

The

intensional

logic

language

InTense

In

Proceedings

of

the

International

Symposium

on

Lucid

and

Intensional

Programming

Arizona

State

University

May

-LSB-

-RSB-

B.

Moszkowski

Executing

Temporal

Logic

Programs

Cambridge

University

Press

-LSB-

-RSB-

M.

A.

Orgun

and

W.

Du

Multi-dimensional

logic

programming

In

Special

Issue

Proceedings

of

ICCI

The

Sixth

International

Conference

on

Computing

and

Information

pages

-LCB-

Trent

University

Peterborough

Ontario

Canada

May

-LCB-

Journal

of

Computing

and

Information

Vol

No.

-LSB-

-RSB-

M.

A.

Orgun

and

W.

Ma

An

overview

of

temporal

and

modal

logic

programming

In

D.M.

Gabbay

and

H.J.

Ohlbach

editors

Proc

of

ICTL

First

International

Conference

on

Temporal

Logic

volume

of

LNAI

pages

-LCB-

Gustav

Stresemann

Institut

Bonn

Germany

July

-LCB-

Springer-Verlag

-LSB-

-RSB-

M.

A.

Orgun

and

W.

W.

Wadge

Theory

and

practice

of

temporal

logic

programming

In

L.

Fari

nas

del

Cerro

and

M.

Penttonen

editors

Intensional

Logics

for

Programming

pages

-LCB-

Oxford

University

Press

-LSB-

-RSB-

M.

A.

Orgun

and

W.

W.

Wadge

Towards

a

unified

theory

of

intensional

logic

programming

Journal

of

Logic

Programming

-LRB-

-RRB-

-LCB-

August

-LSB-

-RSB-

M.

A.

Orgun

and

W.

W.

Wadge

Chronolog

admits

a

complete

proof

procedure

In

Proceedings

of

the

Sixth

International

Symposium

on

Lucid

and

Intensional

Programming

pages

-LCB-

Universit?e

Laval

Qu?ebec

City

Qu?ebec

Canada

April

-LCB-

-LSB-

-RSB-

D.

W.

Rolston

Toward

a

tense-logic-based

mitigation

of

the

frame

problem

In

F.

M.

Brown

editor

Proceedings

of

the

Workshop

on

the

Frame

Problem

in

AI

Lawrence

Kansas

April

Morgan

Kaufmann

Los

Altos

Calif.

-LSB-

-RSB-

D.

W.

Rolston

and

A.

A.

Faustini

An

overview

of

an

eductive

evaluation

mechanism

for

logic

programs

In

Proceedings

of

the

Sixth

International

Symposium

on

Lucid

and

Intensional

Programming

pages

-LCB-

Universit?e

Laval

Qu?ebec

City

Canada

April

-LCB-

-LSB-

-RSB-

F.

Sadri

Three

approaches

to

temporal

reasoning

In

A.

Galton

editor

Temporal

Logics

and

Their

Applications

pages

-LCB-

Academic

Press

-LSB-

-RSB-

P.

Smets

A.

Mamdani

D.

Dubois

and

H.

Prade

editors

Non-Standard

Logics

for

Automated

Reasoning

Academic

Press

-LSB-

-RSB-

A.

Szalas

Concerning

the

semantic

consequence

relation

in

first-order

temporal

logic

Theoretical

Computer

Science

-LCB-

-LSB-

-RSB-

M.

H.

van

Emden

M.

Ohki

and

A.

Takeuchi

Spreadsheets

with

incremental

queries

as

a

user

interface

for

logic

programming

New

Generation

Computing

-LCB-

-LSB-

-RSB-

M.H.

van

Emden

and

R.A.

Kowalski

The

semantics

of

predicate

logic

as

a

programming

language

Journal

of

the

Association

for

Computing

Machinery

-LCB-

-LSB-

-RSB-

W.

W.

Wadge

and

E.

A.

Ashcroft

Lucid

the

Dataflow

Programming

Language

Academic

Press

-LSB-

-RSB-

K.

Zhang

and

M.

A.

Orgun

Parallel

execution

of

temporal

logic

programs

using

dataflow

computation

In

Special

Issue

Proceedings

of

ICCI

The

Sixth

International

Conference

on

Computing

and

Information

pages

-LCB-

Trent

University

Peterborough

Ontario

Canada

May

-LCB-

Journal

of

Computing

and

Information

Vol

No.

declarative semantics
logic programming
proof procedures
spreadsheets