two generals
need(messenger to confirm)
&& channel.unreliable()
no protocol can guarantee certainty over a lossy channel. still we agree.
so. can it go through, or can't it.
pick one. you can't.
that's the bit.
(the spear pierces anything. the shield stops anything. the shield is anything. ergo —)
so which is it. (the vendor doesn't know either.)
type two assertions. find out if they can both be true.
(the solver is tiny. it knows comparisons on one variable, plus pierces(...) and stops(...). that's it. honest.)
x < 10, pierces(spear, anything)
paradoxes that should have broken under their own logic. they didn't.
need(messenger to confirm)
&& channel.unreliable()
no protocol can guarantee certainty over a lossy channel. still we agree.
consistent && available
&& partition_tolerant
pick two. you really do only get two. and yet, somehow.
NaN === NaN // false
NaN !== NaN // true
a thing that isn't equal to itself. logic packs up and goes home.
halts(p) &&
!halts(p) // by construction
the program that asks the oracle and then does the opposite. checkmate.
R = { x : x ∉ x }
R ∈ R && R ∉ R
the set of all sets that don't contain themselves. does it contain itself.
check(file).ok()
&& use(file).fails()
it was true a millisecond ago. it isn't now. welcome to threads.
…the vendor had no answer, and walked away.
mujun.dev / 矛盾
spear & shield, retold from han feizi, 3rd c. BCE.
vanilla html · css · one small js · no framework · no analytics
— a contradiction, gently inflated.