Step-by-step derivation
S001 · implies
Before
source roles = [qf-fraction-exact-addition, addition, no-required-domain, []]
After
derived = [[reduced_fraction_RETAIN1_STRING]]
Conditions: none
BASE sources do not acquire a generic legacy operation/domain or unknown-metadata ban.Retain metadata WITHOUT using it as an answer oracle.PULSE/legacy enforce their exact source keys,operation/domain.Do not impose universal tuples,/1 or input bounds.
Step identifiers and dependencies
Rule: R63_SOURCE_bank_keys_operation_domain_output_roles_metadata_not_oracle · Uses: G001
S002 · implies
Before
source roles = [9, -1, [-1, -2]]
After
derived = [Yes]
Conditions: none
Validate EVERY raw SAFE integer component,including the numerator at q0/0/0 eligibility.A validity task may legally return No;actual arithmetic requires ALL used denominators nonzero.
Step identifiers and dependencies
Rule: Fraction_ALL_RAW_SAFE_integer_components_even_zero_den_validity · Uses: G001, S001
S003 · calculation
Before
Fraction ORIGINAL p times s := mul(9, -2)
After
Fraction ORIGINAL p times s = -18
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
Fraction ORIGINAL r times q := mul(-1, -1)
After
Fraction ORIGINAL r times q = 1
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
Fraction addition ORIGINAL cross numerator sum := sum(-18, 1)
After
Fraction addition ORIGINAL cross numerator sum = -17
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
Fraction addition ORIGINAL denominator product := mul(-1, -2)
After
Fraction addition ORIGINAL denominator product = 2
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · implies
Before
source roles = [9, -1, -1, -2]
After
derived = [-17, 2]
Conditions: none
Use the common denominator qs with numerator ps+rq,retaining BOTH cross terms.This is not componentwise addition.Derived large integers are not SAFE-capped.
Step identifiers and dependencies
Rule: Fraction_ADDITION_common_den_ALL_cross_terms_not_naive_components · Uses: G001, S006
S008 · implies
Before
source roles = [Fraction addition normalization, -17, 2]
After
derived = [-17, 2]
Conditions: none
A denominator must FIRST be nonzero.If negative,negate numerator AND denominator together.Derived numerator/denominator are not RAW-SAFE recapped;changing only the denominator would change the value.
Step identifiers and dependencies
Rule: Fraction_DEN_nonzero_sign_normalized_BEFORE_gcd · Uses: G001, S007
S009 · calculation
Before
Fraction addition normalization gcd step0 ORIGINAL quotient times divisor := mul(8, 2)
After
Fraction addition normalization gcd step0 ORIGINAL quotient times divisor = 16
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · calculation
Before
Fraction addition normalization gcd step0 ORIGINAL dividend minus product := sub(17, 16)
After
Fraction addition normalization gcd step0 ORIGINAL dividend minus product = 1
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · implies
Before
source roles = [Fraction addition normalization, 0, 17, 2, 8]
After
derived = [16, 1]
Conditions: none
Use x=qy+r,0≤r<y,to replace gcd(x,y)by gcd(y,r),preserving common divisors BOTH ways.Divide ONLY by nonzero y;remainders strictly decrease to0.
Step identifiers and dependencies
Rule: Fraction_EUCLID_all_remainders_and_common_divisor_invariant · Uses: G001, S010
S012 · calculation
Before
Fraction addition normalization gcd step1 ORIGINAL quotient times divisor := mul(2, 1)
After
Fraction addition normalization gcd step1 ORIGINAL quotient times divisor = 2
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
Fraction addition normalization gcd step1 ORIGINAL dividend minus product := sub(2, 2)
After
Fraction addition normalization gcd step1 ORIGINAL dividend minus product = 0
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · implies
Before
source roles = [Fraction addition normalization, 1, 2, 1, 2]
After
derived = [2, 0]
Conditions: none
Use x=qy+r,0≤r<y,to replace gcd(x,y)by gcd(y,r),preserving common divisors BOTH ways.Divide ONLY by nonzero y;remainders strictly decrease to0.
Step identifiers and dependencies
Rule: Fraction_EUCLID_all_remainders_and_common_divisor_invariant · Uses: G001, S013
S015 · calculation
Before
Fraction addition normalization ORIGINAL numerator over positive gcd := div(-17, 1)
After
Fraction addition normalization ORIGINAL numerator over positive gcd = -17
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
Fraction addition normalization ORIGINAL denominator over positive gcd := div(2, 1)
After
Fraction addition normalization ORIGINAL denominator over positive gcd = 2
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · calculation
Before
Fraction addition normalization reverse reduced numerator times gcd := mul(-17, 1)
After
Fraction addition normalization reverse reduced numerator times gcd = -17
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · calculation
Before
Fraction addition normalization reverse reduced denominator times gcd := mul(2, 1)
After
Fraction addition normalization reverse reduced denominator times gcd = 2
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · implies
Before
source roles = [Fraction addition normalization, -17, 2, 1]
After
derived = [-17, 2, -17, 2, -17/2]
Conditions: none
Divide BOTH components by the positive gcd,retaining value and a positive lowest-terms denominator.Multiply back to recover both components.Zero is0/1;integers RETAIN/1,not decimals.
Step identifiers and dependencies
Rule: Fraction_REDUCED_positive_den_ZERO0over1_RETAIN_integer1 · Uses: G001, S018
S020 · calculation
Before
Fraction addition reverse ORIGINAL fraction sum := sum(-9, 1/2)
After
Fraction addition reverse ORIGINAL fraction sum = -17/2
Conditions: none
Use ORIGINAL operands and order for exact integer/rational arithmetic.Raw bounds are bank-specific;derived values do not inherit SAFE or foreign small caps.No floating approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · implies
Before
source roles = [-9/1, 1/2]
After
derived = [-17/2, -17/2]
Conditions: none
Reverse-check by summing the TWO ORIGINAL fractions with their own denominators.Compare the reduced result exactly without rewriting original parameters.
Step identifiers and dependencies
Rule: Fraction_ADDITION_reverse_original_two_values · Uses: G001, S020