Implication

Torsten Anders t.anders at qub.ac.uk
Mon Jun 16 23:46:29 CEST 2003


Hi, and thanks again for answering.

On Mon, 2003-06-16 at 19:31, Denys Duchier wrote:
> t.anders at qub.ac.uk (Torsten Anders) writes:
> 
> > I want to use logic implication. I do not want to further constraint,
> > _whether_ something is implied. I just want plain implication. I.e., if
> > I understand correctly, FD.impl is too general for my needs.
> 
> No.  FD.impl is classical logical implication.  What you want is, I
> believe, closer to what is called "material implication".  

;-) As a non-logician/non-computer scientist I probably don't know what
I want, because I don't know the difference between "classical logical
implication" and "material implication". 

> > proc {Imply ReifiedConstraint Proc}
> >    B = {ReifiedConstraint}
> > in
> >    thread			
> >       or B=1 then {Proc}
> >       [] B=0 then skip
> >       end
> >    end
> > end
> 
> You can do this more economically as follows:
> 
> 	cond B=1 then {Proc} else skip end

OK, with my user-level knowledge of the difference between 'or' and
'cond' (e.g. last section of general Oz tutorial) I do understand this
is more efficient.

> However, FD.impl (if appropriate) will usually be more efficient
> because it does not involve a sub-space.

Hm. Naively, I thought avoiding an unnecessary reified constraint for
the conclusion of the implication will be more efficient.

On the other hand, you are right, I might think too procedurally and not
logically enough. I planned, e.g., to use this construct to add 
additional features by features constraints in the conclusion, if a
certain condition holds (no way to reify that, I guess).

Best,
Torsten

-- 
Torsten Anders <t.anders at qub.ac.uk>

-
Please send submissions to users at mozart-oz.org
and administriva mail to users-request at mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.
Please send bug reports to bugs at mozart-oz.org.





More information about the mozart-users mailing list