Fondamenti di Informatica, 30 Gennaio 2018
Non e' ammesso l'uso di alcun testo, appunti, calcolatrici, telefonini o
smartphone. Le risposte vanno scritte nel foglio di bella copia. Si
raccomanda la massima SINTETICITA'. L'eccessiva verbosita' verra'
considerata negativamente.
Per sostenere l'esame e' obbligatorio essersi prenotati sul portale studenti del nostro
ateneo. Elaborati di studenti non prenotati NON verranno valutati.
I risultati
verranno indicati nella pagina web del corso.
Date ed orari degli orali, sul Forum.
Esercizio 1
(a)
Dare la definizione di espressione regolare. Scrivere inoltre l'espressione regolare
che rappresenta il linguaggio di tutte le stringhe sull'alfabeto {a,b,c,d} che terminano con "abb".
(b)
Sia G=({a,b,c},{S,A,B},P,S) dove P contiene le seguenti regole
S -> Ac,
A -> AB | B,
B -> aAb | ab.
Dimostrare che la stringa aaabbbc appartiene al linguaggio generato da G.
(c)
Dimostrare che il linguaggio
L = {ahbk | h,k>0, h>k}
non e' regolare.
Esercizio 2
(a)
Fornire la definizione di sistema formale consistente.
Dato un sistema formale D ed un
insieme M di fbf, cosa significa che M e' una teoria in D? Cos'e' la teoria pura di D?
(b)
Fornire la definizione di regola derivabile.
Sia CL'
il sistema formale CL in cui, al posto delle regole (Congr1) e (Congr2)
ci sia la seguente regola:
M=N P=Q
----------------- (CONGR)
MP= NQ
DImostrare che sia (Congr1) che (Congr2) sono derivabili in CL'.
Ricordiamo tra gli assiomi di CL c'e quello di riflessivita' e che le regole di CL sono:
P = Q P = Q Q = R R = R' (PR) = (QR) R = R' (RP) = (RQ)
-------- (Symm) --------------- (Trans) --------------------- (Congr1) --------------------- (Congr2)
Q = P P = R (PR) = (QR') (RP) = (R'Q)
(c)
Dimostrare nel sistema di deduzione naturale per la logica del primo ordine che
∀ x.(A(x) → B(x)) ⊢ ¬ ( A(c) ∧ ¬B(c) )
dove c e' un simbolo di costante della segnatura.
Se nella deduzione proposta si utilizzano regole di inferenza che hanno vincoli di applicabilita',
descrivere tali vincoli e indicare perche' sono soddisfatti.
Esercizio 3
Descrivere un efficiente algoritmo di conversione da base 2 a base 8 e giustificarne formalmente la correttezza.