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. ∀ b. ∀ c. ∀ l. (∀ x. Lt(x,l) → ∃ y. BetaAt(b,c,x,y) ∧ (Prime(S (a + x)) ∧ y = S (a + x) ∨ ¬Prime(S (a + x)) ∧ y = 1)) → ∀ x. ∀ y. ∀ z. ∀ n. Lt(x,l) → Lt(y,l) → BetaAt(b,c,x,z) → BetaAt(b,c,y,n) → ¬x = y → Coprime(z,n)Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
9 occurrences
In local proof propositions
6 occurrences
Exact expanded native-PA statement
forall a b c l. (forall bpr_index_bpipc_source. (exists bpr_gap_bpipc_source_bound. bpr_gap_bpipc_source_bound + S (bpr_index_bpipc_source) = l) -> exists bpr_value_bpipc_source. ((((exists bpr_height_bpipc_source_decoded. bpr_height_bpipc_source_decoded + S (bpr_value_bpipc_source) = S ((S (bpr_index_bpipc_source)) * c)) /\ exists bpr_quotient_bpipc_source_decoded. b = bpr_quotient_bpipc_source_decoded * S ((S (bpr_index_bpipc_source)) * c) + (bpr_value_bpipc_source))) /\ (((((~(S (a + bpr_index_bpipc_source) = 1) /\ forall bpr_left_bpipc_source_choice_prime bpr_right_bpipc_source_choice_prime. S (a + bpr_index_bpipc_source) = bpr_left_bpipc_source_choice_prime * bpr_right_bpipc_source_choice_prime -> bpr_left_bpipc_source_choice_prime = 1 \/ bpr_right_bpipc_source_choice_prime = 1)) /\ bpr_value_bpipc_source = S (a + bpr_index_bpipc_source)) \/ (~((~(S (a + bpr_index_bpipc_source) = 1) /\ forall bpr_left_bpipc_source_choice_prime bpr_right_bpipc_source_choice_prime. S (a + bpr_index_bpipc_source) = bpr_left_bpipc_source_choice_prime * bpr_right_bpipc_source_choice_prime -> bpr_left_bpipc_source_choice_prime = 1 \/ bpr_right_bpipc_source_choice_prime = 1)) /\ bpr_value_bpipc_source = 1))))) -> (forall bpr_left_index_bpipc_result bpr_right_index_bpipc_result bpr_left_value_bpipc_result bpr_right_value_bpipc_result. (exists bpr_gap_bpipc_result_left_bound. bpr_gap_bpipc_result_left_bound + S (bpr_left_index_bpipc_result) = l) -> (exists bpr_gap_bpipc_result_right_bound. bpr_gap_bpipc_result_right_bound + S (bpr_right_index_bpipc_result) = l) -> (((exists bpr_height_bpipc_result_left_at. bpr_height_bpipc_result_left_at + S (bpr_left_value_bpipc_result) = S ((S (bpr_left_index_bpipc_result)) * c)) /\ exists bpr_quotient_bpipc_result_left_at. b = bpr_quotient_bpipc_result_left_at * S ((S (bpr_left_index_bpipc_result)) * c) + (bpr_left_value_bpipc_result))) -> (((exists bpr_height_bpipc_result_right_at. bpr_height_bpipc_result_right_at + S (bpr_right_value_bpipc_result) = S ((S (bpr_right_index_bpipc_result)) * c)) /\ exists bpr_quotient_bpipc_result_right_at. b = bpr_quotient_bpipc_result_right_at * S ((S (bpr_right_index_bpipc_result)) * c) + (bpr_right_value_bpipc_result))) -> ~(bpr_left_index_bpipc_result = bpr_right_index_bpipc_result) -> (forall bpr_coprime_divisor_bpipc_result_coprime. (exists bpr_coprime_left_factor_bpipc_result_coprime. bpr_left_value_bpipc_result = bpr_coprime_divisor_bpipc_result_coprime * bpr_coprime_left_factor_bpipc_result_coprime) -> (exists bpr_coprime_right_factor_bpipc_result_coprime. bpr_right_value_bpipc_result = bpr_coprime_divisor_bpipc_result_coprime * bpr_coprime_right_factor_bpipc_result_coprime) -> bpr_coprime_divisor_bpipc_result_coprime = 1))Proof neighborhood
Direct theorem prerequisites
BT0042 beta_at_unique BT000V add_left_cancel BT008S distinct_primes_coprime BT002Y coprime_one_left BT002X coprime_one_rightDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
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 (5)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–14
03Establish hleftL15–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
- L15
have hleft : ∃ x. BetaAt(b,c,i,x) ∧ (Prime(S (a + i)) ∧ x = S (a + i) ∨ ¬Prime(S (a + i)) ∧ x = 1)Definitions: BetaAt(b,c,i,x)Prime(S (a + i))Original native command in the exact edition - L16
apply hprefix - L17
exact hi
04Separate the logical casesL18–19
05Establish hrightL20–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
- L20
have hright : ∃ x1. BetaAt(b,c,j,x1) ∧ (Prime(S (a + j)) ∧ x1 = S (a + j) ∨ ¬Prime(S (a + j)) ∧ x1 = 1)Definitions: BetaAt(b,c,j,x1)Prime(S (a + j))Original native command in the exact edition - L21
apply hprefix - L22
exact hj
06Separate the logical casesL23–24
07Establish hxpL25–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
08Establish hxqL34–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
09Separate the logical casesL43–46
10Establish hp_candidateL47–51
11Establish hq_candidateL52–61
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply distinct primes coprime.
12Use earlier factsL62–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L62
exact hleft_witness_right_left_left
13Calculate and transport equalitiesL63–64
14Use earlier factsL65–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
exact hright_witness_right_left_left
15Fix variables and assumptionsL66–66
Work with arbitrary variables or the premises of the current implication.
- L66
intro hpq
16Use earlier factsL67–72
17Calculate and transport equalitiesL73–74
18Use earlier factsL75–75
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L75
exact hp_candidate
19Calculate and transport equalitiesL76–76
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L76
trans q
20Use earlier factsL77–78
21Separate the logical casesL79–80
22Establish hp_candidateL81–85
23Establish hq_oneL86–93
24Separate the logical casesL94–96
25Establish hp_oneL97–104
26Separate the logical casesL105–106
Original defined command ledger · 114 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro l - 0005
intro hprefix - 0006
intro i - 0007
intro j - 0008
intro p - 0009
intro q - 0010
intro hi - 0011
intro hj - 0012
intro hp - 0013
intro hq - 0014
intro hij - 0015
have hleft : ∃ x. BetaAt(b,c,i,x) ∧ (Prime(S (a + i)) ∧ x = S (a + i) ∨ ¬Prime(S (a + i)) ∧ x = 1)Exact native replay line
have hleft : exists x. (((exists bpr_height_bpipc_left_entry. bpr_height_bpipc_left_entry + S (x) = S ((S (i)) * c)) /\ exists bpr_quotient_bpipc_left_entry. b = bpr_quotient_bpipc_left_entry * S ((S (i)) * c) + (x))) /\ (((((~(S (a + i) = 1) /\ forall bpr_left_bpipc_left_choice_prime bpr_right_bpipc_left_choice_prime. S (a + i) = bpr_left_bpipc_left_choice_prime * bpr_right_bpipc_left_choice_prime -> bpr_left_bpipc_left_choice_prime = 1 \/ bpr_right_bpipc_left_choice_prime = 1)) /\ x = S (a + i)) \/ (~((~(S (a + i) = 1) /\ forall bpr_left_bpipc_left_choice_prime bpr_right_bpipc_left_choice_prime. S (a + i) = bpr_left_bpipc_left_choice_prime * bpr_right_bpipc_left_choice_prime -> bpr_left_bpipc_left_choice_prime = 1 \/ bpr_right_bpipc_left_choice_prime = 1)) /\ x = 1))) - 0016
apply hprefix - 0017
exact hi - 0018
cases hleft - 0019
cases hleft_witness - 0020
have hright : ∃ x1. BetaAt(b,c,j,x1) ∧ (Prime(S (a + j)) ∧ x1 = S (a + j) ∨ ¬Prime(S (a + j)) ∧ x1 = 1)Exact native replay line
have hright : exists x1. (((exists bpr_height_bpipc_right_entry. bpr_height_bpipc_right_entry + S (x1) = S ((S (j)) * c)) /\ exists bpr_quotient_bpipc_right_entry. b = bpr_quotient_bpipc_right_entry * S ((S (j)) * c) + (x1))) /\ (((((~(S (a + j) = 1) /\ forall bpr_left_bpipc_right_choice_prime bpr_right_bpipc_right_choice_prime. S (a + j) = bpr_left_bpipc_right_choice_prime * bpr_right_bpipc_right_choice_prime -> bpr_left_bpipc_right_choice_prime = 1 \/ bpr_right_bpipc_right_choice_prime = 1)) /\ x1 = S (a + j)) \/ (~((~(S (a + j) = 1) /\ forall bpr_left_bpipc_right_choice_prime bpr_right_bpipc_right_choice_prime. S (a + j) = bpr_left_bpipc_right_choice_prime * bpr_right_bpipc_right_choice_prime -> bpr_left_bpipc_right_choice_prime = 1 \/ bpr_right_bpipc_right_choice_prime = 1)) /\ x1 = 1))) - 0021
apply hprefix - 0022
exact hj - 0023
cases hright - 0024
cases hright_witness - 0025
have hxp : x = p - 0026
specialize beta_at_unique b - 0027
specialize beta_at_unique c - 0028
specialize beta_at_unique i - 0029
specialize beta_at_unique x - 0030
specialize beta_at_unique p - 0031
apply beta_at_unique - 0032
exact hleft_witness_left - 0033
exact hp - 0034
have hxq : x1 = q - 0035
specialize beta_at_unique b - 0036
specialize beta_at_unique c - 0037
specialize beta_at_unique j - 0038
specialize beta_at_unique x1 - 0039
specialize beta_at_unique q - 0040
apply beta_at_unique - 0041
exact hright_witness_left - 0042
exact hq - 0043
cases hleft_witness_right - 0044
cases hright_witness_right - 0045
cases hleft_witness_right_left - 0046
cases hright_witness_right_left - 0047
have hp_candidate : p = S (a + i) - 0048
trans x - 0049
symm - 0050
exact hxp - 0051
exact hleft_witness_right_left_right - 0052
have hq_candidate : q = S (a + j) - 0053
trans x1 - 0054
symm - 0055
exact hxq - 0056
exact hright_witness_right_left_right - 0057
specialize distinct_primes_coprime p - 0058
specialize distinct_primes_coprime q - 0059
apply distinct_primes_coprime - 0060
rewrite hp_candidate - 0061
rewrite hp_candidate - 0062
exact hleft_witness_right_left_left - 0063
rewrite hq_candidate - 0064
rewrite hq_candidate - 0065
exact hright_witness_right_left_left - 0066
intro hpq - 0067
apply hij - 0068
specialize add_left_cancel a - 0069
specialize add_left_cancel i - 0070
specialize add_left_cancel j - 0071
apply add_left_cancel - 0072
apply PA2 - 0073
trans p - 0074
symm - 0075
exact hp_candidate - 0076
trans q - 0077
exact hpq - 0078
exact hq_candidate - 0079
cases hleft_witness_right_left - 0080
cases hright_witness_right_right - 0081
have hp_candidate : p = S (a + i) - 0082
trans x - 0083
symm - 0084
exact hxp - 0085
exact hleft_witness_right_left_right - 0086
have hq_one : q = 1 - 0087
trans x1 - 0088
symm - 0089
exact hxq - 0090
exact hright_witness_right_right_right - 0091
rewrite hq_one - 0092
specialize coprime_one_right p - 0093
exact coprime_one_right - 0094
cases hright_witness_right - 0095
cases hleft_witness_right_right - 0096
cases hright_witness_right_left - 0097
have hp_one : p = 1 - 0098
trans x - 0099
symm - 0100
exact hxp - 0101
exact hleft_witness_right_right_right - 0102
rewrite hp_one - 0103
specialize coprime_one_left q - 0104
exact coprime_one_left - 0105
cases hleft_witness_right_right - 0106
cases hright_witness_right_right - 0107
have hp_one : p = 1 - 0108
trans x - 0109
symm - 0110
exact hxp - 0111
exact hleft_witness_right_right_right - 0112
rewrite hp_one - 0113
specialize coprime_one_left q - 0114
exact coprime_one_left