Por que F + F '= 1?

15

Eu tenho a função: f(x,y,z,w)=wx+yz

Achei que sua função de complemento era: f(x,y,z,w)=wy+wz+xy+xz

Eu tenho que mostrar que: f+f=1 mas não consigo ver como fazê-lo.

Parece que simplesmente não há nada que se anule.

Editar

Como sugerido, agora usei o teorema de DeMorgan e achei o seguinte:

f+f=wx+yz+(w+y)+(w+z)+(x+y)+(y+z)

Mas ainda me parece que não há nada que me aproxime da realização de f+f=1

Carl
fonte
6
Dica: Use a lei de DeMorgan
Spehro Pefhany 09/09/19
11
Ou f ou f 'deve ser 1
Chu
4
Você tem apenas 4 entradas. Se nada mais, você pode simplesmente escrever uma tabela da verdade.
The Photon
2
Spehro está certo, mas sim, aplicar DeMorgan como primeiro passo não ajuda. Então, para expandir um pouco a dica de Spehro: a solução envolve fazer uma álgebra básica, que inclui o DeMorgan como um passo. Usando álgebra simples + DeMorgan, você pode transformar a função f 'em uma negação claramente óbvia de f. Rabiscando-o em um pedaço de papel, levei apenas quatro etapas para fazê-lo.
Mr. Snrub
1
@ Mr.Snrub o primeiro passo do "eu achei a sua função de complemento" deve ser (wx + yz) '
OrangeDog

Respostas:

4

Desde que Carl perguntou gentilmente. Ponto de partida:

f(x,y,z,w)=wx+yz
e
f(x,y,z,w)=wy+wz+xy+xz

Execute os seguintes passos com f :

f(x,y,z,w)=w(y+z)+x(y+z)
f(x,y,z,w)=(w+x)(y+z)
DeMorgan:
f(x,y,z,w)=(wx)(yz)
DeMorgan, novamente:
f(x,y,z,w)=(wx+yz)
Então agora o lado direito def é apenas a simples negação do lado direito def. O que é um pouco anticlimático, uma vez que agora apenas confiamos no fato de que qualquer expressão x+x=1 , que é o que as pessoas vêm dizendo o tempo todo sobre f+f=1 , mas pelo menos fornece um pouco Explicação de álgebra booleana por que isso é verdade.

Mr. Snrub
fonte
Não entendo como você chegou à segunda linha sem passar pela sua resposta final. Sua resposta final foi o meu primeiro passo: é apenas a negação de ambos os lados.
C. Lange
As duas primeiras linhas são as fórmulas fornecidas pelo OP. Eles são o ponto de partida, por definição. Concordo plenamente que o material mais tarde pode ter sido parte da derivação do OP dessas duas primeiras fórmulas. Mas não temos essa informação; nós simplesmente não podemos confirmar.
Sr. Snrub 11/09/19
Entendido - na suposição de que e f ' foram dados na pergunta, como o OP os escreveu. Meu entendimento era que o OP já havia tentado expandir f ' e não sabia para onde ir a partir daí. fff
C. Lange
41

O ponto é que realmente não importa qual é a função f() . O fato principal é que sua saída é um único valor binário.

É um fato fundamental na álgebra booleana que o complemento de um valor binário seja verdadeiro sempre que o valor em si for falso. Isso é conhecido como a lei do meio excluído . Portanto, ORing um valor com seu complemento é sempre verdadeiro, e ANDing um valor com seu complemento é sempre falso.

É bom que você tenha conseguido derivar a função específica f() , mas isso é realmente irrelevante para a pergunta real!

Dave Tweed
fonte
1
Isso é conhecido como a lei do meio excluído .
usar o seguinte
@BallpointBen: Obrigado! Eu adicionei à minha resposta.
Dave Tweed
13

Todas as respostas anteriores estão corretas e muito detalhadas. Mas uma maneira mais simples de abordar isso pode ser lembrar que, na álgebra booleana, todos os valores devem ser 0 ou 1.

Então ... ou F é 1, então F 'é 0 ou o contrário: F é 0 e F' é 1. Se você aplicar a função OR booleana: F + F ', você sempre terá uma dos dois termos 1, o resultado será sempre 1.

Opifex
fonte
11

My answer is similar to the one of Dave Tweed, meaning that I put it on a more formal level. I obviously answered later, but I decided to nevertheless post it since someone may find this approach interesting.


The relation you are trying to prove is independent from the structure of the function f since it is, as a matter of fact, a tautology. To explain what I mean, I propose a demonstration for a general, correctly formed, Boolean expression P in an arbitrary number of Boolean variables, say nN, y1,,yn, where yi{0,1} for all i=1,,n.
We have that P(y1,,yn){0,1} and consider the following two sets of Boolean values for the n-dimensional Boolean vector (y1,,yn)

Y={(y1,,yn){0,1}n|P(y1,,yn)=1}Y¯={(y1,,yn){0,1}n|P(y1,,yn)=0}
These set are a partition of the full set of values the input Boolean vector can assume, i.e. YY¯={0,1}n and YY¯= (the empty set), thus
P(y1,,yn)={0if (y1,,yn)Y¯1if (y1,,yn)YP(y1,,yn)={1if (y1,,yn)Y¯0if (y1,,yn)Y
therefore we always have
P+P=1(y1,,yn){0,1}n

Daniele Tampieri
fonte
11

All good answers that provide the necessary justification in one way or the other. Since it is a tautology, it's hard to create a proof that doesn't just result in "it is what it is!". Perhaps this method help tackle it from yet another, broader angle:

Expand both statements to include their redundant cases, and the remove the repeated cases:

𝑓=𝑤𝑥+𝑦𝑧  =wx(yz+yz+yz+yz) + yz(xw+xw+xw+xw)  =wxyz+wxyz+wxyz+wxyz + yzxw+yzxw+yzxw+yzxw  =wxyz+wxyz+wxyz+wxyz + yzxw+yzxw+yzxw

and

𝑓=𝑤𝑦+𝑤𝑧+𝑥𝑦+𝑥𝑧   =wy(xz+xz+xz+xz) + 𝑤𝑧(xy+xy+xy+xy) +         xy(wz+wz+wz+wz) + x𝑧(wy+wy+wy+wy)   =wyxz+wyxz+wyxz+wyxz + 𝑤𝑧xy+𝑤𝑧xy+𝑤𝑧xy+𝑤𝑧xy +         xywz+xywz+xywz+xywz + x𝑧wy+x𝑧wy+x𝑧wy+x𝑧wy   =wyxz+wyxz+wyxz+wyxz + 𝑤𝑧xy+𝑤𝑧xy +         xywz+xywz + x𝑧wy

I've kept the terms in consistent order to make the derivation more obvious, but they could be written alphabetically to be clearer. In any case, the point is that f ORs seven 4-bit cases, and f ORs nine, distinct 4-bit cases. Together they OR all sixteen 4-bit cases, so reduce to 1.

Heath Raftery
fonte
4
+1 this is the only answer that is answering the true intention of the OPs question, which is to do some Boolean algebra rather than making theoretical arguments. But per my comment on the OP, note that a more elegant solution does exist; this problem can be solved without needing to add in the redundant cases.
Mr. Snrub
I would very much like to see that as well. That is, if you have the time and the generosity to do it.t
Carl
8

F + F' = 1 means that you have to show that no matter the state of the 4 inputs, OR'ing the result of those 2 always result in 1,

A few minutes in excel shows it is indeed the case. You can use "NOT()" to invert between 0 and 1 in excel.

F = W * X + Y * Z

F' = W' * Y' + W' * Z' + X' * Y' + X' * Z'

As to why this is the case, If you want F to be false, e.g. setting W and Y low, you just made F' true. If you make X and Z low, you also made F" true, same for swapping there pairs.

enter image description here

Reroute
fonte
2
"F + F' = 1 means that you have to show that no matter the state of the 4 inputs, OR'ing the result of those 2 always result in 1" . No, it doesn't. It merely means that you have to show that regardless of the output (which can only have two possibilities) and the corresponding output of its complement, the relation holds. The inputs are irrelevant, as is the function. The only truth table needed is the one showing the relationship between the output of the function and the output of anything qualifying as its complement.
Chris Stratton
@ChrisStratton, that depends if the question is to show that the OR of a function and its complement is always 1 (which is trivial by definition of the complement) or to show that the proposed function F' is actually the complement of F. From OP's wording, I think they had a 2 part problem. Part A: find the complement function. Part B: show that it actually is the complement.
The Photon
0

By simple definition of + (OR) and (NOT)

 A | B | A + B
---------------
 0 | 0 |   0
 1 | 0 |   1
 0 | 1 |   1
 1 | 1 |   1
 A | A′| A + A′
----------------
 0 | 1 |   1
 1 | 0 |   1

f.f+f=1

OrangeDog
fonte