You might also look at the coq assistant prover:
Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs. Typical applications include the formalization of programming languages semantics (e.g. the CompCert compiler certification project or Java Card EAL7 certification in industrial context), the formalization of mathematics (e.g. the full formalization of the 4 color theorem or constructive mathematics at Nijmegen) and teaching.

Ali Hamlili · ENSIAS - Université Mohammed V Souissi (UM5S)

Algebra and algorithms are strongly interrelated. Both words refer to the = mathematician Abu Abdullah Muhammad ibn Musa al-Khwarizmi born about 783 in Khiva in Khawarezm and his book entitled “Al-Jabr wal-muqabalah” written in Arabic and published in 825. “Al-Jabr wal-Muqabalah” means the “Calculation by Reduction and Transposition”. Thus, in “Algebra”, an “Algorithm” can be defined as a sequence of instructions describing the implementation step-by-step of a solution to a well-defined problem. Because algorithms are the core of computer systems and they are functionally based on algebraic concepts, sometimes “algebra of algorithms” is used to indicate the theoretical foundations for solving problems of design automation of computer logic structure and programming.

Mar 17, 2012

Vincenzo Pallotta · La Haute Ecole d'Ingénierie et de Gestion du Canton de Vaud

I can give you a very quick and intuitive answer. In algebra there are operators that can be used to "compose" (algebraic) expressions. The idea with algebra of algorithms is that algorithms (i.e. programs) can be composed with composition operators resulting into more complex algorithms. For instance, one can do the "sum" of two algorithms.

The important point is to give to these operators a "proper" semantics and also (when possible) a "calculus". Indeed with the calculus, one can formally study and prove the properties of an algorithm (e.g. if it doesn't enter into an infinite loop, deadlock in concurrent programs).

## All Answers (5)

Sara Hockey· Iowa State UniversityIs a good source for info.

Meg Niziołek· Opole University of TechnologyDeletedCoq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs. Typical applications include the formalization of programming languages semantics (e.g. the CompCert compiler certification project or Java Card EAL7 certification in industrial context), the formalization of mathematics (e.g. the full formalization of the 4 color theorem or constructive mathematics at Nijmegen) and teaching.

url: http://coq.inria.fr/

Ali Hamlili· ENSIAS - Université Mohammed V Souissi (UM5S)Vincenzo Pallotta· La Haute Ecole d'Ingénierie et de Gestion du Canton de VaudThe important point is to give to these operators a "proper" semantics and also (when possible) a "calculus". Indeed with the calculus, one can formally study and prove the properties of an algorithm (e.g. if it doesn't enter into an infinite loop, deadlock in concurrent programs).

One foundational work of algebra of algorithms is that of Chandy and Misra:

http://books.google.ch/books?id=9BGPVwLTkh4C&pg=PA371&dq=Chandy+Misra+Springer&hl=en&sa=X&ei=Y7VpT7u2GKza4QTIq4iBCQ&ved=0CD0Q6AEwATiCAQ#v=onepage&q=Chandy%20Misra%20Springer&f=false

Can you help by adding an answer?