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 mb mc rb rc H l i r. (forall gmp_index_predecessor_transport_range. (exists gsp_lt_gap_predecessor_transport_range_index_bound. gsp_lt_gap_predecessor_transport_range_index_bound + S gmp_index_predecessor_transport_range = l) -> exists gmp_magnitude_predecessor_transport_range. ((((exists ff_h_gmp_predecessor_transport_range_decoded. ff_h_gmp_predecessor_transport_range_decoded + S (gmp_magnitude_predecessor_transport_range) = S ((S (gmp_index_predecessor_transport_range)) * mc)) /\ exists ff_q_gmp_predecessor_transport_range_decoded. mb = ff_q_gmp_predecessor_transport_range_decoded * S ((S (gmp_index_predecessor_transport_range)) * mc) + (gmp_magnitude_predecessor_transport_range))) /\ ((exists gsp_lt_gap_predecessor_transport_range_positive. gsp_lt_gap_predecessor_transport_range_positive + S 0 = gmp_magnitude_predecessor_transport_range) /\ (exists gsp_le_gap_predecessor_transport_range_bounded. gsp_le_gap_predecessor_transport_range_bounded + gmp_magnitude_predecessor_transport_range = H)))) -> (forall gmp_index_predecessor_transport_recode gmp_predecessor_predecessor_transport_recode. (exists gsp_lt_gap_predecessor_transport_recode_index_bound. gsp_lt_gap_predecessor_transport_recode_index_bound + S gmp_index_predecessor_transport_recode = l) -> (((exists gsp_beta_height_gmp_predecessor_transport_recode_source. gsp_beta_height_gmp_predecessor_transport_recode_source + S (S gmp_predecessor_predecessor_transport_recode) = S ((S (gmp_index_predecessor_transport_recode)) * mc)) /\ exists gsp_beta_quotient_gmp_predecessor_transport_recode_source. mb = gsp_beta_quotient_gmp_predecessor_transport_recode_source * S ((S (gmp_index_predecessor_transport_recode)) * mc) + (S gmp_predecessor_predecessor_transport_recode))) -> (((exists ff_h_gmp_predecessor_transport_recode_target. ff_h_gmp_predecessor_transport_recode_target + S (gmp_predecessor_predecessor_transport_recode) = S ((S (gmp_index_predecessor_transport_recode)) * rc)) /\ exists ff_q_gmp_predecessor_transport_recode_target. rb = ff_q_gmp_predecessor_transport_recode_target * S ((S (gmp_index_predecessor_transport_recode)) * rc) + (gmp_predecessor_predecessor_transport_recode)))) -> (exists gsp_lt_gap_predecessor_transport_index_bound. gsp_lt_gap_predecessor_transport_index_bound + S i = l) -> (((exists ff_h_gmp_predecessor_transport_target_entry. ff_h_gmp_predecessor_transport_target_entry + S (r) = S ((S (i)) * rc)) /\ exists ff_q_gmp_predecessor_transport_target_entry. rb = ff_q_gmp_predecessor_transport_target_entry * S ((S (i)) * rc) + (r))) -> (((exists gsp_beta_height_predecessor_transport_source_entry. gsp_beta_height_predecessor_transport_source_entry + S (S r) = S ((S (i)) * mc)) /\ exists gsp_beta_quotient_predecessor_transport_source_entry. mb = gsp_beta_quotient_predecessor_transport_source_entry * S ((S (i)) * mc) + (S r)))Structural proof guide
Generated structural guide
Unique target decoding reflects every predecessor-code entry back to its source successor magnitude.
Use the direct prerequisites ne_zero_of_one_le, nonzero_is_succ, beta_at_unique as previously established PA formulas.
The proof proceeds by case analysis (4), intermediate claims (7), equality transport (4).
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–10
02Fix variables and assumptionsL11–12
03Establish hentryL13–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hrange.
- L13
have hentry : exists m. (((exists ff_h_gmp_predecessor_transport_range_entry. ff_h_gmp_predecessor_transport_range_entry + S (m) = S ((S (i)) * mc)) /\ exists ff_q_gmp_predecessor_transport_range_entry. mb = ff_q_gmp_predecessor_transport_range_entry * S ((S (i)) * mc) + (m))) /\ ((exists gsp_lt_gap_predecessor_transport_positive. gsp_lt_gap_predecessor_transport_positive + S 0 = m) /\ (exists gsp_le_gap_predecessor_transport_bounded. gsp_le_gap_predecessor_transport_bounded + m = H)) - L14
specialize hrange i - L15
apply hrange - L16
exact hi
04Separate the logical casesL17–19
05Establish hx0L20–25
06Establish hxpredecessorL26–29
07Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases hxpredecessor
08Establish hsource_predecessorL31–34
Establish this local claim before using it. It is not an additional assumption.
- L31
have hsource_predecessor : ((exists gsp_beta_height_predecessor_transport_source_predecessor. gsp_beta_height_predecessor_transport_source_predecessor + S (S x1) = S ((S (i)) * mc)) /\ exists gsp_beta_quotient_predecessor_transport_source_predecessor. mb = gsp_beta_quotient_predecessor_transport_source_predecessor * S ((S (i)) * mc) + (S x1)) - L32
rewrite <- hxpredecessor_witness - L33
rewrite <- hxpredecessor_witness - L34
exact hentry_witness_left
09Establish htarget_predecessorL35–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hrecode.
- L35
have htarget_predecessor : ((exists ff_h_gmp_predecessor_transport_target_predecessor. ff_h_gmp_predecessor_transport_target_predecessor + S (x1) = S ((S (i)) * rc)) /\ exists ff_q_gmp_predecessor_transport_target_predecessor. rb = ff_q_gmp_predecessor_transport_target_predecessor * S ((S (i)) * rc) + (x1)) - L36
specialize hrecode i - L37
specialize hrecode x1 - L38
apply hrecode - L39
exact hi - L40
exact hsource_predecessor
10Establish hrxL41–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
Original exact command ledger · 58 lines
- 0001
intro mb - 0002
intro mc - 0003
intro rb - 0004
intro rc - 0005
intro H - 0006
intro l - 0007
intro i - 0008
intro r - 0009
intro hrange - 0010
intro hrecode - 0011
intro hi - 0012
intro htarget - 0013
have hentry : exists m. (((exists ff_h_gmp_predecessor_transport_range_entry. ff_h_gmp_predecessor_transport_range_entry + S (m) = S ((S (i)) * mc)) /\ exists ff_q_gmp_predecessor_transport_range_entry. mb = ff_q_gmp_predecessor_transport_range_entry * S ((S (i)) * mc) + (m))) /\ ((exists gsp_lt_gap_predecessor_transport_positive. gsp_lt_gap_predecessor_transport_positive + S 0 = m) /\ (exists gsp_le_gap_predecessor_transport_bounded. gsp_le_gap_predecessor_transport_bounded + m = H)) - 0014
specialize hrange i - 0015
apply hrange - 0016
exact hi - 0017
cases hentry - 0018
cases hentry_witness - 0019
cases hentry_witness_right - 0020
have hx0 : ~(x = 0) - 0021
intro hxzero - 0022
specialize ne_zero_of_one_le x - 0023
apply ne_zero_of_one_le - 0024
exact hentry_witness_right_left - 0025
exact hxzero - 0026
have hxpredecessor : exists q. x = S q - 0027
specialize nonzero_is_succ x - 0028
apply nonzero_is_succ - 0029
exact hx0 - 0030
cases hxpredecessor - 0031
have hsource_predecessor : ((exists gsp_beta_height_predecessor_transport_source_predecessor. gsp_beta_height_predecessor_transport_source_predecessor + S (S x1) = S ((S (i)) * mc)) /\ exists gsp_beta_quotient_predecessor_transport_source_predecessor. mb = gsp_beta_quotient_predecessor_transport_source_predecessor * S ((S (i)) * mc) + (S x1)) - 0032
rewrite <- hxpredecessor_witness - 0033
rewrite <- hxpredecessor_witness - 0034
exact hentry_witness_left - 0035
have htarget_predecessor : ((exists ff_h_gmp_predecessor_transport_target_predecessor. ff_h_gmp_predecessor_transport_target_predecessor + S (x1) = S ((S (i)) * rc)) /\ exists ff_q_gmp_predecessor_transport_target_predecessor. rb = ff_q_gmp_predecessor_transport_target_predecessor * S ((S (i)) * rc) + (x1)) - 0036
specialize hrecode i - 0037
specialize hrecode x1 - 0038
apply hrecode - 0039
exact hi - 0040
exact hsource_predecessor - 0041
have hrx : r = x1 - 0042
specialize beta_at_unique rb - 0043
specialize beta_at_unique rc - 0044
specialize beta_at_unique i - 0045
specialize beta_at_unique r - 0046
specialize beta_at_unique x1 - 0047
apply beta_at_unique - 0048
exact htarget - 0049
exact htarget_predecessor - 0050
have hxsr : x = S r - 0051
trans S x1 - 0052
exact hxpredecessor_witness - 0053
congr - 0054
symm - 0055
exact hrx - 0056
rewrite hxsr at hentry_witness_left - 0057
rewrite hxsr at hentry_witness_left - 0058
exact hentry_witness_left