PA001Y · theorem

mod_eq_mul_right

Stable checked-use theorem · independently closed

Balanced congruence is preserved by multiplication on the right.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Statement with defined notation

∀ m. ∀ a. ∀ b. ∀ c. ModEq(m,a,b)ModEq(m,a · c,b · c)

Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.

Definitions used by this theorem

In the theorem statement

2 occurrences

In local proof propositions

none

0 occurrences

Exact expanded native-PA statement
forall m a b c. (exists u v. a + m * u = b + m * v) -> exists r s. (a * c) + m * r = (b * c) + m * s

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.

Read the argument

Proof checkpoints

26 script commands · 13 reading checkpoints · 0 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–5

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro m
  2. L2
    intro a
  3. L3
    intro b
  4. L4
    intro c
  5. L5
    intro h
02Separate the logical casesL6–7

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L6
    cases h
  2. L7
    cases h_witness
03Construct an explicit witnessL8–9

Supply the displayed value, then prove that it has the required property.

  1. L8
    exists x * c
  2. L9
    exists x1 * c
04Calculate and transport equalitiesL10–13

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L10
    trans a * c + (m * x) * c
  2. L11
    congr
  3. L12
    refl
  4. L13
    symm
05Use earlier factsL14–14

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L14
    apply mul_assoc
06Calculate and transport equalitiesL15–16

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L15
    trans (a + m * x) * c
  2. L16
    symm
07Use earlier factsL17–17

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L17
    apply add_mul
08Calculate and transport equalitiesL18–19

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L18
    trans (b + m * x1) * c
  2. L19
    congr
09Use earlier factsL20–20

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L20
    exact h_witness_witness
10Calculate and transport equalitiesL21–22

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L21
    refl
  2. L22
    trans b * c + (m * x1) * c
11Use earlier factsL23–23

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L23
    apply add_mul
12Calculate and transport equalitiesL24–25

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L24
    congr
  2. L25
    refl
13Use earlier factsL26–26

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L26
    apply mul_assoc

Library-wide reading audit

Original defined command ledger · 26 lines
  1. 0001intro m
  2. 0002intro a
  3. 0003intro b
  4. 0004intro c
  5. 0005intro h
  6. 0006cases h
  7. 0007cases h_witness
  8. 0008exists x * c
  9. 0009exists x1 * c
  10. 0010trans a * c + (m * x) * c
  11. 0011congr
  12. 0012refl
  13. 0013symm
  14. 0014apply mul_assoc
  15. 0015trans (a + m * x) * c
  16. 0016symm
  17. 0017apply add_mul
  18. 0018trans (b + m * x1) * c
  19. 0019congr
  20. 0020exact h_witness_witness
  21. 0021refl
  22. 0022trans b * c + (m * x1) * c
  23. 0023apply add_mul
  24. 0024congr
  25. 0025refl
  26. 0026apply mul_assoc