Explore related knowledge and questions →

Question 394: A Nonunit Has No Modular Inverse

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 2

← Question derivation index · Original question batch

P1000-0394 · q-20261014-advance-20261103-r07-modular-inverse-0094

Original question and givens

Use the original signed integer a=20 and modulus n=40≥2. Exact extended Euclid gives nonnegative g=gcd(a,n) and signed coefficients x,y satisfying a*x+n*y=g. An inverse exists exactly when g=1; normalize its representative to 0≤inverse<n. Uniqueness means one residue class modulo n, not a unique integer representative. This family excludes moduli 0 and 1 and does not use approximate division. Require gcd(a,n)>1. Give (a,n,gcd,inverse,exists?,nonunit_has_no_modular_inverse), with inverse=null.

  • G001 — Use the original signed integer a=20 and modulus n=40≥2. Exact extended Euclid gives nonnegative g=gcd(a,n) and signed coefficients x,y satisfying a*x+n*y=g. An inverse exists exactly when g=1; normalize its representative to 0≤inverse<n. Uniqueness means one residue class modulo n, not a unique integer representative. This family excludes moduli 0 and 1 and does not use approximate division. Require gcd(a,n)>1. Give (a,n,gcd,inverse,exists?,nonunit_has_no_modular_inverse), with inverse=null.

Definition and scope

When gcd(a,n)>1 the common divisor divides au+nv, so it cannot equal 1 and no inverse exists; null means absent.

Step-by-step derivation

S001 · implies

Before

a=20; n=40≥2

After

compute gcd and a Bezout certificate before inversion

Conditions: none

Invertibility requires coprimality, after qualifying the modulus.

Step identifiers and dependencies

Rule: modular_domain · Uses: G001

S002 · implies

Before

divide 20 by 40

After

20=0·40+20

Conditions: none

Continue with divisor and remainder; nonzero remainders decrease strictly.

Step identifiers and dependencies

Rule: euclidean_division · Uses: G001, S001

S003 · implies

Before

divide 40 by 20

After

40=2·20+0

Conditions: none

Continue with divisor and remainder; nonzero remainders decrease strictly.

Step identifiers and dependencies

Rule: euclidean_division · Uses: G001, S002

S004 · calculation

Before

a·x := mul(20, 1)

After

a·x = 20

Conditions: none

Multiply by the original signed a.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S003

S005 · calculation

Before

n·y := mul(40, 0)

After

n·y = 0

Conditions: none

Retain the modulus coefficient as well.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S004

S006 · calculation

Before

Bezout value := sum(20, 0)

After

Bezout value = 20

Conditions: none

The two terms must sum to the final nonzero remainder, the gcd.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S005

S007 · implies

Before

gcd(20,40)=20>1

After

no u can satisfy a·u≡1 (mod n)

Conditions: none

An inverse would give au+nv=1, impossible because the common divisor g divides the left side but not1.

Step identifiers and dependencies

Rule: nonunit_obstruction · Uses: G001, S006

S008 · implies

Before

inverse does not exist

After

inverse field=null; exists=false

Conditions: none

null denotes an absent inverse, not a fabricated inverse representative0.

Step identifiers and dependencies

Rule: undefined_inverse · Uses: G001, S007

Reverse checks

  • S008 · premise_and_result_audit — Check integer identities, remainder bounds and gcd conditions; congruence is not integer equality.
  • S007 · premise_and_result_audit — Check integer identities, remainder bounds and gcd conditions; congruence is not integer equality.
  • S006 · premise_and_result_audit — Recompute Bezout value with exact rational arithmetic, not rounded decimals.
  • S005 · premise_and_result_audit — Recompute n·y with exact rational arithmetic, not rounded decimals.
  • S004 · premise_and_result_audit — Recompute a·x with exact rational arithmetic, not rounded decimals.
  • S003 · premise_and_result_audit — Check integer identities, remainder bounds and gcd conditions; congruence is not integer equality.
  • S002 · premise_and_result_audit — Check integer identities, remainder bounds and gcd conditions; congruence is not integer equality.
  • S001 · premise_and_result_audit — Check integer identities, remainder bounds and gcd conditions; congruence is not integer equality.

Result

(20, 40, 20, null, No, nonunit_has_no_modular_inverse)

The full substitutions and premise audits recover the original answer, retaining its field order and verdict meanings.

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: 49d6f074f47f5ea6e5437a1e44c8991ab3e52ba1f3b8cc29d8a290441435a089
  • candidate record SHA-256: 992a0d74831ee673305f9c49c8e99cccee85d8ae4aa36f26e4da94cb7421268b
  • semantic review receipt SHA-256: 6c2c6d46aded7582a11ac41a8c0b3bdde2669a53bdb6e796eea2039994a02772
  • question-first witness SHA-256: 77e43898df9efdbf8094ad81fe4ab91cf4b4bd82f481eb9b4699b73cb4da612b
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON