(похадуйтса pascal (путём перебора возможных значений), что для любых величин а, в, с типа boolean следующая пара логических выражений имеет одинаковые значения(эквивалентны): a and b и b and a.
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016 begin Println(' a b a&b b&a'); foreach var a in [False,True] do foreach var b in [False,True] do WritelnFormat('{0,6:} {1,6:} {2,6:} {3,6:}', a,b,a and b, b and a) end.
begin
Println(' a b a&b b&a');
foreach var a in [False,True] do
foreach var b in [False,True] do
WritelnFormat('{0,6:} {1,6:} {2,6:} {3,6:}',
a,b,a and b, b and a)
end.
Тестовое решение:
a b a&b b&a
True True True True
True False False False
False True False False
False False False False