pub struct Interval {
pub belief: f64,
pub plausibility: f64,
}Expand description
The evidential bound on a claim: [belief, plausibility].
Two numbers rather than one, because a single probability cannot separate a contested claim from an
unexamined one — both come out near the middle. See the module docs of crate::evidence.
Fields§
§belief: f64evidence positively supporting the claim — the floor
plausibility: f64evidence not ruling it out — the ceiling
Implementations§
Source§impl Interval
impl Interval
Sourcepub fn ignorance(&self) -> f64
pub fn ignorance(&self) -> f64
The width of the interval: how much the corpus simply does not say.
Examples found in repository?
examples/observations.rs (line 20)
1fn main() {
2 let docs: Vec<String> = [
3 "Acme Corp supplies the Defence Ministry with airframes in 2026.",
4 "Acme Corp supplies the Defence Ministry with sensors in 2026.",
5 "Acme Corp is not permitted to supply the Defence Ministry in 2026.",
6 "A field survey recorded Acme Corp near Violet City at 240 m.",
7 "A field survey recorded Beta Corp near Violet City at 310 m.",
8 "A field survey recorded Gamma Corp near Violet City at 180 m.",
9 "Beta Corp supplies the Defence Ministry with airframes in 2026.",
10 "Gamma Corp is not permitted to supply the Defence Ministry in 2026.",
11 ].iter().map(|s| s.to_string()).collect();
12 let db = steeldb::SteelDb::ingest(docs).unwrap();
13 println!("categories: {:?}", db.askable());
14 println!("\nrelation tags actually produced:");
15 for t in db.tags().get("rel").map(|v| v.as_slice()).unwrap_or(&[]).iter()
16 .filter(|t| t.contains("supplies") || t.contains("permitted/-")) { println!("{t}"); }
17 println!("\nbelief intervals:");
18 for t in ["state/asserted","state/negated"] {
19 let i = db.belief(t);
20 println!("{t:16} [{:.2}, {:.2}] ignorance {:.2}", i.belief, i.plausibility, i.ignorance());
21 }
22 println!("\nverbatim refusal:");
23 match db.query("gene/brca1") { Ok(_)=>{}, Err(r)=>println!("{r}") }
24}Sourcepub fn is_certain(&self) -> bool
pub fn is_certain(&self) -> bool
Established: supported and unrefuted.
Sourcepub fn is_refuted(&self) -> bool
pub fn is_refuted(&self) -> bool
Refuted: nothing supports it and something rules it out.
Sourcepub fn is_unknown(&self) -> bool
pub fn is_unknown(&self) -> bool
Nobody said: no support, nothing against.
Trait Implementations§
impl Copy for Interval
impl StructuralPartialEq for Interval
Auto Trait Implementations§
impl Freeze for Interval
impl RefUnwindSafe for Interval
impl Send for Interval
impl Sync for Interval
impl Unpin for Interval
impl UnsafeUnpin for Interval
impl UnwindSafe for Interval
Blanket Implementations§
impl<T> Boilerplate for T
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.