List 难以理解谓词逻辑中的一条棘手的线

List 难以理解谓词逻辑中的一条棘手的线,list,logic,predicate,List,Logic,Predicate,我在解释这个公式时遇到了困难,这个公式来自我正在进行的一次考试试卷。xs是一组自然数([Nat]),i、j、k是Nat。(n,xs)中的函数表示自然数n存在于列表xs中 ∀i∀j∀k(in(i,xs) ^ in(j,xs) ^ in(k,xs) -> i=j v j=k v i=k) 我想我理解所有的个人含义: ∀i∀j∀k ; for all Nats i, j, k in(i,xs) ^ in(j,xs) ^ in

我在解释这个公式时遇到了困难,这个公式来自我正在进行的一次考试试卷。xs是一组自然数([Nat]),i、j、k是Nat。(n,xs)中的
函数表示自然数n存在于列表xs中

∀i∀j∀k(in(i,xs) ^ in(j,xs) ^ in(k,xs) -> i=j v j=k v i=k)
我想我理解所有的个人含义:

∀i∀j∀k                                    ; for all Nats i, j, k
in(i,xs) ^ in(j,xs) ^ in(k,xs)             ; are in list xs
i=j v j=k v i=k                            ; at least 2 of i, j, k have the same number
但是我不能再进一步了。。我首先认为它是说每个数字都有相同的值,因为它并不表示I,j和k彼此不相等,但考虑到这个公式的长度,答案感觉有点迟钝

任何帮助都会很好,thx,祝你度过愉快的一天

你的公式是:

∀i∀j∀k                                    ; take three arbitrary Nat-s
in(i,xs) ^ in(j,xs) ^ in(k,xs)             ; if all three are in the sme list xs
->                                         ; then
i=j v j=k v i=k                            ; at least 2 of them are equal
因此。它可能包含任意数量的NAT。它可以包含单个Nat的任意数量的副本。它也可以是空的

这是验证您的属性的列表:

[1;1;1;1;2;2;2;2;2;1;1;1;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2]
[1;2]
如果您重复它任意次数(将它连接到自身),可能是无限次,它仍然会验证您的属性。这还会验证您的属性:

[1;1;1;1;2;2;2;2;2;1;1;1;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2]
[1;2]
但是这个没有(反例:我选择I=1,j=3,k=2):

你的公式是:

∀i∀j∀k                                    ; take three arbitrary Nat-s
in(i,xs) ^ in(j,xs) ^ in(k,xs)             ; if all three are in the sme list xs
->                                         ; then
i=j v j=k v i=k                            ; at least 2 of them are equal
因此。它可能包含任意数量的NAT。它可以包含单个Nat的任意数量的副本。它也可以是空的

这是验证您的属性的列表:

[1;1;1;1;2;2;2;2;2;1;1;1;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2]
[1;2]
如果您重复它任意次数(将它连接到自身),可能是无限次,它仍然会验证您的属性。这还会验证您的属性:

[1;1;1;1;2;2;2;2;2;1;1;1;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2]
[1;2]
但是这个没有(反例:我选择I=1,j=3,k=2):