unchecked
nanofil also unchecked(Why)
In Fil-C nothing: no Fil-C access goes unchecked
uncheckedWhy is the outcome of a raw access its capability does not allow, or of a reuse form whose trust was false: a check was missing or too weak, which only a broken pass produces. It is neither undefined behaviour nor a trap, so it refines nothing (interp:raw_res/2).
Why is an access check's reason, or
alias,span,half,limitoraheadWhyfor the reuse forms.Rocq: the outcome
Uncheckedand the partial resultRUnchecked, made byraw_res. Soundness of checking says a valid module's run never reaches it (valid_no_unchecked).
Linked from
- A program logic: What exists
- Chain.v: hull_access_not_unchecked
- Chain.v: run_access_checked
- Chain.v: step_let_holds
- Coverage.v: access_ok_not_unchecked
- Coverage.v: check_passes
- Coverage.v: covered_access_not_unchecked
- Doomed.v: access_res_checked
- Doomed.v: ahead_holds
- Doomed.v: doomed_result_cases
- Doomed.v: doomed_step_checked
- Doomed.v: doomed_unchecked
- Doomed.v: renew_res_not_alias
- Doomed.v: run_doomed_checked
- Doomed.v: va_arg_reason
- Evidence.v: cap_access_res_checked
- Evidence.v: checked_access_not_unchecked
- Evidence.v: generic_access_not_unchecked
- Evidence.v: live_access_not_unchecked
- ExternalMachine.v: unchecked_is_core
- Guard.v: check_limit_not_unchecked
- Guard.v: checked_res_access
- Guard.v: guard_shape
- Guard.v: renew_if_not_unchecked
- Guard.v: renew_inside
- Guard.v: run_guard_checked
- Guard.v: span_test_ok
- How Fil-C works: The promise
- How Iris works: nanofil's machine in Iris
- Machine.v: doomed_result_other
- Memory.v: reason
- NFB guide (Argon)
- NFB guide (Argon): The 4-word file header
- NFB guide (Argon): What NFB is and why it exists
- NFB guide (Argon): What is proved in Rocq and what the gates check
- NFB guide (Wonder): 8. How checked IR is Fil-C's memory safety, stated in IR
- NFB guide (Wonderful)
- NFB guide (Wonderful): 5. Mode and stage are read off the vocabulary
- NFB guide (Wonderful): 9. How the validator makes this mean "safe"
- Ops.v: raw_res
- Panics.v: failure
- Panics.v: refusal
- Persistence.v: access_not_unchecked
- Persistence.v: hull_case
- Persistence.v: interp_access_not_unchecked
- Renew.v: half_access
- Renew.v: half_not_unchecked
- Renew.v: half_res_agrees
- Renew.v: hull_renew_access
- Renew.v: hull_renew_not_unchecked
- Renew.v: renew_access
- Renew.v: renew_freed
- Renew.v: renew_not_unchecked
- Renew.v: renew_source_def
- Renew.v: reuse_shape
- Renew.v: run_reuse_checked
- Runtime.v: free_checked
- Runtime.v: free_res_checked
- Semantics.v: bind_res
- Semantics.v: doomed_result
- Semantics.v: edge_step
- Semantics.v: outcome
- Soundness.v: inst_unchecked_source
- Soundness.v: interp_valid_no_unchecked
- Soundness.v: op_unchecked_source
- Soundness.v: step_unchecked_inst
- Soundness.v: unchecked_op
- Soundness.v: valid_no_unchecked
- Steps.v: raw_call_checked
- adequacy
- covered access
- doomed frame
- external call
- guard
- outcome
- raw access
- soundness of checking
- spares
- the formal campaign: Campaign 4, milestone 2: guarded machine integration
- the formal campaign: Campaign 4: observations, refinement, and the environment
- the formal campaign: How it builds on soundness of checking
- the formal campaign: The ambition
- the formal campaign: The campaigns at a glance
- the formal campaign: What exists and what is missing
- the guide: 13. Running it: interp.pl
- the guide: 5. Lowering: c_lower.pl
- the guide: Checks, proofs and one validator
- the guide: The IR and its meaning
- the guide: The IR is the contract
- trap
- validator