Contrary to natural language, it is meant to communicate with machines.
A language is formal if its syntax (structure) and semantic (interpretation) are defined in a precise algorithmic way.
There is an effective procedure to verify the grammatical correctness of a phrase and determine its meaning.
Alphabet: finite set of elements
String: Ordered set of atomic elements, possibly repeated
Language: Finite or infinite set of strings
Strings can be both finite or infinite.
The cardinality of a language determines the number of elements contained,
It can be 0 for the empty language or infinite for infinite languages.
####Lenght of a string Is the number of elements contained $$|bbc|=3$$
####Equality of two strings Two strings are equal if and only if
is the neutral element respective to concatenation
Given a string x = u y v
if u,v ≠ Ɛ, y is a proper substring
$x=atri$ $x^r=irta$
The m-th power of a string concatenates the string to itself for m-1 times
$x= ab$ $x^n=\varepsilon$ $x^1=x=ab$ $x^2=(ab)^