What term describes the opposite of 'refinement'?

In generic programming, the concept of refinement is often used to express that one abstraction builds upon another. For instance, if you have an abstract entity X and a more detailed version Y that includes all features of X along with extra capabilities, Y is said to refine X. What is the appropriate term to describe X in relation to Y?

i think its the abstarction. x is just the base, the unrefined version that y builds on. not the polar opposite, but it covers the essense of the original concept.

I believe that the correct term to use is ‘abstraction’. In my own programming projects, I noticed that we usually start with an abstract definition of a concept or interface, and then we build more detailed versions that refine that initial structure. The abstraction provides a flexible foundation that can be extended, allowing for changes and enhancements in later implementations. I found this approach advantageous because it kept the design modular and maintained clarity between the core concept and its increasingly detailed refinements.