Re: Types and "join compatibility"
Date: Wed, 3 Aug 2005 17:03:07 +0300
Message-ID: <dcqir2$1lt$1_at_domitilla.aioe.org>
"Marshall Spight" <marshall.spight_at_gmail.com> wrote in message
news:1122761293.933576.29120_at_o13g2000cwo.googlegroups.com...
>As to the rename, yes of course, otherwise it wouldn't be a *natural*
>(read ":" as "has type"; P for parent, C for child)
>What is the type of PR join CR?
What kind of type ?
>join. In fact, I'm going to rename your whole example for clarity.
>Relation PR : (a : P)
>Relation CR : (a : C)
>Date&Darwen's TTM says it's a relation of type (a : P).
>This has never made sense to me; the result can only contain
>values that correspond to C, so what's the point of having
>it be P?
The declared type is (a:P).
The most specific type is (a:C)
The declared type is (a:P) because they decided that every two echivalent
expressions have the same declared type.
Let M:Set(P) and N:Set(C).
M intersect N = M minus (M minus N)
type(M intersect N) = type (M minus ( M minus N)) =
type (M)\/(type(M)\/type(N))=Set(P)\/(Set(P)\/Set(C))=
Set(P)\/Set(P)=Set(P)
Received on Wed Aug 03 2005 - 16:03:07 CEST