(похадуйтса 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.