[mod.ai] Seminar - Interpretation of Prolog Programs

gideon%edai.edinburgh.ac.uk@CS.UCL.AC.UK (Gideon Sahar) (03/11/86)

EDINBURGH AI SEMINARS

Date:   Wednesday, 12th March l986
Time:   2.00 p.m.
Place:  Department of Artificial Intelligence
        Seminar Room - F10
	80 South Bridge
	EDINBURGH.

Dr. C.S. Mellish, Cognitive Studies Programme, University of Sussex
will give a seminar entitled  -  "Interpretation of Prolog Programs".


This talk discusses work on proving properties of Prolog programs,
which has been able to derive automatically the following information:

l.  Mode declarations (information about the instantiation modes in
    which predicates are used).

2.  Determinacy information (information about the number of solutions
    that predicates can produce).

3.  Information about shared structures (this can be used, for
    instance, to indicate places where "occur checks" might be
    desirable.

We would like to formalise our work on Prolog programs in terms of
ABSTRACT INTERPRETATIONS.   The notion of using abstract
interpretations to prove properties of programs has been used
successfully with other languages (e.g. work by Cousot and Cousot,
Mycroft and Sintzoff).   The basic idea is to start with a precise
description of the meaning of Prolog programs in terms of the normal
execution strategy.   This description can then be given the STANDARD
INTERPRETATION, which characterises exactly what and how the program
computes but may not allow interesting properties to be proved in a
computationally feasible way.   Alternatively, it can be given
consistent ABSTRACT INTERPRETATIONS, in which the program is thought of
as computing in an abstract domain where less information about the
data objects is taken account of.   Results of computations in this
abstract domain then reflect properties of the program operating in the
standard way.