From jroomy@wolf Tue May 14 14:44:54 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA24155; Tue, 14 May 91 14:44:17 -0700
Received: from wolf.cs.washington.edu by chum.cs.washington.edu (5.64/7.0h)
	id AA26943; Tue, 14 May 91 15:00:09 -0700
Received: by wolf.cs.washington.edu (5.64/7.0jh)
	id AA24148; Tue, 14 May 91 14:43:59 -0700
Date: Tue, 14 May 91 14:43:59 -0700
From: jroomy@wolf (Julie Roomy)
Message-Id: <9105142143.AA24148@wolf.cs.washington.edu>
To: etzioni@chum, johnc@cac.washington.edu
Subject: Re:  Important Issues!
Cc: cs473@chum
Status: R


It's seems to me, that although Prodigy allows modification it does not
allow creation or destruction of objects, while maintaining static
generators.  For example if you had an object and wished to cut it into
two objects, what could you use as the static generator for the object,
since you wish to delete the object from the state after the operator 
has been applied.

example)
  
(cut
  (parameters <stick> <knife> <pt>)
  (preconditions
          (have_stick <original_stick> <original_length>)
          (have_knife <knife>)
	  (subtract_length <orginal_length> <new_length1> <new_length2>))
  (effects
          (del (have_stick <original_stick> <original_length>))
          (add (have_stick <new_stick1> <new_length1>))
          (add (have_stick <new_stick2> <new_length2>))))


Machining Domain mentions this as something "hard to express" in Prodigy.
I see know way of expressing it without, either using non-static
generators, or throwing away the left over piece.

Note, the same problem occurs with destruction (ie, making two objects 
into one).

 -Julie



From etzioni@chum Tue May 14 15:47:02 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA25695; Tue, 14 May 91 15:46:31 -0700
Received: by chum.cs.washington.edu (5.64/7.0h)
	id AA26997; Tue, 14 May 91 16:02:31 -0700
Date: Tue, 14 May 91 16:02:31 -0700
From: etzioni@chum (Oren Etzioni)
Message-Id: <9105142302.AA26997@chum.cs.washington.edu>
To: jroomy@wolf
Cc: cs473@chum
Subject:  Important Issues!
Status: R

   Date: Tue, 14 May 91 14:43:59 -0700
   From: jroomy@wolf (Julie Roomy)
   To: etzioni@chum, johnc@cac.washington.edu
   Subject: Re:  Important Issues!
   Cc: cs473@chum


   It's seems to me, that although Prodigy allows modification it does not
   allow creation or destruction of objects, while maintaining static
   generators.  For example if you had an object and wished to cut it into
   two objects, what could you use as the static generator for the object,
   since you wish to delete the object from the state after the operator 
   has been applied.

   example)

   (cut
	 (parameters <stick> <knife> <pt>)
	 (preconditions
			 (have_stick <original_stick> <original_length>)
			 (have_knife <knife>)
		 (subtract_length <orginal_length> <new_length1> <new_length2>))
	 (effects
			 (del (have_stick <original_stick> <original_length>))
			 (add (have_stick <new_stick1> <new_length1>))
			 (add (have_stick <new_stick2> <new_length2>))))


   Machining Domain mentions this as something "hard to express" in Prodigy.
   I see know way of expressing it without, either using non-static
   generators, or throwing away the left over piece.

   Note, the same problem occurs with destruction (ie, making two objects 
   into one).

	-Julie



I don't see a way of expressing object creation/destruction without
using non-static generators either.  

If you need to use non-static generators (not for control reasons!)
then:
1. Document this clearly and explain why.
2. Go ahead and do it.  Even if there is a tricky way of doing what
you did using static generators, you won't be penalized!

oren

From c473bd@ms.washington.edu Tue May 14 18:16:13 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA01739; Tue, 14 May 91 18:15:40 -0700
Received: from entropy.ms.washington.edu by chum.cs.washington.edu (5.64/7.0h)
	id AA27107; Tue, 14 May 91 18:31:34 -0700
Received: by entropy.ms.washington.edu
	(5.65/UW-NDC Revision: 2.21 ) id AA07677; Tue, 14 May 91 18:31:40 -0700
Date: Tue, 14 May 91 18:31:40 -0700
From: Rebecca Smit <c473bd@ms.washington.edu>
Message-Id: <9105150131.AA07677@entropy.ms.washington.edu>
To: cs473@chum.cs.washington.edu
Subject: # of operators
Status: R


About how many operators are all of you using in a typical problem?
How many total are available in your domain?  

Are any of you using conditional effects?

--rebeccas

From etzioni@chum Tue May 14 19:09:49 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA03613; Tue, 14 May 91 19:09:26 -0700
Received: by chum.cs.washington.edu (5.64/7.0h)
	id AA27127; Tue, 14 May 91 19:25:28 -0700
Date: Tue, 14 May 91 19:25:28 -0700
From: etzioni@chum (Oren Etzioni)
Message-Id: <9105150225.AA27127@chum.cs.washington.edu>
To: c473bd@ms.washington.edu
Cc: cs473@chum
In-Reply-To: Rebecca Smit's message of Tue, 14 May 91 16:13:40 -0700 <9105142313.AA06313@entropy.ms.washington.edu>
Subject: semi-non-general question
Status: R

Having a single top-level goal is fine, but presumably there
are lots of different ways of achieving it which generate a
wide variety of subgoals.  Here's a serious question I would
ask about your project: how far is it from being useful to
someone who wants to get a date?  the closer the better, obviously.
If it would teach one new ways of getting dates or be a reasonable
model of how people *actually* go about getting dates--this would be a
good thing.  Could you use it to teach a foreign student about our
culture? 

Given that you have three people working on this I expect it to be
highly ambitious!

oren


ps And I can't wait to see the control rules -:)

From johnc@cac.washington.edu Tue May 14 19:43:42 1991
Received: from june.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA04115; Tue, 14 May 91 19:43:20 -0700
Received: from akbar.cac.washington.edu by june.cs.washington.edu (5.64a/7.0jh)
	id AA09884; Tue, 14 May 91 19:59:24 -0700
Received: by akbar.cac.washington.edu
	(5.65/UW-NDC Revision: 2.21 ) id AA09332; Tue, 14 May 91 19:59:24 -0700
From: John Carlson <johnc@cac.washington.edu>
Message-Id: <9105150259.AA09332@akbar.cac.washington.edu>
Subject: Design condusive to problem generator 
To: etzioni@cs.washington.edu
Date: Tue, 14 May 91 19:59:24 PDT
Cc: cs473@cs.washington.edu, Vaughn@cs.washington.edu
X-Mailer: Pine [version 0.9.701]
Status: R

Oren,
	I would like to design my domain (brew) so that it will be
well suited to latter parts of the project, in particular the random
problem generator.  Do I need to think about this as I'm designing this
portion of the project or does it matter at this stage?  Could you
give some general advise on what aspects of the design at this stage will
prepare later and what design pitfalls to avoid?  

Thanks,
johnc

From zeno@genetics.washington.edu Tue May 14 22:01:00 1991
Received: from chum.cs.washington.edu by wolf.cs.washington.edu (5.64/7.0jh)
	id AA06557; Tue, 14 May 91 22:00:38 -0700
Received: from phylo.genetics.washington.edu by chum.cs.washington.edu (5.64/7.0h)
	id AA27203; Tue, 14 May 91 22:16:42 -0700
Received: by phylo.genetics.washington.edu
	(5.65/UW-NDC Revision: 2.13 ) id AA25589; Tue, 14 May 91 22:15:37 -0700
Date: Tue, 14 May 91 22:15:37 -0700
From: Sean Lamont <zeno@genetics.washington.edu>
Message-Id: <9105150515.AA25589@phylo.genetics.washington.edu>
To: cs473@chum.cs.washington.edu
Subject: multiple variable bindings in forall
Status: R


I'm failing at trying to check whether something is true
for all values of variables, when there are 2 variables and 2 generator
predicates.  Consider checking a bunch of coordinates in x-y space.
I've tried:
(forall (<adj-x> <adj-y>)
        (and (is-adj <x> <adj-x>)
             (is-adj <y> <adj-y>))

and it complains about having to have atomic predicates as generators.
Does anyone know how to look at all valid values of two variables, where
the generator function for the 2 (or more ) variables are separate?


