# Boolean -- the class of Boolean values

## Description

Predicate functions return these as values, and the logical connectives expect to receive them as arguments.

Special operators dealing with truth values.

• not -- negation
• and -- conjunction
• or -- disjunction
• xor -- exclusive disjunction
• if -- condition testing

## Functions and methods returning a Boolean value :

• "BasicList #? ZZ" -- see #? -- check existence of value in a list, hash table, database, or string
• "Database #? String" -- see #? -- check existence of value in a list, hash table, database, or string
• "HashTable #? Thing" -- see #? -- check existence of value in a list, hash table, database, or string
• "String #? ZZ" -- see #? -- check existence of value in a list, hash table, database, or string
• "Thing =!= Thing" -- see =!= -- strict inequality
• "BettiTally == BettiTally" -- see == -- equality
• "Boolean == Boolean" -- see == -- equality
• "CC == CC" -- see == -- equality
• "CC == QQ" -- see == -- equality
• "CC == RR" -- see == -- equality
• "CC == ZZ" -- see == -- equality
• "Net == Net" -- see == -- equality
• "Nothing == Nothing" -- see == -- equality
• "ProjectiveHilbertPolynomial == ProjectiveHilbertPolynomial" -- see == -- equality
• "ProjectiveHilbertPolynomial == ZZ" -- see == -- equality
• "QQ == CC" -- see == -- equality
• "QQ == QQ" -- see == -- equality
• "QQ == RR" -- see == -- equality
• "QQ == RRi" -- see == -- equality
• "QQ == ZZ" -- see == -- equality
• "RR == CC" -- see == -- equality
• "RR == QQ" -- see == -- equality
• "RR == RR" -- see == -- equality
• "RR == RRi" -- see == -- equality
• "RR == ZZ" -- see == -- equality
• "RRi == QQ" -- see == -- equality
• "RRi == RR" -- see == -- equality
• "RRi == RRi" -- see == -- equality
• "RRi == ZZ" -- see == -- equality
• "Sequence == Sequence" -- see == -- equality
• "String == String" -- see == -- equality
• "Symbol == Symbol" -- see == -- equality
• "ZZ == CC" -- see == -- equality
• "ZZ == ProjectiveHilbertPolynomial" -- see == -- equality
• "ZZ == QQ" -- see == -- equality
• "ZZ == RR" -- see == -- equality
• "ZZ == RRi" -- see == -- equality
• "ZZ == ZZ" -- see == -- equality
• ? -- comparison operator
• all -- whether all elements satisfy a specified condition
• ancestor(Type,Type) -- whether one type is an ancestor of another
• any(BasicList,BasicList,Function) -- whether any corresponding elements of a pair of lists satisfy a condition
• any(BasicList,Function) -- whether any elements of a list satisfy a specified condition
• "any(ZZ,Function)" -- see any(BasicList,Function) -- whether any elements of a list satisfy a specified condition
• any(HashTable,Function) -- whether all key/value pairs in a hash table satisfy a specified condition
• atEndOfFile(File) -- test for end of file
• "fileExecutable(String)" -- see fileExecutable
• "fileWritable(String)" -- see fileWritable
• inducesWellDefinedMap -- whether a map is well defined
• "instance(Thing,Type)" -- see instance -- whether something has a certain type
• isAffineRing -- whether something is an affine ring
• "isANumber(Number)" -- see isANumber -- whether a number is not not-a-number
• isBorel -- whether an ideal is fixed by upper triangular changes of coordinates
• "isBorel(MonomialIdeal)" -- see isBorel -- whether an ideal is fixed by upper triangular changes of coordinates
• isCommutative -- whether a ring is commutative
• isCommutative(ChainComplexMap) (missing documentation)
• isConstant -- whether a ring element is constant
• isEmpty
• isEmpty(RRi) -- empty test for an interval
• isField -- whether something is a field
• "isFinite(Number)" -- see isFinite -- whether a number is finite
• isFreeModule -- whether something is a free module
• isHomogeneous -- whether something is homogeneous (graded)
• "isHomogeneous(Module)" -- see isHomogeneous -- whether something is homogeneous (graded)
• isIdeal -- whether something is an ideal
• isInjective -- whether a map is injective
• isInputFile(File) -- whether a file is open for input
• isIsomorphism -- whether a map is an isomorphism
• isLinearType -- Determine whether module has linear type
• isListener(File) -- whether a file is open for listening
• isModule -- whether something is a module
• isMonomialIdeal -- whether something is a monomial ideal
• "isNormal(Ring)" -- see isNormal -- determine if a reduced ring is normal
• "isOpen(Database)" -- see isOpen -- whether a file or database is open
• "isOpen(File)" -- see isOpen -- whether a file or database is open
• isOutputFile(File) -- whether a file is open for output
• isPolynomialRing -- whether something is a polynomial ring
• isPrime -- whether a integer or polynomial is prime
• "isPrime(ZZ)" -- see isPrime -- whether a integer or polynomial is prime
• isPrime(Ideal) -- whether an ideal is prime
• "isPseudoprime" -- see isPseudoprime(ZZ) -- whether an integer is probably prime
• isPseudoprime(ZZ) -- whether an integer is probably prime
• isQuotientModule -- whether something is evidently a quotient of a free module
• isQuotientOf -- whether one thing is a quotient of another
• isQuotientRing -- whether something is a quotient ring
• isReduction -- Determine whether an ideal is a reduction
• isRing -- whether something is a ring
• isSkewCommutative -- whether a ring has skew commuting variables
• isSquareFree -- whether something is square free monomial ideal
• isSubmodule -- whether a module is evidently a submodule of a free module
• isSubset -- whether one object is a subset of another
• isSubset(Set,Set) -- whether one object is a subset of another
• "isSubset(Set,VisibleList)" -- see isSubset(Set,Set) -- whether one object is a subset of another
• "isSubset(VisibleList,Set)" -- see isSubset(Set,Set) -- whether one object is a subset of another
• "isSubset(VisibleList,VisibleList)" -- see isSubset(Set,Set) -- whether one object is a subset of another
• isSurjective -- whether a map is surjective
• isUnit -- whether a ring element is a unit
• isWellDefined -- whether a map is well defined
• liftable -- whether lifting to another ring is possible
• match -- regular expression matching
• "member(Thing,Set)" -- see member -- test membership in a list or set
• "member(Thing,VisibleList)" -- see member -- test membership in a list or set
• "mutable(Thing)" -- see mutable -- whether something may be modified
• radicalContainment -- whether an element is contained in the radical of an ideal
• "radicalContainment(Ideal,Ideal)" -- see radicalContainment -- whether an element is contained in the radical of an ideal
• "radicalContainment(RingElement,Ideal)" -- see radicalContainment -- whether an element is contained in the radical of an ideal
• Set #? Thing -- test set membership
• "testHunekeQuestion(RingElement)" -- see testHunekeQuestion -- tests a conjecture on integral closures strengthening the Eisenbud-Mazur conjecture
• Thing === Thing -- strict equality
• "isWeylAlgebra" -- see Weyl algebras

## Methods that use a Boolean value :

• "Boolean >> Function" -- see OptionTable >> Function -- attaching options to a function
• "Boolean xor Boolean" -- see xor -- exclusive disjunction

## For the programmer

The object Boolean is a type, with ancestor class Thing.