=== '''Dual''' ===
No Maple, existe uma procedure para encontrar a dupla de uma explressão booleana.
Lembre-se que a dupla de uma expressão booleana é obtida trocando cada ocorrência de '''and''' e '''or''' por '''or''' e '''and''' respectivamente.
Para usar essa procedure você deve carregar o pacote '''logic''';
<pre>with(logic):</pre>
A procedure é chamada '''dual''' (naturalmente) e recebe como argumentos a expressão booleana formada usando as versões inertes dos operadores booleanos.
<pre>dual(false);
dual(true);
dual(x &and y);
dual(x &or (¬ y &or ¬ x and ¬ (¬ z)));</pre>
A beleza da dualidade é que, uma vez que você provar uma identidade booleana, você pode usar o '''dual''' a vontade!
Enquanto é possível usar Maple para provar uma identidade pela força bruta -- isto é, checando cada valor possível das variáveis, o pacote '''logic''' oferece uma solução mais elegante.
Como um exemplo disto, vamos usar o Maple para provar a identidade
[[File:imagem.png|200px]]