Skip to main content

Crate argumentation_schemes

Crate argumentation_schemes 

Source
Expand description

§argumentation-schemes

Walton argumentation schemes with critical questions for structured social reasoning. Each scheme is a recognisable reasoning pattern (expert opinion, ad hominem, argument from consequences) that carries its own critical questions — the follow-up challenges a competent reasoner would raise.

Builds on the argumentation crate’s ASPIC+ layer: scheme instances compile to ASPIC+ premises and defeasible rules that can be evaluated via Dung semantics.

§Quick example

use argumentation_schemes::catalog::default_catalog;
use std::collections::HashMap;

let catalog = default_catalog();
let scheme = catalog.by_key("argument_from_expert_opinion").unwrap();

let bindings: HashMap<String, String> = [
    ("expert".to_string(), "alice".to_string()),
    ("domain".to_string(), "military".to_string()),
    ("claim".to_string(), "fortify_east".to_string()),
]
.into_iter()
.collect();

let instance = scheme.instantiate(&bindings).unwrap();
assert_eq!(instance.premises.len(), 3);
assert_eq!(instance.critical_questions.len(), 6);

§References

  • Walton, D., Reed, C., & Macagno, F. (2008). Argumentation Schemes. Cambridge University Press.
  • Modgil, S. & Prakken, H. (2014). The ASPIC+ framework. Argument & Computation 5(1).

Re-exports§

pub use aif::AifDocument;
pub use aif::AifEdge;
pub use aif::AifNode;
pub use aif::aif_to_instance;
pub use aif::instance_to_aif;
pub use aspic::add_counter_argument;
pub use aspic::add_scheme_to_system;
pub use error::Error;
pub use instance::CriticalQuestionInstance;
pub use instance::SchemeInstance;
pub use instance::instantiate;
pub use registry::CatalogRegistry;
pub use scheme::ConclusionTemplate;
pub use scheme::PremiseSlot;
pub use scheme::SchemeMetadata;
pub use scheme::SchemeSpec;
pub use types::Challenge;
pub use types::SchemeCategory;
pub use types::SchemeId;
pub use types::SchemeStrength;
pub use types::SlotRole;

Modules§

aif
AIF (Argument Interchange Format) — AIFdb JSON serialization.
aspic
ASPIC+ integration: feed a SchemeInstance into an argumentation::aspic::StructuredSystem as ordinary premises plus a defeasible rule.
catalog
The built-in scheme catalog. Each submodule exports pub fn all() -> Vec<SchemeSpec> plus individual pub fn <scheme_name>() -> SchemeSpec constructors. default_catalog collects all of them into a CatalogRegistry.
critical
Critical questions for argumentation schemes.
error
Crate error types.
instance
SchemeInstance: a scheme instantiated with concrete bindings.
registry
CatalogRegistry: an in-memory collection of schemes with lookup by name, id, and category.
scheme
SchemeSpec: the compile-time definition of one argumentation scheme.
types
Foundational types for argumentation schemes.