2019/05
This book introduces the mathematics behind computer programming.
The book can be previewed in (CN). The first two chapters in English are available. For the rest chapters, English translation is on going.
- Chapter 1, Natural numbers. Peano Axiom, list and folding; (CN, EN)
- Chapter 2, Recurrsion. Euclidean algorithm, Lambda calculus, and Y-combinator; (CN, EN)
- Chapter 3, Group, Ring, and Field. Galois Theory; (CN)
- Chapter 4, Category theory and type system; (CN)
- Chapter 5, Deforest. Build-fold fusion law, optimization, and algorithm deduction; (CN)
- Chapter 6, Infinity. Set theory, Infinity and stream; (CN)
- Chapter 7, Logic paradox, Gödel's incompleteness theorems, and Turing halting problem. (CN)
To build the book in PDF format from the sources, you need the following software pre-installed.
- TeXLive, The book is built with XeLaTeX, a Unicode friendly version of TeX;
- ImageMagick, which converts the images to eps format;
In Debian/Ubuntu like Linux environment, do NOT install the TeXLive through apt-get. Go to TeXLive official site to download the setup script.
$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip
$ unzip install-tl.zip
$ cd install-tl
$ sudo ./install-tl -gui text -repository http://mirror.ctan.org/systems/texlive/tlnet
In Windows, TeXLive provide a gui based installer, in Mac OS X, there's a MacTeX.
$ sudo apt-get install imagemagick
For Windows and Mac OS X installer, it can be download through http://www.imagemagick.org
If the host system fonts are available, e.g. under VM. they could be imported as the following example:
$ sudo mkdir /usr/share/fonts/host-system
$ sudo cp /Host-System/Fonts/{FontName, fontname}* /usr/share/fonts/host-system/
$ fc-cache
You need the GNU make tool, in Debian/Ubuntu like Linux, it can be installed through the apt-get command:
$ sudo apt-get install build-essential
In Windows, you can install the MSYS for it. In Mac OS X, please install the developer tool from this command line:
$ xcode-select --install
enter the folder contains the book TeX manuscript, run
$ make
This will generate unplugged-en.pdf and unplugged-zh-cn.pdf. If you only need the Chinese version for example, you can run make cn
instead.
--
LIU Xinyu
``Cogito ergo sum''