/* Exemples de programmes pour Quasi-Prolog */base1([	[pere(jules, cesar)], [mere(silvia, cesar)],	[pere(cesar,adrienne)], [mere(lea,adrienne)],	[pere(cesar,marc)], [mere(lea,marc)],	[pere(marc, antoine)], [mere(enza, antoine)],	[pere(marc, paul)], [mere(enza, paul)],	[parents(x,y,z), pere(x,z), mere(y,z)],	[gdparents(x,y,z), pere(u,z), parents(x,y,u)],	[gdparents(x,y,z), mere(u,z), parents(x,y,u)],	[gdpere(x, y), pere(x, z), pere(z, y)],	[gdmere(x, y), mere(x, z), pere(z, y)],	[gdmere(x, y), mere(x, z), mere(z, y)],	[gdpere(x, y), pere(x, z), pere(z, y)],	[ancetre(x,x)], 	[ancetre(x,y), pere(x,z), ancetre(z,y)],	[ancetre(x,y), mere(x,z), ancetre(z,y)]]).base2([	[entier(o)], [entier(succ(x)), entier(x)],	[add(o, x, x)], [add(x, o, x)],	[add(succ(a), succ(b), succ(succ(x))), add(a,b,x)]])./* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| ?-  plg1([pere(cesar, x), mere(lea, x)]).x = adrienneOK !x = marcOK !no| ?- plg1([ancetre(x, paul), mere(x, y)]).x = silviay = cesarOK !x = leay = adrienneOK !x = leay = marcOK !x = enzay = antoineOK !x = enzay = paulOK !no| ?- plg2([entier(succ(succ(succ(o))))]).OK !no| ?- plg2([entier(suc(0))]).no| ?- plg2([add(x, y, succ(succ(o)))]).x = oy = succ(succ(o))OK !x = succ(succ(o))y = oOK !x = succ(o)y = succ(o)OK !x = succ(o)y = succ(o)OK !no| ?- */