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 b c u v p t. ~(p=0) -> (forall fms_i_pullback fms_j_pullback. (exists fms_gap_pullback_i. fms_gap_pullback_i + S (fms_i_pullback) = (p)) -> (exists fms_gap_pullback_j. fms_gap_pullback_j + S (fms_j_pullback) = (p)) -> (exists fms_u_pullback fms_v_pullback. (fms_i_pullback + t) + (p) * fms_u_pullback = (fms_j_pullback) + (p) * fms_v_pullback) -> ((((((exists fs_h_fms_pullback_target. fs_h_fms_pullback_target + S (1) = S ((S (fms_i_pullback)) * v)) /\ exists fs_q_fms_pullback_target. u = fs_q_fms_pullback_target * S ((S (fms_i_pullback)) * v) + (1))) -> (((exists fs_h_fms_pullback_source. fs_h_fms_pullback_source + S (1) = S ((S (fms_j_pullback)) * c)) /\ exists fs_q_fms_pullback_source. b = fs_q_fms_pullback_source * S ((S (fms_j_pullback)) * c) + (1)))) /\ ((((exists fs_h_fms_pullback_source. fs_h_fms_pullback_source + S (1) = S ((S (fms_j_pullback)) * c)) /\ exists fs_q_fms_pullback_source. b = fs_q_fms_pullback_source * S ((S (fms_j_pullback)) * c) + (1))) -> (((exists fs_h_fms_pullback_target. fs_h_fms_pullback_target + S (1) = S ((S (fms_i_pullback)) * v)) /\ exists fs_q_fms_pullback_target. u = fs_q_fms_pullback_target * S ((S (fms_i_pullback)) * v) + (1))))))) -> (((exists fms_gap_member. fms_gap_member + S (t) = (p)) /\ (((exists fs_h_fms_member. fs_h_fms_member + S (1) = S ((S (t)) * c)) /\ exists fs_q_fms_member. b = fs_q_fms_member * S ((S (t)) * c) + (1))))) -> (((exists fms_gap_member. fms_gap_member + S (0) = (p)) /\ (((exists fs_h_fms_member. fs_h_fms_member + S (1) = S ((S (0)) * v)) /\ exists fs_q_fms_member. u = fs_q_fms_member * S ((S (0)) * v) + (1)))))Constructive proof overview
Generated structural guide
Pulling back by an actual source member produces an actual set containing zero.
The unchanged tactic script uses 3 declared prerequisites and contains 32 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
one_le_of_ne_zero Stable theorem; checked-use authorized zero_add Stable theorem; checked-use authorized mod_eq_refl 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.
01Fix variables and assumptionsL1–9
02Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
cases hmember
03Establish hzL11–14
04Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
split
05Use earlier factsL16–16
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
exact hz
06Establish heL17–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hpull.
07Establish hzeroL23–29
08Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases he
Original exact command ledger · 32 lines
- 0001
intro b - 0002
intro c - 0003
intro u - 0004
intro v - 0005
intro p - 0006
intro t - 0007
intro hp - 0008
intro hpull - 0009
intro hmember - 0010
cases hmember - 0011
have hz : exists fms_gap_lt. fms_gap_lt + S (0) = (p) - 0012
specialize one_le_of_ne_zero p - 0013
apply one_le_of_ne_zero - 0014
exact hp - 0015
split - 0016
exact hz - 0017
have he : (((((exists fs_h_cd_norm_zero_target. fs_h_cd_norm_zero_target + S (1) = S ((S (0)) * v)) /\ exists fs_q_cd_norm_zero_target. u = fs_q_cd_norm_zero_target * S ((S (0)) * v) + (1))) -> (((exists fs_h_cd_norm_zero_source. fs_h_cd_norm_zero_source + S (1) = S ((S (t)) * c)) /\ exists fs_q_cd_norm_zero_source. b = fs_q_cd_norm_zero_source * S ((S (t)) * c) + (1)))) /\ ((((exists fs_h_cd_norm_zero_source. fs_h_cd_norm_zero_source + S (1) = S ((S (t)) * c)) /\ exists fs_q_cd_norm_zero_source. b = fs_q_cd_norm_zero_source * S ((S (t)) * c) + (1))) -> (((exists fs_h_cd_norm_zero_target. fs_h_cd_norm_zero_target + S (1) = S ((S (0)) * v)) /\ exists fs_q_cd_norm_zero_target. u = fs_q_cd_norm_zero_target * S ((S (0)) * v) + (1))))) - 0018
specialize hpull 0 - 0019
specialize hpull t - 0020
apply hpull - 0021
exact hz - 0022
exact hmember_left - 0023
have hzero : 0+t=t - 0024
specialize zero_add t - 0025
apply zero_add - 0026
rewrite hzero - 0027
specialize mod_eq_refl p - 0028
specialize mod_eq_refl t - 0029
apply mod_eq_refl - 0030
cases he - 0031
apply he_right - 0032
exact hmember_right