Is it right, that regardless of the existence of the already elaborated algebra of logic, the specific algebra of switching networks should be considered as a utopia?
Paul Ehrenfest, 1910Abstract A switch, mechanical or electrical, is a fundamental building element of digital systems. The theory of switching networks, or simply circuits, dates back to Shannon's thesis (1937), where he employed Boolean algebra for reasoning about the functionality of switching networks, and graph theory for describing and manipulating their structure. Following this classic approach, one can deduce functionality from a given structure via analysis, and create a structure implementing a specified functionality via synthesis. The use of two mathematical languages leads to a 'language barrier' -whenever a circuit description is changed in one language, it is necessary to translate the change into the other one to keep both descriptions synchronised. For example, having amended a circuit structure one cannot be certain that the circuit functionality has not been broken, and vice versa.This work presents a unified algebra of switching networks. Its elements are circuits rather than just Boolean functions (as in Boolean algebra) or vertices/edges (as in graph theory). This unified approach allows one to express both the functionality and structure of switching networks in the same mathematical language, thus removing the language barrier. It also brings in new methods of circuit composition that are of high importance for modern system design and development, which heavily rely on the reuse of components and interfaces. In this paper we demonstrate how to use the algebra to formally transform circuits, reason about their properties, and even solve equations whose 'unknowns' are circuits.