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 {0,1,2}, 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. References . See in particular pp. 188–189. Mathematical logic