Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site unc.unc.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!whuxcc!lcuxlm!akgua!mcnc!unc!rts From: rts@unc.UUCP (Rick Snodgrass) Newsgroups: net.database Subject: Re: Problem with relational theory Message-ID: <353@unc.unc.UUCP> Date: Sun, 14-Sep-86 19:53:08 EDT Article-I.D.: unc.353 Posted: Sun Sep 14 19:53:08 1986 Date-Received: Sat, 27-Sep-86 09:27:00 EDT References: <595@ur-tut.UUCP> <452@hdsvx1.UUCP> <819@navajo.STANFORD.EDU> <316@unc.unc.UUCP> <5717@ut-sally.UUCP> Reply-To: rts@unc.UUCP (Rick Snodgrass) Organization: CS Dept, U. of N. Carolina, Chapel Hill Lines: 16 In article <5717@ut-sally.UUCP> ark@sally.UUCP (Arthur M. Keller) writes: >The problem is where the quantifiers go. Consider: > >{u | (Exists t1)(R(t1) and u = t1 and > [(Exists t2) (S(t2) and t1[name]=t2[name]) or > (Exists t3) (T(t3) and t1[name]=t3[name])])} > >This query has ordinary union semantics, even if either S or T is >empty. It is not clear that when given a quantifier-free expression >that quantifiers should always be introduced at the beginning. The Quel semantics states very clearly that quantifiers, one per tuple variable, are to be introduced at the beginning--see (6.5) on page 190 in Ullman's book. Allowing them to be put in arbitrary positions may solve this one confusion but introduces others, and is counter to the design of Quel.