ska skriva satser som kontrollerar om det är sant eller falskt. Vad gör jag fel?
denna om den är symmetrisk
Kod: Markera allt
ia1 = Interpretation([knows(bob,john),knows(john,bob),knows(mary,alice),knows(alice,mary)],[bob,john,mary,alice])
f1a1 = forall(x, knows(x, bob)) > forall(y, knows(bob, y)) & forall(x, knows(x, mary)) > forall(y, knows(mary, y))
print 'This Is symmetric:', f1a1.val(ia1)
transitiv.
Kod: Markera allt
ia2 = Interpretation([knows(bob,john),knows(john,bob),knows(mary,alice),knows(alice,mary)],[bob,john,mary,alice])
f1a2 = forall(z, forall(y, forall(x, (knows(x, y) & forall(x, knows(y,z)) > forall(x, knows(x, z))))))
print 'This Is Transitive:', f1a2.val(ia2)
Kod: Markera allt
ia5 = Interpretation([loves(bob,mary),loves(john,john),loves(mary,alice),loves(bob,alice)],[bob,john,mary,alice])
f1a5 = forall(x, forall(y, forall(z, loves(x, y) & loves(y, z) > loves(x, z))))
print 'This is symmetric', f1a5.val(ia4)