Explore related knowledge and questions →

Question 24322: Every Edge Needs Zero Less Than or Equal to Flow Less Than or Equal to Capacity

On this page
  1. Original question and givens
  2. Definition and scope
  3. Step-by-step derivation
  4. Reverse checks
  5. Result
  6. This question review and source binding

Return to catalogue page 122

← Question derivation index · Original question batch

R0047-24322 · q-20261015-advance-20261113-r07-finite-flow-network-0047

Original question and givens

Use vertices=[s21, a21, t21, u21], ordered directed edges=[[s21, a21], [a21, s21], [a21, t21], [t21, a21]], distinct source=s21, sink=t21, aligned capacities=[110, 110, 110, 110] and candidate flows=[-22, 44, 66, 22]. Vertices/edges must qualify; capacities are nonnegative. Candidate flows are not assumed feasible. Zip each edge with its own capacity/flow before sorting; never sort those arrays independently. Opposite directions remain distinct; loops and duplicate ordered edges are forbidden. Give (source, sink, edge_capacity_flow_rows, capacity_rows, capacity_feasible, first_failed_edge_or_null, certificate).

  • G001 — Use vertices=[s21, a21, t21, u21], ordered directed edges=[[s21, a21], [a21, s21], [a21, t21], [t21, a21]], distinct source=s21, sink=t21, aligned capacities=[110, 110, 110, 110] and candidate flows=[-22, 44, 66, 22]. Vertices/edges must qualify; capacities are nonnegative. Candidate flows are not assumed feasible. Zip each edge with its own capacity/flow before sorting; never sort those arrays independently. Opposite directions remain distinct; loops and duplicate ordered edges are forbidden. Give (source, sink, edge_capacity_flow_rows, capacity_rows, capacity_feasible, first_failed_edge_or_null, certificate).

Definition and scope

Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate.

Step-by-step derivation

S001 · implies

Before

source roles = [flow-capacity-audit]

After

derived = [[source, sink, edge_capacity_flow_rows, capacity_rows, capacity_feasible, first_failed_edge_or_null, certificate]]

Conditions: none

List the source field order without JavaScript.Gradient boundary uses its original mode to choose6,8 or7 fields;no padding or answer-derived mode.

Step identifiers and dependencies

Rule: source_ordered_fields_without_JS · Uses: G001

S002 · implies

Before

source roles = [[s21, a21, t21, u21], [[s21, a21], [a21, s21], [a21, t21], [t21, a21]], [110, 110, 110, 110], [-22, 44, 66, 22], s21, t21]

After

derived = [[a21, s21, t21, u21], [[[a21, s21], 110, 44], [[a21, t21], 110, 66], [[s21, a21], 110, -22], [[t21, a21], 110, 22]], 2, Yes]

Conditions: none

Zip edge,capacity and flow by original index before source English canonical-edge sorting;vertices use UTF16.Opposite directions are distinct,zero capacity and isolated vertices are legal,and negative flow is retained for capacity failure rather than rewritten.

Step identifiers and dependencies

Rule: Flow_zip_source_edges_capacities_flows_BEFORE_order · Uses: G001, S001

S003 · implies

Before

source roles = [0, [a21, s21], 44, 110]

After

derived = [Yes, Yes, Yes]

Conditions: none

Every directed edge needs0<=flow<=capacity.A qualified network signature does not imply candidate-flow feasibility.

Step identifiers and dependencies

Rule: Flow_EACH_edge_two_sided_capacity_obligation · Uses: G001, S002

S004 · implies

Before

source roles = [1, [a21, t21], 66, 110]

After

derived = [Yes, Yes, Yes]

Conditions: none

Every directed edge needs0<=flow<=capacity.A qualified network signature does not imply candidate-flow feasibility.

Step identifiers and dependencies

Rule: Flow_EACH_edge_two_sided_capacity_obligation · Uses: G001, S003

S005 · implies

Before

source roles = [2, [s21, a21], -22, 110]

After

derived = [No, Yes, No]

Conditions: none

Every directed edge needs0<=flow<=capacity.A qualified network signature does not imply candidate-flow feasibility.

Step identifiers and dependencies

Rule: Flow_EACH_edge_two_sided_capacity_obligation · Uses: G001, S004

S006 · implies

Before

source roles = [3, [t21, a21], 22, 110]

After

derived = [Yes, Yes, Yes]

Conditions: none

Every directed edge needs0<=flow<=capacity.A qualified network signature does not imply candidate-flow feasibility.

Step identifiers and dependencies

Rule: Flow_EACH_edge_two_sided_capacity_obligation · Uses: G001, S005

S007 · calculation

Before

Flow ALL incoming at vertex a21 := sum(-22, 22)

After

Flow ALL incoming at vertex a21 = 0

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S006

S008 · calculation

Before

Flow ALL outgoing at vertex a21 := sum(44, 66)

After

Flow ALL outgoing at vertex a21 = 110

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S007

S009 · implies

Before

source roles = [a21, [2, 3], [0, 1]]

After

derived = [0, 110, No, Yes]

Conditions: none

Sum all incoming and outgoing edges separately;an isolated vertex has0=0.Conservation is required only internally,but compute source/sink balances too for net values.

Step identifiers and dependencies

Rule: Flow_EACH_vertex_complete_directional_incidence · Uses: G001, S008

S010 · calculation

Before

Flow ALL incoming at vertex s21 := sum(44)

After

Flow ALL incoming at vertex s21 = 44

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S009

S011 · calculation

Before

Flow ALL outgoing at vertex s21 := sum(-22)

After

Flow ALL outgoing at vertex s21 = -22

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S010

S012 · implies

Before

source roles = [s21, [0], [2]]

After

derived = [44, -22, No, No]

Conditions: none

Sum all incoming and outgoing edges separately;an isolated vertex has0=0.Conservation is required only internally,but compute source/sink balances too for net values.

Step identifiers and dependencies

Rule: Flow_EACH_vertex_complete_directional_incidence · Uses: G001, S011

S013 · calculation

Before

Flow ALL incoming at vertex t21 := sum(66)

After

Flow ALL incoming at vertex t21 = 66

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S012

S014 · calculation

Before

Flow ALL outgoing at vertex t21 := sum(22)

After

Flow ALL outgoing at vertex t21 = 22

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S013

S015 · implies

Before

source roles = [t21, [1], [3]]

After

derived = [66, 22, No, No]

Conditions: none

Sum all incoming and outgoing edges separately;an isolated vertex has0=0.Conservation is required only internally,but compute source/sink balances too for net values.

Step identifiers and dependencies

Rule: Flow_EACH_vertex_complete_directional_incidence · Uses: G001, S014

S016 · calculation

Before

Flow ALL incoming at vertex u21 := sum()

After

Flow ALL incoming at vertex u21 = 0

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S015

S017 · calculation

Before

Flow ALL outgoing at vertex u21 := sum()

After

Flow ALL outgoing at vertex u21 = 0

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S016

S018 · implies

Before

source roles = [u21, [], []]

After

derived = [0, 0, Yes, Yes]

Conditions: none

Sum all incoming and outgoing edges separately;an isolated vertex has0=0.Conservation is required only internally,but compute source/sink balances too for net values.

Step identifiers and dependencies

Rule: Flow_EACH_vertex_complete_directional_incidence · Uses: G001, S017

S019 · calculation

Before

Flow source NET outflow not gross outgoing := sub(-22, 44)

After

Flow source NET outflow not gross outgoing = -66

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S018

S020 · calculation

Before

Flow sink NET inflow not gross incoming := sub(66, 22)

After

Flow sink NET inflow not gross incoming = 44

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S019

S021 · implies

Before

source roles = [s21, t21, [[[a21, s21], 44, 110, Yes], [[a21, t21], 66, 110, Yes], [[s21, a21], -22, 110, No], [[t21, a21], 22, 110, Yes]], [[a21, 0, 110, No], [u21, 0, 0, Yes]], -66, 44]

After

derived = [No, No, No, No, No]

Conditions: none

Every edge cancels in the sum of all vertex balances,so internal conservation implies equal source/sink net values.The converse fails when internal imbalances cancel.Capacity,each balance and net equality remain separate.Feasibility does not certify maximum/min-cut;No does not deny special optimal examples.

Step identifiers and dependencies

Rule: Flow_value_capacity_conservation_and_maximum_separate · Uses: G001, S020

Reverse checks

  • S021 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S020 · premise_and_result_audit — Recompute Flow sink NET inflow not gross incoming with exact rational arithmetic, not rounded decimals.
  • S019 · premise_and_result_audit — Recompute Flow source NET outflow not gross outgoing with exact rational arithmetic, not rounded decimals.
  • S018 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S017 · premise_and_result_audit — Recompute Flow ALL outgoing at vertex u21 with exact rational arithmetic, not rounded decimals.
  • S016 · premise_and_result_audit — Recompute Flow ALL incoming at vertex u21 with exact rational arithmetic, not rounded decimals.
  • S015 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S014 · premise_and_result_audit — Recompute Flow ALL outgoing at vertex t21 with exact rational arithmetic, not rounded decimals.
  • S013 · premise_and_result_audit — Recompute Flow ALL incoming at vertex t21 with exact rational arithmetic, not rounded decimals.
  • S012 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S011 · premise_and_result_audit — Recompute Flow ALL outgoing at vertex s21 with exact rational arithmetic, not rounded decimals.
  • S010 · premise_and_result_audit — Recompute Flow ALL incoming at vertex s21 with exact rational arithmetic, not rounded decimals.
  • S009 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S008 · premise_and_result_audit — Recompute Flow ALL outgoing at vertex a21 with exact rational arithmetic, not rounded decimals.
  • S007 · premise_and_result_audit — Recompute Flow ALL incoming at vertex a21 with exact rational arithmetic, not rounded decimals.
  • S006 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S005 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S004 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S003 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S002 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S001 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.

Result

(s21, t21, [[[a21, s21], 110, 44], [[a21, t21], 110, 66], [[s21, a21], 110, -22], [[t21, a21], 110, 22]], [[[a21, s21], 44, 110, Yes], [[a21, t21], 66, 110, Yes], [[s21, a21], -22, 110, No], [[t21, a21], 22, 110, Yes]], No, [[s21, a21], -22, 110, No], every_edge_requires_zero_less_equal_flow_less_equal_capacity)

The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.

This question review and source binding

Review date: 2026-10-26

Original questions, answers, step expressions, numeric ASTs and historical records are retained. Source candidate labels remain historical and are not overwritten as formal proof.

Source hashes and review receipts
  • input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
  • original question SHA-256: f1034492af45d5136ce06bf6fe4d6ce87b5adc7bb6fd0b3f2d1af9d69413999b
  • candidate record SHA-256: 390c6dc0ba47c4fb071993ca98661d46a331a7dce1c5a772669f80bc5a1ded47
  • semantic review receipt SHA-256: 9b43b9823e9bd2478d6caa5b57ffed161c2c8956af86974e901d5662ad994386
  • question-first witness SHA-256: eb97596068e2d5648033bab2b8f6ca9b653bbe8cb77c0f8e1d16d0c40e46f50b
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON