A Set of Jobs Is Feasible Exactly When It Satisfies Both Conditions

Lax496464.Feasibility · concepts/Lax496464/Feasibility.lean · lax-496464

proven

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Natural Language Statement

    Theorem

    A set ZZ of jobs can be completed just in time if and only if it satisfies Condition 1 and Condition 2. The two stages therefore decouple: the first-stage machine and the second-stage machines constrain ZZ separately, and any pair of schedules meeting the two conditions can be combined into one schedule of the shop.

    Condition 2 is in turn a depth condition: ZZ fits on mm second-stage machines exactly when at most mm of its jobs are running at any one instant. One direction is immediate, since jobs running at a common instant pairwise conflict; the other is the perfectness of interval graphs.

    Concept map
    3 concepts
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A
    Evidence

    This concept declares 3 statements. Each proof establishes one of them relative to its assumptions.

    1 feasible_iff proven

    2 feasible_iff_conditions proven

    3 mSchedulable_iff_card_running_le proven

    In the paper

    • page 2 of this submission's paper

    Lean source view on GitHub

    1import Lax496464.Conditions
    2
    3/-!
    4---
    5title: A Set of Jobs Is Feasible Exactly When It Satisfies Both Conditions
    6type: theorem
    7---
    8A set ZZ of jobs can be completed just in time if and only if it satisfies Condition 1
    9and Condition 2. The two stages therefore decouple: the first-stage machine and the
    10second-stage machines constrain ZZ separately, and any pair of schedules meeting the two
    11conditions can be combined into one schedule of the shop.
    12
    13Condition 2 is in turn a *depth* condition: ZZ fits on mm second-stage machines exactly
    14when at most mm of its jobs are running at any one instant. One direction is immediate,
    15since jobs running at a common instant pairwise conflict; the other is the perfectness of
    16interval graphs.
    17
    18# Formalization Notes
    19
    20The characterization is what every algorithm of the paper runs on, so it is stated about
    21the schedule itself rather than assumed. `Feasible` unfolds to the existence of a
    22`JITSchedule`, a piece of data with five conditions; the theorem is what licenses
    23replacing it by the two conditions on the set.
    24
    25The depth condition is used throughout the paper and proved nowhere in it. It is not an
    26immediate consequence of the partition formulation: the content is that greedily
    27colouring the jobs in order of their start times never needs more colours than the
    28largest number of jobs alive at one instant. It is stated here because the algorithms of
    29Sections 4, 5 and 6 index their tables by the jobs alive at an instant, and that index is
    30only the right one because of this equivalence.
    31
    32The depth statement carries the hypothesis that the processing times of ZZ are positive.
    33It is not cosmetic. A job with qj=0q_j = 0 has an empty interval, is therefore running at no
    34instant at all, and conflicts with nothing; it is invisible to the left-hand side of the
    35equivalence, while the right-hand side still has to give it a machine — which is possible
    36only if there is one. The paper assumes positive processing times throughout.
    37
    38Decidability of feasibility is recorded as a separate statement, in the form the paper's
    39Observation 2 needs: it is enough to test the counting condition at the start times of
    40the selected jobs, of which there are at most nn.
    41-/
    42
    43namespace Lax496464.Feasibility
    44
    45open Lax496464.FlowShop Lax496464.FlowShop.Instance Lax496464.Conditions
    46
    47/-- **Section 2.** A set of jobs is feasible exactly when it can be preprocessed in time
    48and can be scheduled on the `m` second-stage machines. -/
    49axiom feasible_iff (I : Instance) (Z : Finset I.Job) :
    50 Feasible I Z ↔ Preprocessable I Z ∧ MSchedulable I Z
    51
    52/-- **Condition 2 is a depth condition.** A set of jobs with positive processing times
    53fits on the `m` second-stage machines exactly when at most `m` of them are running at any
    54one instant. -/
    55axiom mSchedulable_iff_card_running_le (I : Instance) {Z : Finset I.Job}
    56 (hq : ∀ j ∈ Z, 0 < I.q j) :
    57 MSchedulable I Z ↔ ∀ t : ℤ, (running I Z t).card ≤ I.machines
    58
    59/-- **Observation 2.** Feasibility is decided by Condition 1 together with a count, at
    60the start time of each selected job, of the selected jobs running then. -/
    61axiom feasible_iff_conditions (I : Instance) {Z : Finset I.Job}
    62 (hq : ∀ j ∈ Z, 0 < I.q j) :
    63 Feasible I Z ↔
    64 Preprocessable I Z ∧ ∀ j ∈ Z, (running I Z (s j)).card ≤ I.machines
    65
    66end Lax496464.Feasibility
    67
    Show ProofShow ProofShow Proof
    Formalization Notes

    The characterization is what every algorithm of the paper runs on, so it is stated about the schedule itself rather than assumed. FeasibleFeasible unfolds to the existence of a JITScheduleJITSchedule, a piece of data with five conditions; the theorem is what licenses replacing it by the two conditions on the set.

    The depth condition is used throughout the paper and proved nowhere in it. It is not an immediate consequence of the partition formulation: the content is that greedily colouring the jobs in order of their start times never needs more colours than the largest number of jobs alive at one instant. It is stated here because the algorithms of Sections 4, 5 and 6 index their tables by the jobs alive at an instant, and that index is only the right one because of this equivalence.

    The depth statement carries the hypothesis that the processing times of ZZ are positive. It is not cosmetic. A job with qj=0q_j = 0 has an empty interval, is therefore running at no instant at all, and conflicts with nothing; it is invisible to the left-hand side of the equivalence, while the right-hand side still has to give it a machine — which is possible only if there is one. The paper assumes positive processing times throughout.

    Decidability of feasibility is recorded as a separate statement, in the form the paper's Observation 2 needs: it is enough to test the counting condition at the start times of the selected jobs, of which there are at most nn.

    Builds on
    Used by

    none

    From Mathlib

    none

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…