Extremal Elements
Last updated
Last updated
The various extrema must participate in certain relationships predicted by order theory.
JoinAR{x,(MeetAR{x,y})}≅x
sig A { R: set A }
check {
{ Preorder[A,R]
} implies {
all x,y: A {
Equivalent[A,R,Join[A,R,x+Meet[A,R,x+y]],x]
}
}
} for 10 expect 0
JoinAR{x,(MeetAR{x,y})}≅x
sig A { R: set A }
check {
{ Preorder[A,R]
} implies {
all x,y: A {
Equivalent[A,R,Meet[A,R,x+Join[A,R,x+y]],x]
}
}
} for 10 expect 0
JoinARS=MeetAR(AboveARS)
sig A { R: set A }
sig S in A {}
check {
Join[A,R,S] = Meet[A,R,Above[A,R,S]]
} for 10 expect 0
MeetARS=JoinAR(BelowARS)
sig A { R: set A }
sig S in A {}
check {
Meet[A,R,S] = Join[A,R,Below[A,R,S]]
} for 10 expect 0
JoinExtARAY=JoinARY
sig A { R: set A }
sig Y in A {}
check {
{ some Join[A,R,Y]
} implies {
JoinExt[A,R,A,Y] = Join[A,R,Y]
}
} for 10 expect 0
sig A { R: set A }
sig Y in A {}
check {
{ some Greatest[A,R,Y]
} implies {
all x: A {
Greatest[A,R,Y,x]
iff
x in Y and Join[A,R,Y,x]
}
}
} for 10 expect 0
sig A { R: set A }
sig Y in A {}
check {
Greatest[A,R,Y] = JoinExt[A,R,Y,Y]
} for 10 expect 0
sig A { R: set A }
sig Y {}
check {
{ some Meet[A,R,Y]
} implies {
MeetExt[A,R,A,Y] = Meet[A,R,Y]
}
} for 10 expect 0
sig A { R: set A }
sig Y in A {}
check {
all x: A {
Least[A,R,Y,x]
iff
x in Y and Meet[A,R,Y,x]
}
} for 10 expect 0
sig A { R: set A }
sig Y in A {}
check {
{ some Least[A,R,Y]
} implies {
Least[A,R,Y] = MeetExt[A,R,Y,Y]
}
} for 10 expect 0
sig A { R: set A }
check {
{ Preorder[A,R]
} implies {
all y: A {
Below[A,R,Meet[A,R,none],y]
}
}
} for 10 expect 0
sig A { R: set A }
check {
{ Preorder[A,R]
} implies {
all x: A {
Equivalent[A,R,Meet[A,R,x],x]
}
}
} for 10 expect 0
sig A { R: set A }
sig S, T in A {}
check {
{ Preorder[A,R]
some Meet[A,R,S+T]
some Meet[A,R,S]
some Meet[A,R,T]
} implies {
Equivalent[A,R,
Meet[A,R,S+T],
Meet[A,R,Meet[A,R,S]+Meet[A,R,T]]
]
}
} for 10 expect 0
Alternatively:
sig A { R: set A }
sig S, T in A {}
check {
{ AllMeets[A,R]
} implies {
Equivalent[A,R,
Meet[A,R,S+T],
Meet[A,R,Meet[A,R,S]+Meet[A,R,T]]
]
}
} for 10 expect 0
sig A { R: set A }
associativity: check {
{ AllMeets[A,R]
} implies {
all x,y,z: A {
Meet[A,R,Meet[A,R,x+y]+z] = Meet[A,R,x+Meet[A,R,y+z]]
}
}
} for 10 expect 0
sig A { R: set A }
check {
{ Preorder[A,R]
} implies {
all x,y: A {
x->y in R
iff
Meet[A,R,x+y,x]
}
}
} for 10 expect 0
sig A { R: set A }
check {
{ Preorder[A,R]
} implies {
all x: A {
Equivalent[A,R,Meet[A,R,x+x],x]
}
}
} for 10 expect 0
sig A { R: set A }
check {
{ Preorder[A,R]
} implies {
all x,y: A {
Meet[A,R,x+y] = Meet[A,R,y+x]
}
}
} for 10 expect 0
sig A { R: set A }
check {
{ Preorder[A,R]
} implies {
all y: A {
Above[A,R,Join[A,R,none],y]
}
}
} for 10 expect 0
sig A { R: set A }
check {
{ Preorder[A,R]
} implies {
all x: A {
Equivalent[A,R,Join[A,R,x],x]
}
}
} for 10 expect 0
sig A { R: set A }
sig S, T in A {}
check {
{ Preorder[A,R]
some Join[A,R,S+T]
some Join[A,R,S]
some Join[A,R,T]
} implies {
Equivalent[A,R,
Join[A,R,S+T],
Join[A,R,Join[A,R,S]+Join[A,R,T]]
]
}
} for 10 expect 0
Alternatively:
sig A { R: set A }
sig S, T in A {}
check {
{ AllJoins[A,R]
} implies {
Equivalent[A,R,
Join[A,R,S+T],
Join[A,R,Join[A,R,S]+Join[A,R,T]]
]
}
} for 10 expect 0
sig A { R: set A }
associativity: check {
{ AllJoins[A,R]
} implies {
all x,y,z: A {
Join[A,R,Join[A,R,x+y]+z] = Join[A,R,x+Join[A,R,y+z]]
}
}
} for 10 expect 0
sig A { R: set A }
check {
{ Preorder[A,R]
} implies {
all x,y: A {
x->y in R
iff
Join[A,R,x+y,y]
}
}
} for 10 expect 0
GreatestARYx≡x∈Y∧JoinARYx
GreatestARY=JoinExtARYY
MeetExtARAY=MeetARY
LeastARYx≡x∈Y∧MeetARYx
LeastARY=MeetExtARYY
BelowAR(MeetAR∅)y
MeetAR{x}≅x
MeetAR(S∪T)≅MeetAR(MeetARS,MeetART)
MeetAR({MeetAR{x,y},z})=MeetAR({x,MeetAR{y,z}})
R.x.y≡x=MeetAR{x,y}
MeetAR{x,x}≅x
MeetAR{x,y}=MeetAR{y,x}
AboveAR(JoinAR∅)y
JoinAR{x}≅x
JoinAR(S∪T)≅JoinAR(JoinARS,JoinART)
JoinAR({JoinAR{x,y},z})=JoinAR({x,JoinAR{y,z}})
R.x.y≡y=JoinAR{x,y}
JoinAR{x,x}≅x
JoinAR{x,y}=JoinAR{y,x}