Step-by-step derivation
S001 · implies
Before
explicit finite candidate grid and linear rows a·x+b·y≤c
After
keep candidate-grid optimization separate from continuous LP
Conditions: none
Audit only the listed finite candidates;without a complete-vertex or full-feasible-domain certificate,this is not a general continuous-LP optimum claim.
Step identifiers and dependencies
Rule: finite_LP_scope · Uses: G001
S002 · implies
Before
[[0, 0], [1, 0], [2, 3], [2, 2]]
After
deduplicated canonical indexed points=[[0, 0, 0], [1, 1, 0], [2, 2, 2], [3, 2, 3]]
Conditions: none
Keep the original data;output indices follow the source contract's sorted distinct points,not original input positions.
Step identifiers and dependencies
Rule: candidate_index_normalization · Uses: G001, S001
S003 · calculation
Before
point0 row0 a·x := mul(-1, 0)
After
point0 row0 a·x = 0
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
point0 row0 b·y := mul(0, 0)
After
point0 row0 b·y = 0
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
point0 row0 LHS := sum(0, 0)
After
point0 row0 LHS = 0
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · implies
Before
row0: 0≤0
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S005
S007 · calculation
Before
point0 row1 a·x := mul(0, 0)
After
point0 row1 a·x = 0
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · calculation
Before
point0 row1 b·y := mul(-1, 0)
After
point0 row1 b·y = 0
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · calculation
Before
point0 row1 LHS := sum(0, 0)
After
point0 row1 LHS = 0
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · implies
Before
row1: 0≤0
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S009
S011 · calculation
Before
point0 row2 a·x := mul(1, 0)
After
point0 row2 a·x = 0
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
point0 row2 b·y := mul(1, 0)
After
point0 row2 b·y = 0
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
point0 row2 LHS := sum(0, 0)
After
point0 row2 LHS = 0
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · implies
Before
row2: 0≤4
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S013
S015 · calculation
Before
point1 row0 a·x := mul(-1, 1)
After
point1 row0 a·x = -1
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
point1 row0 b·y := mul(0, 0)
After
point1 row0 b·y = 0
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · calculation
Before
point1 row0 LHS := sum(-1, 0)
After
point1 row0 LHS = -1
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · implies
Before
row0: -1≤0
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S017
S019 · calculation
Before
point1 row1 a·x := mul(0, 1)
After
point1 row1 a·x = 0
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
point1 row1 b·y := mul(-1, 0)
After
point1 row1 b·y = 0
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · calculation
Before
point1 row1 LHS := sum(0, 0)
After
point1 row1 LHS = 0
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · implies
Before
row1: 0≤0
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S021
S023 · calculation
Before
point1 row2 a·x := mul(1, 1)
After
point1 row2 a·x = 1
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · calculation
Before
point1 row2 b·y := mul(1, 0)
After
point1 row2 b·y = 0
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S023
S025 · calculation
Before
point1 row2 LHS := sum(1, 0)
After
point1 row2 LHS = 1
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · implies
Before
row2: 1≤4
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S025
S027 · calculation
Before
point2 row0 a·x := mul(-1, 2)
After
point2 row0 a·x = -2
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · calculation
Before
point2 row0 b·y := mul(0, 2)
After
point2 row0 b·y = 0
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S027
S029 · calculation
Before
point2 row0 LHS := sum(-2, 0)
After
point2 row0 LHS = -2
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S028
S030 · implies
Before
row0: -2≤0
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S029
S031 · calculation
Before
point2 row1 a·x := mul(0, 2)
After
point2 row1 a·x = 0
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S030
S032 · calculation
Before
point2 row1 b·y := mul(-1, 2)
After
point2 row1 b·y = -2
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S031
S033 · calculation
Before
point2 row1 LHS := sum(0, -2)
After
point2 row1 LHS = -2
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S032
S034 · implies
Before
row1: -2≤0
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S033
S035 · calculation
Before
point2 row2 a·x := mul(1, 2)
After
point2 row2 a·x = 2
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S034
S036 · calculation
Before
point2 row2 b·y := mul(1, 2)
After
point2 row2 b·y = 2
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S035
S037 · calculation
Before
point2 row2 LHS := sum(2, 2)
After
point2 row2 LHS = 4
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S036
S038 · implies
Before
row2: 4≤4
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S037
S039 · calculation
Before
point3 row0 a·x := mul(-1, 2)
After
point3 row0 a·x = -2
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S038
S040 · calculation
Before
point3 row0 b·y := mul(0, 3)
After
point3 row0 b·y = 0
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S039
S041 · calculation
Before
point3 row0 LHS := sum(-2, 0)
After
point3 row0 LHS = -2
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S040
S042 · implies
Before
row0: -2≤0
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S041
S043 · calculation
Before
point3 row1 a·x := mul(0, 2)
After
point3 row1 a·x = 0
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S042
S044 · calculation
Before
point3 row1 b·y := mul(-1, 3)
After
point3 row1 b·y = -3
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S043
S045 · calculation
Before
point3 row1 LHS := sum(0, -3)
After
point3 row1 LHS = -3
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S044
S046 · implies
Before
row1: -3≤0
After
satisfied=Yes
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S045
S047 · calculation
Before
point3 row2 a·x := mul(1, 2)
After
point3 row2 a·x = 2
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S046
S048 · calculation
Before
point3 row2 b·y := mul(1, 3)
After
point3 row2 b·y = 3
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S047
S049 · calculation
Before
point3 row2 LHS := sum(2, 3)
After
point3 row2 LHS = 5
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S048
S050 · implies
Before
row2: 5≤4
After
satisfied=No
Conditions: none
Equality is allowed and negative coefficients remain in the products;do not arbitrarily reverse the inequality.
Step identifiers and dependencies
Rule: inclusive_constraint · Uses: G001, S049
S051 · implies
Before
[[0, 0, 0, [Yes, Yes, Yes], Yes, null], [1, 1, 0, [Yes, Yes, Yes], Yes, null], [2, 2, 2, [Yes, Yes, Yes], Yes, null], [3, 2, 3, [Yes, Yes, No], No, null]]
After
all feasible listed indices=[0, 1, 2]
Conditions: none
Scan every listed point and retain every feasible one;they need not all be optimal.
Step identifiers and dependencies
Rule: feasible_candidate_inventory · Uses: G001, S050
S052 · implies
Before
finite candidates have been completely audited
After
no unlisted-point or general-LP optimality claim
Conditions: none
A best value in the finite list does not exclude a better unlisted feasible point;script PASS does not lift this boundary.
Step identifiers and dependencies
Rule: finite_grid_boundary · Uses: G001, S051
Result
([[-1, 0, 0], [0, -1, 0], [1, 1, 4]], [[0, 0, 0, [Yes, Yes, Yes], Yes, null], [1, 1, 0, [Yes, Yes, Yes], Yes, null], [2, 2, 2, [Yes, Yes, Yes], Yes, null], [3, 2, 3, [Yes, Yes, No], No, null]], [0, 1, 2])
The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.