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.
Is the number of elements contained
$|bbc|=3\;\;\;\;|abbc|=4$
Two strings are equal if and only if
es: $x=a_1a_2 \;\;\;\;\;y=b_1b_2b_3$
$x.y=a_1a_2b_1b_2b_3=xy$
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^0=\varepsilon$
$x^1=x=ab\;\;x^2=(ab)^2=abab$