Canonicalize - Maple Help

# Online Help

###### All Products    Maple    MapleSim

Home : Support : Online Help : Mathematics : Logic : Canonicalize

Logic

 Canonicalize
 get a canonical representation of an expression

 Calling Sequence Canonicalize(b, alpha, form)

Parameters

 b - Boolean expression alpha - (optional) set or list of names form - (optional) expression of the form form=fname

Description

 • The Canonicalize command converts the given boolean expression to a canonical form.
 • The canonical form used is determined by the form=fname option. The default value for this option is DNF.
 • The canonical form is given with respect to the names given in alpha.  Note that alpha is necessary when the form chosen is CNF or DNF.

Available Canonical Forms

 The following is a list of available canonical forms.
 • MOD2  - The Boolean expression is converted to its equivalent modulo 2 canonical form.
 • CNF - The conjunctive normal form is returned.
 • DNF - The disjunctive normal form is returned.

Examples

 > $\mathrm{with}\left(\mathrm{Logic}\right):$
 > $\mathrm{Canonicalize}\left(a\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&and\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}b,\left\{a,b,c\right\}\right)$
 $\left({a}{\wedge }{b}{\wedge }{c}\right){\vee }\left({a}{\wedge }{b}{\wedge }\left({¬}{c}\right)\right)$ (1)
 > $\mathrm{Canonicalize}\left(a\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&xor\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}b,\mathrm{form}=\mathrm{MOD2}\right)$
 ${a}{+}{b}$ (2)
 > $\mathrm{Canonicalize}\left(a\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&xor\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}b,\left\{a,b\right\},\mathrm{form}=\mathrm{CNF}\right)$
 $\left({a}{\vee }{b}\right){\wedge }\left(\left({¬}{a}\right){\vee }\left({¬}{b}\right)\right)$ (3)
 > $\mathrm{Canonicalize}\left(a\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&xor\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}b,\left\{a,b\right\},\mathrm{form}=\mathrm{DNF}\right)$
 $\left({a}{\wedge }\left({¬}{b}\right)\right){\vee }\left({b}{\wedge }\left({¬}{a}\right)\right)$ (4)

 See Also