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 theorem in conservative defined notation
∀ n. ∀ k. ∀ b. ∀ c. ∀ a. ∀ p. BertrandChain(b,c,n,k) → Beta(b,c,k,a) → BertrandWindow(a,p) → ∃ x. ∃ y. BertrandChain(x,y,n,S k) ∧ Beta(x,y,S k,p)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 83 lines are the exact independently kernel-checked original script.
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 hchain
03Establish hextensionL11–16
Establish this local claim before using it. It is not an additional assumption.
- L11
have hextension : ∃ z. ∃ d. Beta(z,d,S k,p) ∧ (∀ x. ∀ y. Lt(x,S k) → Beta(b,c,x,y) → Beta(z,d,x,y))Definitions: BetaLtOriginal native command in the exact edition - L12
specialize beta_prefix_extend (S k) - L13
specialize beta_prefix_extend b - L14
specialize beta_prefix_extend c - L15
specialize beta_prefix_extend p - L16
exact beta_prefix_extend
04Separate the logical casesL17–19
05Construct an explicit witnessL20–21
06Separate the logical casesL22–23
07Use earlier factsL24–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
08Fix variables and assumptionsL33–34
09Establish hsplitL35–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
10Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
cases hsplit
11Construct an explicit witnessL41–42
12Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
split
13Calculate and transport equalitiesL44–45
14Use earlier factsL46–51
15Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
split
16Calculate and transport equalitiesL53–54
17Use earlier factsL55–56
18Establish holdL57–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hchain right.
- L57
have hold : ∃ u. ∃ v. Beta(b,c,i,u) ∧ (Beta(b,c,S i,v) ∧ BertrandWindow(u,v))Definitions: BetaBertrandWindowOriginal native command in the exact edition - L58
specialize hchain_right i - L59
apply hchain_right - L60
exact hsplit_right
19Separate the logical casesL61–64
20Construct an explicit witnessL65–66
21Separate the logical casesL67–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L67
split
22Use earlier factsL68–72
23Separate the logical casesL73–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L73
split
24Use earlier factsL74–83
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
specialize hextension_witness_witness_right (S i) - L75
specialize hextension_witness_witness_right x3 - L76
apply hextension_witness_witness_right - L77
specialize succ_le_succ (S i) - L78
specialize succ_le_succ k - L79
apply succ_le_succ - L80
exact hsplit_right - L81
exact hold_witness_witness_right_left - L82
exact hold_witness_witness_right_right - L83
exact hextension_witness_witness_left
Original defined command ledger · 83 lines
- 0001
intro n - 0002
intro k - 0003
intro b - 0004
intro c - 0005
intro a - 0006
intro p - 0007
intro hchain - 0008
intro hterminal - 0009
intro hwindow - 0010
cases hchain - 0011
have hextension : exists z d. ((((exists bcf_height_bpc_successor_terminal. bcf_height_bpc_successor_terminal + S (p) = S ((S (S k)) * d)) /\ exists bcf_quotient_bpc_successor_terminal. z = bcf_quotient_bpc_successor_terminal * S ((S (S k)) * d) + (p))) /\ forall i v. (exists bcf_lt_gap_bpc_transport_bound. bcf_lt_gap_bpc_transport_bound + S (i) = S k) -> (((exists bcf_height_bpc_transport_old. bcf_height_bpc_transport_old + S (v) = S ((S (i)) * c)) /\ exists bcf_quotient_bpc_transport_old. b = bcf_quotient_bpc_transport_old * S ((S (i)) * c) + (v))) -> (((exists bcf_height_bpc_transport_new. bcf_height_bpc_transport_new + S (v) = S ((S (i)) * d)) /\ exists bcf_quotient_bpc_transport_new. z = bcf_quotient_bpc_transport_new * S ((S (i)) * d) + (v)))) - 0012
specialize beta_prefix_extend (S k) - 0013
specialize beta_prefix_extend b - 0014
specialize beta_prefix_extend c - 0015
specialize beta_prefix_extend p - 0016
exact beta_prefix_extend - 0017
cases hextension - 0018
cases hextension_witness - 0019
cases hextension_witness_witness - 0020
exists x - 0021
exists x1 - 0022
split - 0023
split - 0024
specialize hextension_witness_witness_right 0 - 0025
specialize hextension_witness_witness_right n - 0026
apply hextension_witness_witness_right - 0027
specialize succ_le_succ 0 - 0028
specialize succ_le_succ k - 0029
apply succ_le_succ - 0030
specialize zero_le k - 0031
exact zero_le - 0032
exact hchain_left - 0033
intro i - 0034
intro hbound - 0035
have hsplit : i = k \/ exists gap. gap + S i = k - 0036
specialize finite_lt_succ_eq_or_lt k - 0037
specialize finite_lt_succ_eq_or_lt i - 0038
apply finite_lt_succ_eq_or_lt - 0039
exact hbound - 0040
cases hsplit - 0041
exists a - 0042
exists p - 0043
split - 0044
rewrite hsplit_left - 0045
rewrite hsplit_left - 0046
specialize hextension_witness_witness_right k - 0047
specialize hextension_witness_witness_right a - 0048
apply hextension_witness_witness_right - 0049
specialize le_refl (S k) - 0050
exact le_refl - 0051
exact hterminal - 0052
split - 0053
rewrite hsplit_left - 0054
rewrite hsplit_left - 0055
exact hextension_witness_witness_left - 0056
exact hwindow - 0057
have hold : exists u v. ((((exists bcf_height_bpc_step_old. bcf_height_bpc_step_old + S (u) = S ((S (i)) * c)) /\ exists bcf_quotient_bpc_step_old. b = bcf_quotient_bpc_step_old * S ((S (i)) * c) + (u))) /\ ((((exists bcf_height_bpc_step_next. bcf_height_bpc_step_next + S (v) = S ((S (S i)) * c)) /\ exists bcf_quotient_bpc_step_next. b = bcf_quotient_bpc_step_next * S ((S (S i)) * c) + (v))) /\ ((((~(v = 1) /\ forall frm_prime_left_bpc_old_step_prime frm_prime_right_bpc_old_step_prime. v = frm_prime_left_bpc_old_step_prime * frm_prime_right_bpc_old_step_prime -> frm_prime_left_bpc_old_step_prime = 1 \/ frm_prime_right_bpc_old_step_prime = 1)) /\ ((exists bcf_lt_gap_bpc_old_step_lower. bcf_lt_gap_bpc_old_step_lower + S (u) = v) /\ (exists bcf_lt_gap_bpc_old_step_upper. bcf_lt_gap_bpc_old_step_upper + S (v) = u + u)))))) - 0058
specialize hchain_right i - 0059
apply hchain_right - 0060
exact hsplit_right - 0061
cases hold - 0062
cases hold_witness - 0063
cases hold_witness_witness - 0064
cases hold_witness_witness_right - 0065
exists x2 - 0066
exists x3 - 0067
split - 0068
specialize hextension_witness_witness_right i - 0069
specialize hextension_witness_witness_right x2 - 0070
apply hextension_witness_witness_right - 0071
exact hbound - 0072
exact hold_witness_witness_left - 0073
split - 0074
specialize hextension_witness_witness_right (S i) - 0075
specialize hextension_witness_witness_right x3 - 0076
apply hextension_witness_witness_right - 0077
specialize succ_le_succ (S i) - 0078
specialize succ_le_succ k - 0079
apply succ_le_succ - 0080
exact hsplit_right - 0081
exact hold_witness_witness_right_left - 0082
exact hold_witness_witness_right_right - 0083
exact hextension_witness_witness_left