Group Abstract Group Abstract

Message Boards Message Boards

How do we add criteria to the logical statements to get what I want?

Note: In the end of this post, I added context. This post is part of a research paper. (I got rid of the 1000, but there was a reason I included it in the original code.)


Suppose, the following values are either:

cV1[1, 2] = 1
cV1[2, 1] = 1
cV2[1, 2] = 1/4
cV2[2, 1] = 1/3
c[1, 2] = 1/4
c[2, 1] = 1/3

where:

cV1[x,y]==cV1[y,x] && cV1[y,x]>cV2[r,y,x] && cV2[y,x]==c[y,x] && 
c[y,x]>cV2[x,y] && cV2[x,y]==c[x,y]

or:

cV1[1, 2] = 1
cV1[2, 1 ] = 1
cV2[1, 2] = 1/3
cV2[2, 1] = 1/4
c[1, 2] = 1/3
c[2, 1] = 1/4

where:

cV1[x,y]==cV1[r,y,x] && cV1[y,x]>cV2[x,y] && cV2[x,y]==c[x,y] && 
c[x,y]>cV2[y,x] && cV2[y,x]==c[y,x]

Whenever:

cV1[1, 2] = 1
cV1[2, 1 ] = 1
cV2[1, 2] = 1/3
cV2[2, 1] = 1/4
c[1, 2] = 1/3
c[2, 1] = 1/4

and:

Q1[x_, y_] := 
 Q1[x, y] = 
  cV1[x, y] >= cV1[y, x] && cV1[y, x] >= cV2[y, x] && 
  cV2[y, x] >= c[y, x] && c[y, x] > c[x, y] && 
  c[x, y] >= cV2[x, y]

 Q2[x_, y_] := 
 Q2[x, y] = 
  cV1[y, x] >= cV1[x, y] && cV1[x, y] >= cV2[x, y] && 
  cV2[x, y] >= c[x, y] && c[x, y] >= c[y, x] && 
  c[y, x] >= cV2[y, x]

 Q3[x_, y_] := 
 Q3[x, y] = 
  cV1[x, y] >= cV1[y, x] && cV1[y, x] >= cV2[x, y] &&
  cV2[x, y] >= c[x, y] && c[x, y] >= cV2[y, x] && 
  cV2[y, x] >= c[y, x]

 Q4[x_, y_] := 
 Q4[x, y] = 
  cV1[y, x] >= cV1[x, y] && cV1[x, y] >= cV2[y, x] && 
  cV2[y, x] >= c[y, x] && c[y, x] >= cV2[x, y] && 
  cV2[x, y] >= c[x, y]

we want

{Q1[1,2],Q2[1,2],Q3[1,2],Q4[1,2]}

to be the following:

{True, False, False, False}

and

{Q1[2,1],Q2[2,1],Q3[2,1],Q4[2,1]}

to be the following:

{False, True, False, False}

However, we get

{True, False, False, True}
{False, True, True, False}

Also, when:

cV1[1, 2] = 1
cV1[2, 1 ] = 1
cV2[1, 2] = 1/3
cV2[2, 1] = 1/4
c[1, 2] = 1/3
c[2, 1] = 1/4

we want

{Q1[1,2],Q2[1,2],Q3[1,2],Q4[1,2]}

to be the following:

{False, False, True, False}

and

{Q1[2,1],Q2[2,1],Q3[2,1],Q4[2,1]}

to be the following:

{False, False, False, True}

However, we get

{False, True, True, False}
{True, False, False, True}

Question: How do we add criteria to Q1, Q2, Q3, Q4 to get:

{True, False, False, False}
{False, True, False, False}
{False, False, True, False}
{False, False, False, True}

without "cheating":

  1. we can't use cV1[1000, Min[1,2], Max[1,2]]: I cannot use this notation in my math paper
  2. we can use the Sign function (e.g., Sign[c[r,x,y]-c[r,y,x]]) but when I applied it to Q1, Q2, Q3, and Q4, I couldn't get what I wanted.

Context:

I added context due to the comments.

Note the following:

  1. cV1[1,2], cV1[2,1], cV2[1,2], cV2[2,1], c[1,2], c[2,1] are definitions.
  2. Q1, Q2, Q3, and Q4 can be changed with Sign, Min, Max, <, <=, >, >=, ==, !=. If neither of those are possible, include Piecewise.
  3. The 1000 is not relevant for this post. I will get rid of it.
POSTED BY: Bharath Krishnan
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard