解决这个coq练习

解决这个coq练习,coq,theorem-proving,Coq,Theorem Proving,我正在学习COQ,我被一个书本练习卡住了。这本书没有给我一个解决办法,所以我不知道该怎么办。不过我已经做了第一个。我必须将这些语句转换为谓词逻辑: h0 : Everybody knows somebody h1 : Nobody doesn't know anybody. h2 : Everybody knows somebody h3 : A footballer is known by everybody. h4 : Footballers only kn

我正在学习COQ,我被一个书本练习卡住了。这本书没有给我一个解决办法,所以我不知道该怎么办。不过我已经做了第一个。我必须将这些语句转换为谓词逻辑:

   h0 : Everybody knows somebody
   h1 : Nobody doesn't know anybody. 
   h2 : Everybody knows somebody 
   h3 : A footballer is known by everybody.
   h4 : Footballers only know footballers. 
   h5 : There is somebody who only knows one person.
代码:


你能帮忙吗?非常感谢你

我假设这些定义是提供给您的,所以“每个人”都由
粉丝的成员表示

你被什么困住了

例如,h1表示“没有人不认识任何人”。归根结底,这是一个事实,“并非有人不认识任何人”。现在有两种方法可以继续:

  • 您手动编码“某人不认识任何人”,然后对其进行否定

  • (或者)重用h0,注意它的否定是“某人不认识任何人”


  • 要谈论足球运动员,您只需验证变量
    x:Fans
    是否满足
    footballerx->
    。 例如,h3的启动方式如下:

    forall x, Footballer x -> (* here, you encode "everybody knows x" *)
    

    也许h5更难一点。编码“只有一个人”的一种方法是说他认识一个人p0,如果他认识另一个人p1,那么p1=p0


    如果没有关于你发现的困难的更多细节,就很难为你提供一个不是解决办法的有用答案。

    “书”是,对吗?
    forall x, Footballer x -> (* here, you encode "everybody knows x" *)