Наверное все таки x.any(!predicate)
НЕ ВСЕ true это тоже самое, что ЛЮБОЙ false
ну или именно по булевым законам это x & y = !(x | y)
Законы де Моргана говорят, что не хватает отрицаний: !x & !y == !(x | y) и !x | !y == !(x & y) Действительно, факт, что не верно, что все x_1, ..., x_n верны, равносилен факту, что какое-то из x_1, ..., x_n неверно, т.е. какое-то из !x_1, ... !x_n верно. (Второе из выражений выше.) Поэтому !all(predicate) == any(!predicate) Аналогично наоборот: !any(predicate) == all(!predicate) P.S. И у котлиновских all и any правильные поведения на пустых коллекциях, поэтому данные выражения верны совсем всегда.
а есть язык с неверной имплементацией на пустых коллекциях?
Я совсем не специалист по языкам и примера не знаю. Возможно, нет таких. Казалось, что сталкивался с какими-то такими особенностями, поэтому на всякий случай уточнил. Извините.
да я просто поинтересовался, без наездов, вдруг и правда есть, хотя по идее должно работать просто потому что должно из булевой алгебры
Обсуждают сегодня