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 = [0, 1, [0, -1]]
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(0, -1)
After
Fraction ORIGINAL p times s = 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, S002
S004 · calculation
Before
Fraction ORIGINAL r times q := mul(0, 1)
After
Fraction ORIGINAL r times q = 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, S003
S005 · calculation
Before
Fraction addition ORIGINAL cross numerator sum := sum(0, 0)
After
Fraction addition ORIGINAL cross numerator sum = 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, S004
S006 · calculation
Before
Fraction addition ORIGINAL denominator product := mul(1, -1)
After
Fraction addition ORIGINAL denominator 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, S005
S007 · implies
Before
source roles = [0, 1, 0, -1]
After
derived = [0, -1]
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 · calculation
Before
Fraction addition normalization ORIGINAL negate numerator for denominator sign := sub(0, 0)
After
Fraction addition normalization ORIGINAL negate numerator for denominator sign = 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, S007
S009 · calculation
Before
Fraction addition normalization ORIGINAL negate denominator := sub(0, -1)
After
Fraction addition normalization ORIGINAL negate denominator = 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, S008
S010 · implies
Before
source roles = [Fraction addition normalization, 0, -1]
After
derived = [0, 1]
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, S009
S011 · calculation
Before
Fraction addition normalization gcd step0 ORIGINAL quotient times divisor := mul(0, 1)
After
Fraction addition normalization gcd step0 ORIGINAL quotient times divisor = 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, S010
S012 · calculation
Before
Fraction addition normalization gcd step0 ORIGINAL dividend minus product := sub(0, 0)
After
Fraction addition normalization gcd step0 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, S011
S013 · implies
Before
source roles = [Fraction addition normalization, 0, 0, 1, 0]
After
derived = [0, 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, S012
S014 · calculation
Before
Fraction addition normalization ORIGINAL numerator over positive gcd := div(0, 1)
After
Fraction addition normalization ORIGINAL numerator over positive gcd = 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, S013
S015 · calculation
Before
Fraction addition normalization ORIGINAL denominator over positive gcd := div(1, 1)
After
Fraction addition normalization ORIGINAL denominator over positive gcd = 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, S014
S016 · calculation
Before
Fraction addition normalization reverse reduced numerator times gcd := mul(0, 1)
After
Fraction addition normalization reverse reduced numerator times gcd = 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, S015
S017 · calculation
Before
Fraction addition normalization reverse reduced denominator times gcd := mul(1, 1)
After
Fraction addition normalization reverse reduced denominator times gcd = 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, S016
S018 · implies
Before
source roles = [Fraction addition normalization, 0, 1, 1]
After
derived = [0, 1, 0, 1, 0/1]
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, S017
S019 · calculation
Before
Fraction addition reverse ORIGINAL fraction sum := sum(0, 0)
After
Fraction addition reverse ORIGINAL fraction sum = 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, S018
S020 · implies
Before
source roles = [0/1, 0/1]
After
derived = [0/1, 0/1]
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, S019