When people go about making their own magical “systems”, there tend to be two popular routes they take: making their own magical language or creating random sigils. The problem, though, is that those two popular methods alone technically don’t create a magical system. A magical system is a collection an abstraction comprised of a body of axioms, rules, and operations. If you were to look at classical and historical “magical systems”, you will see a formally articulated set of axioms and rules. This is especially clear if you look at Western occultism. The problem with creating your own magical language is that it only arbitrarily references concepts so it has the same meaning as your native language in “disordered” ways. The “words” in your language are just an arrangement of characters for the identifier for the concept. It technically doesn’t lay out any rules that allow for the formation of “magical structures”, so you can’t really build any consistent spells out of it. The same could be said for popular ways of making sigils. By crossing out letters and rearranging lines and such, you are only changing the symbol for a concept. It has the same meaning, semantically, as if you did not turn it into a sigil. To make your own magical system, you need to come up with a formalized, consistent set of axioms, operations, and rules. The easiest route to go about doing that is to create a backbone from things called equivalence classes and relations.

# Division and Modulo Operations

Say that you were given an equation: 3k=9. How would you solve it to find k? This one is pretty easy, you would solve by dividing both sides by 3. You would have 3k/3=9/3. When you simplify, you get 3. This means that 3*3=9, so 9 is a multiple of 3. What if instead of giving you the equation 3k=9, I gave you the equation 3k=10. You would do something similar: 3k/3=10/3. What does that give you when you simplify? You’ll get k=10/3. If you put that in a calculator, you’ll get something like 3.33… as a repeating decimal – it’s not exact because you have to truncate somewhere. You can write 10 as 3*3+1, so you would have 10=3*3+1. Wait… What?

Now, in the age of calculators, people typically don’t think about how they learned how to divide. More than likely if you learned how to do Math in the West, you initially learned how to divide through long division. If you followed that process, for 10/3, you would say that the next lowest number 3 can divide evenly would be 9. Since 3 can divide 9 evenly, 9 is a multiple of 3. So, you would write 3 at the top and then subtract 9 from 10, right? That would leave you with 1? What do you do with that one? If you were to write it as a mixed number, you would have 3 and 1/3. Remember how we got 3.33…? You can simply write this as 3 remainder 1, so 10/3=3 remainder 1. That, in turn, implies 10/3 is 3 one off. 10/3=3 remainder 1 is equal to 10=3*3+1. Does 9/3 have a remainder? It does; the remainder is 0, or 9/3=3 remainder 0 which in turns means 9=3*3+0. That’s called a modulo operation. You don’t need to do this by hand every time, because that gets complicated for complex Algebraic problems. On most scientific calculators, there is a button labeled mod. If you were to do 10mod3 in your calculator, it will give you 1, which is the remainder. It’s just important that you understand this concept because this is essential to the topic of equivalence classes and their relations.

# 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.**

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 there. 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. Algebraically, rules come from relations, so we can see rules if we look at relations. 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.

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 transisitive. If a relation has all of 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 Your Magic Classes

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 amount 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 classes 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 classes. Think of 10 classes you want to use for magic. Since this is an example and I want to emphasize the idea of magic as a game, I am going to use spell classes from Dragon Age and Elder Scrolls.

Integer | Magical Class |
---|---|

0 | Conjuration |

1 | Reality |

2 | Creation |

3 | Alteration |

4 | Form |

5 | Magic |

6 | Entropy |

7 | Normality |

8 | Destruction |

9 | Illusion |

This means that magical elements are associated with integers and grouped accordingly. For example, 1,11, 21, and 31 would all be types of Reality elements. 6, 16, 26, and 26 would be grouped as Entropy elements. Since there are an infinite number of integers, there are an infinite amount of possible elements.

The very interesting thing is that you end up with something that almost resembles a periodic table. What do you get when you add Reality “element” #616, that has a value of 6151, with Creation “element” #201, that has a value of 2002? 6151+2002 is congruent to 8153mod10. 8153Mod10=3, so from adding those two spells together, you get an Alteration spell. I am getting the number from the sequence number for where that element shows up in the corresponding ordered list. In a list for the remainders of 1 for kmod10, the 616th element would have the value of 6151.

What is are the properties of Reality “element” #2, that has the value of 11. You can write 11mod10 as the sum 3+3+3+2≡11mod10. So, Reality spell #2 can have four properties: Alteration(3); Alteration(3); Alteration(3); Creation(2). You can also write 11mod10 as 1+2+3+5≡11mod10. Those four properties would be: Reality(1); Creation(2); Alteration(3); Magic(5).

# Balancing Out Your Magical Classes

If you look at a lot of systems of magic, you’ll likely notice that each elements has an idea of an opposite. That idea of opposites makes whatever magical system you create conceptually balanced. If it isn’t balanced, all sorts of counter-intuitive relationships will emerge. You want to make sure to include that balance in the design. You derive an opposite from an additive inverse. For example 1-1=0 and 2-2=0. If you get two pairs such that when you add them up, you get 0 for every integer in your system, your magical system will be balanced What number you have to add to another number to get 0 is called your **additive inverse**. For example, the additive inverse of 1 is -1. This concept of duality and polarity will keep your magical system conceptually balanced. To figure out where your opposites would fall in a modular sense, you take the mod of the negative additive inverse of the number. For example, -1 is the additive inverse of 1, so you would perform the operation -1mod10=9. This means that the reflection of 1mod10=1 would be -1mod=9. The reflection of 2mod10=2 would be -2mod10=8. An antonym of Reality is Illusion and an antonym of Creation is Destruction.

# The Shape of Magic

Below is an example of a higher-dimensional, magical construct you can create.

## Magical Decagon Circuits

From | To | Magical Class |
---|---|---|

0 | 1 | Reality |

1 | 2 | Creation |

2 | 3 | Alteration |

3 | 4 | Form |

4 | 5 | Magic |

5 | 6 | Entropy |

6 | 7 | Normality |

7 | 8 | Destruction |

8 | 9 | Illusion |

9 | 0 | Conjuration |

0 | 8 | Destruction |

8 | 6 | Entropy |

6 | 4 | Form |

4 | 2 | Creation |

2 | 0 | Conjuration |

0 | 7 | Normality |

7 | 4 | Form |

4 | 1 | Reality |

1 | 8 | Destruction |

8 | 5 | Magic |

5 | 2 | Creation |

2 | 9 | Illusion |

9 | 6 | Entropy |

6 | 3 | Alteration |

3 | 0 | Conjuration |

0 | 6 | Entropy |

6 | 2 | Creation |

2 | 8 | Destruction |

8 | 4 | Form |

4 | 0 | Conjuration |

0 | 5 | Magic |

5 | 0 | Conjuration |

0 | 4 | Form |

4 | 8 | Destruction |

8 | 2 | Creation |

2 | 6 | Entropy |

6 | 0 | Conjuration |

0 | 3 | Alteration |

3 | 6 | Entropy |

6 | 9 | Illusion |

9 | 2 | Creation |

2 | 5 | Magic |

5 | 8 | Destruction |

8 | 1 | Reality |

1 | 4 | Form |

4 | 7 | Normality |

7 | 0 | Conjuration |

0 | 2 | Creation |

2 | 4 | Form |

4 | 6 | Entropy |

6 | 8 | Destruction |

8 | 0 | Conjuration |

In the table above, you will notice you that you have 0 in the From column and after a few rows, you will see a 0 in the To column. In other words, you have a path that starts at 0 and ends at 0. That’s called a circuit. So, in this example construct, you have directed circuits. If you looked at the path from 2 to 4, you would see that it’s a Form path. That’s because you get from 2 to 4 by adding 2, so you have 2+2≡4mod10.

The fun with this is you started off with a basic set of axioms and a basic set of rules and because there is an infinite amount of different ways for the magic to unfold, you can discover new things even though you created the axioms. You can treat these magical classes as an alphabet where you can build “spells” from an alphabet of axioms and rules. There are many different directions you can take this and when you get into the specifics of Linear Algebra and other aspects of Abstract Algebra, you can take it to a whole other level. This article gets you started on the path of doing Thaumaturgy your own way, so get started and have fun!