Step-by-step derivation
S001 · implies
Before
source roles = [flow-conservation-audit]
After
derived = [[source, sink, edge_capacity_flow_rows, internal_balance_rows, conservation_feasible, first_failed_vertex_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 = [[s20, a20, t20, u20], [[s20, a20], [a20, s20], [a20, t20], [t20, a20]], [105, 105, 105, 105], [84, 42, 63, 21], s20, t20]
After
derived = [[a20, s20, t20, u20], [[[a20, s20], 105, 42], [[a20, t20], 105, 63], [[s20, a20], 105, 84], [[t20, a20], 105, 21]], 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, [a20, s20], 42, 105]
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, [a20, t20], 63, 105]
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, [s20, a20], 84, 105]
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, S004
S006 · implies
Before
source roles = [3, [t20, a20], 21, 105]
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 a20 := sum(84, 21)
After
Flow ALL incoming at vertex a20 = 105
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 a20 := sum(42, 63)
After
Flow ALL outgoing at vertex a20 = 105
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 = [a20, [2, 3], [0, 1]]
After
derived = [105, 105, 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, S008
S010 · calculation
Before
Flow ALL incoming at vertex s20 := sum(42)
After
Flow ALL incoming at vertex s20 = 42
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 s20 := sum(84)
After
Flow ALL outgoing at vertex s20 = 84
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 = [s20, [0], [2]]
After
derived = [42, 84, 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 t20 := sum(63)
After
Flow ALL incoming at vertex t20 = 63
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 t20 := sum(21)
After
Flow ALL outgoing at vertex t20 = 21
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 = [t20, [1], [3]]
After
derived = [63, 21, 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 u20 := sum()
After
Flow ALL incoming at vertex u20 = 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 u20 := sum()
After
Flow ALL outgoing at vertex u20 = 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 = [u20, [], []]
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(84, 42)
After
Flow source NET outflow not gross outgoing = 42
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(63, 21)
After
Flow sink NET inflow not gross incoming = 42
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 = [s20, t20, [[[a20, s20], 42, 105, Yes], [[a20, t20], 63, 105, Yes], [[s20, a20], 84, 105, Yes], [[t20, a20], 21, 105, Yes]], [[a20, 105, 105, Yes], [u20, 0, 0, Yes]], 42, 42]
After
derived = [Yes, Yes, Yes, Yes, 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
Result
(s20, t20, [[[a20, s20], 105, 42], [[a20, t20], 105, 63], [[s20, a20], 105, 84], [[t20, a20], 105, 21]], [[a20, 105, 105, Yes], [u20, 0, 0, Yes]], Yes, null, every_internal_vertex_requires_complete_inflow_equals_outflow)
The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.