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.
Statement with defined notation
∀ u. ∀ v. ∀ b. ∀ c. ∀ z. ∀ d. ∀ m. ∀ i. ∀ j. (∀ x. Lt(x,m) → ∃ y. ∃ n. BetaAt(b,c,x + x,y) ∧ (BetaAt(b,c,S (x + x),n) ∧ BetaAt(u,v,y,S n))) → BetaAt(z,d,m + m,i) ∧ (BetaAt(z,d,S (m + m),j) ∧ (∀ x. ∀ y. Lt(x,m + m) → BetaAt(b,c,x,y) → BetaAt(z,d,x,y))) → BetaAt(u,v,i,S j) → ∀ x. Lt(x,S m) → ∃ y. ∃ n. BetaAt(z,d,x + x,y) ∧ (BetaAt(z,d,S (x + x),n) ∧ BetaAt(u,v,y,S n))Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
14 occurrences
In local proof propositions
6 occurrences
Exact expanded native-PA statement
forall u v b c z d m i j. (forall espi_pair_append_old_history. (exists wpo_gap_append_old_history_pair_bound. wpo_gap_append_old_history_pair_bound + S (espi_pair_append_old_history) = m) -> exists espi_left_append_old_history espi_right_append_old_history. (((((exists wpo_beta_height_append_old_history_left_entry. wpo_beta_height_append_old_history_left_entry + S (espi_left_append_old_history) = S ((S (espi_pair_append_old_history + espi_pair_append_old_history)) * c)) /\ exists wpo_beta_quotient_append_old_history_left_entry. b = wpo_beta_quotient_append_old_history_left_entry * S ((S (espi_pair_append_old_history + espi_pair_append_old_history)) * c) + (espi_left_append_old_history))) /\ (((((exists wpo_beta_height_append_old_history_right_entry. wpo_beta_height_append_old_history_right_entry + S (espi_right_append_old_history) = S ((S (S (espi_pair_append_old_history + espi_pair_append_old_history))) * c)) /\ exists wpo_beta_quotient_append_old_history_right_entry. b = wpo_beta_quotient_append_old_history_right_entry * S ((S (S (espi_pair_append_old_history + espi_pair_append_old_history))) * c) + (espi_right_append_old_history))) /\ (((exists wpo_beta_height_append_old_history_scaled_edge. wpo_beta_height_append_old_history_scaled_edge + S (S espi_right_append_old_history) = S ((S (espi_left_append_old_history)) * v)) /\ exists wpo_beta_quotient_append_old_history_scaled_edge. u = wpo_beta_quotient_append_old_history_scaled_edge * S ((S (espi_left_append_old_history)) * v) + (S espi_right_append_old_history)))))))) -> (((((exists wpo_beta_height_append_trace_first. wpo_beta_height_append_trace_first + S (i) = S ((S (m + m)) * d)) /\ exists wpo_beta_quotient_append_trace_first. z = wpo_beta_quotient_append_trace_first * S ((S (m + m)) * d) + (i))) /\ ((((exists wpo_beta_height_append_trace_second. wpo_beta_height_append_trace_second + S (j) = S ((S (S (m + m))) * d)) /\ exists wpo_beta_quotient_append_trace_second. z = wpo_beta_quotient_append_trace_second * S ((S (S (m + m))) * d) + (j))) /\ (forall wpo_old_index_append_trace wpo_old_value_append_trace. (exists wpo_gap_append_trace_old_bound. wpo_gap_append_trace_old_bound + S (wpo_old_index_append_trace) = m + m) -> (((exists wpo_beta_height_append_trace_old_entry. wpo_beta_height_append_trace_old_entry + S (wpo_old_value_append_trace) = S ((S (wpo_old_index_append_trace)) * c)) /\ exists wpo_beta_quotient_append_trace_old_entry. b = wpo_beta_quotient_append_trace_old_entry * S ((S (wpo_old_index_append_trace)) * c) + (wpo_old_value_append_trace))) -> (((exists wpo_beta_height_append_trace_new_entry. wpo_beta_height_append_trace_new_entry + S (wpo_old_value_append_trace) = S ((S (wpo_old_index_append_trace)) * d)) /\ exists wpo_beta_quotient_append_trace_new_entry. z = wpo_beta_quotient_append_trace_new_entry * S ((S (wpo_old_index_append_trace)) * d) + (wpo_old_value_append_trace))))))) -> (((exists wpo_beta_height_append_forward. wpo_beta_height_append_forward + S (S j) = S ((S (i)) * v)) /\ exists wpo_beta_quotient_append_forward. u = wpo_beta_quotient_append_forward * S ((S (i)) * v) + (S j))) -> (forall espi_pair_append_new_history. (exists wpo_gap_append_new_history_pair_bound. wpo_gap_append_new_history_pair_bound + S (espi_pair_append_new_history) = S m) -> exists espi_left_append_new_history espi_right_append_new_history. (((((exists wpo_beta_height_append_new_history_left_entry. wpo_beta_height_append_new_history_left_entry + S (espi_left_append_new_history) = S ((S (espi_pair_append_new_history + espi_pair_append_new_history)) * d)) /\ exists wpo_beta_quotient_append_new_history_left_entry. z = wpo_beta_quotient_append_new_history_left_entry * S ((S (espi_pair_append_new_history + espi_pair_append_new_history)) * d) + (espi_left_append_new_history))) /\ (((((exists wpo_beta_height_append_new_history_right_entry. wpo_beta_height_append_new_history_right_entry + S (espi_right_append_new_history) = S ((S (S (espi_pair_append_new_history + espi_pair_append_new_history))) * d)) /\ exists wpo_beta_quotient_append_new_history_right_entry. z = wpo_beta_quotient_append_new_history_right_entry * S ((S (S (espi_pair_append_new_history + espi_pair_append_new_history))) * d) + (espi_right_append_new_history))) /\ (((exists wpo_beta_height_append_new_history_scaled_edge. wpo_beta_height_append_new_history_scaled_edge + S (S espi_right_append_new_history) = S ((S (espi_left_append_new_history)) * v)) /\ exists wpo_beta_quotient_append_new_history_scaled_edge. u = wpo_beta_quotient_append_new_history_scaled_edge * S ((S (espi_left_append_new_history)) * v) + (S espi_right_append_new_history))))))))Proof neighborhood
Direct theorem prerequisites
PA003D finite_lt_succ_eq_or_lt PA009Q pair_index_left_below_double PA009R pair_index_right_below_doubleDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.
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 (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–12
03Separate the logical casesL13–14
04Fix variables and assumptionsL15–16
05Establish hsplitL17–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
06Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
cases hsplit
07Establish hleft_positionL23–26
08Establish hright_positionL27–29
09Construct an explicit witnessL30–31
10Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
split
11Calculate and transport equalitiesL33–34
12Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
exact htrace_left
13Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
split
14Calculate and transport equalitiesL37–38
15Use earlier factsL39–40
16Establish hold_atL41–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hold.
- L41
have hold_at : ∃ oi. ∃ oj. BetaAt(b,c,t + t,oi) ∧ (BetaAt(b,c,S (t + t),oj) ∧ BetaAt(u,v,oi,S oj))Definitions: BetaAt(b,c,t + t,oi)BetaAt(b,c,S (t + t),oj)BetaAt(u,v,oi,S oj)Original native command in the exact edition - L42
specialize hold t - L43
apply hold - L44
exact hsplit_right
17Separate the logical casesL45–48
18Establish hleft_boundL49–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair index left below double.
- L49
have hleft_bound : Lt(t + t,m + m)Definitions: Lt(t + t,m + m)Original native command in the exact edition - L50
specialize pair_index_left_below_double t - L51
specialize pair_index_left_below_double m - L52
apply pair_index_left_below_double - L53
exact hsplit_right
19Establish hright_boundL54–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair index right below double.
- L54
have hright_bound : Lt(S (t + t),m + m)Definitions: Lt(S (t + t),m + m)Original native command in the exact edition - L55
specialize pair_index_right_below_double t - L56
specialize pair_index_right_below_double m - L57
apply pair_index_right_below_double - L58
exact hsplit_right
20Construct an explicit witnessL59–60
21Separate the logical casesL61–61
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L61
split
22Use earlier factsL62–66
23Separate the logical casesL67–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L67
split
24Use earlier factsL68–73
Original defined command ledger · 73 lines
- 0001
intro u - 0002
intro v - 0003
intro b - 0004
intro c - 0005
intro z - 0006
intro d - 0007
intro m - 0008
intro i - 0009
intro j - 0010
intro hold - 0011
intro htrace - 0012
intro hforward - 0013
cases htrace - 0014
cases htrace_right - 0015
intro t - 0016
intro ht - 0017
have hsplit : t = m ∨ Lt(t,m)Exact native replay line
have hsplit : t = m \/ exists h. h + S t = m - 0018
specialize finite_lt_succ_eq_or_lt m - 0019
specialize finite_lt_succ_eq_or_lt t - 0020
apply finite_lt_succ_eq_or_lt - 0021
exact ht - 0022
cases hsplit - 0023
have hleft_position : t + t = m + m - 0024
rewrite hsplit_left - 0025
rewrite hsplit_left - 0026
refl - 0027
have hright_position : S (t + t) = S (m + m) - 0028
congr - 0029
exact hleft_position - 0030
exists i - 0031
exists j - 0032
split - 0033
rewrite hleft_position - 0034
rewrite hleft_position - 0035
exact htrace_left - 0036
split - 0037
rewrite hright_position - 0038
rewrite hright_position - 0039
exact htrace_right_left - 0040
exact hforward - 0041
have hold_at : ∃ oi. ∃ oj. BetaAt(b,c,t + t,oi) ∧ (BetaAt(b,c,S (t + t),oj) ∧ BetaAt(u,v,oi,S oj))Exact native replay line
have hold_at : exists oi oj. ((((exists wpo_beta_height_old_history_left. wpo_beta_height_old_history_left + S (oi) = S ((S (t + t)) * c)) /\ exists wpo_beta_quotient_old_history_left. b = wpo_beta_quotient_old_history_left * S ((S (t + t)) * c) + (oi))) /\ (((((exists wpo_beta_height_old_history_right. wpo_beta_height_old_history_right + S (oj) = S ((S (S (t + t))) * c)) /\ exists wpo_beta_quotient_old_history_right. b = wpo_beta_quotient_old_history_right * S ((S (S (t + t))) * c) + (oj))) /\ (((exists wpo_beta_height_old_history_edge. wpo_beta_height_old_history_edge + S (S oj) = S ((S (oi)) * v)) /\ exists wpo_beta_quotient_old_history_edge. u = wpo_beta_quotient_old_history_edge * S ((S (oi)) * v) + (S oj)))))) - 0042
specialize hold t - 0043
apply hold - 0044
exact hsplit_right - 0045
cases hold_at - 0046
cases hold_at_witness - 0047
cases hold_at_witness_witness - 0048
cases hold_at_witness_witness_right - 0049
have hleft_bound : Lt(t + t,m + m)Exact native replay line
have hleft_bound : exists h. h + S (t + t) = m + m - 0050
specialize pair_index_left_below_double t - 0051
specialize pair_index_left_below_double m - 0052
apply pair_index_left_below_double - 0053
exact hsplit_right - 0054
have hright_bound : Lt(S (t + t),m + m)Exact native replay line
have hright_bound : exists h. h + S (S (t + t)) = m + m - 0055
specialize pair_index_right_below_double t - 0056
specialize pair_index_right_below_double m - 0057
apply pair_index_right_below_double - 0058
exact hsplit_right - 0059
exists x - 0060
exists x1 - 0061
split - 0062
specialize htrace_right_right (t + t) - 0063
specialize htrace_right_right x - 0064
apply htrace_right_right - 0065
exact hleft_bound - 0066
exact hold_at_witness_witness_left - 0067
split - 0068
specialize htrace_right_right (S (t + t)) - 0069
specialize htrace_right_right x1 - 0070
apply htrace_right_right - 0071
exact hright_bound - 0072
exact hold_at_witness_witness_right_left - 0073
exact hold_at_witness_witness_right_right