Explore related knowledge and questions →

Question 34936: 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-34936 · q-20260923-real-terminating-decimal-fraction-0011

Original question and givens

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

  • G001 — Convert the explicit decimal string 4.375 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 power10 place2 := mul(10, 10)

After

Decimal ORIGINAL power10 place2 = 100

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 power10 place3 := mul(100, 10)

After

Decimal ORIGINAL power10 place3 = 1000

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 whole part times power10 := mul(4, 1000)

After

Decimal ORIGINAL whole part times power10 = 4000

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 · calculation

Before

Decimal ORIGINAL add ALL fractional digits := sum(4000, 375)

After

Decimal ORIGINAL add ALL fractional digits = 4375

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, S005

S007 · calculation

Before

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

After

Decimal ORIGINAL apply explicit sign = 4375

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 = [4.375, 3, 4, 375]

After

derived = [4375, 1000]

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, S007

S009 · calculation

Before

Decimal exact derived fraction ORIGINAL exact numerator over nonzero denominator := div(4375, 1000)

After

Decimal exact derived fraction ORIGINAL exact numerator over nonzero denominator = 35/8

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, S008

S010 · implies

Before

source roles = [Decimal exact derived fraction, [4375, 1000]]

After

derived = [[35, 8], 35/8]

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, S009

Reverse checks

  • S010 · 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.
  • S009 · premise_and_result_audit — Recompute Decimal exact derived fraction ORIGINAL exact numerator over nonzero denominator with exact rational arithmetic, not rounded decimals.
  • 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 ORIGINAL apply explicit sign with exact rational arithmetic, not rounded decimals.
  • S006 · premise_and_result_audit — Recompute Decimal ORIGINAL add ALL fractional digits with exact rational arithmetic, not rounded decimals.
  • S005 · premise_and_result_audit — Recompute Decimal ORIGINAL whole part times power10 with exact rational arithmetic, not rounded decimals.
  • S004 · premise_and_result_audit — Recompute Decimal ORIGINAL power10 place3 with exact rational arithmetic, not rounded decimals.
  • S003 · premise_and_result_audit — Recompute Decimal ORIGINAL power10 place2 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

35/8

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: a9691b3a391a4dfcfa6f66d8fc66527b51f81c6ab369146e8015fc4f0cc5cd18
  • candidate record SHA-256: c45c4ba2214818f7bef8f8901091fd69cc152736fc12ba459888e02192956052
  • semantic review receipt SHA-256: e7a54104fa02c235f7591329bd6db8d626dd74bf0fae29c557b1f269c85066ed
  • question-first witness SHA-256: 8401a3c2064c1275a6a7ea8f00412fa12286cec7b2db6c305ff9dba3724ae229
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON