Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2021 Feb 10;23(2):213.
doi: 10.3390/e23020213.

Computational Abstraction

Affiliations

Computational Abstraction

Raymond Turner. Entropy (Basel). .

Abstract

Representation and abstraction are two of the fundamental concepts of computer science. Together they enable "high-level" programming: without abstraction programming would be tied to machine code; without a machine representation, it would be a pure mathematical exercise. Representation begins with an abstract structure and seeks to find a more concrete one. Abstraction does the reverse: it starts with concrete structures and abstracts away. While formal accounts of representation are easy to find, abstraction is a different matter. In this paper, we provide an analysis of data abstraction based upon some contemporary work in the philosophy of mathematics. The paper contains a mathematical account of how Frege's approach to abstraction may be interpreted, modified, extended and imported into type theory. We argue that representation and abstraction, while mathematical siblings, are philosophically quite different. A case of special interest concerns the abstract/physical interface which houses both the physical representation of abstract structures and the abstraction of physical systems.

Keywords: Frege; abstraction; computation; representation; specification.

PubMed Disclaimer

Conflict of interest statement

There is no conflict of interest and the paper does not raise any ethical concerns.

Figures

Figure 1
Figure 1
append:L[T]L[T]L[T].
Figure 2
Figure 2
List Equality.
Figure 3
Figure 3
mem:L[T]TBool.
Figure 4
Figure 4
Quantification Over Lists.
Figure 5
Figure 5
:L[T]L[T]Bool.
Figure 6
Figure 6
Equality.
Figure 7
Figure 7
union:S[T]S[T]S[T].
Figure 8
Figure 8
Reversing a List.
Figure 9
Figure 9
perm:L[T]L[T]Bool.
Figure 10
Figure 10
duplicate:L[T]L[T].
Figure 11
Figure 11
Extensional Equivalence.

References

    1. Turner R., Angius N. The Philosophy of Computer Science. In: Zalta E.N., editor. The Stanford Encyclopedia of Philosophy (Winter 2020 Edition) Stanford University; Stanford, CA, USA: 2020. [(accessed on 19 January 2021)]. Available online: https://plato.stanford.edu/archives/win2020/entries/computer-science/
    1. Turner R. Computational Artifacts: Towards a Philosophy of Computer Science. Springer; Berlin/Heidelberg, Germany: 2018.
    1. Hoare C.A.R., II . Structured Programming. Academic Press; Cambridge, MA, USA: 1972. Notes on Data Structuring.
    1. Dale N.L., Walker H.M. Abstract Data Types: Specifications, Implementations, and Applications. Jones & Bartlett Learning; Burlington, MA, USA: 1996.
    1. Jones C.B. Software Development: A Rigorous Approach. Prentice Hall International; Upper Saddle River, NJ, USA: 1980.

LinkOut - more resources