Step-by-step derivation
S001 · implies
Before
source roles = [qf-str22-presentvalue-n-period-discount, presentvalue-n-period-discount]
After
derived = [[future, rate, periods, accumulation, present]]
Conditions: none
Follow THIS bank exact keys,domain/frame,operation and answer role.STR22/App20 tuples differ from legacy scalars;retain or omit/1 by the ORIGINAL contract,not a generic visual convention.
Step identifiers and dependencies
Rule: R58_EXACT_source_interface_and_answer_ROLE · Uses: G001
S002 · implies
Before
source roles = [Present value rate, [0, 20]]
After
derived = [0]
Conditions: none
Check BOTH raw pair components within1e6 and nonzero denominator BEFORE sign/gcd normalization.This STR22 profile must not be imposed on legacy SAFE/BigInt tasks.
Step identifiers and dependencies
Rule: STR22_input_RAW_pair1e6_before_sign_gcd_normalization · Uses: G001, S001
S003 · calculation
Before
Present value ORIGINAL positive accumulation factor := sum(1, 0)
After
Present value ORIGINAL positive accumulation factor = 1
Conditions: none
Substitute exact ORIGINAL operands.Additional teaching algebra does not inherit raw-input caps;only declared SOURCE rational operations apply their own profile.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · implies
Before
source roles = [Present value ORIGINAL positive accumulation factor, sum, [1, 0]]
After
derived = [[1], [1, 1], 1]
Conditions: none
SOURCE addition first uses denominator gcd,and multiplication cross-cancels.Check BOTH resulting raw components within1e6 BEFORE final reduction.Division qualifies the nonzero reciprocal.Do not substitute another bank profile or loosen a source hold.
Step identifiers and dependencies
Rule: STR22_SOURCE_gcd_crosscancel_THEN_raw1e6_BEFORE_final_reduction · Uses: G001, S003
S005 · implies
Before
source roles = [0, 1]
After
derived = [Yes]
Conditions: none
Use the SAME fixed per-period rate/period convention without cash flows,fees,taxes or rounding.Require1+rate>0;the rate may be negative.This is not a market forecast or investment advice.
Step identifiers and dependencies
Rule: Present_value_FIXED_model_same_rate_period_NOcashflows · Uses: G001, S004
S006 · implies
Before
source roles = [1, 2]
After
derived = [1, 1, 2, out*base^exp=factor^n]
Conditions: none
Initialize out=1,base=factor,exp=n with invariant out*base^exp=factor^n.At n=0 return the empty product1,but STILL qualify the original factor.
Step identifiers and dependencies
Rule: Present_value_BINARY_power_initial_emptyproduct_invariant · Uses: G001, S005
S007 · calculation
Before
Present value ORIGINAL binary necessary square0 := mul(1, 1)
After
Present value ORIGINAL binary necessary square0 = 1
Conditions: none
Substitute exact ORIGINAL operands.Additional teaching algebra does not inherit raw-input caps;only declared SOURCE rational operations apply their own profile.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · implies
Before
source roles = [Present value ORIGINAL binary necessary square0, mul, [1, 1]]
After
derived = [[1, 1], [1, 1], 1]
Conditions: none
SOURCE addition first uses denominator gcd,and multiplication cross-cancels.Check BOTH resulting raw components within1e6 BEFORE final reduction.Division qualifies the nonzero reciprocal.Do not substitute another bank profile or loosen a source hold.
Step identifiers and dependencies
Rule: STR22_SOURCE_gcd_crosscancel_THEN_raw1e6_BEFORE_final_reduction · Uses: G001, S007
S009 · implies
Before
source roles = [1, 2, 0, [1, 1, 2]]
After
derived = [No, 1, 1, 1, Yes]
Conditions: none
Write old exp=2q+r.Multiply by base when r=1,and square the base ONLY if q>0.This preserves the SAME exact power without an unused final square that could cause a spurious source hold.Do not replace the SOURCE binary sequence with linear multiplication and shrink its domain.
Step identifiers and dependencies
Rule: Present_value_EACH_binary_exponent_step_no_unused_final_square · Uses: G001, S008
S010 · calculation
Before
Present value ORIGINAL binary odd multiply1 := mul(1, 1)
After
Present value ORIGINAL binary odd multiply1 = 1
Conditions: none
Substitute exact ORIGINAL operands.Additional teaching algebra does not inherit raw-input caps;only declared SOURCE rational operations apply their own profile.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · implies
Before
source roles = [Present value ORIGINAL binary odd multiply1, mul, [1, 1]]
After
derived = [[1, 1], [1, 1], 1]
Conditions: none
SOURCE addition first uses denominator gcd,and multiplication cross-cancels.Check BOTH resulting raw components within1e6 BEFORE final reduction.Division qualifies the nonzero reciprocal.Do not substitute another bank profile or loosen a source hold.
Step identifiers and dependencies
Rule: STR22_SOURCE_gcd_crosscancel_THEN_raw1e6_BEFORE_final_reduction · Uses: G001, S010
S012 · implies
Before
source roles = [1, 2, 1, [1, 1, 1]]
After
derived = [Yes, 1, 1, 0, Yes]
Conditions: none
Write old exp=2q+r.Multiply by base when r=1,and square the base ONLY if q>0.This preserves the SAME exact power without an unused final square that could cause a spurious source hold.Do not replace the SOURCE binary sequence with linear multiplication and shrink its domain.
Step identifiers and dependencies
Rule: Present_value_EACH_binary_exponent_step_no_unused_final_square · Uses: G001, S011
S013 · implies
Before
source roles = [Present value future, [106, 3]]
After
derived = [106/3]
Conditions: none
Check BOTH raw pair components within1e6 and nonzero denominator BEFORE sign/gcd normalization.This STR22 profile must not be imposed on legacy SAFE/BigInt tasks.
Step identifiers and dependencies
Rule: STR22_input_RAW_pair1e6_before_sign_gcd_normalization · Uses: G001, S012
S014 · calculation
Before
Present value ORIGINAL future over actual binary accumulation := div(106/3, 1)
After
Present value ORIGINAL future over actual binary accumulation = 106/3
Conditions: none
Substitute exact ORIGINAL operands.Additional teaching algebra does not inherit raw-input caps;only declared SOURCE rational operations apply their own profile.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · implies
Before
source roles = [Present value ORIGINAL future over actual binary accumulation, div, [106/3, 1]]
After
derived = [[1, 1], [106, 3], 106/3]
Conditions: none
SOURCE addition first uses denominator gcd,and multiplication cross-cancels.Check BOTH resulting raw components within1e6 BEFORE final reduction.Division qualifies the nonzero reciprocal.Do not substitute another bank profile or loosen a source hold.
Step identifiers and dependencies
Rule: STR22_SOURCE_gcd_crosscancel_THEN_raw1e6_BEFORE_final_reduction · Uses: G001, S014
S016 · implies
Before
source roles = [106/3, 0, 2, 1]
After
derived = [106/3]
Conditions: none
The accumulation is n copies of the SAME factor;divide future by its positive value.At n=0 preserve the amount.Do not add unspecified cash flows or charges.
Step identifiers and dependencies
Rule: Present_value_Nperiod_exact_discount_NOT_unlisted_adjustments · Uses: G001, S015