In search for a foundational framework for reasoning about observable behavior of programs that may not terminate. we have previously devised a trace-based big-step semantics for While. In this semantics. both traces and evaluation (relating initial states of program runs to traces they produce) are defined coinductively. https://www.knowall.blog/