WOLFRAM

UnateQ[bexpr,{x1,x2,}]

tests whether the Boolean expression bexpr is positive unate in the variables x1, x2, .

UnateQ[bexpr,{¬x1,¬x2,}]

tests whether the Boolean expression bexpr is negative unate in the variables x1, x2, .

Details

  • A positive unate Boolean function is also known as a Boolean increasing function.
  • A negative unate Boolean function is also known as a Boolean decreasing function.
  • The Boolean expression bexpr is positive unate in the variable xi if Boole[bexpr/.xi->False]Boole[bexpr/.xi->True] for all values of other variables.
  • The Boolean expression bexpr is negative unate in the variable xi if Boole[bexpr/.xi->False]Boole[bexpr/.xi->True] for all values of other variables.
  • Any combination of variables and their negation can be used.
  • UnateQ[bf,{ind1,ind2,}] tests whether the Boolean function bf is unate in variable k according to the indicator indk.
  • The indicators indk can take the following values:
  • True,1test for positive unate
    False,0test for negative unate
    _do not test for unateness

Examples

open allclose all

Basic Examples  (2)Summary of the most common use cases

Test if a Boolean expression is positive unate:

Out[2]=2
Out[3]=3

Test if a Boolean expression is negative unate:

Out[1]=1
Out[2]=2

Scope  (5)Survey of the scope of standard use cases

Test for positive unateness:

Out[2]=2

Negative unateness:

Out[1]=1

Test for unateness in one variable:

Out[1]=1

Test for positive unate in one variable, negative unate in another:

Out[1]=1

Check for unateness of a pure function:

Out[1]=1
Out[2]=2

Test for negative unateness in the first variable and positive unateness in the second:

Out[3]=3

Test for whether a function is positive unate in its first and last variables:

Out[4]=4

Applications  (2)Sample problems that can be solved with this function

Enumerate all unate functions of three variables:

Out[1]=1

ReliabilityDistribution only takes positive unate functions:

Out[2]=2
Out[3]=3

Find out which variables are not positive unate:

Out[4]=4

Remove x4 by setting it to False:

Out[5]=5
Out[6]=6

Properties & Relations  (6)Properties of the function, and connections to other functions

Basic positive unate functions:

Out[2]=2

Basic negative unate functions:

Out[3]=3

Implies is negative unate in one variable and positive unate in the other:

Out[1]=1

Some Boolean functions are not unate in any variable:

Out[1]=1
Out[2]=2
Out[3]=3

The fraction of Boolean functions that are positive unate for dimension :

Out[2]=2

Combinations of positive unate functions are unate:

Out[1]=1

Combinations of negative unate functions are not necessarily negative unate:

Out[2]=2

The negation of a positive unate function is negative unate:

Out[2]=2
Out[3]=3

Neat Examples  (1)Surprising or curious use cases

Show in how many variables each Boolean function with three variables is positive unate:

Out[1]=1
Wolfram Research (2012), UnateQ, Wolfram Language function, https://reference.wolfram.com/language/ref/UnateQ.html.
Wolfram Research (2012), UnateQ, Wolfram Language function, https://reference.wolfram.com/language/ref/UnateQ.html.

Text

Wolfram Research (2012), UnateQ, Wolfram Language function, https://reference.wolfram.com/language/ref/UnateQ.html.

Wolfram Research (2012), UnateQ, Wolfram Language function, https://reference.wolfram.com/language/ref/UnateQ.html.

CMS

Wolfram Language. 2012. "UnateQ." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/UnateQ.html.

Wolfram Language. 2012. "UnateQ." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/UnateQ.html.

APA

Wolfram Language. (2012). UnateQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/UnateQ.html

Wolfram Language. (2012). UnateQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/UnateQ.html

BibTeX

@misc{reference.wolfram_2025_unateq, author="Wolfram Research", title="{UnateQ}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/UnateQ.html}", note=[Accessed: 25-March-2025 ]}

@misc{reference.wolfram_2025_unateq, author="Wolfram Research", title="{UnateQ}", year="2012", howpublished="\url{https://reference.wolfram.com/language/ref/UnateQ.html}", note=[Accessed: 25-March-2025 ]}

BibLaTeX

@online{reference.wolfram_2025_unateq, organization={Wolfram Research}, title={UnateQ}, year={2012}, url={https://reference.wolfram.com/language/ref/UnateQ.html}, note=[Accessed: 25-March-2025 ]}

@online{reference.wolfram_2025_unateq, organization={Wolfram Research}, title={UnateQ}, year={2012}, url={https://reference.wolfram.com/language/ref/UnateQ.html}, note=[Accessed: 25-March-2025 ]}