✝️ Romans 12:2
Do not conform to the pattern of this world, but be transformed by the renewing of your mind. Then you will be able to test and approve what God’s will is—his good, pleasing and perfect will.
# This thought experiment requires you to know propositional logic, predicate logic, and some basic set theory
If you do not know logic and set theory a good book is "How to Prove It: A Structured Approach 3rd Edition", the link to buy it is here: https://www.amazon.com/How-Prove-Structured-Daniel-Velleman/dp/1108439535
## Let's begin!
As I write this now I think about how people say "set theory is the foundation of math", and people also say "logic is the foundation of math." But do they connect to each other? Does one depend on the other? Let's find out together! So in logic we have premises which can be true or false, we have operators, order of operations, quantifiers, etc. Say we have the set A with the elements Aa and Ab, lets also create some operators aswell. Say we have function Fa and Fb which are declared as follows: Fa: A X A -> A, Fb: A X A -> A. Let's also declare Fc which is declared like: Fc: A -> A. Fa will be defined as follows: {((Aa, Aa), Aa), ((Aa, Ab), Aa), ((Ab, Aa), Aa)), ((Ab, Ab), Ab)}. Fb will be defined as follows: {((Aa, Aa), Aa), ((Aa, Ab), Ab), ((Ab, Aa), Aa)), ((Ab, Ab), Ab)}. Fc will be defined as follows: {(Aa, Ab), (Ab, Aa)}. Say we have the following input: (Ab, Ab), if we apply the Fa function we would get the result Ab. If we applied the Fa function to (Aa, Ab) or (Ab, Aa) we would get back the output Aa. If we applied Fa to (Aa, Aa) we get Aa. That is exactly the same as the AND operation in logic, Fb would be an inclusive or, and Fc would be not. It seems like we recreated logical operations with sets! We can treat premises as a set, we will have the premises themselves called Pa, Pb, and Pc all in the set P. To assign a value to the premises we can have a function that maps premises to "truth" values, declared like: Fz: P -> A, we can define the function like this: {(Pa, Aa), (Pb, Ab)} or like {(Pb, Aa), (Pa, Ab)}. To do an operation we would have to do: Fz(Pa) = Ab, Fz(Pb) = Ab, Fa((Fz(Pa), Fz(Pb))), which would give the result Ab. As you can see by everything we have done so far, we can represent logical operations with set theory. But how do we represent stuff like conditionals and quantifiers with set theory? To represent a conditional we can declare the following function: Fd: A X A -> A. Fd would be defined like this: {((Aa, Aa), Ab), ((Aa, Ab), Ab), ((Ab, Aa), Aa), ((Ab, Ab), Ab)}. Fe would be declared like this: Fe: A X A -> A. Fe would be defined like this: {((Aa, Aa), Ab), ((Aa, Ab), Aa), ((Ab, Aa), Aa), ((Ab, Ab), Ab)}. We just recreated conditionals! But what about predicates, quantifiers, and therefore... Well I ask you this reader, can we recreate predicates, quantifiers, and therefore with set theory? That is a mystery for you to solve!