Sunday, April 14, 2019

Mathematical equivalence relations

The only significant difference between mathematics and computation is that mathematical data structures can be implemented in multiple ways, like how a number can be a floating point number or a fraction. The same is basically true in computable set theory, as it is necessary to have multiple representations of sets. Von Neumann ordinals for example, grow exponentially so it makes more sense to represent them with a different data type with a single number rather then an exponentially large tree. Mathematics deals with abstract interfaces then rather then particular data types.

It remains to implement an equivalence relation to see if different data types have the same mathematical value. The axiom of extensionality, one of the fundamental axioms of set theory, states that two sets are equal if they have the same members regardless of their representation. It is therefore necessary to have an equivalence relation on sets that recursively check them for equality. Likewise, it is generally useful to have an equivalence relation for numbers, Clojure for example has == to check the equality of numbers and most programming languages have something similar. Mathematical meaning can be defined by an equivalence relation between computable data structures. Then mathematical ontology is the classification of objects up to the mathematical equivalence relation.

No comments:

Post a Comment