Step-by-step derivation
S001 · implies
Before
source roles = [qf-principal-square-root-exact, principal_sqrt]
After
derived = [[single_nonnegative_exact_integer_root]]
Conditions: none
List this scalar/label/set/point answer role or mode-specific ordered fields,not an imposed universal tuple.Retain legacy domain/underscore operation and integer fractions with/1;original bilingual snapshots stay unchanged.
Step identifiers and dependencies
Rule: source_answer_roles_or_ordered_fields_without_JS · Uses: G001
S002 · calculation
Before
Legacy principal ORIGINAL radicand exact midpoint square0 := mul(5, 5)
After
Legacy principal ORIGINAL radicand exact midpoint square0 = 25
Conditions: none
Substitute original roles exactly,without floating approximation or changed operands;extra teaching identities add no source-domain restrictions.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S001
S003 · implies
Before
source roles = [Legacy principal ORIGINAL radicand, 9, 0, [0, 10], 5]
After
derived = [25, No, 0, 5]
Conditions: none
Squaring is monotone on nonnegative integers;maintain low²<=n<high².The midpoint is BigInt floor((low+high)/2),not floating sqrt,and strictly shrinks the integer bracket.Derived values do not inherit SAFE bounds.
Step identifiers and dependencies
Rule: Legacy_isqrt_EACH_BigInt_integer_midpoint_bracket · Uses: G001, S002
S004 · calculation
Before
Legacy principal ORIGINAL radicand exact midpoint square1 := mul(2, 2)
After
Legacy principal ORIGINAL radicand exact midpoint square1 = 4
Conditions: none
Substitute original roles exactly,without floating approximation or changed operands;extra teaching identities add no source-domain restrictions.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · implies
Before
source roles = [Legacy principal ORIGINAL radicand, 9, 1, [0, 5], 2]
After
derived = [4, Yes, 2, 5]
Conditions: none
Squaring is monotone on nonnegative integers;maintain low²<=n<high².The midpoint is BigInt floor((low+high)/2),not floating sqrt,and strictly shrinks the integer bracket.Derived values do not inherit SAFE bounds.
Step identifiers and dependencies
Rule: Legacy_isqrt_EACH_BigInt_integer_midpoint_bracket · Uses: G001, S004
S006 · calculation
Before
Legacy principal ORIGINAL radicand exact midpoint square2 := mul(3, 3)
After
Legacy principal ORIGINAL radicand exact midpoint square2 = 9
Conditions: none
Substitute original roles exactly,without floating approximation or changed operands;extra teaching identities add no source-domain restrictions.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · implies
Before
source roles = [Legacy principal ORIGINAL radicand, 9, 2, [2, 5], 3]
After
derived = [9, Yes, 3, 5]
Conditions: none
Squaring is monotone on nonnegative integers;maintain low²<=n<high².The midpoint is BigInt floor((low+high)/2),not floating sqrt,and strictly shrinks the integer bracket.Derived values do not inherit SAFE bounds.
Step identifiers and dependencies
Rule: Legacy_isqrt_EACH_BigInt_integer_midpoint_bracket · Uses: G001, S006
S008 · calculation
Before
Legacy principal ORIGINAL radicand exact midpoint square3 := mul(4, 4)
After
Legacy principal ORIGINAL radicand exact midpoint square3 = 16
Conditions: none
Substitute original roles exactly,without floating approximation or changed operands;extra teaching identities add no source-domain restrictions.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · implies
Before
source roles = [Legacy principal ORIGINAL radicand, 9, 3, [3, 5], 4]
After
derived = [16, No, 3, 4]
Conditions: none
Squaring is monotone on nonnegative integers;maintain low²<=n<high².The midpoint is BigInt floor((low+high)/2),not floating sqrt,and strictly shrinks the integer bracket.Derived values do not inherit SAFE bounds.
Step identifiers and dependencies
Rule: Legacy_isqrt_EACH_BigInt_integer_midpoint_bracket · Uses: G001, S008
S010 · calculation
Before
Legacy principal ORIGINAL radicand terminal root square := mul(3, 3)
After
Legacy principal ORIGINAL radicand terminal root square = 9
Conditions: none
Substitute original roles exactly,without floating approximation or changed operands;extra teaching identities add no source-domain restrictions.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · calculation
Before
Legacy principal ORIGINAL radicand terminal successor square := mul(4, 4)
After
Legacy principal ORIGINAL radicand terminal successor square = 16
Conditions: none
Substitute original roles exactly,without floating approximation or changed operands;extra teaching identities add no source-domain restrictions.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · implies
Before
source roles = [Legacy principal ORIGINAL radicand, 9, 3, 4]
After
derived = [9, 16]
Conditions: none
Adjacent integer bounds certify floor sqrt=low;an exact root separately needs low²=n,and the principal root is the single nonnegative branch.
Step identifiers and dependencies
Rule: Legacy_isqrt_terminal_floor_and_single_nonnegative_branch · Uses: G001, S011
S013 · implies
Before
source roles = [9]
After
derived = [3, Yes]
Conditions: none
Check root²=r and root>=0.Monotonicity of nonnegative squaring gives uniqueness;two signed equation roots are not the principal-root value.
Step identifiers and dependencies
Rule: Legacy_PERFECT_square_exact_NONNEGATIVE_principal_root · Uses: G001, S012