In many-valued logic with linearly ordered truth values, cyclic negation is a unary truth function that takes a truth value n and returns n - 1 as value if n is not the lowest value; otherwise it returns the highest value.
For example, let the set of truth values be, let ~ denote negation, and let p be a variable ranging over truth values. For these choices, if p = 0 then ~p = 2; and if p = 1 then ~p = 0.
Cyclic negation was originally introduced by the logician and mathematician Emil Post.