pred MeetPreserving(A,B: set univ, R,S,f: univ->univ) {
MonotoneMap[A,B,R,S,f]
all x,y: A {
Equivalent[
B,S,
f[Meet[A,R,x+y]],
Meet[B,S,f[x]+f[y]]
]
}
}
Join Preserving
JoinPreservingABRSf
MonotoneMapABRSf
ā(x,yāA::f(ā{x,y})ā ā{f.x,f.y})
pred JoinPreserving(A,B: set univ, R,S,f: univ->univ) {
MonotoneMap[A,B,R,S,f]
all x,y: A {
Equivalent[
B,S,
f[Join[A,R,x+y]],
Join[B,S,f[x]+f[y]]
]
}
}