Skip to main content

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 2,569 curated research declarations and 119,070 complete package declarations. Search 10,000 more complete Mathlib declarations.

All topics

Showing 1,363 to 1,368 of 2,569 results.

Project-declaredLean 4.32.0

Get Putative Root With Hash batch To Single Proof

InductiveMerkleTree.getPutativeRootWithHash_batchToSingleProof

Mathematical 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

Mathematical 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
Project-declaredLean 4.32.0

Get Putative Root With Hash unique

InductiveMerkleTree.getPutativeRootWithHash_unique

Mathematical statement

Merkle opening uniqueness. When h is injective, two openings at the same leaf index that produce the same root must agree on both the leaf value and the entire authentication path. Proof: induction on the index. At each internal node, injectivity of h forces both hash arguments to agree , the sibling (proof head) and the recursive subtree root. Th...

program verificationseparation logiccryptography

Source project: VCVio

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Log Has Collision of chain In Log of ne

InductiveMerkleTree.logHasCollision_of_chainInLog_of_ne

Mathematical statement

Log-level binding (Collision Lemma at the log level). Log-formalized analog of getPutativeRootWithHash_binding_collision: two distinct openings (x, proof₁) ≠ (y, proof₂) of the same root at the same index, both witnessed by hash chains ChainInLog in the same log, force log to contain a hash collision (two log entries with equal responses b...

program verificationseparation logiccryptography

Source project: VCVio

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Simulate Q build Merkle Tree

InductiveMerkleTree.simulateQ_buildMerkleTree

Mathematical statement

Running the monadic version of buildMerkleTree with an oracle function f is equivalent to running the functional version of buildMerkleTreeWithHash with the same oracle function.

program verificationseparation logiccryptography

Source project: VCVio

Person-level attribution pending.

View proof record
Project-declaredLean 4.32.0

Simulate Q get Putative Batch Root

InductiveMerkleTree.simulateQ_getPutativeBatchRoot

Mathematical statement

Running the monadic getPutativeBatchRoot with an oracle function f is the same as running the functional getPutativeBatchRootWithHash with the corresponding hash function.

program verificationseparation logiccryptography

Source project: VCVio

Person-level attribution pending.

View proof record