Forma normale congiuntiva e disgiuntiva

merdacacca
Ho la seguente formula logica

$ ( notA ^^ B ) \Rightarrow ( A \varphi notB )$

Il simbolo $ \varphi $ è il connettivo "o esclusivo". Cioè quello che ha la seguente tavola di verità

v v = f
v f = v
f v = v
f f = f

Devo trasformarla i forma normale disgiuntiva. Procedo in questo modo

$ ( notA ^^ B ) \Rightarrow ( A \varphi notB )$
$ = $
$ not( notA ^^ B) vv (A \varphi notB) $
$ = $
$ not( notA ^^ B) vv (A ^^ B) vv (notA ^^ B) $
$ = $
$( A vv notB) vv (A ^^ B) vv (notA ^^ B) $

Va bene se lascio cosi ? Poi vorrei sapere un'altra cosa.

Se questa formula
$( A vv notB) vv (A ^^ B) vv (notA ^^ B) $
la devo trasformare in forma normale congiuntiva, basa che metto la negazione ? Cioè facendo i questo modo

$not( ( A vv notB) vv (A ^^ B) vv (notA ^^ B) ) $

e poi trasformarlo ?

Risposte
Skylarry
Ho l'impressione che ci sia qualche $ not $ mancante

$ ( notA ^^ B ) \Rightarrow ( A \varphi notB ) $

Procedo in questo modo

$ ( notA ^^ B ) \Rightarrow ( A \varphi notB ) $
$ = $
$ not( notA ^^ B) vv (A \varphi notB) $
$ = $
$ not( notA ^^ B) vv ((A ^^ B) vv (notA ^^ notB)) $
$ = $
$ ( A vv notB) vv (A ^^ B) vv (notA ^^ notB) $
$ = $
$ A vv notB vv (A ^^ B) vv (notA ^^ notB) $

In ogni caso l'ipotesi iniziale mi sembra errata.
Credo debba essere

$ ( A ^^ notB ) vv ( notA ^^ B ) \Rightarrow ( A \varphi notB ) $

merdacacca
non riesco a leggere il tuo messaggio

adesso si :)

Skylarry
scusa. ora dovrebbe essere corretto

merdacacca
GRAZIE MILLE

ultima cosa. La traccia mi dice che devo trovare la forma normale congiuntiva partendo dalla tavola di verità. Il problema è che la tavola di verità è questa

$ V $
$ V $
$ F $
$ V $

So che devo prendere i valori di verità che sono uguali a F. Faccio

$(...) =
(A vv notB) $

Il problema è che non posso coniugarla con l'altra formula perché c'è solo un valore F

Quindi alla fine non esiste la formula congiuntiva ?

Skylarry
Perdonami ma non mi è chiaro il quesito.

merdacacca
Ad esempio ho la seguente tavola di verità

$ A|B|P| $
$ V|V|V|$
$ V|F|V| $
$ F|V|F|$
$ V|F|F|$

$P$ è la proprietà

Allora invece di trovare la forma normale congiuntiva con il metodo fatto prima lo posso fare con la tabella prendendo i valori falsi. Nella tabella ci sono due valori falsi e li prendo

$ (....) ^^ (....) $

Alla fine viene

$(A vv notB) ^^ (notA vv B)$

Il problema è che quando la tabella ha solo un valore di verità falso non posso coniugare.

Skylarry
quindi vuoi la proprietà in forma normale congiunte per cui

\( \begin{matrix} A & B & P \\ V & V & V \\ V & F & V \\ F & V & F \\ F & F & V \end{matrix} \)

non so se va bene, ma io scriverei

$ not(notA ^^ B) vv (A ^^ B) vv (A ^^ notB) vv (notA ^^notB)$
$ \rArr $
$ (A vv notB) ^^ (notA vv notB) ^^ (notA vv B) ^^ (A vv notB)$
$ \rArr $
$ (A vv notB) ^^ (notA ^^ ( A vv notB)) $

merdacacca
come hai fatto ?

Skylarry
"TT":
come hai fatto ?

scusa stavo modificando il messaggio.

il primo passo è solo la traduzione formale della tabella di verità.

Skylarry
"Skylarry":
quindi vuoi la proprietà in forma normale congiunte per cui

\( \begin{matrix} A & B & P \\ V & V & V \\ V & F & V \\ F & V & F \\ F & F & V \end{matrix} \)

non so se va bene, ma io scriverei

$ not(notA ^^ B) vv (A ^^ B) vv (A ^^ notB) vv (notA ^^notB)$
$ \rArr $
$ (A vv notB) ^^ (notA vv notB) ^^ (notA vv B) ^^ (A vv notB)$
$ \rArr $
$ (A vv notB) ^^ (notA ^^ ( A vv notB)) $

in ultima analisi è
$ (A vv notB) $
$ not(notA ^^ B) $

adaBTTLS1
c'è qualcosa che non mi torna dagli interventi precedenti.
effettivamente io sono arrivata ad un passaggio che risponde alla domanda sui risultati della tabella di verità.
provo a riscrivere il tutto:

$(not A ^^ B) => (A phi not B)$

$not (not A ^^ B) vv (A phi not B)$

$(A vv not B) vv (A ^^ B) vv (not A ^^ not B)$

$|A|B|P|$
$|V|V|V|$
$|V|F|V|$
$|F|V|F|$
$|F|F|V|$

significa che $P$ è falsa solo se $A$ è falsa e $B$ è vera, mentre $P$ è vera negli altri tre casi, che sono esattamente i tre indicati nell'ultimo passaggio (le tre parentesi):
è chiaro?
ciao.

merdacacca
Adesso chiarisco tutto.

Allora ho la seguente formula

$ (notA ^^ B) \Rightarrow (A \varphi notB) $

Devo trovare:

1) La sua forma normale disgiuntiva facendo tutti i passaggi
2) La forma normale congiuntiva partendo dalla tavola di verità

Svolgimento ------------

$ (notA ^^ B) \Rightarrow (A \varphi notB) = $

$ not(notA ^^ B) vv (A \varphi notB) =$

$ (A vv notB) vv (A vv B) vv (notA vv notB) $

mi devo fermare qui perché è già in forma normale disgiuntiva.
Ora devo trasformare la

$ (notA ^^ B) \Rightarrow (A \varphi notB) $

in una forma normale CONGIUNTIVA PARTENDO DALLA TAVOLA DI VERITA'

Devo prendere dalla tavola i valori falsi. Ma c'è solo un valore falso. Non so procedere.

adaBTTLS1
ho applicato solo 3 proprietà:
1. la definizione dell'implicazione $p->q -= not p vv q$
2. una legge di de Morgan $not (p^^q) -= not p vv not q$
3. la definizione di "exclusive or" ($phi$) $p phi q -= (p ^^ not q) vv (not p ^^ q)$

prova a metterle insieme sostituendo le proposizioni che hai tu al posto di $p$ e di $q$, e vedi a che punto arrivi...

merdacacca
non devo risolverlo con equivalenze logiche ma con la tavola di verità

adaBTTLS1
perfetto, allora hai direttamente la soluzione, che (però) è coerente con le equivalenze logiche.
come ti scrivevo prima:
"adaBTTLS":
.......

$|A|B|P|$
$|V|V|V|$ OK, P è verificata se A e B sono vere entrambe (1)
$|V|F|V|$ OK, P è verificata se A è vera e B è falsa (2)
$|F|V|F|$ NON VA BENE
$|F|F|V|$ OK, P è verificata se A e B sono false entrambe (3)


significa che $P$ è falsa solo se $A$ è falsa e $B$ è vera, mentre $P$ è vera negli altri tre casi, che sono esattamente i tre indicati nell'ultimo passaggio (le tre parentesi): $(A vv not B) vv (A ^^ B) vv (not A ^^ not B)$
la prima parentesi si riferisce al caso (2), la seconda parentesi si riferisce al caso (1), la terza parentesi si riferisce al caso (3)
.....


"A falso" è la stessa cosa di "non A vero", e nelle formule il "vero" è sottinteso e si scrive semplicemente $not A$
analogamente per B.

cosa c'è che non ti convince?

merdacacca
0 = Valore F
1 = Valore V

Un metodo pratico per determinare una formula normale congiuntiva di una formula ben formata contenenti le proposizioni atomiche A1, A2, ..., An, è il seguente:

1) Si costruisce la tavola di verità di P
2) Per ogni riga in cui P ha valore di verità 0 si scrive una disgiunzione, i
cui letterali sono determinati come segue: se nell'interpretazione v che
corrisponde alla riga in questione risulta v(Ai) = 0 allora viene inserito
Ai come letterale, altrimenti si inserisce :Ai
3) Tutte le formule cosi ottenute vanno concatenate tra loro, separandole
con il connettivo $^^$.

Ad esempio

$ A B C P $
$ 0| 0 |0 |1 $
$ 0 |0 |1 |0 $
$ 0| 1 |0 |0 $
$ 0| 1| 1 |0 $
$ 1 |0| 0 |1 $
$ 1| 0| 1 |1 $
$ 1| 1 |0 |0 $
$ 1| 1| 1 |0 $
Le righe in cui P ha valore di verita 0 sono la seconda, la terza, la quarta, la
settima e l'ottava. P
C sara quindi una congiunzione di cinque formule
P
$ C = (  ) ^^ (  ) ^^ (  ) ^^ (  ) ^^ (  ); $
una per ciascuna delle cinque righe menzionate. La formula corrispondente
alla seconda riga si ottiene nel modo seguente: dato che nella seconda riga i
valori di verita di A e B sono 0 mentre quello di C e 1, dovremo scrivere una
disgiunzione di A, B e :C. Si ha quindi
P
$ C = (A vv B vv notC) ^^ (  ) ^^ (  ) ^^ (  ) ^^ (  ): $

E' cosi via

Il mio problema è che non posso coniugare una preposizione atomica con un'altra se ho solo un valore di verità F (cioè 0)

adaBTTLS1
scusami, ma la tavola di verità non me la sono inventata io, hai detto di conoscerla. quindi non capisco che cosa voglia l'esercizio.
inoltre, se hai due proposizioni atomiche, la tavola di verità ha quattro casi; i casi diventano otto se le proposizioni atomiche sono tre.
se il tuo problema è arrivare alla soluzione della tua tabella logica, allora la cosa è particolarmente semplice, ma questo non si evince dai messaggi precedenti.
se il tuo ultimo messaggio voleva essere un esempio chiarificatore, di sicuro non ha fatto questo effetto nella mia mente.

merdacacca
l'esercizio vuole che io risolva attraverso questo algoritmo

adaBTTLS1
dal tuo messaggio:
seconda riga A=0, B=0, C=1; nella parentesi hai scritto $(AvvBvvC)$: non hai fatto differenza con quello che chiamavi :C
che significa?

intanto hai detto che il primo passaggio è la tavola di verità: dato che hai scritto il risultato giusto della tavola di verità (quella dell'esercizio di questo topic), ma non hai scritto i passaggi, l'hai costruita tu oppure no?

merdacacca
"adaBTTLS":
dal tuo messaggio:
seconda riga A=0, B=0, C=1; nella parentesi hai scritto $(AvvBvvC)$: non hai fatto differenza con quello che chiamavi :C
che significa?

intanto hai detto che il primo passaggio è la tavola di verità: dato che hai scritto il risultato giusto della tavola di verità (quella dell'esercizio di questo topic), ma non hai scritto i passaggi, l'hai costruita tu oppure no?


Scusami è

$ (A vv B vv notC) $

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.