Sistema dei Tipi Flashcards

1
Q

Regole di inferenza F1: applicazione MN

A

Γ⊢M:A→B Γ⊢N:A
​Γ⊢MN:B

Applicando una “funzione” di tipo A → B ad un “argomento” del giusto tipo A, si ottiene un “risultato” di tipo B.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Regole di inferenza F1: costanti

A

Γ⊢k:K

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Regole di inferenza F1: variabili

A

Γ1 (x:A),Γ 2⊢x:A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Regole di inferenza F1: lambda astrazioni

A

Γ( x : A )⊢ M : B
Γ ⊢ fn x : A.M : A → B

Consente di assegnare un tipo
freccia A → B a termini della forma λ x : A . M (chiamati lambda-astrazioni) in
un contesto Γ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cosa vuol dire “astrarre su un tipo”?

A

Nel sistema F1 (prim’ordine) i termini vengono tipati in un contesto dei tipi: il judgement
x : int ⊢x+ 1 : int asserisce che x+ 1 è un termine legale di tipo int nel contesto che assegna il tipo int alla variabile x.
In un sistema dei tipi del second’ordine
le variabili agiscono da segnaposto non solo per i termini, ma anche per i tipi.
E dunque possibile scrivere un tipo come X → int in cui la variabile X segna il
posto per un tipo arbitrario.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Regole di inferenza F2: Λ X .M

A

Γ ⊢ M : A
Γ ⊢ Λ X . M : ∀X . A
(se X not∈ free(Γ))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Regole di inferenza F2: MB

A

Γ ⊢ M : ∀ X . A
Γ ⊢ M B : [B/X] A

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Regole di inferenza Funτ: x

A

Γ1, x : σ, Γ2 ⊢ x : σ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Regole di inferenza Funτ: M se (σ > σ’)

A

Γ ⊢ M : σ
Γ ⊢ M : σ’
(σ > σ’)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Regole di inferenza Funτ: M se X not∈ free (Γ)

A

Γ ⊢ M : σ
Γ ⊢ M : ∀X . σ

(X not ∈ free (Γ))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Regole di inferenza Funτ: let x = M in N

A

Γ ⊢ M : σ ___ Γ, x : σ ⊢ N : σ
Γ ⊢ let x = M in N : σ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Regole di inferenza Funτ: fn x ⇒ M

A

_Γ, x : τ ⊢ M : τ _
Γ ⊢fn x ⇒ M : τ → τ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Regole di inferenza Funτ: MN

A

Γ ⊢ M : τ→ τ ___Γ ⊢ N : τ
Γ ⊢ MN : τ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly