  Temporal epistemic logic is a well-established framework for expressing
agents knowledge and how it evolves over time. Within language-based security
these are central issues, for instance in the context of declassification. We
propose to bring these two areas together. The paper presents a computational
model and an epistemic temporal logic used to reason about knowledge acquired
by observing program outputs. This approach is shown to elegantly capture
standard notions of noninterference and declassification in the literature as
well as information flow properties where sensitive and public data intermingle
in delicate ways.
