abstract / abstraction

abstract, n
4. a. Withdrawn or separated from matter, from material embodiment, from practice, or from particular examples. Opposed to concrete.

abstraction, n of action
3. The act or process of separating in thought, of considering a thing independently of its associations; or a substance independently of its attributes; or an attribute or quality independently of the substance to which it belongs.
4. The result of abstracting: the idea of something which has no independent existence; a thing which exists only in idea; something visionary.

-- Oxford English Dictionary, 2nd edn

We all know that the only mental tool by means of which a very finite piece of reasoning can cover a myriad cases is called "abstraction"; as a result the effective exploitation of his powers of abstraction must be regarded as one of the most vital activities of a competent programmer. In this connection it might be worth-while to point out that the purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.

-- Edsger Dijkstra. The Humble Programmer. ACM Turing Lecture 1972. EWD340

An abstract data type (ADT) is an equivalence class of isomorphic algebras..., i.e., of algebras that are exactly the same except for the representation of their elements; for example, the algebras of binary and decimal representations for the natural numbers differ only by an isomorphism.

-- Goguen & Meseguer. Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics. 1987

A data abstraction is an object whose state is accessible only through its operations. The state is generally represented by instance variables. Instance variables of a data abstraction are hidden from its clients and are accessible only through the object's operations.

-- Wegner. Dimensions of object-based language design. OOPSLA 1987