Arindama Singh
Department of Mathematics











I have written three books, one on logic for maths and philosophy students, one on logic for Computer Science students, and one on the theory of computation. The last one has been translated to Chinese recently by Tsinghua University Press, China. If you like, you may take it as the Fourth book! I wrote some expository articles on combinatorics, first order logic, and boolean algebra, on demand. See the extras section for details. Here are some more words about the books:

Fundamentals of Logic
Logics for Computer Science
Elements of Computation Theory
Elements of Computation Theory in Chinese

The image on the top right is the monsterbook at Hogwarts library.

Fundamentals of Logic

The publisher of the book is ICPR:
Indian council of Philosophical Research (ICPR)
36, Tughlakabad Institutional Area, M. B. Road,
New Delhi - 110062
Phones: 91-11-29955405, 29956403, 29955129, 6078853
Fax: 91-11-29955129
Book's ISBN :81-85636-34-6

The distributor of the book is:
Munshiram Manoharlal Publishers Pvt. Ltd.
PO Box 5715, 54 Rani Jhansi Road, New Delhi 110055, India
Tel: +91-11-23671668, Fax: +91-11-23612745


This was written in collaboration with Professor Chinmoy Goswami (Founder of the Cognitive Science department in University of Hyderabad), when I was in University of Hyderabad. We modified its many versions to bring it to a book form and finally it was published in 1998, three years after I left Hyderabad. Its flap cover says:

"The book addresses problems like
  Can we prove all that is true?
  Can symbolic manipulation capture everything?
  Is there a general method to solve a class of solvable problems?
  Is Mathematics contradictory?

To answer these fundamental questions, it comes up with results such as Deduction, reductio ad absurdum, Monotonicity, Compactness, Completeness, Undecidability, and Incompleteness as expounded in the works of Herbrand, Godel, Skolem, Lowenheim, Beth, Tarski, Post, Turing and others It deals with the logic of sentences and predicates as formal languages giving stress on formal semantics. It considers major styles of presenting these logics such as axiomatics, Gentzen systems, analytic tableaux, resolution refutation as various proof techniques. However, it requires nothing from the reader but a mere willingness to remain logical and have a fearless attitude towards precise use of symbols."

The contents are:
Chapter 0 -- Preliminaries:
0.0 Introduction   0.1 Language of Sets   0.2 NUmber System   0.3 Cardinality   0.4 Trees   0.5 Formal Languages
Chapter 1 -- Language of Sentential Logic:
1.0 Introduction   1.1 Syntax of SL   1.2 Semantics of SL   1.3 Consequences   1.4 Normal Forms   1.5 Compactness
Chapter 2 -- Language of Predicate Logic:
2.0 Introduction   2.1 Syntax of PL   2.2 Semantics of PL   2.3 Validity and Consequences   2.4 Standard Forms   2.5 Syntactic Interpretations
Chapter 3 -- Axiomatics:
3.0 Introduction   3.1 Axiom System SC   3.2 Adequacy of SC   3.3 Axiom System PC   3.4 Adequacy of PC   3.5 Gentzen's Systems GSC and GPC
Chapter 4 -- Semantic Proofs:
4.0 Introduction   4.1 Natural Deduction   4.2 Sets of Models   4.3 Analytic Tablaux for SL   4.4 Analytic Tableaux for PL
Chapter 5 -- Resolution Refutation:
5.0 Introduction   5.1 Clauses and Clause Sets   5.2 Resolution in SL   5.3 Clause Sets and Substitutions   5.4 Unifiers and Factors   5.5 Resolution in PL
Chapter 6 -- Predicate Logic with Equality:
6.0 Introduction   6.1 Syntax of PLE   6.2 Semantics of PLE   6.3 Axiomatization of PLE   6.4 Semantic Proofs in PLE   6.5 Resolution in PLE
Chapter 7 -- Metalogic:
7.0 Introduction   7.1 First Order Theories   7.2 Model Isomorphism   7.3 Effective Procedures   7.4 Uncomputability   7.5 Arithmatic   7.6 About Arithmatic   7.7 Undecidability   7.8 Unprovability and Consistency
Appendix -- Natural Language and Reasoning:
A.0 Introduction   A.1 Symbolizing into SL   A.2 Symbolizing into PL/PLE   A.3 Other Applications
Index of Proper Names
Index of Named Theorems
General Index

Back to Top

Logics for Computer Science

The publisher of the book is PHI Learning:
PHI Learning, India
'Rimjhim House'
111, Patparganj Industrial Estate
Delhi - 110 092, India.
Phones: 91-11-22143311, 22143322, 22143344, 22143355, 22143377, 2143388
Fax: 91-11-22141144
Book's ISBN : 81-203-2284-3


Before 2002, I was using Fundamentals of Logic to teach a course on Logic to M.Sc. and B.Tech. students. However, I had to do a bit differently so that it would be more suitable to students of theoretical computert science. I found that they should be exposed to the calculational logic. There should also be a thorough introduction to program verification and modal logics. It was Professor M T Nair who suggested, infact, brought the publisher (Prentice Hall of India) to my door steps, to develop the class notes into another book. This resulted in Logics for Computer Science. The very approach is different, making it more suitable for self-study. Its flap cover says:

"Designed primarily as an introductory text on logic for and in Computer Science, this well-organized book deals with almost all the basic concepts and techniques that are pertinent to the subject. It provides an excellent understanding of the logics used in computer science today. The book begins with the easiest of logics, the logic of propositions, and then it goes on to give a detailed coverage of first order logic and modal logics. The discussion revolves around logics from common sense as also formal syntax and semantics. Dr. Arindama Singh analyzes with consummate skill the various approaches to the proof theory of the logics, e.g. axiomatic systems, natural deduction systems, Gentzen systems, analytic tableau, and resolution. Along with the metaresults such as soundness, completeness and compactness, he deftly deals with an important application of logic, namely, verification of programs. The book gives the flavour of logic engineering through computation tree logic, a logic of model checking. The book concludes with a fairly detailed discussion on nonstandard logics including intuitionistic logic, Lukasiewicz logics, default logic, autoepistemic logic, and fuzzy logic. This student-friendly text, with an unusual clarity in the concepts and broad exposure to the subject, should prove to be a life-long companion for anyone who wants to understand the basic principles of logic and enjoy how logic works in Computer Science. Besides students of Computer Science, those offering courses in Mathematics and Philosophy would greatly benefit from this study."

The contents are:
Chapter 1 -- Propositional Logic:
1.1 Introduction   1.2 Syntax of PL   1.3 Semantics of PL   1.4 Calculations   1.5 Normal Forms   1.6 Some Applications $nbsp Summary   Problems
Chapter 2 -- First Order Logic:
2.1 Introduction   2.2 Syntax of FL   2.3 Preparing for Semantics   2.4 Semantics of FL   2.5 Some Useful Consequences   2.6 Calculations   2.7 Normal Forms & nbsp Herbrand Interpretation   Summary   Problems
Chapter 3 -- Resolution:
3.1 Introduction   3.2 Resolution in PL   3.3 Unification of Clauses   3.4 Extending Resolution   3.5 Resolution for FL   3.6 Horn Clauses in FL   Summary   Problems
Chapter 4 -- Proofs in PL and FL:
4.1 Introduction   4.2 Axiomatic System PC   4.3 Axiomatic System FC   4.4 Adequacy and Compactness   4.5 Natural deduction   4.6 Gentzen Systems   4.7 Analytic Tableau   Summary   Problems
Chapter 5 -- Program Verification:
5.1 Introduction   5.2 Issue of Correctness   5.3 The Core Language CL   5.4 Partial Correctness   5.5 Hoare Proof anf Proof Summary   5.6 Total Correctness   5.7 The Predicate Transformer wp   Summary   Problems
Chapter 6 -- Modal Logics:
6.1 Introduction   6.2 Syntax and Semantics of K   6.3 Axiomatic System KC   6.4 Other Proof Systems for KC   6.5 Other Modal Logics   6.6 Various Modalities   6.7 Computation Tree Logic   Summary   Problems
Chapter 7 -- Some Other Logics:
7.1 Introduction   7.2 Intuitionistic Logic   7.3 Lukasiewicz Logics   7.4 Probabilistic Logics   7.5 Possibilistic and Fuzzy Logic   7.6 Default Logic   7.7 Autoepistemic Logic   Summary   Problems

Back to Top

Elements of Computation Theory

The publisher of the book is Springer:
Springer Verlag London Limited
Book's ISBN : 978-1-84882-496-6,   e-ISBN: 978-1-84882-497-3
The book's page at Springer is here.


I was teaching courses on Theory of Computation since 1991, in both University of Hyderabad and IIT Madras. My students at IIT Madras expressed their wish to see the class notes in book form. And that is the reason this book came into existence. When IIT Madras celebrated its Golden Jubilee year, a scheme was floated for encouraging book writing. As a result I got a semester off from teaching and also received a nominal financial help in preparing the manuscript. Like Logics for Computer Science, this book is also well suited for self-study. Its back cover says:

"As Computer Science progressively matures as an established discipline, it becomes increasingly important to revisit its theoretical foundations, learn the appropriate techniques for answering theory-based questions, and build one’s confidence in implementing this knowledge when building computer applications. Students well-grounded in theory and abstract models of computation can excel in computing’s many application arenas.

Through a deft interplay of rigor and intuitive motivation, Elements of Computation Theory comprehensively, yet flexibly provides students with the grounding they need in computation theory. The book is self-contained and introduces the fundamental concepts, models, techniques, and results that form the basic paradigms of computing. Readers will benefit from the discussion of the ideas and mathematics that computer scientists use to model, to debate, and to predict the behavior of algorithms and computation. Previous learning about set theory and proof by induction are helpful prerequisites.

Topics and features:

  • Contains an extensive use of definitions, proofs, exercises, problems, and other pedagogical aids
  • Supplies a summary, bibliographical remarks, and additional (progressively challenging) problems in each chapter, as well as an appendix containing hints and answers to selected problems
  • Reviews mathematical preliminaries such as set theory, relations, graphs, trees, functions, cardinality, Cantor’s diagonalization, induction, and the pigeon-hole principle
  • Explores regular languages, covering the mechanisms for representing languages, the closure properties of such languages, the existence of other languages, and other structural properties
  • Investigates the class of context-free languages, including context-free grammars, Pushdown automata, their equivalence, closure properties, and existence of non-context-free languages
  • Discusses the true nature of general algorithms, introducing unrestricted grammars, Turing machines, and their equivalence
  • Examines which tasks can be achieved by algorithms and which tasks can’t, covering issues of decision problems in regular languages, context-free languages, and computably enumerable languages
  • Provides a concise account of both space and time complexity, explaining the main techniques of log space reduction, polynomial time reduction, and simulations
  • Promotes students&apos confidence via interactive learning and motivational, yet informal dialogue
  • Emphasizes intuitive aspects and their realization with rigorous formalization
Undergraduate students of computer science, engineering, and mathematics will find this core textbook ideally suited for courses on the theory of computation, automata theory, formal languages, and computational models. Computing professionals and other scientists will also benefit from the work’s accessibility, plethora of learning aids, and motivated exposition."

The contents are:
Chapter 1 -- Mathematical Preliminaries:
1.1 Introduction   1.2 Sets   1.3 Relations and Graphs   1.4 Functions and Counting   1.5 Proof Techniques   1.6 Summary and Problems
Chapter 2 -- Regular Languages:
2.1 Introduction   2.2 Language Basics   2.3 Regular Expressions   2.4 Regular Grammars   2.5 Deterministic Finite Automata   2.6 Nondeterministic Finite Automata   2.7 Summary and Additional Problems
Chapter 3 -- Equivalences:
3.1 Introduction   3.2 NFA to DFA   3.3 Finite Automata and Regular Grammars   3.4 Regular Expression to NFA   3.5 NFA to Regular Expression   3.6 Summary and Additional Problems
Chapter 4 -- Structure of Regular Languages:
4.1 Introduction   4.2 Closure Properties   4.3 Non-regular Languages   4.4 Myhill-Nerode Theorem   4.5 State Minimization   4.6 Summary and Additional Problems
Chapter 5 -- Context-free Languages:
5.1 Introduction   5.2 Context-free Grammars   5.3 Parse trees   5.4 Ambiguity   5.5 Eliminating Ugly Productions   5.6 Normal Forms   5.7 Summary and Additional Problems
Chapter 6 -- Structure of CFLs:
6.1 Introduction   6.2 Pushdown Automata   6.3 CFG and PDA   6.4 Pumping Lemma   6.5 Closure Properties of CFLs   6.6 Deterministic Pushdown Automata   6.7 Summary and Additional Problems
Chapter 7 -- Computably Enumerable Languages:
7.1 Introduction   7.2 Unrestricted Grammars   7.3 Turing Machines   7.4 Acceptance and Rejection   7.5 Using Old Machines   7.6 Multitape TMs   7.7 Nondeterministic TMs and Grammars   7.8 Summary and Additional Problems
Chapter 8 -- A Non-computably Enumerable Language:
8.1 Introduction   8.2 Turing Machines as Computers   8.3 TMs as Language Deciders   8.4 How Many Machines?   8.5 Acceptance Problem   8.6 Chomsky Heirarchy   8.7 Summary and Additional Problems
Chapter 9 -- Algorithmic Solvability:
9.1 Introduction   9.2 Problem Reduction   9.3 Rice’s Theorem   9.4 About Finite Automata   9.5 About PDA   9.6 Post’s Correspondence Problem   9.7 About Logical Theories   9.8 Other Interesting problems   9.9 Summary and Additional Problems
Chapter 10 -- Computational Complexity:
10.1 Introduction   10.2 Rate of Growth of Functions   10.3 Complexity Classes   10.4 Space Complexity   10.5 Time Complexity   10.6 The Class NP   10.7 NP-completeness   10.8 Some NP-complete Problems   10.9 Dealing with NP-complete Problems   10.10 Summary and Additional Problems
Answers and Hints to Selected problems

Back to Top

Elements of Computation Theory in Chinese

The publisher of the book is Tsing Hua University Press, China
Book's ISBN : 978-7-302-30542-2


Tsing Hua University Press has translated the book "Elements of Computation Theory". I trust everything has gone well in the translation.

It contains an extra page which was not in the original English version. The extra page has been translated by Xian Hu of University of Arkansas from Chinese to English. It is as follows:

Words from the Translators

Due to the constant change in information technology, importing outstanding foreign achievements such as textbooks meet the needs of China’s corresponding discipline’s development. After reading this book, we really appreciate the author’s wisdom and rigorous approach. Meanwhile, the way the author describes and illustrates things are rare in Chinese authors today. It starts with intuitive approaches and speculations which bring up the students’ enthusiasm for learning. After that, the book uses rigorous mathematical language and reasoning to prove or disprove the previous speculations. This method can not only stimulate students’ enthusiasm, initiative and creativity, but also help them build a rigorous, strict and serious attitude. This serious and lively style is not only beneficial for improving the Chinese teaching methods, but also provides a good example to build our teaching model. This serious and lively spirit is not only good for academics, but also motivates a nation to move forward.

The imported textbook should be authoritative, systematic, advanced and popular. Meanwhile, it should be beneficial for improving the levels of our academics, teaching, and way of thinking. This book is outstanding in all of the above areas. In addition, this book is also easy to understand. It explains profound theories in simple language with rigorous reasoning. It covers a large range of material with many inspiring exercises which are worth revisiting.

In-depth study of this book can reinforce the mathematical foundations of computer science, but more importantly, it benefits you with good methods, skills and tricks. This book combines good theory with excellent exercises, which will improve the readers’ problem solving ability. Overall, this is an excellent textbook, the kinds of which are not easy to find.

This book was mainly translated by Aiwen Cao, Peng Ye and Shaoshuai Li. The following people also participated in the work: Kun Cao, Zhiyun Li, Xiaochun Li, Anhua Chen, Jiayi Hou, Wei Xu, Wenya Dai, Fanpeng Yu, Peng Liu, Jiajia Wang, Wei Deng, Fanping Deng, Bo Li, Yunjian Cheng, Xiaozhe Xu, Ke Zhu, Xiao Wei, Hong Sun, Teng Li, Lei Chen, Yu Wei, Jingping Zhou, Dong Xun, Zhe Feng, Fei Li, Qiang Li, Donghui Zhao, Gang Zhou, Yuehua Zhang, Yan Sun, Qiang Gao, Xin Liu, Hongliang Wang, Feng Zhou, Hui Xie, Lin Li, Xiangyang Sun, Yuanyuan Li, Zhipeng Zhao, Jia Feng, CaiE Lin, Lei Sun, Baitao Zhang, Nan Zhao and Henan Chen.

During the translation, we tried our best to analyze the information in each word and sentence, not to guess. We respect the style and way of thinking of the original book and try to keep it. Due to the limitation of the translators’ knowledge and skill, it is inevitable to have errors and imperfections in the translation. We will highly appreciate the readers’ forgiveness and generous correction.

There ends the translator's notes.

I will be happy to receive suggestions from you for improving the books.

Back to Top

2015   Arindama Singh