Relationen

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 Boolean
Anwendungen:
transitive r = do
    r2 <- product r r ; implies r2 r
Übung: eine schwach zusammenhängende Relation;
eine s.z. Halbordnung, die keine totale Ordnung ist.



2014-07-06