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 a v. (forall fms_i_le fms_a_le fms_v_le. (exists fms_gap_le. fms_gap_le + S (fms_i_le) = (l)) -> (((exists fs_h_fms_le_left. fs_h_fms_le_left + S (fms_a_le) = S ((S (fms_i_le)) * c)) /\ exists fs_q_fms_le_left. b = fs_q_fms_le_left * S ((S (fms_i_le)) * c) + (fms_a_le))) -> (((exists fs_h_fms_le_right. fs_h_fms_le_right + S (fms_v_le) = S ((S (fms_i_le)) * e)) /\ exists fs_q_fms_le_right. d = fs_q_fms_le_right * S ((S (fms_i_le)) * e) + (fms_v_le))) -> (exists fms_gap_le. fms_gap_le + (fms_a_le) = (fms_v_le))) -> (exists ff_u_fms_sum ff_v_fms_sum. ((((exists ff_h_fms_sum_start. ff_h_fms_sum_start + S (0) = S ((S (0)) * ff_v_fms_sum)) /\ exists ff_q_fms_sum_start. ff_u_fms_sum = ff_q_fms_sum_start * S ((S (0)) * ff_v_fms_sum) + (0))) /\ ((((exists ff_h_fms_sum_terminal. ff_h_fms_sum_terminal + S ((n)) = S ((S ((l))) * ff_v_fms_sum)) /\ exists ff_q_fms_sum_terminal. ff_u_fms_sum = ff_q_fms_sum_terminal * S ((S ((l))) * ff_v_fms_sum) + ((n)))) /\ forall ff_i_fms_sum. (exists ff_lt_fms_sum_bound. ff_lt_fms_sum_bound + S ff_i_fms_sum = (l)) -> exists ff_a_fms_sum ff_r_fms_sum ff_s_fms_sum. ((((exists ff_h_fms_sum_summand. ff_h_fms_sum_summand + S (ff_a_fms_sum) = S ((S (ff_i_fms_sum)) * (c))) /\ exists ff_q_fms_sum_summand. (b) = ff_q_fms_sum_summand * S ((S (ff_i_fms_sum)) * (c)) + (ff_a_fms_sum))) /\ ((((exists ff_h_fms_sum_partial. ff_h_fms_sum_partial + S (ff_r_fms_sum) = S ((S (ff_i_fms_sum)) * ff_v_fms_sum)) /\ exists ff_q_fms_sum_partial. ff_u_fms_sum = ff_q_fms_sum_partial * S ((S (ff_i_fms_sum)) * ff_v_fms_sum) + (ff_r_fms_sum))) /\ ((((exists ff_h_fms_sum_successor. ff_h_fms_sum_successor + S (ff_s_fms_sum) = S ((S (S ff_i_fms_sum)) * ff_v_fms_sum)) /\ exists ff_q_fms_sum_successor. ff_u_fms_sum = ff_q_fms_sum_successor * S ((S (S ff_i_fms_sum)) * ff_v_fms_sum) + (ff_s_fms_sum))) /\ ff_s_fms_sum = ff_r_fms_sum + ff_a_fms_sum)))))) -> (exists ff_u_fms_sum ff_v_fms_sum. ((((exists ff_h_fms_sum_start. ff_h_fms_sum_start + S (0) = S ((S (0)) * ff_v_fms_sum)) /\ exists ff_q_fms_sum_start. ff_u_fms_sum = ff_q_fms_sum_start * S ((S (0)) * ff_v_fms_sum) + (0))) /\ ((((exists ff_h_fms_sum_terminal. ff_h_fms_sum_terminal + S ((m)) = S ((S ((l))) * ff_v_fms_sum)) /\ exists ff_q_fms_sum_terminal. ff_u_fms_sum = ff_q_fms_sum_terminal * S ((S ((l))) * ff_v_fms_sum) + ((m)))) /\ forall ff_i_fms_sum. (exists ff_lt_fms_sum_bound. ff_lt_fms_sum_bound + S ff_i_fms_sum = (l)) -> exists ff_a_fms_sum ff_r_fms_sum ff_s_fms_sum. ((((exists ff_h_fms_sum_summand. ff_h_fms_sum_summand + S (ff_a_fms_sum) = S ((S (ff_i_fms_sum)) * (e))) /\ exists ff_q_fms_sum_summand. (d) = ff_q_fms_sum_summand * S ((S (ff_i_fms_sum)) * (e)) + (ff_a_fms_sum))) /\ ((((exists ff_h_fms_sum_partial. ff_h_fms_sum_partial + S (ff_r_fms_sum) = S ((S (ff_i_fms_sum)) * ff_v_fms_sum)) /\ exists ff_q_fms_sum_partial. ff_u_fms_sum = ff_q_fms_sum_partial * S ((S (ff_i_fms_sum)) * ff_v_fms_sum) + (ff_r_fms_sum))) /\ ((((exists ff_h_fms_sum_successor. ff_h_fms_sum_successor + S (ff_s_fms_sum) = S ((S (S ff_i_fms_sum)) * ff_v_fms_sum)) /\ exists ff_q_fms_sum_successor. ff_u_fms_sum = ff_q_fms_sum_successor * S ((S (S ff_i_fms_sum)) * ff_v_fms_sum) + (ff_s_fms_sum))) /\ ff_s_fms_sum = ff_r_fms_sum + ff_a_fms_sum)))))) -> (exists fms_gap_lt. fms_gap_lt + S (i) = (l)) -> (((exists fs_h_fms_strict_left. fs_h_fms_strict_left + S (a) = S ((S (i)) * c)) /\ exists fs_q_fms_strict_left. b = fs_q_fms_strict_left * S ((S (i)) * c) + (a))) -> (((exists fs_h_fms_strict_right. fs_h_fms_strict_right + S (v) = S ((S (i)) * e)) /\ exists fs_q_fms_strict_right. d = fs_q_fms_strict_right * S ((S (i)) * e) + (v))) -> (exists fms_gap_lt. fms_gap_lt + S (a) = (v)) -> (exists fms_gap_lt. fms_gap_lt + S (n) = (m))Constructive proof overview
Generated structural guide
A genuine strict pointwise witness makes otherwise monotone finite sums strictly ordered.
The unchanged tactic script uses 10 declared prerequisites and contains 157 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_sum_succ_decompose Stable theorem; checked-use authorized finite_lt_succ_eq_or_lt Stable theorem; checked-use authorized beta_at_unique Stable theorem; checked-use authorized beta_sum_pointwise_le Alpha theorem; checked-use authorized le_succ Stable theorem; checked-use authorized le_refl Stable theorem; checked-use authorized CD0007 finite_add_lt_of_lt_of_le CD0008 finite_add_lt_of_le_of_lt add_eq_zero_right Stable theorem; checked-use authorized succ_ne_zero 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–4
02Induction on lL5–14
03Fix variables and assumptionsL15–17
04Separate the logical casesL18–19
05Establish hzL20–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.
06Fix variables and assumptionsL30–39
07Establish hdAL40–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
08Separate the logical casesL47–50
09Establish hdBL51–57
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
10Separate the logical casesL58–61
11Establish hprefixL62–71
Establish this local claim before using it. It is not an additional assumption.
- L62
have hprefix : forall fms_i_le fms_a_le fms_v_le. (exists fms_gap_le. fms_gap_le + S (fms_i_le) = (l)) -> (((exists fs_h_fms_le_left. fs_h_fms_le_left + S (fms_a_le) = S ((S (fms_i_le)) * c)) /\ exists fs_q_fms_le_left. b = fs_q_fms_le_left * S ((S (fms_i_le)) * c) + (fms_a_le))) -> (((exists fs_h_fms_le_right. fs_h_fms_le_right + S (fms_v_le) = S ((S (fms_i_le)) * e)) /\ exists fs_q_fms_le_right. d = fs_q_fms_le_right * S ((S (fms_i_le)) * e) + (fms_v_le))) -> (exists fms_gap_le. fms_gap_le + (fms_a_le) = (fms_v_le)) - L63
intro j - L64
intro A - L65
intro B - L66
intro hj - L67
intro hA - L68
intro hB - L69
specialize hpoint j - L70
specialize hpoint A - L71
specialize hpoint B
12Use earlier factsL72–78
13Establish hlastL79–87
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hpoint.
14Establish hcaseL88–92
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
15Separate the logical casesL93–93
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L93
cases hcase
16Calculate and transport equalitiesL94–97
17Establish heAL98–106
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
18Establish heBL107–116
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
19Calculate and transport equalitiesL117–119
20Use earlier factsL120–129
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L120
specialize finite_add_lt_of_le_of_lt x1 - L121
specialize finite_add_lt_of_le_of_lt x3 - L122
specialize finite_add_lt_of_le_of_lt x - L123
specialize finite_add_lt_of_le_of_lt x2 - L124
apply finite_add_lt_of_le_of_lt - L125
specialize beta_sum_pointwise_le b - L126
specialize beta_sum_pointwise_le c - L127
specialize beta_sum_pointwise_le d - L128
specialize beta_sum_pointwise_le e - L129
specialize beta_sum_pointwise_le l
21Use earlier factsL130–136
Instantiate or apply named facts and discharge the corresponding proof obligations.
22Calculate and transport equalitiesL137–138
23Use earlier factsL139–148
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L139
specialize finite_add_lt_of_lt_of_le x1 - L140
specialize finite_add_lt_of_lt_of_le x3 - L141
specialize finite_add_lt_of_lt_of_le x - L142
specialize finite_add_lt_of_lt_of_le x2 - L143
apply finite_add_lt_of_lt_of_le - L144
specialize IH x1 - L145
specialize IH x3 - L146
specialize IH i - L147
specialize IH a - L148
specialize IH v
Original exact command ledger · 157 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
induction l - 0006
intro n - 0007
intro m - 0008
intro i - 0009
intro a - 0010
intro v - 0011
intro hpoint - 0012
intro hn - 0013
intro hm - 0014
intro hi - 0015
intro ha - 0016
intro hv - 0017
intro hav - 0018
exfalso - 0019
cases hi - 0020
have hz : S i=0 - 0021
specialize add_eq_zero_right x - 0022
specialize add_eq_zero_right S i - 0023
apply add_eq_zero_right - 0024
exact hi_witness - 0025
specialize succ_ne_zero i - 0026
apply succ_ne_zero - 0027
exact hz - 0028
intro n - 0029
intro m - 0030
intro i - 0031
intro a - 0032
intro v - 0033
intro hpoint - 0034
intro hn - 0035
intro hm - 0036
intro hi - 0037
intro ha - 0038
intro hv - 0039
intro hav - 0040
have hdA : exists fms_term_hdA fms_sum_hdA. (((exists fs_h_fms_hdA. fs_h_fms_hdA + S (fms_term_hdA) = S ((S (l)) * c)) /\ exists fs_q_fms_hdA. b = fs_q_fms_hdA * S ((S (l)) * c) + (fms_term_hdA))) /\ ((exists ff_u_fms_hdA ff_v_fms_hdA. ((((exists ff_h_fms_hdA_start. ff_h_fms_hdA_start + S (0) = S ((S (0)) * ff_v_fms_hdA)) /\ exists ff_q_fms_hdA_start. ff_u_fms_hdA = ff_q_fms_hdA_start * S ((S (0)) * ff_v_fms_hdA) + (0))) /\ ((((exists ff_h_fms_hdA_terminal. ff_h_fms_hdA_terminal + S ((fms_sum_hdA)) = S ((S ((l))) * ff_v_fms_hdA)) /\ exists ff_q_fms_hdA_terminal. ff_u_fms_hdA = ff_q_fms_hdA_terminal * S ((S ((l))) * ff_v_fms_hdA) + ((fms_sum_hdA)))) /\ forall ff_i_fms_hdA. (exists ff_lt_fms_hdA_bound. ff_lt_fms_hdA_bound + S ff_i_fms_hdA = (l)) -> exists ff_a_fms_hdA ff_r_fms_hdA ff_s_fms_hdA. ((((exists ff_h_fms_hdA_summand. ff_h_fms_hdA_summand + S (ff_a_fms_hdA) = S ((S (ff_i_fms_hdA)) * (c))) /\ exists ff_q_fms_hdA_summand. (b) = ff_q_fms_hdA_summand * S ((S (ff_i_fms_hdA)) * (c)) + (ff_a_fms_hdA))) /\ ((((exists ff_h_fms_hdA_partial. ff_h_fms_hdA_partial + S (ff_r_fms_hdA) = S ((S (ff_i_fms_hdA)) * ff_v_fms_hdA)) /\ exists ff_q_fms_hdA_partial. ff_u_fms_hdA = ff_q_fms_hdA_partial * S ((S (ff_i_fms_hdA)) * ff_v_fms_hdA) + (ff_r_fms_hdA))) /\ ((((exists ff_h_fms_hdA_successor. ff_h_fms_hdA_successor + S (ff_s_fms_hdA) = S ((S (S ff_i_fms_hdA)) * ff_v_fms_hdA)) /\ exists ff_q_fms_hdA_successor. ff_u_fms_hdA = ff_q_fms_hdA_successor * S ((S (S ff_i_fms_hdA)) * ff_v_fms_hdA) + (ff_s_fms_hdA))) /\ ff_s_fms_hdA = ff_r_fms_hdA + ff_a_fms_hdA)))))) /\ n=fms_sum_hdA+fms_term_hdA) - 0041
specialize beta_sum_succ_decompose b - 0042
specialize beta_sum_succ_decompose c - 0043
specialize beta_sum_succ_decompose l - 0044
specialize beta_sum_succ_decompose n - 0045
apply beta_sum_succ_decompose - 0046
exact hn - 0047
cases hdA - 0048
cases hdA_witness - 0049
cases hdA_witness_witness - 0050
cases hdA_witness_witness_right - 0051
have hdB : exists fms_term_hdB fms_sum_hdB. (((exists fs_h_fms_hdB. fs_h_fms_hdB + S (fms_term_hdB) = S ((S (l)) * e)) /\ exists fs_q_fms_hdB. d = fs_q_fms_hdB * S ((S (l)) * e) + (fms_term_hdB))) /\ ((exists ff_u_fms_hdB ff_v_fms_hdB. ((((exists ff_h_fms_hdB_start. ff_h_fms_hdB_start + S (0) = S ((S (0)) * ff_v_fms_hdB)) /\ exists ff_q_fms_hdB_start. ff_u_fms_hdB = ff_q_fms_hdB_start * S ((S (0)) * ff_v_fms_hdB) + (0))) /\ ((((exists ff_h_fms_hdB_terminal. ff_h_fms_hdB_terminal + S ((fms_sum_hdB)) = S ((S ((l))) * ff_v_fms_hdB)) /\ exists ff_q_fms_hdB_terminal. ff_u_fms_hdB = ff_q_fms_hdB_terminal * S ((S ((l))) * ff_v_fms_hdB) + ((fms_sum_hdB)))) /\ forall ff_i_fms_hdB. (exists ff_lt_fms_hdB_bound. ff_lt_fms_hdB_bound + S ff_i_fms_hdB = (l)) -> exists ff_a_fms_hdB ff_r_fms_hdB ff_s_fms_hdB. ((((exists ff_h_fms_hdB_summand. ff_h_fms_hdB_summand + S (ff_a_fms_hdB) = S ((S (ff_i_fms_hdB)) * (e))) /\ exists ff_q_fms_hdB_summand. (d) = ff_q_fms_hdB_summand * S ((S (ff_i_fms_hdB)) * (e)) + (ff_a_fms_hdB))) /\ ((((exists ff_h_fms_hdB_partial. ff_h_fms_hdB_partial + S (ff_r_fms_hdB) = S ((S (ff_i_fms_hdB)) * ff_v_fms_hdB)) /\ exists ff_q_fms_hdB_partial. ff_u_fms_hdB = ff_q_fms_hdB_partial * S ((S (ff_i_fms_hdB)) * ff_v_fms_hdB) + (ff_r_fms_hdB))) /\ ((((exists ff_h_fms_hdB_successor. ff_h_fms_hdB_successor + S (ff_s_fms_hdB) = S ((S (S ff_i_fms_hdB)) * ff_v_fms_hdB)) /\ exists ff_q_fms_hdB_successor. ff_u_fms_hdB = ff_q_fms_hdB_successor * S ((S (S ff_i_fms_hdB)) * ff_v_fms_hdB) + (ff_s_fms_hdB))) /\ ff_s_fms_hdB = ff_r_fms_hdB + ff_a_fms_hdB)))))) /\ m=fms_sum_hdB+fms_term_hdB) - 0052
specialize beta_sum_succ_decompose d - 0053
specialize beta_sum_succ_decompose e - 0054
specialize beta_sum_succ_decompose l - 0055
specialize beta_sum_succ_decompose m - 0056
apply beta_sum_succ_decompose - 0057
exact hm - 0058
cases hdB - 0059
cases hdB_witness - 0060
cases hdB_witness_witness - 0061
cases hdB_witness_witness_right - 0062
have hprefix : forall fms_i_le fms_a_le fms_v_le. (exists fms_gap_le. fms_gap_le + S (fms_i_le) = (l)) -> (((exists fs_h_fms_le_left. fs_h_fms_le_left + S (fms_a_le) = S ((S (fms_i_le)) * c)) /\ exists fs_q_fms_le_left. b = fs_q_fms_le_left * S ((S (fms_i_le)) * c) + (fms_a_le))) -> (((exists fs_h_fms_le_right. fs_h_fms_le_right + S (fms_v_le) = S ((S (fms_i_le)) * e)) /\ exists fs_q_fms_le_right. d = fs_q_fms_le_right * S ((S (fms_i_le)) * e) + (fms_v_le))) -> (exists fms_gap_le. fms_gap_le + (fms_a_le) = (fms_v_le)) - 0063
intro j - 0064
intro A - 0065
intro B - 0066
intro hj - 0067
intro hA - 0068
intro hB - 0069
specialize hpoint j - 0070
specialize hpoint A - 0071
specialize hpoint B - 0072
apply hpoint - 0073
specialize le_succ S j - 0074
specialize le_succ l - 0075
apply le_succ - 0076
exact hj - 0077
exact hA - 0078
exact hB - 0079
have hlast : exists fms_gap_le. fms_gap_le + (x) = (x2) - 0080
specialize hpoint l - 0081
specialize hpoint x - 0082
specialize hpoint x2 - 0083
apply hpoint - 0084
specialize le_refl S l - 0085
apply le_refl - 0086
exact hdA_witness_witness_left - 0087
exact hdB_witness_witness_left - 0088
have hcase : i=l \/ (exists fms_gap_lt. fms_gap_lt + S (i) = (l)) - 0089
specialize finite_lt_succ_eq_or_lt l - 0090
specialize finite_lt_succ_eq_or_lt i - 0091
apply finite_lt_succ_eq_or_lt - 0092
exact hi - 0093
cases hcase - 0094
rewrite hcase_left at ha - 0095
rewrite hcase_left at ha - 0096
rewrite hcase_left at hv - 0097
rewrite hcase_left at hv - 0098
have heA : a=x - 0099
specialize beta_at_unique b - 0100
specialize beta_at_unique c - 0101
specialize beta_at_unique l - 0102
specialize beta_at_unique a - 0103
specialize beta_at_unique x - 0104
apply beta_at_unique - 0105
exact ha - 0106
exact hdA_witness_witness_left - 0107
have heB : v=x2 - 0108
specialize beta_at_unique d - 0109
specialize beta_at_unique e - 0110
specialize beta_at_unique l - 0111
specialize beta_at_unique v - 0112
specialize beta_at_unique x2 - 0113
apply beta_at_unique - 0114
exact hv - 0115
exact hdB_witness_witness_left - 0116
rewrite heA at hav - 0117
rewrite heB at hav - 0118
rewrite hdA_witness_witness_right_right - 0119
rewrite hdB_witness_witness_right_right - 0120
specialize finite_add_lt_of_le_of_lt x1 - 0121
specialize finite_add_lt_of_le_of_lt x3 - 0122
specialize finite_add_lt_of_le_of_lt x - 0123
specialize finite_add_lt_of_le_of_lt x2 - 0124
apply finite_add_lt_of_le_of_lt - 0125
specialize beta_sum_pointwise_le b - 0126
specialize beta_sum_pointwise_le c - 0127
specialize beta_sum_pointwise_le d - 0128
specialize beta_sum_pointwise_le e - 0129
specialize beta_sum_pointwise_le l - 0130
specialize beta_sum_pointwise_le x1 - 0131
specialize beta_sum_pointwise_le x3 - 0132
apply beta_sum_pointwise_le - 0133
exact hprefix - 0134
exact hdA_witness_witness_right_left - 0135
exact hdB_witness_witness_right_left - 0136
exact hav - 0137
rewrite hdA_witness_witness_right_right - 0138
rewrite hdB_witness_witness_right_right - 0139
specialize finite_add_lt_of_lt_of_le x1 - 0140
specialize finite_add_lt_of_lt_of_le x3 - 0141
specialize finite_add_lt_of_lt_of_le x - 0142
specialize finite_add_lt_of_lt_of_le x2 - 0143
apply finite_add_lt_of_lt_of_le - 0144
specialize IH x1 - 0145
specialize IH x3 - 0146
specialize IH i - 0147
specialize IH a - 0148
specialize IH v - 0149
apply IH - 0150
exact hprefix - 0151
exact hdA_witness_witness_right_left - 0152
exact hdB_witness_witness_right_left - 0153
exact hcase_right - 0154
exact ha - 0155
exact hv - 0156
exact hav - 0157
exact hlast