# program optimization – How is a homeomorphic embedding a homeomorphism?

How is a homeomorphic embedding (in the sense of term algebra) a homeomorphism?

Definition of homeomorphic embedding:

Alt text:

``````Homeomorphic embedding = `<|` =def

-------- Variable
x <| y

s <| t_i for some i
--------------------------- Driving
s <| sigma (t_i,..., t_n)

s1 <| t1,..., s_n <| t_n
----------------------------- Coupling
sigma (s_1,....s_n) <| sigma (t_1,....t_n)

where x and y are variables
and sigma is a fixed-arity operator
``````

source: John W. Lloyd, “An Algorithm of Generalization in Positive Supercompilation,” in Logic Programming: The 1995 International Symposium , MIT Press, 1995, pp.465-479.

As far as I can tell homeomorphisms are relations in topological spaces. If “homeomorphism” is indeed the accurate term, then what is the relevant notion of topological space?

Would “homomorphic embedding” be an equally (or more) accurate term?