OAI.WitnessedSeparation.Grid.QuotedGrid.selection_transitive: intermediate lemma from OpenAI, Witnessed symmetric choice is strictly stronger than choiceless polynomial time with counting
ProvedOAI.WitnessedSeparation.Grid.QuotedGrid.selection_transitiveAn intermediate lemma of the split of OpenAI's proof of OAI.WitnessedChoice.main, carved from OpenAI's openai/math development for this platform. The statement and its proof are OpenAI's (OpenAI, Witnessed symmetric choice is strictly stronger than choiceless polynomial time with counting, OpenAI Math Release, September 24, 2026, result family 243, github.com/openai/math, Apache License 2.0); in Lean it is the declaration OAI.WitnessedSeparation.Grid.QuotedGrid.selection_transitive of lean/OAI/Computability/WitnessedChoice/ChoiceSeparation.lean at commit adc7f12, ported to Lean 4.33.1 and Mathlib 0df444a.
The statement, as published (namespace OAI.WitnessedSeparation.Grid.QuotedGrid, with open Classical WitnessedChoice WitnessedChoice.BGS Hereditary RelationPools, open SourceProgram):
lemma selection_transitive (p : Polynomial ℝ) (hp : GridResources p b)
(α : Fin 4 → Vertex n) (hα : AnchoredTree.Resolving (boxGraph n) α)
(x : Finset (Σ e : Edge n, LocalGroup e))
(hoff : ∀ r ∈ x, r.1 ∉ (anchoredParents α).treeEdges) (hn : 1 ≤ n) :
(SourceProgram.program.body.selection (atomInput b) p
(tupleCode (List.ofFn (vertexCode b ∘ α)))).TransitiveAt (edgeState x)
Definitions. The statement is written with OAI.WitnessedChoice.tupleCode, OAI.WitnessedChoice.AnchoredTree.Resolving, OAI.WitnessedChoice.Selection.TransitiveAt, OAI.WitnessedSeparation.Grid.Atom, OAI.WitnessedSeparation.Grid.Edge, OAI.WitnessedSeparation.Grid.GridResources, OAI.WitnessedSeparation.Grid.LocalGroup, OAI.WitnessedSeparation.Grid.Scalar, OAI.WitnessedSeparation.Grid.Vertex, OAI.WitnessedSeparation.Grid.anchoredParents, OAI.WitnessedSeparation.Grid.anchoredTree, OAI.WitnessedSeparation.Grid.atomInput, OAI.WitnessedSeparation.Grid.boxGraph, OAI.WitnessedSeparation.Grid.edgeState, OAI.WitnessedSeparation.Grid.instFintypeAtom, OAI.WitnessedSeparation.Grid.vertexCode, OAI.WitnessedChoice.BGS.ClosedGuardedProgram, OAI.WitnessedChoice.BGS.GuardedProgram.selection, OAI.WitnessedChoice.BGS.SourceProgram.program and OAI.WitnessedSeparation.Grid.ParentEdges.treeEdges (definitions bundle OAIQ4Wc000 of this split); OAI.WitnessedSeparation.Hereditary.HF (the published bundle Def_WitnessedChoice).
Used by. The proofs of OAI.WitnessedSeparation.Grid.QuotedGrid.formula_value and OAI_WitnessedSeparation_Grid_QuotedGrid_terminal_output of this split import it.
import Mathlib import Definitions.Def_WitnessedChoice import Definitions.Def_OAIQ4Wc000
section
set_option linter.all false
set_option linter.unusedVariables false
set_option linter.unusedTactic false
set_option linter.unreachableTactic false
namespace OAI
section
namespace WitnessedSeparation.Grid
noncomputable section
open Classical WitnessedChoice WitnessedChoice.BGS Hereditary RelationPools
variable {n : ℕ} {b : Vertex n → Scalar}
namespace QuotedGrid
open SourceProgram
lemma selection_transitive (p : Polynomial ℝ) (hp : GridResources p b)
(α : Fin 4 → Vertex n) (hα : AnchoredTree.Resolving (boxGraph n) α)
(x : Finset (Σ e : Edge n, LocalGroup e))
(hoff : ∀ r ∈ x, r.1 ∉ (anchoredParents α).treeEdges) (hn : 1 ≤ n) :
(SourceProgram.program.body.selection (atomInput b) p
(tupleCode (List.ofFn (vertexCode b ∘ α)))).TransitiveAt (edgeState x) := by
sorry
end QuotedGrid
end
end WitnessedSeparation.Grid
end
end OAI
end