What language do you think in?
gdp: It depends on the situation, but I generally think in terms of pure (recursive) functions and types.  This then usually provides me with a reasonably quick mapping to my preferred languages (e.g. ML or Haskell), as well as providing a reasonably simple way of mapping back to languages like Java or C or PHP or whatever else I might be called upon to write occasionally.Interestingly, I've spent a some extended blocks of time working inside theorem provers.  I find that it requires me a bit of time to switch to and from that style of thinking.