OAI/Combinatorics/ContingencyTables/Rooted/ForestGreedySemantics.lean
17 declarations, 0 contain sorry, 0 declared as axioms
Correctness of the actual binary forest loop
The invariant refers to the adjacency list produced by the program. The final graph is decoded directly from that list. Optimal forests occur only as proof witnesses for the safe-edge invariant.
- def
OAI.ContingencyTables.ForestGreedySemantics.Catalogline 23Source documentation
Every stored edge is valid, and every graph edge is stored in at least one orientation with its exact capacity.
def Catalog (G : SimpleGraph (Fin n)) (b : Sym2 (Fin n)→ℕ) (es : List Edge) : Prop := …
- lemma
OAI.ContingencyTables.ForestGreedySemantics.chosen_specline 28 - lemma
OAI.ContingencyTables.ForestGreedySemantics.none_specline 42 - def
OAI.ContingencyTables.ForestGreedySemantics.iterateline 55 - lemma
OAI.ContingencyTables.ForestGreedySemantics.fold_eq_iterateline 59 - lemma
OAI.ContingencyTables.ForestGreedySemantics.execute_iterateline 65 - lemma
OAI.ContingencyTables.ForestGreedySemantics.advance_noneline 68 - lemma
OAI.ContingencyTables.ForestGreedySemantics.iterate_noneline 71 - lemma
OAI.ContingencyTables.ForestGreedySemantics.advance_codeline 76 - def
OAI.ContingencyTables.ForestGreedySemantics.edgeCountline 84 - lemma
OAI.ContingencyTables.ForestGreedySemantics.edgeCount_leline 86 - lemma
OAI.ContingencyTables.ForestGreedySemantics.card_addline 89 - theorem
OAI.ContingencyTables.ForestGreedySemantics.iterate_optimalline 101Source documentation
A fuel count at least the number of missing unordered edges suffices for the executed loop, without any tie-breaking assumption.
theorem iterate_optimal (G T : SimpleGraph (Fin n)) (b : Sym2 (Fin n)→ℕ) (es : List Edge) (hC : Catalog G b es) (hb : ∀ e∈G.edgeSet,0<b e) (hT : Extendible G T b) (k : ℕ) (hbudget : Fintype.card (Sym2 (Fin n))≤edgeCount T+k) : ∃ F : SimpleGraph (Fin n),iterate k (graphCode T,es)=(graphCode F,es) ∧ F≤G ∧ F.IsAcyclic ∧ ∀ H : SimpleGraph (Fin n),H≤G → H.IsAcyclic → weight H b≤weight F b := by …Mentions: OAI.ContingencyTables.ForestGreedySemantics.Catalog, OAI.ContingencyTables.ForestGreedySemantics.edgeCount, OAI.ContingencyTables.ForestGreedySemantics.iterate
- def
OAI.ContingencyTables.ForestGreedySemantics.decodedline 132 - lemma
OAI.ContingencyTables.ForestGreedySemantics.decoded_graphCodeline 137 - lemma
OAI.ContingencyTables.ForestGreedySemantics.unordered_pair_budgetline 146 - theorem
OAI.ContingencyTables.ForestGreedySemantics.execute_optimalline 155Source documentation
The graph is decoded from the literal result list, not selected from an existence proof.
theorem execute_optimal (G T : SimpleGraph (Fin n)) (b : Sym2 (Fin n)→ℕ) (es : List Edge) (hC : Catalog G b es) (hb : ∀ e∈G.edgeSet,0<b e) (hT : Extendible G T b) : let F := decoded (execute (graphCode T,es)).1 …Mentions: OAI.ContingencyTables.ForestGreedySemantics.Catalog, OAI.ContingencyTables.ForestGreedySemantics.decoded