#!/usr/bin/python3

from pyswip import Prolog

prolog = Prolog() 
prolog.consult('exemploanb.pl') 

def pessoa(n, b="inf..sup", d="inf..sup"):
   l=n.split()
   prolog.asserta(f"pessoa(p('{n}',{l},{b},{d}))")

def irmao(a,b):
   prolog.query(f"insere_irmao('{a}','{b}')")
   prolog.query("transitividade_irmao")

pessoa("Frederico Machado",1890)
pessoa("Jaime Machado")
pessoa("Joao Machado")
irmao("Frederico Machado","Jaime Machado")
irmao("Jaime Machado","Frederico Machado")
irmao("Frederico Machado","Joao Machado")


prolog.query("transitividade_irmao")

for result in prolog.query("check_irmao(A, B)"):
   print(result["A"],"=i=", result["B"])

prolog.query("check_pessoa(P)")

for result in prolog.query("pessoa(P)"):
   p=result["P"]
   print(p)
   

'''
for result in prolog.query("sendmore(X)"): 
   r = result["X"] 
   for i, letter in enumerate(letters): 
       print(letter, "=", r[i])
print("That's all...")
'''

"""
V pessoa(p('Frederico Machado', ['Frederico', 'Machado'], 1910..1920, inf..sup)).
V pessoa(p('Joao Machado', ['Joao','Machado'], inf..sup, inf..sup)).
V pessoa(p('Jaime Machado', ['Jaime','Machado'], inf..sup, 1890)).
pessoa(p(unknown, [], inf..sup, inf..sup)).
V irmao('Frederico Machado', 'Joao Machado').
V irmao('Jaime Machado', 'Joao Machado').

:- transitividade_irmao.
:- check_pessoa(P), writeln(P), fail.
:- pessoa(P), writeln(P), fail.
:- check_irmao(A, B), writeln(irmao(A, B)), fail.
:- pessoa(P), writeln(P), fail.
:- check_pessoa(P), writeln(P), fail.
:- pessoa(P), writeln(P), fail.

"""
