Logic Programming with Defaults and Argumentation Theories: A Unified Framework for Defeasible Reasoning
Logic programming faces a fundamental challenge: default negation, while powerful for common-sense reasoning, proves too low-level for practical knowledge engineering. This paper introduces a unified framework that abstracts defeasible reasoning into argumentation theories, making complex reasoning patterns more accessible and maintainable.
The Problem with Default Negation
Traditional logic programming relies on default negation as its primary tool for non-monotonic reasoning. However, this creates significant barriers:
- Knowledge engineers without formal logic training struggle to model domains safely
- Even trained logicians find concrete applications challenging
- The low-level nature of default negation obscures higher-level reasoning patterns
These limitations have driven researchers toward higher-abstraction frameworks, but the resulting landscape presents its own challenges: a bewildering array of incompatible approaches with diverse formal machinery.
A Unifying Framework
The authors propose Logic Programs with Defaults and Argumentation Theories (LPDAs), which separates the mechanics of defeasible reasoning from its conceptual foundations. The key insight: abstract the intuitions about defeasibility into modular argumentation theories.
Core Components
Labeled Rules: Defeasible statements that can be defeated by other rules
@move loc(?s+1,?blk,?to) :- move(?s,?blk,?from,?to), loc(?s,?blk,?from).
Plain Rules: Definite statements about the world that cannot be defeated
Argumentation Theories: Sets of rules defining when and how labeled rules get defeated, using a special predicate $defeated
Well-Founded Semantics
The framework extends well-founded semantics to handle argumentation theories through a quotient operator. When a rule is defeated ($defeated(handle(r,L)) = true), the system transforms the labeled rule by adding false to its body, effectively disabling it.
The well-founded model emerges through transfinite iteration, where each step applies the quotient operator and computes the least partial model of the resulting program.
Courteous Logic Programs Reimagined
The framework demonstrates its power by reimplementing Generalized Courteous Logic Programs (GCLP) as a specific argumentation theory. This reformulation provides several advantages:
Simplified Implementation
- Original GCLP: Complex transformations requiring hundreds of lines of code
- LPDA approach: 20-30 rules per argumentation theory
Enhanced Extensibility
The new formulation naturally extends to:
- HiLog: Higher-order logic programming features
- F-Logic: Object-oriented reasoning capabilities
- Incremental Updates: Adding knowledge doesn’t require recompiling existing rules
Example with Higher-Order Features
@perm(?t) ?p(?usr) :- ?adm[states(?t)->?p(?usr)], ?adm[controls->?p].
overrides(handle(perm(?t1),?),handle(perm(?t2),?)) :- ?t1 > ?t2.
This rule uses HiLog’s higher-order variables (?p) and F-Logic’s object-oriented syntax to express permission policies elegantly.
Well-Behaved Argumentation Theories
The framework defines properties that useful argumentation theories should satisfy:
Consistency: Well-founded models remain consistent relative to atoms Strong Consistency: Opposing literals cannot both be true Overriding Property: Higher-priority rules properly defeat lower-priority ones
The Courteous family of argumentation theories satisfies these properties, ensuring predictable behavior across different reasoning scenarios.
Practical Impact
The FLORA-2 implementation demonstrates the framework’s practical value. Users can:
- Switch between different argumentation theories within the same system
- Experiment with edge-case behaviors by modifying theory definitions
- Extend reasoning to object-oriented and higher-order domains seamlessly
For example, controversial GCLP behavior in edge cases becomes easily addressable by replacing simple theory rules rather than modifying complex transformations.
Broader Significance
This work unifies most existing approaches to defeasible reasoning in logic programming. The authors show that approaches based on Default Logic, stable models, and various priority mechanisms can be simulated within their framework by choosing appropriate argumentation theories.
The separation of argumentation theory from program transformation enables:
- Clearer Understanding: Reasoning principles become explicit and modifiable
- Easier Experimentation: Different theories can be tested without reimplementation
- Better Optimization: The modular structure enables targeted improvements
Implementation and Availability
The framework has been implemented as an extension to FLORA-2, supporting multiple argumentation theories with well-founded semantics. The implementation validates the theoretical claims while providing a practical platform for defeasible reasoning applications.
This unified approach represents a significant step toward making defeasible reasoning more accessible to knowledge engineers while maintaining the formal rigor required for reliable automated reasoning systems.