The language of the universal Turing machine
Source: Lecture 20, slide 38.
An accepting state in an automaton is a state such that if the machine ends in that state, the machine accepts.
Source: Lecture 12, slide 41.
A Turing Machine accepts a string
Source: Lecture 20, slide 15.
A nondeterministic Turing machine accepts a string
Source: Lecture 20, slide 50.
In the context of DPDAs, a table that says what operations to perform on the stack and what state toe nter on each input/stack pair.
Source: Lecture 17, slide 42.
Source: Lecture 00, slide 91.
An alphabet is a finite set of characters, denoted by
Source: Lecture 12, slide 20.
A CFG is said to be ambiguous if there is at least one string with two or more parse trees. Some languages are inherently ambiguous, meaning no unambiguous grammar exists for them.
Source: Lecture 16, slide 31.
When
Source: Lecture 02, slide 9.
A binary relation
Source: Lecture 06, slide 10.
In a proof, an object
Source: Lecture 01, slide 30.
The number of arguments a given predicate takes.
Source: Lecture 10, slide 10.
A mathematical model of a computing device.
Source: Lecture 12, slide 9.
Proof that a property,
Source: Lecture 03, slide 10.
Source: Lecture 02, slide 24.
Big-O notation is a way of simply describing the time complexity of a problem by ignoring everything except the term that grows the fastest with respect to the input.
Formally, for two functions f :
For example,
Source: Lecture 24, slide 21.
A bijective function is a function that is injective and surjective.
Source: Lecture 06, slide 46.
The binary number system is a base 2 representation of numbers, as an example,
Source: Lecture 04, slide 22.
A binary relation is a property that describes whether two objects are related in some way.
Given binary relation
Source: Lecture 05, slide 43.
The cardinality of a set
Source: Lecture 00, slide 47.
Source: Lecture 07, slide 47.
Cantor's Theorem states that the cardinality of a set is always less than the cardinality of its power set. For any set
Source: Lecture 00, slide 162.
The Cartesian Product of
Source: Lecture 05, slide 6.
Every effective method of computation is either equivalent to or weaker than a Turing machine.
Source: Lecture 19, slide 84.
A clause is a many-way OR (disjunction) of literals.
Source: Lecture 11, slide 50.
A closure property of some class of languages is some operation that, if applied to languages within that class, produces a language still within that class.
Source: Lecture 13, slide 29.
The set of languages whose complements are recognized by a TM.
Source: Lecture 23, slide 32.
A language in co-RE is called co-recognizable.
Source: Lecture 23, slide 32.
A language which is not in co-RE is called co-unrecognizable.
Source: Lecture 23, slide 32.
A language L can be decided efficiently iff there is a TM that decides it in polynomial time.
Source: Lecture 24, slide 51.
The codomain of a function is the set of elements into which the function maps.
Source: Lecture 06, slide 33.
If
Source: Lecture 13, slide 27.
The complement construction converts a DFA
Source: Lecture 13, slide 23.
The time complexity of a TM M is a function (typically denoted f(n)) that measures the worst-case number of steps M takes on any input of length n.
Source: Lecture 24, slide 15.
The time complexity class TIME(f(n)) is the set of languages decidable by a singletape TM with runtime O(f(n)).
Source: Lecture 24, slide 39.
The complexity class P contains all problems that can be solved in polynomial time.
Formally, P is the union of all complexity classes TIME(
Source: Lecture 24, slide 53.
The complexity class NP (nondeterministic polynomial time) contains all problems that can be solved in polynomial time by a single-tape NTM.
Formally, NP is the union of all complexity classes NTIME(
Source: Lecture 25, slide 48.
A natural number greater than 1 is composite if it is not prime.
Source: Lecture 20, slide 51.
The composition of two functions
Source: Lecture 06, slide 50.
A function
"On input
Source Lecture 06, slide 19.
The concatenation of two languages
Source: Lecture 14, slide 19.
A propositional logic formula
Source: Lecture 11, slide 51.
A formalism for defining the Context-Free Languages. Formally, a collection of four objects: (1) A set of nonterminal symbols (variables), (2) a set of terminal symbols (alphabet), (3) a set of production rules that convert nonterminals to terminals, (4) a start symbol that begins the derivation.
Source: Lecture 16, slide 06.
If L is a language and there is some CFG G such that L =
Source: Lecture 16, slide 20.
The contrapositive of "If
Source: Lecture 02, slide 49.
When
Source: Lecture 02, slide 9.
A continued fraction is either an integer
Source: Lecture 04, slide 33.
The SAT problem is NP-complete.
Source: Lecture 26, slide 27.
A cycle in a graph is a path from some node
Source: Lecture 05, slide 26.
See directed acyclic graph
A language
Source: Lecture 20, slide 19.
A Turing Machine which always halts (never goes into an infinite loop).
Source: Lecture 20, slide 18.
A decision problem is a problem whose answer has a yes or no answer.
Source: Lecture 12, slide 16.
Pair of transformation rules that allow the expression of conjunctions and disjunctions purely in terms of each other via negation:
In simple English: "The negation of a conjunction is the disjunction of the negations" and "The negation of a disjunction is the conjunction of the negations".
Source: Lecture 09, slide 42.
The sequence of steps that takes a Context-Free Grammar from nonterminals to terminals (and a member of the language). A leftmost derivation expands the leftmost nonterminal, where a rightmost derivation expands the rightmost nonterminal at each step.
Source: Lecture 16, slide 19.
A model of computation is deterministic if at every point in the computation, there is exactly one choice that can make.
Source: Lecture 13, slide 32.
A DFA (deterministic finite automaton) is a finite automaton where for every combination of a state and a symbol
Source: Lecture 12, slide 52.
A context-free language that is recognized by a DPDA.
Source: Lecture 17, slide 45.
A PDA with the extra property that for each state in the PDA, and for any combination of a current input symbol and a current stack symbol, there is at most one transition defined.
Source: Lecture 17, slide 39.
The diagonalization language
Source: Lecture 21, slide 20.
The set
Source: Lecture 07, slide 27.
The difference of two sets (denoted
Source: Lecture 00, slide 67.
A directed acyclic graph (DAG) is a directed graph with no cycles.
Source: Lecture 05, slide 31.
A direct proof is a proof that begins with a set of initial assumptions (called hypotheses), then applies sound logical reasoning to arrive at a conclusion.
Source: Lecture 01, slide 7.
For any integers
Source: Lecture 04, slide 50.
The domain of a function is the set of elements that the function accepts as inputs.
Source: Lecture 06, slide 33.
In first-order logic, each variable refers to some object in a set called the domain of discourse.
Source: Lecture 10, slide 8.
The DPLL algorithm is a modification of the simple backtracking search algorithm (named for Davis, Putnam, Logemann, and Loveland).
Source: Lecture 11, slide 62.
A form of computation with the following properties:
Computation consists of a set of steps
Fixed rules governing how one step leads to the next
Any computation that yields an answer does so in finitely many steps
Any computation that yields an answer always yields the correct answer
Source: Lecture 19, slide 83.
An element of a set is an object contained in that set. We write
Source: Lecture 00, slide 47.
Given two strings
Source: Lecture 15, slide 52.
The empty set (denoted
Source: Lecture 00, slide 40.
The string containing no characters. Denoted
Source: Lecture 12, slide 20.
A sum of no numbers is called the empty sum and is defined to be zero
Source: Lecture 03, slide 18.
Two formulas
Source: Lecture 11, slide 87.
A binary relation
Source: Lecture 05, slide 58.
Given an equivalence relation
Source: Lecture 05, slide 63.
An integer
Source: Lecture 01, slide 8.
Source: Lecture 10, slide 20.
An existential statement is a statement of the form "there is some
Source: Lecture 01, slide 62.
An existence proof is a proof that there is exactly one object meeting some criterion. It is typically split into an existence proof that shows that at least one object satisfying the criterion exists, and a uniqueness proof that shows that at most one object satisfying the criterion exists.
Source: Lecture 05, slide 67.
Mathematical machines for determining whether a string is contained within some language. An abstraction of computers with finite resource constraints. Provide upper bounds for the computing machines that we can actually build.
Source: Lecture 12, slide 13.and 26.
A finite set is a set containing finitely many elements.
A logical system for reasoning about properties of objects.
Source: Lecture 10, slide 4.
A set of strings.
Source: Lecture 12, slide 21.
A function is a means of associating each object in one set (the domain) with an object in a different set (the codomain).
Source: Lecture 06, slide 29.
A graph is an ordered pair
Source: Lecture 05, slide 17.- 21.
A Turing Machine halts if it accepts or rejects.
Source: Lecture 20, slide 15.
Give a Turing Machine
As a formal language
Note:
Source: Lecture 21, slide 49.and Lecture 22, slide 3.
A Hasse diagram is a drawing of a partial order in which there are no self-loops, no redundant edges, and in which the edges are implicitly directed upward.
Source: Lecture 06, slide 22.- 21.
A heuristic is an approach to solving a problem that may or may not work correctly.
Source: Lecture 11, slide 59.
A high-level description of a Turing machine is a description of the form
Source: Lecture 20, slide 6.
The principle of mathematical induction states that if for some property
Source: Lecture 03, slide 5.
The property
Source: Lecture 03, slide 5.
Proof within an inductive proof that for all
Source: Lecture 03, slide 10.
An implication is a statement of the form: If
Whenever
Source: Lecture 02, slide 9.
An independent set in an undirected graph is a set of vertices that have no edges between them
Source: Lecture 26, slide 44.
An injective function is a function that associates each element of the domain with a unique element in the codomain. Formally,
Source: Lecture 06, slide 41.
Cardinal numbers introduced to denote the size of infinite sets, such as
Source: Lecture 06, slide 53.
An infinite set is a set containing infinitely many elements.
Source: Lecture 00, slide 48.
The string fed into an automaton.
Source: Lecture 12, slide 31.
An instantaneous description (or ID) of the execution of a program (TM, WB program, etc.) is a string encoding of a snapshot of that program at one instant in time.
Source: Lecture 20, slide 64.
An integer is a positive or negative whole number (e.g. -3, -2, -1, 0, 1, 2, 3, ...). The set of all integers is denoted
Source: Lecture 00, slide 48.
The intersection of two sets (denoted
Source: Lecture 00, slide 65.
A number that is not rational is called irrational.
Source: Lecture 02, slide 28.
Operation on languages defined as
Source: Lecture 14, slide 25.
The language of an automaton is the set of strings that it accepts.
Source: Lecture 12, slide 48.
The language of a regular expression is the language described by that regular expression
Source: Lecture 15, slide 7.
A lemma is a small result that helps establish a larger theorem.
Source: Lecture 01, slide 119.
A literal in propositional logic is a variable or its negation.
Source: Lecture 11, slide 50.
A loop invariant is a statement of the conditions that should be true on entry into a loop and that are guaranteed to remain true on every iteration of the loop. Loop invariants are used in some inductive proofs.
Source: Lecture 03, slide 49.
Operators used to encode how propositions are related. Examples of logical connectives are logical negation, conjuction, disjunction, implication and biconditional.
Source: Lecture 09, slide 14.
Logical AND (read as "p AND q").
Source: Lecture 09, slide 16.
Logical OR (read as "p OR q").
Source: Lecture 09, slide 16.
If two propositional logic statements always have the same truth values as one another, they are called logically equivalent.
Source: Lecture 09, slide 41.
Source: Lecture 09, slide 20.
Logical NOT (read as "not p"). ¬p is true iff p is false.
Source: Lecture 09, slide 16.
See loops infinitely.
A Turing Machine loops infinitely (or just loops) on a string
Source: Lecture 20, slide 15.
A nondeterministic Turing machine loops infinitely on a string
Source: Lecture 20, slide 50.
If
Source: Lecture 06, slide 33.
Theorems:
Source: Lecture 22, slide 25.
A function
Source: Lecture 22, slide 24.
Given an undirected graph G, a matching in G is a set of edges such that no two edges share an endpoint.
Source: Lecture 25, slide 11.
A maximum matching is a matching with the largest possible number of edges.
Source: Lecture 25, slide 11.
A device that an automaton can use to store extra information.
Source: Lecture 17, slide 7.
A natural number is a whole number greater than or equal to zero (e.g. 0, 1, 2, 3, ...) . The set of all natural numbers is denoted
Source: Lecture 00, slide 48.
An NFA (nondeterministic finite automaton) is a finite automaton allowing any number of transitions out of each state on any symbol, as well as
Source: Lecture 13, slide 31.
A function is in Negation Normal Form if the only connectives are
Source: Lecture 11, slide 71.
A model of computation is nondeterministic if the computing machine may have multiple decisions that it can make at one point. The machine accepts if any series of choices leads to an accepting state.
Source: Lecture 13, slide 32.
A Turing machine in which there may be multiple transitions defined for a particular state/input combination. If any possible set of choices causes the machine to accept, it accepts.
Source: Lecture 20, slide 49.
The complexity class NP (nondeterministic polynomial time) contains all problems that can be solved in polynomial time by a single-tape NTM.
Formally, NP is the union of all complexity classes NTIME(
Source: Lecture 25, slide 48.
A language L is called NP-complete iff L is NP-hard and L
Source: Lecture 26, slide 20.
A language L is called NP-hard iff for every L'
Source: Lecture 26, slide 20.
An integer
Source: Lecture 01, slide 8.
A relation that ranks elements against one another.
Source: Lecture 06, slide 4.
The complexity class P contains all problems that can be solved in polynomial time.
Formally, P is the union of all complexity classes TIME(
Source: Lecture 24, slide 53.
A string that is the same forwards and backwards.
Source: Lecture 17, slide 21.
A tree encoding the steps in a derivation.
Source: Lecture 16, slide 29.
A binary relation
Source: Lecture 06, slide 12.
A pair
Source: Lecture 06, slide 12.
A path between two nodes
Source: Lecture 05, slide 21.
A piecewise function is a function defined by a rule that is defined by cases.
Source: Lecture 06, slide 39.
If
Source: Lecture 02, slide 62.
Any problem where the solution requires a number of steps that scales polynomially with the size of the problem is a polynomial-time problem.
More formally, any problem that can be solved in TIME(
Source: Lecture 24, slide 53.
A polynomial-time mapping reduction is a function
Source: Lecture 24, slide 67.
A polynomial-time verifier is a deterministic TM that takes as input '<'w,x'>' and deterministically checks whether the string x solves the problem w (also a string).
This verifier needs to run in time polynomial with respect to the length of w (not the length of x)
Source: Lecture 25, slide 53.
To remove a symbol from the top of a stack (of a PDA).
Source: Lecture 17, slide 9.
The power set of a set
Source: Lecture 00, slide 85.
A logical connective in first-order logic which describes the properties of objects.
Source: Lecture 10, slide 4.
A PDA (corresponding to a CFG) where each step either predicts which production to use or matches some symbol of the input.
Source: Lecture 17, slide 34.
A proposition is a statement that is, by itself, either true or false (but not both)
Source: Lecture 09, slide 7. and Rosen, page 2.
Propositional logic is a mathematical system for reasoning about propositions and how they relate to one another.
Source: Lecture 09, slide 13.
A variable which that is either true or false.represents a proposition.
Source: Lecture 09, slide 14.
A proof by cases is a proof in which several different possibilities are listed, and each possibility is proven independently. Many proofs contain a proof by cases as a small piece of a larger result.
Source: Lecture 00, slide 84.
Proof by contradiction is a form of proof that establishes the truth or validity of a proposition by showing that the proposition\92s false would imply a contradiction.
Source: Lecture 02, slide 19.
To prove
Source: Lecture 02, slide 52.
A set
Source: Lecture 00, slide 80.
Theorem that describes an essential property of all regular languages. Informally, it says that any string of length 3 or greater can be split into three pieces, the second of which can be “pumped.†that is, have a middle section of the word repeated an arbitrary number of times — to produce a new word which also lies within the same language.
Source: Lecture 15, slide 49.
For any context-free language
Source: Lecture 18, slide 14.
A literal is called pure if its negation appears nowhere in the formula.
Source: Lecture 11, slide 60.
To put a symbol onto the top of a stack (of a PDA).
Source: Lecture 17, slide 9.
A finite automaton equipped with a stack-based memory.
Source: Lecture 17, slide 10.
A logical connective in first-order logic which allows us to reason about multiple objects simultaneously.
Source: Lecture 10, slide 4.
A rational number is a number
Source: Lecture 02, slide 28.
A node
Source: Lecture 05, slide 23.
A real number is any number that can be represented by a number with a (possibly repeating) infinite decimal (e.g.
Source: Lecture 00, slide 48.
See recursively enumerable.
A Turing Machine for a language
Source: Lecture 20, slide 17.
See decidable.
A language is called recognizable or recursively enumerable if it is the language of some Turing Machine. The set of all recognizable languages is denoted
Source: Lecture 20, slide 16.
A reduction from A to B is a function
Source: Lecture 22, slide 11.
A binary relation R over a set A is called reflexive iff
For any
Source: Lecture 05, slide 52.
A language
Source: Lecture 23, slide 33.
A family of descriptions that can be used to capture the Regular Languages.
Source: Lecture 14, slide 36.
A language
Source: Lecture 13, slide 22.
A Turing Machine rejects a string
Source: Lecture 20, slide 15.
A nondeterministic Turing machine rejects a string
Source: Lecture 20, slide 50.
Given a propositional logic formula
Source: Lecture 11, slide 37.
A propositional logic formula
Source: Lecture 11, slide 36.
An assignment of true and false to variables of
Source: Lecture 11, slide 36.
A set is an unordered collection of distinct elements, which can be anything (including other sets).
Source: Lecture 00, slide 23.
Set-builder notation is a notation for describing sets by listing some property of their elements. Formally, the set
Source: Lecture 00, slide 55.
A simple cycle in a graph is a path with no duplicated nodes or edges, other than the very first and very last node.
Source: Lecture 05, slide 27.
A simple path in a graph is a path with no duplicated nodes or edges.
Source: Lecture 05, slide 27.
A technique used in computability theory, where
we learn about the relationships of automata
Source: Lecture 14, slide 11.
The set of symbols that can be puhsed onto the stack.
Source: Lecture 17, slide 18.
The symbol that the stack contains at the beginning of a PDA simulation.
Source: Lecture 17, slide 18.
The initial state that an automaton begins in.
Source: Lecture 12, slide 32.
Each finite automaton consists of a set of states connected by transitions.
Source: Lecture 12, slide 27.
A finite sequence of characters drawn from some alphabet.
Source: Lecture 12, slide 20.
The principle of strong induction states that if for some property
for any
for any
Source: Lecture 04, slide 15.
Given two alphabets
Source: Lecture 15, slide 35.
A set
Source: Lecture 00, slide 78.
A method for transforming an NFA into a DFA.
Source: Lecture 14, slide 13.
A surjective function is a function such that every element in the codomain is mapped to by some element of the domain. Formally,
Source: Lecture 06, slide 43.
The symmetric difference of two sets (denoted
Source: Lecture 00, slide 70.
A binary relation
For any
Source: Lecture 05, slide 50.
A statement that is always true
Source: Lecture 09, slide 57.
The time complexity of a TM M is a function (typically denoted f(n)) that measures the worst-case number of steps M takes on any input of length n.
Source: Lecture 24, slide 15.
The time complexity class TIME(f(n)) is the set of languages decidable by a singletape TM with runtime O(f(n)).
Source: Lecture 24, slide 39.
The time complexity class NTIME(f(n)) is the set of languages decidable by a singletape NTM with runtime O(f(n)).
Source: Lecture 25, slide 47.
A topological ordering of the nodes of a DAG is one where no node is listed before its predecessors
Source: Lecture 05, slide 40.
A binary relation
Source: Lecture 06, slide 17.
A binary relation
Source: Lecture 06, slide 17.
Each finite automaton consists of a set of states connected by transitions. The automaton always follows the transition corresponding to the current symbol being read.
Souce: Lecture 12, slides 27 and 34.
A binary relation
For any
Source: Lecture 05, slide 55.
A finite automaton equipped with an infinite tape as its memory. The machine has a tape head that can read and write a single memory cell at a time.
Source: Lecture 18, slide 34.
A unit clause is a clause containing just one literal.
Source: Lecture 11, slide 61.
The union of two sets (denoted
Source: Lecture 00, slide 63.
Source: Lecture 10, slide 18.
A universal statement is a statement of the form "for all
Source: Lecture 01, slide 62.
A Turing machine
Source: Lecture 20, slide 34.
To prove there is a unique object with some property we can consider any two arbitary objects
Source: Lecture 05, slide 69.
A propositional logic formula
Source: Lecture 11, slide 36.
A statement is vacuously true if it is true because it does not apply to anything.
Source: Lecture 00, slide 79.
A Venn Diagram is a pictorial representation of how the elements of various sets overlap with one another.
Source: Lecture 00, slide 57.
A programming language ("Wang B-machine") controls a tape head over a singly-infinite tape, as in a normal Turning machine. Any WBn langauge can be written in the terms of a WBn-1 language. The WB language can be written as a Turing Machine.
Language has six commands: Movie left or right, write a symbol to tape, go to an instruction, if reading a symbol
Source: Lecture 19, slide 08.
The programming language WB2 is the language WB with two new commands
Move left until the tape head reads a symbol in a set
Move right until the tape head reads a symbol in a set
Source: Lecture 19, slide 25.
The programming language WB3 is the language WB2 with support for variables (only finitely many, each holds a single tape symbol, and each initially holds the blank symbol) and the following new commands
Set a variable
Set a variable
If two variables have the same value, go to instruction
Source: Lecture 19, slide 36.
WB4 is equivalent to WB3 except it has finitely many tracks on the tape.
The tape head still moves as a unit and all previous commands are updated to specify which track is to be read or written.
Source: Lecture 19, slide 52.
WB5 is equivalent to WB4 with the addition of a finite number of stacks and the following three commands.
Push symbol
If stack
Pop stack
Source: Lecture 19, slide 58.
WB6 is equivalent to WB5 with the addition of multiple tapes, all tape commands have to be updated to specify which tape they apply to, with tape 1 as the default.
Source: Lecture 19, slide 69.