content: \chapter{DSLs for logic and proofs}
  \label{sec:logic}
  
  In this chapter, we continue to exercise our skill of organising areas
  of mathematics in DSL terms.
  %
  We apply our methodology to the languages of logic: propositions and
  proofs.
  %
  Additionally, at the same time, we will develop adequate notions and
  notations for mathematical foundations and learn to perform
  calculational proofs.
  %
  There will be a fair bit of theory: introducing propositional and
  first order logic, but also applications to mathematics: prime
  numbers, (ir)rationals, limit points, limits, etc.\ and some Haskell
  concepts.
  
  %% module PropositionalLogic where
  %include PropositionalLogic.lhs
  
  %% module FOL where
  %include FOL.lhs
  
  %\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
  %% Only text
  %include SetTheory.lhs
  
  %% Only text
  %include Examples.lhs
  %\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
  
  %% Only text
  %include CalculusConcepts.lhs
  
  %\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
  %% A bit of code
  %include E2.lhs
  %\addtocontents{toc}{\protect\setcounter{tocdepth}{2}}
  