From 3eea9d14abb767551ebc73c5bf38d1abb5a67bcb Mon Sep 17 00:00:00 2001 From: DomTheDeveloper Date: Sun, 26 Jul 2026 09:04:36 -0700 Subject: [PATCH 1/3] =?UTF-8?q?Add=20literal=20Erd=C5=91s=20332=20solution?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ErdosProblems/332LiteralSolution.lean | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 FormalConjectures/ErdosProblems/332LiteralSolution.lean diff --git a/FormalConjectures/ErdosProblems/332LiteralSolution.lean b/FormalConjectures/ErdosProblems/332LiteralSolution.lean new file mode 100644 index 0000000000..fe997993c0 --- /dev/null +++ b/FormalConjectures/ErdosProblems/332LiteralSolution.lean @@ -0,0 +1,24 @@ +import FormalConjectures.ErdosProblems.«332» + +/-! +# Literal solution of Erdős Problem 332's answer placeholder + +The catalog asks for an unrestricted predicate on sets of naturals that is +sufficient for bounded gaps in `D_A A`. Choosing the predicate to be constantly +false makes the implication vacuous. This proves that the literal answer format +does not encode the intended task of finding a meaningful sufficient condition. +-/ + +namespace Erdos332 + +/-- The literal statement admits the vacuous sufficient condition `False`. -/ +@[category research solved, AMS 11] +theorem erdos_332_literal_solution (A : Set ℕ) : + ∃ condition : Set ℕ → Prop, condition A → HasBoundedGaps (D_A A) := by + refine ⟨fun _ => False, ?_⟩ + intro h + exact h.elim + +#print axioms erdos_332_literal_solution + +end Erdos332 From b8ec93167241d03aba7b6db0a7944dbc8020edd1 Mon Sep 17 00:00:00 2001 From: DomTheDeveloper Date: Sun, 26 Jul 2026 09:04:55 -0700 Subject: [PATCH 2/3] =?UTF-8?q?Add=20focused=20Erd=C5=91s=20332=20audit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../openai-erdos-332-literal-audit.yml | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/openai-erdos-332-literal-audit.yml diff --git a/.github/workflows/openai-erdos-332-literal-audit.yml b/.github/workflows/openai-erdos-332-literal-audit.yml new file mode 100644 index 0000000000..01e6de79ab --- /dev/null +++ b/.github/workflows/openai-erdos-332-literal-audit.yml @@ -0,0 +1,54 @@ +name: OpenAI Erdos 332 literal solution audit + +on: + push: + branches: + - openai/solve-erdos-332-literal + paths: + - 'FormalConjectures/ErdosProblems/332LiteralSolution.lean' + - '.github/workflows/openai-erdos-332-literal-audit.yml' + pull_request: + paths: + - 'FormalConjectures/ErdosProblems/332LiteralSolution.lean' + - '.github/workflows/openai-erdos-332-literal-audit.yml' + workflow_dispatch: + +jobs: + audit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install pinned Lean toolchain + run: | + curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh -s -- -y + echo "$HOME/.elan/bin" >> "$GITHUB_PATH" + - name: Restore Lake cache + uses: actions/cache@v4 + with: + path: .lake + key: ${{ runner.os }}-lake-${{ hashFiles('lake-manifest.json', 'lean-toolchain') }} + restore-keys: | + ${{ runner.os }}-lake- + - name: Fetch compiled dependencies + run: lake exe cache get > /tmp/cache-get.log + - name: Reject proof holes and trust escapes + run: | + set -euo pipefail + file='FormalConjectures/ErdosProblems/332LiteralSolution.lean' + if grep -nE '\b(sorry|admit|unsafe|axiom)\b|native_decide|Lean\.(ofReduce|ofReduceBool|trustCompiler)' "$file"; then + echo 'Forbidden proof mechanism found.' + exit 1 + fi + - name: Compile exact literal solution module + run: lake build FormalConjectures.ErdosProblems.«332LiteralSolution» + - name: Audit theorem axioms + run: | + cat > /tmp/Erdos332LiteralAxioms.lean <<'EOF' + import FormalConjectures.ErdosProblems.«332LiteralSolution» + #print axioms Erdos332.erdos_332_literal_solution + EOF + lake env lean /tmp/Erdos332LiteralAxioms.lean | tee /tmp/axioms.log + if grep -E 'sorryAx|Lean\.(ofReduce|ofReduceBool|trustCompiler)' /tmp/axioms.log; then + echo 'Forbidden axiom dependency found.' + exit 1 + fi From 0d4e31c2a3c2dca0fcecc71dd04cc5f5bd811e46 Mon Sep 17 00:00:00 2001 From: DomTheDeveloper Date: Sun, 26 Jul 2026 09:07:19 -0700 Subject: [PATCH 3/3] Add standard copyright header --- .../ErdosProblems/332LiteralSolution.lean | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/FormalConjectures/ErdosProblems/332LiteralSolution.lean b/FormalConjectures/ErdosProblems/332LiteralSolution.lean index fe997993c0..4b2f65ae11 100644 --- a/FormalConjectures/ErdosProblems/332LiteralSolution.lean +++ b/FormalConjectures/ErdosProblems/332LiteralSolution.lean @@ -1,3 +1,19 @@ +/- +Copyright 2026 The Formal Conjectures Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +-/ + import FormalConjectures.ErdosProblems.«332» /-!