Exact expanded first-order arithmetic statement
forall n d a z. (exists jt_factor_congdivisor. (n)=(d)*jt_factor_congdivisor) -> (exists jt_factor_congsource. (a)=(d)*jt_factor_congsource) -> (exists jt_left_congmod jt_right_congmod. (a)+(n)*jt_left_congmod=(z)+(n)*jt_right_congmod) -> (exists jt_factor_congtarget. (z)=(d)*jt_factor_congtarget)Constructive proof overview
Generated structural guide
A genuine common modulus divisor survives balanced congruence, including divisor zero.
The unchanged tactic script uses 5 declared prerequisites and contains 30 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
linear_congruence_zero_residue_divides Alpha theorem; checked-use authorized mod_eq_trans Alpha theorem; checked-use authorized mod_eq_symm Alpha theorem; checked-use authorized mod_eq_of_mod_eq_multiple Alpha theorem; checked-use authorized dvd_to_mod_zero Alpha 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.
01Fix variables and assumptionsL1–7
02Use earlier factsL8–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L8
specialize linear_congruence_zero_residue_divides (d) - L9
specialize linear_congruence_zero_residue_divides (z) - L10
apply linear_congruence_zero_residue_divides - L11
specialize mod_eq_trans (d) - L12
specialize mod_eq_trans (z) - L13
specialize mod_eq_trans (a) - L14
specialize mod_eq_trans (0) - L15
apply mod_eq_trans - L16
specialize mod_eq_symm (d) - L17
specialize mod_eq_symm (a)
03Use earlier factsL18–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
specialize mod_eq_symm (z) - L19
apply mod_eq_symm - L20
specialize mod_eq_of_mod_eq_multiple (d) - L21
specialize mod_eq_of_mod_eq_multiple (n) - L22
specialize mod_eq_of_mod_eq_multiple (a) - L23
specialize mod_eq_of_mod_eq_multiple (z) - L24
apply mod_eq_of_mod_eq_multiple - L25
exact hdn - L26
exact hm - L27
specialize dvd_to_mod_zero (d)
Original exact command ledger · 30 lines
- 0001
intro n - 0002
intro d - 0003
intro a - 0004
intro z - 0005
intro hdn - 0006
intro hda - 0007
intro hm - 0008
specialize linear_congruence_zero_residue_divides (d) - 0009
specialize linear_congruence_zero_residue_divides (z) - 0010
apply linear_congruence_zero_residue_divides - 0011
specialize mod_eq_trans (d) - 0012
specialize mod_eq_trans (z) - 0013
specialize mod_eq_trans (a) - 0014
specialize mod_eq_trans (0) - 0015
apply mod_eq_trans - 0016
specialize mod_eq_symm (d) - 0017
specialize mod_eq_symm (a) - 0018
specialize mod_eq_symm (z) - 0019
apply mod_eq_symm - 0020
specialize mod_eq_of_mod_eq_multiple (d) - 0021
specialize mod_eq_of_mod_eq_multiple (n) - 0022
specialize mod_eq_of_mod_eq_multiple (a) - 0023
specialize mod_eq_of_mod_eq_multiple (z) - 0024
apply mod_eq_of_mod_eq_multiple - 0025
exact hdn - 0026
exact hm - 0027
specialize dvd_to_mod_zero (d) - 0028
specialize dvd_to_mod_zero (a) - 0029
apply dvd_to_mod_zero - 0030
exact hda