Re: representing patterns and structures

"Peter Clark" <>
Message-id: <>
Subject: Re: representing patterns and structures
To: (Danny Bobrow),,,
Date: Tue, 22 Nov 1994 09:03:17 -0600 (CST)
From: "Peter Clark" <>
In-reply-to: <> from "Danny Bobrow" at Nov 21, 94 07:29:22 pm
X-Mailer: ELM [version 2.4 PL24alpha3]
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Length: 4922      
Precedence: bulk

> What this leads to is a theory of description construction with
> properties like selection (of a subset found by a property),
> modification of selected descriptions (either incrementally -- 1/4 inch
> larger, or absolutely 1/2 inch in diameter), and a representation of
> description combination in the language. (NO I don't have a language to
> propose)

I agree: you can invent languages which allow you to talk about specific 
individuals, even if they are members of an intensionally described set.

Again, the stuff on Series in Common Lisp (Steel, 2nd Ed, Appendix A)
comes to mind. From another rather cursory reading, I understand this as: 
A series is an intensional description of a sequence. In fact, that
description is a *program* for generating the sequence. Operators
such as series addition, subtraction, etc. modify these intensional
descriptions -- they manipulate the programs for generating sequences.
but never actually execute the programs themselves. And like you say,
there's no reason why such intensional descriptions can't include
references to specific elements within an (intensionally described)
set. At "generation time", ie. if you actually wanted to see what
the sequence was (execute the program), these specific elements would be 
modified appropriately.

			Best wishes,


Peter Clark (	   Department of Computer Science
tel: (512) 471-9565, fax: (512) 471-8885   University of Texas at Austin
URL:      Austin, Texas, 78712, USA.
URL(research group):

  APPENDIX: Examples of series (intensional sequences) in Lisp

I'm not an expert, and in fact am guessing about what the correct 
expressions would be as we don't have the code for series, and I've
only had a cursory read of the chapter:

1. The expresion below will generate an intensional description of 7 holes 
	spaced 2.1cm apart (well, of course, it's really an intensional 
	description of a list of numbers);
    > (subseries (scan-range :from 0 :by 2.1) 0 7)
			representing  (0.0 2.1 4.2 6.3 8.4 10.5 12.6)

2. let's fill in every third hole:
    > (choose (series '(t t nil)) (subseries (scan-range :from 0 :by 2.1) 0 7))
			representing  (0.0 2.1 6.3 8.4 12.6)

3. let's move the holes a leeetle bit closer (but keep every 3rd hole filled):
    > (choose (series '(t t nil))(subseries (scan-range :from 0 :by 2.05) 0 7))
			representing  (0.0 2.05 6.15 8.2 12.3)

4. This generates an intensional description of an infinite line of holes
   spacing 2.1cm (ie. sequence (0.0 2.1 .....)) except hole 42 is
   filled in (ie. 86.1 is missing in the series):

   > (choose (mask (choose-if #'unfilled (scan-range))) 
	     (scan-range :from 0 :by 2.1))

		where: (defun unfilled (position) (not (eq position 42)))  **

   Note the sequence is infinite, so necessarily must be intensionally
   represented. [** strictly, should be (1+ position) as the position index
   starts at 0 rather than 1 in this package].


> Excerpts from mail: 21-Nov-94 Re: representing patterns a.. Fritz
> Lehmann@rodin.wust (2717)
> >      This issue is a very deep one, that of individual identity.
> > Those holes are _intensional_ in the initial description, yet you want
> > to "tag" one of them as an individual  to state an exception.  The problem
> > is, what does "one of them" mean?  If the holes are moved "a leeeetle bit
> > closer together", are they "the same" holes?   What if a circle of eleven
> > holes is made into a circle of ten holes?  Which of the eleven evaporates?
> Fritz here is talking about either the problem of description
> modification (e.g. that array with the lower left and upper right holes
> removed -- or with two holes removed ...), or description matching
> (given two descriptions,  here is a way of mapping one into another).  
> Both of these may leave underspecified various parameters, or the
> identity of various elements in pairs of descriptions.  Then asking
> about which things are "the same" depends on the purpose for which
> "same" is being used.  Suppose one hole in the circle was larger and the
> eleven were mapped to ten.  Then it might make a difference which hole
> was removed (total material left).  Talking about identity without
> giving the purpose for which identity is sought leads to wonderful
> philosophical discussions, but rarely leads to deinitve answers.  
> Let us find ways of providing nested (layered) descriptions, and ways of
> specifying interesting correspondences between elements identified by
> descriptions.  Let us find ways of using descriptions as frames for
> selection, perhaps a full  algebra of descriptions.  Then let us find
> efficient implementations that support reasoning with these in cases we
> care about.
> Flame off,
> danny