{
  "schema_version": "1.0",
  "record_id": "ML-VIC-001",
  "edition": "1.0",
  "publication_date": "2026-10-20",
  "title": "Vickrey Auction: formal verification record",
  "record_type": "project_verification_record_not_accredited_certificate",
  "presentation_label": "MEKs Lab",
  "repository": {
    "name": "VileBody/vickrey-lean-solidus",
    "visibility_at_retrieval": "private",
    "selected_branch": "codex/verify-refinement",
    "commit": "d02ea87ce713d589c72328b89902a92d11275480",
    "tree": "da1a82df7e4612091f2996fea7ffc1d8b33cb01b",
    "commit_timestamp_utc": "2026-10-09T23:39:57Z",
    "commit_signature_verified": false
  },
  "mechanism": {
    "participants": 2,
    "items": 1,
    "auction_rule": "second_price",
    "tie_break": "participant_0",
    "model_domain": "Nat",
    "runtime_bid_domain": "Fin (2^128)",
    "utility_domain": "Int",
    "reserve_price_in_scope": false
  },
  "runtime": {
    "size_bytes": 157,
    "sha256_binary": "5ad69bf3ad48717a7beb1a083d2229241934fd01370062bbcdf89e15ff29349e",
    "sha256_hex_file": "2607c4326db51db03c769e25e905db191b582a9a17ae731411dfe0b2b28fdef5",
    "evm_target": "Cancun",
    "wire_input_bytes": 64,
    "wire_output_bytes": 64,
    "function_selector": null,
    "call_value": 0,
    "stores_assets": false
  },
  "formal_scope": {
    "start": "Generated.astJson as structured Lean.Json; actual structured Solidus decoder",
    "end": "EVMYulLean EVM.X on Generated.runtimeBytes from freshGasfulEntry",
    "runtime_theorem": "Vickrey.settlement_runtime : ExactRuntimeGasfulSettlement",
    "guarantee": "Exact encoded auction outcome OR actual OutOfGas for valid bids, at sufficient logical interpreter fuel.",
    "success_gas_bound_proven": false,
    "invalid_input_rejection": {
      "layer": "Yul",
      "premise": "calldata.size < 2^256"
    },
    "economic_assumptions": [
      "two participants",
      "nonnegative private valuations",
      "quasilinear utility",
      "abstract payment and item transfer enforced",
      "unilateral deviations only"
    ],
    "excluded": [
      "Yul text to solc transformation",
      "serialized JSON parsing",
      "contract deployment",
      "transaction-level reachability and complete Ethereum lifecycle",
      "a sufficient EVM gas bound for success",
      "on-chain ETH transfers",
      "escrow and commit-reveal protocol incentives",
      "collusion and budget constraints"
    ]
  },
  "recorded_verification": {
    "status": "VERIFIED",
    "evidence_file": "evidence/source-excerpts/results/verification.json",
    "execution_date_context": "2026-10-10 Europe/Moscow",
    "stage_count": 22,
    "all_stage_exit_codes_zero": true,
    "duration_seconds_reported": 293.1,
    "public_theorems_audited_reported": 264,
    "anvil_valid_cases_reported": 1113,
    "anvil_invalid_cases_reported": 14,
    "counts_source": "evidence/source-excerpts/README.md",
    "hosted_ci_run_observed": false,
    "evidence_kind": "repository-recorded local run; not independently re-executed during packaging"
  },
  "packaging": {
    "original_files_included": 15,
    "original_git_blob_ids_matched": 15,
    "recorded_input_hashes_matched": 12,
    "recorded_input_hashes_in_original_record": 115,
    "lean_rerun": false,
    "anvil_rerun": false,
    "full_source_archive_included": false,
    "third_party_dependencies_included": false,
    "full_source_export_tool": "tools/build_source_bundle.py",
    "full_source_export_against_remote_tested": false,
    "publication_to_website_or_github_performed": false
  },
  "trust": {
    "allowlisted_axioms_reported": [
      "propext",
      "Classical.choice",
      "Quot.sound"
    ],
    "trusted_boundary": [
      "Lean kernel and toolchain used to check proofs",
      "meaning and adequacy of selected upstream EVM/Yul semantics",
      "model assumptions and declared execution frame"
    ],
    "cryptographic_signature_provided": false,
    "independent_audit_claimed": false
  },
  "toolchain": {
    "lean": "4.28.0",
    "solc": "0.8.26+commit.8a97fa7a",
    "foundry": "1.5.1",
    "recorded_platform": "macOS-15.3.1-arm64",
    "recorded_python": "3.12.3",
    "solidus": "32c7cdbc0b466bdb13ce6eeabe5add8c49f356e2",
    "evmyul": "b08573c65e33feb5331abe2b7c1d76be89bb8eff",
    "mathlib": "8f9d9cff6bd728b17a24e163c9402775d9e6a365",
    "full_versions_file": "evidence/source-excerpts/versions.json"
  },
  "claims": [
    {
      "id": "C01",
      "title": "One winner, including ties",
      "layer": "mathematical_model",
      "declarations": [
        "Vickrey.allocation_unique",
        "Vickrey.allocation_rules",
        "Vickrey.tie_to_zero"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/Economics.lean",
      "statement": "Exactly one participant wins; participant 0 wins when bids are equal.",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "There is always one winner. A tie goes to participant 0."
    },
    {
      "id": "C02",
      "title": "The correct second price",
      "layer": "mathematical_model",
      "declarations": [
        "Vickrey.payment_correct"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/Economics.lean",
      "statement": "The winner pays min(b0, b1); the loser pays 0.",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "The higher bidder wins and pays the lower bid, not its own bid."
    },
    {
      "id": "C03",
      "title": "Truthful bidding (DSIC)",
      "layer": "mathematical_model",
      "declarations": [
        "Vickrey.dsic",
        "Vickrey.dsic_bounded"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/Economics.lean",
      "statement": "A truthful bid weakly dominates any unilateral deviation for every rival bid.",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "Under the stated economic assumptions, changing your own bid away from your value cannot improve your utility over truthful bidding."
    },
    {
      "id": "C04",
      "title": "Nonnegative utility when truthful",
      "layer": "mathematical_model",
      "declarations": [
        "Vickrey.individual_rationality"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/Economics.lean",
      "statement": "A participant bidding truthfully has nonnegative utility.",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "With truthful bidding and the stated assumptions, the modeled value received is at least the modeled payment."
    },
    {
      "id": "C05",
      "title": "Allocation to the higher value",
      "layer": "mathematical_model",
      "declarations": [
        "Vickrey.welfare_maximization",
        "Vickrey.welfare_dominates_allocation"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/Economics.lean",
      "statement": "Under truthful bidding, welfare equals max(v0, v1).",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "When bids reflect values, the item goes to a participant who values it most."
    },
    {
      "id": "C06",
      "title": "Balanced model accounting",
      "layer": "mathematical_model",
      "declarations": [
        "Vickrey.accounting",
        "Vickrey.utility_accounting"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/Economics.lean",
      "statement": "Participant transfers plus seller revenue sum to zero; this is not a proof of ETH transfers.",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "The abstract payment accounting balances. The core does not actually move funds."
    },
    {
      "id": "C07",
      "title": "Encoding and bounded values",
      "layer": "abi",
      "declarations": [
        "Vickrey.word_exact",
        "Vickrey.word_order",
        "Vickrey.input_size",
        "Vickrey.output_size",
        "Vickrey.abi_word_roundtrip",
        "Vickrey.price_in_range"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/Abi.lean",
      "statement": "Two 32-byte words; bids and price stay in the bounded domain.",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "The input and output use fixed-size encodings, and accepted bids are unsigned values below 2^128."
    },
    {
      "id": "C08",
      "title": "Structured AST and Yul execution",
      "layer": "structured_ast_and_yul",
      "declarations": [
        "Vickrey.structured_ast_decodes_exactly",
        "Vickrey.settlement_refinement"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/SettlementExecution.lean",
      "statement": "The selected structured AST is related to the model for every valid bid; source fuel = 128, not gas.",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "The selected structured program is linked to the auction model. The number 128 counts source-interpreter steps; it is not a gas budget."
    },
    {
      "id": "C09",
      "title": "Compilation to the exact bytes",
      "layer": "compiler",
      "declarations": [
        "Vickrey.compiler_certificate"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/SettlementProof.lean",
      "statement": "The real compiler endpoint premises, stack checks and runtime-byte equality are discharged.",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "The recorded proof connects the selected compiler pipeline to these exact runtime bytes, rather than assuming compilation is correct."
    },
    {
      "id": "C10",
      "title": "Execution of the exact runtime",
      "layer": "evm_fresh_frame",
      "declarations": [
        "Vickrey.settlement_runtime"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/SettlementProof.lean",
      "statement": "With sufficient logical interpreter fuel: the exact encoded auction outcome or actual OutOfGas.",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "From the specified fresh ABI frame, the exact code returns the right encoded result or runs out of gas. No gas limit guaranteeing success is proven."
    },
    {
      "id": "C11",
      "title": "Invalid-input rejection in Yul",
      "layer": "yul_only",
      "declarations": [
        "Vickrey.admissible_invalid_input_refinement"
      ],
      "source_url": "https://github.com/VileBody/vickrey-lean-solidus/blob/d02ea87ce713d589c72328b89902a92d11275480/Vickrey/Admissibility.lean",
      "statement": "An empty revert at the Yul layer when calldata.size < 2^256; not a universal rejection theorem for the EVM runtime.",
      "status": "PROOF_PRESENT_IN_PINNED_REPOSITORY; RECORDED_CHECK_PASSED",
      "plain_language": "Bad inputs are rejected in the specified Yul model. This is not an all-cases guarantee for the gas-charged EVM runtime."
    }
  ],
  "distribution": {
    "repository_license_detected": null,
    "license_grant_inferred": false,
    "public_release_requires_owner_approval": true
  },
  "translation": {
    "language": "en",
    "kind": "English editorial translation of the supplied ML-VIC-001 edition 1.0; original identifiers, numbers, theorem declarations and evidence unchanged.",
    "source": "certificate.json",
    "new_lean_run": false,
    "new_anvil_run": false
  }
}
