A Regular grammar is on e where each production takes on fo the following restricted forms:
Every transition is associated witha grammar production, e.g. if the state $1$ corresponds to the nonterminal $A$, them
$$T(S,a) = 1 \Leftrightarrow S \to aA$$
Every final state has a additional production,
$$A \to \Lambda$$
$\{a^n b^n | n > 0\}$ Is not finite! it is impossible to create an automaton that can satisfy it!
Given a language, is there a way to determine whether it is regular?
One possibility for proving the language is not regular is using the pumping lemma, which applies for infinite languages (All finite languages are regular!)
Theorem (The pigeon hole principle)
If we put $n$ into $m$ pigeonholes ($n>m$), then at least one pigeon hole must have more than one pigeon!
Theorem (Pumping Lemma)
Let $L$ be an infinite regular language accepted by a DFA with $m$, states. Then any string $w$ in $L$ with at least $m$ symbols can be decomposed as $w = xyx$ with $|xy| \leq m$, and $|y| \geq 1$ such that
$$w_i = \underbrace{xy...yz}_i$$
is also in $L$ for all $i = 0,1,2...$
We can use the pumping lemma to prove a language is not regular, but not that it is regular!
We can prove by contradiction that $L = \{a^n b^n, n \geq 0 \}$ is not regular using the pumping lemma.