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
∀ a. ∀ e. ∀ n. ∀ m. Pow(a,e,n) → Pow(a,e,m) → n = mEvery 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 a e n m. (exists ff_b_l ff_c_l. ((forall ff_i_l_repeat. (exists ff_lt_l_repeat_bound. ff_lt_l_repeat_bound + S ff_i_l_repeat = e) -> (((exists ff_h_l_repeat_decoded. ff_h_l_repeat_decoded + S (a) = S ((S (ff_i_l_repeat)) * ff_c_l)) /\ exists ff_q_l_repeat_decoded. ff_b_l = ff_q_l_repeat_decoded * S ((S (ff_i_l_repeat)) * ff_c_l) + (a)))) /\ (exists ff_u_l_product ff_v_l_product. ((((exists ff_h_l_product_start. ff_h_l_product_start + S (1) = S ((S (0)) * ff_v_l_product)) /\ exists ff_q_l_product_start. ff_u_l_product = ff_q_l_product_start * S ((S (0)) * ff_v_l_product) + (1))) /\ ((((exists ff_h_l_product_terminal. ff_h_l_product_terminal + S (n) = S ((S (e)) * ff_v_l_product)) /\ exists ff_q_l_product_terminal. ff_u_l_product = ff_q_l_product_terminal * S ((S (e)) * ff_v_l_product) + (n))) /\ forall ff_i_l_product. (exists ff_lt_l_product_bound. ff_lt_l_product_bound + S ff_i_l_product = e) -> exists ff_p_l_product ff_r_l_product ff_s_l_product. ((((exists ff_h_l_product_factor. ff_h_l_product_factor + S (ff_p_l_product) = S ((S (ff_i_l_product)) * ff_c_l)) /\ exists ff_q_l_product_factor. ff_b_l = ff_q_l_product_factor * S ((S (ff_i_l_product)) * ff_c_l) + (ff_p_l_product))) /\ ((((exists ff_h_l_product_partial. ff_h_l_product_partial + S (ff_r_l_product) = S ((S (ff_i_l_product)) * ff_v_l_product)) /\ exists ff_q_l_product_partial. ff_u_l_product = ff_q_l_product_partial * S ((S (ff_i_l_product)) * ff_v_l_product) + (ff_r_l_product))) /\ ((((exists ff_h_l_product_successor. ff_h_l_product_successor + S (ff_s_l_product) = S ((S (S ff_i_l_product)) * ff_v_l_product)) /\ exists ff_q_l_product_successor. ff_u_l_product = ff_q_l_product_successor * S ((S (S ff_i_l_product)) * ff_v_l_product) + (ff_s_l_product))) /\ ff_s_l_product = ff_r_l_product * ff_p_l_product)))))))) -> (exists ff_b_r ff_c_r. ((forall ff_i_r_repeat. (exists ff_lt_r_repeat_bound. ff_lt_r_repeat_bound + S ff_i_r_repeat = e) -> (((exists ff_h_r_repeat_decoded. ff_h_r_repeat_decoded + S (a) = S ((S (ff_i_r_repeat)) * ff_c_r)) /\ exists ff_q_r_repeat_decoded. ff_b_r = ff_q_r_repeat_decoded * S ((S (ff_i_r_repeat)) * ff_c_r) + (a)))) /\ (exists ff_u_r_product ff_v_r_product. ((((exists ff_h_r_product_start. ff_h_r_product_start + S (1) = S ((S (0)) * ff_v_r_product)) /\ exists ff_q_r_product_start. ff_u_r_product = ff_q_r_product_start * S ((S (0)) * ff_v_r_product) + (1))) /\ ((((exists ff_h_r_product_terminal. ff_h_r_product_terminal + S (m) = S ((S (e)) * ff_v_r_product)) /\ exists ff_q_r_product_terminal. ff_u_r_product = ff_q_r_product_terminal * S ((S (e)) * ff_v_r_product) + (m))) /\ forall ff_i_r_product. (exists ff_lt_r_product_bound. ff_lt_r_product_bound + S ff_i_r_product = e) -> exists ff_p_r_product ff_r_r_product ff_s_r_product. ((((exists ff_h_r_product_factor. ff_h_r_product_factor + S (ff_p_r_product) = S ((S (ff_i_r_product)) * ff_c_r)) /\ exists ff_q_r_product_factor. ff_b_r = ff_q_r_product_factor * S ((S (ff_i_r_product)) * ff_c_r) + (ff_p_r_product))) /\ ((((exists ff_h_r_product_partial. ff_h_r_product_partial + S (ff_r_r_product) = S ((S (ff_i_r_product)) * ff_v_r_product)) /\ exists ff_q_r_product_partial. ff_u_r_product = ff_q_r_product_partial * S ((S (ff_i_r_product)) * ff_v_r_product) + (ff_r_r_product))) /\ ((((exists ff_h_r_product_successor. ff_h_r_product_successor + S (ff_s_r_product) = S ((S (S ff_i_r_product)) * ff_v_r_product)) /\ exists ff_q_r_product_successor. ff_u_r_product = ff_q_r_product_successor * S ((S (S ff_i_r_product)) * ff_v_r_product) + (ff_s_r_product))) /\ ff_s_r_product = ff_r_r_product * ff_p_r_product)))))))) -> n = mProof neighborhood
Direct theorem prerequisites
PA005F beta_repeat_transport_entry PA004Y beta_product_transport_prefix PA0051 beta_product_functionalDirect 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–6
02Separate the logical casesL7–12
03Establish htransportL13–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta product transport prefix.
- L13
have htransport : Product(x2,x3,e,n)Definitions: Product(x2,x3,e,n)Original native command in the exact edition - L14
specialize beta_product_transport_prefix x - L15
specialize beta_product_transport_prefix x1 - L16
specialize beta_product_transport_prefix x2 - L17
specialize beta_product_transport_prefix x3 - L18
specialize beta_product_transport_prefix e - L19
specialize beta_product_transport_prefix n - L20
apply beta_product_transport_prefix - L21
exact hn_witness_witness_right - L22
intro i
04Fix variables and assumptionsL23–25
05Use earlier factsL26–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
06Establish hentriesL32–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta repeat transport entry.
- L32
have hentries : ∀ i. ∀ p. Lt(i,e) → BetaAt(x,x1,i,p) → BetaAt(x2,x3,i,p)Definitions: Lt(i,e)BetaAt(x,x1,i,p)BetaAt(x2,x3,i,p)Original native command in the exact edition - L33
apply beta_repeat_transport_entry - L34
exact hn_witness_witness_left - L35
exact hm_witness_witness_left - L36
specialize hentries i - L37
specialize hentries p - L38
apply hentries - L39
exact hi - L40
exact hp
07Separate the logical casesL41–44
08Use earlier factsL45–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
specialize beta_product_functional x2 - L46
specialize beta_product_functional x3 - L47
specialize beta_product_functional e - L48
specialize beta_product_functional n - L49
specialize beta_product_functional x4 - L50
specialize beta_product_functional x5 - L51
specialize beta_product_functional m - L52
specialize beta_product_functional x6 - L53
specialize beta_product_functional x7 - L54
apply beta_product_functional
Original defined command ledger · 56 lines
- 0001
intro a - 0002
intro e - 0003
intro n - 0004
intro m - 0005
intro hn - 0006
intro hm - 0007
cases hn - 0008
cases hn_witness - 0009
cases hn_witness_witness - 0010
cases hm - 0011
cases hm_witness - 0012
cases hm_witness_witness - 0013
have htransport : Product(x2,x3,e,n)Exact native replay line
have htransport : exists ff_u_transport ff_v_transport. ((((exists ff_h_transport_start. ff_h_transport_start + S (1) = S ((S (0)) * ff_v_transport)) /\ exists ff_q_transport_start. ff_u_transport = ff_q_transport_start * S ((S (0)) * ff_v_transport) + (1))) /\ ((((exists ff_h_transport_terminal. ff_h_transport_terminal + S (n) = S ((S (e)) * ff_v_transport)) /\ exists ff_q_transport_terminal. ff_u_transport = ff_q_transport_terminal * S ((S (e)) * ff_v_transport) + (n))) /\ forall ff_i_transport. (exists ff_lt_transport_bound. ff_lt_transport_bound + S ff_i_transport = e) -> exists ff_p_transport ff_r_transport ff_s_transport. ((((exists ff_h_transport_factor. ff_h_transport_factor + S (ff_p_transport) = S ((S (ff_i_transport)) * x3)) /\ exists ff_q_transport_factor. x2 = ff_q_transport_factor * S ((S (ff_i_transport)) * x3) + (ff_p_transport))) /\ ((((exists ff_h_transport_partial. ff_h_transport_partial + S (ff_r_transport) = S ((S (ff_i_transport)) * ff_v_transport)) /\ exists ff_q_transport_partial. ff_u_transport = ff_q_transport_partial * S ((S (ff_i_transport)) * ff_v_transport) + (ff_r_transport))) /\ ((((exists ff_h_transport_successor. ff_h_transport_successor + S (ff_s_transport) = S ((S (S ff_i_transport)) * ff_v_transport)) /\ exists ff_q_transport_successor. ff_u_transport = ff_q_transport_successor * S ((S (S ff_i_transport)) * ff_v_transport) + (ff_s_transport))) /\ ff_s_transport = ff_r_transport * ff_p_transport))))) - 0014
specialize beta_product_transport_prefix x - 0015
specialize beta_product_transport_prefix x1 - 0016
specialize beta_product_transport_prefix x2 - 0017
specialize beta_product_transport_prefix x3 - 0018
specialize beta_product_transport_prefix e - 0019
specialize beta_product_transport_prefix n - 0020
apply beta_product_transport_prefix - 0021
exact hn_witness_witness_right - 0022
intro i - 0023
intro p - 0024
intro hi - 0025
intro hp - 0026
specialize beta_repeat_transport_entry x - 0027
specialize beta_repeat_transport_entry x1 - 0028
specialize beta_repeat_transport_entry x2 - 0029
specialize beta_repeat_transport_entry x3 - 0030
specialize beta_repeat_transport_entry a - 0031
specialize beta_repeat_transport_entry e - 0032
have hentries : ∀ i. ∀ p. Lt(i,e) → BetaAt(x,x1,i,p) → BetaAt(x2,x3,i,p)Exact native replay line
have hentries : forall i p. (exists h. h + S i = e) -> (((exists ff_h_pow_transport_l. ff_h_pow_transport_l + S (p) = S ((S (i)) * x1)) /\ exists ff_q_pow_transport_l. x = ff_q_pow_transport_l * S ((S (i)) * x1) + (p))) -> (((exists ff_h_pow_transport_r. ff_h_pow_transport_r + S (p) = S ((S (i)) * x3)) /\ exists ff_q_pow_transport_r. x2 = ff_q_pow_transport_r * S ((S (i)) * x3) + (p))) - 0033
apply beta_repeat_transport_entry - 0034
exact hn_witness_witness_left - 0035
exact hm_witness_witness_left - 0036
specialize hentries i - 0037
specialize hentries p - 0038
apply hentries - 0039
exact hi - 0040
exact hp - 0041
cases htransport - 0042
cases htransport_witness - 0043
cases hm_witness_witness_right - 0044
cases hm_witness_witness_right_witness - 0045
specialize beta_product_functional x2 - 0046
specialize beta_product_functional x3 - 0047
specialize beta_product_functional e - 0048
specialize beta_product_functional n - 0049
specialize beta_product_functional x4 - 0050
specialize beta_product_functional x5 - 0051
specialize beta_product_functional m - 0052
specialize beta_product_functional x6 - 0053
specialize beta_product_functional x7 - 0054
apply beta_product_functional - 0055
exact htransport_witness_witness - 0056
exact hm_witness_witness_right_witness_witness