Skip to main content

DeonticInferable

Trait DeonticInferable 

Source
pub trait DeonticInferable<D, S, T, ST, SYM, VS, VT>
where D: Datable + Clone, S: Spatial<VS> + Clone, T: Temporal<VT> + Clone, ST: SpaceTemporal<VS, VT> + Clone, SYM: Symbolic + Clone, VS: Clone, VT: Clone,
{ // Required method fn evaluate_action( &self, action: &ProposedAction, context: &Context<D, S, T, ST, SYM, VS, VT>, tags: &[TeloidTag], ) -> Result<Verdict, DeonticError>; }
Expand description

Defines the public API for a deontic reasoning engine.

Required Methods§

Source

fn evaluate_action( &self, action: &ProposedAction, context: &Context<D, S, T, ST, SYM, VS, VT>, tags: &[TeloidTag], ) -> Result<Verdict, DeonticError>

Evaluates a proposed action against the set of norms within a given context.

§Arguments
  • action - A reference to the ProposedAction being evaluated.
  • context - A reference to the current Context providing the state of the world.
  • tags - A slice of TeloidTags used to retrieve relevant norms from the tag index.
§Returns

A Result containing either:

  • Ok(Verdict) - A rich Verdict struct with the deontic outcome and justification.
  • Err(DeonticError) - An error indicating why the evaluation could not be completed.

Implementors§

Source§

impl<D, S, T, ST, SYM, VS, VT> DeonticInferable<D, S, T, ST, SYM, VS, VT> for EffectEthos<D, S, T, ST, SYM, VS, VT>
where D: Datable + Clone, S: Spatial<VS> + Clone, T: Temporal<VT> + Clone, ST: SpaceTemporal<VS, VT> + Clone, SYM: Symbolic + Clone, VS: Clone, VT: Clone,