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.
Exact expanded first-order arithmetic statement
forall m M h A B C. M = S h -> (exists q. M = m * q) -> C = A + h * B -> (((exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. C + m * hgcrt_mod_left_hpl_mod = 0 + m * hgcrt_mod_right_hpl_mod) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. A + m * hgcrt_mod_left_hpl_mod = B + m * hgcrt_mod_right_hpl_mod)) /\ ((exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. A + m * hgcrt_mod_left_hpl_mod = B + m * hgcrt_mod_right_hpl_mod) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. C + m * hgcrt_mod_left_hpl_mod = 0 + m * hgcrt_mod_right_hpl_mod)))Constructive proof overview
Generated structural guide
The recoded natural value is zero modulo an old or new modulus exactly when the original signed value is zero there.
The unchanged tactic script uses 2 declared prerequisites and contains 26 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
HL0018 hensel_signed_blend_mod_iff zero_add Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
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.
Named ingredients (1)
01Fix variables and assumptionsL1–9
02Establish hiffL10–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hensel signed blend mod iff.
- L10
have hiff : (((exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. C + m * hgcrt_mod_left_hpl_mod = 0 + m * hgcrt_mod_right_hpl_mod) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. A + m * hgcrt_mod_left_hpl_mod = (0 + B) + m * hgcrt_mod_right_hpl_mod)) /\ ((exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. A + m * hgcrt_mod_left_hpl_mod = (0 + B) + m * hgcrt_mod_right_hpl_mod) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. C + m * hgcrt_mod_left_hpl_mod = 0 + m * hgcrt_mod_right_hpl_mod))) - L11
specialize hensel_signed_blend_mod_iff m - L12
specialize hensel_signed_blend_mod_iff M - L13
specialize hensel_signed_blend_mod_iff h - L14
specialize hensel_signed_blend_mod_iff A - L15
specialize hensel_signed_blend_mod_iff B - L16
specialize hensel_signed_blend_mod_iff C - L17
specialize hensel_signed_blend_mod_iff 0 - L18
apply hensel_signed_blend_mod_iff - L19
exact hM
03Use earlier factsL20–21
Original exact command ledger · 26 lines
- 0001
intro m - 0002
intro M - 0003
intro h - 0004
intro A - 0005
intro B - 0006
intro C - 0007
intro hM - 0008
intro hdiv - 0009
intro hC - 0010
have hiff : (((exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. C + m * hgcrt_mod_left_hpl_mod = 0 + m * hgcrt_mod_right_hpl_mod) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. A + m * hgcrt_mod_left_hpl_mod = (0 + B) + m * hgcrt_mod_right_hpl_mod)) /\ ((exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. A + m * hgcrt_mod_left_hpl_mod = (0 + B) + m * hgcrt_mod_right_hpl_mod) -> (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. C + m * hgcrt_mod_left_hpl_mod = 0 + m * hgcrt_mod_right_hpl_mod))) - 0011
specialize hensel_signed_blend_mod_iff m - 0012
specialize hensel_signed_blend_mod_iff M - 0013
specialize hensel_signed_blend_mod_iff h - 0014
specialize hensel_signed_blend_mod_iff A - 0015
specialize hensel_signed_blend_mod_iff B - 0016
specialize hensel_signed_blend_mod_iff C - 0017
specialize hensel_signed_blend_mod_iff 0 - 0018
apply hensel_signed_blend_mod_iff - 0019
exact hM - 0020
exact hdiv - 0021
exact hC - 0022
have hzero : 0 + B = B - 0023
apply zero_add - 0024
rewrite hzero at hiff - 0025
rewrite hzero at hiff - 0026
exact hiff