OAI/Combinatorics/ContingencyTables/Counting/CountingBranchMachine.lean
8 declarations, 0 contain sorry, 0 declared as axioms
Public-machine output guarantees for the counting dispatcher
- def
OAI.ContingencyTables.CountingBranchProgram.machineline 15 - def
OAI.ContingencyTables.CountingBranchProgram.machineTimeline 17 - def
OAI.ContingencyTables.CountingBranchProgram.sourceValueline 20 - lemma
OAI.ContingencyTables.CountingBranchProgram.sourceValue_nonnegativeline 23 - lemma
OAI.ContingencyTables.CountingBranchProgram.sourceValue_outputline 26 - theorem
OAI.ContingencyTables.CountingBranchProgram.outputs_nonnegativeline 34Source documentation
Every random tape halts with a nonnegative rational, including on statistically unsuccessful histories of the positive-label branch.
theorem outputs_nonnegative (r : Fin m→ℕ) (c : Fin n→ℕ) (b : Fin m→Fin n→ℕ) (epsilon delta : ℚ) (t : ℕ) (ht : machineTime positive F width N (Algorithms.encodeCountingInput r c b epsilon delta) ≤ t) : ∀ bits : Bits t, ∃ q : ℚ, 0 ≤ q ∧ Outputs (machine positive F width N) (Algorithms.encodeCountingInput r c b epsilon delta) bits q := by …Mentions: OAI.ContingencyTables.CountingBranchProgram.machineTime, OAI.ContingencyTables.Algorithms.encodeCountingInput, OAI.ContingencyTables.CountingBranchProgram.machine
- lemma
OAI.ContingencyTables.CountingBranchProgram.sourceValue_zeroline 50 - theorem
OAI.ContingencyTables.CountingBranchProgram.outputs_zeroline 61Source documentation
Exact zero output follows from the executed feasibility test.
theorem outputs_zero (hEK : PublishedEdmondsKarp.EdmondsKarp1972Theorem1) (r : Fin m→ℕ) (c : Fin n→ℕ) (b : Fin m→Fin n→ℕ) (epsilon delta : ℚ) (hz : Algorithms.count r c b=0) (t : ℕ) (ht : machineTime positive F width N (Algorithms.encodeCountingInput r c b epsilon delta) ≤ t) : ∀ bits : Bits t, Outputs (machine positive F width N) (Algorithms.encodeCountingInput r c b epsilon delta) bits 0 := by …Mentions: OAI.ContingencyTables.PublishedEdmondsKarp.EdmondsKarp1972Theorem1, OAI.ContingencyTables.Algorithms.count, OAI.ContingencyTables.CountingBranchProgram.machineTime, OAI.ContingencyTables.Algorithms.encodeCountingInput, OAI.ContingencyTables.CountingBranchProgram.machine