Code: Alles auswählen
"""
Prüft ob eine Aequivalenzrelation vorliegt.
@input: n Element N mit n>0, Relationen
@output: True oder False
"""
def aequiva(n,R):
# Prüfe ob n > len R
if n > len(R):
return False
# Reflexivität
for a in range(1,n+1):
if(a,a) not in R:
return False
# Symmetrie
for d in R[:]:
if (d[1],d[0]) not in R:
return False
# Transitivität
for i in R:
for j in R:
if i[1]==j[0] and ((i[0],j[1]) not in R):
return False
return True
#aequiva (2 , [(1 , 1), (2 ,2 ), (1 ,2 ), (2 ,1) , (1 , 1) , (2 , 2 )]) # ist nur eine Testinstanz...