Step-by-step derivation
S001 · implies
Before
source operation=mobius-factorization-audit;original snapshot and mathematics retained
After
explicit ordered source output fields=[n, factors, valid_prime_product, mu_or_null, agrees_with_canonical, certificate]
Conditions: none
Keep the original historical interface marker while listing ordered source fields without JavaScript.Tags are not additional evidence;fixed No markers retain their source claim scope.
Step identifiers and dependencies
Rule: source_ordered_interface_explicit_without_javascript · Uses: G001
S002 · implies
Before
mobius ORIGINAL factor index0:ORIGINAL candidate factor=2;ALL possible trial divisors2..floor(sqrt(v))=[]
After
ALL [divisor,remainder] rows=[];prime=Yes
Conditions: none
A composite integer greater than1 has a divisor at most its square root.Complete nondivisibility over that interval certifies primality,including the empty interval for2.Matching a product cannot replace this obligation.
Step identifiers and dependencies
Rule: upf_every_trial_divisor_primality_not_product_only · Uses: G001, S001
S003 · calculation
Before
Mobius candidate exact full product at factor0 := mul(1, 2)
After
Mobius candidate exact full product at factor0 = 2
Conditions: none
Substitute the original roles,order and conditions term by term with exact arithmetic,not floating-point approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · implies
Before
mobius ORIGINAL factor index1:ORIGINAL candidate factor=13;ALL possible trial divisors2..floor(sqrt(v))=[2, 3]
After
ALL [divisor,remainder] rows=[[2, 1], [3, 1]];prime=Yes
Conditions: none
A composite integer greater than1 has a divisor at most its square root.Complete nondivisibility over that interval certifies primality,including the empty interval for2.Matching a product cannot replace this obligation.
Step identifiers and dependencies
Rule: upf_every_trial_divisor_primality_not_product_only · Uses: G001, S003
S005 · calculation
Before
Mobius candidate exact full product at factor1 := mul(2, 13)
After
Mobius candidate exact full product at factor1 = 26
Conditions: none
Substitute the original roles,order and conditions term by term with exact arithmetic,not floating-point approximation.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · implies
Before
mobius candidate canonical comparison:actual positive input for mu=26
After
complete prime multiplicities required for this input;mu(1) uses empty product,not a partial factor search
Conditions: none
Identify whether the input is the original n or one of its positive divisors.Every mu evaluation requires complete prime multiplicities,not a partial factor search.
Step identifiers and dependencies
Rule: mobius_complete_UPF_input_role · Uses: G001, S005
S007 · implies
Before
ORIGINAL positive integer absolute magnitude=26>1
After
initialize remaining=n,prime multiset empty;invariant product(extracted)*remaining=n;every smaller trial divisor has been exhausted
Conditions: none
Divide only by an actual divisor and exhaust smaller candidates,which justifies primality of each extracted divisor without assuming n is prime.
Step identifiers and dependencies
Rule: upf_factorization_remaining_product_invariant · Uses: G001, S006
S008 · calculation
Before
upf extract divisor2 occurrence0 := div(26, 2)
After
upf extract divisor2 occurrence0 = 13
Conditions: none
Substitute the original roles and established intermediates exactly,retaining order,signs and quantified conditions.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · implies
Before
next divisor=2;previous remaining=26;all smaller divisors exhausted
After
extracted multiplicity=1;next remaining=13;remaining modulo2=1;extracted multiset=[2]
Conditions: none
Exhaust every multiplicity before advancing.The stopping test concerns the current remainder,and the final prime remainder must not be omitted.
Step identifiers and dependencies
Rule: upf_complete_trial_division_remaining_invariant · Uses: G001, S008
S010 · implies
Before
next divisor=3;previous remaining=13;all smaller divisors exhausted
After
extracted multiplicity=0;next remaining=13;remaining modulo3=1;extracted multiset=[2]
Conditions: none
Exhaust every multiplicity before advancing.The stopping test concerns the current remainder,and the final prime remainder must not be omitted.
Step identifiers and dependencies
Rule: upf_complete_trial_division_remaining_invariant · Uses: G001, S009
S011 · calculation
Before
upf canonical complete product factor0 := mul(1, 2)
After
upf canonical complete product factor0 = 2
Conditions: none
Substitute the original roles and established intermediates exactly,retaining order,signs and quantified conditions.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
upf canonical complete product factor1 := mul(2, 13)
After
upf canonical complete product factor1 = 26
Conditions: none
Substitute the original roles and established intermediates exactly,retaining order,signs and quantified conditions.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · implies
Before
exhausted trial divisors below4;terminal remaining=13;d*d>remaining;ORIGINAL n=26
After
complete increasing prime multiset=[2, 13];full product=26;a composite terminal remainder would have an already tested smaller divisor
Conditions: none
If a terminal remainder greater than1 were composite,its least prime factor would already have been exhausted,a contradiction.The final entry is therefore prime.This certifies this instance;general existence follows by strong induction,recursively splitting a composite into smaller positive factors.
Step identifiers and dependencies
Rule: upf_final_prime_remainder_complete_existence_instance · Uses: G001, S012
S014 · implies
Before
mobius candidate canonical comparison:input=26;COMPLETE prime multiset=[2, 13];distinct primes=[2, 13]
After
mu=1;empty product case=No;repeated prime=No
Conditions: none
The empty prime multiset for1 gives mu1=1.A repeated prime gives a square divisor and value0;otherwise distinct-prime parity determines the sign.Sorting must not discard multiplicities.
Step identifiers and dependencies
Rule: mobius_value_one_repeated_prime_or_squarefree_parity · Uses: G001, S013
S015 · implies
Before
ORIGINAL n=26;ORIGINAL factor order=[2, 13];ALL primality flags=[Yes, Yes];EXACT full product=26
After
valid prime product=Yes;candidate mu_or_null=1;canonical mu=1;agreement=Yes;large product is NOT a rounded Number output field
Conditions: none
Compute mu from a candidate only after primality and full-product equality qualify.Matching composite products or incomplete prime lists give null.This interface does not project the product as Number;do not import the unrelated UPF unsafe-output rejection.
Step identifiers and dependencies
Rule: mobius_candidate_prime_product_before_value_no_rounded_projection · Uses: G001, S014