I see program logics as having a couple of purposes. Firstly, a logic provides a relatively simple visualisation of what one wants to achieve, and how to get there, without getting bogged down interpreting pages of words. A program logic is like a road map to guide implementation teams, and as a communication tool to stakeholders, including donors, and the clients, or end-users, or beneficiaries. They say a picture paints a thousand words, and this is true for program logics.