Første del av denne boken gir en praktisk innføring i bruken av Isabelle bevisassistenten. Her lærer leseren å skrive funksjonelle programmer og induktive definisjoner, samt å bevise egenskaper ved disse gjennom Isabelles strukturerte bevisspråk. Den andre delen tar for seg semantikken i imperative språk, med særlig fokus på applikasjoner som kompilatorer og programanalyser. Det som skiller denne boken fra andre, er at all matematikken er formalisert i Isabelle, hvor mye av innholdet også kan kjøres utførelsesmessig. Mens del én konsentrerer seg om detaljene i bevisene i Isabelle, kan del to leses uten forhåndskunnskap om Isabelles bevisspråk; alle bevis blir forklart grundig, men på en uformell måte. Boken lærer leseren kunsten av presis logisk resonnement og den praktiske bruken av en bevisassistent som et verktøy for formelle bevis relatert til datasystemer. På denne måten representerer den en formell tilnærming til datavitenskap, ikke bare semantikk.