The point of Double Negation is casting [...] any false value to 0.Nope, it's bitwise negation and doesn't work this way. It's basically - noop. Keeps value the same.
% say "(!1)" % say "~~(!1)" 0
So it could be an idiom that is applied to all Boolean values (so that Boolean false shows up as '0' instead of as the "invisible" ''). It just does nothing when the Boolean value is already 1.