[Question] What is abstraction?

I’m not clear on what the term ab­strac­tion re­ally means. It seems to mean differ­ent things in differ­ent con­texts.

I’m a pro­gram­mer, and when I think of ab­strac­tion, the first thing I think of is some­thing that feels like com­po­si­tion. Sup­pose you are a par­ent and want to teach your child how to brush their teeth. To do that, you break the task “brush your teeth” into sub­tasks like 1) pre­pare your tooth­brush, 2) ac­tu­ally brush your teeth, 3) rinse your mouth and 4) clean your tooth­brush. In pro­gram­ming, you would break the brushTeeth method into helper meth­ods like pre­pareTooth­brush, ac­tu­al­lyBrushTeeth, rinseMouth and cleanTooth­brush. And you would call brushTeeth an ab­strac­tion, be­cause it is com­posed of sub­tasks. My un­der­stand­ing is that this doesn’t just ap­ply to pro­gram­ming: in the real world, if you told your child “brush your teeth”, that would also be an ab­strac­tion for “pre­pare your tooth­brush, ac­tu­ally brush your teeth, rinse your mouth, and then clean your tooth­brush”.

But there’s some­thing else that I think of when I think of the term “ab­strac­tion”. Sup­pose I have a pro­gram that has peo­ple, dogs, and cats. All three have heights, weights and names, so I cre­ate an an­i­mal class, and I say that peo­ple, dogs and cats are more spe­cific ver­sions of an an­i­mal. My un­der­stand­ing is that this too would be an ab­strac­tion. In pro­gram­ming, and in the real world. My un­der­stand­ing is that the idea of an an­i­mal is an ab­strac­tion over the idea of a hu­man, dog or cat.

But there seems to be some­thing very differ­ent about each of the two situ­a­tions. In the first, we would say that the “brush your teeth” ab­strac­tion is com­posed of the sub­tasks, but we wouldn’t say that “an­i­mal” is com­posed of hu­mans, dogs and cats in the sec­ond. And we would say that the idea of an an­i­mal is a more gen­eral ver­sion of the idea of a hu­man, dog and cat, but we wouldn’t say that “brush your teeth” is a more gen­eral ver­sion of prepar­ing your tooth­brush or rins­ing your mouth.

The first ex­am­ple seems to be about com­po­si­tion, and the sec­ond about gen­er­al­ity, so I’m con­fused as to what ab­strac­tion re­ally is.

And if we look at yet more con­texts, there seems to be more in­con­sis­tency in how the term is used. In se­man­tics and philos­o­phy, “ab­stract” means some­thing that you can’t per­ceive with one of your five senses; the op­po­site of “con­crete”. A ten­nis ball is con­crete be­cause you can see it and touch it, but “ten­nis” is an ab­stract con­cept that you can’t see or touch. But this use of the word doesn’t dis­t­in­guish be­tween de­grees of ab­strac­tion. Ac­cord­ing to this use of the word, some­thing ei­ther is ab­stract, or it isn’t. But with the first two ex­am­ples, there’s clearly lev­els of ab­strac­tion.

And the se­man­tics and philos­o­phy ver­sion of ab­strac­tion seems like it matches the use of the term in the con­text of art. In the con­text of art, art is ab­stract when it doesn’t de­pict con­crete things. Eg. a paint­ing that tries to de­pict fear is ab­stract be­cause fear is an ab­stract con­cept, not a con­crete thing, whereas a por­trait of Lisa Gher­ar­dini (the Mona Lisa) is not ab­stract art, be­cause it de­picts a con­crete thing.

As for the term “ab­stract” in the con­text of aca­demic pa­pers, that seem­ings like it might just be a butcher­ing of the term. It’s a sum­mary. If you were to sum­ma­rize the task of brush­ing your teeth, you wouldn’t say “here’s a con­tainer that is com­posed of the sub­tasks”. If you were to sum­ma­rize the idea of an an­i­mal, that would just be a differ­ent thing than say­ing that it is a more gen­eral ver­sion of a hu­man, dog and cat.

In the con­text of math, ab­stract math is a field of study. I don’t know much about it, but from the googling I’ve done, it seems to be about, well, deal­ing with ques­tions that are more ab­stract. More ab­stract in the sense of gen­er­al­ness, like how an an­i­mal is more gen­eral than a hu­man. For ex­am­ple, alge­bra is more ab­stract than ar­ith­metic. Arith­metic says that 1 + 1 = 2, 2 + 2 = 4 , and 3 + 3 = 6. Alge­bra, says that n + n = 2n. n is more gen­eral than 1 in the same sense that “an­i­mal” is more gen­eral than “hu­man”. Well, it seems that way at least.

Bret Vic­tor has an es­say called Up and Down the Lad­der of Ab­strac­tion where he talks about ab­strac­tion as mov­ing away from the con­crete by re­mov­ing con­crete prop­er­ties. The more con­crete prop­er­ties you re­move, the more ab­stract it be­comes. He uses the ex­am­ple of a car mov­ing along a curved road ac­cord­ing to a cer­tain al­gorithm. The con­crete ver­sion of this is a given car on a given curved road pointed in a given di­rec­tion. You can make it more ab­stract by look­ing at the sys­tem not at a given point in time, but at all pos­si­ble points of time, and that will give you a line de­scribing where the car would be at all points in time.

This view of ab­strac­tion seems con­sis­tent with the idea of ab­strac­tion be­ing about mak­ing some­thing more gen­eral. We said “let’s not look at the car be­ing at this point in par­tic­u­lar, let’s look at all pos­si­ble points more gen­er­ally”. With the math ex­am­ple we said “let’s not look at the num­ber 1 in par­tic­u­lar, let’s look at any pos­si­ble num­ber more gen­er­ally”. With the an­i­mal ex­am­ple, we said “let’s not look at a hu­mans in par­tic­u­lar, let’s look at or­ganisms with any pos­si­ble [what­ever] more gen­er­ally”.

Th­ese us­ages of the term “ab­strac­tion” seem to be about how gen­eral a thing is, where some­thing that is more gen­eral has less prop­er­ties speci­fied, and some­thing that is more spe­cific has more prop­er­ties speci­fied. But if that is what ab­strac­tion is about, why call it ab­strac­tion? Why not call it gen­er­al­iza­tion? And if it is in­deed about spec­i­fy­ing less prop­er­ties, what word do we use to dis­t­in­guish be­tween con­crete things in the phys­i­cal world that we can de­tect with our senses, and things that we can’t de­tect with our senses, that we’d call ab­stract in the con­text of se­man­tics and philos­o­phy?

I don’t mean to im­ply that ab­strac­tion ac­tu­ally is used in­con­sis­tently. Just that it seems that way to me, and I definitely no­tice I am con­fused.