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"