What if Juliet had checked Romeo’s pulse before drinking the potion?
What if your database insists Elvis is both alive and dead, but you still want to reason about it without everything collapsing?
What if we could treat contexts — like beliefs, stories, or data sources — as first-class citizens in logic, and even quantify over them?
That’s exactly what Qiana (Quantifying over Agents and Assertions) sets out to do.
Traditional logic is powerful, but struggles when statements are only true in certain contexts. Modal logics let us say things like “Alice believes φ”, but they don’t let us quantify over formulas or contexts. Higher-order logics can, but they’re undecidable or unusable in practice.
So how can we express rules like:
Qiana borrows McCarthy’s idea of ist(c, φ) (“formula φ is true in context c”) and combines it with a system for quoting formulas — turning formulas into objects we can quantify over.
Key features:
∀φ. ist(says(FriarLaurence), φ) → φ.∀c. ist(c, dead(Juliet)) → sad(c).The paper demonstrates three fun scenarios:
Reasoning in Epistemic Contexts Model beliefs and knowledge (Romeo thinks Juliet is dead → tragedy ensues).
Paraconsistency Keep reasoning even if a context holds contradictions (Romeo both believes Juliet has a pulse and that she’s dead).
Mixing Stories Compare alternative narratives, like Shakespeare’s original ending vs. a happy fanfiction rewrite.
Qiana isn’t just about Shakespearean tragedy. It opens up applications wherever contextual reasoning is key:
Qiana is a new logical framework that makes contexts and formulas first-class, lets us quantify over them, and stays usable with real theorem provers. It’s a rare combination of expressivity + practicality.
Or, to put it in Shakespearean terms:
“All the world’s a stage… and with Qiana, each context its own play.”