pub struct SchemeSpec {
pub id: SchemeId,
pub name: String,
pub category: SchemeCategory,
pub premises: Vec<PremiseSlot>,
pub conclusion: ConclusionTemplate,
pub critical_questions: Vec<CriticalQuestion>,
pub metadata: SchemeMetadata,
}Expand description
The complete definition of one argumentation scheme.
A scheme is a recognisable pattern of reasoning with named premise slots,
a conclusion template, and critical questions that probe its weak points.
Schemes are compile-time data: each is constructed by a function in the
crate::catalog module. Consumers instantiate schemes with concrete
bindings via SchemeSpec::instantiate or crate::instance::instantiate.
Fields§
§id: SchemeIdUnique scheme id.
name: StringCanonical name (e.g., “Argument from Expert Opinion”).
category: SchemeCategoryScheme category for catalog filtering.
premises: Vec<PremiseSlot>Named premise slots. Order matters — the first N are the scheme’s “core premises” as defined by Walton.
conclusion: ConclusionTemplateConclusion template. References premise slot names via ?name syntax.
critical_questions: Vec<CriticalQuestion>Critical questions that probe the scheme’s weak points.
metadata: SchemeMetadataBibliographic and classification metadata.
Implementations§
Source§impl SchemeSpec
impl SchemeSpec
Sourcepub fn instantiate(
&self,
bindings: &HashMap<String, String>,
) -> Result<SchemeInstance, Error>
pub fn instantiate( &self, bindings: &HashMap<String, String>, ) -> Result<SchemeInstance, Error>
Instantiate this scheme with concrete bindings. Convenience method
that delegates to crate::instance::instantiate.
Trait Implementations§
Source§impl Clone for SchemeSpec
impl Clone for SchemeSpec
Source§fn clone(&self) -> SchemeSpec
fn clone(&self) -> SchemeSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SchemeSpec
impl Debug for SchemeSpec
Source§impl PartialEq for SchemeSpec
impl PartialEq for SchemeSpec
impl Eq for SchemeSpec
impl StructuralPartialEq for SchemeSpec
Auto Trait Implementations§
impl Freeze for SchemeSpec
impl RefUnwindSafe for SchemeSpec
impl Send for SchemeSpec
impl Sync for SchemeSpec
impl Unpin for SchemeSpec
impl UnsafeUnpin for SchemeSpec
impl UnwindSafe for SchemeSpec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.