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, 1], [2, 3], [1, 2]]
After
deduplicated canonical indexed points=[[0, 0, 0], [1, 1, 1], [2, 1, 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 objective first term := mul(1, 0)
After
point0 objective first term = 0
Conditions: none
Use the same coordinate order in the objective.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
point0 objective second term := mul(2, 0)
After
point0 objective second term = 0
Conditions: none
Multiply the second objective coefficient by the second coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
point0 objective := sum(0, 0)
After
point0 objective = 0
Conditions: none
Sum the complete two products.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · 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, S005
S007 · 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, S006
S008 · 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, S007
S009 · 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, S008
S010 · 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, S009
S011 · 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, S010
S012 · 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, S011
S013 · 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, S012
S014 · 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, S013
S015 · 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, S014
S016 · 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, S015
S017 · implies
Before
row2: 0≤9
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, S016
S018 · calculation
Before
point1 objective first term := mul(1, 1)
After
point1 objective first term = 1
Conditions: none
Use the same coordinate order in the objective.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · calculation
Before
point1 objective second term := mul(2, 1)
After
point1 objective second term = 2
Conditions: none
Multiply the second objective coefficient by the second coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
point1 objective := sum(1, 2)
After
point1 objective = 3
Conditions: none
Sum the complete two products.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · 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, S020
S022 · calculation
Before
point1 row0 b·y := mul(0, 1)
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, S021
S023 · 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, S022
S024 · 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, S023
S025 · 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, S024
S026 · calculation
Before
point1 row1 b·y := mul(-1, 1)
After
point1 row1 b·y = -1
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S025
S027 · calculation
Before
point1 row1 LHS := sum(0, -1)
After
point1 row1 LHS = -1
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · implies
Before
row1: -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, S027
S029 · 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, S028
S030 · calculation
Before
point1 row2 b·y := mul(1, 1)
After
point1 row2 b·y = 1
Conditions: none
Compute the second coordinate in the same declared order.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S029
S031 · calculation
Before
point1 row2 LHS := sum(1, 1)
After
point1 row2 LHS = 2
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S030
S032 · implies
Before
row2: 2≤9
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, S031
S033 · calculation
Before
point2 objective first term := mul(1, 1)
After
point2 objective first term = 1
Conditions: none
Use the same coordinate order in the objective.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S032
S034 · calculation
Before
point2 objective second term := mul(2, 2)
After
point2 objective second term = 4
Conditions: none
Multiply the second objective coefficient by the second coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S033
S035 · calculation
Before
point2 objective := sum(1, 4)
After
point2 objective = 5
Conditions: none
Sum the complete two products.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S034
S036 · calculation
Before
point2 row0 a·x := mul(-1, 1)
After
point2 row0 a·x = -1
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S035
S037 · 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, S036
S038 · calculation
Before
point2 row0 LHS := sum(-1, 0)
After
point2 row0 LHS = -1
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S037
S039 · 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, S038
S040 · calculation
Before
point2 row1 a·x := mul(0, 1)
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, S039
S041 · 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, S040
S042 · 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, S041
S043 · 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, S042
S044 · calculation
Before
point2 row2 a·x := mul(1, 1)
After
point2 row2 a·x = 1
Conditions: none
Multiply the first coordinate by its row coefficient.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S043
S045 · 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, S044
S046 · calculation
Before
point2 row2 LHS := sum(1, 2)
After
point2 row2 LHS = 3
Conditions: none
Add before comparing the complete row inequality.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S045
S047 · implies
Before
row2: 3≤9
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, S046
S048 · calculation
Before
point3 objective first term := mul(1, 2)
After
point3 objective first term = 2
Conditions: none
Use the same coordinate order in the objective.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S047
S049 · calculation
Before
point3 objective second term := mul(2, 3)
After
point3 objective second term = 6
Conditions: none
Multiply the second objective coefficient by the second coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S048
S050 · calculation
Before
point3 objective := sum(2, 6)
After
point3 objective = 8
Conditions: none
Sum the complete two products.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S049
S051 · 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, S050
S052 · 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, S051
S053 · 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, S052
S054 · 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, S053
S055 · 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, S054
S056 · 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, S055
S057 · 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, S056
S058 · 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, S057
S059 · 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, S058
S060 · 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, S059
S061 · 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, S060
S062 · implies
Before
row2: 5≤9
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, S061
S063 · implies
Before
direction=min; feasible objective rows=[[0, 0, 0, [Yes, Yes, Yes], Yes, 0], [1, 1, 1, [Yes, Yes, Yes], Yes, 3], [2, 1, 2, [Yes, Yes, Yes], Yes, 5], [3, 2, 3, [Yes, Yes, Yes], Yes, 8]]
After
best among listed feasible points=0; all attaining indices=[0]
Conditions: none
Filter infeasible points before optimizing in the specified direction;retain every tied attaining index,not just the first.
Step identifiers and dependencies
Rule: finite_optimum_all_ties · Uses: G001, S062
S064 · 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, S063
Result
([[-1, 0, 0], [0, -1, 0], [1, 1, 9]], [1, 2], min, [[0, 0, 0, [Yes, Yes, Yes], Yes, 0], [1, 1, 1, [Yes, Yes, Yes], Yes, 3], [2, 1, 2, [Yes, Yes, Yes], Yes, 5], [3, 2, 3, [Yes, Yes, Yes], Yes, 8]], 0, [0])
The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.