Free book sample

The Turing Machine Handbook

A Complete Guide to Computability, Recursion Theory, and Mathematical Logic

Gain mastery over the theoretical foundations that underpin all of computer science and mathematics.

300 pages15 chaptersOct 8, 2025Computer Science Theory

Download sample:

About this book

This comprehensive guide takes you from basic Turing machine concepts to advanced topics in recursion theory and mathematical logic, providing the deep understanding you need to tackle complex computational problems with confidence. You'll discover how Turing machines define the very limits of computation, explore the elegant mathematics behind decidability and undecidability, and learn to apply these powerful concepts to real-world scenarios. Through clear explanations, worked examples, and progressive skill-building exercises, you'll develop an intuitive grasp of computability theory that will enhance your problem-solving abilities across multiple domains. Whether you're strengthening your theoretical computer science foundation or preparing for advanced study, this book provides the comprehensive coverage and practical insights you need. You'll emerge with a sophisticated understanding of how computation works at its most fundamental level, equipped with the knowledge to analyze computational problems with mathematical precision and theoretical rigor. The concepts you master here will transform how you think about algorithms, complexity, and the nature of computation itself, giving you the theoretical tools to excel in advanced computer science, mathematics, and logic.

Table of contents

  1. IntroductionThe Foundations of Computation, Historical Context and Motivation, How to Use This Book, Mathematical PrerequisitesRead below
  2. Chapter 1: Turing Machine FundamentalsFormal Definition of a Turing Machine, Components and Architecture, Tape Operations and Head Movement, State Transitions and Control, Building Your First Turing Machines
  3. Chapter 2: Constructing Turing MachinesDesign Principles and Strategies, Implementing Basic Operations, Arithmetic and Mathematical Functions, String Processing and Pattern Recognition
  4. Chapter 3: Models of ComputationDeterministic Turing Machines, Nondeterministic Turing Machines, Multi-tape Turing Machines, Proving Model Equivalences
  5. Chapter 4: The Church-Turing ThesisUnderstanding the Thesis, Intuitive vs. Formal Computation, Alternative Computational Models, Implications and Interpretations
  6. Chapter 5: Introduction to DecidabilityDecidable Languages and Problems, Decision Procedures and Algorithms, Examples of Decidable Problems, Reduction Techniques
  7. Chapter 6: The Halting ProblemFormulating the Halting Problem, Proof of Undecidability, Diagonalization and Self-Reference, Implications and Consequences
  8. Chapter 7: Undecidable ProblemsRice's Theorem, Post Correspondence Problem, Context-Free Language Problems, Proving Undecidability through Reductions
  9. Chapter 8: Foundations of Recursion TheoryRecursive and Partial Recursive Functions, Primitive Recursive Functions, General Recursive Functions, Computability of Functions
  10. Chapter 9: Recursive and Recursively Enumerable SetsRecursive Sets and Their Properties, Recursively Enumerable Sets, Enumeration Procedures, Relationships Between Set Classes
  11. Chapter 10: Degrees of ReducibilityMany-One Reducibility, Turing Reducibility, Degree Structures and Hierarchies, Complete Problems and Hardness
  12. Chapter 11: Oracle Turing MachinesOracle Machines and Relative Computation, Oracle Query Operations, Relativization and Its Limits, Oracle-Based Hierarchies
  13. Chapter 12: Introduction to Computational ComplexityTime Complexity Measures, Space Complexity Measures, Basic Complexity Classes, Time and Space Hierarchy Theorems
  14. Chapter 13: Advanced Complexity TheoryThe Polynomial Hierarchy, Alternating Turing Machines, Interactive Proof Systems, Probabilistic Computation Models
  15. Chapter 14: Connections to Mathematical LogicFirst-Order Logic and Decidability, Model Theory Applications, Proof Theory and Computation, Gödel's Incompleteness Theorems
  16. Chapter 15: Applications and ExtensionsPractical Applications in Computer Science, Quantum Computation Models, Parallel Computation Models, Future Directions and Open Problems
  17. Conclusion
  18. Glossary
  19. Further Reading

Introduction

The quest to understand the fundamental nature of computation has shaped mathematics, computer science, and philosophy for nearly a century. At the heart of this exploration lies a deceptively simple yet profoundly powerful concept: the Turing machine. Named after the brilliant mathematician Alan Turing, these abstract computational devices provide the mathematical foundation for understanding what can and cannot be computed. They serve as the bridge between our intuitive notions of problem-solving and the precise mathematical definitions that govern theoretical computer science. Through the lens of Turing machines, we can explore the deepest questions about computation, logic, and the limits of algorithmic thinking.

This book will guide you through the rich landscape of computability theory, recursion theory, and mathematical logic, all anchored by the central concept of Turing machines. You will discover how these abstract machines illuminate the boundaries between the possible and impossible in computation, revealing fundamental truths about the nature of algorithmic problem-solving. The journey ahead encompasses both the elegant mathematical structures that define computability and the practical insights that emerge from understanding these theoretical foundations. Each concept builds upon the previous ones, creating a comprehensive framework for analyzing computational problems with mathematical rigor and theoretical precision.

The concepts you will master extend far beyond academic curiosity. Understanding Turing machines and computability theory provides essential tools for analyzing algorithm design, complexity analysis, and the fundamental limits of computational systems. These theoretical foundations inform practical decisions in software engineering, artificial intelligence, and system design. Moreover, the mathematical techniques and logical reasoning skills developed through studying computability theory enhance problem-solving abilities across diverse domains. The theoretical insights gained here will transform how you approach computational challenges, providing a deeper understanding of why certain problems are inherently difficult and others admit elegant algorithmic solutions.

The Foundations of Computation

Before the advent of electronic computers, mathematicians grappled with fundamental questions about the nature of computation itself. What does it mean for a problem to be computable? Can we precisely define the boundary between problems that can be solved algorithmically and those that cannot? These questions gained urgency in the early 20th century as mathematicians like David Hilbert posed ambitious programs to mechanize mathematical reasoning. The challenge was not merely to build calculating machines, but to understand the theoretical limits of mechanical computation. This quest led to the development of several mathematical models of computation, each attempting to capture the essence of algorithmic problem-solving in formal terms.

The Turing machine emerged as the most influential and enduring model of computation. Unlike other contemporary approaches, Turing's model possessed a remarkable combination of mathematical precision and intuitive appeal. A Turing machine consists of several key components that work together to perform computations:

  • An infinite tape divided into discrete cells, each capable of holding a symbol from a finite alphabet
  • A read/write head that can examine and modify the symbol in the current cell
  • A finite control unit that maintains the machine's current state
  • A transition function that determines the machine's next action based on its current state and the symbol being read
These simple components combine to create a computational model of surprising power and generality.

The elegance of Turing machines lies in their ability to capture complex computational processes through simple, mechanical operations. Each step of a Turing machine's computation involves reading a symbol, potentially writing a new symbol, moving the head left or right, and transitioning to a new state. Despite this apparent simplicity, Turing machines can simulate any computation that can be performed by modern digital computers. This remarkable fact, known as the Church-Turing thesis, suggests that Turing machines capture the essence of mechanical computation. The thesis posits that any function that can be computed by an algorithm can be computed by a Turing machine, making these abstract devices the gold standard for defining computability.

Understanding Turing machines provides crucial insights into the structure of computational problems. Through Turing machine analysis, we can classify problems into distinct categories based on their computational requirements. Some problems are decidable, meaning there exists a Turing machine that always halts and correctly determines whether any given input satisfies the problem's conditions. Other problems are undecidable, meaning no such Turing machine can exist. This fundamental distinction has profound implications for computer science, mathematics, and logic. It tells us that there are well-defined mathematical problems for which no algorithmic solution is possible, regardless of computational resources or technological advances.

The study of Turing machines also reveals the deep connections between computation, recursion theory, and mathematical logic. Recursion theory, also known as computability theory, uses Turing machines and related models to investigate which functions and sets can be computed or decided algorithmically. This field has uncovered beautiful mathematical structures, including hierarchies of computational complexity and intricate relationships between different types of computational problems. The insights from recursion theory extend beyond pure mathematics, informing our understanding of programming languages, artificial intelligence, and the foundations of computer science itself.

Modern computational complexity theory builds directly upon the foundations established by Turing machine theory. By analyzing the time and space resources required for Turing machines to solve various problems, researchers have developed sophisticated frameworks for classifying computational problems. These complexity classes, such as P, NP, and PSPACE, provide essential tools for understanding the computational difficulty of real-world problems. The techniques developed for analyzing Turing machines continue to drive advances in algorithm design, cryptography, and optimization. Moreover, the theoretical insights from Turing machine theory guide practical decisions about which problems are worth pursuing algorithmically and which may require alternative approaches.

The foundational role of Turing machines extends to philosophical questions about the nature of mind, consciousness, and artificial intelligence. Turing's original work included not only the mathematical definition of his machines but also profound questions about machine intelligence and the possibility of thinking machines. The computational model provided by Turing machines offers a framework for analyzing these deep questions with mathematical precision. Contemporary debates about artificial intelligence, machine learning, and cognitive science continue to reference the theoretical foundations established by Turing machine theory. Understanding these foundations provides essential context for evaluating claims about computational intelligence and the limits of algorithmic reasoning.

Historical Context and Motivation

The development of Turing machines emerged from a specific historical context that shaped both the mathematical questions being asked and the approaches used to answer them. In the early 1900s, mathematicians were grappling with foundational crises that challenged the very basis of mathematical reasoning. David Hilbert's famous program, announced in 1900 and refined throughout the 1920s, sought to establish mathematics on a completely formal and mechanical foundation. Hilbert envisioned a system where every mathematical statement could be proven or disproven through purely mechanical procedures, eliminating the need for mathematical intuition or creativity. This ambitious program required precise definitions of what constituted a mechanical procedure or effective method for solving mathematical problems.

The challenge of formalizing effective procedures attracted several brilliant mathematicians in the 1930s, each proposing different approaches to capture the essence of mechanical computation. Alonzo Church developed the lambda calculus, a formal system for expressing computation through function definition and application. Stephen Kleene investigated recursive functions, building on earlier work by Kurt Gödel on primitive recursive functions. Emil Post created his own model of computation using production systems and string rewriting rules. Each of these approaches attempted to provide a mathematical foundation for the intuitive notion of algorithmic computation. The remarkable discovery was that all these seemingly different models turned out to be equivalent in computational power, suggesting they had captured something fundamental about the nature of computation itself.

Alan Turing's contribution, published in his groundbreaking 1936 paper On Computable Numbers, with an Application to the Entscheidungsproblem, provided perhaps the most intuitive and influential model of computation[1]. Turing's approach was distinctive in its explicit modeling of a human computer—a person performing calculations according to fixed rules. He analyzed the essential components of such mechanical calculation:

  • The ability to read and write symbols on paper
  • A finite number of mental states governing the computation
  • Deterministic rules for transitioning between states based on observed symbols
  • The capacity to move attention from one location to another on the paper
This analysis led naturally to the abstract machine model that bears his name.

Turing's work was directly motivated by Hilbert's Entscheidungsproblem (decision problem), which asked whether there exists an effective procedure to determine the truth or falsehood of any statement in first-order logic. This problem was central to Hilbert's program because a positive answer would provide a mechanical method for resolving all mathematical questions expressible in logical form. Turing's analysis revealed that no such universal decision procedure could exist. By constructing specific undecidable problems—most famously, the halting problem—Turing demonstrated fundamental limitations on what could be achieved through mechanical computation. This result, along with Gödel's incompleteness theorems, effectively ended Hilbert's program while opening new avenues for understanding the nature and limits of formal reasoning.

The historical development of Turing machines also reflects the broader intellectual climate of the 1930s, when mathematicians were increasingly concerned with precision, formalization, and the foundations of mathematical knowledge. The work of Gödel, Church, Turing, and others represented a shift toward viewing mathematics as a formal system that could itself be studied mathematically. This metamathematical approach treated mathematical theories as objects of mathematical investigation, leading to profound insights about consistency, completeness, and decidability. The techniques developed during this period continue to influence contemporary research in logic, computer science, and mathematics. Understanding this historical context helps appreciate why Turing machines remain central to theoretical computer science nearly a century after their introduction.

The practical implications of Turing's theoretical work became apparent during and after World War II, as electronic computers began to realize the computational potential that Turing had analyzed abstractly. Turing himself played a crucial role in both theoretical and practical developments, contributing to codebreaking efforts during the war and later working on some of the earliest electronic computers. The connection between Turing's abstract machines and real computers was not merely coincidental—the theoretical framework provided essential guidance for understanding what these new machines could and could not accomplish. This interplay between theory and practice continues to characterize computer science, where theoretical insights from computability theory inform practical algorithm design and system architecture.

The historical trajectory from Hilbert's program through Turing's work to modern computer science illustrates how fundamental theoretical questions can drive practical innovations. The quest to understand the nature of mechanical computation led not only to profound mathematical insights but also to the conceptual foundations of the digital age. Contemporary developments in artificial intelligence, quantum computing, and distributed systems continue to reference the theoretical framework established by Turing and his contemporaries. The questions they posed about the limits and possibilities of computation remain relevant as we push the boundaries of what can be achieved algorithmically. This historical perspective provides essential context for understanding why mastering Turing machine theory remains crucial for anyone seeking to understand the foundations of computer science and mathematics.

The evolution of computability theory since Turing's original work has revealed increasingly sophisticated structures and relationships within the landscape of computational problems. Researchers have discovered intricate hierarchies of computational complexity, developed powerful techniques for proving undecidability results, and uncovered deep connections between computation and other areas of mathematics. These developments build directly on the foundational insights provided by Turing machines, demonstrating the enduring value of understanding these theoretical foundations. The historical progression from basic computability questions to advanced complexity theory shows how fundamental theoretical work can generate decades of productive research and practical applications.

How to Use This Book

This book is designed to provide a comprehensive yet accessible introduction to Turing machines, computability theory, and their applications in computer science and mathematics. The content is structured to build your understanding progressively, starting with fundamental concepts and advancing to sophisticated theoretical results and practical applications. Each chapter introduces new ideas while reinforcing and extending concepts from previous chapters, creating a coherent learning experience that develops both theoretical knowledge and practical problem-solving skills. The book balances mathematical rigor with intuitive explanations, ensuring that you develop both the formal understanding necessary for advanced work and the conceptual insights that make the material meaningful and applicable.

The early chapters focus on establishing solid foundations in Turing machine theory and basic computability concepts. You will begin by learning the formal definition of Turing machines and understanding how these abstract devices perform computations. The progression through basic machine construction, different computational models, and the Church-Turing thesis provides essential background for more advanced topics. These foundational chapters include numerous examples and exercises designed to develop your intuition for how Turing machines work and why they provide such a powerful model of computation. The emphasis during this phase is on building confidence with the basic concepts and developing the mathematical maturity needed for later chapters.

The middle sections of the book delve into the core results of computability theory, including decidability, undecidability, and the structure of computational problems. You will encounter fundamental results like the halting problem, Rice's theorem, and various undecidability proofs that reveal the limits of algorithmic computation. These chapters emphasize proof techniques and mathematical reasoning, providing you with the tools needed to analyze new problems and construct your own undecidability arguments. The material includes detailed explanations of key proof methods such as diagonalization, reduction, and self-reference, along with multiple examples showing how these techniques apply to different types of problems.

The later chapters explore advanced topics in recursion theory, complexity theory, and connections to mathematical logic. This material builds on the foundational concepts to investigate sophisticated questions about computational hierarchies, oracle computation, and the relationship between computation and formal logic. These chapters are designed for readers who want to pursue advanced study or research in theoretical computer science. The content includes both classical results and contemporary developments, providing a bridge between foundational material and current research directions. Each advanced topic is motivated by connections to earlier material and practical applications, ensuring that the theoretical development remains grounded and meaningful.

Throughout the book, several pedagogical features support your learning process and help you engage actively with the material:

  • Worked examples that demonstrate key concepts and proof techniques in detail
  • Progressive exercises that range from basic skill-building to challenging theoretical problems
  • Historical notes that provide context and motivation for important developments
  • Connections to applications that show how theoretical results inform practical computer science
  • Summary sections that highlight key concepts and their relationships
  • Further reading suggestions that guide deeper exploration of specific topics
These features are designed to accommodate different learning styles and support both self-study and classroom use.

For readers with different backgrounds and goals, the book can be approached in several ways. If you are new to theoretical computer science, you should work through the chapters sequentially, paying particular attention to the foundational material in the early chapters. The exercises and examples are especially important for developing the mathematical intuition needed for advanced topics. If you have some background in computability theory, you might focus on specific chapters that address your particular interests or needs. The book's modular structure allows for selective reading while maintaining the conceptual connections between different topics. Advanced readers might use the book as a reference for specific results or proof techniques, taking advantage of the comprehensive coverage and detailed explanations.

The mathematical prerequisites for this book are discussed in detail in the next section, but the general approach assumes familiarity with basic mathematical reasoning and proof techniques. The book includes refresher material on essential concepts from set theory, logic, and discrete mathematics, but you should be comfortable with mathematical notation and formal definitions. The level of mathematical sophistication increases gradually throughout the book, allowing you to develop advanced skills through guided practice with increasingly challenging material. The emphasis throughout is on understanding the underlying concepts rather than memorizing specific results, preparing you to apply these ideas to new problems and contexts.

To maximize your learning from this book, you should engage actively with the material rather than reading passively. Work through the examples carefully, attempt the exercises seriously, and take time to understand the intuition behind formal definitions and proofs. The concepts in computability theory often require time to fully appreciate, so don't be discouraged if some ideas seem abstract or difficult initially. The interconnected nature of the material means that concepts that seem mysterious at first often become clear as you encounter them in different contexts and applications. Keep notes on key definitions and results, and try to articulate the main ideas in your own words. This active engagement will help you develop the deep understanding needed to apply these powerful theoretical tools effectively.

Mathematical Prerequisites

Success with this book requires a solid foundation in several areas of mathematics, particularly those involving formal reasoning, abstract thinking, and proof techniques. The most essential prerequisite is comfort with mathematical proofs and formal mathematical reasoning. You should be familiar with different proof techniques including direct proof, proof by contradiction, proof by induction, and proof by construction. The ability to read and understand formal mathematical definitions is crucial, as computability theory relies heavily on precise definitions of computational concepts. You should also be comfortable with the logical structure of mathematical arguments and the distinction between necessary and sufficient conditions. These skills are fundamental to understanding the theoretical development throughout the book.

A strong background in discrete mathematics provides essential tools for working with Turing machines and computability theory. Key topics include:

  • Set theory: operations on sets, relations, functions, cardinality, and countability arguments
  • Logic: propositional and predicate logic, logical connectives, quantifiers, and logical equivalence
  • Combinatorics: counting principles, permutations, combinations, and basic probability
  • Graph theory: basic concepts of graphs, trees, and graph algorithms
  • Number theory: divisibility, modular arithmetic, and basic properties of integers
While the book includes brief reviews of these topics where needed, you should have prior exposure to these concepts and be comfortable using them in mathematical arguments.

Knowledge of formal language theory and automata theory is highly beneficial, though not strictly required. Understanding finite automata, regular expressions, context-free grammars, and pushdown automata provides valuable background for appreciating how Turing machines extend these simpler computational models. If you have studied these topics previously, you will find natural connections to the Turing machine material and be better prepared to understand the significance of various results. However, the book is designed to be accessible to readers who encounter Turing machines as their first exposure to formal models of computation. Essential concepts from formal language theory are introduced as needed, with sufficient detail to support the main development.

Some familiarity with algorithm analysis and complexity theory will enhance your understanding of later chapters, particularly those dealing with computational complexity and efficiency considerations. You should understand basic concepts such as:

  • Big-O notation and asymptotic analysis
  • Time and space complexity of algorithms
  • Basic algorithmic techniques like divide-and-conquer and dynamic programming
  • Elementary data structures and their operations
These concepts become particularly relevant when studying the computational resources required by Turing machines and the classification of problems by their computational difficulty.

A basic understanding of mathematical logic will prove valuable, especially for the later chapters that explore connections between computability and logic. You should be familiar with the syntax and semantics of first-order logic, including concepts such as:

  • Logical formulas, variables, and quantifiers
  • Models and interpretations of logical systems
  • Validity, satisfiability, and logical consequence
  • Basic proof systems and formal deduction
While these topics are reviewed where necessary, prior exposure will help you appreciate the deep connections between computational and logical concepts that emerge throughout the book.

Perhaps most importantly, you should approach this material with the right mathematical mindset. Computability theory involves abstract thinking about computation itself, rather than specific computational problems or programming techniques. You need to be comfortable working with abstract mathematical objects, reasoning about infinite processes, and understanding concepts that may not have immediate practical applications. The ability to think precisely about subtle distinctions—such as the difference between a problem being difficult and being impossible—is crucial for success in this field. Patience and persistence are essential, as many of the key insights in computability theory are counterintuitive and require careful thought to fully appreciate.

For readers who find gaps in their mathematical background, several strategies can help you succeed with this book. First, take advantage of the review material and examples provided throughout the text. These are designed to refresh your memory and provide the specific context needed for computability theory applications. Second, don't hesitate to consult additional resources for background material. The further reading section provides recommendations for supplementary texts on discrete mathematics, logic, and related topics. Third, work through the exercises carefully, as they are designed to reinforce both new concepts and prerequisite material. Finally, remember that mathematical maturity develops through practice—concepts that seem difficult initially often become clear through repeated exposure and application.

The mathematical prerequisites should not discourage you from engaging with this fascinating subject. While computability theory is mathematically sophisticated, the core ideas are accessible to anyone willing to think carefully about the nature of computation. The book is designed to support your learning process, providing the necessary mathematical tools and developing your theoretical reasoning skills progressively. The investment in mastering these mathematical foundations will pay dividends not only in understanding computability theory but also in developing the analytical skills needed for advanced work in computer science, mathematics, and related fields. The precision and rigor required by this material will enhance your ability to think clearly about complex problems and construct convincing arguments for your conclusions.

Back to contents

Notes

Introduction

  1. 1. A. M. Turing, "On computable numbers, with an application to the Entscheidungsproblem," Proceedings of the London Mathematical Society, 1936

This is the end of the free sample. The full book has 15 chapters.

Want this book written for you?

Tell us your goals and background, and get your own version of this book, tailored by AI to you.

User avatar
User avatar
User avatar
User avatar
User avatar
9,273 books created by readers like you
As seen on:
Product HuntRedditMediumDEV

Benefits of AI-tailored books

Read one book, not ten:
all the Computer Science Theory knowledge you need, gathered into a single book.
Save days of learning:
tell us your goals, choose your topics, and the whole book is built around them.
Learn effortlessly:
Computer Science Theory book written for your specific background and expertise.
Understand at a glance:
includes charts, tables, timelines, checklists, decision trees, and more.
Stay current:
written the day you order it, not years ago.
Trust what you read:
every book is checked for accuracy, with real research when your subject needs it.

Create your unique book in 3 steps

1. Select your focus

Select the focus of your Computer Science Theory book and share your background

Your Computer Science Theory book focus
2. Personalize your book

Specify your goals and choose sub-topics to include

3. Get your tailored book

Your book is ready in 10 minutes. Read it online, download as EPUB or PDF, or send to Kindle.

Frequently asked questions

What is TailoredRead?

TailoredRead creates complete, full-length nonfiction ebooks, written specifically for you. Tell us what you want to learn and why, and TailoredRead writes you a complete ebook on it, with charts, tables, and diagrams throughout. Read it online, on Kindle, or on any e-reader, or download it as a PDF or EPUB. Every book is written fresh the day you order it.

How is the book tailored to me?

Before anything is written, you answer a few short questions about your goals, your background, and the topics you care about. Your book is then planned around your answers: written at your level, focused on your goals, and covering the topics you chose, instead of the one-size-fits-all book a store sells everyone.

Will it read like generic AI content?

No. Your book isn't a chat transcript: it's planned chapter by chapter before a single word is written, told in a clear book voice, and explains ideas visually with charts, tables, and diagrams. After writing, every book goes through an editorial pass that polishes chapters so the book reads consistent from start to finish. Judge for yourself: browse thousands of sample books on our Explore Books page.

How accurate is the content?

Our AI first checks whether your subject needs live research. Niche and fast-moving subjects are researched before writing, and the book plan and chapters are grounded in what it finds. After writing, every book goes through a quality pass that checks its facts and consistency, and researched books list their sources in a Notes section at the back.

How long is the book?

You choose the length: Comprehensive (250-300 pages), Detailed (150-200 pages), Essential (70-100 pages), or Short (30-50 pages).

Does the book include visuals?

Yes. Every book includes charts, tables, and diagrams: timelines, checklists, step-by-step guides, decision trees, comparison tables, matrices, and bar charts. A typical book includes dozens of these visual elements.

Can I read it on Kindle? What formats can I download?

Yes. Every book can be read in our online reader or downloaded as a PDF or EPUB. The EPUB can be opened with Kindle, Apple Books, Kobo, and any e-reader. The Commercial and Author licenses also include an editable Word (DOCX) and Markdown download.

How much does it cost?

About the price of a regular ebook. The exact price depends on your book's length and complexity, from $2 for the shortest books to $35 for the most comprehensive, and it's shown when you review your book, before you commit to anything. Each book is a one-time purchase, yours to keep, no subscription. Licenses that let you share, teach, or publish your book range from $35.99 to $49.99.

Can I preview the book before purchasing?

Before you pay, you'll see what your book will cover: the title, a detailed description, the estimated length, and the complete chapter-by-chapter table of contents, so you know what you're getting before you decide. The full text itself is written after you purchase.

How long does it take to create a book?

About 10 minutes. You can start reading the opening chapters while the rest is still being written.

Personalize and buy this book

Get your personalized version, tailored by AI to your goals, background, and interests