Source-pinned research

Research proof index

Search theorem names, mathematical ideas, modules, topics, projects, and role-labelled researchers. Open a result for its complete indexed Lean declaration and source record.

This index contains 169 research declarations. Search 10,000 more complete Mathlib declarations.

1 topic

169 results

Clear filters
Project-declaredLean 4.32.0

Find Collision sound

InductiveMerkleTree.findCollision_sound

Plain-language statement

Soundness: if findCollision returns a tuple, that tuple is a hash collision according to Collision.

program verificationseparation logiccryptography

Source project: VCVio

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Functional batch completeness

InductiveMerkleTree.functional_batch_completeness

Project documentation

A functional form of the batch completeness theorem: the honest batch proof generated from an honestly built tree, together with the true selected leaf values, recomputes the tree's root , under any hash function and any selector opening at least one leaf.

program verificationseparation logiccryptography

Source project: VCVio

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Get Putative Batch Root With Hash unique

InductiveMerkleTree.getPutativeBatchRootWithHash_unique

Plain-language statement

Batch opening uniqueness. When hashFn is injective, two batch openings for the same selector that produce the same putative root must agree on both the claimed selected values and the entire pruned authentication data.

program verificationseparation logiccryptography

Source project: VCVio

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Get Putative Root is Total Query Bound

InductiveMerkleTree.getPutativeRoot_isTotalQueryBound

Plain-language statement

getPutativeRoot makes one oracle query per level of idx, so it has total query bound idx.depth.

program verificationseparation logiccryptography

Source project: VCVio

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Get Putative Root With Hash batch To Single Proof

InductiveMerkleTree.getPutativeRootWithHash_batchToSingleProof

Plain-language statement

Root preservation. The single-index opening extracted from a batch opening at any selected leaf recomputes exactly the batch opening's putative root. Consequently a batch opening that verifies against a root yields, at every selected leaf, a single-index opening that verifies against the same root.

program verificationseparation logiccryptography

Source project: VCVio

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Get Putative Root With Hash binding

InductiveMerkleTree.getPutativeRootWithHash_binding

Plain-language statement

Merkle binding: from two distinct leaf values x ≠ y that produce the same putative root at the same leaf index under (possibly different) sibling proofs, the constructive search findCollision returns some. Note that idx is shared , this is binding at a fixed position. The distinct-position case requires walking down both paths to the lowest comm...

program verificationseparation logiccryptography

Source project: VCVio

Person-level attribution pending.

View proof record