Indirect Equality and Inclusion
Among the great enablers of concise reasoning
β(x,y::x=yβ‘β(z::R.z.xβ‘R.z.y))
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 | 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
Last updated