Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
1571800
Add research package overview
terrorproforma Jul 23, 2026
7f25f8f
Add exact DGG counterexample data
terrorproforma Jul 23, 2026
f334fd7
Add exact chairman counterexample data
terrorproforma Jul 23, 2026
f795ab5
Add exhaustive DGG verifier
terrorproforma Jul 23, 2026
e559000
Add exact chairman certificate verifier
terrorproforma Jul 23, 2026
dd7ebc7
Add combined certificate runner
terrorproforma Jul 23, 2026
77f54f5
Add parametric DGG derivation script
terrorproforma Jul 23, 2026
29ca97f
Add chairman gadget derivation script
terrorproforma Jul 23, 2026
6404ac0
Store detector bound as an exact rational
terrorproforma Jul 23, 2026
f21424c
Document the DGG derivation
terrorproforma Jul 23, 2026
7a2b13a
Document the chairman derivation
terrorproforma Jul 23, 2026
eb8b2f8
Add importance and chronology
terrorproforma Jul 23, 2026
41d9f32
Add research provenance record
terrorproforma Jul 23, 2026
c37ea15
Add validation report
terrorproforma Jul 23, 2026
ae26c81
Add planar SSUF network figure
terrorproforma Jul 23, 2026
fc65635
Add stable-set obstruction figure
terrorproforma Jul 23, 2026
120635f
Add chairman forcing-gadget figure
terrorproforma Jul 23, 2026
0bd10df
Add graphical abstract source
terrorproforma Jul 23, 2026
109a407
Add shared bibliography
terrorproforma Jul 23, 2026
e8cc9fb
Add SSUF counterexample manuscript
terrorproforma Jul 23, 2026
556f293
Add weighted-chairman counterexample manuscript
terrorproforma Jul 23, 2026
fc37e9c
Add illustrated research overview
terrorproforma Jul 23, 2026
1667aaf
Add reproducible verification and PDF build
terrorproforma Jul 23, 2026
be08917
Add AI-use and authorship disclosure
terrorproforma Jul 23, 2026
447e3f0
Add journal submission checklist
terrorproforma Jul 23, 2026
1a0e3ec
Ignore local paper build products
terrorproforma Jul 23, 2026
59164c3
Add exact verification and PDF build CI
terrorproforma Jul 23, 2026
96b5ced
Publish compiled PDFs on the review branch
terrorproforma Jul 23, 2026
8c7ef5a
Add compiled research PDFs [skip generated PDFs]
github-actions[bot] Jul 23, 2026
a0bb204
Add structured research search log
terrorproforma Jul 23, 2026
d31224c
Add compiled research PDFs [skip generated PDFs]
github-actions[bot] Jul 23, 2026
49b1616
Add verbatim visible conversation transcript
terrorproforma Jul 23, 2026
0dc19cb
Add compiled research PDFs [skip generated PDFs]
github-actions[bot] Jul 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 65 additions & 0 deletions .github/workflows/rounding-counterexamples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Verify rounding counterexample papers

on:
push:
branches:
- agent/rounding-counterexample-papers
paths:
- "2026-rounding-counterexamples/**"
- ".github/workflows/rounding-counterexamples.yml"
pull_request:
paths:
- "2026-rounding-counterexamples/**"
- ".github/workflows/rounding-counterexamples.yml"

permissions:
contents: write

jobs:
exact-certificates:
if: github.event_name != 'push' || !contains(github.event.head_commit.message, '[skip generated PDFs]')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Verify final certificates
working-directory: 2026-rounding-counterexamples
run: python3 code/verify_all.py
- name: Reconstruct parameter families
working-directory: 2026-rounding-counterexamples
run: make derive

build-pdfs:
if: github.event_name != 'push' || !contains(github.event.head_commit.message, '[skip generated PDFs]')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install TeX dependencies
run: |
sudo apt-get update
sudo apt-get install -y latexmk texlive-latex-extra texlive-fonts-recommended
- name: Compile all manuscripts
working-directory: 2026-rounding-counterexamples
run: make papers
- name: Upload compiled manuscripts
uses: actions/upload-artifact@v4
with:
name: rounding-counterexample-papers
path: 2026-rounding-counterexamples/build/*.pdf
if-no-files-found: error
- name: Commit compiled manuscripts to the review branch
if: github.event_name == 'push'
run: |
mkdir -p 2026-rounding-counterexamples/generated-pdfs
cp 2026-rounding-counterexamples/build/*.pdf 2026-rounding-counterexamples/generated-pdfs/
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add -f 2026-rounding-counterexamples/generated-pdfs/*.pdf
if git diff --cached --quiet; then
echo "Generated PDFs are unchanged."
else
git commit -m "Add compiled research PDFs [skip generated PDFs]"
git push origin HEAD:${GITHUB_REF_NAME}
fi
10 changes: 10 additions & 0 deletions 2026-rounding-counterexamples/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
build/
papers/*.aux
papers/*.bbl
papers/*.blg
papers/*.fdb_latexmk
papers/*.fls
papers/*.log
papers/*.out
papers/*.pdf
papers/*.synctex.gz
18 changes: 18 additions & 0 deletions 2026-rounding-counterexamples/AI_DISCLOSURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# AI-use and authorship disclosure

A generative AI system assisted with exploratory reasoning, algebraic checks, source-code drafting, exposition, LaTeX preparation, and repository organization.

The AI system is not an author. It cannot make an authorship declaration, warrant novelty, accept responsibility for errors, disclose conflicts of interest, transfer copyright, or respond to peer review. The eventual human authors must:

- independently verify every theorem and citation;
- establish priority and contact relevant researchers when appropriate;
- supply the legal author list, affiliations, acknowledgements, funding, and contribution statement;
- review all code and generated PDFs;
- comply with the target journal's current disclosure policy;
- take full responsibility for the submitted and published work.

Suggested disclosure language, subject to the target journal's rules:

> A generative AI system was used during exploratory problem solving and to assist with algebraic checking, code drafting, and language editing. The authors independently verified the mathematical arguments, computational certificates, citations, and final text, and take full responsibility for the work.

No confidential referee report, unpublished third-party manuscript, personal data, or proprietary dataset is included in this package.
38 changes: 38 additions & 0 deletions 2026-rounding-counterexamples/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
PYTHON ?= python3
LATEXMK ?= latexmk
BUILD := build
PAPER_DIR := papers
FIGURE_DIR := figures
PAPERS := dgg-counterexample chairman-counterexample overview

.PHONY: all verify derive papers clean

all: verify papers

verify:
$(PYTHON) code/verify_all.py

derive:
$(PYTHON) code/derive_dgg_family.py
$(PYTHON) code/derive_chairman_family.py

papers: $(PAPERS:%=$(BUILD)/%.pdf)

$(BUILD):
mkdir -p $(BUILD)

$(BUILD)/dgg-counterexample.pdf: $(PAPER_DIR)/dgg-counterexample.tex $(PAPER_DIR)/references.bib $(FIGURE_DIR)/dgg_network.tex $(FIGURE_DIR)/dgg_obstruction.tex | $(BUILD)
cd $(PAPER_DIR) && $(LATEXMK) -pdf -interaction=nonstopmode -halt-on-error dgg-counterexample.tex
cp $(PAPER_DIR)/dgg-counterexample.pdf $@

$(BUILD)/chairman-counterexample.pdf: $(PAPER_DIR)/chairman-counterexample.tex $(PAPER_DIR)/references.bib $(FIGURE_DIR)/chairman_gadget.tex | $(BUILD)
cd $(PAPER_DIR) && $(LATEXMK) -pdf -interaction=nonstopmode -halt-on-error chairman-counterexample.tex
cp $(PAPER_DIR)/chairman-counterexample.pdf $@

$(BUILD)/overview.pdf: $(PAPER_DIR)/overview.tex $(PAPER_DIR)/references.bib $(FIGURE_DIR)/graphical_abstract.tex $(FIGURE_DIR)/dgg_network.tex $(FIGURE_DIR)/chairman_gadget.tex | $(BUILD)
cd $(PAPER_DIR) && $(LATEXMK) -pdf -interaction=nonstopmode -halt-on-error overview.tex
cp $(PAPER_DIR)/overview.pdf $@

clean:
cd $(PAPER_DIR) && $(LATEXMK) -C dgg-counterexample.tex chairman-counterexample.tex overview.tex || true
rm -rf $(BUILD)
102 changes: 102 additions & 0 deletions 2026-rounding-counterexamples/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Counterexamples to two weighted-rounding conjectures

**Status:** research preprint and exact certificate package, prepared for independent review. The mathematical claims are explicit and finitely checkable; priority and novelty should still be checked by the eventual human authors and referees before public announcement.

This directory contains two self-contained results.

1. **A planar counterexample to Goemans' cost conjecture for single-source unsplittable flow.** The instance has seven vertices, nine arcs, three demands, exactly two paths per terminal, and exactly eight unsplittable routings. The fractional cost is `58`; every unsplittable routing satisfying the conjectured additive upper bound has cost at least `60`.
2. **A counterexample to the machine-dependent weighted-chairman conjecture of Liu and Reis.** The instance has 11 rows and 15 columns. A three-column forcing gadget is repeated five times, producing an exact prefix discrepancy of at least `619/600 > 1`.

## Fast verification

The verifiers use only the Python standard library and exact integer or rational arithmetic.

```bash
cd 2026-rounding-counterexamples
python3 code/verify_all.py
```

Expected final lines:

```text
DGG certificate verified: min good cost = 60 > fractional cost = 58
Chairman certificate verified: forced accumulator lower bound = 619/600 > 1
All exact certificates passed.
```

## Build the manuscripts

A TeX Live installation with `latexmk`, `pdflatex`, TikZ, `booktabs`, and `hyperref` is sufficient.

```bash
make papers
```

The expected PDFs are:

```text
build/dgg-counterexample.pdf
build/chairman-counterexample.pdf
build/overview.pdf
```

GitHub Actions runs the exact verifiers and compiles all three PDFs. The compiled PDFs are uploaded as workflow artifacts; generated binaries are deliberately not treated as source files.

## Directory map

```text
2026-rounding-counterexamples/
├── README.md
├── Makefile
├── AI_DISCLOSURE.md
├── SUBMISSION_CHECKLIST.md
├── code/
│ ├── verify_dgg.py
│ ├── verify_chairman.py
│ ├── verify_all.py
│ ├── derive_dgg_family.py
│ └── derive_chairman_family.py
├── data/
│ ├── dgg_instance.json
│ └── chairman_instance.json
├── figures/
│ ├── dgg_network.tex
│ ├── dgg_obstruction.tex
│ ├── chairman_gadget.tex
│ └── graphical_abstract.tex
├── papers/
│ ├── dgg-counterexample.tex
│ ├── chairman-counterexample.tex
│ ├── overview.tex
│ └── references.bib
└── research/
├── derivation-dgg.md
├── derivation-chairman.md
├── importance-and-history.md
├── provenance.md
└── validation-report.md
```

## Central certificates

For the flow instance, the three zero-cost path choices form a triangle conflict graph. If `z_i=1` denotes choosing the cheap path for terminal `i`, every capacity-good integral routing satisfies

```text
z_1 + z_2 + z_3 <= 1,
```

whereas the fractional cheap-path marginals are `(1/3, 2/5, 1/3)` and sum to `16/15`. The costs are the nonnegative separator of this violated stable-set inequality.

For the chairman instance, every hypothetical discrepancy-1 assignment is forced to make five specific decisions. Each decision contributes `5/24` to an accumulator row. Ten detector columns can offset the accumulator by at most `10/1000`, giving

```text
5*(5/24) - 10/1000 = 619/600 > 1.
```

## Scope of the record

The repository contains the complete final derivations, exact data, exact certificate verifiers, parametric-family reconstruction scripts, manuscript sources, figures, and build automation. Earlier exploratory searches were conducted interactively and were not all preserved as standalone programs; `research/provenance.md` distinguishes final reproducible code from ephemeral exploration.

## Authorship and submission

The manuscripts use `Anonymous for review`. Replace that placeholder with the legal author list, affiliations, acknowledgements, contribution statement, and corresponding-author details before submission. Do not list an AI system as an author. See `AI_DISCLOSURE.md` and `SUBMISSION_CHECKLIST.md`.
42 changes: 42 additions & 0 deletions 2026-rounding-counterexamples/SUBMISSION_CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Journal submission checklist

## Mathematical audit

- [ ] Two independent experts have checked the seven-vertex SSUF certificate.
- [ ] An expert has checked the exact wording and quantifiers of Goemans' conjecture against the cited sources.
- [ ] An expert has checked the chairman forcing proof, including assignments outside fractional support.
- [ ] `python3 code/verify_all.py` passes on a clean checkout.
- [ ] The GitHub Actions verification and PDF-build jobs are green.
- [ ] The parametric `9/8` planar lower-bound calculation has been independently checked.

## Priority and literature

- [ ] Repeat the literature search immediately before submission.
- [ ] Check arXiv, DBLP, MathSciNet, zbMATH, conference proceedings, and authors' webpages for overlapping results.
- [ ] Consider notifying the conjecture originators and the authors of the most recent positive results.
- [ ] Replace all `to our knowledge` claims with wording supported by the final search date.

## Authorship and ethics

- [ ] Replace `Anonymous for review` as required by the journal.
- [ ] Add affiliations, corresponding-author details, funding, acknowledgements, and contributions.
- [ ] Review `AI_DISCLOSURE.md` against the journal's current policy.
- [ ] Confirm that every human author has read and approved the final manuscript.
- [ ] Confirm that the title, abstract, and press language do not overstate peer-review status.

## Typesetting and artifacts

- [ ] Build all PDFs from a clean checkout with `make all`.
- [ ] Inspect every compiled page at readable resolution.
- [ ] Check that figure labels are legible in grayscale and at one-column width.
- [ ] Check references, DOIs, hyperlinks, theorem numbering, and equation cross-references.
- [ ] Remove build auxiliaries and verify that source archives contain everything needed.
- [ ] Select and apply an explicit code/data license approved by the authors.

## Recommended circulation order

1. Private mathematical audit.
2. Author-originator courtesy check where appropriate.
3. Preprint deposit with immutable versioned certificate.
4. Journal or conference submission.
5. Public announcement only after the authors are satisfied with priority and correctness.
55 changes: 55 additions & 0 deletions 2026-rounding-counterexamples/code/derive_chairman_family.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/usr/bin/env python3
"""Verify the parametric inequalities behind the chairman gadget."""

from __future__ import annotations

from fractions import Fraction


def main() -> None:
blocks = 5
p = Fraction(5, 24) # accumulator share in J
a = Fraction(1, 2) # A-row weight in K
q = Fraction(25, 48) # H-row share in L
eta = Fraction(1, 1000)

# Ignoring the small off-support penalty, these are the three forcing
# margins. They must all be positive.
margin_K_not_A = a / 2 - p
margin_L_to_H = 1 - p - a / 2 - q
margin_L_not_H = q - Fraction(1, 2)
accumulator_margin = blocks * p - 1

assert margin_K_not_A == Fraction(1, 24) > 0
assert margin_L_to_H == Fraction(1, 48) > 0
assert margin_L_not_H == Fraction(1, 48) > 0
assert accumulator_margin == Fraction(1, 24) > 0

# The first detector row can lose at most 12 eta before its block, while
# the second can lose at most 13 eta after a possible off-support J choice.
assert margin_K_not_A > 12 * eta
assert margin_L_to_H > 12 * eta
assert margin_L_not_H > 13 * eta
assert accumulator_margin > 2 * blocks * eta

detector = 1 + min(
margin_L_to_H - 12 * eta,
margin_L_not_H - 13 * eta,
)
accumulator = blocks * p - 2 * blocks * eta

assert detector == Fraction(6047, 6000) > 1
assert accumulator == Fraction(619, 600) > 1

print(f"p={p}, a={a}, q={q}, eta={eta}, blocks={blocks}")
print(
"forcing margins: "
f"K={margin_K_not_A}, L-to-H={margin_L_to_H}, "
f"L-not-to-H={margin_L_not_H}"
)
print(f"detector lower bound: {detector}")
print(f"accumulator lower bound: {accumulator}")


if __name__ == "__main__":
main()
Loading