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. ∀ n. ∀ b. ∀ c. ∀ i. p = S n → Prime(p) → InversePrefix(p,n,b,c,n) → Lt(i,n) → BetaAt(b,c,i,i) → i = 0 ∨ S i = nEvery 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
3 occurrences
Exact expanded native-PA statement
forall p n b c i. p = S n -> ((~(p = 1) /\ forall wip_prime_left_fixed_prime wip_prime_right_fixed_prime. p = wip_prime_left_fixed_prime * wip_prime_right_fixed_prime -> wip_prime_left_fixed_prime = 1 \/ wip_prime_right_fixed_prime = 1)) -> (forall wip_index_fixed_prefix. (exists wip_gap_fixed_prefix_prefix_bound. wip_gap_fixed_prefix_prefix_bound + S wip_index_fixed_prefix = n) -> exists wip_mate_fixed_prefix. ((((exists wip_beta_height_fixed_prefix_decoded. wip_beta_height_fixed_prefix_decoded + S (wip_mate_fixed_prefix) = S ((S (wip_index_fixed_prefix)) * c)) /\ exists wip_beta_quotient_fixed_prefix_decoded. b = wip_beta_quotient_fixed_prefix_decoded * S ((S (wip_index_fixed_prefix)) * c) + (wip_mate_fixed_prefix))) /\ ((exists wip_gap_fixed_prefix_inverse_index_bound. wip_gap_fixed_prefix_inverse_index_bound + S wip_index_fixed_prefix = n) /\ ((exists wip_gap_fixed_prefix_inverse_mate_bound. wip_gap_fixed_prefix_inverse_mate_bound + S wip_mate_fixed_prefix = n) /\ (exists wip_mod_left_fixed_prefix_inverse_mod wip_mod_right_fixed_prefix_inverse_mod. ((S wip_index_fixed_prefix) * S wip_mate_fixed_prefix) + p * wip_mod_left_fixed_prefix_inverse_mod = 1 + p * wip_mod_right_fixed_prefix_inverse_mod))))) -> (exists wip_gap_fixed_index_bound. wip_gap_fixed_index_bound + S i = n) -> (((exists wip_beta_height_fixed_entry. wip_beta_height_fixed_entry + S (i) = S ((S (i)) * c)) /\ exists wip_beta_quotient_fixed_entry. b = wip_beta_quotient_fixed_entry * S ((S (i)) * c) + (i))) -> i = 0 \/ S i = nProof neighborhood
Direct theorem prerequisites
PA00AF inverse_prefix_entry_sound PA002K succ_le_succ PA00AG prime_bounded_square_one_cases PA003V succ_injectiveDirect 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 (4)
01Fix variables and assumptionsL1–10
02Establish hidxL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply inverse prefix entry sound.
- L11
have hidx : InverseIndex(p,n,i,i)Definitions: InverseIndex(p,n,i,i)Original native command in the exact edition - L12
specialize inverse_prefix_entry_sound p - L13
specialize inverse_prefix_entry_sound n - L14
specialize inverse_prefix_entry_sound b - L15
specialize inverse_prefix_entry_sound c - L16
specialize inverse_prefix_entry_sound n - L17
specialize inverse_prefix_entry_sound i - L18
specialize inverse_prefix_entry_sound i - L19
apply inverse_prefix_entry_sound - L20
exact hprefix
03Use earlier factsL21–22
04Separate the logical casesL23–24
05Establish hpositiveL25–25
Establish this local claim before using it. It is not an additional assumption.
06Construct an explicit witnessL26–26
Supply the displayed value, then prove that it has the required property.
- L26
exists i
07Calculate and transport equalitiesL27–29
08Establish hboundedL30–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ le succ.
09Establish hcasesL36–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime bounded square one cases.
10Separate the logical casesL46–47
11Use earlier factsL48–51
12Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
right
13Use earlier factsL53–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
exact hcases_right
Original defined command ledger · 53 lines
- 0001
intro p - 0002
intro n - 0003
intro b - 0004
intro c - 0005
intro i - 0006
intro hpn - 0007
intro hp - 0008
intro hprefix - 0009
intro hi - 0010
intro hfixed - 0011
have hidx : InverseIndex(p,n,i,i)Exact native replay line
have hidx : (exists wip_gap_fixed_inverse_index_bound. wip_gap_fixed_inverse_index_bound + S i = n) /\ ((exists wip_gap_fixed_inverse_mate_bound. wip_gap_fixed_inverse_mate_bound + S i = n) /\ (exists wip_mod_left_fixed_inverse_mod wip_mod_right_fixed_inverse_mod. ((S i) * S i) + p * wip_mod_left_fixed_inverse_mod = 1 + p * wip_mod_right_fixed_inverse_mod)) - 0012
specialize inverse_prefix_entry_sound p - 0013
specialize inverse_prefix_entry_sound n - 0014
specialize inverse_prefix_entry_sound b - 0015
specialize inverse_prefix_entry_sound c - 0016
specialize inverse_prefix_entry_sound n - 0017
specialize inverse_prefix_entry_sound i - 0018
specialize inverse_prefix_entry_sound i - 0019
apply inverse_prefix_entry_sound - 0020
exact hprefix - 0021
exact hi - 0022
exact hfixed - 0023
cases hidx - 0024
cases hidx_right - 0025
have hpositive : Lt(0,S i)Exact native replay line
have hpositive : exists wii_positive_gap_fixed_positive. wii_positive_gap_fixed_positive + 1 = S i - 0026
exists i - 0027
rewrite PA4 - 0028
rewrite PA3 - 0029
refl - 0030
have hbounded : Lt(S i,p)Exact native replay line
have hbounded : exists wii_successor_gap_fixed_residue_bound. wii_successor_gap_fixed_residue_bound + S (S i) = p - 0031
rewrite hpn - 0032
specialize succ_le_succ (S i) - 0033
specialize succ_le_succ n - 0034
apply succ_le_succ - 0035
exact hidx_left - 0036
have hcases : S i = 1 \/ S i = n - 0037
specialize prime_bounded_square_one_cases p - 0038
specialize prime_bounded_square_one_cases n - 0039
specialize prime_bounded_square_one_cases (S i) - 0040
apply prime_bounded_square_one_cases - 0041
exact hpn - 0042
exact hp - 0043
exact hpositive - 0044
exact hbounded - 0045
exact hidx_right_right - 0046
cases hcases - 0047
left - 0048
specialize succ_injective i - 0049
specialize succ_injective 0 - 0050
apply succ_injective - 0051
exact hcases_left - 0052
right - 0053
exact hcases_right