#solver #framework #argumentation #af

bin+lib crustabri

An argumentation framework library & solver

2 stable releases

1.1.1 Jan 24, 2024
1.0.0 Sep 6, 2023

#288 in Science


Used in crustabri_ipafair

GPL-3.0-or-later

480KB
11K SLoC

Crustabri

Crustabri is a RUST ABstract argumentation Reasoner Implementation.

This project contains both a library and two binaries. The library allows to create and modify static and dynamic argumentation frameworks, and to execute queries on them. The first binary, crustabri, allows various operations on input argumentation frameworks. Type crustabri -h to get the description of the available subcommands and crustabri <SUBCOMMAND> -h for the help for a given subcommand. The second binary, crustabri_iccma23, is a wrapper for Crustabri to be compatible with the ICCMA'23 competition requirements.

License

Crustabri is developed at CRIL (Univ. Artois & CNRS). It is made available under the terms of the GNU GPLv3 license.


lib.rs:

Crustabri is a RUST ABstract argumentation Reasoner Implementation.

This library provides datastructures and functions used to handle argumentation frameworks and to execute queries on them. Take a look at the example below to get an overview, and browse this documentation to see its capabilities.

Example

let labels = vec!["a", "b", "c"];
let arguments = ArgumentSet::new_with_labels(&labels);
let mut framework = AAFramework::new_with_argument_set(arguments);
framework.new_attack(&labels[0], &labels[1]);
let mut solver = StableSemanticsSolver::new(&framework);
let opt_ext = solver.compute_one_extension();
if let Some(ext) = opt_ext {
    println!("found an extension: {:?}", ext);
} else {
    println!("the problem has no stable extension");
}

Dependencies

~7–17MB
~219K SLoC