sig A { R: set A }
check {
{ Reflexive[A,R]
Antisymmetric[A,R]
} implies {
all x,y: A | x = y iff (all z: A | z->x in R iff z->y in R)
}
} for 10 expect 0
ā(x,y::x=yā”ā(z::R.x.zā”R.y.z))
ReflexiveAR
AntisymmetricAR
sig A { R: set A }
check {
{ Reflexive[A,R]
Antisymmetric[A,R]
} implies {
all x,y: A | x = y iff (all z: A | x->z in R iff y->z in R)
}
} for 10 expect 0
ā(x,y::R.x.yā”ā(z::R.z.xāR.z.y))
ReflexiveAR
TransitiveAR
sig A { R: set A }
check {
{ Reflexive[A,R]
Transitive[A,R]
} iff {
all x,y: A | x->y in R iff (all z: A | z->x in R implies z->y in R)
}
} for 10 expect 0
ā(x,y::R.x.yā”ā(z::R.x.zāR.y.z))
ReflexiveAR
TransitiveAR
sig A { R: set A }
check {
{ Reflexive[A,R]
Transitive[A,R]
} iff {
all x,y: A | x->y in R iff (all z: A | y->z in R implies x->z in R)
}
} for 10 expect 0