summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
authorDaniel Hader <[email protected]>2026-08-29 13:06:16 -0500
committerDaniel Hader <[email protected]>2026-08-29 13:06:16 -0500
commit5fa81500dcc07a853a01b0b0d813069467995807 (patch)
tree4edb04d0a99ee88492f99eb7a09d8982b56280f9 /content
work in progress css
Diffstat (limited to 'content')
-rw-r--r--content/or-paradox.rst90
-rw-r--r--content/pages/about.rst13
-rw-r--r--content/test-page.md15
3 files changed, 118 insertions, 0 deletions
diff --git a/content/or-paradox.rst b/content/or-paradox.rst
new file mode 100644
index 0000000..91e0489
--- /dev/null
+++ b/content/or-paradox.rst
@@ -0,0 +1,90 @@
+A paradox of logical implication
+================================
+
+:date: 2026-08-25
+:modified: 2026-08-25
+:lang: en
+:slug: implication-paradox
+:tags: logic, paradox
+:category: Logic
+
+I remember an interaction I had with a friend's dad well into my undergraduate degree. One day when I was over he asked me what courses I was taking. He made a particular sound of intrigue when I mentioned *symbolic logic*. I recall what almost sounded like concern in his voice when he asked what it could possibly be about. I tried to explain proof systems, different kinds of logics, and how symbolic transformations could be used as proxies for deductive steps kind of like algebra. In the end I don't think I did a great job explaining. Instead, I got the impression that he walked away thinking that there were college professors making a career out of over-complicating what amounts to just reasoning good.
+
+The term "logic" is right up there with "common sense" as concepts people love to complain about. Well, at least the people I grew up around anyway. If I had a nickle for every time I heard a parent or role model say something like "common sense isn't so common anymore" or "this is obviously the logical thing to believe", I'd probably be retired by now. To be fair, it's not hard to see why people have such a simplistic view of the topic. Logos, after all, is taught right next to pathos and ethos as a way of convincing people you're right. It's the one where you cite papers and doctors and scientists and stuff (or wait maybe that's ethos). Heck, even Kant, the preeminent thinker of his time, famously noted in his *Critique of Pure Reason* that logic may well be considered complete since the work of Aristotle two millennia prior.
+
+Ironically, in the century after Kant a dramatic revolution in the study of logic would take place. It's an exciting time in history, but I'm not really going to talk about that here. Instead, I want share a particularly evocative example of why we might even need different logics in the first place. This example takes the form of perhaps my favorite logical paradox. First though, some notation. The symbol :math:`\land` corresponds to the word "and" as in "it is raining *and* I have an umbrella", the symbol :math:`\lor` corresponds to "or" in the same way, and :math:`\to` corresponds to implication or "if/then" as in "*if* it is raining, *then* it is cloudy". Now the for the paradox:
+
+Suppose we let :math:`P` denote the statement "I am in Paris", :math:`B` denote "I am in Berlin", :math:`F` denote "I am in France", and :math:`G` denote "I am in Germany". Barring some future geopolitical conflict, it shouldn't be particularly controversial to assert that the following sentence is true.
+
+.. math::
+ (P \to F) \land (B \to G)
+
+In natural language this reads "if I am in Paris, then I'm in France and if I am in Berlin then I'm in Germany". So far so good, but asserting things is barely interesting on its own. Logic also enables us to reason from assertions. The most well known system of logic is often called "classical" logic since it is essentially just a modern re-telling of Aristotle's syllogistic reasoning from antiquity. Surprisingly, from our relatively straightforward assertion above, it's possible to conclude, using the rules of classical logic, that the following sentence must be true as a consequence.
+
+.. math::
+ (P \to G) \lor (B \to F)
+
+Yep, you're reading that right, either "being in Paris implies one is in Germany" or "being in Berlin implies one is in France". I'll skip the discussion here, but I've included a natural deduction style proof at the bottom of this post [#]_. If you've seen these before, it's a relatively simple exercise to verify. Suffice it to say, this deduction is classically valid.
+
+But that can't be right, what gives here? Was Aristotle wrong? Is there some fundamental flaw in logic? Well fortunately no, the trick here is much more mundane, but not at all obvious. In fact, I've recounted this paradox to several of my math friends including some professors and I don't think a single one has ever figured out what's wrong on their own. Heck, I doubt I would have had I not first heard it in the context of so-called "relevance" logics, but I digress.
+
+The problem isn't with the deduction, it's with the interpretation. See classical logic is specifically suitable for math. The implication operation in classical logic has a very particular meaning based around a simple rule: The statement :math:`A\to B` is true precisely so long as :math:`B` isn't false whenever :math:`A` is true. To understand how this works, consider the utterance "if :math:`p` is a quadratic polynomial, then :math:`p` has 2 roots" [#]_. This statement clearly ought to be true: whenever :math:`p` is a quadratic polynomial, it will always (by the fundamental theorem of algebra) have 2 roots.
+
+The strange behavior pops up when the antecedent ":math:`p` is a quadratic polynomial" is false. In this case, as far as math is concerned, we don't care any more. Our sentence doesn't say anything about cubic polynomials or exponential functions, or integers substituted for the variable :math:`p`, we only care that :math:`p` has 2 roots whenever it's a quadratic polynomial. That's the full scope of the statement and we don't want the sentence to become false just because somebody plugged a non-quadratic function into :math:`p`. Because we only care that about what happens in the case where the antecedent is true, for the sake of mathematical deduction, we let the sentence default to true if the antecedent isn't satisfied.
+
+For purposes of mathematics, this approach to assigning meaning to "if/then" works perfectly well (I suppose unless your a staunch constructivist), but it doesn't really mesh nicely with all the different ways of understanding what "if/then" means. In English, we often use "if/then" to suggest a *counterfactual*, a consequence of some hypothetical state of affairs where the antecedent describes some alternative way things might be. That the English language does little to distinguish these usages is the crux of the paradox.
+
+Going back to the example: being in Paris precludes being in Berlin and vice-versa. Consequently, under the classical interpretation of "implies", one of the implication statements is vacuously true. If I happen to be in Paris, then I'm certainly not in Berlin so the statement "if I'm in Berlin, then I'm in France" is true by default, at least as far as classical logic is concerned. The implication simply doesn't apply to me since I'm not in Berlin.
+
+This is, of course, not how you likely first understood the formal statement :math:`(P \to G) \lor (B \to F)` and that's entirely my point. The typical interpretation of something like "If I'm in Paris then I'm in Germany" is as a counterfactual which should be false by nature of geography. Classical logic is not equipped to reason about hypothetical assumptions in this way and that's where other logics become useful. Different logics can capture different ways of assigning meaning to implication or can even introduce entirely different modes of reasoning. Temporal logics, for instance, have symbolism for describing truths that can change over time, while modal logics try to formalize the notion of "possibly true" or "conceivably true". There are relevance logics which introduce rules to insist that antecedents and consequents actually be related, and even quantum logics which try to formalize reasoning about how underlying quantum systems manifest into physical observations. The landscape of modern logic is actually quite diverse, and a lot of modern logical research focuses on classify these different systems into a family tree of sorts.
+
+Anyway, all this to say: if you ever run into someone insisting that some belief they hold is logical, try asking them which logic they're using.
+
+----
+
+
+.. [#] Here's the natural deduction proof of :math:`(P \to G) \lor (B \to F)` from :math:`(P \to F) \lor (B \to G)`:
+
+.. list-table::
+ :header-rows: 1
+ :align: center
+ :widths: 4 10 30
+
+ * - Line #
+ - Formula
+ - Justification
+ * - 1
+ - :math:`(P \to F) \land (B \to G)`
+ - Premise
+ * - 2
+ - :math:`\lnot\big((P \to G) \lor (B \to F)\big)`
+ - Assumption
+ * - 3
+ - :math:`\lnot(P \to G) \land \lnot(B \to F)`
+ - De-Morgan; 2
+ * - 4
+ - :math:`\lnot(P \to G)`
+ - :math:`\land`-elim; 3
+ * - 5
+ - :math:`P`
+ - :math:`(\lnot \to)`-elim; 4
+ * - 6
+ - :math:`P \to F`
+ - :math:`\land`-elim; 1
+ * - 7
+ - :math:`F`
+ - :math:`\to`-elim; 5, 6
+ * - 8
+ - :math:`\lnot(B \to F)`
+ - :math:`\land`-elim; 3
+ * - 9
+ - :math:`\lnot F`
+ - :math:`(\lnot \to)`-elim; 8
+ * - 10
+ - :math:`F \land \lnot F`
+ - :math:`\land`-intro; 7, 9
+ * - 11
+ - :math:`(P \to G) \lor (B \to F)`
+ - RAA+DNE; 2, 10
+
+.. [#] Yes, yes, I know my use of the term :math:`p` here technically brings us out of the realm of classical logic and into something more like predicate logic.
diff --git a/content/pages/about.rst b/content/pages/about.rst
new file mode 100644
index 0000000..8c1bc47
--- /dev/null
+++ b/content/pages/about.rst
@@ -0,0 +1,13 @@
+About Me
+########
+
+:date: 2026-08-19
+:modified: 2026-08-19
+:lang: en
+:slug: about-me
+
+My name is Daniel Hader.
+
+I've been in love with computers since I was a kid. My grandmother loves to tell me that when I was just a couple years old, I would insist on sitting on her lap at the computer, moving the mouse around with hands that could barely reach the buttons. My parents generally encouraged me, buying me a desktop computer when I was around 6 or 7 along with a fantastic piece of software called *The Games Factory 2* just a little while later. TGF2 is a drag-and-drop game engine that acted as my introduction to the logic and control flow of programming.
+
+Throughout my teens I started to teach myself Java and C++. I remember watching a live stream where Notch, the Minecraft guy, made a small dungeon crawler in Java for a game jam. Through a sequence of arcane invokations of trigonometic functions and bitwise functionns, he somehow transformed an array of pixel data into 3D world. It was black magic to me. I remember actually printing his code out paper and going through with a pen tracing through it line by line. I was obsessed. Those are some of my most cherished memories and I emerged from that period of my life an enriched person having learned some of the dark arts for myself.
diff --git a/content/test-page.md b/content/test-page.md
new file mode 100644
index 0000000..761478c
--- /dev/null
+++ b/content/test-page.md
@@ -0,0 +1,15 @@
+Title: Test Article
+Date: 2026-08-14
+Category: Test
+
+This is a test page. I want to see how Pelican generates the page.
+
+What kinds of things does Pelican put around the sides of the website.
+
+As far as I know I have pretty fine grained control if I dig around in the CSS a bit.
+
+# Title (it is markdown after all)
+
+Does latex work?
+
+$\frac{1}{2} \Sum_{n=0}^\infty \frac{1}{n!}$ \ No newline at end of file