Computation as Simulation
It is useful to view computation as simulation, cf.: isomorphism of semigroups.[Preparata, F. P. and Yeh, R. T., Introduction to Discrete Structures, Addison-Wesley, 1973, p. 129.]
Given two semigroups G1 = [S, °] and G2 = [T, * ] , an invertible function φ : S → T is said to be an isomorphism between G1 and G2 if, for every a and b in S , φ (a ° b) = φ (a) * φ (b)
from which: a ° b = φ -1 ( φ (a) * φ (b) )
(defun string+ (x y)
(princ-to-string ; phi inverse
(+ ; + in model space
(read-from-string x) ; phi
(read-from-string y)))) ; phi
>(string+ "2" "3")
"5"