"The contrary of a fact is falsehood, but the contrary of a profound truth may be another profound truth" (Niels Bohr).
"Nothing exists except in relation to its opposite" (Paul Twitchell).
Opposite operator
Despite the fact that each primitive has a specific semantics, there is a hypersemantics, a common semantics referring to the contrary operators.
The contrary operator of an operator ⊥ is another operator that refers to the contrary concept to which ⊥ is associated.
If the operator is a constructor type, the opposite operator performs the opposite operation. For example:
Concept
Contrary
Add
Subtract
Multiplying
Dividing
Unite
Separate
If the operator is not constructive, the opposite operator has an opposite meaning, and that is a function of the operator. For example:
Concept
Contrary
Start
Finish
Equal
Distinct
Less
Not less
Greater
Not greater
Remarks
The "Contrary" operator is actually a meta-operator, that is, an operator acting on another operator.
The "Contrary" operator is not a primitive. It is present in primitives either explicitly or implicitly.
The "Contrary" operator is more generic than "logical negation". "Contrary" is universal. It applies to operators and to all kinds of expressions.
Contrary Constructive Monadic Operator
If ⊥ is a constructive monadic operator, the contravariant operator ⊥' satisfies the hyper-semantic property.
〈( (x⊥)(⊥') = x )〉
For example, 〈( (x↓↑ = x )〉
Calling (y = x⊥), we have conditional equivalence
〈( (y = x⊥) ↔ (y(⊥') = x) )〉
If the monadic operator can also be applied to the left, then the property is also true
〈( (⊥')( ⊥x) = x )〉
Calling (y = ⊥x), we have conditional equivalence
〈( (y = ⊥x) ↔ ((⊥')y = x) )〉
Contrary Constructive Dyadic Operator
When we have a dyadic expression, x⊥y, as is the case for exponentiation x^y (i.e., xy), two contractive operators are defined:
Right contrary operator.
Symbolized by ⊥', it is the one that satisfies the hyper-semantic property
〈( (x⊥y)(⊥')y = x )〉
Calling (z = x⊥y), we have conditional equivalence:
〈( (z = x⊥y) ↔ (z(⊥')y = x) )〉
Counterclockwise operator.
Symbolized by '⊥, is the one that satisfies the hypersemantic property.
〈( (x⊥y)('⊥)x = y )〉
Calling (z = x⊥y), we have conditional equivalence:
〈( (z = x⊥y) ↔ (z('⊥)x = y) )〉
Examples
Let's apply these concepts to the paradigmatic case of exponentiation, to see which are the opposite operators on the right and on the left: x^y (indicates xy).
Operator opposite to the right (^'):
((z^y)(^')y = z)
(x = z^y) // x = zy
(x(^')y = z) // y√x = z
Therefore, x(^')y is y√x
Counterclockwise operator ('^):
((y^z)('^)y = z)
(x = y^z) // x = yz
(x('^)y = z) // logyx = z
Therefore, x('^)y is logyx
It is also worth considering conceptual recursion, i.e., the opposite operators to the right and left of ^' and of '^:
Opposite operator to the right of ^': (^')'
Calling (⊥ = ^'), you have:
((z⊥y)( ⊥')y = z)
(x = z⊥y) // (x = z(^')y) x = y√z z = xy
(z = x(⊥')y) // z = xy
Therefore,
(x((^')')y = x^y) // xy
Opposite operator to the left of ^': '(^')
Calling (⊥ = (^')), you have:
((y⊥z)('⊥)y = z)
(x = y⊥z) // (x = y(^')z) logzy = x
(z = x('⊥)y) // z = logxy
Therefore,
(x('(^'))y = y('^)x) // logxy
Opposite operator to the right of '^: ('^)'
Calling (⊥ = ('^)), you have:
((z⊥y)( ⊥')y = z)
(x = z⊥y) // (x = z('^)y) logyz = x
x(⊥')y = z // z = yx
Therefore,
(x((('^)')y = y^x) // yx
Opposite operator to the left of '^: '('^)
Calling (⊥ = ('^)), you have:
(y⊥z)('⊥)y = z
(x = y⊥z) // (x = y('^)z) logzy = x zx = y
(x('⊥)y = z) // z = x√y
Therefore,
(x('('^))y = y(^')x) // x√y
These results are generalizable for any dyadic operator ⊥, the following hypersemantic properties being satisfied:
〈( x((⊥')')y = x⊥y )〉
〈( x('('⊥))y = y(⊥')x )〉
〈( x('(⊥'))y = y('⊥)x )〉
〈( x(('⊥)')y = y⊥x )〉
In case the operator is commutative, i.e., x⊥and ≡ y⊥x we have:
〈( (z⊥y)( ⊥')y = z )〉
〈( x = z⊥y )〉 〈( x(⊥')y = z )〉
〈( (y⊥z)('⊥)y = z )〉
〈( x = y⊥z )〉 〈( x('⊥)y = z )〉
Therefore,
〈( x(⊥')y ≡ x('⊥)y )〉 and (⊥' ≡ '⊥)
That is, the opposite operators on the left and on the right are equivalent.
Examples:
(a+b)(+')b // ev. a
(a+b)(+')a // ev. b
(a+b)('+)a // ev. b
(a+b)('+)b // ev. a
(a*b)(*')b // ev. a
(a*b)('*)a // ev. b
Counter Operator in Expressions
The "Contrary" operator can be used to define opposite values. For example,
(white' = black)
(black' = white)
Other examples:
If V and F represent the values "true" and "false", respectively, as these concepts are contrary to each other, we have: (V' = F) and (F' = V). In general,
(f*V)' = (1-f)*V = f*F
where f is a factor between 0 and 1. The case (V' = F) corresponds to f=1. If f=0.3, we have: (0.3*V)' = 0.7*V = 0.3*F.
If we have the opposite concepts high and low, the definitions are the same: (f*high)' = (1-f)*high = f*low