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 d e l n m i. (((exists ff_u_fms_count ff_v_fms_count. ((((exists ff_h_fms_count_start. ff_h_fms_count_start + S (0) = S ((S (0)) * ff_v_fms_count)) /\ exists ff_q_fms_count_start. ff_u_fms_count = ff_q_fms_count_start * S ((S (0)) * ff_v_fms_count) + (0))) /\ ((((exists ff_h_fms_count_terminal. ff_h_fms_count_terminal + S ((n)) = S ((S ((l))) * ff_v_fms_count)) /\ exists ff_q_fms_count_terminal. ff_u_fms_count = ff_q_fms_count_terminal * S ((S ((l))) * ff_v_fms_count) + ((n)))) /\ forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_a_fms_count ff_r_fms_count ff_s_fms_count. ((((exists ff_h_fms_count_summand. ff_h_fms_count_summand + S (ff_a_fms_count) = S ((S (ff_i_fms_count)) * (c))) /\ exists ff_q_fms_count_summand. (b) = ff_q_fms_count_summand * S ((S (ff_i_fms_count)) * (c)) + (ff_a_fms_count))) /\ ((((exists ff_h_fms_count_partial. ff_h_fms_count_partial + S (ff_r_fms_count) = S ((S (ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_partial. ff_u_fms_count = ff_q_fms_count_partial * S ((S (ff_i_fms_count)) * ff_v_fms_count) + (ff_r_fms_count))) /\ ((((exists ff_h_fms_count_successor. ff_h_fms_count_successor + S (ff_s_fms_count) = S ((S (S ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_successor. ff_u_fms_count = ff_q_fms_count_successor * S ((S (S ff_i_fms_count)) * ff_v_fms_count) + (ff_s_fms_count))) /\ ff_s_fms_count = ff_r_fms_count + ff_a_fms_count)))))) /\ (forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_bit_fms_count. ((((exists ff_h_fms_count_decoded. ff_h_fms_count_decoded + S (ff_bit_fms_count) = S ((S (ff_i_fms_count)) * (c))) /\ exists ff_q_fms_count_decoded. (b) = ff_q_fms_count_decoded * S ((S (ff_i_fms_count)) * (c)) + (ff_bit_fms_count))) /\ (ff_bit_fms_count = 0 \/ ff_bit_fms_count = 1))))) -> (((exists ff_u_fms_count ff_v_fms_count. ((((exists ff_h_fms_count_start. ff_h_fms_count_start + S (0) = S ((S (0)) * ff_v_fms_count)) /\ exists ff_q_fms_count_start. ff_u_fms_count = ff_q_fms_count_start * S ((S (0)) * ff_v_fms_count) + (0))) /\ ((((exists ff_h_fms_count_terminal. ff_h_fms_count_terminal + S ((m)) = S ((S ((l))) * ff_v_fms_count)) /\ exists ff_q_fms_count_terminal. ff_u_fms_count = ff_q_fms_count_terminal * S ((S ((l))) * ff_v_fms_count) + ((m)))) /\ forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_a_fms_count ff_r_fms_count ff_s_fms_count. ((((exists ff_h_fms_count_summand. ff_h_fms_count_summand + S (ff_a_fms_count) = S ((S (ff_i_fms_count)) * (e))) /\ exists ff_q_fms_count_summand. (d) = ff_q_fms_count_summand * S ((S (ff_i_fms_count)) * (e)) + (ff_a_fms_count))) /\ ((((exists ff_h_fms_count_partial. ff_h_fms_count_partial + S (ff_r_fms_count) = S ((S (ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_partial. ff_u_fms_count = ff_q_fms_count_partial * S ((S (ff_i_fms_count)) * ff_v_fms_count) + (ff_r_fms_count))) /\ ((((exists ff_h_fms_count_successor. ff_h_fms_count_successor + S (ff_s_fms_count) = S ((S (S ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_successor. ff_u_fms_count = ff_q_fms_count_successor * S ((S (S ff_i_fms_count)) * ff_v_fms_count) + (ff_s_fms_count))) /\ ff_s_fms_count = ff_r_fms_count + ff_a_fms_count)))))) /\ (forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_bit_fms_count. ((((exists ff_h_fms_count_decoded. ff_h_fms_count_decoded + S (ff_bit_fms_count) = S ((S (ff_i_fms_count)) * (e))) /\ exists ff_q_fms_count_decoded. (d) = ff_q_fms_count_decoded * S ((S (ff_i_fms_count)) * (e)) + (ff_bit_fms_count))) /\ (ff_bit_fms_count = 0 \/ ff_bit_fms_count = 1))))) -> (forall fms_i_subset. (exists fms_gap_subset. fms_gap_subset + S (fms_i_subset) = (l)) -> (((exists fs_h_fms_subset_left. fs_h_fms_subset_left + S (1) = S ((S (fms_i_subset)) * c)) /\ exists fs_q_fms_subset_left. b = fs_q_fms_subset_left * S ((S (fms_i_subset)) * c) + (1))) -> (((exists fs_h_fms_subset_right. fs_h_fms_subset_right + S (1) = S ((S (fms_i_subset)) * e)) /\ exists fs_q_fms_subset_right. d = fs_q_fms_subset_right * S ((S (fms_i_subset)) * e) + (1)))) -> (exists fms_gap_lt. fms_gap_lt + S (i) = (l)) -> (((exists fs_h_fms_proper_zero. fs_h_fms_proper_zero + S (0) = S ((S (i)) * c)) /\ exists fs_q_fms_proper_zero. b = fs_q_fms_proper_zero * S ((S (i)) * c) + (0))) -> (((exists fs_h_fms_proper_one. fs_h_fms_proper_one + S (1) = S ((S (i)) * e)) /\ exists fs_q_fms_proper_one. d = fs_q_fms_proper_one * S ((S (i)) * e) + (1))) -> (exists fms_gap_lt. fms_gap_lt + S (n) = (m))Constructive proof overview
Generated structural guide
A witnessed missing member makes a proper subset strictly smaller in exact cardinality.
The unchanged tactic script uses 3 declared prerequisites and contains 42 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
CD0004 finite_bit_subset_pointwise_le CD000B finite_sum_pointwise_strict_at le_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.
Named ingredients (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–14
03Separate the logical casesL15–16
04Use earlier factsL17–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
specialize finite_sum_pointwise_strict_at b - L18
specialize finite_sum_pointwise_strict_at c - L19
specialize finite_sum_pointwise_strict_at d - L20
specialize finite_sum_pointwise_strict_at e - L21
specialize finite_sum_pointwise_strict_at l - L22
specialize finite_sum_pointwise_strict_at n - L23
specialize finite_sum_pointwise_strict_at m - L24
specialize finite_sum_pointwise_strict_at i - L25
specialize finite_sum_pointwise_strict_at 0 - L26
specialize finite_sum_pointwise_strict_at 1
05Use earlier factsL27–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
apply finite_sum_pointwise_strict_at - L28
specialize finite_bit_subset_pointwise_le b - L29
specialize finite_bit_subset_pointwise_le c - L30
specialize finite_bit_subset_pointwise_le d - L31
specialize finite_bit_subset_pointwise_le e - L32
specialize finite_bit_subset_pointwise_le l - L33
apply finite_bit_subset_pointwise_le - L34
exact hn_right - L35
exact hsub - L36
exact hn_left
Original exact command ledger · 42 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
intro l - 0006
intro n - 0007
intro m - 0008
intro i - 0009
intro hn - 0010
intro hm - 0011
intro hsub - 0012
intro hi - 0013
intro hzero - 0014
intro hone - 0015
cases hn - 0016
cases hm - 0017
specialize finite_sum_pointwise_strict_at b - 0018
specialize finite_sum_pointwise_strict_at c - 0019
specialize finite_sum_pointwise_strict_at d - 0020
specialize finite_sum_pointwise_strict_at e - 0021
specialize finite_sum_pointwise_strict_at l - 0022
specialize finite_sum_pointwise_strict_at n - 0023
specialize finite_sum_pointwise_strict_at m - 0024
specialize finite_sum_pointwise_strict_at i - 0025
specialize finite_sum_pointwise_strict_at 0 - 0026
specialize finite_sum_pointwise_strict_at 1 - 0027
apply finite_sum_pointwise_strict_at - 0028
specialize finite_bit_subset_pointwise_le b - 0029
specialize finite_bit_subset_pointwise_le c - 0030
specialize finite_bit_subset_pointwise_le d - 0031
specialize finite_bit_subset_pointwise_le e - 0032
specialize finite_bit_subset_pointwise_le l - 0033
apply finite_bit_subset_pointwise_le - 0034
exact hn_right - 0035
exact hsub - 0036
exact hn_left - 0037
exact hm_left - 0038
exact hi - 0039
exact hzero - 0040
exact hone - 0041
specialize le_refl 1 - 0042
apply le_refl