La corrispondenza Curry-Howard
|
|
- Baldo Fiore
- 6 anni fa
- Visualizzazioni
Transcript
1 4 luglio 2009
2 Introduzione Logica e il paradigma proofs-as-programs (o formulae-as-types) da essa originatosi sono un importante esempio di transdisciplinarità, costituendo un notevole caso di interazione spontanea (scoperta a posteriori, non costruita ad hoc) tra due discipline scientifiche: LOGICA Teoria della dimostrazione Deduzione naturale INFORMATICA Teoria dei tipi λ-calcolo tipato
3 Introduzione Logica e il paradigma proofs-as-programs (o formulae-as-types) da essa originatosi sono un importante esempio di transdisciplinarità, costituendo un notevole caso di interazione spontanea (scoperta a posteriori, non costruita ad hoc) tra due discipline scientifiche: LOGICA Teoria della dimostrazione Deduzione naturale INFORMATICA Teoria dei tipi λ-calcolo tipato
4 Introduzione Logica e il paradigma proofs-as-programs (o formulae-as-types) da essa originatosi sono un importante esempio di transdisciplinarità, costituendo un notevole caso di interazione spontanea (scoperta a posteriori, non costruita ad hoc) tra due discipline scientifiche: LOGICA Teoria della dimostrazione Deduzione naturale INFORMATICA Teoria dei tipi λ-calcolo tipato
5 Contenuto Logica L interpretazione funzionale della logica La deduzione naturale 1 Logica L interpretazione funzionale della logica La deduzione naturale 2 Il λ-calcolo I sistemi di tipi 3
6 Denotazione e senso L interpretazione funzionale della logica La deduzione naturale Due diverse concezioni del significato dei connettivi logici: Realista (Tarski): il significato di un enunciato è dato dalle sue condizioni di verità l enunciato A B è vero quando se è vero A allora è vero B, cioè quando A è falso oppure B è vero (modelli semantica denotazione). Costruttivista (Heyting): il significato di un enunciato è dato dalle sue condizioni di asseribilità, cioè da cosa conta come una sua dimostrazione una dimostrazione di A B è una costruzione (ovvero, una funzione) che trasforma ogni dimostrazione di A in una dimostrazione di B (dimostrazioni sintassi senso).
7 Denotazione e senso L interpretazione funzionale della logica La deduzione naturale Due diverse concezioni del significato dei connettivi logici: Realista (Tarski): il significato di un enunciato è dato dalle sue condizioni di verità l enunciato A B è vero quando se è vero A allora è vero B, cioè quando A è falso oppure B è vero (modelli semantica denotazione). Costruttivista (Heyting): il significato di un enunciato è dato dalle sue condizioni di asseribilità, cioè da cosa conta come una sua dimostrazione una dimostrazione di A B è una costruzione (ovvero, una funzione) che trasforma ogni dimostrazione di A in una dimostrazione di B (dimostrazioni sintassi senso).
8 Estensione ed intensione L interpretazione funzionale della logica La deduzione naturale Il concetto di funzione, a sua volta, può essere inteso in due modi: Estensionale: una funzione f da A a B va identificata col suo grafo in senso insiemistico, cioè l insieme di tutte le coppie ordinate x, y dove x A e y = f (x) B. Intensionale: una funzione f da A a B è una regola (una procedura, un algoritmo, un programma) che prescrive una computazione da effettuare per ottenere f (x) da x, cioè che indica come trasformare un qualunque elemento di A in un elemento di B.
9 Estensione ed intensione L interpretazione funzionale della logica La deduzione naturale Il concetto di funzione, a sua volta, può essere inteso in due modi: Estensionale: una funzione f da A a B va identificata col suo grafo in senso insiemistico, cioè l insieme di tutte le coppie ordinate x, y dove x A e y = f (x) B. Intensionale: una funzione f da A a B è una regola (una procedura, un algoritmo, un programma) che prescrive una computazione da effettuare per ottenere f (x) da x, cioè che indica come trasformare un qualunque elemento di A in un elemento di B.
10 La deduzione naturale L interpretazione funzionale della logica La deduzione naturale L oggetto di studio della deduzione naturale (e del calcolo dei sequenti) sono le dimostrazioni e non solo la dimostrabilità. Nella deduzione naturale la regola di introduzione per un connettivo ne definisce il significato, mostrando quali sono le condizioni di asseribilità di un enunciato che ha quel connettivo come connettivo principale. La deduzione naturale è dunque il tipo si sistema logico maggiormente connesso con l interpretazione funzionale della logica, su cui si basa la corrispondenza Curry-Howard.
11 Il sistema NJ Logica L interpretazione funzionale della logica La deduzione naturale Il sistema di deduzione naturale NJ è dato dalle seguenti regole di inferenza: x A x. B A B I A B B A E Le dimostrazioni sono costruite a partire da assunzioni (etichettate dalle variabili x, y, z,... ) utilizzando le regole I e E. In un applicazione della regola I, tutte le assunzioni della forma A etichettate dalla variabile x vengono scaricate: la conclusione non dipende più da esse.
12 L interpretazione funzionale della logica La deduzione naturale Il sistema NJ S x : A A ASS Γ, x : A B I Γ A B Γ A B A E Γ, B Γ B Γ, x : A B W Γ, x : A, y : A B C Γ, z : A B Figura: Deduzione naturale in stile sequente
13 Normalizzazione Logica L interpretazione funzionale della logica La deduzione naturale La normalizzazione è la procedura che elimina certe deviazioni nelle dimostrazioni. Tali deviazioni consistono in applicazioni ridondanti di regole: tipicamente, l introduzione di un connettivo seguita immediatamente da un eliminazione di quello stesso connettivo. Le dimostrazioni normali hanno tutte la stessa forma (sono scomponibili in una parte analitica e in un a parte sintetica) e godono di importanti proprietà, tra cui la proprietà della sottoformula.
14 Regole di conversione L interpretazione funzionale della logica La deduzione naturale Una dimostrazione viene ridotta in forma normale mediante la ripetuta applicazione di certe regole di riscrittura, dette regole di conversione. Nel caso di NJ abbiamo quest unica regola: -conv: D 1 A A x D 2 B x I A B E B D 1 A D 2 B (la sottodimostrazione D 1 viene sostituita al posto di ognuna delle 0 o più occorrenze di A etichettate con x)
15 Contenuto Logica Il λ-calcolo I sistemi di tipi 1 Logica L interpretazione funzionale della logica La deduzione naturale 2 Il λ-calcolo I sistemi di tipi 3
16 Il λ-calcolo Logica Il λ-calcolo I sistemi di tipi Il λ-calcolo, nato come teoria generale delle funzioni, oggi è uno dei principali modelli di calcolo (insieme alla teoria della ricorsività e alle macchine di Turing), ovvero quegli insiemi di metodologie, modelli e teorie formali attraverso cui viene spiegato ed analizzato il concetto generale di computazione. Inoltre, grazie al suo misto di potenza espressiva e semplicità sintattica, esso funge da linguaggio paradigmatico di programmazione (soprattutto nel caso dei linguaggi di programmazione funzionale).
17 La λ-notazione Logica Il λ-calcolo I sistemi di tipi Gli oggetti studiati dal λ-calcolo sono i λ-termini, costruiti a partire da variabili mediante le seguenti operazioni: Astrazione: a partire dal termine t si può formare il termine λx. t astraendo dalla variabile x (di cui t contiene 0 o più occorrenze). Il termine λx. t rappresenta la funzione che, per ogni x, applicata a x dà come risultato t. Applicazione: a partire dai termini t e s si può formare il termine ts. Il termine ts rappresenta l applicazione della funzione t all argomento s.
18 La β-riduzione Logica Il λ-calcolo I sistemi di tipi La computazione (o β-riduzione) di un λ-termine ha luogo applicando ripetutamente ai suoi sottotermini della forma (λx. t)s (chiamati redex, ossia espressioni riducibili ) la seguente regola di riscrittura, detta regola di β-conversione: (λx. t)s t[s/x] Un passo di computazione dunque consiste semplicemente nella sostituzione dell argomento s al posto della variabile x nel corpo della funzione λx. t (cioè in t).
19 Programmare col λ-calcolo Il λ-calcolo I sistemi di tipi Per ogni n N, il numerale di Church n che rappresenta n è definito così: n λx. λy. x n y (t n s denota l applicazione di t a s iterata n volte). La funzione (il programma) che calcola il successore di un numerale di Church è definita così: Un esempio di computazione: succ λn. λx. λy. x(nxy) succ 1 succ λw. λz. wz λx. λy. x((λw. λz. wz)xy) λx. λy. x((λz. xz)y) λx. λy. x(xy) 2
20 Tipi di dati Logica Il λ-calcolo I sistemi di tipi Un tipo di dati è una classe di dati che hanno lo stesso comportamento computazionale. Per esempio, Int è il tipo degli interi, e Bool è il tipo dei booleani. Se A e B sono tipi, il tipo funzione A B rappresenta lo spazio delle funzioni da A a B. Così, Int Bool è il tipo di un programma che prende come input un intero e dà come output un booleano (per esempio il programma che calcola se un numero è primo oppure no). Il tipo di un programma ne costituisce dunque la specifica in un senso molto basilare. Questa permette di farlo interagire con altri programmi in modo coerente a prescindere dalla conoscenza del suo contenuto (il programma è un modulo, e il suo tipo è l interfaccia del modulo).
21 Il type-checking Logica Il λ-calcolo I sistemi di tipi Un sistema di tipi è una classificazione delle espressioni di un linguaggio di programmazione in base a tipi di dati, la quale serve a garantire che durante l esecuzione di un programma non si verifichino certi errori di natura molto basilare, gli errori di tipo. Essi avvengono quando si fanno interagire due programmi con tipi incompatibili (per esempio quando si usa l output di un programma di tipo Int Bool come input di un programma di tipo Int Int). Questo obiettivo è conseguito definendo delle regole di type-checking, che servono a calcolare i tipi delle espressioni che occorrono in un programma e a verificare che non ci siano delle discordanze tra essi.
22 Il λ-calcolo tipato Logica Il λ-calcolo I sistemi di tipi È possibile arricchire il λ-calcolo con un sistema di tipi, ottenendo il λ-calcolo tipato, in cui a ciascun λ-termine viene associato un tipo (scelto tra i tipi atomici e quelli formati a partire da questi mediante i costruttori di tipo, ad es. ). Un giudizio di tipo è un espressione della forma x 1 : A 1,..., x n : A n t : B Il suo significato è che, assumendo che le variabili x 1,..., x n (che eventualmente occorrono libere in t) siano rispettivamente di tipo A 1,..., A n, il λ-termine t è di tipo B. Una derivazione di tipo è una derivazione costruita mediante le regole di type-checking; essa corrisponde alla costruzione del λ-termine con cui si conclude, e all assegnazione a questo di un tipo conformemente con esse.
23 Il λ-calcolo I sistemi di tipi Il λ-calcolo tipato semplice λβ x : A x : A VAR Γ, x : A t : B Γ λx. t : A B ABS Γ t : A B s : A APP Γ, ts : B Γ t : B Γ, x : A t : B ENV-W Γ, x : A, y : A t : B Γ, z : A t[z/x, z/y] : B ENV-C Figura: Regole di type-checking per λβ
24 La β-riduzione in λβ Il λ-calcolo I sistemi di tipi La β-riduzione nel λ-calcolo tipato semplice è sostanzialmente immutata; ma ora può esser meglio analizzata come trasformazione delle derivazioni di tipo: β-conv: Γ, x : A D 1 t : B ABS λx. t : A B (λx. t)s : B D 2 s : A APP Γ, D 1 [D 2 /x] t[s/x] : B (la notazione D 1 [D 2 /x] rappresenta la derivazione D 1 in cui tutte le (eventuali) assunzioni etichettate con x sono state sostituite dalla derivazione D 2 avente conclusione s : A)
25 Contenuto Logica 1 Logica L interpretazione funzionale della logica La deduzione naturale 2 Il λ-calcolo I sistemi di tipi 3
26 Nascita della corrispondenza Curry-Howard si articola, sia concettualmente che storicamente, nei seguenti quattro punti: 1 Interpretazione funzionale della logica, o interpretazione BHK (Brouwer-Heyting-Kolmogorov). 2 Corrispondenza tra formule e tipi (logica combinatoria di Curry; interpretazione Dialectica di Gödel). 3 Corrispondenza tra eliminazione del taglio (normalizzazione) e β-riduzione (Tait). 4 Corrispondenza tra dimostrazioni e λ-termini (Howard). La corrispondenza che sussiste non solo tra dimostrazioni e λ-termini, ma anche tra le operazioni che si possono svolgere su di essi (normalizzazione e β-riduzione), permette di individuare un vero e proprio isomorfismo:
27 Nascita della corrispondenza Curry-Howard si articola, sia concettualmente che storicamente, nei seguenti quattro punti: 1 Interpretazione funzionale della logica, o interpretazione BHK (Brouwer-Heyting-Kolmogorov). 2 Corrispondenza tra formule e tipi (logica combinatoria di Curry; interpretazione Dialectica di Gödel). 3 Corrispondenza tra eliminazione del taglio (normalizzazione) e β-riduzione (Tait). 4 Corrispondenza tra dimostrazioni e λ-termini (Howard). La corrispondenza che sussiste non solo tra dimostrazioni e λ-termini, ma anche tra le operazioni che si possono svolgere su di essi (normalizzazione e β-riduzione), permette di individuare un vero e proprio isomorfismo:
28 Nascita della corrispondenza Curry-Howard si articola, sia concettualmente che storicamente, nei seguenti quattro punti: 1 Interpretazione funzionale della logica, o interpretazione BHK (Brouwer-Heyting-Kolmogorov). 2 Corrispondenza tra formule e tipi (logica combinatoria di Curry; interpretazione Dialectica di Gödel). 3 Corrispondenza tra eliminazione del taglio (normalizzazione) e β-riduzione (Tait). 4 Corrispondenza tra dimostrazioni e λ-termini (Howard). La corrispondenza che sussiste non solo tra dimostrazioni e λ-termini, ma anche tra le operazioni che si possono svolgere su di essi (normalizzazione e β-riduzione), permette di individuare un vero e proprio isomorfismo:
29 Nascita della corrispondenza Curry-Howard si articola, sia concettualmente che storicamente, nei seguenti quattro punti: 1 Interpretazione funzionale della logica, o interpretazione BHK (Brouwer-Heyting-Kolmogorov). 2 Corrispondenza tra formule e tipi (logica combinatoria di Curry; interpretazione Dialectica di Gödel). 3 Corrispondenza tra eliminazione del taglio (normalizzazione) e β-riduzione (Tait). 4 Corrispondenza tra dimostrazioni e λ-termini (Howard). La corrispondenza che sussiste non solo tra dimostrazioni e λ-termini, ma anche tra le operazioni che si possono svolgere su di essi (normalizzazione e β-riduzione), permette di individuare un vero e proprio isomorfismo:
30 Nascita della corrispondenza Curry-Howard si articola, sia concettualmente che storicamente, nei seguenti quattro punti: 1 Interpretazione funzionale della logica, o interpretazione BHK (Brouwer-Heyting-Kolmogorov). 2 Corrispondenza tra formule e tipi (logica combinatoria di Curry; interpretazione Dialectica di Gödel). 3 Corrispondenza tra eliminazione del taglio (normalizzazione) e β-riduzione (Tait). 4 Corrispondenza tra dimostrazioni e λ-termini (Howard). La corrispondenza che sussiste non solo tra dimostrazioni e λ-termini, ma anche tra le operazioni che si possono svolgere su di essi (normalizzazione e β-riduzione), permette di individuare un vero e proprio isomorfismo:
31 Nascita della corrispondenza Curry-Howard si articola, sia concettualmente che storicamente, nei seguenti quattro punti: 1 Interpretazione funzionale della logica, o interpretazione BHK (Brouwer-Heyting-Kolmogorov). 2 Corrispondenza tra formule e tipi (logica combinatoria di Curry; interpretazione Dialectica di Gödel). 3 Corrispondenza tra eliminazione del taglio (normalizzazione) e β-riduzione (Tait). 4 Corrispondenza tra dimostrazioni e λ-termini (Howard). La corrispondenza che sussiste non solo tra dimostrazioni e λ-termini, ma anche tra le operazioni che si possono svolgere su di essi (normalizzazione e β-riduzione), permette di individuare un vero e proprio isomorfismo:
32 L isomorfismo Curry-Howard DEDUZIONE NATURALE λ-calcolo TIPATO formule dimostrazioni normalizzazione tipi λ-termini β-riduzione
33 L isomorfismo Curry-Howard DEDUZIONE NATURALE λ-calcolo TIPATO formule dimostrazioni normalizzazione tipi λ-termini β-riduzione
34 L isomorfismo Curry-Howard DEDUZIONE NATURALE λ-calcolo TIPATO formule dimostrazioni normalizzazione tipi λ-termini β-riduzione
35 L isomorfismo Curry-Howard DEDUZIONE NATURALE λ-calcolo TIPATO formule dimostrazioni normalizzazione tipi λ-termini β-riduzione
36 La decorazione: dalle regole di NJ... x : A A ASS Γ, x : A B Γ A B I Γ A B A E Γ, B Γ B Γ, x : A B W Γ, x : A, y : A B Γ, z : A B C Figura: Il sistema NJ S
37 ... alle regole di type-checking per λβ x : A x : A ASS Γ, x : A t : B Γ λx. t : A B I Γ t : A B s : A E Γ, ts : B Γ t : B Γ, x : A t : B W Γ, x : A, y : A t : B Γ, z : A t[z/x, z/y] : B C Figura: Sistema di assegnazione di termini per NJ S
38 Curry-Howard: importanza pratica Il paradigma proofs-as-programs permette una fruttuosa interazione tra logica e informatica (teorica), consistente nello scambio di risultati e metodi tra le due discipline: Sul versante della logica, ha fatto sì che essa venisse studiata sempre di più con gli strumenti della semantica denotazionale e della teoria delle categorie. In particolare, la semantica denotazionale (la quale modellizza il concetto di dimostrazione e non solo quello di dimostrabilità) è alla base della nascita della logica lineare. Sul versante dell informatica, ha comportato un maggior rigore nella progettazione dei linguaggi di programmazione, dovuto al fatto che questa è sempre più guidata da un sistema logico sottostante. Inoltre, alcune tra le proprietà fondamentali dei linguaggi di programmazione (per esempio, la loro complessità computazionale) possono essere studiate come proprietà dei sistemi logici corrispondenti.
39 Curry-Howard: importanza pratica Il paradigma proofs-as-programs permette una fruttuosa interazione tra logica e informatica (teorica), consistente nello scambio di risultati e metodi tra le due discipline: Sul versante della logica, ha fatto sì che essa venisse studiata sempre di più con gli strumenti della semantica denotazionale e della teoria delle categorie. In particolare, la semantica denotazionale (la quale modellizza il concetto di dimostrazione e non solo quello di dimostrabilità) è alla base della nascita della logica lineare. Sul versante dell informatica, ha comportato un maggior rigore nella progettazione dei linguaggi di programmazione, dovuto al fatto che questa è sempre più guidata da un sistema logico sottostante. Inoltre, alcune tra le proprietà fondamentali dei linguaggi di programmazione (per esempio, la loro complessità computazionale) possono essere studiate come proprietà dei sistemi logici corrispondenti.
40 Curry-Howard: importanza pratica Il paradigma proofs-as-programs permette una fruttuosa interazione tra logica e informatica (teorica), consistente nello scambio di risultati e metodi tra le due discipline: Sul versante della logica, ha fatto sì che essa venisse studiata sempre di più con gli strumenti della semantica denotazionale e della teoria delle categorie. In particolare, la semantica denotazionale (la quale modellizza il concetto di dimostrazione e non solo quello di dimostrabilità) è alla base della nascita della logica lineare. Sul versante dell informatica, ha comportato un maggior rigore nella progettazione dei linguaggi di programmazione, dovuto al fatto che questa è sempre più guidata da un sistema logico sottostante. Inoltre, alcune tra le proprietà fondamentali dei linguaggi di programmazione (per esempio, la loro complessità computazionale) possono essere studiate come proprietà dei sistemi logici corrispondenti.
41 Curry-Howard: rilevanza filosofica 1 I sistemi logici a bassa complessità (tra cui principalmente le logiche leggere, tutte basate sulla logica lineare) permettono di dare una caratterizzazione puramente logica, attraverso la corrispondenza Curry-Howard, di alcune classi di complessità tra cui la classe P dei problemi algoritmici risolvibili in tempo polinomiale (ovvero in modo efficiente) La nostra via via maggiore comprensione della classe P ci avvicina alla soluzione di uno dei più affascinanti problemi del millennio, il problema P? = NP La soluzione di questo problema è strettamente collegata alla realizzabilità di una versione limitata del programma di Hilbert (cfr. lettera di Gödel a Von Neumann, 1956).
42 Curry-Howard: rilevanza filosofica 1 I sistemi logici a bassa complessità (tra cui principalmente le logiche leggere, tutte basate sulla logica lineare) permettono di dare una caratterizzazione puramente logica, attraverso la corrispondenza Curry-Howard, di alcune classi di complessità tra cui la classe P dei problemi algoritmici risolvibili in tempo polinomiale (ovvero in modo efficiente) La nostra via via maggiore comprensione della classe P ci avvicina alla soluzione di uno dei più affascinanti problemi del millennio, il problema P? = NP La soluzione di questo problema è strettamente collegata alla realizzabilità di una versione limitata del programma di Hilbert (cfr. lettera di Gödel a Von Neumann, 1956).
43 Curry-Howard: rilevanza filosofica 1 I sistemi logici a bassa complessità (tra cui principalmente le logiche leggere, tutte basate sulla logica lineare) permettono di dare una caratterizzazione puramente logica, attraverso la corrispondenza Curry-Howard, di alcune classi di complessità tra cui la classe P dei problemi algoritmici risolvibili in tempo polinomiale (ovvero in modo efficiente) La nostra via via maggiore comprensione della classe P ci avvicina alla soluzione di uno dei più affascinanti problemi del millennio, il problema P? = NP La soluzione di questo problema è strettamente collegata alla realizzabilità di una versione limitata del programma di Hilbert (cfr. lettera di Gödel a Von Neumann, 1956).
44 Bibliografia Logica [1] Jean Gallier. Constructive logics Part I: A tutorial on proof systems and typed -calculi. Theoretical Computer Science, 110: , [2] Jean-Yves Girard, Paul Taylor, e Yves Lafont. Proofs and types. Cambridge University Press, [3] Benjamin C. Pierce. Types and Programming Languages. The MIT Press, [4] Steven Rudich. Complexity Theory: From Gödel to Feynman. In Computational Complexity. A cura di Steven Rudich e Avi Wigderson. American Mathematical Society, [5] Philip Wadler. Proofs are Programs: 19th Century Logic and 21st Century Computing. Reperibile su
Aspetti computazionali della logica lineare
Proof-nets, λ-calcolo e complessità computazionale implicita 26 febbraio 2009 Relatore: Prof. Stefano Guerrini Correlatore: Prof.ssa Adele Morrone Contenuto Introduzione 1 Introduzione 2 Corrispondenza
DettagliDimostrazioni e programmi come oggetti geometrici. Simone Martini
Dimostrazioni e programmi come oggetti geometrici Simone Martini Dipartimento di Scienze dell Informazione Alma Mater Studiorum Università di Bologna 1 Dimostrazioni alla Hilbert Assiomi, che caratterizzano
DettagliLogica proposizionale
Definire un linguaggio formale Logica proposizionale Sandro Zucchi 2013-14 Definiamo un linguaggio formale LP (che appartiene a una classe di linguaggi detti linguaggi della logica proposizionale) Per
DettagliLogica proposizionale
Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite
DettagliValutazione Lazy. Prefazione alla lezione
Valutazione Lazy Aniello Murano Università degli Studi di Napoli Federico II 1 Prefazione alla lezione Nella lezione precedente abbiamo introdotto i linguaggi (funzionali) con tipi di ordine superiore.
DettagliProposizioni e verità
Proposizioni e verità Claudia Casadio Logica e Psicologia del Pensiero Laurea Triennale - Parte Istituzionale A.A. 2007-08 Contents 1 Proposizione.......................................... 3 2 Verità...............................................
DettagliLogica per la Programmazione
Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 8 Modelli, Formule Valide, Conseguenza Logica Proof Systems Regole di inferenza per Calcolo Proposizionale
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
DettagliNovember 13, sta ad indicare che la formula B dipende dalle assunzioni occorrenti nell insieme X.
DEDUZIONE NTURLE November 3, 2006 Le regole di inferenza consistono di regole di introduzione (I) e regole di eliminazione (E) per ogni costante logica e per il simbolo del falso, se occorre nel linguaggio.
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
DettagliLuca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1
Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la corrispondente
DettagliLinguaggi di programmazione e astrazione
Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo
DettagliLogica: materiale didattico
Logica: materiale didattico M. Cialdea Mayer. Logica (dispense): http://cialdea.dia.uniroma3.it/teaching/logica/materiale/dispense-logica.pdf Logica dei Predicati (Logica per l Informatica) 01: Logica
DettagliIl Pensiero Computazionale: dai Concetti Generali alla Programmazione Software
Il Pensiero Computazionale: dai Concetti Generali alla Programmazione Software Prof. Marco Bernardo Università di Urbino Dipartimento di Scienze Pure e Applicate Sezione di Scienze e Tecnologie dell Informazione
DettagliSilvia Crafa
Introduzione ai Sistemi di Tipi Silvia Crafa silvia@dsi.unive.it Come nascono i tipi in informatica Cos è un tipo? Perché servono i tipi nei linguaggi di programmazione? Vediamo come nascono i tipi partendo
DettagliRagionamento Automatico Calcolo dei Sequenti. Lezione 5 Ragionamento Automatico Carlucci Aiello, 2004/05 Lezione 5 0. Il calcolo dei sequenti
Il calcolo dei sequenti Ragionamento Automatico Calcolo dei Sequenti Materiale cartaceo distribuito in aula Il calcolo dei sequenti nella logica proposizionale Il calcolo dei sequenti nella logica predicativa
DettagliSistemi di tipo e analisi statica
Sistemi di tipo 1 Sistemi di tipo e analisi statica le tecniche di analisi statica approssimano (a tempo di compilazione) il comportamento di un programma (a tempo di esecuzione) con l obiettivo di scoprire
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
Dettaglimio indirizzo 1 Sarò lieto di ricevere commenti o segnalazioni di errori presso il
INTRODUZIONE Purtroppo questo libro è rappresentato molto più dal sottotitolo che dal titolo. Infatti è una semplice trascrizione di miei appunti per vari corsi di logica che ho tenuto in passato all Università
DettagliLa matematica intuizionista
La matematica intuizionista Francesco Paoli Filosofia della scienza, 2016-17 Francesco Paoli (Filosofia della scienza, 2016-17) La matematica intuizionista 1 / 14 Henri Poincaré (1854-1912) Francesco Paoli
DettagliC1: L C1 C2: L C2 C: C1 C2
Abbiamo visto Gli agenti logici applicano inferenze a una base di conoscenza per derivare nuove informazioni. Concetti base della logica: sintassi: struttura formale delle sentenze semantica: verita` di
DettagliIntroduzione alla Programmazione Funzionale
Introduzione alla Programmazione Funzionale April 27, 2017 Paradigmi di Programmazione Programmi sviluppabili usando diversi paradigmi Imperativo: computazione come modifica di stato Funzionale: computazione
DettagliIntelligenza Artificiale. Logica proposizionale: calcolo automatico
Intelligenza Artificiale Logica proposizionale: calcolo automatico Marco Piastra Logica formale (Parte 3) - Parte 3 Calcolo automatico Forme normali ed a clausole Risoluzione e refutazione Forward chaining
DettagliParole note, nuovi significati: linguaggio, determinismo e infinito
Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico
DettagliIntroduzione alla logica
Corso di Intelligenza Artificiale 2011/12 Introduzione alla logica iola Schiaffonati Dipartimento di Elettronica e Informazione Sommario 2 Logica proposizionale (logica di Boole) Logica del primo ordine
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 Linguaggi e Complessità : Lezione 1 Corso Fondamenti di Informatica 2 Marco Schaerf, 2009-2010 Linguaggi e Complessità : Lezione 1 1 Logica proposizionale Linguaggio matematico
DettagliUNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE
UNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE TAVOLE DI VERITÀ, COLETEZZA VERO-FUNZIONALE Esercizio 1. Calcola le tavole
DettagliLOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)
LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema
DettagliLogica proposizionale
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Logica proposizionale Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli
DettagliLogiche devianti e logiche substrutturali: aspetti filosofici. C. Dalla Pozza (Università di Lecce)
Logiche devianti e logiche substrutturali: aspetti filosofici C. Dalla Pozza (Università di Lecce) [Tra quadre i commenti: presentiamo qui lo schema della conferenza di Carlo Dalla Pozza. E' possibile
DettagliMacchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29
Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliSemantica dei giochi
Semantica dei linguaggi, analisi dei programmi e verifica Semantica dei giochi DI MAURO PICCOLO mrpiccol@studenti.math.unipd.it Introduzione: La semantica formale dei linguaggi di programmazione e un area
DettagliCALCOLO PROPOSIZIONALE
CALCOLO PROPOSIZIONALE UN PROBLEMA DI DEDUZIONE LOGICA (da un test d ingresso) Tre amici, Antonio, Bruno e Corrado, sono incerti se andare al cinema. Si sa che: Se Corrado va al cinema, allora ci va anche
DettagliVerifica di programmi
Verifica di programmi Informalmente, un programma è corretto se l output prodotto è quello atteso rispetto all input. La correttezza dei programmi può essere espressa mediante formule per la correttezza
DettagliFondamenti di Programmazione
Fondamenti di Programmazione (con linguaggio di riferimento C++) Gianfranco Rossi Università di Parma Dip. di Matematica e Informatica 43100 Parma (Italy) gianfranco.rossi@unipr.it Indice 1 Introduzione
DettagliIntroduzione ad alcuni sistemi di logica modale
Introduzione ad alcuni sistemi di logica modale Laura Porro 16 maggio 2008 1 Il calcolo proposizionale Prendiamo come primitivi i simboli del Calcolo Proposizionale (PC) tradizionale a due valori 1 : un
DettagliSommario Codifica dei dati Macchina Astratta Definizioni Esempi
Sommario Codifica dei dati Macchina Astratta Definizioni Esempi 1 2 Codifica dei dati È possibile introdurre la teoria della computabilità facendo riferimento ad algoritmi che elaborano numeri naturali
DettagliMaiuscole e minuscole
Maiuscole e minuscole Abilità interessate Distinguere tra processi induttivi e processi deduttivi. Comprendere il ruolo e le caratteristiche di un sistema assiomatico. Riconoscere aspetti sintattici e
DettagliIn passato, occuparsi di informatica era sinonimo di programmare computer
Programmare =? In passato, occuparsi di informatica era sinonimo di programmare computer attività poco stimolante, atto finale di un processo dove le fasi creative - analisi e progetto - sono già avvenute
DettagliCapitolo 8: Teoria della complessitá
Capitolo 8: Teoria della complessitá 1 La Teoria della calcolabilitá considera aspetti qualitativi della soluzione di problemi. Distingue il calcolabile dal non calcolabile. La Teoria della complessitá
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliLOGICA DEL PRIMO ORDINE: PROOF SYSTEM. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini
LOGICA DEL PRIMO ORDINE: PROOF SYSTEM Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini LOGICA DEL PRIMO ORDINE: RIASSUNTO Sintassi: grammatica libera da contesto (BNF), parametrica rispetto
DettagliLe aree dell informatica
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliEspressività e limitazioni delle grammatiche regolari
Espressività e limitazioni delle grammatiche regolari Vantaggi: Le grammatiche regolari consentono di esprimere una significativa classe di linguaggi: linguaggi con un numero di sequenze infinito grazie
DettagliLambda Calcolo. Luca Abeni. May 16, 2017
Lambda Calcolo May 16, 2017 Lambda? (λ!) Definizione di funzione: sintassi differente rispetto ad applicazione In ML, fn x => e x: identificatore per il parametro formale e: espressione (sperabilmente
DettagliELEMENTI DI LOGICA PER IL CORSO DI LAUREA IN MATEMATICA. Prof. Giangiacomo Gerla Dipartimento di Matematica ed Informatica. Università di Salerno
ELEMENTI DI LOGICA PER IL CORSO DI LAUREA IN MATEMATICA Prof. Giangiacomo Gerla Dipartimento di Matematica ed Informatica Università di Salerno gerla@unisa.it II INTRODUZIONE Sotto il termine di logica
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliOrganizzazione strutturata
Organizzazione strutturata Evoluzione storica a.a. 2002-03 L. Borrelli 1 Complessità dei Sistemi di Elaborazione Caratteristica dei Sistemi di Elaborazione: Complessità Per trattare sistemi complessi è
DettagliRagionamento Automatico Richiami di calcolo dei predicati
Richiami di logica del primo ordine Ragionamento Automatico Richiami di calcolo dei predicati (SLL: Capitolo 7) Sintassi Semantica Lezione 2 Ragionamento Automatico Carlucci Aiello, 2004/05Lezione 2 0
DettagliInformatica e Comunicazione Digitale Crediti formativi 9. No, ma la frequenza è fortemente consigliata Lingua di erogazione
Principali informazioni sull insegnamento Titolo insegnamento Linguaggi di Programmazione Corso di studio Informatica e Comunicazione Digitale Crediti formativi 9 Denominazione inglese Programming Languages
DettagliLe aree dell informatica
Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 6 Logica del Primo Ordine Motivazioni Sintassi Interpretazioni Formalizzazione pag. 1 Limiti del Calcolo Proposizionale Nella formalizzazione di enunciati dichiarativi,
DettagliDispensa di Informatica II.1
ALGORITMI La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la realizzazione di algoritmi che poi potranno eventualmente essere sviluppati in moduli software con metodologia
DettagliLinguaggi e Ambienti di Programmazione
Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi
DettagliLogica per la Programmazione
Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 7 Formule Valide, Conseguenza Logica Proof System per la Logica del Primo Ordine Leggi per i Quantificatori
DettagliDalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliUna (brevissima) introduzione alla logica lineare Relazione per il seminario Selp del
Una (brevissima) introduzione alla logica lineare Relazione per il seminario Selp del 12-06-09 Paolo Pistone 1 L' inazione dei connettivi Che dierenza c'è tra un enunciato della vita pratica come Con un
DettagliUniversità di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali
Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica (classe 23/S: Informatica) Corso di Laurea Specialistica in Tecnologie Informatiche (classe 23/S: Informatica)
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliSemantica proposizionale. Unit 2, Lez 3 e 4 Corso di Logica
Semantica proposizionale Unit 2, Lez 3 e 4 Corso di Logica Sommario Semantica dei connettivi Costruzione delle tavole di verità Tautologie, contraddizioni e contingenze Semantica delle forme argomentative
DettagliInformatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione
Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3
DettagliCalcolo dei sequenti I. Introduzione.
Calcolo dei sequenti I. Introduzione. giovanni.casini@gmail.com 5 Maggio 2009 Introduzione Il calcolo dei sequenti è stato introdotto nel 1935 da Gerhard Gentzen in Untersuchungen über das logische Schliessen
DettagliStudio degli algoritmi
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi
DettagliCalcolo di equilibri auto-confermanti
Calcolo di equilibri auto-confermanti nei giochi in forma estesa con due giocatori Fabio Panozzo Politecnico di Milano 3 maggio 2010 Fabio Panozzo (Politecnico di Milano) Calcolo di equilibri auto-confermanti
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 2 Alberto Ceselli alberto.ceselli@unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 09 Marzo 2010 Controlli automatici
DettagliConcetti di base sugli automi e sui linguaggi formali
Concetti di base sugli automi e sui linguaggi formali Andrea Burattin 18 marzo 2005 Sommario Piccolo insieme di concetti sul funzionamento degli automi (a stati finiti, a pila,...), delle grammatiche libere
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 6 Logica del Primo Ordine Motivazioni Sintassi Interpretazioni Formalizzazione A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2015/16 pag.
DettagliInformatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione
Informatica 3 Informatica 3 LEZIONE 1: Introduzione Lezione 1- Modulo 1 Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Introduzione al corso Politecnico di Milano - Prof. Sara Comai
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliCorso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota
Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi
DettagliLogica proposizionale classica. Studia il comportamento dei connettivi proposizionali quali ( And ) e ( Or )
Logica proposizionale classica Studia il comportamento dei connettivi proposizionali quali ( And ) e ( Or ) Parte da una famiglia di enunciati atomici di cui non analizziamo la struttura interna, che rappresentiamo
DettagliLOGICA DEL PRIMO ORDINE: MOTIVAZIONI, SINTASSI E INTERPRETAZIONI. Corso di Logica per la Programmazione A.A Andrea Corradini
LOGICA DEL PRIMO ORDINE: MOTIVAZIONI, SINTASSI E INTERPRETAZIONI Corso di Logica per la Programmazione A.A. 2013 Andrea Corradini LIMITI DEL CALCOLO PROPOSIZIONALE Nella formalizzazione di enunciati dichiarativi,
DettagliAlcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica
Alcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica Raccolti e curati da Luca Spada Indice 1 Temi 1 1.1 Logica Matematica.......................... 1 1.2
DettagliRISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine
RISOLUZIONE IN LOGICA PROPOSIZIONALE Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine 1. Risoluzione Definitione 1.1. Un letterale l è una variabile proposizionale (letterale
DettagliLogiche descrittive Le logiche descrittive sono una famiglia di formalismi per la rappresentazione della conoscenza (KR) che descrivono ciò che è
Logiche descrittive Le logiche descrittive sono una famiglia di formalismi per la rappresentazione della conoscenza (KR) che descrivono ciò che è noto in un dominio di applicazione definendo i concetti
DettagliAlgoritmi e Strutture Dati
Introduzione al Corso Maria Rita Di Berardini (Camerino), Emanuela Merelli (Ascoli) 1 1 Scuola di Scienze e Tecnologie - Sezione di Informatica Università di Camerino Parte I Il concetto di Algoritmo Il
DettagliELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI
ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
DettagliProgrammazione Funzionale
Introduzione alla programmazione in un Programmazione Funzionale linguaggio funzionale Objective Caml di alto livello: un programma è una funzione; di tipo dichiarativo: il programmatore specifica che
DettagliCalcoli dei sequenti classici e lineare
Calcoli dei sequenti classici e lineare Gianluigi Bellin November 5, 2009 Scheda per il compito 2, scadenza rinviata al marteedì 10 novembre 2009 1 Calcolo dei sequenti classico 1.1 Linguaggio ed interpretazione
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliMETODI MATEMATICI PER L INFORMATICA
METODI MATEMATICI PER L INFORMATICA Tutorato Lezione 2 17/03/2016 Corso per matricole congrue a 1 Docente: Margherita Napoli Tutor: Amedeo Leo Applicazioni della logica proposizionale La logica ha una
DettagliIntroduzione al Corso di Verifica Automatica dei Sistemi: Teoria e Applicazioni
Introduzione al Corso di Verifica Automatica Anno Accademico 2010/11 1 Introduzione al Corso di Verifica Automatica dei Sistemi: Teoria e Applicazioni Angelo Montanari Dipartimento di Matematica e Informatica
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il
DettagliFondamenti d Informatica: linguaggi formali. Barbara Re, Phd
Fondamenti d Informatica: linguaggi formali Barbara Re, Phd Agenda } Introdurremo } La nozione di linguaggio } Strumenti per definire un linguaggio } Espressioni Regolari 2 Linguaggio } Da un punto di
DettagliPROGRAMMA PREVENTIVO
Settore Servizi Scolastici e Educativi PAGINA: 1 PROGRAMMA PREVENTIVO A.S. 2015/16 SCUOLA LICEO LINGUISTICO A. MANZONI DOCENTE: C. FRESCURA MATERIA: MATEMATICA Classe 5 Sezione B FINALITÀ DELLA DISCIPLINA
DettagliMarta Capiluppi Dipartimento di Informatica Università di Verona
Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona Algebra di Boole Opera con i soli valori di verità 0 o 1 (variabili booleane o logiche) L'algebra booleana risulta
DettagliLogica e Informatica: cosa i calcolatori possono e non possono fare. Simone Martini
Logica e Informatica: cosa i calcolatori possono e non possono fare Simone Martini Dipartimento di Scienze dell Informazione Alma Mater Studiorum Università di Bologna 1 io Simone Martini Professore di
DettagliCorso di Linguaggi e Traduttori 1 AA GRAMMATICHE
Corso di Linguaggi e Traduttori 1 AA 2004-05 GRAMMATICHE 1 Definizione di Grammatica Formalmente definiamo un grammatica G mediante una quadrupla V, V, P S ( ) N T, dove: V N e l insieme dei simboli non
DettagliEsercitazioni per il corso di Logica Matematica
Esercitazioni per il corso di Logica Matematica Luca Motto Ros 02 marzo 2005 Nota importante. Queste pagine contengono appunti personali dell esercitatore e sono messe a disposizione nel caso possano risultare
DettagliCALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini
CALCOLO PROPOSIZIONALE Corso di Logica per la Programmazione Andrea Corradini andrea@di.unipi.it UN PROBLEMA DI DEDUZIONE LOGICA (da un test d ingresso) Tre amici, Antonio, Bruno e Corrado, sono incerti
DettagliFondamenti d Informatica: Linguaggio While. Barbara Re, Phd
Fondamenti d Informatica: Linguaggio While Barbara Re, Phd Il linguaggio WHILE } La computabilità come supporto ai moderni linguaggi di programmazione } Si può generalizzare rispetto ad una vasta famiglia
DettagliEsercizi di logica. Ivan Valbusa 5 dicembre 2012
Esercizi di logica Ivan Valbusa 5 dicembre 2012 Gli esercizi proposti di seguito coprono solo una piccola parte del programma del corso. Sono mediamente più difficili di quelli presenti sul manuale di
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliPROGRAMMA CONSUNTIVO
PAGINA: 1 PROGRAMMA CONSUNTIVO A.S.2014-2015 SCUOLA Liceo Linguistico Manzoni DOCENTE: Marina Barbàra MATERIA: Matematica e Informatica Classe 1 Sezione A OBIETTIVI: le parti sottolineate sono da considerarsi
DettagliModelli e Metodi per la Simulazione (MMS)
Modelli e Metodi per la Simulazione (MMS) adacher@dia.uniroma3.it Programma La simulazione ad eventi discreti, è una metodologia fondamentale per la valutazione delle prestazioni di sistemi complessi (di
Dettagli