In the final lecture of the semester we discuss the proof of coherence
for atomic subtyping, and point out some shortcomings of the atomic
subtyping systems. We then introduce refinement types as a means to
overcome these limitation discuss various features of refinement type
systems appropriate for logical frameworks and functional languages.