std.epistemic
Generated by
sema docfromcrates/sema-runtime/assets/stdlib/sema/epistemic.sema. Import withfrom std.epistemic import …. For a narrative introduction see std.epistemic.
epistemic
Section titled “epistemic”std.epistemic - explicit uncertainty, evidence, horizons, and decisions.
Epistemic estimates never coerce to their payload. Callers must match an EpistemicDecision and keep the estimate plus its conditional guarantee attached. Composition uses an explicit conservative or independent rule and preserves all evidence, assumptions, validity, and provenance.
enum EpistemicStatus
Section titled “enum EpistemicStatus”Variants
knowndegradedunknown
enum GuaranteeStatus
Section titled “enum GuaranteeStatus”Variants
supportedviolatedunknown
enum DecisionReason
Section titled “enum DecisionReason”Variants
acceptedunknown_valueoutside_validityexcessive_uncertaintyinsufficient_horizoninsufficient_coverageunsupported_guarantee
enum CompositionRule
Section titled “enum CompositionRule”Variants
conservativeindependent
struct Evidence
Section titled “struct Evidence”Fields
| field | type | descriptor |
|---|---|---|
id |
str |
|
source |
str |
|
observed_at |
f64 |
|
reliability |
f64 |
|
summary |
str |
|
provenance |
list[str] |
struct Assumption
Section titled “struct Assumption”Fields
| field | type | descriptor |
|---|---|---|
id |
str |
|
statement |
str |
|
active |
bool |
|
checked_at |
f64 |
|
evidence_ids |
list[str] |
struct ValidityRegion
Section titled “struct ValidityRegion”Fields
| field | type | descriptor |
|---|---|---|
label |
str |
|
in_scope |
bool |
|
distance_to_boundary |
f64 |
|
checked_at |
f64 |
struct Uncertainty
Section titled “struct Uncertainty”Fields
| field | type | descriptor |
|---|---|---|
aleatoric |
f64 |
|
epistemic |
f64 |
|
parameter |
f64 |
|
structural |
f64 |
|
distributional |
f64 |
|
numerical |
f64 |
|
evidence |
f64 |
|
agent |
f64 |
|
rule |
CompositionRule |
struct Horizon
Section titled “struct Horizon”Fields
| field | type | descriptor |
|---|---|---|
steps |
int |
|
duration |
f64 |
|
error_threshold |
f64 |
|
coverage |
f64 |
|
method |
str |
|
uncertainty |
Uncertainty |
|
assumptions |
list[Assumption] |
|
valid |
bool |
struct ConditionalGuarantee
Section titled “struct ConditionalGuarantee”Fields
| field | type | descriptor |
|---|---|---|
property |
str |
|
limit |
f64 |
|
observed_bound |
f64 |
|
coverage |
f64 |
|
horizon |
Horizon |
|
assumptions |
list[Assumption] |
|
evidence |
list[Evidence] |
|
status |
GuaranteeStatus |
struct Estimate
Section titled “struct Estimate”Fields
| field | type | descriptor |
|---|---|---|
value |
T |
|
status |
EpistemicStatus |
|
uncertainty |
Uncertainty |
|
evidence |
list[Evidence] |
|
assumptions |
list[Assumption] |
|
validity |
ValidityRegion |
|
provenance |
list[str] |
|
measured_at |
f64 |
enum EpistemicValue
Section titled “enum EpistemicValue”Variants
known(Estimate[T])unknown(str, Uncertainty, list[Evidence], list[Assumption], list[str])
enum EpistemicDecision
Section titled “enum EpistemicDecision”Variants
accepted(Estimate[T], ConditionalGuarantee)abstained(DecisionReason, str, list[Evidence])
def zero_uncertainty
Section titled “def zero_uncertainty”def zero_uncertainty()def component
Section titled “def component”def component(left: f64, right: f64, rule: CompositionRule)Parameters
| name | type |
|---|---|
left |
f64 |
right |
f64 |
rule |
CompositionRule |
def compose_uncertainty
Section titled “def compose_uncertainty”def compose_uncertainty(left: Uncertainty, right: Uncertainty, rule: CompositionRule)Parameters
| name | type |
|---|---|
left |
Uncertainty |
right |
Uncertainty |
rule |
CompositionRule |
def has_evidence
Section titled “def has_evidence”def has_evidence(values: list[Evidence], id: str)Parameters
| name | type |
|---|---|
values |
list[Evidence] |
id |
str |
def merge_evidence
Section titled “def merge_evidence”def merge_evidence(left: list[Evidence], right: list[Evidence])Parameters
| name | type |
|---|---|
left |
list[Evidence] |
right |
list[Evidence] |
def has_assumption
Section titled “def has_assumption”def has_assumption(values: list[Assumption], id: str)Parameters
| name | type |
|---|---|
values |
list[Assumption] |
id |
str |
def merge_assumptions
Section titled “def merge_assumptions”def merge_assumptions(left: list[Assumption], right: list[Assumption])Parameters
| name | type |
|---|---|
left |
list[Assumption] |
right |
list[Assumption] |
def has_text
Section titled “def has_text”def has_text(values: list[str], value: str)Parameters
| name | type |
|---|---|
values |
list[str] |
value |
str |
def merge_provenance
Section titled “def merge_provenance”def merge_provenance(left: list[str], right: list[str], operation: str)Parameters
| name | type |
|---|---|
left |
list[str] |
right |
list[str] |
operation |
str |
def all_assumptions_active
Section titled “def all_assumptions_active”def all_assumptions_active(values: list[Assumption])Parameters
| name | type |
|---|---|
values |
list[Assumption] |
def estimate
Section titled “def estimate”def estimate[T](value: T, status: EpistemicStatus, uncertainty: Uncertainty, evidence: list[Evidence], assumptions: list[Assumption], validity: ValidityRegion, provenance: list[str], measured_at: f64)Parameters
| name | type |
|---|---|
value |
T |
status |
EpistemicStatus |
uncertainty |
Uncertainty |
evidence |
list[Evidence] |
assumptions |
list[Assumption] |
validity |
ValidityRegion |
provenance |
list[str] |
measured_at |
f64 |
def known_value
Section titled “def known_value”def known_value[T](value: T, status: EpistemicStatus, uncertainty: Uncertainty, evidence: list[Evidence], assumptions: list[Assumption], validity: ValidityRegion, provenance: list[str], measured_at: f64)Parameters
| name | type |
|---|---|
value |
T |
status |
EpistemicStatus |
uncertainty |
Uncertainty |
evidence |
list[Evidence] |
assumptions |
list[Assumption] |
validity |
ValidityRegion |
provenance |
list[str] |
measured_at |
f64 |
def unknown_value
Section titled “def unknown_value”def unknown_value[T](reason: str, uncertainty: Uncertainty, evidence: list[Evidence], assumptions: list[Assumption], provenance: list[str])Parameters
| name | type |
|---|---|
reason |
str |
uncertainty |
Uncertainty |
evidence |
list[Evidence] |
assumptions |
list[Assumption] |
provenance |
list[str] |
def derive
Section titled “def derive”def derive[T, U](parent: Estimate[T], value: U, status: EpistemicStatus, local_uncertainty: Uncertainty, local_evidence: list[Evidence], local_assumptions: list[Assumption], operation: str, measured_at: f64)Parameters
| name | type |
|---|---|
parent |
Estimate[T] |
value |
U |
status |
EpistemicStatus |
local_uncertainty |
Uncertainty |
local_evidence |
list[Evidence] |
local_assumptions |
list[Assumption] |
operation |
str |
measured_at |
f64 |
def compose
Section titled “def compose”def compose[T, U, V](left: Estimate[T], right: Estimate[U], value: V, status: EpistemicStatus, local_uncertainty: Uncertainty, local_evidence: list[Evidence], local_assumptions: list[Assumption], operation: str, measured_at: f64)Parameters
| name | type |
|---|---|
left |
Estimate[T] |
right |
Estimate[U] |
value |
V |
status |
EpistemicStatus |
local_uncertainty |
Uncertainty |
local_evidence |
list[Evidence] |
local_assumptions |
list[Assumption] |
operation |
str |
measured_at |
f64 |
def evaluate_guarantee
Section titled “def evaluate_guarantee”def evaluate_guarantee(property: str, limit: f64, observed_bound: f64, coverage: f64, horizon: Horizon, assumptions: list[Assumption], evidence: list[Evidence])Parameters
| name | type |
|---|---|
property |
str |
limit |
f64 |
observed_bound |
f64 |
coverage |
f64 |
horizon |
Horizon |
assumptions |
list[Assumption] |
evidence |
list[Evidence] |
def decide
Section titled “def decide”def decide[T](value: EpistemicValue[T], guarantee: ConditionalGuarantee, min_horizon_steps: int, max_uncertainty: f64, min_coverage: f64) -> EpistemicDecision[T]Parameters
| name | type |
|---|---|
value |
EpistemicValue[T] |
guarantee |
ConditionalGuarantee |
min_horizon_steps |
int |
max_uncertainty |
f64 |
min_coverage |
f64 |
Returns EpistemicDecision[T]