Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: A few examples



> From: "Nate Hayes" <nh@xxxxxxxxxxxxxxxxx>
> To: "Dan Zuras Intervals" <intervals08@xxxxxxxxxxxxxx>
> Subject: Re: A few examples 
> Date: Mon, 30 May 2011 13:20:10 -0500
> 
> Dan Zuras wrote:
> >> From: "Nate Hayes" <nh@xxxxxxxxxxxxxxxxx>
> >> To: "P-1788" <stds-1788@xxxxxxxxxxxxxxxxx>
> >> Subject: A few examples
> >> Date: Mon, 30 May 2011 10:06:21 -0500
> >> 
> >> Dan Zuras wrote:
> >> > I would still like to see the table in section 3 filled
> >> > out with examples.  As it is, there is much that is
> >> > non-obvious if not incorrect.
> >> 
> >> . . .
> > 
> > All good examples.
> > And for the remaining 5 cases?
> > Would decrementing '10' to, say, '1' or '0.5' mostly do
> > the job?
> 
> Yup.

	OK, I like things out in the open where we all can judge
	them.  So let me try:

	D4 ==> empty
	D3 ==> inDomain&Continuous
	D2 ==> inDomain
	D1 ==> inDomain&OutDomain
	D0 ==> OutDomain

	Off the top of my head I think we have to swap the last
	two to maintain the correct partial order.

	But ignoring that, if I throw in a few examples of my own
	together with your case analysis with xx = {[0,4],D3} we
	get (please check my work):

	D4 ==> empty & result = empty:
		sqrt(xx - 5) + sqrt(xx - 5) = {empty,D4}
		 {empty,D0}  +  {empty,D0}  = {empty,D4}

		(Because all of the add's operands were empty.)

	D4 ==> empty & result = nonempty:
		f(xx) == xx \union {[5,6],doesItMatter?}
		==> f(xx) = {[0,6],D4}

		(Because all of F()'s operands were empty.)

	D3 ==> inDomain&Continuous & result = empty:
		xx \intersect (xx + 10) = {empty,D3}

		(Because both operands were D3?)

	D3 ==> inDomain&Continuous & result = nonempty:
		xx \intersect (xx + 1) = {[1,4],D3}
		xx + xx = {[0,8],D3}
		sqrt(xx - 3) +   (xx + 10)  = {[10,15],D3}
		{[0,1],D1}   + {[10,14],D3} = {[10,15],D3}
		 floor(xx) +  (xx + 10)   = {[10,18],D3}
		{[0,4],D2} + {[10,14],D3} = {[10,18],D3}

		(Except for the first, all of these examples
		are D3 not because one of their operands is
		D3 but because both of their operands are
		contained within the defined & continuous
		domain of add.)

	D2 ==> inDomain & result = empty:
		floor(xx) \intersect (xx + 10) = {empty,D2}

		(Because the floor was D2?)

	D2 ==> inDomain & result = nonempty:
		floor(xx) + xx = {[0,8],D2}

		(Because the floor was D2?)

	D1 ==> inDomain&OutDomain & result = empty:
		sqrt(xx - 3) \intersect   (xx + 10)  = {empty,D1}
		{[0,1],D1}   \intersect {[10,14],D3} = {empty,D1}

		(Because the sqrt was D1.)

	D1 ==> inDomain&OutDomain & result = nonempty:
		sqrt(xx - 3) = {[0,1],D1}

		(Because the sqrt was D1.)

	D0 ==> OutDomain & result = empty:
		sqrt(xx - 10) \intersect xx = {empty,D0}

		(Because the sqrt was D0.)

	D0 ==> OutDomain & result = nonempty:
		sqrt(xx - 10) \union xx = {[0,4],D0}

		(Because the sqrt was D0.)

	Do I have all these correct?

	(On rereading this I think the last example is wrong.  But
	I left it in, in the hopes that someone else can provide a
	correct example.  There may not be one.)

	Does anyone else have simpler or more illuminating examples?

	I tried to include examples without set theoretic operations
	where I could think of them.  But I couldn't think of many.

> 
> . . .
>
> > Well, as I recall only a partial ordering was necessary to
> > prove FTDIA.  It was:
> > 
> > empty < inDomain&Continuous < inDomain < in&Out
> > empty <       outDomain         < in&Out
> > 
> > Where, as you pointed out, 'ill' need only be placed at
> > some level below level 1.
> > 
> > So anything that fits this description would do the job.
> 
> Agreed.
> 
> IMHO, Dan, it seems you understand pretty well.
> 
> Nate

	Then, in keeping with your assertion that this is a
	level 1 only motion, let me suggest an amendment.

	The use of the bits D(f,X)+, D(f,X)-, & C(f,X) amount
	to a style of implementation that belongs at level 3
	or 4.

	Similarly, naming the decorations D0 through D4 also
	implies a particular implementation that has no place
	in a level 1 discussion.

	John had 3 letter abbreviations for these decorations.

		D4 = emp = empty
		D3 = con = inDomain&Continuous
		D2 = dom = inDomain
		D1 = bot = inDomain&OutDomain (both?)
		D0 = out = outDomain

	(I may have them wrong.  John, please edit to taste.)

	Let me suggest that we use non-pejorative names only
	& leave the implementation details until later.

	Further, only the partial ordering is necessary for a
	proof of FTDIA.  Namely:

		emp < con < dom < bot
		emp <    out    < bot

	Let us so state in this motion.

	As you mentioned before, ill & these other things can be
	discussed at a lower level & a later date.

	So the amendment is: Eliminate discussion of implementation
	details such as bits & numbering of decorations; rename the
	decorations as John once did; & make an explicit statement
	about the partial ordering required.

	That way this motion gives us everything we need for an
	FTDIA at level 1 with as little controversy as possible.

	Will you accept this amendment as friendly or should I ask
	for a second?


				Dan