Logische Grundlagen des Software Engineerings
Prof. Dr. Jakob Rehof Lehrstuhl 14, Software
Engineering
Aufgaben
• Lesen der Kapitel 6.1-6.4
• Es finden keine Übungen zu dieser Vorlesung statt.
Type checking and related problems
• Decision problems arising from the (mostly Curry-style) ternary predicate
Γ |- M : τ
Type checking, reconstruction, inhabitation
Inhabitation and validity
Why??
12 variants, of which 4 are trivial ...
... and 8 are interesting:
Unification
• Solving systems of term equations
{ ti = t´i }
Terms
Equations
Equations
Equations
Equations
Unification algorithm (Robinson)
Unification algorithm (Robinson)
Principal (most general) solution
Type reconstruction
Type reconstruction
Principal pair, principal type
Principal type theorem
Example