Graph IBP Certificate Soundness #
The induction theorem: local IBP certificate consistency plus local semantic consistency implies that every certified node box encloses the corresponding semantic value.
The per-operator cases live under GraphCertSoundness/Main/; this file states the graph-level
assumptions, dispatches on the node kind, and runs the strong induction over node ids.
Main theorem: local IBP certificate implies semantic enclosure (supported subset) #
We use strong induction on node id, assuming a topological order: every parent id is strictly smaller than the node id.
Topological order assumption: all parent ids are strictly smaller than the node id.
Instances For
A graph is supported by this soundness theorem if every node kind is in our supported subset.
Instances For
Inputs are well-formed if every .input node has a value, and that value is enclosed by
its input box from ParamStore.inputBoxes.
Instances For
A topologically earlier parent fits every node-indexed array with graph-sized storage.
The induction hypothesis for all earlier nodes yields ParentsEnclosed at node k, because
TopoSorted places every parent strictly before k.
One step of the induction: a supported node whose parents are enclosed is itself enclosed.
This is the dispatch over operator kinds; each arm is a lemma under Main/.
The enclosure theorem #
Assumptions:
TopoSorted g: induction works (parents are earlier).Supported g: every node kind is handled by the proof.CertLocalOK g ps cert: the certificate is locally consistent with the IBP step.InputsEnclosed g ps inputs: semantic inputs are inside the certified input boxes.SemLocalOK g ps inputs vals:valsis a locally-consistent semantic interpretation.
Conclusion:
- For every node
id, if the semantics produces a valuevand the certificate has a boxB, thenBenclosesv.
Enclosure for every node where both the certificate box and the semantic value are present.
This is the non-vacuous companion of cert_encloses_semantics: it quantifies over the box and
value explicitly instead of matching on cert[id]! and vals[id]!. The strong induction runs
here, since this shape is the one the operator lemmas need for their parents.
Enclosure of every certified node box around the corresponding semantic value.
The conclusion matches on cert[id]! and vals[id]! and is trivially true when either entry is
missing. This shape is kept because downstream files instantiate it directly with the runtime
arrays produced by runIBP? and the evaluator, where presence of an entry is not known up front.
See cert_encloses_semantics_of_some for the explicitly quantified form.