Theorem 3
Lax496464.Theorem3 · concepts/Lax496464/Theorem3.lean · lax-496464
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Two further programs, each fast when one quantity of the instance is small.
The endpoint sweep of Section 4 carries a subset of the jobs alive at the current instant, and so runs in time, where is the largest number of jobs alive at one instant.
The profile sweep of Section 5 carries, instead of that subset, only how many of its jobs are due at each of the next instants, and so runs in time.
Neither bound involves the number of machines in the exponent, so both are useful precisely where the program of the second theorem is not.
Concept map
Evidence
In the paper
- page 6 of this submission's paper
Lean source view on GitHub
| 1 | import Lax496464.Problems |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Theorem 3 |
| 6 | type: theorem |
| 7 | --- |
| 8 | Two further programs, each fast when one quantity of the instance is small. |
| 9 | |
| 10 | The endpoint sweep of Section 4 carries a subset of the jobs alive at the current |
| 11 | instant, and so runs in time, where is the |
| 12 | largest number of jobs alive at one instant. |
| 13 | |
| 14 | The profile sweep of Section 5 carries, instead of that subset, only how many of its jobs |
| 15 | are due at each of the next instants, and so runs in |
| 16 | time. |
| 17 | |
| 18 | Neither bound involves the number of machines in the exponent, so both are useful |
| 19 | precisely where the program of the second theorem is not. |
| 20 | |
| 21 | # Formalization Notes |
| 22 | |
| 23 | Two statements, one per program, each with its own fitting condition for its own table, |
| 24 | and each restricted to no slice: both programs decide the problem on every instance, and |
| 25 | what changes from one to the other is only the bound. |
| 26 | |
| 27 | The width and the largest processing time are functions of the word. |
| 28 | No claim is made that a program computes them — neither program needs to, since neither |
| 29 | allocates a table indexed by them in advance — but a running time stated in terms of a |
| 30 | quantity that was not a function of the input would not be a statement about a program at |
| 31 | all. |
| 32 | |
| 33 | The second bound is written with rather than in the base, and both with |
| 34 | rather than , for the reason the second theorem gives: at the extremes the bare |
| 35 | product collapses to zero and no program answers in no instructions. The forms agree up |
| 36 | to the constant as soon as there is a job and a machine. |
| 37 | |
| 38 | The sweep of Section 4 assumes the endpoints distinct, which the rescaling of the same |
| 39 | section supplies; that is a step of the proof and not a hypothesis of the claim, since |
| 40 | the rescaling is computed by the program itself. |
| 41 | |
| 42 | The domain also asks that every processing time be positive, . This is the paper's |
| 43 | standing assumption for the recursions behind the algorithms — a job with has an |
| 44 | empty second operation, and the characterization of the feasible sets, on which everything |
| 45 | rests, is stated for jobs that have a genuine one — but the paper does not repeat it in each |
| 46 | claim, and a statement about a program that reads an arbitrary word has to. |
| 47 | -/ |
| 48 | |
| 49 | namespace Lax496464.Theorem3 |
| 50 | |
| 51 | open Lax496464.WordEncoding Lax496464.Problems Lax496464.ParameterizedComplexity |
| 52 | open Lax808846.Ram Lax808846.RamComputes |
| 53 | |
| 54 | open Classical in |
| 55 | /-- **Theorem 3, the endpoint sweep.** The problem is decided within |
| 56 | `c · (W+1) · 2^ω · (n+1)` instructions, plus the cost of sorting. -/ |
| 57 | axiom theorem3_width_time : |
| 58 | ∃ (prog : Program) (c : ℕ), ∀ w : ℕ, |
| 59 | ComputesInTime w prog |
| 60 | {x | x ∈ DecisionInstances ∧ Fits c w x ∧ |
| 61 | c * (threshold x + 1) * 2 ^ widthOf x * (jobCount x + 1) ≤ 2 ^ w ∧ |
| 62 | (∀ j < jobCount x, 0 < procTime x j)} |
| 63 | (fun x => if Yes x then [1] else [0]) |
| 64 | (fun x => c * (threshold x + 1) * 2 ^ widthOf x * (jobCount x + 1) + |
| 65 | c * sortCost x) |
| 66 | |
| 67 | open Classical in |
| 68 | /-- **Theorem 3, the profile sweep.** The problem is decided within |
| 69 | `c · (W+1) · (m+1)^q_max · (n+1)` instructions, plus the cost of sorting. -/ |
| 70 | axiom theorem3_qmax_time : |
| 71 | ∃ (prog : Program) (c : ℕ), ∀ w : ℕ, |
| 72 | ComputesInTime w prog |
| 73 | {x | x ∈ DecisionInstances ∧ Fits c w x ∧ |
| 74 | c * (threshold x + 1) * (machineCount x + 1) ^ qmaxOf x * (jobCount x + 1) |
| 75 | ≤ 2 ^ w ∧ (∀ j < jobCount x, 0 < procTime x j)} |
| 76 | (fun x => if Yes x then [1] else [0]) |
| 77 | (fun x => c * (threshold x + 1) * (machineCount x + 1) ^ qmaxOf x * |
| 78 | (jobCount x + 1) + c * sortCost x) |
| 79 | |
| 80 | end Lax496464.Theorem3 |
| 81 |
Formalization Notes
Two statements, one per program, each with its own fitting condition for its own table, and each restricted to no slice: both programs decide the problem on every instance, and what changes from one to the other is only the bound.
The width and the largest processing time are functions of the word. No claim is made that a program computes them — neither program needs to, since neither allocates a table indexed by them in advance — but a running time stated in terms of a quantity that was not a function of the input would not be a statement about a program at all.
The second bound is written with rather than in the base, and both with rather than , for the reason the second theorem gives: at the extremes the bare product collapses to zero and no program answers in no instructions. The forms agree up to the constant as soon as there is a job and a machine.
The sweep of Section 4 assumes the endpoints distinct, which the rescaling of the same section supplies; that is a step of the proof and not a hypothesis of the claim, since the rescaling is computed by the program itself.
The domain also asks that every processing time be positive, . This is the paper's standing assumption for the recursions behind the algorithms — a job with has an empty second operation, and the characterization of the feasible sets, on which everything rests, is stated for jobs that have a genuine one — but the paper does not repeat it in each claim, and a statement about a program that reads an arbitrary word has to.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments