scispace - formally typeset
Search or ask a question
Topic

Computability

About: Computability is a research topic. Over the lifetime, 2829 publications have been published within this topic receiving 85162 citations.


Papers
More filters
Book
01 Jan 2007
TL;DR: This chapter discusses automata theory in the context of finite state machines, which is concerned with Turing Machines, and its applications in linguistics, where Turing Machines are concerned with language recognition.
Abstract: PART I: INTRODUCTION 1 Why Study Automata Theory? 2 Review of Mathematical Concepts 2.1 Logic 2.2 Sets 2.3 Relations 2.4 Functions 2.5 Closures 2.6 Proof Techniques 2.7 Reasoning about Programs 2.8 References 3 Languages and Strings 3.1 Strings 3.2 Languages 4 The Big Picture: A Language Hierarchy 4.1 Defining the Task: Language Recognition 4.2 The Power of Encoding 4.3 A Hierarchy of Language Classes 5 Computation 5.1 Decision Procedures 5.2 Determinism and Nondeterminism 5.3 Functions on Languages and Programs PART II: FINITE STATE MACHINES AND REGULAR LANGUAGES 6 Finite State Machines 6.2 Deterministic Finite State Machines 6.3 The Regular Languages 6.4 Programming Deterministic Finite State Machines 6.5 Nondeterministic FSMs 6.6 Interpreters for FSMs 6.7 Minimizing FSMs 6.8 Finite State Transducers 6.9 Bidirectional Transducers 6.10 Stochastic Finite Automata 6.11 Finite Automata, Infinite Strings: Buchi Automata 6.12 Exercises 7 Regular Expressions 7.1 What is a Regular Expression? 7.2 Kleene's Theorem 7.3 Applications of Regular Expressions 7.4 Manipulating and Simplifying Regular Expressions 8 Regular Grammars 8.1 Definition of a Regular Grammar 8.2 Regular Grammars and Regular Languages 8.3 Exercises 9 Regular and Nonregular Languages 9.1 How Many Regular Languages Are There? 9.2 Showing That a Language Is Regular.124 9.3 Some Important Closure Properties of Regular Languages 9.4 Showing That a Language is Not Regular 9.5 Exploiting Problem-Specific Knowledge 9.6 Functions on Regular Languages 9.7 Exercises 10 Algorithms and Decision Procedures for Regular Languages 10.1 Fundamental Decision Procedures 10.2 Summary of Algorithms and Decision Procedures for Regular Languages 10.3 Exercises 11 Summary and References PART III: CONTEXT-FREE LANGUAGES AND PUSHDOWN AUTOMATA 144 12 Context-Free Grammars 12.1 Introduction to Grammars 12.2 Context-Free Grammars and Languages 12.3 Designing Context-Free Grammars 12.4 Simplifying Context-Free Grammars 12.5 Proving That a Grammar is Correct 12.6 Derivations and Parse Trees 12.7 Ambiguity 12.8 Normal Forms 12.9 Stochastic Context-Free Grammars 12.10 Exercises 13 Pushdown Automata 13.1 Definition of a (Nondeterministic) PDA 13.2 Deterministic and Nondeterministic PDAs 13.3 Equivalence of Context-Free Grammars and PDAs 13.4 Nondeterminism and Halting 13.5 Alternative Definitions of a PDA 13.6 Exercises 14 Context-Free and Noncontext-Free Languages 14.1 Where Do the Context-Free Languages Fit in the Big Picture? 14.2 Showing That a Language is Context-Free 14.3 The Pumping Theorem for Context-Free Languages 14.4 Some Important Closure Properties of Context-Free Languages 14.5 Deterministic Context-Free Languages 14.6 Other Techniques for Proving That a Language is Not Context-Free 14.7 Exercises 15 Algorithms and Decision Procedures for Context-Free Languages 15.1 Fundamental Decision Procedures 15.2 Summary of Algorithms and Decision Procedures for Context-Free Languages 16 Context-Free Parsing 16.1 Lexical Analysis 16.2 Top-Down Parsing 16.3 Bottom-Up Parsing 16.4 Parsing Natural Languages 16.5 Stochastic Parsing 16.6 Exercises 17 Summary and References PART IV: TURING MACHINES AND UNDECIDABILITY 18 Turing Machines 18.1 Definition, Notation and Examples 18.2 Computing With Turing Machines 18.3 Turing Machines: Extensions and Alternative Definitions 18.4 Encoding Turing Machines as Strings 18.5 The Universal Turing Machine 18.6 Exercises 19 The Church-Turing 19.1 The Thesis 19.2 Examples of Equivalent Formalisms 20 The Unsolvability of the Halting Problem 20.1 The Language H is Semidecidable but Not Decidable 20.2 Some Implications of the Undecidability of H 20.3 Back to Turing, Church, and the Entscheidungsproblem 21 Decidable and Semidecidable Languages 21.2 Subset Relationships between D and SD 21.3 The Classes D and SD Under Complement 21.4 Enumerating a Language 21.5 Summary 21.6 Exercises 22 Decidability and Undecidability Proofs 22.1 Reduction 22.2 Using Reduction to Show that a Language is Not Decidable 22.3 Rice's Theorem 22.4 Undecidable Questions About Real Programs 22.5 Showing That a Language is Not Semidecidable 22.6 Summary of D, SD/D and (R)SD Languages that Include Turing Machine Descriptions 22.7 Exercises 23 Undecidable Languages That Do Not Ask Questions about Turing Machines 23.1 Hilbert's 10th Problem 23.2 Post Correspondence Problem 23.3 Tiling Problems 23.4 Logical Theories 23.5 Undecidable Problems about Context-Free Languages APPENDIX C: HISTORY, PUZZLES, AND POEMS 43 Part I: Introduction 43.1 The 15-Puzzle Part II: Finite State Machines and Regular Languages 44.1 Finite State Machines Predate Computers 44.2 The Pumping Theorem Inspires Poets REFERENCES INDEX Appendices for Automata, Computability and Complexity: Theory and Applications: * Math Background* Working with Logical Formulas* Finite State Machines and Regular Languages* Context-Free Languages and PDAs* Turing Machines and Undecidability* Complexity* Programming Languages and Compilers* Tools for Programming, Databases and Software Engineering* Networks* Security* Computational Biology* Natural Language Processing* Artificial Intelligence and Computational Reasoning* Art & Entertainment: Music & Games* Using Regular Expressions* Using Finite State Machines and Transducers* Using Grammars

50 citations

Journal ArticleDOI
TL;DR: To compute the result of the composition of functions and to solve fixpoint equations, this work uses a special kind of network of parallel processes built up in a modular way and proves that every computable function is continuous.

50 citations

Book ChapterDOI
18 Dec 1997
TL;DR: The main result is a direct proof, via a small-step unloading machine, of the correctness of compilation to a closure-based abstract machine and of CIU equivalence for an object-oriented language.
Abstract: We adopt the untyped imperative object calculus of Abadi and Cardelli as a minimal setting in which to study problems of compilation and program equivalence that arise when compiling object-oriented languages. Our main result is a direct proof, via a small-step unloading machine, of the correctness of compilation to a closure-based abstract machine. Our second result is that contextual equivalence of objects coincides with a form of Mason and Talcott's CIU equivalence; the latter provides a tractable means of establishing operational equivalences. Finally, we prove correct an algorithm, used in our prototype compiler, for statically resolving method offsets. This is the first study of correctness of an object-oriented abstract machine, and of CIU equivalence for an object-oriented language.

50 citations

Journal ArticleDOI
Dana Scott1
TL;DR: Logic has been long interested in whether answers to certain questions are computable in principle, since the outcome puts bounds on the possibilities of formalization; however, much remains to be done in showing how abstract conceptualizations can (or cannot) be actualized before the authors can say they have a unified theory.
Abstract: Logic has been long interested in whether answers to certain questions are computable in principle, since the outcome puts bounds on the possibilities of formalization. More recently, precise comparisons in the efficiency of decision methods have become available through the developments in complexity theory. These, however, are applications to logic, and a big question is whether methods of logic have significance in the other direction for the more applied parts of computability theory.Programming languages offer an obvious opportunity as their syntactic formalization is well advanced; however, the semantical theory can hardly be said to be complete. Though we have many examples, we have still to give wide-ranging mathematical answers to these queries: What is a machine? What is a computable process? How (or how well) does a machine simulate a process? Programs naturally enter in giving descriptions of processes. The definition of the precise meaning of a program then requires us to explain what are the objects of computation (in a way, the statics of the problem) and how they are to be transformed (the dynamics).So far the theories of automata and of nets, though most interesting for dynamics, have formalized only a portion of the field, and there has been perhaps too much concentration on the finite-state and algebraic aspects. It would seem that the understanding of higher-level program features involves us with infinite objects and forces us to pass through several levels of explanation to go from the conceptual ideas to the final simulation on a real machine. These levels can be made mathematically exact if we can find the right abstractions to represent the necessary structures.The experience of many independent workers with the method of data types as lattices (or partial orderings) under an information content ordering, and with their continuous mappings, has demonstrated the flexibility of this approach in providing definitions and proofs, which are clean and without undue dependence on implementations. Nevertheless much remains to be done in showing how abstract conceptualizations can (or cannot) be actualized before we can say we have a unified theory.

50 citations

Journal ArticleDOI
TL;DR: To consider more conf defining a Selkow-type parallel/ machine, and to compare the power e with that of an allhim, it should be pointed out that tial machines may well be of consideral picture processing, since they pr#ide a corn li:2 between purely se.

49 citations


Network Information
Related Topics (5)
Finite-state machine
15.1K papers, 292.9K citations
86% related
Mathematical proof
13.8K papers, 374.4K citations
86% related
Model checking
16.9K papers, 451.6K citations
85% related
Time complexity
36K papers, 879.5K citations
85% related
Concurrency
13K papers, 347.1K citations
85% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
202344
2022119
202189
202098
2019111
201897