* Type Frames ** Pre-Frames ** Type Frames defined ---------------- 1. A[[x:s]]r = r(x) 2. A[[(e e') : t]]r = A^(s,t)(A[[e:s->t]]r, A[[e':s]]r) 3. A^(s,t)(A[[(\x:s.e):s->t]]r, d) = A[[e:t]]r[d/x] ---------------- ** Model = a type frame *** full type frame over X *** theorem (soundness for frames) ** Complete models *** Term model *** Completeness of the term model *** Generalizations **** Term model over some arbitrary theory **** Subtypes? ***** Two approaches to typing rules ------------------------------- 1. [subsume] H |- e:s _______________ if s <= t H |- e:t 2. [appl] H |- f : s-> t H |- e: s1 ______________________________ if s1 <= s H |- (f e) : t [abs] H.x:s |- e : t1 _______________ if t1 <= t H |- (\x:s.e):t ------------------------------- ***** problems ***** Changes to equational rules? ***** What is a pre-frame? ***** What is a type frame? ***** Does soundness and completeness hold? * Partial homomorphisms ** Partial homs preserve equations ** The full type frame over an infinite set is a sound and complete model ** Generalization: logical relations