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 0Last updated