|logic||category theory||type theory|
|true||terminal object/(-2)-truncated object||h-level 0-type/unit type|
|false||initial object||empty type|
|proposition||(-1)-truncated object||h-proposition, mere proposition|
|cut rule||composition of classifying morphisms / pullback of display maps||substitution|
|cut elimination for implication||counit for hom-tensor adjunction||beta reduction|
|introduction rule for implication||unit for hom-tensor adjunction||eta conversion|
|logical conjunction||product||product type|
|disjunction||coproduct ((-1)-truncation of)||sum type (bracket type of)|
|implication||internal hom||function type|
|negation||internal hom into initial object||function type into empty type|
|universal quantification||dependent product||dependent product type|
|existential quantification||dependent sum ((-1)-truncation of)||dependent sum type (bracket type of)|
|equivalence||path space object||identity type|
|equivalence class||quotient||quotient type|
|induction||colimit||inductive type, W-type, M-type|
|higher induction||higher colimit||higher inductive type|
|completely presented set||discrete object/0-truncated object||h-level 2-type/preset/h-set|
|set||internal 0-groupoid||Bishop set/setoid|
|universe||object classifier||type of types|
|modality||closure operator, (idemponent) monad||modal type theory, monad (in computer science)|
|linear logic||(symmetric, closed) monoidal category||linear type theory/quantum computation|
|proof net||string diagram||quantum circuit|
|(absence of) contraction rule||(absence of) diagonal||no-cloning theorem|
|synthetic mathematics||domain specific embedded programming language|
Computer science studies programs and languages to express them, as well as the operation, application and design of computers. This includes aspects relating to concurrency, semantics of programming languages, and aspects of mathematical logic.
From the nPOV, computer science is part of the computational trinity, together with type theory and category theory. Maybe programming theory would have been a good term for computer science (to match with its siblings). But it’s not used this way, more’s the pity.
A discussion of foundations of programming languages is in
A suggestion for a classification of structures arising in computer science is in
An old discussion on the n-cat café can be found here. The discussion revolved around
for which also see A Categorical Manifesto.
Other aspects are treated in
Logical Methods in Computer Science is an open access journal for papers on Theoretical Computer Science and other areas of Computer Science in which logical methods play a large part.