Explore related knowledge and questions →

Question 34932: Exact Fraction for a Terminating Decimal

On this page
  1. Original question and givens
  2. Definition and scope
  3. Step-by-step derivation
  4. Reverse checks
  5. Result
  6. This question review and source binding

Return to catalogue page 175

← Question derivation index · Original question batch

R0068-34932 · q-20260923-real-terminating-decimal-fraction-0007

Original question and givens

Convert the explicit decimal string 12.5 exactly to a lowest-terms fraction with a positive denominator; do not use floating-point approximation.

  • G001 — Convert the explicit decimal string 12.5 exactly to a lowest-terms fraction with a positive denominator; do not use floating-point approximation.

Definition and scope

Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate.

Step-by-step derivation

S001 · implies

Before

source roles = [qf-real-terminating-decimal-fraction, [decimal, operation, scale]]

After

derived = [decimal_to_fraction, no-invented-domain]

Conditions: none

Separate source banks:legacy RAW SAFE with unbounded derived BigInts versus BASE Number.isInteger without invented SAFE/million caps.Operations,domains and permissive/exact keys follow THIS bank.Keep ORIGINAL JSON intact.

Step identifiers and dependencies

Rule: R68_BANK_specific_keys_operations_and_numeric_guards · Uses: G001

S002 · calculation

Before

Decimal ORIGINAL power10 place1 := mul(1, 10)

After

Decimal ORIGINAL power10 place1 = 10

Conditions: none

Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S001

S003 · calculation

Before

Decimal ORIGINAL whole part times power10 := mul(12, 10)

After

Decimal ORIGINAL whole part times power10 = 120

Conditions: none

Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S002

S004 · calculation

Before

Decimal ORIGINAL add ALL fractional digits := sum(120, 5)

After

Decimal ORIGINAL add ALL fractional digits = 125

Conditions: none

Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S003

S005 · calculation

Before

Decimal ORIGINAL apply explicit sign := mul(1, 125)

After

Decimal ORIGINAL apply explicit sign = 125

Conditions: none

Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S004

S006 · implies

Before

source roles = [12.5, 1, 12, 5]

After

derived = [125, 10]

Conditions: none

Preserve the ORIGINAL string and place count.Compute whole*10^scale plus ALL fractional digits,then apply the sign,WITHOUT floating parsing.The leading fractional zeros in0.001 still count toward scale.

Step identifiers and dependencies

Rule: Real_DECIMAL_lexical_places_EXACT_integer_over_power10 · Uses: G001, S005

S007 · calculation

Before

Decimal exact derived fraction ORIGINAL exact numerator over nonzero denominator := div(125, 10)

After

Decimal exact derived fraction ORIGINAL exact numerator over nonzero denominator = 25/2

Conditions: none

Calculate exactly from ORIGINAL ordered operands;mul/sub/div have EXPLICITLY TWO operands.Legacy derived BigInts are not recapped at RAW SAFE;check BASE Number type/representation conditions separately.Do not use floating approximations to force an answer.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S006

S008 · implies

Before

source roles = [Decimal exact derived fraction, [125, 10]]

After

derived = [[25, 2], 25/2]

Conditions: none

BASE normalizeFraction requires INTEGER components and nonzero denominator,without invented SAFE/million/100million caps.Normalize denominator sign and gcd;zero is0/1.This derived representation does not alter the ORIGINAL raw pair.

Step identifiers and dependencies

Rule: Real_BASE_fraction_sign_gcd_normalization_NO_invented_SAFEcap · Uses: G001, S007

Reverse checks

  • S008 · premise_and_result_audit — Reverse-check THIS question’s ORIGINAL givens,domain and step premises.Preserve originals/English/MKOs/ASTs/status;do not reverse a one-way implication or call finite checks independent review or general formal proof.
  • S007 · premise_and_result_audit — Recompute Decimal exact derived fraction ORIGINAL exact numerator over nonzero denominator with exact rational arithmetic, not rounded decimals.
  • S006 · premise_and_result_audit — Reverse-check THIS question’s ORIGINAL givens,domain and step premises.Preserve originals/English/MKOs/ASTs/status;do not reverse a one-way implication or call finite checks independent review or general formal proof.
  • S005 · premise_and_result_audit — Recompute Decimal ORIGINAL apply explicit sign with exact rational arithmetic, not rounded decimals.
  • S004 · premise_and_result_audit — Recompute Decimal ORIGINAL add ALL fractional digits with exact rational arithmetic, not rounded decimals.
  • S003 · premise_and_result_audit — Recompute Decimal ORIGINAL whole part times power10 with exact rational arithmetic, not rounded decimals.
  • S002 · premise_and_result_audit — Recompute Decimal ORIGINAL power10 place1 with exact rational arithmetic, not rounded decimals.
  • S001 · premise_and_result_audit — Reverse-check THIS question’s ORIGINAL givens,domain and step premises.Preserve originals/English/MKOs/ASTs/status;do not reverse a one-way implication or call finite checks independent review or general formal proof.

Result

25/2

The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.

This question review and source binding

Review date: 2026-10-26

Original questions, answers, step expressions, numeric ASTs and historical records are retained. Source candidate labels remain historical and are not overwritten as formal proof.

Source hashes and review receipts
  • input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
  • original question SHA-256: f51826b0263a805cd4a8be3792469d86189e5d17e8ce42848aeb03bd7279ef90
  • candidate record SHA-256: b5d66a930155209474aec16cba4128a81cfc07eb308f28874ed4ff178c8239f9
  • semantic review receipt SHA-256: e7a54104fa02c235f7591329bd6db8d626dd74bf0fae29c557b1f269c85066ed
  • question-first witness SHA-256: 8401a3c2064c1275a6a7ea8f00412fa12286cec7b2db6c305ff9dba3724ae229
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON