Fil-C on Nix

Filnix wiki

mbrock/filnix/nanofil

evidence

nanofil

In Fil-C FilPizlonator removes checks it finds redundant (compiler)

Evidence is whatever discharges an access's requirement, the authority over the bytes it touches. Today it is a check immediately before the access, an earlier heap check whose live fact still holds, or a reuse form's trust: for renew a dominating check, for renew_if a guard's span test.

  • The validator's fact for it is liveQ, P, Lo, Hi, Rights, Align (ir:checked_insts/5); Rocq's is fact, with its meaning fact_holds.

  • The evidence pass tracks it, and the evidence invariant proves it true along runs.

campaign.md separates requirement, evidence and implementation: an optimizer may choose cheaper evidence, never weaker.