Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Riassunto Logica e Algebra, Sintesi del corso di Elementi di Informatica

Appunti logica e algebra, sulla logica del primo ordine e sulle strutture algebriche, più delle istruzioni per spass

Tipologia: Sintesi del corso

2011/2012

Caricato il 27/06/2012

andrea1990
andrea1990 🇮🇹

4.6

(5)

5 documenti

1 / 2

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
LOGICA DEL 1° ORDINE
Connettivi e quantificatori: ~(not), (and), (or), x, x, , ;
- Campo di azione è la sottoformula a cui si riferisce un determinato quantificatore.
- Un’occorrenza di una variabile x è libera se non è nel campo di azione di quantificatori che quantifichino x, altrimenti si dice vincolata.
- Un termine t si dice libero per una variabile x in una formula A se nessuna occorrenza libera di x in A cade nel campo d’azione di un
quantificatore che quantifichi una variabile che compare in t.
- Una formula in cui non ci sono occorrenze libere di variabili si dice chiusa, data una formula A se ne può fare la chiusura (universale) facendo
precedere A da quantificatori universali che quantifichino le variabili che in A hanno occorrenze libere, mentre la chiusura (esistenziale) di A si
ottiene facendo precedere A da quantificatori esistenziali che quantifichino le variabili che in A hanno occorrenze libere.
- interpretazione: un’interpretazione è una coppia <D,I> dove D è un insieme detto dominio e I è formata da tre leggi I1, I2, I3 che associano
rispettivamente ad ogni costante un elemento di D, ad ogni lettera funzionale con apice n un’operazione di arità n su D, ad ogni lettera
predicativa con apice n una relazione di arità n su D.
- Validità degli assegnamenti:
o se la formula A è del tipo ~B , l'assegnamento s soddisfa A se e solo se s non soddisfa B;
o se la formula A è del tipo B C , l'assegnamento s soddisfa A se e solo se s soddisfa sia B sia C;
o se la formula A è del tipo B C , l'assegnamento s soddisfa A se e solo se s soddisfa una almeno delle formule B e C ;
o se la formula A è del tipo B C , l'assegnamento s soddisfa A se e solo se s o non soddisfa B o soddisfa C ;
o se la formula A è del tipo B C , l'assegnamento s soddisfa A se e solo se s soddisfa sia B sia C o s non soddisfa né B né C ;
o se la formula A è del tipo x B , l'assegnamento s soddisfa A se e solo ogni assegnamento s’ che si differenzia da s al più per il valore
assegnato ad x soddisfa B ;
o se la formula A è del tipo x B, l'assegnamento s soddisfa A se e solo esiste un assegnamento s’ che si differenzia da quello dato al più
per il valore assegnato ad x che soddisfa B.
- Dati un linguaggio del 1° ordine, una sua una interpretazione ed una f.b.f A, A si dice soddisfacibile in quella interpretazione se esiste un
assegnamento di valori alle variabili che soddisfa la f.b.f A;
o A si dice vera in quella interpretazione se ogni assegnamento di valori alle variabili soddisfa la f.b.f A;
o A si dice falsa (o insoddisfacibile) in quella interpretazione se nessun assegnamento di valori alle variabili soddisfa la f.b.f A ;
La f.b.f A si dice (logicamente) valida (|=A) se è vera in ogni interpretazione.
La f.b.f A si dice insoddisfacibile (o logicamente contraddittoria) se è falsa in ogni interpretazione.
- Una formula si dice esempio di tautologia se è ottenuta da una tautologia sostituendo formule del primo ordine alle lettere enunciative della
tautologia. Un esempio di tautologia è sempre una formula logicamente valida.
- Sia Γ un insieme di f.b.f.
o La terna <D, I, s> è un modello per Γ se e solo se è un modello per ogni formula in Γ;
o Una f.b.f. A è conseguenza semantica di Γ (Γ|=A) se ogni modello di Γ è modello di A;
o Sia Γ = ΔU {B}. Γ|=A se e solo se Δ|=B A.
- Due formule si dicono semanticamente equivalenti se in ogni interpretazione sono soddisfatte dagli stessi assegnamenti di valori alle variabili.
- Si dice in forma normale prenessa una formula in cui tutti i quantificatori sono posti in testa. A[y/x] = A[x] in cui le occorrenze libere di x sono
sostituite da y
o ¬x A è equivalente a x ¬A
o ¬x A è equivalente a x ¬A
o ( x A( x ))B è equivalente a y( A[ y / x ]B )
o ( x A( x ))B è equivalente a y (A[ y / x ]B )
o B( x A( x )) è equivalente a y (BA[ y / x ] )
o B( x A( x )) è equivalente a y(B A[ y / x] )
Inoltre, se A(x) è una formula con occorrenze libere di x ed y è una variabile tale che il termine y sia libero per x in A(x), indichiamo con A[y / x]
la formula ottenuta sostituendo in A(x) ogni occorrenza libera di x con y. Allora detta B una qualunque f.b.f. , detta y una variabile che non
abbia occorrenze libere in B e tale che il termine y sia libero per x in A(x) abbiamo
- Una formula si dice in forma di Skolem se e in forma normale prenessa e senza quantificatori esistenziali.
o portare A in forma prenessa
o eliminare i quantificatori esistenziali in testa e sostituire le relative variabili con constanti
o eliminare i restanti quantificatori esistenziali e sostituire le relative variabili con funzioni delle variabili dei quantificatori universali che
li precedono.
Una forma di Skolem non e semanticamente equivalente alla formula da cui deriva.
- Dato un insieme di espressioni {E1,E2,…, En} sul linguaggio L, si dice unificatore dell’insieme una sostituzione s, se esiste, tale che E1 s = E2 s =
… = En s. Se una tale s non esiste l’insieme di espressioni si dice non unificabile.
- Dato un insieme di espressioni {E1,E2,…, En} unificabile sul linguaggio L, un unificatore s di tale insieme si dice unificatore più generale se per
ogni altro unificatore q di tale insieme esiste una sostituzione r tale che q = s × r.
Dato l’insieme {f 2(x, a), f 2(y, z)}, sia {x / y, a / z}, sia {y / x, a / z} sono unificatori più generali, mentre {a / x, a / y, a / z} non lo è.
- La risolvente di due clausole C1, C2 in un linguaggio del I ordine, si crea seguendo 3 passi:
o (separazione delle variabili) effettuiamo su C1, C2 due sostituzioni (eventualmente vuote) σ1, σ2 tali che C1σ1, C2σ2 siano privi di
variabili comuni;
o (fattorizzazione) siano L1, L2, … , Lr letterali di C1σ1 (che possiamo supporre tutti positivi senza perdita di generalità) ed Lr+1, Lr+2 ,… ,
Lr+s letterali di C2σ2 (che possiamo supporre tutti negativi senza perdita di generalità) tali che l’insieme di espressioni L1, L2, …, Lr, Lr+1,
Lr+2, ..., Lr+s (dove Lr+i indica il Ar+i se Lr+i è la negazione della formula atomica Ar+i ) sia unificabile. Indichiamo con s un unificatore più
generale di tale insieme e con L il letterale L1σ = L2σ=…= Lr+s σ;
o R = (( C1σ1 )s\{ L }) È (( C2σ2 )σ\{ ~L }) è una risolvente di C1, C2.
- Teorema: Un insieme di clausole Γ è insoddisfacibile se e solo se Γ |-R.
pf2

Anteprima parziale del testo

Scarica Riassunto Logica e Algebra e più Sintesi del corso in PDF di Elementi di Informatica solo su Docsity!

LOGICA DEL 1° ORDINE

Connettivi e quantificatori: ~(not), (and), (or), ∃x, ∀x, , ;

  • Campo di azione è la sottoformula a cui si riferisce un determinato quantificatore.
  • Un’ occorrenza di una variabile x è libera se non è nel campo di azione di quantificatori che quantifichino x, altrimenti si dice vincolata.
  • Un termine t si dice libero per una variabile x in una formula A se nessuna occorrenza libera di x in A cade nel campo d’azione di un quantificatore che quantifichi una variabile che compare in t.
  • Una formula in cui non ci sono occorrenze libere di variabili si dice chiusa , data una formula A se ne può fare la chiusura ( universale ) facendo precedere A da quantificatori universali che quantifichino le variabili che in A hanno occorrenze libere, mentre la chiusura ( esistenziale ) di A si ottiene facendo precedere A da quantificatori esistenziali che quantifichino le variabili che in A hanno occorrenze libere.
  • interpretazione : un’interpretazione è una coppia <D,I> dove D è un insieme detto dominio e I è formata da tre leggi I1, I2, I3 che associano rispettivamente ad ogni costante un elemento di D, ad ogni lettera funzionale con apice n un’operazione di arità n su D, ad ogni lettera predicativa con apice n una relazione di arità n su D.
  • Validità degli assegnamenti : o se la formula A è del tipo ~B , l'assegnamento s soddisfa A se e solo se s non soddisfa B; o se la formula A è del tipo B C , l'assegnamento s soddisfa A se e solo se s soddisfa sia B sia C; o se la formula A è del tipo B C , l'assegnamento s soddisfa A se e solo se s soddisfa una almeno delle formule B e C ; o se la formula A è del tipo B C , l'assegnamento s soddisfa A se e solo se s o non soddisfa B o soddisfa C ; o se la formula A è del tipo B C , l'assegnamento s soddisfa A se e solo se s soddisfa sia B sia C o s non soddisfa né B né C ; o se la formula A è del tipo ∀x B , l'assegnamento s soddisfa A se e solo ogni assegnamento s’ che si differenzia da s al più per il valore assegnato ad x soddisfa B ; o se la formula A è del tipo ∃x B, l'assegnamento s soddisfa A se e solo esiste un assegnamento s’ che si differenzia da quello dato al più per il valore assegnato ad x che soddisfa B.
  • Dati un linguaggio del 1° ordine, una sua una interpretazione ed una f.b.f A, A si dice soddisfacibile in quella interpretazione se esiste un assegnamento di valori alle variabili che soddisfa la f.b.f A; o A si dice vera in quella interpretazione se ogni assegnamento di valori alle variabili soddisfa la f.b.f A; o A si dice falsa (o insoddisfacibile) in quella interpretazione se nessun assegnamento di valori alle variabili soddisfa la f.b.f A ; La f.b.f A si dice ( logicamente ) valida (|=A) se è vera in ogni interpretazione. La f.b.f A si dice insoddisfacibile (o logicamente contraddittoria ) se è falsa in ogni interpretazione.
  • Una formula si dice esempio di tautologia se è ottenuta da una tautologia sostituendo formule del primo ordine alle lettere enunciative della tautologia. Un esempio di tautologia è sempre una formula logicamente valida.
  • Sia Γ un insieme di f.b.f. o La terna <D, I, s> è un modello per Γ se e solo se è un modello per ogni formula in Γ; o Una f.b.f. A è conseguenza semantica di Γ (Γ|=A) se ogni modello di Γ è modello di A; o Sia Γ = ΔU {B}. Γ|=A se e solo se Δ|=B A.
  • Due formule si dicono semanticamente equivalenti se in ogni interpretazione sono soddisfatte dagli stessi assegnamenti di valori alle variabili.
  • Si dice in forma normale prenessa una formula in cui tutti i quantificatori sono posti in testa. A[y/x] = A[x] in cui le occorrenze libere di x sono sostituite da y o ¬∀x A è equivalente a ∃x ¬A o ¬∃x A è equivalente a ∀x ¬A o ( ∀x A( x ))⇒B è equivalente a ∃y( A[ y / x ]⇒B ) o ( ∃x A( x ))⇒B è equivalente a ∀ y (A[ y / x ]⇒B ) o B⇒( ∀ x A( x )) è equivalente a ∀y (B⇒A[ y / x ] ) o B⇒( ∃x A( x )) è equivalente a ∃y(B⇒ A[ y / x] ) Inoltre, se A(x) è una formula con occorrenze libere di x ed y è una variabile tale che il termine y sia libero per x in A(x), indichiamo con A[y / x] la formula ottenuta sostituendo in A(x) ogni occorrenza libera di x con y. Allora detta B una qualunque f.b.f. , detta y una variabile che non abbia occorrenze libere in B e tale che il termine y sia libero per x in A(x) abbiamo
  • Una formula si dice in forma di Skolem se e in forma normale prenessa e senza quantificatori esistenziali. o portare A in forma prenessa o eliminare i quantificatori esistenziali in testa e sostituire le relative variabili con constanti o eliminare i restanti quantificatori esistenziali e sostituire le relative variabili con funzioni delle variabili dei quantificatori universali che li precedono. Una forma di Skolem non e semanticamente equivalente alla formula da cui deriva.
  • Dato un insieme di espressioni {E1,E2,…, En} sul linguaggio L, si dice unificatore dell’insieme una sostituzione s, se esiste, tale che E1 s = E2 s = … = En s. Se una tale s non esiste l’insieme di espressioni si dice non unificabile.
  • Dato un insieme di espressioni {E1,E2,…, En} unificabile sul linguaggio L, un unificatore s di tale insieme si dice unificatore più generale se per ogni altro unificatore q di tale insieme esiste una sostituzione r tale che q = s × r. Dato l’insieme {f 2(x, a), f 2(y, z)}, sia {x / y, a / z}, sia {y / x, a / z} sono unificatori più generali, mentre {a / x, a / y, a / z} non lo è.
  • La risolvente di due clausole C1, C2 in un linguaggio del I ordine, si crea seguendo 3 passi: o (separazione delle variabili) effettuiamo su C1, C2 due sostituzioni (eventualmente vuote) σ1, σ2 tali che C1σ1, C2σ2 siano privi di variabili comuni; o (fattorizzazione) siano L 1 , L 2 , … , Lr letterali di C 1 σ 1 (che possiamo supporre tutti positivi senza perdita di generalità) ed Lr+1, Lr+2 ,… , Lr+s letterali di C 2 σ 2 (che possiamo supporre tutti negativi senza perdita di generalità) tali che l’insieme di espressioni L 1 , L 2 , …, Lr, Lr+1, Lr+2, ..., Lr+s (dove Lr+i indica il Ar+i se Lr+i è la negazione della formula atomica Ar+i ) sia unificabile. Indichiamo con s un unificatore più generale di tale insieme e con L il letterale L 1 σ = L 2 σ=…= Lr+s σ; o R = (( C 1 σ 1 )s{ L }) È (( C 2 σ 2 )σ{ ~L }) è una risolvente di C 1 , C 2.
  • Teorema: Un insieme di clausole Γ è insoddisfacibile se e solo se Γ |-R.

ALGEBRA

  • Si dice semigruppo < A, ◦ > un insieme A fornito di una legge di composizione interna binaria associativa.
  • Si dice monoide un semigruppo < A, ◦ > dotato di elemento neutro rispetto, all’operazione binaria ◦.
  • Si dice gruppo un monoide < A, ◦ , e > in cui ogni elemento ammette inverso rispetto all’operazione ◦. In altre parole un gruppo è un insieme A con una legge di composizione binaria ◦ associativa, che soddisfa le seguenti condizioni: o esiste un e∈A tale che, per ogni a∈A, si ha a ◦ e = e ◦ a = a; o per ogni a∈A, esiste un b∈A tale che a ◦ b = b ◦ a = e; tale b viene solitamente indicato col simbolo a-1.
  • Si dice Gruppo Abeliano un gruppo in cui vale la proprietà commutativa.
  • Si dice anello una struttura algebrica < A, Ω > con due operazioni binarie denotate da + e ◦ , tali che: o < A, + > è un gruppo abeliano detto gruppo additivo dell’anello; o < A, ◦ > è un semigruppo detto semigruppo moltiplicativo dell’anello, o valgono le proprietà distributive di ◦ rispetto a +, cioè per ogni a, b, c∈A si ha a ◦ (b + c) = a ◦ b + a ◦ c, (a + b) ◦ c = a ◦ c + b ◦ c.
  • Un anello il cui semigruppo moltiplicativo sia un monoide si dice anello con unità (o anello unitario ); un anello in cui il semigruppo moltiplicativo sia commutativo si dice anello commutativo
  • In un anello lo zero (elemento neutro rispetto a +) è unico ed ogni elemento ammette un unico opposto. Pertanto un anello può essere visto come una struttura algebrica con due operazioni binarie + e ◦, un’operazione 0-aria (scelta dello zero), una operazione 1-aria (passaggio all’opposto), legate opportunamente tra loro. Un anello viene quindi spesso denotato da < A, +, ◦, 0, - >.
  • Proposizione: In un anello < A, +, ◦, 0, - > si ha o a ◦ 0 = 0 ◦ a = 0 per ogni a∈A, o a ◦ (-b) = (-a) ◦ b = - a ◦ b per ogni a, b∈A.
  • Un anello < A, +, ◦, 0, - > si dice privo di divisori dello 0 se non esistono a, b∈A e diversi da 0 tali che a ◦ b = 0. In un anello < A, +, ◦, 0, - > valgono le leggi di cancellazione se ognuna delle relazioni ( a ◦ b ) = ( a ◦ c ) e ( b ◦ a ) = ( c × a ) con a, b, c∈A ed a ≠ 0 implica b = c.
  • Proposizione: Un anello < A, +, ◦, 0, - > è privo di divisori dello zero se e solo se in esso valgono le leggi di cancellazione.
  • Si dice corpo un anello i cui elementi diversi dallo 0 formano gruppo rispetto a ◦.
  • Un corpo in cui ◦ gode della proprietà commutativa si dice campo.
  • Teorema: Ogni corpo finito è un campo.
  • Si dice reticolo un insieme A con due operazioni binarie ˄ e ˅, dette rispettivamente intersezione ed unione che godano entrambe delle proprietà commutativa ed associativa e per le quali valgano le leggi di assorbimento: ∀a, b ∈A; a ˄ ( a ˅ b ) = a, a ˅ ( a ˄ b ) = a.
  • Data una struttura algebrica < A, Ω >, un sottoinsieme non vuoto di H di A si dice sottostruttura di < A, Ω > se risulta essere una struttura dello stesso tipo di A rispetto alle operazioni di Ω.
  • Criteri per i sottogruppi : Sia < A, ◦, -1, e > un gruppo, un sottoinsieme H di A è un sottogruppo di < A, ◦, -1, e> se e solo se per ogni a, b ∈ H si ha a, b ∈H ed a◦b∈H o equivalentemente se e solo se per ogni a, b∈H si ha a◦b-1∈H. Nel caso A sia finito un sottoinsieme H di A è un sottogruppo di < A, ◦, -1, e> se e solo se per ogni a, b∈H si ha a◦b∈H.
  • Criterio per i sottoanelli : Sia < A, +, ◦, 0, - > un anello, un sottoinsieme H di A è un sottoanello di < A, +, ◦, 0, - > se e solo se per ogni a,b∈H si ha a-b∈H, a◦b∈H.
  • Si considerino un insieme A, una legge di composizione interna ω di arità n su A ed una relazione di equivalenza ρ su A. La relazione ρ si dice compatibile con ω se per ogni a 1 , a 2 ,..., an, b 1 , b 2 ,..., bn∈A, con (a 1 ,b 1 )∈ρ, (a 2 ,b 2 )∈ρ,..., (an,bn)∈ρ implicano (ω (a 1 ,a 2 ,...,an), ω (b 1 ,b 2 ,...,bn))∈ρ. Data una struttura algebrica < A, Ω > una relazione di equivalenza ρ su A si dice relazione di congruenza su A se è compatibile con ogni ω∈Ω.
  • Congruenza : una relazione di equivalenza ρ su A struttura algebrica < A, Ω > è relazione di congruenza se e compatibile con ogni ω∈Ω.
  • Data una struttura algebrica < A, Ω > ed una relazione di congruenza ρ su A si dice struttura quoziente di A rispetto a ρ, la struttura < A/ ρ, Ω’ > avente come sostegno l’insieme quoziente di A rispetto a ρ e come insieme di operazioni l’insieme delle operazioni ω’ indotte dalle operazioni ω di Ω
  • Due strutture algebriche < A 1 , Ω 1 >, < A 2 , Ω 2 > si dicono simili se esiste una funzione biunivoca τ tra Ω 1 ed Ω 2 tale che ω 1 e τ(ω 1 ) abbiano la stessa arità per ogni ω 1 ∈Ω 1.
  • Date due strutture algebriche < A 1 , Ω 1 >, < A 2 , Ω 2 > simili, si dice omorfismo di < A 1 , Ω 1 > in < A 2 , Ω 2 > una funzione f di A 1 in A 2 tale che per ogni ω 1 ∈Ω 1 di arità n , posto ω 2 = τ(ω 1 ), sia, per ogni a 1 , a 2 ,..., an∈A 1 , f (ω 1 (a 1 , a 2 ,..., an)) = ω 2 ( f (a 1 ), f (a 2 ),..., f (an)). In breve si dice che un omorfismo è una funzione f di A 1 in A 2 che conserva le operazioni. o Un omorfismo f si dice monomorfismo se f è una funzione iniettiva, si dice epimorfismo se f è suriettiva, si dice isomorfismo se f è biunivoca.
  • La relazione ker f = {(x,y)∈A 1 × A 1 | f(x)=f(y)} è una congruenza
  • Consideriamo un gruppo < A, ◦ >, un suo sottogruppo H si dice normale in A se per ogni h∈H e per ogni a∈A si ha a-1◦h◦a∈H. N.B. Per verificare che un sottoinsieme di A sia sottogruppo normale bisogna anche verificare che sia sottogruppo. Si osservi che un sottogruppo di un gruppo abeliano è sempre normale.
  • Teorema di Lagrange: Se <A,◦> è un gruppo finito di ordine n (cioè la sua cardinalità è n), un suo qualsiasi sottogruppo ha ordine m che divide n.

LABORATORIO:

list_of_descriptions. name({nome esercizio}. Author({}). Status(unsatisfiable). list_of_symbols. functions(nome, arità),…+. predicates(nome,arità),…+. end_of_list list_of_formulae(axioms). formula(testo formula).

end_of_list list_of_formulae(conjectures). formula(testo congettura). end_of_list. end_of_problem. forall(var,formula) exists(var, formula) implies(ant, cons) or( termine, termine, …)