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
∀ p. ∀ a. ∀ n. ∀ b. ∀ c. ∀ i. ∀ y. p = S n → ScaledInversePrefix(p,a,n,b,c,n) → Lt(i,n) → BetaAt(b,c,i,y) → ∃ x. y = S x ∧ Lt(x,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
4 occurrences
In local proof propositions
2 occurrences
Exact expanded native-PA statement
forall p a n b c i y. p = S n -> (forall esip_index_predecessor_prefix. (exists esip_gap_predecessor_prefix_prefix_bound. esip_gap_predecessor_prefix_prefix_bound + S (esip_index_predecessor_prefix) = n) -> exists esip_mate_predecessor_prefix. ((((exists ff_h_esip_predecessor_prefix_entry. ff_h_esip_predecessor_prefix_entry + S (esip_mate_predecessor_prefix) = S ((S (esip_index_predecessor_prefix)) * c)) /\ exists ff_q_esip_predecessor_prefix_entry. b = ff_q_esip_predecessor_prefix_entry * S ((S (esip_index_predecessor_prefix)) * c) + (esip_mate_predecessor_prefix))) /\ ((exists esip_gap_predecessor_prefix_relation_index_bound. esip_gap_predecessor_prefix_relation_index_bound + S (esip_index_predecessor_prefix) = n) /\ ((((~((S esip_index_predecessor_prefix) = 0) /\ (exists esip_gap_predecessor_prefix_relation_scaled_left_bound. esip_gap_predecessor_prefix_relation_scaled_left_bound + S (S esip_index_predecessor_prefix) = p))) /\ (((~(esip_mate_predecessor_prefix = 0) /\ (exists esip_gap_predecessor_prefix_relation_scaled_right_bound. esip_gap_predecessor_prefix_relation_scaled_right_bound + S (esip_mate_predecessor_prefix) = p))) /\ (exists esi_mod_left_predecessor_prefix_relation_scaled_mod esi_mod_right_predecessor_prefix_relation_scaled_mod. ((S esip_index_predecessor_prefix) * esip_mate_predecessor_prefix) + p * esi_mod_left_predecessor_prefix_relation_scaled_mod = (a) + p * esi_mod_right_predecessor_prefix_relation_scaled_mod))))))) -> (exists esip_gap_predecessor_source_bound. esip_gap_predecessor_source_bound + S (i) = n) -> (((exists ff_h_esipe_predecessor_at. ff_h_esipe_predecessor_at + S (y) = S ((S (i)) * c)) /\ exists ff_q_esipe_predecessor_at. b = ff_q_esipe_predecessor_at * S ((S (i)) * c) + (y))) -> exists j. y = S j /\ (exists esip_gap_predecessor_result_bound. esip_gap_predecessor_result_bound + S (j) = n)Proof neighborhood
Direct theorem prerequisites
Direct 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–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hat
03Establish hrelationL12–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply scaled inverse prefix entry sound.
- L12
have hrelation : ScaledInverseIndex(p,a,n,i,y)Definitions: ScaledInverseIndex(p,a,n,i,y)Original native command in the exact edition - L13
specialize scaled_inverse_prefix_entry_sound p - L14
specialize scaled_inverse_prefix_entry_sound a - L15
specialize scaled_inverse_prefix_entry_sound n - L16
specialize scaled_inverse_prefix_entry_sound b - L17
specialize scaled_inverse_prefix_entry_sound c - L18
specialize scaled_inverse_prefix_entry_sound n - L19
specialize scaled_inverse_prefix_entry_sound i - L20
specialize scaled_inverse_prefix_entry_sound y - L21
apply scaled_inverse_prefix_entry_sound
04Use earlier factsL22–24
05Separate the logical casesL25–28
06Establish hshapeL29–32
07Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases hshape
08Establish hjnL34–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le of succ le succ.
09Construct an explicit witnessL41–41
Supply the displayed value, then prove that it has the required property.
- L41
exists x
10Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
split
Original defined command ledger · 44 lines
- 0001
intro p - 0002
intro a - 0003
intro n - 0004
intro b - 0005
intro c - 0006
intro i - 0007
intro y - 0008
intro hpn - 0009
intro hprefix - 0010
intro hi - 0011
intro hat - 0012
have hrelation : ScaledInverseIndex(p,a,n,i,y)Exact native replay line
have hrelation : (exists esip_gap_predecessor_relation_index_bound. esip_gap_predecessor_relation_index_bound + S (i) = n) /\ ((((~((S i) = 0) /\ (exists esip_gap_predecessor_relation_scaled_left_bound. esip_gap_predecessor_relation_scaled_left_bound + S (S i) = p))) /\ (((~(y = 0) /\ (exists esip_gap_predecessor_relation_scaled_right_bound. esip_gap_predecessor_relation_scaled_right_bound + S (y) = p))) /\ (exists esi_mod_left_predecessor_relation_scaled_mod esi_mod_right_predecessor_relation_scaled_mod. ((S i) * y) + p * esi_mod_left_predecessor_relation_scaled_mod = (a) + p * esi_mod_right_predecessor_relation_scaled_mod)))) - 0013
specialize scaled_inverse_prefix_entry_sound p - 0014
specialize scaled_inverse_prefix_entry_sound a - 0015
specialize scaled_inverse_prefix_entry_sound n - 0016
specialize scaled_inverse_prefix_entry_sound b - 0017
specialize scaled_inverse_prefix_entry_sound c - 0018
specialize scaled_inverse_prefix_entry_sound n - 0019
specialize scaled_inverse_prefix_entry_sound i - 0020
specialize scaled_inverse_prefix_entry_sound y - 0021
apply scaled_inverse_prefix_entry_sound - 0022
exact hprefix - 0023
exact hi - 0024
exact hat - 0025
cases hrelation - 0026
cases hrelation_right - 0027
cases hrelation_right_right - 0028
cases hrelation_right_right_left - 0029
have hshape : exists j. y = S j - 0030
specialize nonzero_is_succ y - 0031
apply nonzero_is_succ - 0032
exact hrelation_right_right_left_left - 0033
cases hshape - 0034
have hjn : Lt(x,n)Exact native replay line
have hjn : exists h. h + S x = n - 0035
rewrite hshape_witness at hrelation_right_right_left_right - 0036
rewrite hpn at hrelation_right_right_left_right - 0037
specialize le_of_succ_le_succ (S x) - 0038
specialize le_of_succ_le_succ n - 0039
apply le_of_succ_le_succ - 0040
exact hrelation_right_right_left_right - 0041
exists x - 0042
split - 0043
exact hshape_witness - 0044
exact hjn