Exact expanded PA statement
forall m a b. (exists ha. ha + S a = m) -> (exists hb. hb + S b = m) -> (exists u v. a + m * u = b + m * v) -> a = bStructural proof guide
Generated structural guide
Two balanced-congruent values below the same modulus are equal.
Use the direct prerequisites add_comm, division_remainder_unique as previously established PA formulas.
The proof proceeds by case analysis (3), intermediate claims (3).
Referenced ingredients
Proof neighborhood
Direct dependencies
Direct dependents
PA002V mod_eq_to_remainder_decomposition PA005J mod_eq_decidable_from_remainders PA0063 prime_bounded_nonzero_mod_inverse PA00AK bounded_mod_inverse_unique PA0079 prime_scaled_same_target_unique PA007B gauss_mixed_sign_scaled_source_impossible PA008E prime_mul_index_map_injective PA008P prime_scaled_inverse_target_nonzero PA009C prime_scaled_inverse_unique PA00BP odd_prime_one_not_mod_predecessor PA00C5 canonical_remainder_from_modFormal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Stable checked-use theorem is independently kernel-checked when replayed.
- 0001
intro m - 0002
intro a - 0003
intro b - 0004
intro ha - 0005
intro hb - 0006
intro hab - 0007
cases hab - 0008
cases hab_witness - 0009
have hda : a + m * x = m * x + a - 0010
apply add_comm - 0011
have hdb : a + m * x = m * x1 + b - 0012
trans b + m * x1 - 0013
exact hab_witness_witness - 0014
apply add_comm - 0015
specialize division_remainder_unique m - 0016
specialize division_remainder_unique (a + m * x) - 0017
specialize division_remainder_unique x - 0018
specialize division_remainder_unique a - 0019
specialize division_remainder_unique x1 - 0020
specialize division_remainder_unique b - 0021
have huniq : x = x1 /\ a = b - 0022
apply division_remainder_unique - 0023
exact hda - 0024
exact ha - 0025
exact hdb - 0026
exact hb - 0027
cases huniq - 0028
exact huniq_right