Category theory and Computer Science

Click For Summary

Discussion Overview

The discussion revolves around the application of category theory, particularly categorical logic, to deductive reasoning systems in computer science. Participants explore its potential advantages over traditional first-order logic (FOL) and consider the theoretical limits of categorical logic.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • Some participants question whether category theory, especially categorical logic, can be effectively applied to deductive reasoning systems.
  • One viewpoint suggests that object-oriented (OO) programming and relational databases already exhibit characteristics similar to categorical logic.
  • There are claims that categorical logic could offer advantages such as a clearly defined structure, potentially leading to better maintenance compared to FOL, which is associated with "spaghetti code."
  • Another participant argues that the advantages of categorical logic over FOL may depend on the specific OO language used, as some languages allow for convoluted code despite being object-oriented.
  • Concerns about the theoretical limits of categorical logic are raised, with one participant asserting that limits may not exist, as theories tend to adapt and develop when faced with apparent constraints.
  • Discussions also touch on the nature of object-oriented programming and the influence of coding style on whether code can be considered truly object-oriented.

Areas of Agreement / Disagreement

Participants express differing views on the applicability and advantages of categorical logic compared to FOL, as well as the existence of theoretical limits. No consensus is reached on these points.

Contextual Notes

Participants reference specific programming languages and their features, indicating that the discussion may depend on definitions of object-oriented programming and the characteristics of deductive systems.

enigmahunter
Messages
26
Reaction score
0
There is a similar thread below, but I think it is more appropriate to make a new thread because it asks totally different questions.

I am new to category theory and thinking about its possible application to computer science.
Deductive systems based on first order logic (sound and complete) have been successfully applied to A.I knowledge based systems and a wide variety of inference systems so far.

My questions are
1. Do you think category theory, especially categorical logic, can be successfully applicable to deductive reasoning systems?
2. If we use a categorical logic for a possible deductive system, what advantages we can expect from it over traditional First Order Logic (FOL) based deductive systems?
3. What might be the possible theoretical limits for categorical logic?

Any opinions will be appreciated.
 
Last edited:
Mathematics news on Phys.org
enigmahunter said:
My questions are
1. Do you think category theory, especially categorical logic, can be successfully applicable to deductive reasoning systems?
I think OO programming and relational databases are already close.
2. If we use a categorical logic for a possible deductive system, what advantages we can expect from it over traditional First Order Logic (FOL) based deductive systems?
As in my examples, I think the advantages are a clear defined structure and therewith better maintenance. FOL allows spaghetti code, OO does not.
3. What might be the possible theoretical limits for categorical logic?
I don't think there are limits. Usually if something which looks like a limit appears, the theory will be adapted and developed.
 
fresh_42 said:
FOL allows spaghetti code, OO does not.
Regarding the latter statement, it depends on what OO language you mean. C++'s and C#'s classes make them object-oriented languages, but you can use their goto statement to make fairly convoluted spaghetti code. In contrast, Java and Python don't support goto, but in the case of Python, you can write a function that transfers control to an arbitrary line in the program.
 
One can code C++ like fortran, but then it is not OO. It is the style which makes it OO, the language not so much, although C++ definitely supports OO better than COBOL does. However, objects and morphisms seems like made for classes and methods.
 
  • Like
Likes   Reactions: Klystron
fresh_42 said:
One can code C++ like fortran, but then it is not OO.
Sure, that's true, but I'm talking about C++ code that defines objects as instances of classes, but the implementation of methods on those objects includes code with goto's. Admittedly, this is unusual, but it is allowed, and doesn't contravene OOD.
 

Similar threads

  • · Replies 34 ·
2
Replies
34
Views
4K
  • · Replies 64 ·
3
Replies
64
Views
3K
  • · Replies 38 ·
2
Replies
38
Views
4K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 18 ·
Replies
18
Views
7K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K