{"submission_id":"fc4de4ae-4c9c-4edc-babb-b2badb2c60a3","submission_revision_id":"1f444a8b-3db2-4d7d-bf03-0348c8edc07d","revision_version":1,"submission_status":"submitted","submitted_at":"2026-10-15T05:54:54.116654Z","submitter_name":"Haoyang Su","submitter_email":"hoyantsu@gmail.com","task":{"status":"submitted","version":1,"domain_key":null,"extra_fields":{"difficulty_self_test":{"model":"GPT-6 Astra","harness":"Codex","estimated_score":"20–40%"}},"submitted_at":"2026-10-15T05:54:54.116654+00:00","domain_payload":null,"industry_domain":"Boolean circuit synthesis","task_short_name":"formally_verified_inverse_substitution_01","operating_system":"Linux","task_description":"Implement and formally verify a compact Boolean substitution circuit\n\nA hardware team has a fixed inverse eight-bit substitution function specified by all 256 entries in truth_table.json. Implement that exact function as a combinational Boolean circuit suitable for a backend where nonlinear gates are expensive. The function must not change. No decomposition or existing implementation is supplied.\n\nDeliver circuit.json, Solution.lean and instructions for checking the proof with Lean 4.19.0. The circuit has eight Boolean inputs and eight Boolean outputs, both ordered least-significant bit first. It may use only two-input XOR, two-input AND and one-input NOT gates. It must contain no more than 64 AND gates and no more than 398 gates in total. Fanout and wiring are free. Every gate must read only input wires or earlier gate outputs. No lookup tables, multiplexers, conditional expressions, arithmetic primitives, opaque external calls or additional input-dependent state may be counted as free operations.\n\nThe JSON schema is specified in circuit_format.txt. Its wire-level semantics, the full target table and the Lean proof interface are fixed in CircuitSpec.lean. Prove that your circuit is well formed, satisfies both gate budgets and computes the specified output for every x : Fin 256. The Lean circuit must be the same circuit as circuit.json, in the same order; the evaluator will compare their data. Deliver a complete kernel-checked proof. Missing proofs, sorry, admitted assumptions, new axioms, unsafe evaluation shortcuts and native_decide are not accepted. Standard logical axioms supplied by Lean are allowed; the final declarations must not depend on sorryAx or Lean.ofReduceBool.\n\nThe target has at least one implementation within the declared budgets. You are not asked to establish that 64 AND gates is the global minimum. Any circuit meeting the exact specification and both budgets is a correct answer. There is no preferred architecture or required synthesis algorithm. The difficulty is discovering a sufficiently compact implementation and delivering its formal equivalence proof; a correct table lookup or an oversized truth-table expansion is not a solution.\n\nPlace all deliverables in output/. Include any source needed to build the proof, but do not modify CircuitSpec.lean or replace the target function. If you use external synthesis tools, identify their versions in output/tool_versions.txt. The final circuit and proof must be self-contained.\n\nThe supplied forward_table.json specifies the forward permutation F. The target truth_table.json specifies its inverse G. In addition to correct, prove left_inverse and right_inverse as specified in circuit_format.txt. Both statements must concern the submitted circuit.\n","taxonomy_version":null,"software_licensing":"Free/Open Source","evaluation_criteria":null,"verification_method":"Check the circuit against the fixed gate schema and compare all 256 outputs exactly with the supplied table. Check that the Lean circuit data and output indices equal the JSON circuit data. Then check the submitted theorem declarations against the unchanged CircuitSpec.lean with Lean 4.19.0, and inspect their axiom dependencies. The correctness theorem must quantify over every x : Fin 256 and compare Circuit.evaluate with the fixed truth table; a theorem about a different interpreter, changed table, or unconnected implementation is invalid. No sorryAx, Lean.ofReduceBool, new axioms or unproved assumptions are permitted.\n\nAward 20 points for a well-formed circuit computing the target on all 256 inputs. Award a further 30 points only if that circuit uses at most 64 AND gates and at most 398 total gates. Award the remaining 50 points only for a complete kernel-checked proof of equivalence, well-formedness and both budgets for that same compliant circuit. A circuit outside either budget cannot receive proof points. Overall pass requires 100/100. A table lookup, hidden primitive or nonconforming gate fails the circuit criterion and earns zero overall. An unproved claimed optimum is irrelevant: the objective is a valid implementation within the fixed budgets, not a minimum-gate theorem. Different compliant circuits are accepted; gate lists need not equal the reference.\n\nFull proof credit also requires the two specified inverse identities against the unchanged forwardTable, for the same circuit. A proof only of the table identities does not replace these circuit theorems.\n","software_and_version":"Lean 4.19.0; Mathlib; Python 3.13.12","domain_schema_version":null,"specific_requirements":null,"expected_completion_time":null},"files":[{"file_id":"ea132d10-9a15-46d0-ba39-9ada8e5e4af7","filename":"inverse_substitution_inputs.zip","category":"input_materials","content_type":"application/x-zip-compressed","size_bytes":5630},{"file_id":"45ed3fd1-08ea-4465-8cfc-4d42633599b3","filename":"inverse_substitution_reference.zip","category":"reference_output","content_type":"application/x-zip-compressed","size_bytes":58386},{"file_id":"c070a805-8c29-42a1-962d-1f85e481c665","filename":"inverse_substitution_evidence.zip","category":"difficulty_self_test_evidence","content_type":"application/x-zip-compressed","size_bytes":492338}],"deep_review":{"overall_verdict":"Accept","review_text":"**Overall Verdict:** Accept — The submission is complete and objectively evaluable, with an independently validated reference circuit meeting both budgets and supporting proof evidence.\n\n**Completeness Check:**\n\n- Instruction: Complete — Deliverables, gate restrictions, bit ordering, budgets, and all six required theorem interfaces are explicit.\n- Inputs: Complete — Both tables contain 256 valid byte values, are two-sided inverse permutations, and match the unchanged Lean specification.\n- Toolchain: Complete — Lean 4.19.0, a pinned Mathlib revision, and build instructions provide a reproducible open-source workflow.\n- Reference output: Complete — Circuit, proof sources, checking instructions, attribution, and build logs are supplied. Independent checks confirm 64 AND gates, 398 total gates, exact outputs, and ordered JSON/Lean data agreement.\n- Rubric: Complete — The 20/30/50 allocation clearly distinguishes functional correctness, budget compliance, and complete formal verification, including both circuit inverse identities.\n\n**File and Task Reachability:**\n\nAttachment classification: `reachable`. Inspected `inverse_substitution_inputs.zip`, `inverse_substitution_reference.zip`, and `inverse_substitution_evidence.zip`, including their inventories, specification, tables, circuit data, proof sources, verification scripts, and trial reports. Downloaded sizes match the manifest; archives pass integrity checks and contain no encryption or unsafe member paths. Text is readable UTF-8. Compiled trial executables and Lean artifacts were identified as binary evidence; their internal behavior was not reviewed or trusted.\n\nTask classification: `reachable`. A single-machine workflow can synthesize a circuit, exhaustively compare all 256 outputs, compare JSON and Lean data, and check the required proofs and axiom dependencies. All 256 reference traces independently match circuit execution. Supplied logs report a successful approximately 25-minute proof build with only permitted logical axioms. Lean was unavailable for an independent rebuild, and no uploaded code was executed.\n\nThe self-test’s exact but oversized circuit independently reproduces its reported 20/100 outcome; this does not contradict reference feasibility. Solver inputs are separated from reference answers and evaluation evidence.\n\nLicense keys, accounts, tokens, and other credentials are not required from the contributor. Confidential, proprietary, or internal material may be evaluated as submitted evidence without requiring additional disclosure.\n\n**Special Screening:**\n\nNone supported by affirmative evidence. The reference credits public BearSSL components, but that alone does not establish that the constructed target or complete answer is a public benchmark. Independent public-provenance checking was unavailable through approved search.\n\n**Recommended Changes:**\n\nThe fixed specification, compliant reference circuit, proof sources, and candid self-test evidence support acceptance. No changes are required.","reviewed_at":"2026-10-15T06:00:48.240644Z"},"claim":null}