Skip to content
REFERENCE / ZLIB × LEAN

Proof progress and remaining work

Source snapshot · b6f2139fa30f8b18 · Source at the matching commit ↗

This page records evidence and unfinished work. For the statement and proof architecture, read the overview.

Contents

Proof progress graph

Follow the dependency edges, then inspect a target’s input range, proof state, and evidence.

Fixed targets
181
Registered exact proofs
81
Local, not registered
33
Uncompleted targets
67

2 uncompleted targets have recorded blockers. Input coverage and registration are listed separately inside each target.

Solid: proof dependency (upstream → downstream)Dashed: callee → caller

Read dependencies from left to right. Edge numbers count connections between components; nodes count internal connections. Select a node to inspect actual targets.

Other internal obligations → Checksums · 2 proof-reuse connections2Decode-table obligations → Fast decoder obligations · 2 proof-reuse connections2Back-reference copying → Fast decoder obligations · 3 proof-reuse connections3Back-reference copying → Format and API models · 2 proof-reuse connections2Callback decoding → Call sequences and initialization · 1 proof-reuse connection1Checksums → Deflate streams · 7 C-call connections7Checksums → Inflate streams · 3 C-call connections3Deflate streams → Whole-buffer operations · 3 C-call connections3Deflate streams → Gzip files · 26 C-call connections26Inflate streams → Gzip files · 18 C-call connections18Inflate streams → Whole-buffer operations · 3 C-call connections3Library queries → Deflate streams · 2 C-call connections2Library queries → Whole-buffer operations · 1 C-call connection1Basic operationsLocal mechanismsEngines and stateInterfaces and compositionLibrary queries6 targets · 1 internal connectionChecksums11 targets · 7 internal connectionsByte-address model9 targets · 1 internal connectionInflate streams18 targets · 5 internal connectionsFast decoder obligations19 targets · 20 internal connectionsDecode-table obligations19 targets · 3 internal connectionsBack-reference copying6 targets · 0 internal connectionsDeflate streams17 targets · 6 internal connectionsCallback decoding3 targets · 0 internal connectionsGzip files32 targets · 8 internal connectionsWhole-buffer operations8 targets · 6 internal connectionsFormat and API models20 targets · 6 internal connectionsCall sequences and initialization8 targets · 0 internal connectionsOther internal obligations5 targets · 0 internal connections

Hover or focus a node to highlight connected paths. In the target graph, select a neighbor to continue along the dependencies.

Inspect targets and dependencies

Choose a component, or filter by name and evidence state. Every target links to its full evidence entry and recorded source.

Library queries6 targets
Checksums11 targets
Byte-address model9 targets
Inflate streams18 targets
Fast decoder obligations19 targets
Decode-table obligations19 targets
Back-reference copying6 targets
Deflate streams17 targets
Callback decoding3 targets
Gzip files32 targets
Whole-buffer operations8 targets
Format and API models20 targets
Call sequences and initialization8 targets
Other internal obligations5 targets

41 observed proof-reuse connections · 95 C-call connections. The evidence index below retains specification references and other support relationships.

Open a component, then a target, to inspect its evidence and dependencies. The evidence index retains target and proof links at recorded revision 7f4311a.

Blocked targets Reason and next step
gz_seek_read Gzip seek mode
inflateInit2_ Inflate initialization cleanup

Target evidence

Proof narrative · All-target graph · Input configurations

This index contains 181 fixed targets: public execution, sequence and initialization targets, internal obligations and abstract models. There is one status graph, in progress. A model result is not implementation refinement. Input coverage and proof registration are separate. An exact local proof can cover its complete stated domain while still awaiting registration and CI. Internal premises remain part of the statement; green does not remove them. A source-only candidate never grants coverage. Disallowed axioms stop generation.

Why can an isolated node be unfinished? Its proof dependencies have not been established. Missing arrows neither prove independence nor supply a proof plan. Some Markdown viewers disable diagram links; use these ordinary source links.

Status key

Registered proof: an exact checked theorem is listed. Locally checked: an exact theorem exists but is not listed. Not proved: no exact theorem covers this target. Blocked: a documented obstacle applies to the target. These labels do not assign input coverage or replace named-commit CI acceptance.

Library queries

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
compressBound All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.compressBound —
compressBound_z All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.compressBound_z —
zlibVersion All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.zlibVersion —
zlibCompileFlags All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.zlibCompileFlags —
zError All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.zError —
get_crc_table All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.get_crc_table —

Checksums

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
adler32 All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.AdlerUpdateProof.adler_public —
adler32_z All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.AdlerUpdateProof.adler_z_public —
adler32_combine All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.AdlerCombineProof.combine_public —
adler32_combine64 All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.AdlerCombineProof.combine64_public —
crc32 All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.crc32 —
crc32_z All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.crc32_z —
crc32_combine_gen All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.CrcCombineProof.gen —
crc32_combine_gen64 All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.CrcCombineProof.gen64 —
crc32_combine_op All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.CrcCombineProof.op —
crc32_combine All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.CrcCombineProof.combine —
crc32_combine64 All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.CrcCombineProof.combine64 —

Byte-address model

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
address_read_is_pure All stated inputs / Registered proof Exact target statement; input range C.ByteAddress.Proofs.address_read_is_pure —
raw_block_unchanged All stated inputs / Registered proof Exact target statement; input range C.ByteAddress.Proofs.raw_block_unchanged —
every_layout_is_representable All stated inputs / Registered proof Exact target statement; input range C.ByteAddress.Proofs.every_layout_is_representable —
every_existing_heap_accepts_layout All stated inputs / Registered proof Exact target statement; input range C.ByteAddress.Proofs.every_existing_heap_accepts_layout —
mask_refines_base_plus_offset All stated inputs / Registered proof Exact target statement; input range C.ByteAddress.Proofs.mask_refines_base_plus_offset —
pointer_advance_preserves_low_bits All stated inputs / Registered proof Exact target statement; input range C.ByteAddress.Proofs.pointer_advance_preserves_low_bits —
first_aligned_offset All stated inputs / Registered proof Exact target statement; input range C.ByteAddress.Proofs.first_aligned_offset —
byte_stores_preserve_bases All stated inputs / Registered proof Exact target statement; input range C.ByteAddress.Proofs.byte_stores_preserve_bases —
byte_modifies_preserve_bases All stated inputs / Registered proof Exact target statement; input range C.ByteAddress.Proofs.byte_modifies_preserve_bases —

Inflate streams

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
inflateCopy Not proved / Not proved Contract; input range — Start: copy and relocation
inflateInit2_ Not proved / Blocked Contract; input range — Blocker: Inflate initialization cleanup Blocked: cleanup contract
inflateInit_ All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.InflateInit.init15_public —
inflateResetKeep All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateResetKeepProof.resetkeep_public —
inflateReset All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateResetProof.reset_public —
inflateReset2 All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateReset2Proof.reset2_public —
inflateEnd All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateEndProof.inflate_end_public —
inflateGetDictionary All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateDictionaryProof.inflate_getdict_public —
inflateGetHeader All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateHeaderProof.getheader_public —
inflateSetDictionary All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.inflateSetDictionary_public —
inflateSyncPoint All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateQueryProof.syncpoint_public —
inflateMark All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateMarkProof.mark_public —
inflateCodesUsed All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.inflate_codes_used —
inflateUndermine All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateQueryProof.undermine_public —
inflateValidate All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateQueryProof.validate_public —
inflatePrime All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflatePrimeProof.prime_public —
inflate Not proved / Not proved Contract; input range — Needs: dispatch invariants
inflateSync Not proved / Not proved Contract; input range — Needs: scan and history

Fast decoder obligations

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
actual_body_preserves_origin All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.BodyOriginProof.actual_body_preserves_origin; Zlib.Inffast.Proofs.actual_body_preserves_origin —
actual_body_refines_token All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.BodyTokenProof.actual_body_refines_token; Zlib.Inffast.Proofs.actual_body_refines_token —
actual_fast_preserves_origin All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.actual_fast_preserves_origin —
actual_distance_block_preserves_origin All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.actual_distance_block_preserves_origin —
actual_distance_refines_lz77 All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.actual_distance_refines_lz77 —
distance_lookup_matches_format All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.distance_lookup_matches_format —
fast_safe All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.inflate_fast_safe —
step_safe All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.inflate_fast_body_step_safe —
length_lookup_matches_format All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.length_lookup_matches_format —
actual_body_retains_selected_length All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.LengthTraceProof.actual_body_retains_selected_length; Zlib.Inffast.Proofs.actual_body_retains_selected_length —
actual_copy_match_refines_lz77 All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.actual_copy_match_refines_lz77 —
match_array_refines_lz77 All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.fast_match_array_refines_lz77 —
actual_drop_preserves_origin All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.actual_drop_preserves_origin —
actual_pull_preserves_origin All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.actual_pull_preserves_origin —
actual_rollback_preserves_origin All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.actual_rollback_preserves_origin —
drop_preserves_origin All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.drop_preserves_origin —
initial_origin All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.initial_origin —
pull_preserves_origin All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.pull_preserves_origin —
rollback_preserves_origin All stated inputs / Locally checked Exact target statement; input range Zlib.Inffast.Proofs.rollback_preserves_origin —

Decode-table obligations

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
decode_table_classifies_input Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
decode_table_matches_format Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
short_decode_table_leaf_sound Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
decode_table_leaf_sound Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
decode_table_read_preserved All stated inputs / Locally checked Exact target statement; input range Zlib.Inftrees.Proofs.decode_table_read_preserved —
constructor_establishes_decode_table_invariant Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
decode_table_invariant_of_prefix Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
constructor_establishes_query_stability Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
query_stability_of_prefix All stated inputs / Locally checked Exact target statement; input range Zlib.Inftrees.Proofs.query_stability_of_prefix —
short_rejected_leaf_stays_invalid All stated inputs / Locally checked Exact target statement; input range Zlib.Inftrees.Proofs.short_rejected_leaf_stays_invalid —
constructor_establishes_fast_leaf_flags Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
fast_leaf_flags_of_prefix Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
fixed_tables_have_fast_leaf_flags Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
leaf_classification_agrees Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
inflate_table_content All stated inputs / Registered proof Exact target statement; input range Zlib.Inftrees.Proofs.inflate_table_content —
inflate_table_decoder_safe All stated inputs / Registered proof Exact target statement; input range Zlib.Inftrees.Proofs.inflate_table_decoder_safe —
inflate_table_read_extent All stated inputs / Registered proof Exact target statement; input range Zlib.Inftrees.Proofs.inflate_table_read_extent —
constructor_root_bits Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
constructor_subtable_bits Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed

Back-reference copying

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
output_copy_refines_lz77 All stated inputs / Locally checked Exact target statement; input range ZlibF.Math.LZ77Copy.output_copy_refines_lz77 —
window_copy_refines_lz77 All stated inputs / Locally checked Exact target statement; input range ZlibF.Math.LZ77Copy.window_copy_refines_lz77 —
copy_back_compose All stated inputs / Locally checked Exact target statement; input range ZlibF.Math.LZ77History.copy_back_compose —
copy_back_extends_history All stated inputs / Locally checked Exact target statement; input range ZlibF.Math.LZ77History.copy_back_extends_history —
retained_history_agrees All stated inputs / Locally checked Exact target statement; input range ZlibF.Math.LZ77History.retained_history_agrees —
window_distance_check_agrees All stated inputs / Locally checked Exact target statement; input range ZlibF.Math.LZ77History.window_distance_check_agrees —

Deflate streams

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
deflateCopy Not proved / Not proved Contract; input range — Start: copy and relocation
deflateInit2_ Not proved / Not proved Contract; input range — Start: init and allocation
deflateInit_ All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.DeflateInit.deflateInit_proof —
deflateGetDictionary All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.DeflateDictionaryProof.deflate_getdict_public —
deflateEnd All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.DeflateEndProof.deflate_end_public —
deflateResetKeep All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.DeflateResetKeepProof.deflate_resetkeep_public —
deflateReset All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.DeflateResetProof.deflate_reset_public —
deflateSetDictionary Not proved / Not proved Contract; input range — Start: window and hash
deflatePending All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.DeflateQueryProof.pending_public —
deflateUsed All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.DeflateQueryProof.used_public —
deflateTune All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.DeflateQueryProof.tune_public —
deflateSetHeader All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.DeflateQueryProof.header_public —
deflate Not proved / Not proved Contract; input range — Needs: dispatch invariants
deflateBound_z Not proved / Not proved Contract; input range — Start: bound and header review
deflateBound Not proved / Not proved Contract; input range — Start: bound and header review
deflatePrime Not proved / Not proved Contract; input range — Start: compaction and bits
deflateParams Not proved / Not proved Contract; input range — Needs: block flush and parameter state

Callback decoding

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
inflateBackInit_ All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateBackInitProof.back_init_public —
inflateBack Not proved / Not proved Contract; input range — Needs: tables, window and callbacks
inflateBackEnd All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.InflateBackEndProof.back_end_public —

Gzip files

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
gzclose_r Not proved / Not proved Contract; input range — Needs: resource ownership
gzclose_w Not proved / Not proved Contract; input range — Needs: flush and cleanup
gzclose Not proved / Not proved Contract; input range — Needs: flush and cleanup
gzbuffer All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.gzbuffer_public —
gzeof All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.gzeof_public —
gztell64 Not proved / Not proved Contract; input range — Needs: position invariants
gztell Not proved / Not proved Contract; input range — Needs: position invariants
gzoffset64 All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.OffsetProof.gzoffset64_public_goal —
gzoffset All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.OffsetProof.gzoffset_public_goal —
gzerror All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.GzErrorProof.gzerror —
gzclearerr All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.Proofs.gzclearerr —
gzrewind All stated inputs / Registered proof Contract; input range ZlibF.Spec.Public.GzRewindProof.rewind_public —
gzseek64 Not proved / Not proved Contract; input range — Needs: seek and history
gzseek Not proved / Not proved Contract; input range — Needs: seek and history
gzopen Not proved / Not proved Contract; input range — Start: open and cleanup
gzopen64 Not proved / Not proved Contract; input range — Start: open and cleanup
gzdopen Not proved / Not proved Contract; input range — Start: open and cleanup
gzread Not proved / Not proved Contract; input range — Needs: reader path proofs
gzfread Not proved / Not proved Contract; input range — Needs: reader path proofs
gzgetc Not proved / Not proved Contract; input range — Needs: reader path proofs
gzgetc_ Not proved / Not proved Contract; input range — Needs: reader path proofs
gzungetc Not proved / Not proved Contract; input range — Needs: reader path proofs
gzgets Not proved / Not proved Contract; input range — Needs: reader path proofs
gzdirect Not proved / Not proved Contract; input range — Needs: reader path proofs
gzwrite Not proved / Not proved Contract; input range — Needs: writer path proofs
gzfwrite Not proved / Not proved Contract; input range — Needs: writer path proofs
gzputc Not proved / Not proved Contract; input range — Needs: writer path proofs
gzputs Not proved / Not proved Contract; input range — Needs: writer path proofs
gzvprintf Not proved / Not proved Contract; input range — Needs: writer path proofs
gzprintf Not proved / Not proved Contract; input range — Needs: writer path proofs
gzflush Not proved / Not proved Contract; input range — Needs: writer path proofs
gzsetparams Not proved / Not proved Contract; input range — Needs: writer path proofs

Whole-buffer operations

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
compress2_z Not proved / Not proved Contract; input range — Needs: compressor execution
compress2 Not proved / Not proved Contract; input range — Needs: compressor execution
compress_z Not proved / Not proved Contract; input range — Needs: compressor execution
compress Not proved / Not proved Contract; input range — Needs: compressor execution
uncompress2_z Not proved / Not proved Contract; input range — Needs: decoder execution
uncompress2 Not proved / Not proved Contract; input range — Needs: decoder execution
uncompress_z Not proved / Not proved Contract; input range — Needs: decoder execution
uncompress Not proved / Not proved Contract; input range — Needs: decoder execution

Format and API models

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
format_deterministic All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.format_deterministic —
format_prefix_free All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.format_prefix_free —
inflate_decodes All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.inflate_decodes —
inflate_completes All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.inflate_completes —
inflate_rejects_invalid Not proved / Not proved Exact target statement; input range — Prerequisites unreviewed
deflate_valid All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.deflate_valid —
deflate_completes All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.deflate_completes —
deflate_full_flush_resync All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.deflate_full_flush_resync —
roundtrip All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.roundtrip —
roundtrip_completes All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.roundtrip_completes —
dict_roundtrip All stated inputs / Locally checked Exact target statement; input range ZlibF.Spec.Api.Proofs.dict_roundtrip —
header_roundtrip All stated inputs / Locally checked Exact target statement; input range ZlibF.Spec.Api.Proofs.header_roundtrip —
deflate_bound_adequate All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.deflate_bound_adequate —
compress_bound_adequate All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.compress_bound_adequate —
compress_roundtrip All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.compress_roundtrip —
gz_roundtrip All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.gz_roundtrip —
gz_seek_read Not proved / Blocked Exact target statement; input range — Blocker: Gzip seek mode —
compress_bound_value All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.compress_bound_value —
compress2_z_first_alloc_failure All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.compress2_z_first_alloc_failure —
inflate_deferred_distance All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Api.Proofs.inflate_deferred_distance —

Lifecycles and call sequences

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
inflate_sequence Not proved / Not proved Exact target statement; input range — Needs: execution and format
deflate_sequence Not proved / Not proved Exact target statement; input range — Needs: execution and format
inflate_back_sequence Not proved / Not proved Exact target statement; input range — Needs: execution and format
gz_sequence Not proved / Not proved Exact target statement; input range — Needs: execution and format
inflate_initialisation_domain All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Public.Proofs.InflateInit.inflate_initialisation_domain_public —
deflate_initialisation_domain Not proved / Not proved Exact target statement; input range — Start: init and allocation
inflate_back_initialisation_domain All stated inputs / Registered proof Exact target statement; input range ZlibF.Spec.Public.InflateBackInitProof.back_init_domain_public —
gz_initialisation_domain Not proved / Not proved Exact target statement; input range — Start: open and cleanup

Internal proof obligations

Target statement Coverage / evidence state Contract / input range Proof evidence Reviewed next work
crc32_z_all_byte_views All stated inputs / Registered proof Exact target statement; input range Zlib.Crc32.Proofs.crc32_z_all_byte_views —
crc32_all_byte_views All stated inputs / Registered proof Exact target statement; input range Zlib.Crc32.Proofs.crc32_all_byte_views —
rejected_has_no_symbols All stated inputs / Locally checked Exact target statement; input range ZlibF.Spec.Token.rejected_has_no_symbols —
step_composes_symbols All stated inputs / Locally checked Exact target statement; input range ZlibF.Spec.Token.step_composes_symbols —
symbols_exposes_step All stated inputs / Locally checked Exact target statement; input range ZlibF.Spec.Token.symbols_exposes_step —

Observed proof dependencies

A theorem for the destination actually uses a proof of the source target.

Source Destination
pointer_advance_preserves_low_bits first_aligned_offset
crc32_all_byte_views crc32
crc32_z_all_byte_views crc32_z
actual_body_preserves_origin actual_fast_preserves_origin
actual_distance_block_preserves_origin actual_body_preserves_origin
actual_distance_refines_lz77 actual_body_refines_token
distance_lookup_matches_format actual_distance_refines_lz77
fast_safe actual_fast_preserves_origin
step_safe actual_body_refines_token
step_safe fast_safe
step_safe actual_body_retains_selected_length
length_lookup_matches_format actual_body_refines_token
actual_copy_match_refines_lz77 actual_distance_refines_lz77
match_array_refines_lz77 actual_copy_match_refines_lz77
actual_drop_preserves_origin actual_body_preserves_origin
actual_rollback_preserves_origin actual_fast_preserves_origin
drop_preserves_origin actual_distance_block_preserves_origin
drop_preserves_origin actual_drop_preserves_origin
initial_origin actual_fast_preserves_origin
pull_preserves_origin actual_body_preserves_origin
pull_preserves_origin actual_distance_block_preserves_origin
pull_preserves_origin actual_pull_preserves_origin
rollback_preserves_origin actual_rollback_preserves_origin
decode_table_read_preserved query_stability_of_prefix
short_rejected_leaf_stays_invalid distance_lookup_matches_format
short_rejected_leaf_stays_invalid length_lookup_matches_format
inflate_table_content inflate_table_decoder_safe
inflate_table_decoder_safe inflate_table_read_extent
output_copy_refines_lz77 match_array_refines_lz77
window_copy_refines_lz77 match_array_refines_lz77
copy_back_compose match_array_refines_lz77
retained_history_agrees roundtrip
retained_history_agrees roundtrip_completes
deflate_valid dict_roundtrip
deflate_valid header_roundtrip
deflate_valid roundtrip
deflate_valid roundtrip_completes
inflate_completes roundtrip_completes
inflate_decodes roundtrip
adler32_z adler32
inflateBackInit_ inflate_back_initialisation_domain

C function calls

The destination implementation calls the source entry. This does not require the complete source-entry contract as a proof premise.

Source Destination
adler32 deflate
adler32 deflateResetKeep
adler32 deflateSetDictionary
adler32 inflate
adler32 inflateSetDictionary
adler32_z adler32
compress2 compress
compress2_z compress2
compress2_z compress_z
compressBound_z compressBound
crc32 deflate
crc32 deflateResetKeep
crc32 deflateSetDictionary
crc32 inflate
crc32_combine64 crc32_combine
crc32_combine_gen64 crc32_combine64
crc32_combine_gen64 crc32_combine_gen
crc32_combine_op crc32_combine64
crc32_z crc32
crc32_z deflate
deflate compress2_z
deflate deflateParams
deflate gzclose_w
deflate gzflush
deflate gzfwrite
deflate gzputc
deflate gzputs
deflate gzsetparams
deflate gzvprintf
deflate gzwrite
deflateBound_z deflateBound
deflateEnd compress2_z
deflateEnd deflateInit2_
deflateEnd gzclose_w
deflateInit2_ deflateInit_
deflateInit2_ gzclose_w
deflateInit2_ gzflush
deflateInit2_ gzfwrite
deflateInit2_ gzputc
deflateInit2_ gzputs
deflateInit2_ gzsetparams
deflateInit2_ gzvprintf
deflateInit2_ gzwrite
deflateInit_ compress2_z
deflateParams gzsetparams
deflateReset deflateInit2_
deflateReset gzclose_w
deflateReset gzflush
deflateReset gzfwrite
deflateReset gzputc
deflateReset gzputs
deflateReset gzsetparams
deflateReset gzvprintf
deflateReset gzwrite
deflateResetKeep deflateReset
gzclose_r gzclose
gzclose_w gzclose
gzgetc gzgetc_
gzoffset64 gzoffset
gzrewind gzseek64
gzseek64 gzseek
gztell64 gztell
gzvprintf gzprintf
inflate gzfread
inflate gzgetc
inflate gzgets
inflate gzread
inflate gzungetc
inflate uncompress2_z
inflateEnd gzclose_r
inflateEnd uncompress2_z
inflateInit2_ gzdirect
inflateInit2_ gzfread
inflateInit2_ gzgetc
inflateInit2_ gzgets
inflateInit2_ gzread
inflateInit2_ gzungetc
inflateInit2_ inflateInit_
inflateInit_ uncompress2_z
inflateReset gzdirect
inflateReset gzfread
inflateReset gzgetc
inflateReset gzgets
inflateReset gzread
inflateReset gzungetc
inflateReset inflateReset2
inflateReset inflateSync
inflateReset2 inflateInit2_
inflateResetKeep inflateReset
uncompress2 uncompress
uncompress2_z uncompress2
uncompress2_z uncompress_z
zError deflate
zError deflateInit2_
zlibVersion compress2_z

Specification references

The destination target definition references the source target or implementation. This is not a proof dependency.

Source Destination
compress2_z compress2_z_first_alloc_failure
compressBound compress_bound_value
compressBound_z compress_bound_value
crc32 crc32_all_byte_views
crc32_z crc32_z_all_byte_views
deflateInit2_ deflate_initialisation_domain
gzclose gz_sequence
gzflush gz_sequence
gzfread gz_sequence
gzfwrite gz_sequence
gzgetc gz_sequence
gzgets gz_sequence
gzopen gz_initialisation_domain
gzread gz_sequence
gzwrite gz_sequence
inflateBack inflate_back_sequence
inflateBackEnd inflate_back_sequence
inflateBackInit_ inflate_back_initialisation_domain
inflateInit2_ inflate_initialisation_domain

Proof support relationships

These are observed theorem references grouped by source family. Groups carry no whole-file proof status. Every direct grouped connection is retained here, including arrows reduced in the graph.

Supporting source Direct destinations
API-model lemmas compress_bound_adequate, compress_roundtrip, deflate_bound_adequate, deflate_completes, deflate_full_flush_resync, deflate_valid, dict_roundtrip, gz_roundtrip, header_roundtrip, inflate_completes, inflate_decodes, inflate_deferred_distance, roundtrip, roundtrip_completes, deflateInit_, api-model proofs, deflate construction proofs
ByteAddress proofs first_aligned_offset, mask_refines_base_plus_offset, pointer_advance_preserves_low_bits
actual_body_preserves_origin inffast.c proofs
actual_distance_block_preserves_origin inffast.c proofs
step_safe inffast.c proofs
actual_copy_match_refines_lz77 inffast.c proofs
actual_drop_preserves_origin inffast.c proofs
actual_rollback_preserves_origin inffast.c proofs
drop_preserves_origin inffast.c proofs
pull_preserves_origin inffast.c proofs
inflate_table_content inftrees.c proofs
retained_history_agrees format proofs
deflate_valid api-model proofs
inflate_completes api-model proofs
inflate_decodes api-model proofs
inflateBackInit_ public entry composition
adler32.c proofs inflateSetDictionary, inflate entry composition, inflate storage and bit proofs, public entry composition
api-model proofs output_copy_refines_lz77, retained_history_agrees, compress2_z_first_alloc_failure, compress_bound_adequate, compress_bound_value, compress_roundtrip, deflate_bound_adequate, deflate_completes, deflate_full_flush_resync, deflate_valid, dict_roundtrip, gz_roundtrip, header_roundtrip, inflate_completes, inflate_decodes, inflate_deferred_distance, roundtrip, roundtrip_completes, inflateCodesUsed, heap-free mathematics
crc32.c proofs crc32_all_byte_views, crc32_z_all_byte_views, crc32, crc32_z, public entry composition
deflate construction proofs deflateInit_
deflate entry composition deflateEnd, deflateGetDictionary, deflatePending, deflateReset, deflateResetKeep, deflateSetHeader, deflateTune, deflateUsed
deflate lifecycle proofs deflateEnd, deflateGetDictionary, deflateInit_, deflatePending, deflateReset, deflateResetKeep, deflateSetHeader, deflateTune, deflateUsed, deflate construction proofs, deflate entry composition
deflate window and match proofs deflate lifecycle proofs, inflate storage and bit proofs
format proofs short_rejected_leaf_stays_invalid, compress_roundtrip, format_deterministic, format_prefix_free, header_roundtrip, inflate_completes, rejected_has_no_symbols, api-model proofs, heap-free mathematics, inffast.c proofs
gzlib.c proofs gzclearerr, public entry composition
heap-free mathematics match_array_refines_lz77, output_copy_refines_lz77, window_copy_refines_lz77, copy_back_compose, retained_history_agrees, window_distance_check_agrees, api-model proofs, inftrees.c proofs
infback.c proofs inflateBackEnd, inflateBackInit_, public entry composition
inffast.c proofs actual_body_preserves_origin, actual_body_refines_token, actual_fast_preserves_origin, actual_distance_block_preserves_origin, actual_distance_refines_lz77, distance_lookup_matches_format, fast_safe, step_safe, length_lookup_matches_format, actual_body_retains_selected_length, actual_copy_match_refines_lz77, match_array_refines_lz77, actual_drop_preserves_origin, actual_pull_preserves_origin, actual_rollback_preserves_origin, drop_preserves_origin, initial_origin, pull_preserves_origin, rollback_preserves_origin, output_copy_refines_lz77, heap-free mathematics
inflate entry composition inflateEnd, inflateGetDictionary, inflateGetHeader, inflateInit_, inflateMark, inflatePrime, inflateReset, inflateReset2, inflateSetDictionary, inflateSyncPoint, inflateUndermine, inflateValidate, inflate_initialisation_domain
inflate storage and bit proofs deflateReset, deflateResetKeep, inflateBackEnd, inflateBackInit_, inflateEnd, inflateGetDictionary, inflateInit_, inflateMark, inflateReset, inflateReset2, inflateResetKeep, inflateSetDictionary, inflateSyncPoint, inflateUndermine, inflateValidate, api-model proofs, infback.c proofs, inflate entry composition, public entry composition
inftrees.c proofs decode_table_read_preserved, short_rejected_leaf_stays_invalid, inflate_table_content, inflate_table_decoder_safe, inflate_table_read_extent, heap-free mathematics
public entry composition adler32_combine, adler32_combine64, adler32_z, compressBound, compressBound_z, crc32_combine, crc32_combine64, crc32_combine_gen, crc32_combine_gen64, crc32_combine_op, get_crc_table, gzbuffer, gzeof, gzerror, gzoffset, gzoffset64, gzrewind, inflateBackEnd, inflateBackInit_, inflate_back_initialisation_domain, zError, zlibVersion, adler32.c proofs
runtime object and arithmetic lemmas byte_modifies_preserve_bases, byte_stores_preserve_bases, every_layout_is_representable, crc32_all_byte_views, crc32_z_all_byte_views, actual_body_preserves_origin, actual_body_refines_token, actual_fast_preserves_origin, actual_distance_block_preserves_origin, actual_distance_refines_lz77, fast_safe, step_safe, actual_body_retains_selected_length, actual_copy_match_refines_lz77, actual_pull_preserves_origin, actual_rollback_preserves_origin, inflate_table_content, inflate_table_decoder_safe, inflate_table_read_extent, compress2_z_first_alloc_failure, adler32, adler32_z, crc32, crc32_z, deflateEnd, deflateGetDictionary, deflateInit_, deflatePending, deflateReset, deflateResetKeep, deflateSetHeader, deflateTune, deflateUsed, get_crc_table, gzclearerr, gzerror, gzoffset, gzoffset64, gzrewind, inflateBackEnd, inflateBackInit_, inflateCodesUsed, inflateEnd, inflateGetDictionary, inflateGetHeader, inflateInit_, inflateMark, inflatePrime, inflateReset, inflateReset2, inflateResetKeep, inflateSetDictionary, inflateSyncPoint, inflateUndermine, inflateValidate, inflate_back_initialisation_domain, inflate_initialisation_domain, zError, zlibVersion, adler32.c proofs, api-model proofs, crc32.c proofs, deflate construction proofs, deflate entry composition, deflate lifecycle proofs, deflate window and match proofs, gzlib.c proofs, infback.c proofs, inffast.c proofs, inflate entry composition, inflate storage and bit proofs, inftrees.c proofs, public entry composition, tree construction and emission proofs, zutil.c proofs
specification lemmas every_existing_heap_accepts_layout, actual_body_refines_token, distance_lookup_matches_format, length_lookup_matches_format, actual_body_retains_selected_length, drop_preserves_origin, pull_preserves_origin, rollback_preserves_origin, short_rejected_leaf_stays_invalid, inffast.c proofs
tree construction and emission proofs deflate construction proofs, deflate lifecycle proofs
zutil.c proofs inflate_table_content, deflate construction proofs, deflate lifecycle proofs, inflate entry composition, inflate storage and bit proofs, inftrees.c proofs

Other registered theorems

These declarations are registered supporting execution results, lemmas or witnesses. They are not additional fixed targets and do not grant a caller coverage colour.

Declaration Used by a fixed-target proof
Zlib.Adler32.Proofs.adler32_combine64_safe No fixed-target composition recorded
Zlib.Adler32.Proofs.adler32_combine_c_safe adler32_combine, adler32_combine64
Zlib.Adler32.Proofs.adler32_combine_correct No fixed-target composition recorded
Zlib.Adler32.Proofs.adler32_combine_safe adler32_combine, adler32_combine64
Zlib.Adler32.Proofs.adler32_safe No fixed-target composition recorded
Zlib.Adler32.Proofs.adler32_z_correct No fixed-target composition recorded
Zlib.Adler32.Proofs.adler32_z_correct_ne_one No fixed-target composition recorded
Zlib.Adler32.Proofs.adler32_z_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.addrOf_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.blockLittle_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.braidTab_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_combine64_correct No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_combine64_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_combine_correct No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_combine_gen64_correct crc32_combine_gen, crc32_combine_gen64, crc32_combine_op
Zlib.Crc32.Proofs.crc32_combine_gen64_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_combine_gen_correct No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_combine_gen_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_combine_op_correct No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_combine_op_diverges No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_combine_op_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_combine_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_correct No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_null crc32
Zlib.Crc32.Proofs.crc32_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_z_correct No fixed-target composition recorded
Zlib.Crc32.Proofs.crc32_z_null crc32, crc32_z
Zlib.Crc32.Proofs.crc32_z_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crcByte_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crcTab_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crc_word_big_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.crc_word_correct No fixed-target composition recorded
Zlib.Crc32.Proofs.crc_word_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.get_crc_table_correct No fixed-target composition recorded
Zlib.Crc32.Proofs.get_crc_table_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.loadWord_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.multmodp_correct No fixed-target composition recorded
Zlib.Crc32.Proofs.multmodp_diverges No fixed-target composition recorded
Zlib.Crc32.Proofs.multmodp_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.shr64_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.wordAt_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.x2nTab_safe No fixed-target composition recorded
Zlib.Crc32.Proofs.x2nmodp_correct No fixed-target composition recorded
Zlib.Crc32.Proofs.x2nmodp_safe No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.INSERT_STRING_ok No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.UPDATE_HASH_ok No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.chain_ok_of_chains No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.chains_insert No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.chains_slide No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.fill_fit No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.fill_post_room No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.form_init No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.hkey_third No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.lm_body_ok No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.lm_inner_loop No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.lm_loop_ok No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.longest_match_ok No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.matchLen_agree No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.putShortMSB_ok No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.put_byte_ok No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.read_buf_ok No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.read_buf_zero No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.slide_copy No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.slide_hash_ok No fixed-target composition recorded
Zlib.Deflate.Engine.Proofs.upd3_indep No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateBound_nostate No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateBound_safe No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateBound_z_nostate No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateBound_z_safe No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateEnd_reject No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateEnd_safe deflateEnd
Zlib.Deflate.Proofs.deflatePending_reject No fixed-target composition recorded
Zlib.Deflate.Proofs.deflatePending_safe No fixed-target composition recorded
Zlib.Deflate.Proofs.deflatePrime_invalid_count No fixed-target composition recorded
Zlib.Deflate.Proofs.deflatePrime_refused No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateResetKeep_reject No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateResetKeep_safe deflateReset, deflateResetKeep
Zlib.Deflate.Proofs.deflateReset_reject No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateReset_safe deflateReset
Zlib.Deflate.Proofs.deflateSetHeader_not_gzip No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateSetHeader_reject No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateSetHeader_safe No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateStateCheck_total deflatePending, deflateSetHeader, deflateTune, deflateUsed
Zlib.Deflate.Proofs.deflateTune_reject No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateTune_safe No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateUsed_reject No fixed-target composition recorded
Zlib.Deflate.Proofs.deflateUsed_safe No fixed-target composition recorded
Zlib.Deflate.Proofs.lm_init_safe deflateReset
Zlib.Gzclose.Proofs.gzclose_dispatch No fixed-target composition recorded
Zlib.Gzclose.Proofs.gzclose_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.GT_OFF_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.gz_error_null_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.gz_intmax_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.gz_open_alloc_failure No fixed-target composition recorded
Zlib.Gzlib.Proofs.gz_open_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.gz_reset_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.gz_reset_safe No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzbuffer_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzbuffer_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzbuffer_safe No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzclearerr_null gzclearerr
Zlib.Gzlib.Proofs.gzclearerr_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzclearerr_safe No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzdopen_alloc_failure No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzdopen_negative No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzeof_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzeof_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzerror_null_file No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzerror_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzoffset64_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzoffset64_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzoffset_eq No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzopen64_alloc_failure No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzopen64_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzopen_alloc_failure No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzopen_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzrewind_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzrewind_spec No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzseek64_cur_negpos_ub No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzseek64_dangling_next_ub No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzseek64_head No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzseek64_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzseek64_refuse No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzseek64_safe No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzseek64_set_negpos_ub No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzseek64_write_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.gzseek_eq No fixed-target composition recorded
Zlib.Gzlib.Proofs.gztell64_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.gztell64_spec No fixed-target composition recorded
Zlib.Gzlib.Proofs.gztell_null No fixed-target composition recorded
Zlib.Gzlib.Proofs.gztell_run No fixed-target composition recorded
Zlib.Gzlib.Proofs.seekTail_back No fixed-target composition recorded
Zlib.Gzlib.Proofs.seekTail_copy No fixed-target composition recorded
Zlib.Gzlib.Proofs.seekTail_copy_ub No fixed-target composition recorded
Zlib.Gzlib.Proofs.seekTail_dangling_ub No fixed-target composition recorded
Zlib.Gzlib.Proofs.seekTail_fwd No fixed-target composition recorded
Zlib.Gzread.Proofs.gzclose_r_null No fixed-target composition recorded
Zlib.Gzread.Proofs.gzclose_r_unbuffered No fixed-target composition recorded
Zlib.Gzread.Proofs.gzclose_r_unbuffered_frame No fixed-target composition recorded
Zlib.Gzread.Proofs.gzclose_r_wrong_mode No fixed-target composition recorded
Zlib.Infback.Proofs.NEEDBITS_run No fixed-target composition recorded
Zlib.Infback.Proofs.PULLBYTE_run No fixed-target composition recorded
Zlib.Infback.Proofs.PULL_run No fixed-target composition recorded
Zlib.Infback.Proofs.ROOM_inv No fixed-target composition recorded
Zlib.Infback.Proofs.ROOM_run No fixed-target composition recorded
Zlib.Infback.Proofs.TYPE_last No fixed-target composition recorded
Zlib.Infback.Proofs.TYPE_more No fixed-target composition recorded
Zlib.Infback.Proofs.backInit_witness No fixed-target composition recorded
Zlib.Infback.Proofs.badMode_run No fixed-target composition recorded
Zlib.Infback.Proofs.inFinite_eof No fixed-target composition recorded
Zlib.Infback.Proofs.inflateBackEnd_nullstream inflateBackEnd
Zlib.Infback.Proofs.inflateBackEnd_ok No fixed-target composition recorded
Zlib.Infback.Proofs.inflateBackEnd_refused inflateBackEnd
Zlib.Infback.Proofs.inflateBackInit__nullstream No fixed-target composition recorded
Zlib.Infback.Proofs.inflateBackInit__ok No fixed-target composition recorded
Zlib.Infback.Proofs.inflateBackInit__safe No fixed-target composition recorded
Zlib.Infback.Proofs.inflateBack_eof No fixed-target composition recorded
Zlib.Infback.Proofs.inflateBack_eof_witness No fixed-target composition recorded
Zlib.Infback.Proofs.inflateBack_nostate No fixed-target composition recorded
Zlib.Infback.Proofs.inflateBack_nullstream No fixed-target composition recorded
Zlib.Infback.Proofs.order_inj No fixed-target composition recorded
Zlib.Infback.Proofs.order_lt No fixed-target composition recorded
Zlib.Infback.Proofs.order_surj No fixed-target composition recorded
Zlib.Infback.Proofs.storedTail_run No fixed-target composition recorded
Zlib.Infback.Proofs.stored_body_run No fixed-target composition recorded
Zlib.Infback.Proofs.stored_check No fixed-target composition recorded
Zlib.Infback.Proofs.stored_len_toNat No fixed-target composition recorded
Zlib.Infback.Proofs.stored_loop_run No fixed-target composition recorded
Zlib.Infback.Proofs.stored_run No fixed-target composition recorded
Zlib.Infback.Proofs.xwhileBrk_wf No fixed-target composition recorded
Zlib.Inffast.Proofs.distfix_tableSafe No fixed-target composition recorded
Zlib.Inffast.Proofs.lenfix_tableSafe No fixed-target composition recorded
Zlib.Inflate.Proofs.BITS_run No fixed-target composition recorded
Zlib.Inflate.Proofs.BITS_toNat No fixed-target composition recorded
Zlib.Inflate.Proofs.BYTEBITS_inv No fixed-target composition recorded
Zlib.Inflate.Proofs.BYTEBITS_run No fixed-target composition recorded
Zlib.Inflate.Proofs.DROPBITS_inv No fixed-target composition recorded
Zlib.Inflate.Proofs.DROPBITS_run No fixed-target composition recorded
Zlib.Inflate.Proofs.INITBITS_inv No fixed-target composition recorded
Zlib.Inflate.Proofs.NEEDBITS_run No fixed-target composition recorded
Zlib.Inflate.Proofs.PULLBYTE_succ No fixed-target composition recorded
Zlib.Inflate.Proofs.PULLBYTE_zero No fixed-target composition recorded
Zlib.Inflate.Proofs.UPDATE_CHECK_run No fixed-target composition recorded
Zlib.Inflate.Proofs.bytesBits_eq_bytesToBits No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateCodesUsed_spec No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateEnd_safe inflateEnd
Zlib.Inflate.Proofs.inflateGetDictionary_spec No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateGetHeader_check No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateGetHeader_nogzip No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateGetHeader_null_faults No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateGetHeader_ok No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateInit2_ok inflateInit_, inflate_initialisation_domain
Zlib.Inflate.Proofs.inflateInit2_safe No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateInit__ok No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateInit__safe No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateMark_spec No fixed-target composition recorded
Zlib.Inflate.Proofs.inflatePrime_spec No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateReset2_safe No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateResetKeep_safe No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateReset_safe No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateSetDictionary_dataerr No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateSetDictionary_safe No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateSetDictionary_streamerr No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateStateCheck_total inflateCodesUsed, inflateEnd, inflateMark, inflatePrime, inflateSyncPoint, inflateUndermine, inflateValidate
Zlib.Inflate.Proofs.inflateSyncPoint_spec No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateSync_buf_error No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateSync_check No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateUndermine_safe No fixed-target composition recorded
Zlib.Inflate.Proofs.inflateValidate_safe No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_CHECK_nowrap No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_CHECK_run No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_COPY__eq No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_COPY_done No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_COPY_leave No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_COPY_run No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_DONE_run No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_LENGTH_run No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_LENGTH_skip No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_LENLENS_eq No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_LENLENS_run No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_LIT_full No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_LIT_run No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_STORED_bad No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_STORED_ok No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_STORED_wait No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_TABLE_run No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_TYPEDO_head No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_TYPEDO_last No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_TYPEDO_wait No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_TYPE_go No fixed-target composition recorded
Zlib.Inflate.Proofs.inflate_TYPE_leave No fixed-target composition recorded
Zlib.Inflate.Proofs.ll1_run No fixed-target composition recorded
Zlib.Inflate.Proofs.llBody_run No fixed-target composition recorded
Zlib.Inflate.Proofs.llTail_run No fixed-target composition recorded
Zlib.Inflate.Proofs.lzBody_run No fixed-target composition recorded
Zlib.Inflate.Proofs.lz_run No fixed-target composition recorded
Zlib.Inflate.Proofs.noRet_NEEDBITS No fixed-target composition recorded
Zlib.Inflate.Proofs.ring_spec inflateSetDictionary
Zlib.Inflate.Proofs.syncDone_good No fixed-target composition recorded
Zlib.Inflate.Proofs.syncDone_owns No fixed-target composition recorded
Zlib.Inflate.Proofs.syncDone_run No fixed-target composition recorded
Zlib.Inflate.Proofs.syncScan_found_iff No fixed-target composition recorded
Zlib.Inflate.Proofs.syncScan_spec No fixed-target composition recorded
Zlib.Inflate.Proofs.syncStep_spec No fixed-target composition recorded
Zlib.Inflate.Proofs.syncTail_run No fixed-target composition recorded
Zlib.Inflate.Proofs.syncsearch_null No fixed-target composition recorded
Zlib.Inflate.Proofs.syncsearch_run No fixed-target composition recorded
Zlib.Inflate.Proofs.syncsearch_spec No fixed-target composition recorded
Zlib.Inflate.Proofs.typedoTail_bad No fixed-target composition recorded
Zlib.Inflate.Proofs.typedoTail_fixed No fixed-target composition recorded
Zlib.Inflate.Proofs.typedoTail_fixed_trees No fixed-target composition recorded
Zlib.Inflate.Proofs.typedoTail_stored No fixed-target composition recorded
Zlib.Inflate.Proofs.typedoTail_table No fixed-target composition recorded
Zlib.Inflate.Proofs.updatewindow_ring No fixed-target composition recorded
Zlib.Inflate.Proofs.updatewindow_safe No fixed-target composition recorded
Zlib.Inflate.Proofs.uwPost_counts inflateSetDictionary
Zlib.Inflate.Proofs.uw_null_ok No fixed-target composition recorded
Zlib.Inflate.Proofs.uw_post No fixed-target composition recorded
Zlib.Inflate.Proofs.xwhileBrk_run No fixed-target composition recorded
Zlib.Inflate.Witness.init_witness No fixed-target composition recorded
Zlib.Inftrees.Proofs.Cover.bits_add_drop No fixed-target composition recorded
Zlib.Inftrees.Proofs.Cover.cell_lt_fn No fixed-target composition recorded
Zlib.Inftrees.Proofs.Cover.distLeaf_of inflate_table_decoder_safe, inflate_table_read_extent
Zlib.Inftrees.Proofs.Cover.group_cover inflate_table_decoder_safe, inflate_table_read_extent
Zlib.Inftrees.Proofs.Cover.group_cover_fn No fixed-target composition recorded
Zlib.Inftrees.Proofs.Cover.group_cover_idx inflate_table_decoder_safe, inflate_table_read_extent
Zlib.Inftrees.Proofs.Cover.group_cover_idx_fn No fixed-target composition recorded
Zlib.Inftrees.Proofs.Cover.invalid_leaf inflate_table_decoder_safe, inflate_table_read_extent
Zlib.Inftrees.Proofs.Cover.lenLeaf_of inflate_table_decoder_safe, inflate_table_read_extent
Zlib.Inftrees.Proofs.Cover.root_cover inflate_table_content, inflate_table_decoder_safe, inflate_table_read_extent
Zlib.Inftrees.Proofs.Cover.root_cover_complete_fn inflate_table_decoder_safe, inflate_table_read_extent
Zlib.Inftrees.Proofs.Cover.root_cover_fn No fixed-target composition recorded
Zlib.Inftrees.Proofs.Cover.root_single_fn No fixed-target composition recorded
Zlib.Inftrees.Proofs.inflate_fixed_ok No fixed-target composition recorded
Zlib.Inftrees.Proofs.inflate_table_correct_ret No fixed-target composition recorded
Zlib.Inftrees.Proofs.inflate_table_safe No fixed-target composition recorded
Zlib.Trees.Proofs.GB.kraft_clamped No fixed-target composition recorded
Zlib.Trees.Proofs.Out.bi_flush_spec No fixed-target composition recorded
Zlib.Trees.Proofs.Out.bi_reverse_correct No fixed-target composition recorded
Zlib.Trees.Proofs.Out.bi_reverse_safe No fixed-target composition recorded
Zlib.Trees.Proofs.Out.bi_windup_spec No fixed-target composition recorded
Zlib.Trees.Proofs.Out.init_block_spec No fixed-target composition recorded
Zlib.Trees.Proofs.Out.init_block_spec0 deflateInit_, deflateReset, deflateResetKeep
Zlib.Trees.Proofs.Out.send_bits_spec No fixed-target composition recorded
Zlib.Trees.Proofs.Out.tr_align_emit No fixed-target composition recorded
Zlib.Trees.Proofs.Out.tr_flush_bits_emit No fixed-target composition recorded
Zlib.Trees.Proofs.Out.tr_init_spec deflateInit_, deflateReset, deflateResetKeep
Zlib.Trees.Proofs.Out.tr_tally_spec No fixed-target composition recorded
Zlib.Trees.Proofs.gen_bitlen_correct No fixed-target composition recorded
Zlib.Trees.Proofs.gen_bitlen_safe No fixed-target composition recorded
Zlib.Trees.Proofs.pqdownheap_correct No fixed-target composition recorded
Zlib.Trees.Proofs.pqdownheap_safe No fixed-target composition recorded
Zlib.Trees.Proofs.pqremove_correct No fixed-target composition recorded
Zlib.Trees.Proofs.pqremove_safe No fixed-target composition recorded
Zlib.Zutil.Proofs.zError_correct No fixed-target composition recorded
Zlib.Zutil.Proofs.zError_safe No fixed-target composition recorded
Zlib.Zutil.Proofs.zcalloc_correct_none No fixed-target composition recorded
Zlib.Zutil.Proofs.zcalloc_correct_size No fixed-target composition recorded
Zlib.Zutil.Proofs.zcalloc_correct_some No fixed-target composition recorded
Zlib.Zutil.Proofs.zcalloc_safe No fixed-target composition recorded
Zlib.Zutil.Proofs.zcalloc_zcfree_no_leak No fixed-target composition recorded
Zlib.Zutil.Proofs.zcfree_correct No fixed-target composition recorded
Zlib.Zutil.Proofs.zcfree_correct_null No fixed-target composition recorded
Zlib.Zutil.Proofs.zcfree_safe No fixed-target composition recorded
Zlib.Zutil.Proofs.zlibCompileFlags_correct No fixed-target composition recorded
Zlib.Zutil.Proofs.zlibCompileFlags_safe No fixed-target composition recorded
Zlib.Zutil.Proofs.zlibVersion_correct No fixed-target composition recorded
Zlib.Zutil.Proofs.zlibVersion_safe No fixed-target composition recorded
ZlibF.Spec.Api.Proofs.Layer.ext dict_roundtrip, format_deterministic, format_prefix_free, inflate_completes, inflate_decodes, inflate_deferred_distance
ZlibF.Spec.Api.Proofs.inflate_deferred_distance_rejects_legacy_consistency No fixed-target composition recorded
ZlibF.Spec.Blocks.append compress_roundtrip, dict_roundtrip, format_deterministic, format_prefix_free, inflate_completes, inflate_decodes, inflate_deferred_distance
ZlibF.Spec.Blocks.det compress_roundtrip, dict_roundtrip, format_deterministic, format_prefix_free, inflate_completes, inflate_decodes, inflate_deferred_distance
ZlibF.Spec.Gzip.ext dict_roundtrip, format_deterministic, format_prefix_free, inflate_completes, inflate_decodes, inflate_deferred_distance
ZlibF.Spec.Prefix.det No fixed-target composition recorded
ZlibF.Spec.Prefix.ext compress_roundtrip, dict_roundtrip, format_deterministic, format_prefix_free, inflate_completes, inflate_decodes, inflate_deferred_distance
ZlibF.Spec.Proofs.prefixFree short_rejected_leaf_stays_invalid, compress_roundtrip, dict_roundtrip, format_deterministic, format_prefix_free, inflate_completes, inflate_decodes, inflate_deferred_distance
ZlibF.Spec.Public.Proofs.DeflateInit.default_init_witness No fixed-target composition recorded
ZlibF.Spec.Public.Proofs.free_writable_matches_dropWindow No fixed-target composition recorded
ZlibF.Spec.Public.Proofs.legacy_codes_used_impossible No fixed-target composition recorded
ZlibF.Spec.Zlib.ext compress_roundtrip, dict_roundtrip, format_deterministic, format_prefix_free, inflate_completes, inflate_decodes, inflate_deferred_distance

Refresh

Regenerate after proof or registry changes. The generator builds and inspects exact compiled theorem types. It never changes a proof, target or registry. Acceptance remains subject to checking.

Input fingerprint: 49a33d32fca62884e1eba9ca62dd3bd9d8c5fb803e7b11fa90ab23abeabd9977.

Current proof scope

The current proof scope includes default initialization, the platform-scoped fast-decoder interface and the three constructed-table content/safety/extent results. The generated index above is authoritative for exact registered and local theorem matches. These internal results do not establish the complete public inflate or deflate goals.

CI acceptance is tied to a named commit. Read the main-branch runs and checking rules; a merge or local build alone does not establish final acceptance. The platform object-size premise is an accepted environment assumption, not an outstanding scope decision.

Remaining work

Targets with red borders have a documented blocker with evidence and a next step below. A long proof attempt alone does not establish a blocker. Gray targets may be started; their missing internal lemmas and state-sequence invariants are not all drawn in the graph.

Public API proof readiness

Gray means unproved, not blocked. Start independent work now. Green callees do not establish the caller's own preconditions, loops, results or memory effects. A directly callable API can still have a false contract or a confirmed source defect; only evidence of that kind warrants a blocker border. Do not infer readiness solely from missing arrows.

The evidence index separates proof references, C calls and specification references. The work below names composition obligations, unfinished against the exact targets. It does not introduce public assumptions or grant input coverage.

Open, query and close prerequisites

Opening a file does not require the complete engine. Its main work is the common gz_open mode loop, real allocations, string copying, descriptor effects and invariant establishment. For a tell query, the missing producer is the position invariant over permitted histories. For close, it is ownership over those histories, including allocation failures.

Local execution proofs now cover:

  • Open entries: NULL arguments, negative descriptors and first-allocation failure. They give the unchanged file system and exact heap, including the allocation-attempt counter.
  • Reader close: NULL, wrong mode and complete unbuffered execution under GzGood, including descriptor errors, freeing the message, path and handle, and a frame over unrelated allocations.
  • Priming entry: refused streams and invalid bit counts, before pending-byte compaction.

These are scoped internal results, not proofs of the complete public targets. In particular, GzGood still has to be derived from the permitted public histories. Do not replace a gray public node with green on the strength of one branch.

Callback decoder prerequisites

inflateBack need not wait for the complete ordinary inflate target. Setup and teardown are already registered. Existing entry, bit-input, window-flush and stored-block arguments can be reused. Compressed blocks and the full public callback protocol still need composition.

A fast-path theorem requiring separate output and history buffers does not cover output inside the window. A table return-code theorem does not establish installed entry contents. The callback proof guide locates the reusable arguments and states the limits of their callback domain. These missing premises do not stop independent work on another block type or error path.

Next work for every unfinished public target

"Start" means work can begin without a complete engine theorem. "Compose" names a prerequisite for full closure; independent branches can still proceed. No row grants checked status or assumes a callee's specification.

Public targets Proof work shown in graph Next work and missing prerequisite
gzopen, gzopen64, gzdopen, gz_initialisation_domain Start: open and cleanup Start: common mode loop, allocation outcomes, path formatting/copy, descriptor effects, OpenState and witnesses. Entry/failure branches are locally checked above.
gztell64, gztell Needs: position invariants Compose: derive PosInv from reads, writes, seeking and pushback; then reuse the existing arithmetic execution proof.
gzclose_r Needs: resource ownership Start: initialized-buffer cleanup and its ownership producer over histories. Unbuffered execution and frame are locally checked; inflateEnd alone is insufficient.
gzclose_w, gzclose Needs: flush and cleanup Compose: actual zero-fill/final compression and file writes, all cleanup/error paths, then dispatch using both complete close results.
gzseek64, gzseek Needs: seek and history Start: position/pointer state-sequence invariants, buffered and transparent paths, exact error frames. Negative-position reachability and historical overflow reports remain unfinished.
gzdirect, gzread, gzfread, gzgetc, gzgetc_, gzgets, gzungetc Needs: reader path proofs Start: common lazy setup, transparent reads and buffer/state-sequence invariants. Compose: actual decoder execution for compressed paths, then EOF/count/pushback/error clauses. gzdirect needs detection and init, not the full data-decoding loop.
gzwrite, gzfwrite, gzputc, gzputs, gzvprintf, gzprintf, gzflush, gzsetparams Needs: writer path proofs Start: buffering, formatting, transparent writes and failures. Compose: actual compressor execution for compressed output and parameter changes.
deflateInit2_, deflate_initialisation_domain Start: init and allocation Start: parameter normalization, five allocations, all failure cleanup, actual DGood/tree establishment and witnesses. Reset proofs require the invariant; they do not establish it for fresh storage.
deflatePrime Start: compaction and bits Start: pending-byte compaction, checked shifts, bit insertion/flush and invariant/frame preservation. Refusal branches are locally checked; accepted counts remain open.
deflateBound_z, deflateBound Start: bound and header review Start: connect existing execution formulas to the saturated mathematical bound, including header strings and extra lengths. The historical extra-length report is unfinished, not a newly confirmed blocker.
deflateSetDictionary Start: window and hash Start: window fill, hash-chain insertion, saved-input restoration, then checksum and exact state/frame effects. Green checksum calls cover only that part.
inflateCopy, deflateCopy Start: copy and relocation Start: allocation failures, buffer copies, pointer relocation and independent ownership. Resolve the recorded copy/history investigations before claiming the full domain; do not add silent premises.
deflateParams Needs: block flush and parameter state Compose: actual old-block flushing, return-code handling and canonical tuning-row updates. Check exact state preservation on refusal before full closure.
inflateSync Needs: scan and history Start: compose existing first/resume scans, held bits, marker search, reset and accounting/frame results. Derive window/reset premises from histories.
compress2_z, compress2, compress_z, compress Needs: compressor execution Start: arguments, scalar lengths and cleanup. Compose: actual init/compress/end with exact output, then wrappers. Abstract roundtrip is insufficient.
uncompress2_z, uncompress2, uncompress_z, uncompress Needs: decoder execution Start: scalar results, insufficient space and cleanup. Compose: actual init/decompress/end, exact consumption/output, then wrappers.
inflate, deflate Needs: dispatch invariants Compose: decoder-table or hash-chain meaning, dispatch invariants, loop termination and output/accounting. Green checksums do not establish these premises.
inflate_sequence, deflate_sequence, inflate_back_sequence, gz_sequence Needs: execution and format Compose: actual per-call safety, history preservation, independent format refinement and completion across input/output splits.
inflateBack Needs: tables, window and callbacks Compose: compressed TABLE/LEN execution, output inside the window, public callback ownership, loop termination and exact input/output accounting. Existing stored and entry paths can progress independently.
inflateInit2_ Blocked: cleanup contract The confirmed cleanup-contract counterexample is recorded below. Successful init and independent targets can proceed.

The immediate order is independent entry/cleanup and arithmetic paths, then common open, position and ownership invariants, then complete function composition. Callback compressed blocks can progress alongside these. Record an unknown prerequisite here with its exact question; do not invent a dependency or treat elapsed time as evidence of a blocker.

Integration

Review the focused function-manual scopes and regenerate the documentation source-policy lock in a reviewed audit update. Independently review the new source and kernel-syntax locks and the first verification baseline. Maintain repository protections for the four checks and protected-path review. Register newly checked results only after their required checks.

Public contracts

Independently approve the 103 target statements, caller domains and representation limits before accepting a verification baseline. Extend the ordinary data-epoch refinement to advanced raw dictionary replacement and all header/priming/recovery combinations; retain their exact per-entry effects and unconditional sequence safety. No final correctness claim may silently drop those obligations.

Specification review

Gzip seek mode

The abstract gz_seek_read goal is false: GzSeek permits the resulting handle to change from read mode to write mode, so the subsequent modeled read can return no data. The checked counterexample uses an opened two-byte reader. Review the seek relation before proving this goal. This is a model issue, not a confirmed zlib issue.

Inflate initialization cleanup

The current inflateInit2_ goal is false for an invalid window parameter. Its SameObjects postcondition requires a structurally unchanged state table, but allocation followed by free expands that table. The checked counterexample uses a valid caller heap and proves the sizes are four and zero. Review the contract and model before proving this goal. This is not a confirmed zlib issue.

Review the corrected shared Uncompress2 relation independently. The deferred-distance and exact-free corrections have independent counterexamples and checked regression proofs; implementation refinement remains open. Its former empty-output clause on memory failure and extension clause on buffer error have been removed using the existing paired counterexample. Complete the older abstract gz and dictionary models before using them as complete operational refinements; the concrete public targets do not assume their callee contracts.

Translation review

Review the C language edition and implementation extensions used by the selected build. In particular, establish definedness for reachable null-plus-zero and null-minus-null operations. The current model permits some of them, and the Ptr.diff source comment incorrectly attributes null subtraction to C23. The comparison table records the actual definitions and language references. This documentation change does not alter the runtime or establish that a reachable upstream bug exists.

Continue the statement-by-statement review beyond the corrected compressor automatic storage. The compressor slide now checks signed subtraction in source order. Its internal-state regression compares three defined boundaries and rejects an artificial overflow in both C and Lean. Restoring unchecked subtraction changes only the overflow observation. Reachability of that artificial state is not claimed; derive the signed bound from legal call sequences. The source-level selected-depth reread in tree merging has been restored with a six-case regression and a required structural check that rejects the former cached expression. Prove the temporal initialization history of internal depth reads. Review scalar-pointer aliasing and the null-minus-null special case in compressor pointer subtraction (unfinished).

CRC address model

The CRC translation now observes a stable origin residue for every represented static or embedded byte array. Local proofs cover all residues, seeds and readable lengths for both public CRC update entries, with the same immutable-heap result. The original 47-byte static input is now a positive regression. The public contracts and caller domains are unchanged. Local evidence still needs final acceptance checks on the integrated commit.

Extend the representation relation to general ABI layout, effective types, scalar-cell aliases and byte views of other records. The current address abstraction represents only the low three bits observed by the CRC alignment test; it is not a complete address-space model.

Inflate causal model

Complete the universal output and unknown-dictionary refinement against the C. The earlier whole-lookahead consistency is false; the supporting-bit-prefix correction is reviewed. The fixed data-error detection lag of eight bytes also has a counterexample; derive a justified replacement rather than raising the constant without proof. Register the checked inflate_decodes model proof, then establish these conditions for actual decoder runs. Prove the general negative-value priming bridge, beyond the checked model witnesses and finite execution matrix.

Differential harness

Keep the new allocation-failure and negative-prime regressions in automated validation. The test-owned gz handles, input line and deflate buffers are now released. Normal and unsuppressed sanitizer runs compare all 47,890 inputs. A cleanup mutation confirms that the harness still reports library state leaked by a missing end call.

Proof mutants

Complete the remaining legacy lists. Every newly proved public entry must supply direct translation mutants in the locked mapping and demonstrate failure in its function proof. Unproved entries acquire their records with their proofs.

Decode tables

Connect the proved canonical-code coverage and entry-shape lemmas to the heap written by inflate_table; establish the table predicates used by the decoders.

Inflate

The internal code-length root lookup has a bounded execution result for the actual constructed table. It pulls at most one input byte, preserves the exact input cursor and bit stream, and leaves on input exhaustion. This supporting result does not complete CODELENS, the dispatch invariant or the public inflate goal. See the lookup proof and the cursor proof.

The actual window updater preserves the per-byte-object platform bound and static storage for an existing window, fresh allocation and genuine allocation failure. It uses the proved default allocator and ring copies. The platform bound is an environment premise; this theorem proves preservation through the operation. It does not complete the public inflate goal, ownership, accounting or the full caller frame. See the window proof.

The locally checked internal fast body now emits one independent literal/copy token, ends the block, or rejects an invalid length code, invalid distance code or too-far match without output. The actual distance result preserves exact remaining bits and equates copying with independent bytewise history copying. The token relation has checked composition, decomposition and rejection results against the original format grammar. Whole-fast-call bit origin also checks through the loop, byte rollback and final writeback. All these results retain the original safety conclusions.

Establish table meaning, suffix stability, compatible leaf flags and saved-window history from actual construction, installation and init. Complete whole-fast-call output composition and cover all legal buffer views. Finish the other decode modes, across-call composition, copy and recovery. These remain internal-domain results, not registered public proofs. The public inflate and sequence goals remain open.

Inflate back

Finish table construction, compressed blocks, callback composition and the complete function.

Deflate

Finish general initialization (deflateInit2_), dictionary setting, priming, copying, fill_window, strategy loops and the complete function. The recovered dictionary-query proof builds and rejects three translation mutants in its own proof; registration remains.

The exact Goal.deflateInit_ now has a locally checked proof in public-deflate-init. It expands the actual fixed-parameter call at window 15, memory level 8 and strategy 0. Compression level remains arbitrary. The proof covers version and parameter refusal, all five allocation outcomes, failure cleanup, the old-object frame and the exact live-object ledger. Successful execution establishes DGood; it is not a caller premise. A concrete default caller successfully returns that invariant. The universal deflateInit2_ theorem remains open and is not a dependency.

The complete root build, full fresh kernel replay, allowed-axiom inspection and zero-placeholder scan pass locally. Three direct wrapper mutants reject the original exact public proof in a fresh kernel. Wrong-symbol-limit and dropped-cleanup mutants retain the synchronized whole-source equality but fail their execution proofs with type errors. Resource failures are not counted. The strict entry mutation list also passes.

The exact default-entry proof and its concrete witness are registered. Generated locks add 72 semantic records and two theorem-type records. Existing semantic and theorem-type records are unchanged. Acceptance on a named CI commit remains. These are local results, not CI approval.

Trees

Actual gen_codes, leaf preparation, heap ordering, and the complete merge/root-storage prefix have checked internal execution proofs. Node bounds and queue facts derive from the actual descriptor/reset/scan/repair/order execution. Old heap contents, lengths and depths remain unrestricted. Each merge executes child selection, tail stores, frequency/depth updates, parent stores and sift-down in source order. The loop terminates and the final root store has its exact state effect. Actual callee execution theorems are used.

The actual forest and final root store now establish the bit-length representation premises. The complete actual build_tree executes both code-generation calls under explicit storage and static-table conditions. The installed literal, distance and bit-length descriptors discharge the table conditions. Every originally nonzero-frequency symbol receives a positive limited length and its exact reversed canonical word, which fits that length. No callee contract is assumed. The actual lengths and stored words now agree with the independent format's canonical codes and complete-code rule. Its decoder returns each originally used symbol and preserves every trailing bit suffix.

The constructor's exact frame preserves the caller's output invariant and existing bits. Actual construction followed by sending one used symbol composes on the same heap, with independently decodable output. Its fifteen-bit room condition is an explicit internal obligation; derive it from the block/overlay bound. Initialization and arbitrary legal call histories remain open. These are internal-state results, not a public deflate theorem.

Actual scan_tree terminates, writes its sentinel and records exact wrapping frequency increments for every run. Actual build_bl_tree composes both scans, bit-length-tree construction, the descending search and the unsigned cost update. Source-code words and descriptors are preserved. Generic search returns 2..18. Actual block initialization and source-tree construction establish the stronger 3..18 range, literal/distance count ranges 257..286 and 1..30, and all nineteen bit-length values at most seven. A new call-composition proof retains the END_BLOCK frequency and unchanged bit-length tree through any list of valid actual tallies that fits the current block. Actual init_block, those tallies and all three constructors then establish the same header-field ranges on one returned heap. This proves neither the strategy's input-to-tally history nor preservation across block flushes.

The complete actual send_tree now terminates and emits exactly the shared run-length model. The direct-repeat loop includes its final signed decrement. All repetition branches, the early continue, next-length reads and the final for-loop iteration execute in source order. The exact heap frame retains both tree arrays and the existing output prefix. Actual bit-length construction now supplies the two senders' source capacities, length bounds and fitted words for every positively scanned symbol. Each such word also has its independent symbol-decoding result on every suffix. These data follow on one returned heap from actual init_block, any legal within-block tally list and all three constructors. Exact total bit room remains an internal obligation. Finish send_all_trees, independent run-length/header decoding and the output/symbol overlay bound; individual word decoding does not establish decoding of the complete run-length sequence.

Three code-assignment, eleven scan/reset/repair, five heapify/descriptor, and seventeen merge/guard/root-store mutants fail their execution proofs. Complete source equality still checks independently for the synchronized variants. The three code-assignment mutants also reject with the complete constructor in the build target. Three direct send_code mutations of its length entry, code entry and emitted length fail its emission proof with the complete build/send composition as the build target. Five scan and eight bit-length-construction mutants fail their execution proofs while synchronized whole-function equalities still check. Three tally mutations of the literal index, match index and full-buffer flag fail their execution proofs while the complete source equality still checks. Eight send_tree mutations of the repeat decrement, first-code decrement, zero-run threshold, extra-bit width/base, continue guard, next read and final iteration fail their execution proofs. Their complete synchronized source equalities still check. These results are not registered or CI-approved. Finish tree-description emission, full bit-cost refinement, block compression and the overlay bound, including the small memory levels.

Other APIs

Finish the compression utilities and the gz read/write/open paths.

End-to-end claims

Instantiate the heap API, connect the state-sequence invariant to the format model, and prove sequence safety, ownership, termination and functional correctness on the supported configurations.

Boundary cases to review

Recheck gzip extra-length arithmetic, partial-read recovery, negative-position seeking, lost parameter changes, failed-finish recovery and forward seek after EOF against the current pin. Conditional seek fault lemmas do not prove reachability: establish signed-position and borrowed-pointer conditions from actual call sequences. The inflateBack boundary-case review remains unconfirmed for that callback API; ordinary-inflate sanitizer examples do not settle it. The external string allocator and fixed loop fuel also need review before full gzip ownership or arbitrary finite callback termination is claimed. A suspected defect is not permission to exclude a public case. Findings records evidence and confidence; current patches are in patches/README.md. No blanket UB patch is applied.

The architecture guide records design decisions D1–D6. The safety specification defines the fresh-memory obligations.

ZLIB × LEAN

Global contents

READING NOWProof progress and remaining work