relation :: ( Ix a, Ix b ) => ((a,b),(a,b)) -> SAT ( Relation a b ) instance (Ix a, Ix b) => Decode ( Relation a b ) ( Array (a,b) Bool ) product :: ..=> Relation a b -> Relation b c -> SAT ( Relation a c ) implies :: ..=> Relation a b -> Relation a b -> SAT BooleanAnwendungen:
transitive r = do r2 <- product r r ; implies r2 rÜbung: eine schwach zusammenhängende Relation;