Fondamenti di Informatica, 3 Ottobre 2016

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.
  • Occorre essersi prenotati sul portale studenti del nostro ateneo. Se cio' non e' stato fatto, comunicarlo immediatamente al docente o all'assistente in aula ed indicarlo chiaramente sull'elaborato che si consegna.
  • I risultati verranno indicati nella pagina web del corso. Date ed orari degli orali, sul Forum.
  • Esercizio 1
    (a) Data una segnatura Σ per la logica dei predicati, definire cosa e' una struttura AΣ per Σ.

    (b) Si consideri la seguente segnatura per la logica dei predicati con uguaglianza (e con tutti i quantificatori e connettivi logici): {{z0, exp2},{Nat1, <2}}.
    Si consideri inoltre la struttura che abbia come supporto i numeri reali ed in cui il simbolo di funzione z venga interpretato con il numero 0, exp con la funzione di elevamento a potenza, il predicato Nat con il predicato essere un numero naturale e il predicato < con minore stretto.
    Si fornisca la formula ben formata la cui interpretazione in tale struttura corrisponda alla seguente affermazione.
    Siano a un numero reale non negativo e n un numero naturale.
    Allora esiste uno ed un solo numero reale non negativo b tale che b alla n e' uguale ad a


    (c) Fornire in deduzione naturale una derivazione per
    ∀x.(A(x)→B(x)), ∃x.¬B(x) |- ∃x.¬A(x)

    Esercizio 2
    (a) Sia G1 = {{a,b,c},{S,A,B},P,S} dove P = { S → AAdcc, S → bbScc, A → cc }
    Sia G2 = {{a,b},{S,A,B},P,S} dove P = { S → AAd, S → bbScc, aa → cAc }
    Sia G3 = {{a,b,c},{S,A,B},P,S} dove P = { S → AAaa, ccSaa → bbScc, A → cAc }
    Sia G4 = {{a,b,c},{S,A,B},P,S} dove P = { A → AAaa, B → bbScc, A → cBc }
    Dire se quelle sopra definite sono grammatiche di Chomsky. Dire eventualmente a quale classe di grammatiche appartengono. Giustificare le risposte. Risposte prive di giustificazione non verranno valutate.

    (b) Si consideri un insieme numerabile di simboli A e di dimostri che l'insieme delle stringhe di lunghezza finita di simboli di A e' un insieme numerabile. Lo si faccia descrivendo come sia possibile enumerare (cioe' come sia possibile costruire una lista infinita di) tutte e sole le strighe in questione.

    (c) Usare il metodo di Diagonalizzazione per dimostrare che ci sono funzioni calcolabili, da N in N, che non sono primitive ricorsive.

    Esercizio 3
    Definire formalmente il codice in complemento a due per i numeri interi.