sine-patre/sine_patre.py

29 lines
937 B
Python
Raw Normal View History

2024-04-28 16:23:47 +00:00
import fol
2024-04-24 08:56:13 +00:00
if __name__ == '__main__':
2024-04-28 16:23:47 +00:00
kb = fol.kb.Kb()
try:
if False:
kb.tell('Est(ALICE, X0, S0)')
kb.tell('Proche(X0, X1)')
kb.tell('Proche(X1, X2)')
kb.tell('Proche(X2, X3)')
kb.tell('Proche(X3, X4)')
kb.tell('(Est(ALICE, x, s) & Proche(x, y)) -> Poss(go(x, y), s)')
kb.tell('Poss(go(x, y), s) -> Est(ALICE, y, do(go(x, y), s))')
answer = kb.ask('Est(ALICE, x, y)')
print(answer)
else:
kb.tell('Friend(ALICE, BOB)')
kb.tell('Friend(BOB, CLAIRE)')
kb.tell('Friend(x, y) -> Friend(y, x)')
kb.tell('(Friend(x, y) & Friend(y, z)) -> Friend(x, z)')
answer = kb.ask('Friend(ALICE, x)')
print(answer)
# print('--------------------------------')
# [print(b) for b in kb.base]
2024-04-28 16:23:47 +00:00
except KeyboardInterrupt:
pass