# Make Your Own Magical Rules # Equivalence Classes and Equivalence Relations

There’s no particular reason why I’m picking 10 besides it’s a nice number to start explaining this concept with. From the modulo operation above, we can create a function. The function we can create is f(x)=(x)mod10. We’re going to evaluate this function for 0-20. For 0-20: (0)mod10≡0; (1)mod10≡1; (2)mod10≡2; (3)mod10≡3; (4)mod10≡4; (5)mod10≡5; (6)mod10≡6; (7)mod10≡7; (8)mod10≡8; (9)mod10≡9; (10)mod10≡0; (11)mod10≡1; (12)mod10≡2; (13)mod10≡3; (14)mod10≡4; (15)mod10≡5; (16)mod10≡6; (17)mod10≡7; (18)mod10≡8; (19)mod10≡9; (20)mod10≡0.

See something odd about that equals sign? See how it has three lines instead of two? That’s because it isn’t an equal’s sign at all. The ≡ symbol does not mean equal to; it means congruent to. After (10)mod10≡0, you see the output of the function repeats. This means every integer is or is not a multiple of 10 (if it is a multiple of 10, the remainder would be 0), and if it is not a multiple of 10, it can be off by 1, 2, 3, 4, 5, 6, 7, 8, or 9. In other words, all integers can be grouped in the corresponding 10 sets in regards to being a multiple of 10. You can put 1 and 11 in a set together, you can put 2 and 12 in a set together, you can put 3 and 13 in a set together, and so on. Each of the 10 sets has an infinite number of integers you can put in them. For example, (3915000000000001)mod10≡1, so 1, 11, and 3915000000000001 can be put in a set, together. The whole purpose behind this is to create rules from axioms. Algebraically, rules come from axioms and relations and rules form formulas, so we can construct formulas if we construct axioms and we can construct axioms by creating relationships. So, what are the relations here? The relation comes from if you take the difference of any two integers within one of those sets, you will get a number that is a multiple of 10. For example, (3761)mod 10 and (2411)mod10 are both 1, so we can group them together in the same set. 3761-2411=1350. 1350/10=135 where 1350mod10≡0. This means that 3761 relates to 2411. This can be written as 3761~2411. Since there is a relationship, this means there is a rule. This is called a ring. A ring is an abstract structure that you get when you take two sets and perform a binary operation on them – a binary operation is something like addition or subtraction where the + and – symbols take the sum or difference of two sets respectively.

When you think of these rules and relationships, how you grouped the integers is how they relate to each other. Group 1 is a grouping of all integers that relate to 1. Group 2 is a group of all integers that relate 2. Group 3 is a group of all integers that relate to 3 and so on. Those grouping of integers by the integer they relate to have three properties; they’re reflexive, they’re symmetric, and they’re transitive. If a relation has all those properties, it is an equivalence relation. The set of all integers that relate to an integer is called an equivalence class. Arithmetic and other mathematical operations – like Algebra, can be done with these equivalence classes but that is going to be covered in a later part of this article.

# Building A List of Magical Archetypes

Equivalence relations, modulo operations, and equivalence classes are very abstract concepts. I am going to explain how you can get a start in applying this to magic; however, I am still going to keep it abstract in a lot of ways. There is an infinite number of different directions you can take it and the whole purpose behind this is to introduce you to this concept. See what you can make and do with it and be creative!

The first thing is to pick a number. Here is the thing to remember. How many groups you can have is equal to the value of whatever number you pick, and the highest number of the remainder will be n-1 number you pick. We’ve been working with 10, so we are going to use that. The output for f(x)=(x)mod10 will give you 0-9 before it repeats – 10 possible groups. Since 10 was the size that was selected, the next thing to do is to construct a list of elements from archetypes. A list is an ordered set. Since this is an example and I want to emphasize the idea of magical ontologies as something that is abstract, I am going to use some spell classes from Dragon Age and Elder Scrolls to build a list of archetypes to be used in the magical system: [Magic, Creation, Form, Alteration, Reality, Conjuration, Illusion, Normality, Entropy, Destruction]. Since a list of magical elements can be constructed iteratively, you should consider how the element in the position of 1 relates conceptually to all the other elements since the next element in the sequence would be the result of adding 1 to get to it. 0 would be present in all the magical elements as well since you can write any position as n+0=n, so you should also consider how the 0th element relates to all the other ones, too. You want to think about how the system flows. When you iterate over the list, starting from 0, you get the below table:

IntegerArchetype
0Magic
1Creation
2Form
3Alteration
4Reality
5Conjuration
6Illusion
7Normality
8Entropy
9Destruction