I have to program (C++) and find the true value of the following. I am uncertian as to what it exactly means.
AxAy(C(x, y) -> ((Aw(C(x, w) -> w = y) ^ (Az(C(z, y) -> z = x))
note that the -> is an implication, C(x,y) is a function/ Predicates, ^ is the and function, A is the universal. if it helps, C(x,y) is the predi开发者_如何学Pythoncate, x calls y
I boiled it down using the Implication definition and arrived at AxAy -C(x,y)
where - is the negation.
is this correct? is the whole long original statment a complicated way of saying " no one made any calls" ?
Using your interpretation for C(x,y)
, this first order sentence means that if x
calls y
and w
, then w = y
. That is, x
calls at most one element. Similarly, If y
is called by x
and z
, then z = x
. That is, y
is called by at most one element.
I'm not sure what you meant by writing a C++ program for finding the true value of this sentence. I'm assuming your program receives a set of pairs (x,y)
representing the pairs for which C(x,y)
is true. If that is the case, you just have to check if there are no two pairs in the set that violate the conditions above. That is, there are no pairs (a, b)
and (a, c)
in the set, and there are no pairs (a, b)
and (c, b)
.
精彩评论