根据下面的命题,试用逻辑推理方法确定谁是作案者,写出推理过程。
(1)营业员A或B偷了手表;
(2)若A作案,则作案不在营业时间;
(3)若B提供的证据正确,则货柜末上锁;
(4)若B提供的证据不正确,则作案发生在营业时间;
(5)货柜上了锁。
%将此题进行符号化
% A:营业员A偷了手表
% B:营业员B偷了手表
% C:作案不在营业时间
% D:B提供的证据正确
% E:货柜末上锁
%则将命题符号化为(A||B) && (!A||C) && (!D||E) && (D||!C) && !E
%通过分析每个事件只有两种情况,使用穷举法,可以得到命题公式的真假,运行结果输出A和B的值
for A = 0:1
for B =0:1
for C =0:1
for D = 0:1
for E = 0:1
if (A||B) && (~A||C) && (~D||E) && (D||~C) && ~E ==1
fprintf('A:%d, B:%d',A,B);
fprintf('\n');
end
end
end
end
end
end
运行结果