knows(P1, P2) :- knows_l1(P1, P2), (P1 =\= P2) . 0.167 :: knows(P1, P2) :- knows_l1(P1, OtherPerson), knows(OtherPerson, P2), (P1 =\= OtherPerson), (P1 =\= P2) . 1.0 :: knows_l1(0, 2) . 1.0 :: knows_l1(0, 3) . 1.0 :: knows_l1(0, 4) . 1.0 :: knows_l1(0, 5) . 1.0 :: knows_l1(0, 6) . 1.0 :: knows_l1(0, 7) . 1.0 :: knows_l1(0, 8) . 1.0 :: knows_l1(1, 0) . 1.0 :: knows_l1(1, 2) . 1.0 :: knows_l1(1, 3) . 1.0 :: knows_l1(1, 4) . 1.0 :: knows_l1(1, 5) . 1.0 :: knows_l1(1, 6) . 1.0 :: knows_l1(1, 7) . 1.0 :: knows_l1(1, 8) . 1.0 :: knows_l1(2, 0) . 1.0 :: knows_l1(2, 1) . 1.0 :: knows_l1(2, 3) . 1.0 :: knows_l1(2, 4) . 1.0 :: knows_l1(2, 5) . 1.0 :: knows_l1(2, 6) . 1.0 :: knows_l1(2, 7) . 1.0 :: knows_l1(2, 8) . 1.0 :: knows_l1(3, 0) . 1.0 :: knows_l1(3, 1) . 1.0 :: knows_l1(3, 2) . 1.0 :: knows_l1(3, 4) . 1.0 :: knows_l1(3, 5) . 1.0 :: knows_l1(3, 6) . 1.0 :: knows_l1(3, 7) . 1.0 :: knows_l1(3, 8) . 1.0 :: knows_l1(4, 0) . 1.0 :: knows_l1(4, 1) . 1.0 :: knows_l1(4, 2) . 1.0 :: knows_l1(4, 3) . 1.0 :: knows_l1(4, 5) . 1.0 :: knows_l1(4, 6) . 1.0 :: knows_l1(4, 7) . 1.0 :: knows_l1(4, 8) . 1.0 :: knows_l1(5, 0) . 1.0 :: knows_l1(5, 1) . 1.0 :: knows_l1(5, 2) . 1.0 :: knows_l1(5, 3) . 1.0 :: knows_l1(5, 4) . 1.0 :: knows_l1(5, 6) . 1.0 :: knows_l1(5, 7) . 1.0 :: knows_l1(5, 8) . 1.0 :: knows_l1(6, 0) . 1.0 :: knows_l1(6, 1) . 1.0 :: knows_l1(6, 2) . 1.0 :: knows_l1(6, 3) . 1.0 :: knows_l1(6, 4) . 1.0 :: knows_l1(6, 5) . 1.0 :: knows_l1(6, 7) . 1.0 :: knows_l1(6, 8) . 1.0 :: knows_l1(7, 0) . 1.0 :: knows_l1(7, 1) . 1.0 :: knows_l1(7, 2) . 1.0 :: knows_l1(7, 3) . 1.0 :: knows_l1(7, 4) . 1.0 :: knows_l1(7, 5) . 1.0 :: knows_l1(7, 6) . 1.0 :: knows_l1(7, 8) . 1.0 :: knows_l1(8, 0) . 1.0 :: knows_l1(8, 1) . 1.0 :: knows_l1(8, 2) . 1.0 :: knows_l1(8, 3) . 1.0 :: knows_l1(8, 4) . 1.0 :: knows_l1(8, 5) . 1.0 :: knows_l1(8, 6) . 1.0 :: knows_l1(8, 7) . query(knows(0, 1)) .