-- triple 1 has the equal predicate applyParamodulation :: Triple -> Triple -> (Bool, Triple) applyParamodulation t1@(Triple(subject, predicate, object)) t2@(Triple(subject1, predicate1, object1 = (True, t3) where (bool1, substList1) = unifyTwoResources subject subject1 (bool2, substList2) = unifyTwoResources subject predicate1 (bool3, substList3) = unifyTwoResources subject object1 substList = substList1 ++ substList2 ++ sustList3 subject2 = testResource bool1 subject1 predicate2 = testResource bool2 predicate1 object2 = testResource bool3 object1 t3 = applySubtitutionListToTriple Triple(subject2, predicate2, object2) substList testResource bool resource |bool = object |otherwise = resource