I'm a newbie in both formal mathematics and theoretical computer science, so please bear with me if you find my question is not properly framed. Object Oriented Modeling seems very useful in defining complex interactions when simulating real world. But it's mostly used in programming. I was wondering if we have a similar concept in mathematics. When we're doing programming, we can understand the concept of "Objects" and "Object Oriented Programming" and just implement it. But do we have formal definition of "Objects" in terms of Set Theory? Or for that matter, any other formal mathematical theory?

Can we implement/ formally define three primary object orient modeling concepts- 1. Encapsulation 2. Inheritance 3. Polymorphism

I know question is too broad, but would really appreciate if you can provide some pointers as well so that I can understand these concepts better.


closed as off topic by Asaf Karagila, Zhen Lin, Michael Greinecker, user31373, William Aug 20 '12 at 19:59

Questions on Mathematics Stack Exchange are expected to relate to math within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ I claim that category theory provides a partial answer, but amusingly none of the tags you have chosen cover that... $\endgroup$ – Zhen Lin May 5 '12 at 19:12
  • $\begingroup$ Thanks, I'll add that.. I didn't even know about Category theory.. :), could you please suggest me appropriate tags? $\endgroup$ – user30708 May 5 '12 at 19:14
  • 2
    $\begingroup$ The tags should be about programming languages and semantics. $\endgroup$ – Andrej Bauer May 5 '12 at 19:15
  • $\begingroup$ But I guess those tags aren't available here... (please see my comment on 1st answer) $\endgroup$ – user30708 May 5 '12 at 19:22
  • $\begingroup$ @AndrejBauer: Maybe forward the question to cs.SE, then? $\endgroup$ – Raphael May 5 '12 at 19:30

There is rich literature on mathematical modeling of programming languages, and object-oriented ones are no exception. I would recommend Benjamin Pierce's book "Types and programming languages" as a general introduction to the subject. Robert Harper's "Practical Foundations for Programming Languages" is also very good and available online.

You specifically ask about mathematical models for object-oriented languages. You could look at Abadi's and Cardelli's Theory of Objects and go on from there.

Lastly, you should have asked this question on the cstheory StackExchange.

  • $\begingroup$ Thanks, one reason I chose this math platform was to get views from people who are familiar in formal mathematics, as I wanted to know about "formal mathematics" behind "objects" of "object oriented modeling"... $\endgroup$ – user30708 May 5 '12 at 19:19
  • $\begingroup$ Welcome Andrej! $\endgroup$ – Asaf Karagila May 5 '12 at 19:23
  • $\begingroup$ (also a minor remark, StackExchange is the name for the entire network, you might want to specify which SE website you refer to in your last link) $\endgroup$ – Asaf Karagila May 5 '12 at 19:24
  • $\begingroup$ he referred to theoretical cs.. $\endgroup$ – user30708 May 5 '12 at 19:25
  • $\begingroup$ Neither Stackoverflow nor cstheory.SE are the correct venues, imho, but rather cs.SE. $\endgroup$ – Raphael May 5 '12 at 19:31

Not the answer you're looking for? Browse other questions tagged or ask your own question.