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. ∀ k. ∀ b. ∀ c. p = S n → n = S k → InversePrefix(p,n,b,c,n) → BetaAt(b,c,0,0)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
2 occurrences
In local proof propositions
4 occurrences
Exact expanded native-PA statement
forall p n k b c. p = S n -> n = S k -> (forall wip_index_zero_prefix. (exists wip_gap_zero_prefix_prefix_bound. wip_gap_zero_prefix_prefix_bound + S wip_index_zero_prefix = n) -> exists wip_mate_zero_prefix. ((((exists wip_beta_height_zero_prefix_decoded. wip_beta_height_zero_prefix_decoded + S (wip_mate_zero_prefix) = S ((S (wip_index_zero_prefix)) * c)) /\ exists wip_beta_quotient_zero_prefix_decoded. b = wip_beta_quotient_zero_prefix_decoded * S ((S (wip_index_zero_prefix)) * c) + (wip_mate_zero_prefix))) /\ ((exists wip_gap_zero_prefix_inverse_index_bound. wip_gap_zero_prefix_inverse_index_bound + S wip_index_zero_prefix = n) /\ ((exists wip_gap_zero_prefix_inverse_mate_bound. wip_gap_zero_prefix_inverse_mate_bound + S wip_mate_zero_prefix = n) /\ (exists wip_mod_left_zero_prefix_inverse_mod wip_mod_right_zero_prefix_inverse_mod. ((S wip_index_zero_prefix) * S wip_mate_zero_prefix) + p * wip_mod_left_zero_prefix_inverse_mod = 1 + p * wip_mod_right_zero_prefix_inverse_mod))))) -> (((exists wie_beta_height_zero_result. wie_beta_height_zero_result + S (0) = S ((S (0)) * c)) /\ exists wie_beta_quotient_zero_result. b = wie_beta_quotient_zero_result * S ((S (0)) * c) + (0)))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–8
02Establish hzero_boundL9–10
Establish this local claim before using it. It is not an additional assumption.
03Construct an explicit witnessL11–11
Supply the displayed value, then prove that it has the required property.
- L11
exists k
04Calculate and transport equalitiesL12–14
05Establish hzero_reflL15–18
Establish this local claim before using it. It is not an additional assumption.
06Establish hzero_modL19–22
Establish this local claim before using it. It is not an additional assumption.
- L19
have hzero_mod : SuccessorInverse(p,0,0)Definitions: SuccessorInverse(p,0,0)Original native command in the exact edition - L20
specialize one_mul 1 - L21
rewrite one_mul - L22
exact hzero_refl
07Establish hzero_relationL23–23
Establish this local claim before using it. It is not an additional assumption.
- L23
have hzero_relation : InverseIndex(p,n,0,0)Definitions: InverseIndex(p,n,0,0)Original native command in the exact edition
08Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
split
09Use earlier factsL25–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
exact hzero_bound
10Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
split
11Use earlier factsL27–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hzero_bound - L28
exact hzero_mod - L29
specialize inverse_prefix_extensional p - L30
specialize inverse_prefix_extensional n - L31
specialize inverse_prefix_extensional b - L32
specialize inverse_prefix_extensional c - L33
specialize inverse_prefix_extensional n - L34
specialize inverse_prefix_extensional 0 - L35
specialize inverse_prefix_extensional 0 - L36
apply inverse_prefix_extensional
Original defined command ledger · 40 lines
- 0001
intro p - 0002
intro n - 0003
intro k - 0004
intro b - 0005
intro c - 0006
intro hpn - 0007
intro hnk - 0008
intro hprefix - 0009
have hzero_bound : Lt(0,n)Exact native replay line
have hzero_bound : exists wie_strict_gap_zero_bound. wie_strict_gap_zero_bound + S 0 = n - 0010
rewrite hnk - 0011
exists k - 0012
rewrite PA4 - 0013
rewrite PA3 - 0014
refl - 0015
have hzero_refl : ModEq(p,1,1)Exact native replay line
have hzero_refl : exists wie_mod_left_zero_refl wie_mod_right_zero_refl. (1) + p * wie_mod_left_zero_refl = (1) + p * wie_mod_right_zero_refl - 0016
specialize mod_eq_refl p - 0017
specialize mod_eq_refl 1 - 0018
exact mod_eq_refl - 0019
have hzero_mod : SuccessorInverse(p,0,0)Exact native replay line
have hzero_mod : exists wie_mod_left_zero wie_mod_right_zero. ((S 0) * S 0) + p * wie_mod_left_zero = (1) + p * wie_mod_right_zero - 0020
specialize one_mul 1 - 0021
rewrite one_mul - 0022
exact hzero_refl - 0023
have hzero_relation : InverseIndex(p,n,0,0)Exact native replay line
have hzero_relation : (exists wie_strict_gap_zero_relation_index_bound. wie_strict_gap_zero_relation_index_bound + S 0 = n) /\ ((exists wie_strict_gap_zero_relation_mate_bound. wie_strict_gap_zero_relation_mate_bound + S 0 = n) /\ (exists wie_mod_left_zero_relation_mod wie_mod_right_zero_relation_mod. ((S 0) * S 0) + p * wie_mod_left_zero_relation_mod = (1) + p * wie_mod_right_zero_relation_mod)) - 0024
split - 0025
exact hzero_bound - 0026
split - 0027
exact hzero_bound - 0028
exact hzero_mod - 0029
specialize inverse_prefix_extensional p - 0030
specialize inverse_prefix_extensional n - 0031
specialize inverse_prefix_extensional b - 0032
specialize inverse_prefix_extensional c - 0033
specialize inverse_prefix_extensional n - 0034
specialize inverse_prefix_extensional 0 - 0035
specialize inverse_prefix_extensional 0 - 0036
apply inverse_prefix_extensional - 0037
exact hpn - 0038
exact hprefix - 0039
exact hzero_bound - 0040
exact hzero_relation