如何获得一定长度的所有重言式?

时间:2014-11-12 18:18:28

标签: logic theorem-proving

OTTER中,可以使用如下输入来生成长度为13的wff的括号类型(长度是不是括号或谓词符号的符号数),其中i(x,y) )可以读作" x表示y"。

set(hyper_res).
clear(for_sub).
clear(back_sub).
assign(max_weight, 14).

list(sos).
-P(x) | -P(y) | P(i(x,y)).
end_of_list.

list(usable).
P(x).
end_of_list.

还可以测试一个公式是否是带有这样输入的重言式:

 set(hyper_res).
 assign(stats_level, 1).
 clear(print_kept).

 list(usable).
 P(0).
 P(1).
 -P(x) | -P(y) | P(i(x,y)).
 end_of_list.

 list(sos).
 -P(x) | -P(y) | -P(z) | -P(u) | -P(v) |   D2(P(i(i(i(x,y),i(i(i(n(z),n(u)),v),z)),i(w,i(i(z,x),i(u,x))))),1).
 end_of_list.

 list(demodulators).
 i(0,0)=1.
 i(0,1)=1.
 i(1,0)=0.
 i(1,1)=1.
 end_of_list.

 list(passive).
 D2(x,x).
 end_of_list.

更新:以下作为输入生成所有公式,直到重新编写长度为7 而没有包含,这似乎很有用。

 set(hyper_res).
 set(print_lists_at_end).
 assign(stats_level,0).

 list(sos).
 %generates all relevant possibilities
 -P(i(i(i(x,y),z),u)) | -Q(x,y,z,u) | R(i(i(i(x,y),z),u)).
 -P(i(i(x,i(y,z)),u)) | -Q(x,y,z,u) | R(i(i(x,i(y,z)),u)).
 -P(i(i(x,y),i(z,u))) | -Q(x,y,z,u) | R(i(i(x,y),i(z,u))).
 -P(i(x,i(i(y,z),u))) | -Q(x,y,z,u) | R(i(x,i(i(y,z),u))).
 -P(i(x,i(y,i(z,u)))) | -Q(x,y,z,u) | R(i(x,i(y,i(z,u)))).

 end_of_list.

 list(usable).
 % bracket types
 P(i(i(i(x,y),z),u)).
 P(i(i(x,i(y,z)),u)).
 P(i(i(x,y),i(z,u))).
 P(i(x,i(i(y,z),u))).
 P(i(x,i(y,i(z,u)))).
 %relevant permutations
 Q(x,y,z,u).
 Q(x,y,z,z).
 Q(x,y,z,y).
 Q(x,y,z,x).
 Q(x,y,y,z).
 Q(x,y,y,y).
 Q(x,y,y,x).
 Q(x,y,x,z).
 Q(x,y,x,y).
 Q(x,y,x,x).
 Q(x,x,y,z).
 Q(x,x,y,y).
 Q(x,x,y,x).
 Q(x,x,x,y).
 Q(x,x,x,x).
 end_of_list.

但是,我仍然无法将上述内容与某种输入相结合来测试所有这些重言式。我们如何让OTTER生成一定长度的所有公式,然后在一次运行中测试一定长度的公式作为重言式,这样我们只有OTTER,x,y,z,u,w,v5中的变量, v6,...,vn,在公式中,然后打印那些重言式?什么是输入的例子,这适用于长度为7的公式?

背景:我想[尝试找到长度为13的蕴涵命题演算的单个公理的候选者...编辑,只有一个公理,文献已经指出了一段时间],以及找到长度为21(或更短的?)的条件否定(CN)经典命题的单个公理的候选者。如果有一种方法可以将这样的输入与像Mace4,Mace2这样的模型检查器结合起来,那么候选者可以更有效地消除并以可用于OTTER 的校对的形式输出这些候选者如果你能做到这一点,我会尝试为这个问题添加赏金,如果你找到这样的程序就会给你这些积分。

(如果您愿意,请参阅编辑更多失败的尝试)。

1 个答案:

答案 0 :(得分:1)

我仍然对如何将上述内容与Mace2或Mace4结合起来感兴趣。此外,这并没有说明我们如何获得支架类型的生成,一定长度的所有可能性,以及在一次运行中测试重言式。这是查找长度为7的所有重言式的输入:

 set(hyper_res). % hyperresolution rule of inference
 assign(max_proofs,-1).
 clear(for_sub).
 clear(back_sub). % the last two clear forward subsumption and back subsumption
 assign(max_weight,8).
 clear(print_kept). % clears kept formulas

 weight_list(pick_and_purge). 
 % these get weighted to keep weight down for the entire run
 weight(Y1(1,i(i(i(x,y),z),u)),1).
 weight(Y2(1,i(i(x,i(y,z)),u)),1).
 weight(Y3(1,i(i(x,y),i(z,u))),1).
 weight(Y4(1,i(x,i(i(y,z),u))),1).
 weight(Y5(1,i(x,i(y,i(z,u)))),1).
 end_of_list.


 list(sos). % set of support list
 %generates all relevant possibilities
 -P(i(i(i(x,y),z),u)) | -Q(x,y,z,u) | R(i(i(i(x,y),z),u)).
 -P(i(i(x,i(y,z)),u)) | -Q(x,y,z,u) | R(i(i(x,i(y,z)),u)).
 -P(i(i(x,y),i(z,u))) | -Q(x,y,z,u) | R(i(i(x,y),i(z,u))).
 -P(i(x,i(i(y,z),u))) | -Q(x,y,z,u) | R(i(x,i(i(y,z),u))).
 -P(i(x,i(y,i(z,u)))) | -Q(x,y,z,u) | R(i(x,i(y,i(z,u)))).
 % will infer to Yx(1, r), where "r" indicates a formula,
 % and "x" indicates the bracket type of the formula
 -R(i(i(i(x,y),z),u)) | -X(x) | -X(y) | -X(z) | -X(u) | Y1(1,i(i(i(x,y),z),u)).
 -R(i(i(x,i(y,z)),u)) | -X(x) | -X(y) | -X(z) | -X(u) | Y2(1,i(i(x,i(y,z)),u)).
 -R(i(i(x,y),i(z,u))) | -X(x) | -X(y) | -X(z) | -X(u) | Y3(1,i(i(x,y),i(z,u))).
 -R(i(x,i(i(y,z),u))) | -X(x) | -X(y) | -X(z) | -X(u) | Y4(1,i(x,i(i(y,z),u))).
 -R(i(x,i(y,i(z,u)))) | -X(x) | -X(y) | -X(z) | -X(u) | Y5(1,i(x,i(y,i(z,u)))).
 end_of_list.

断裂

 list(usable).
 % bracket types
 P(i(i(i(x,y),z),u)).
 P(i(i(x,i(y,z)),u)).
 P(i(i(x,y),i(z,u))).
 P(i(x,i(i(y,z),u))).
 P(i(x,i(y,i(z,u)))).
 %relevant permutations of the variables...
 %(Q(y,x,y,x) and Q(x,y,x,y) are the same permutation,
 % and in general, in OTTER x is always the first variable,
 % one of {x, y} is the second, one of {x, y, z} is the third, etc.)
 Q(x,y,z,u).
 Q(x,y,z,z).
 Q(x,y,z,y).
 Q(x,y,z,x).
 Q(x,y,y,z).
 Q(x,y,y,y).
 Q(x,y,y,x).
 Q(x,y,x,z).
 Q(x,y,x,y).
 Q(x,y,x,x).
 Q(x,x,y,z).
 Q(x,x,y,y).
 Q(x,x,y,x).
 Q(x,x,x,y).
 Q(x,x,x,x).
 % truth values
 X(0).
 X(1).
 end_of_list.

断裂

 list(demodulators). %two equations to demodulate the Yx formulas
 i(0,x)=1.
 i(1,y)=y.
 end_of_list.
 list(passive). %negations of Yx(1,0).
 -Y1(1,0).
 -Y2(1,0).
 -Y3(1,0).
 -Y4(1,0).
 -Y5(1,0).
 end_of_list. 

OTTER然后证明长度为7的所有公式 not 重言式。因此,任何保留在给定列表中但未得到证明的公式都是长度为7(或等效权重为8)的重言式。