用prolog证明:Conclusion: I am my owngrandfather.

prolog:

用prolog证明:Conclusion: I am my owngrandfather.[用prolog证明我是我自己的爷辈]

1、问题部分:
I married a widow who has agrown-up daughter (daughter_W). My father (father_I) who visited us quiteoften, fell in love with my step-daughter and married her. Hence my fatherbecame my son-in-law and my stepdaughter became my mother. Some months later,my wife gave birth to a son (son_I), who became the brother-in-law of myfather, as well as my uncle. The wife of my father, that is, my step-daughter,also had a son (son_F).
Conclusion: I am my owngrandfather.
我娶了一个寡妇,她有一个成年的女儿。我的父亲经常来看我们,他爱上了我的继女并娶了她。因此,我的父亲成了我的女婿,我的继女成了我的母亲。几个月后,我的妻子生了一个儿子(son_S1),他成了父亲的姐夫和我的叔叔。我父亲的妻子,也就是我的继女,也有一个儿子。
结论:我是我自己的祖父。

2、代码部分:

father(father_I,me).
father(me,son_I).
father(father_I,son_F).
father(me,daughter_W).
mother(widow,daughter_W).
mother(widow,son_I).
mother(daughter_W,son_F).
man(me).
man(father_I).
man(son_I).
man(son_I).
man(son_F).
woman(widow).
woman(widow).
woman(daughter_W).
husband(me,widow).
husband(father_I,daughter_W).

father(X,Y) :- husband(Y,Z),father(X,Z).
father(X,Y) :- husband(X,Z),mother(Z,Y).
brother(X,Y) :- father(Z,X),father(Z,Y),man(X).
sister(X,Y) :- father(Z,X),father(Z,Y),woman(X).
brother(X,Y) :- husband(Y,C),father(Z,C),father(Z,X).
uncle(X,Y) :- father(Z,Y),brother(X,Z).  
grandfather(X,Y) :- father(Z,Y),father(X,Z).
mother(X,Y) :-husband(M,X),father(M,Y).
grandmother(X,Y) :-mother(X,Z),husband(M,Z),father(M,Y).

3、关系图部分:
在这里插入图片描述
4、代码实现部分:
在这里插入图片描述
5、prolog安装部分:
在这里插入图片描述
在这里插入图片描述
6、后记部分:
希望能帮助大家,微信公众号zhangnieng!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值