Step-by-step derivation
S001 · implies
Before
source roles = [qf-quadratic-root-verification, [a, b, c, domain, operation, p, q]]
After
derived = [root_verification, reals]
Conditions: none
Separate source banks:legacy RAW SAFE with unbounded derived BigInts versus BASE Number.isInteger without invented SAFE/million caps.Operations,domains and permissive/exact keys follow THIS bank.Keep ORIGINAL JSON intact.
Step identifiers and dependencies
Rule: R68_BANK_specific_keys_operations_and_numeric_guards · Uses: G001
S002 · implies
Before
source roles = [2, 8, 6, -3, 1]
After
derived = [-3/1, Yes]
Conditions: none
FIRST qualify a≠0 and an ALREADY reduced candidate with POSITIVE denominator.Zero can only be0/1.This task checks THIS candidate;No is legal and does not require a nonnegative or square discriminant.
Step identifiers and dependencies
Rule: Quadratic_ROOT_candidate_ALREADY_reduced_positive_DEN · Uses: G001, S001
S003 · calculation
Before
Root verification SOURCE unused discriminant b squared := mul(8, 8)
After
Root verification SOURCE unused discriminant b squared = 64
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
Root verification SOURCE discriminant ORIGINAL a times c := mul(2, 6)
After
Root verification SOURCE discriminant ORIGINAL a times c = 12
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
Root verification SOURCE unused discriminant four a c := mul(4, 12)
After
Root verification SOURCE unused discriminant four a c = 48
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
Root verification SOURCE unused signed discriminant := sub(64, 48)
After
Root verification SOURCE unused signed discriminant = 16
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · calculation
Before
Root verification ORIGINAL candidate numerator squared := mul(-3, -3)
After
Root verification ORIGINAL candidate numerator squared = 9
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · calculation
Before
Root verification ORIGINAL candidate denominator squared := mul(1, 1)
After
Root verification ORIGINAL candidate denominator squared = 1
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · calculation
Before
Root verification ORIGINAL a times numerator squared := mul(2, 9)
After
Root verification ORIGINAL a times numerator squared = 18
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · calculation
Before
Root verification ORIGINAL b times candidate numerator := mul(8, -3)
After
Root verification ORIGINAL b times candidate numerator = -24
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · calculation
Before
Root verification ORIGINAL b numerator denominator := mul(-24, 1)
After
Root verification ORIGINAL b numerator denominator = -24
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
Root verification ORIGINAL c times denominator squared := mul(6, 1)
After
Root verification ORIGINAL c times denominator squared = 6
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
Root verification ORIGINAL all denominator-cleared terms := sum(18, -24, 6)
After
Root verification ORIGINAL all denominator-cleared terms = 0
Conditions: none
Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · implies
Before
source roles = [2, 8, 6, -3, 1, 16]
After
derived = [0, Yes]
Conditions: none
Substitute x=p/q into the ORIGINAL equation and multiply by NONZERO q².This is equivalent to a*p²+b*p*q+c*q²=0.Retain ALL three terms,including zeros.The SOURCE computes D but this family does not gate its sign/squareness or infer the complete root set.
Step identifiers and dependencies
Rule: Quadratic_ROOT_clear_NONzero_denominator_ALL_three_terms · Uses: G001, S013