Input/Output Logic reconceptualizes conditional norms not as truth-functional implications but as ordered pairs (a, x), where a is a set of input conditions and x is a set of output obligations. This structural separation prevents the derivation of counterintuitive theorems—such as 'if murder is forbidden, then murdering and then robbing is forbidden'—that plague Standard Deontic Logic when it treats norms as material implications. The framework, pioneered by David Makinson and Leendert van der Torre, provides a robust mathematical foundation for normative reasoning systems that must handle complex, real-world regulatory codes.
Glossary
Input/Output Logic

What is Input/Output Logic?
Input/Output Logic is a formal framework for modeling conditional norms as ordered pairs of input conditions and output obligations, designed to avoid the paradoxes of material implication that arise when classical logic is applied to deontic contexts.
The logic operates through a reusable operation called out, which applies a set of conditional norms to a given factual context to produce a set of explicit obligations. By defining different out operators—simple-minded, basic, and reusable—the framework models varying degrees of reasoning sophistication, from literal rule application to defeasible deontic logic with chaining. This makes Input/Output Logic particularly valuable for engineering normative compliance checkers and deontic smart contracts, where the system must deterministically derive obligations from a knowledge base without succumbing to the logical paradoxes that render classical deontic systems inconsistent.
Key Features of Input/Output Logic
Input/Output Logic provides a robust formal apparatus for modeling conditional norms without collapsing into the paradoxes that plague classical material implication. Below are the core structural and operational features that distinguish it as a tool for deontic reasoning.
Detachment-Free Conditional Norms
Unlike material implication, Input/Output Logic does not validate deontic detachment—the fallacious inference that if an obligation is conditional on a fact, and that fact is true, the obligation is unconditionally actual. Instead, it treats norms as ordered pairs (a, x) where a is the input condition and x is the output obligation. The system processes inputs through an operation out(G, A) that yields the set of obligations given a context A, without collapsing normative conditionality into truth-functional logic. This avoids Chisholm's Paradox and contrary-to-duty (CTD) contradictions by maintaining the logical separation between factual truth and normative consequence.
Four Core Output Operations
The framework defines a family of output operations, each with distinct logical properties, allowing fine-grained control over normative reasoning:
- Simple Output (out₁): Uses only substitution of equivalents and weakening of the output. Represents the most basic form of conditional obligation.
- Reusable Output (out₂): Adds the principle that if (a, x) is in the code, then (a ∧ y, x) is also valid. Allows factual strengthening of the input.
- Basic Reusable Output (out₃): Combines reusability with cumulative transitivity—if (a, x) and (a ∧ x, y) are norms, then (a, y) is derivable. Models the chaining of conditional obligations.
- Classical Reusable Output (out₄): The strongest operation, adding reasoning by cases (disjunction in the input). Corresponds to the logic of reusable imperative inferences.
Explicit Constraint Handling via Constraints
Input/Output Logic introduces a constraint set to handle contrary-to-duty (CTD) scenarios without logical explosion. A constraint is a pair (a, x) that represents an inviolable background condition—typically a primary obligation. When the input context A violates a constraint (e.g., a primary duty is breached), the output operation is restricted to maxfamilies of the code that are consistent with the constraints. This mechanism allows the system to derive secondary obligations (e.g., 'you must apologize') from a breach scenario without deriving the contradictory primary obligation ('you must not breach'). This is the formal solution to the Chisholm's Paradox that defeats Standard Deontic Logic.
Semantics via Ordered Families
The semantics of Input/Output Logic are defined through ordered families of subsets of the normative code G. An output operation out(G, A) is characterized by the set of all maximal subsets of G that are consistent with the input A and the constraints. This semantic structure provides:
- Soundness and completeness proofs for each output operation.
- A clear model-theoretic interpretation of what it means for a norm to be derivable.
- A direct mapping to non-monotonic logic formalisms, as the selection of maximal consistent subsets mirrors the preferential semantics used in default reasoning. This bridges normative reasoning with the broader field of defeasible logic.
Connection to Deontic Logic Proper
Input/Output Logic is not a deontic logic in the traditional modal sense—it does not use primitive obligation operators O or permission operators P. Instead, it reconstructs deontic notions as derived concepts from the output operation:
- Obligation: x is obligatory in context A if x ∈ out(G, A).
- Permission: x is permitted in context A if ¬x ∉ out(G, A) (i.e., the negation is not obligatory).
- Prohibition: x is prohibited in context A if ¬x ∈ out(G, A). This reconstruction avoids the logical omniscience and deontic explosion problems of modal approaches, as the output operation is not closed under classical logical consequence in the input. It provides a paraconsistent-tolerant framework where conflicting norms can coexist without trivializing the system.
Computational Implementation Pathways
The algebraic structure of Input/Output Logic lends itself to computational realization through several paradigms:
- Answer Set Programming (ASP): The maximal consistent subset semantics maps directly to stable model generation in ASP solvers like clingo, enabling normative query answering over large rule sets.
- Boolean Satisfiability (SAT): For propositional codes, the output operation can be reduced to SAT solving by encoding the consistency checks as boolean constraints, leveraging industrial-strength solvers.
- Defeasible Logic Programming (DeLP): The argumentation-theoretic interpretation of maxfamilies aligns with DeLP's dialectical trees, where arguments for and against an obligation are constructed and resolved.
- Normative Knowledge Graphs: The (a, x) pair structure maps naturally to RDF triples with reification, enabling storage and SPARQL querying of large normative corpora in graph databases.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Frequently Asked Questions
Clear answers to common questions about the formal framework for modeling conditional norms, its operational mechanics, and its advantages over classical deontic systems.
Input/Output Logic is a formal framework for modeling conditional norms as ordered pairs (a, x), where a is an input condition (a factual scenario or context) and x is an output obligation (what must, may, or must not be done). Unlike material implication in classical logic, which generates paradoxes when applied to norms, Input/Output Logic treats norms as directives rather than truth-bearing propositions. The system operates through a detachment mechanism: given a set of normative pairs and a factual input set, the logic computes the corresponding output set of obligations. This computation is governed by specific operations—such as out1, out2, out3, and out4—each defined by different closure rules (e.g., allowing or restricting reasoning by cases, strengthening of outputs, or cumulative transitivity). The framework was developed by David Makinson and Leendert van der Torre to provide a rigorous, paradox-free foundation for deontic reasoning in artificial intelligence and legal informatics.
Related Terms
Master the formal machinery of normative reasoning. These concepts form the essential toolkit for engineers building systems that can reliably model obligations, permissions, and prohibitions.
Deontic Modal Logic
The foundational branch of logic concerned with obligation, permission, and prohibition. It provides the formal semantics for reasoning about normative systems, introducing operators like O (it is obligatory that) and P (it is permitted that). Unlike classical logic, deontic logic must handle the non-truth-functional nature of norms—a statement's truth-value does not determine whether it ought to be true. This framework underpins all computational legal reasoning by providing a rigorous vocabulary for encoding duties.
Contrary-to-Duty (CTD) Obligation
A conditional obligation that activates precisely when a primary duty has been violated. CTD structures model the real-world resilience of legal systems: 'You ought not to breach a contract, but if you do, you ought to pay damages.' These are the source of the most famous paradoxes in deontic logic, including Chisholm's Paradox, which demonstrates that Standard Deontic Logic (SDL) cannot consistently represent CTD scenarios. Input/Output Logic was specifically developed to resolve these paradoxes by treating conditionals as ordered pairs rather than material implications.
Defeasible Deontic Logic
A non-monotonic extension of deontic logic that allows conclusions to be retracted in the presence of new information. Legal norms are inherently defeasible—a general rule admits exceptions, and a seemingly applicable obligation can be defeated by a higher-priority norm or an unforeseen circumstance. This formalism captures the argumentative structure of law, where conclusions are always provisional and subject to rebuttal. It pairs naturally with Input/Output Logic's constraint-satisfaction approach to resolve normative conflicts.
Normative Conflict Resolution
The algorithmic process of reconciling incompatible obligations within a normative system. When two norms prescribe mutually exclusive actions, resolution strategies must determine precedence. Key principles include:
- Lex Superior: Higher authority prevails
- Lex Specialis: More specific rule overrides general rule
- Lex Posterior: Later enactment supersedes earlier one Input/Output Logic formalizes this by applying constraints to filter permissible output sets, ensuring the resulting normative system is coherent and actionable.
Hohfeldian Analysis
A fundamental analytical framework that decomposes legal relations into eight jural correlatives arranged as four pairs of opposites and correlatives:
- Right/Duty: A's right correlates to B's duty
- Privilege/No-Right: A's liberty correlates to B's lack of claim
- Power/Liability: A's ability to alter B's legal position
- Immunity/Disability: A's freedom from having their legal position altered This disambiguation is critical for Input/Output Logic systems, ensuring that the formal encoding of norms precisely captures the intended legal relationship.
Normative Compliance Checker
An algorithmic engine that evaluates a trace of agent actions against a formalized set of deontic rules to detect violations and measure adherence. It ingests event logs and a normative knowledge base encoded in frameworks like Input/Output Logic, then flags non-conformant behavior. Key capabilities include:
- Violation detection: Identifying when an obligation was not fulfilled
- Deadline monitoring: Tracking temporal constraints on duties
- Sanction triggering: Activating contrary-to-duty consequences These systems are essential for regulatory technology (RegTech) and automated auditing.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us