== '''Exercícios e Projetos''' ==
01) Use o Maple para verificar a Lei DeMorgan e as leis de comutatividade e associatividade:
.: Leis de DeMorgan :.
Equivalent(`¬`(`&or`(A, B)), `&and`(`¬`(A), `¬`(B)));
true
Equivalent(`¬`(`&and`(A, B)), `&or`(`¬`(A), `¬`(B)));
true
.: Comutatividade :.
Equivalent(`&and`(A, B), `&and`(B, A));
true
Equivalent(`&or`(A, B), `&or`(B, A));
true
.: Associatividade :.
exp1 := `&and`(A, `&and`(B, C));
exp2 := `&and`(`&and`(A, B), C);
Equivalent(exp1, exp2);
true
exp3 := `&or`(A, `&or`(B, C));
exp4 := `&or`(`&or`(A, B), C);
Equivalent(exp3, exp4);
true
02) Use Maple para construir as tabelas verdades para cada um dos seguintes pares de expressões booleanas.
with(Logic):
TruthTable(((a &implies b)&and(b &implies a)), [a,b], output = Matrix);
table([
(true, true) = true,
(false, true) = false,
(false, false) = true,
(true, false) = false ])
TruthTable(`&and`(`&implies`(a, `¬`(b)), `&implies`(b, `¬`(a))), [a, b], output = Matrix);
table([
(true, true) = false,
(false, true) = true,
(false, false) = true,
(true, false) = true ])
TruthTable(`&and`(`&or`(a, `&and`(b, `¬`(c))), (`&or`(`&or`(a, b), c))*(a+c+d)), [a, b, c, d], output = Matrix);
table([
(false, false, true, true) = false,
(true, false, false, true) = false,
(false, false, false, false) = false,
(true, false, true, true) = false,
(false, false, false, true) = false,
(true, true, false, true) = false,
(false, false, true, false) = false,
(true, true, false, false) = false,
(true, false, false, false) = false,
(false, true, true, false) = false,
(true, true, true, true) = false,
(false, true, true, true) = false,
(true, true, true, false) = false,
(false, true, false, false) = false,
(true, false, true, false) = false,
(false, true, false, true) = false ])