2009-05-17 6 views
0

Je suis en train de construire une contraposition pour la déclaration suivante: Si A est 0 ou B est 0, A * B est 0.Quelqu'un peut-il expliquer la contraposition

Voici ma tentative: Si A * B est 0, alors A est différent de 0 ou B est différent de 0.

la déclaration d'origine est vrai, mais le faux est contrapositive puisque les deux A et B doit être dans un ordre non zéro A * B pour être non nul ... est-ce que je fais quelque chose de mal?

+0

Et comment se fait-il est étiqueté C++? –

+0

C++ a une logique ... et les gens qui aiment le C++ aiment souvent les questions difficiles (je suppose que ce n'était pas très difficile :)). – Kiril

+0

Notez que la contraposée d'une déclaration vraie est toujours vraie. –

Répondre

9

Oui.

La contrapositive de "Si P puis Q" est "Si non Q, alors pas P".

Ainsi, la contraposition de "Si A est 0 ou B est 0, alors A * B est 0" est "Si A * B est de 0, donc pas (A est 0 ou B est 0)".

et "non (A est 0 ou B est 0)" est "A est pas 0 et B est différent de 0", de sorte que le contrapositive devrait être « Si A * B est 0, alors A est pas 0 et B n'est pas 0 ". Juste ce que vous attendez :-)

0

Oui, vous avez fait quelque chose de mal. NON (A ou B) = NON (A) et PAS (B). Vous avez négligé de changer 'ou' et 'et' lors de la distribution du 'non'. (De Morgan)

Questions connexes