|
|
Re: PREDICATE CALCULUS 2
Posted:
Nov 27, 2012 8:59 PM
|
|
There are 2 ALLs which is more complicated but you can format it as a SUBSET using a cartesian product of the 2 X values with a common Y.
isfunction(r) <- ALL(Y1) ALL(Y2) r(X,Y1)^r(X,Y2) -> Y1=Y2
{(Y1,Y2)|r(X,Y1)^r(X,Y2)} C {(Y1,Y2)|r(X,Y1)^r(X,Y2)->Y1=Y2}
...
TEST IF IT CAN DETECT FUNCTIONS!
-----r--------X---Y proposed( tom, jane ) proposed( mark, sally) proposed( josh, sally ) proposed( henry, barb )
{ (Y1,Y2) | r(X,Y1)^r(X,Y2) } = { (jane,jane) *** X= tom (sally,sally) *** X = mark (sally,sally) *** X = josh (barb,bar) *** X = henry }
{ (Y1,Y2) | r(X,Y1)^r(X,Y2)->Y1=Y2 } = { (jane,jane) *** X= tom (sally,sally) *** X = mark (sally,sally) *** X = josh (barb,bar) *** X = henry }
L.H.Set C R.H.Set 'proposed' is a function, only 1 proposal per man (X).
-----------------------------
OK try the reverse function
----r------X1---X2 kisssed( jane, tom ) kisssed( sally, mark) kisssed( sally, josh ) kisssed( barb, henry )
{ (Y1,Y2) | r(X,Y1)^r(X,Y2) } = { (tom,tom) *** X= jane (mark,mark) *** X = sally (josh,josh) *** X = sally (mark,josh) *** X = sally (josh,mark) *** X = sally (henry,henry) *** X = barb }
{ (Y1,Y2) | r(X,Y1)^r(X,Y2)->Y1=Y2 } = { (tom,tom) *** X= jane (mark,mark) *** X = sally (josh,josh) *** X = sally (henry,henry) *** X = barb }
L.H.Set is NOT C R.H.Set
so KISSED is not a function.
Herc --
{(Y1,Y2)|r(X,Y1)^r(X,Y2)} C {(Y1,Y2)|r(X,Y1)^r(X,Y2)->Y1=Y2} DETECTING r is a FUNCTION without QUANTIFIERS!
|
|