Sets are a tool that we can use to keep track of objects. Whether the objects are numbers, kites, rocks, or starfish, it doesn't matter! A set is a very helpful abstraction that makes it easy for us to describe large collections of objects by their properties.For example, we can define the "set of all resistors, whose values are the exponents of 10", to select some common parts for our electronics project.## Set Operations

We can preform operations on sets, which can help us better understand properties of the objects among different sets. **Venn Diagrams** are simple pictures that we can use to visualize these operations on sets, where a circle simply represents the objects inside a set. For example, we can separate crayons by their color, to have a set of blue crayons, and a set of red crayons.## What are sets good for?

Sets are exceedingly helpful for sorting things out from a really large pile. They are even used to build this web-page, as this page is selected from the stack of other pages by a rule kind of like...All of the parts of the website are selected in the same way using other set operations. In fact, this is how most websites are built --they are fundamentally just giant collections of set operations!We also use sets deeper inside computers, when thinking about how signals should flow through them. For example, the AND **logic gate** only outputs a signal, when it has a signal on every one of its inputs.

The simplest operation is the Union, or "OR" of two sets, which is nothing more than taking all items from both sets, and creating a super-set from both sets. An example of set unions would be, "all crayons that are blue, OR red".

The Intersection, (inner-section), or "AND" of two sets, selects items that have properties in both sets, but no items that don't have a property that the other set does not have. An example of this would be, "all crayons that are melted AND blue".

The complement, or "NOT" of a set, is all of the items that are not in the set. This could be for example, "all the not solid crayons", which means, "all the melted crayons".

These operations can be combined too! We can have for example, the "not-and" of a set, or "NAND". In this case, that would be, "not (all crayons that are melted and blue) "

`SELECT * FROM `pages` WHERE `title`='sets' AND `group`='mathematics' LIMIT 1`

Inside your computer's CPU, there are billions of these little OR, AND, and NOT operations going on every second!