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 PA statement
forall b c l a e. exists z d. (((((exists wpo_beta_height_append_result_first. wpo_beta_height_append_result_first + S (a) = S ((S (l)) * d)) /\ exists wpo_beta_quotient_append_result_first. z = wpo_beta_quotient_append_result_first * S ((S (l)) * d) + (a))) /\ ((((exists wpo_beta_height_append_result_second. wpo_beta_height_append_result_second + S (e) = S ((S (S (l))) * d)) /\ exists wpo_beta_quotient_append_result_second. z = wpo_beta_quotient_append_result_second * S ((S (S (l))) * d) + (e))) /\ (forall wpo_old_index_append_result wpo_old_value_append_result. (exists wpo_gap_append_result_old_bound. wpo_gap_append_result_old_bound + S (wpo_old_index_append_result) = l) -> (((exists wpo_beta_height_append_result_old_entry. wpo_beta_height_append_result_old_entry + S (wpo_old_value_append_result) = S ((S (wpo_old_index_append_result)) * c)) /\ exists wpo_beta_quotient_append_result_old_entry. b = wpo_beta_quotient_append_result_old_entry * S ((S (wpo_old_index_append_result)) * c) + (wpo_old_value_append_result))) -> (((exists wpo_beta_height_append_result_new_entry. wpo_beta_height_append_result_new_entry + S (wpo_old_value_append_result) = S ((S (wpo_old_index_append_result)) * d)) /\ exists wpo_beta_quotient_append_result_new_entry. z = wpo_beta_quotient_append_result_new_entry * S ((S (wpo_old_index_append_result)) * d) + (wpo_old_value_append_result)))))))Structural proof guide
Generated structural guide
Append two values at consecutive beta positions while preserving every old entry.
Use the direct prerequisites beta_prefix_extend, le_refl, le_succ as previously established PA formulas.
The proof proceeds by case analysis (6), intermediate claims (3).
Referenced ingredients
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Alpha-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
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–5
02Establish hfirst_extendL6–7
Establish this local claim before using it. It is not an additional assumption.
- L6
have hfirst_extend : forall k q s v. exists r t. (((exists h. h + S v = S ((S k) * t)) /\ exists u. r = u * S ((S k) * t) + v) /\ forall i w. (exists h. h + S i = k) -> ((exists h. h + S w = S ((S i) * s)) /\ exists u. q = u * S ((S i) * s) + w) -> ((exists h. h + S w = S ((S i) * t)) /\ exists u. r = u * S ((S i) * t) + w)) - L7
exact beta_prefix_extend
03Establish hsecond_extendL8–13
Establish this local claim before using it. It is not an additional assumption.
- L8
have hsecond_extend : forall k q s v. exists r t. (((exists h. h + S v = S ((S k) * t)) /\ exists u. r = u * S ((S k) * t) + v) /\ forall i w. (exists h. h + S i = k) -> ((exists h. h + S w = S ((S i) * s)) /\ exists u. q = u * S ((S i) * s) + w) -> ((exists h. h + S w = S ((S i) * t)) /\ exists u. r = u * S ((S i) * t) + w)) - L9
exact beta_prefix_extend - L10
specialize hfirst_extend l - L11
specialize hfirst_extend b - L12
specialize hfirst_extend c - L13
specialize hfirst_extend a
04Separate the logical casesL14–16
05Use earlier factsL17–20
06Separate the logical casesL21–23
07Construct an explicit witnessL24–25
08Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
split
09Use earlier factsL27–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
10Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
split
11Use earlier factsL34–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
exact hsecond_extend_witness_witness_left
12Fix variables and assumptionsL35–38
13Establish hmiddleL39–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hfirst extend witness witness right.
- L39
have hmiddle : ((exists wpo_beta_height_append_old_middle. wpo_beta_height_append_old_middle + S (v) = S ((S (i)) * x1)) /\ exists wpo_beta_quotient_append_old_middle. x = wpo_beta_quotient_append_old_middle * S ((S (i)) * x1) + (v)) - L40
specialize hfirst_extend_witness_witness_right i - L41
specialize hfirst_extend_witness_witness_right v - L42
apply hfirst_extend_witness_witness_right - L43
exact hi - L44
exact hold - L45
specialize hsecond_extend_witness_witness_right i - L46
specialize hsecond_extend_witness_witness_right v - L47
apply hsecond_extend_witness_witness_right - L48
specialize le_succ (S i)
Original exact command ledger · 52 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro a - 0005
intro e - 0006
have hfirst_extend : forall k q s v. exists r t. (((exists h. h + S v = S ((S k) * t)) /\ exists u. r = u * S ((S k) * t) + v) /\ forall i w. (exists h. h + S i = k) -> ((exists h. h + S w = S ((S i) * s)) /\ exists u. q = u * S ((S i) * s) + w) -> ((exists h. h + S w = S ((S i) * t)) /\ exists u. r = u * S ((S i) * t) + w)) - 0007
exact beta_prefix_extend - 0008
have hsecond_extend : forall k q s v. exists r t. (((exists h. h + S v = S ((S k) * t)) /\ exists u. r = u * S ((S k) * t) + v) /\ forall i w. (exists h. h + S i = k) -> ((exists h. h + S w = S ((S i) * s)) /\ exists u. q = u * S ((S i) * s) + w) -> ((exists h. h + S w = S ((S i) * t)) /\ exists u. r = u * S ((S i) * t) + w)) - 0009
exact beta_prefix_extend - 0010
specialize hfirst_extend l - 0011
specialize hfirst_extend b - 0012
specialize hfirst_extend c - 0013
specialize hfirst_extend a - 0014
cases hfirst_extend - 0015
cases hfirst_extend_witness - 0016
cases hfirst_extend_witness_witness - 0017
specialize hsecond_extend (S l) - 0018
specialize hsecond_extend x - 0019
specialize hsecond_extend x1 - 0020
specialize hsecond_extend e - 0021
cases hsecond_extend - 0022
cases hsecond_extend_witness - 0023
cases hsecond_extend_witness_witness - 0024
exists x2 - 0025
exists x3 - 0026
split - 0027
specialize hsecond_extend_witness_witness_right l - 0028
specialize hsecond_extend_witness_witness_right a - 0029
apply hsecond_extend_witness_witness_right - 0030
specialize le_refl (S l) - 0031
exact le_refl - 0032
exact hfirst_extend_witness_witness_left - 0033
split - 0034
exact hsecond_extend_witness_witness_left - 0035
intro i - 0036
intro v - 0037
intro hi - 0038
intro hold - 0039
have hmiddle : ((exists wpo_beta_height_append_old_middle. wpo_beta_height_append_old_middle + S (v) = S ((S (i)) * x1)) /\ exists wpo_beta_quotient_append_old_middle. x = wpo_beta_quotient_append_old_middle * S ((S (i)) * x1) + (v)) - 0040
specialize hfirst_extend_witness_witness_right i - 0041
specialize hfirst_extend_witness_witness_right v - 0042
apply hfirst_extend_witness_witness_right - 0043
exact hi - 0044
exact hold - 0045
specialize hsecond_extend_witness_witness_right i - 0046
specialize hsecond_extend_witness_witness_right v - 0047
apply hsecond_extend_witness_witness_right - 0048
specialize le_succ (S i) - 0049
specialize le_succ l - 0050
apply le_succ - 0051
exact hi - 0052
exact hmiddle