Ten Days at Stanford's Intro to Logic: The Camp That Changed How I Think
When I applied to Stanford's Intro to Logic summer camp, I expected to spend ten days learning about truth tablesA table listing every possible true/false combination for a statement's parts, alongside the resulting truth value of the whole statement., formal proofs, and maybe a little philosophy. As someone who enjoys mathematics, science, and chess, I thought logic would simply be another interesting subject to add to the list.
I couldn't have been more wrong.
By the end of the camp, I wasn't just solving logic puzzles. I was recognizing proof structures in mathematics, seeing how robots and AI reason about the world, and appreciating why a branch of philosophy developed over two thousand years ago still sits at the heart of modern computer science.
What surprised me most wasn't what we learned, but how we learned it. Every day combined lectures with puzzles, debates, games, programming, and collaborative problem-solving. Instead of memorizing rules, we were constantly challenged to ask better questions, defend our reasoning, and discover why an argument worked, not just whether it reached the right answer.
The course was run by our instructor, Mr. Luciano, with Stanford CS students Max and Kelvin serving as our TAs, teaching a curriculum built on Professor Michael Genesereth's Introduction to Logic course at Stanford.
Let's start with a question that, surprisingly, didn't have the obvious answer I expected.
I expected our first day to begin with definitions and notation. Instead, it began with an experiment.
Mr. Luciano split us into two groups. One studied a map of a scenario, while the other read a paragraph describing the exact same information. We all took the same quiz afterward, and the results weren't even close: the map group significantly outperformed the text group. Rather than telling us that visual representations make reasoning easier, Mr. Luciano had let us discover it ourselves. That distinction, between being told something and proving it to yourself, turned out to be the philosophy of the entire camp.
We put that idea into practice immediately, building posters for the five logical operators, conjunctionAND. True only when both statements it connects are true., disjunctionOR. True when at least one of the statements it connects is true., implicationIF...THEN. False only when the first part is true and the second part is false., biconditionalIF AND ONLY IF. True when both statements share the same truth value., and negationNOT. Flips a statement's truth value from true to false or false to true., and constructing their truth tables. Somewhere along the way, logic stopped feeling like a collection of symbols and started feeling like a tool for uncovering the why behind things. To drive that point home, Mr. Luciano challenged us to explain why "a negative times a negative is a positive." We all knew the rule, but very few of us could actually justify it.
The day ended with one of my favorite examples: the headline "Crowds Rushing to See Pope Trample 6 to Death." Grammatically, it was perfectly valid. Logically, it was a disaster. It was a funny reminder that everyday language is often far less precise than we realize, and exactly why formal logic exists.
Walking out that afternoon, I realized I hadn't just learned my first logic concepts. I had started looking at questions differently. Logic wasn't simply about finding answers. It was about asking the right questions first.
If Day 1 was about individual statements, Day 2 was about the relationships between them. I was surprised how quickly learning a more precise vocabulary changed the way I thought about arguments.
We learned to distinguish between statements that are logically equivalentTwo statements that always share the same truth value, no matter what — their truth tables are identical., meaning different wording but identical truth tables, and statements that are merely consistentA set of statements that can all be true at the same time, even if they aren't saying the same thing., meaning they can all be true at the same time without saying the same thing. From there, we built up to entailmentWhen the truth of one or more statements guarantees the truth of another — the conclusion can't be false if the premises are true., where a set of true premisesThe starting statements assumed true in an argument, from which a conclusion is drawn. forces a conclusion to be true, and classified statements as validTrue in every possible case, no matter how the pieces are filled in., contingentTrue in some cases and false in others, depending on the specifics., or unsatisfiableNever true, under any possible assignment of truth values. depending on when they held.
To keep the ideas from becoming too abstract, we regularly switched gears with puzzles. My favorites were the toothpick challenges, where moving a single piece completely changed the solution, and the classic river-crossing riddles. More than the answers themselves, I noticed my approach changing. Instead of relying on trial and error, I found myself using process of elimination and breaking problems into manageable pieces.
By the end of the day, logic no longer felt like a collection of symbols. It had become a framework for thinking, one that was already beginning to influence how I approached problems far beyond the classroom.
"How many people are in a pair of twins?"
It sounded like a trick question, but Mr. Luciano used it to make a deeper point: before you can reason correctly, you have to agree on your definitions. A pair of socks is two socks; a pair of twins is two twins. Two people. It was a simple example, yet it showed how many disagreements begin with people using the same word to mean different things.
That idea carried into the day's main lesson as we explored the difference between consistency and entailment. One result completely caught me off guard: in formal logic, an impossible statement technically entails any conclusion. It felt completely backwards at first, but it also showed just how precise, and sometimes unintuitive, logical reasoning can be.
The rest of the day was spent constructing our first direct proofs, building arguments one justified step at a time using rules of inferencePrecise, agreed-upon moves for deriving new true statements from ones you already have.. Unlike solving a puzzle by intuition, every line had to be earned.
One problem-solving strategy from that day has stayed with me ever since: represent what you know, solve a smaller version first, then guess, adjust, and repeat. I came expecting to learn logic, but I was beginning to leave each day with tools I could apply far beyond it.
We opened the day with a puzzle that challenged us to encode a solution in binary. I was struck by how naturally a number system could carry an idea. For the first time, math and logic didn't feel like separate subjects. They felt like two ways of describing the same thing.
That made the day's main concept land even harder: Fitch natural deduction. We learned the ten rules of inference, but the real breakthrough was the idea of a subproof. By temporarily assuming something, exploring its consequences, and then stepping back out, we could prove conclusions that seemed impossible from the original premises alone. Watching a non-obvious result emerge from a few simple assumptions was one of the most satisfying moments of the camp.
The day wasn't all formal logic. We also debated what makes a good partner. College students, it turns out, ranked good hygiene above everything else. We also picked up practical presentation tips like using contrasting colors and making sure everyone in the room could clearly see and hear you.
By the end of the day, subproofs no longer felt like a clever trick. They felt like a new way of approaching difficult problems.
By Day 5, the proofs had grown teeth.
The morning's Nim tournament was almost a warm-up. Starting with rows of seven, five, and three objects, we worked backwards from smaller solved cases until we proved that the first player could always force a win with the right strategy. It was incredibly satisfying to realize that what looked like a simple game was actually governed by logic.
Then came the Fitch proofs.
The problems stretched past twenty steps, requiring assumptions I never would have thought to make. For the first time in a while, I found myself genuinely stuck, not "thinking hard" stuck, but staring-at-the-page stuck. Whenever we hit a wall, Max and Kelvin never gave us the answer. Instead, they'd ask why we'd chosen a particular step, nudging us toward the insight we needed without taking away the challenge.
Mr. Luciano's advice was much simpler: all we needed was indomitable will.
"All we needed was indomitable will." —Mr. Luciano
It sounded almost too simple, but he was right. Some proofs took persistence more than brilliance, and finally reaching the last line after struggling for so long was one of the most rewarding feelings of the camp.
Around this time, another tradition started. During breaks, somebody would start playing chess online, and before long a crowd had gathered around, math students, debaters, athletes, all arguing over what the most logical move should be. Somehow, it felt like the perfect way to spend a logic camp lunch break.
The card trick is what I remember most from Day 6. In groups, we were handed five random cards, hid one, and arranged the remaining four so that a teammate could identify the missing card from their order alone. Designing the encoding, deciding what each arrangement meant, was the first time I felt like I was building a logical algorithm rather than simply applying one.
That exercise led naturally into relational logicA branch of logic that describes a world using objects and the relationships between them, like writing on(blockA, blockB) to say one block sits on another., where we learned how to describe a world using objects, relationships, and quantifiersWords like "for every" and "there exists" that let a statement talk about an entire group at once instead of one case at a time. like "for every" and "there exists." It was powerful, but at first it still felt abstract.
Then we visited the Stanford Robotics Lab.
Suddenly, the same logical statements we'd been writing on the whiteboard were controlling real machines. Around the lab were projects tackling healthcare, household assistance, and even underwater exploration. It was one thing to write on(blockA, blockB) on paper; it was another to watch a robot understand a similar idea and act on it.
That afternoon, logic stopped feeling like a classroom subject. It became something tangible, a language that helps machines understand and interact with the world.
I walked into Day 7 thinking I understood probability. Five minutes later, the Monty Hall problem proved otherwise. Once we reframed it in terms of favorable outcomes over total possible cases, what had always felt counterintuitive suddenly became almost mechanical. Modular arithmeticArithmetic that "wraps around" after reaching a fixed number, like how a clock resets to 1 after passing 12. brought that same sense of structure to some of the week's trickiest number puzzles.
The day's main challenge, though, was building our own logical worlds. Instead of reasoning about someone else's examples, each team created its own universe, defining objects, relationships, and axiomsStarting statements accepted as true without proof, used as the foundation for everything built on top of them. using the relational logic we'd learned the day before. It was one thing to check whether a system was logically consistent; it was another to be responsible for designing one yourself.
We wrapped up with poster presentations, where every group explained the rules governing its world. Even though we all started with the same tools, every team's solution was completely different. It was a reminder that logic isn't about finding a single "correct" way to think. It's about building systems where every conclusion follows from the rules you've chosen.
The day's puzzles were spatial, which immediately reminded me of chess. The classic 8 Queens problem looked simple at first: place eight queens on a chessboard so that no two attack each other. My instinct was to think one square at a time, but the real lesson was that you don't have to search every possibility. By using logic to eliminate impossible positions early, you can dramatically shrink the search space.
That same idea carried into the day's advanced Fitch proofs, where we extended our reasoning to quantifiers and relations, exactly the kind of problem featured in the International Logic Olympiad, a competition built on this same course that suddenly felt within reach. As the problems grew more complex, I found myself relying less on intuition and more on careful elimination and structured reasoning.
Outside the formal lessons, we played Connect 4 and debated how an AI should learn to win. Should it rely on carefully written rules for every situation, or should it learn winning strategies from thousands of games? I wasn't sure which approach was better, but that uncertainty made the discussion even more interesting.
By the end of the day, I realized that whether you're solving chess puzzles, proving theorems, or building AI, the challenge is often the same: finding the smartest way to search through an enormous space of possibilities.
Day 9 was the steepest climb of the camp. We warmed up with river-crossing puzzles and the classic prisoners-and-colored-hats riddle before diving into our most challenging Fitch proofs yet. We also worked in the opposite direction, taking real-world scenarios and translating them into formal logic using axioms and the transitive propertyIf A relates to B a certain way, and B relates to C the same way, then A relates to C too — like "faster than," which chains together..
But the idea that stayed with me long after class was functional logicA branch of logic built around functions — operations that can be applied to their own results, over and over, to generate new objects.. We learned that with nothing more than a finite set of objects and a finite set of functions, you can generate an infinite number of new objects simply by repeatedly applying a function to its own results. I remember staring at the whiteboard, amazed that something endless could emerge from such a small collection of rules.
It felt almost like a magic trick, but it wasn't. It was pure logic. Later, I learned that the same idea appears in areas like compiler design and AI inference engines, making one of the camp's most abstract concepts surprisingly relevant to modern computing.
By the end of the day, I had a new appreciation for one of logic's greatest strengths: from a handful of simple rules, you can build something unimaginably complex.
The final day brought everything together. Max and Kelvin, the two TAs who had guided us through so many challenging proofs, introduced the closing concept: mathematical inductionA proof technique: show a statement holds for a first case, then show that whenever it holds for one case it must hold for the next one too — which proves it holds for every case, without checking them all.. They explained it with a line of dominoes. Prove the first one falls, then prove that every falling domino knocks over the next, and you've shown the entire infinite line will fall without checking each domino individually. It was a beautifully simple idea with surprisingly powerful consequences.
From there, we explored graphs, nodes, and cycles, including how closed loops can be used in cybersecurity to trap a malicious attacker in a cycle they can't escape. Once again, it was exciting to see ideas that had seemed abstract only days earlier appear in real-world applications.
The puzzles ranged from dividing gold among pirates to cracking combination safes, but what I'll remember most is the people. By the end of the camp, my group had settled into a familiar rhythm: we'd all get stuck, sit in silence for a while, and then someone would have an idea we'd debate until it either held up or fell apart. Working alongside students with so many different backgrounds taught me that the best solutions often come from combining different ways of thinking. And during breaks, somehow, we always ended up back around the same chessboard.
As we received our certificates, took one last group photo, and said our goodbyes, I realized I was leaving with far more than a notebook full of proofs. I was leaving with sharper reasoning, a new appreciation for the role of logic in mathematics and AI, and friendships I never expected to make in just two weeks. Thank you IntroLogic!!
Some of the classic brainteasers that circulate around Professor Genesereth's Intro to Logic course. Full write-ups and solutions live on the course site — linked below.