rocq/theories/HiArtifact.v
The application proof describes the checked module actually generated from hi.c. The shared program-fixture gate regenerates HiCode.v; this equality connects that artifact to the source-shaped body.
Decoding the pinned -O output gives exactly the module used by Hi.v, including its literal bytes, result and actual temporary argument.
Explore proof 1 tactics
Initial goal
reflexivity
No remaining goals.
Qed
✓ Proof checked and closed by Rocq.
Source script
The generated main ignores its launcher words. This application-entry theorem is stronger than restricting them to startup_at; it does not prove the native launcher reaches an entry satisfying these premises.
Defined main and an actual call frame, then independent admissibility and shared-classification safety for every fuel and launcher input. The exact runtime state after startup is retained, not reset to start. Opaque stdio validity and its safepoint stability remain explicit.
Explore proof 14 tactics
Initial goal
intros rep requests s_entry m w argc argv envp Hstable Hpre Hwf Ho
assert Hentry : ∀fuel, P.body_invrep P.M.Runninghi_entrym fuel, s_entry w
2 openfocused goal
{intros fuel
2 opendeferred goal
split ; apply P.H.hi_body_entry ; exact Hpre |
2 opendeferred goal
auto
deferred goal
exists c_framehi_entrym 0
split ; reflexivity |
split ; reflexivity |
intros fuel Hready
split
2 openfocused goal
–intros trace c s w′ site Hrun Hsite
2 opendeferred goal
eapply P.all_calls_admissible ; exact Hstable | apply Hentry | exact Hrun | exact Hsite
deferred goal
–intros b host trace why ms w′ Hrun
eapply P.application_stopped_never_panics with st := P.ApplicationP.M.Runninghi_entrym fuel, s_entry w ; exact Hstable | apply Hentry | exact Hrun
No remaining goals.
Qed
✓ Proof checked and closed by Rocq.
Source script
The named trusted successful-entry image for this generated program. Native launcher/libc/TLS satisfaction is trusted, probed by libc-entry.c, not proved by these predicates or by startup's copy lemmas. Constructor and environment obligations are not permissions for arbitrary callbacks.
Every successful trusted entry supplies the real application invariant, retaining the exact runtime and memory, for any execution fuel.
Explore proof 3 tactics
Initial goal
intros rep s m w argc argv envp args environment fuel _ & _ & Hpre & Hwf & Ho
split ; apply P.H.hi_body_entry ; exact Hpre |
auto
No remaining goals.
Qed
✓ Proof checked and closed by Rocq.
Source script
The trusted entry image suffices for application-only nonfailure. Entry refusal or unfinished startup is not a successful-entry image; this theorem promises neither native startup success nor termination.
Explore proof 3 tactics
Initial goal
intros rep requests s m w argc argv envp args environment fuel b host trace why ms w′ Hstable Hentry Hrun
eapply P.application_stopped_never_panics ; exact Hstable | | exact Hrun
eapply trusted_entry_body ; exact Hentry
No remaining goals.
Qed
✓ Proof checked and closed by Rocq.
Source script
A named trusted successful-completion specification. The explicit completed witness concerns this exact handoff, not mere readiness. Native satisfaction is probed by libc-exit.c, not proved. Finished remembers the handoff snapshot, not native postmortem memory, and completion does not assert that outstanding output was delivered.
Readiness and a handoff must not invent a missing native completion.
Explore proof 2 tactics
Initial goal
intros s m w sh _ & _ & _ & Hmissing
exact Hmissing
No remaining goals.
Qed
✓ Proof checked and closed by Rocq.
Source script
An explicitly witnessed completion permits one terminal observation. Reaching a ready handoff alone proves no native eventual completion.
Explore proof 5 tactics
Initial goal
intros completed rep requests b s m w kind status pending consumed q Hr Hwf Hcomplete
apply P.program_complete
split ; exact Hr |
split ; exact Hwf |
split ; exists kind ; reflexivity | exact Hcomplete
No remaining goals.
Qed
✓ Proof checked and closed by Rocq.