What Is Arguments and Proof Using Automate Theory
What Is Arguments and Proof Using Automate Theory
What Is Arguments and Proof Using Automate Theory
• In 1930s, Turing studied an abstract machine (Turing machine) that had all the
capabilities of today’s computers. – Turing’s goal was to describe precisely the
boundary between what a computing machine could do and what it could not
do.
• In 1940s and 1950s, simpler kinds of machines (finite automata) were studied.
– Chomsky began the study of formal grammars that have close relationships to
abstract automata and serve today as the basis of some important software
components.
Introduction:
The goal of formal methods is to ensure that the system meets its
intended behavior and is free of errors or defects.
Why Study Automata?
• Automata theory presents many useful models for software and hardware.
– In compilers we use finite automata for lexical analyzers, and push down automatons for
parsers.
– In search engines, we use finite automata to determine tokens in web pages. – Finite
automata model protocols, electronic circuits.
– Context-free grammars are used to describe the syntax of essentially every programming
language. – Automata theory offers many useful models for natural language processing.
• When developing solutions to real problems, we often confront the limitations of what
software can do. – Undecidable things – no program whatever can do it. – Intractable
things – there are programs, but no fast programs.
Overview of Automata Theory:
A simple machine that can recognize • A machine that can recognize any
regular languages, which are recursively enumerable language,
languages that can be described by which includes all formal languages
regular expressions. that can be described by a computer
program.
Pushdown Automata: a machine
that can recognize context-free • The computational power of these
languages, which are languages that machines increases from finite
can be described by context-free automata to pushdown automata to
grammars. Turing machines.
Arguments and Proof using Automata Theory:
Automata theory can be used to provide arguments and proof for the
correctness of software and hardware systems by specifying the behavior
of the system and verifying that it meets its intended behavior.