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
∀ b. ∀ c. ∀ d. ∀ e. ∀ w. ∀ v. ∀ i. ∀ x. ∀ y. (∀ z. Lt(z,w) → ∃ n. BetaAt(b,c,z,n) ∧ (z = 0 ∧ n = 1 ∨ (∃ m. z = S m ∧ n = 0))) → (∀ z. Lt(z,v) → ∃ n. BetaAt(d,e,z,n) ∧ (z = 0 ∧ n = 1 ∨ (∃ m. z = S m ∧ n = 0))) → Lt(i,w) → Lt(i,v) → BetaAt(b,c,i,x) → BetaAt(d,e,i,y) → x = yEvery 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
8 occurrences
In local proof propositions
2 occurrences
Exact expanded native-PA statement
forall b c d e w v i x y. (forall bcf_index_bzrpf_left. (exists bcf_lt_gap_bzrpf_left_bound. bcf_lt_gap_bzrpf_left_bound + S (bcf_index_bzrpf_left) = w) -> exists bcf_value_bzrpf_left. ((((exists bcf_height_bzrpf_left_entry. bcf_height_bzrpf_left_entry + S (bcf_value_bzrpf_left) = S ((S (bcf_index_bzrpf_left)) * c)) /\ exists bcf_quotient_bzrpf_left_entry. b = bcf_quotient_bzrpf_left_entry * S ((S (bcf_index_bzrpf_left)) * c) + (bcf_value_bzrpf_left))) /\ ((bcf_index_bzrpf_left = 0 /\ bcf_value_bzrpf_left = 1) \/ exists bcf_predecessor_bzrpf_left. bcf_index_bzrpf_left = S bcf_predecessor_bzrpf_left /\ bcf_value_bzrpf_left = 0))) -> (forall bcf_index_bzrpf_right. (exists bcf_lt_gap_bzrpf_right_bound. bcf_lt_gap_bzrpf_right_bound + S (bcf_index_bzrpf_right) = v) -> exists bcf_value_bzrpf_right. ((((exists bcf_height_bzrpf_right_entry. bcf_height_bzrpf_right_entry + S (bcf_value_bzrpf_right) = S ((S (bcf_index_bzrpf_right)) * e)) /\ exists bcf_quotient_bzrpf_right_entry. d = bcf_quotient_bzrpf_right_entry * S ((S (bcf_index_bzrpf_right)) * e) + (bcf_value_bzrpf_right))) /\ ((bcf_index_bzrpf_right = 0 /\ bcf_value_bzrpf_right = 1) \/ exists bcf_predecessor_bzrpf_right. bcf_index_bzrpf_right = S bcf_predecessor_bzrpf_right /\ bcf_value_bzrpf_right = 0))) -> (exists bcf_lt_gap_bzrpf_left_bound. bcf_lt_gap_bzrpf_left_bound + S (i) = w) -> (exists bcf_lt_gap_bzrpf_right_bound. bcf_lt_gap_bzrpf_right_bound + S (i) = v) -> (((exists bcf_height_bzrpf_left_at. bcf_height_bzrpf_left_at + S (x) = S ((S (i)) * c)) /\ exists bcf_quotient_bzrpf_left_at. b = bcf_quotient_bzrpf_left_at * S ((S (i)) * c) + (x))) -> (((exists bcf_height_bzrpf_right_at. bcf_height_bzrpf_right_at + S (y) = S ((S (i)) * e)) /\ exists bcf_quotient_bzrpf_right_at. d = bcf_quotient_bzrpf_right_at * S ((S (i)) * e) + (y))) -> x = yProof neighborhood
Direct theorem prerequisites
Direct 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–15
03Establish hleft_valueL16–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hleft.
- L16
have hleft_value : ∃ bcf_cell_value_bzrpf_left_cell. BetaAt(b,c,i,bcf_cell_value_bzrpf_left_cell) ∧ (i = 0 ∧ bcf_cell_value_bzrpf_left_cell = 1 ∨ (∃ x. i = S x ∧ bcf_cell_value_bzrpf_left_cell = 0))Definitions: BetaAt(b,c,i,bcf_cell_value_bzrpf_left_cell)Original native command in the exact edition - L17
specialize hleft i - L18
apply hleft - L19
exact hiw
04Separate the logical casesL20–21
05Establish hright_valueL22–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hright.
- L22
have hright_value : ∃ bcf_cell_value_bzrpf_right_cell. BetaAt(d,e,i,bcf_cell_value_bzrpf_right_cell) ∧ (i = 0 ∧ bcf_cell_value_bzrpf_right_cell = 1 ∨ (∃ x. i = S x ∧ bcf_cell_value_bzrpf_right_cell = 0))Definitions: BetaAt(d,e,i,bcf_cell_value_bzrpf_right_cell)Original native command in the exact edition - L23
specialize hright i - L24
apply hright - L25
exact hiv
06Separate the logical casesL26–27
07Establish hx_valueL28–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
08Establish hy_valueL37–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
09Separate the logical casesL46–49
10Calculate and transport equalitiesL50–50
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L50
trans x1
11Use earlier factsL51–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L51
exact hx_value
12Calculate and transport equalitiesL52–52
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L52
trans 1
13Use earlier factsL53–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
exact hleft_value_witness_right_left_right
14Calculate and transport equalitiesL54–55
15Use earlier factsL56–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
exact hright_value_witness_right_left_right
16Calculate and transport equalitiesL57–57
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L57
symm
17Use earlier factsL58–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L58
exact hy_value
18Separate the logical casesL59–61
19Establish hbadL62–69
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ ne zero.
20Separate the logical casesL70–74
21Establish hbadL75–82
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ ne zero.
22Separate the logical casesL83–84
23Calculate and transport equalitiesL85–85
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L85
trans x1
24Use earlier factsL86–86
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L86
exact hx_value
25Calculate and transport equalitiesL87–87
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L87
trans 0
26Use earlier factsL88–88
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L88
exact hleft_value_witness_right_right_witness_right
27Calculate and transport equalitiesL89–90
28Use earlier factsL91–91
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L91
exact hright_value_witness_right_right_witness_right
29Calculate and transport equalitiesL92–92
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L92
symm
30Use earlier factsL93–93
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L93
exact hy_value
Original defined command ledger · 93 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
intro w - 0006
intro v - 0007
intro i - 0008
intro x - 0009
intro y - 0010
intro hleft - 0011
intro hright - 0012
intro hiw - 0013
intro hiv - 0014
intro hxi - 0015
intro hyi - 0016
have hleft_value : ∃ bcf_cell_value_bzrpf_left_cell. BetaAt(b,c,i,bcf_cell_value_bzrpf_left_cell) ∧ (i = 0 ∧ bcf_cell_value_bzrpf_left_cell = 1 ∨ (∃ x. i = S x ∧ bcf_cell_value_bzrpf_left_cell = 0))Exact native replay line
have hleft_value : exists bcf_cell_value_bzrpf_left_cell. ((((exists bcf_height_bzrpf_left_cell_entry. bcf_height_bzrpf_left_cell_entry + S (bcf_cell_value_bzrpf_left_cell) = S ((S (i)) * c)) /\ exists bcf_quotient_bzrpf_left_cell_entry. b = bcf_quotient_bzrpf_left_cell_entry * S ((S (i)) * c) + (bcf_cell_value_bzrpf_left_cell))) /\ ((i = 0 /\ bcf_cell_value_bzrpf_left_cell = 1) \/ exists bcf_cell_predecessor_bzrpf_left_cell. i = S bcf_cell_predecessor_bzrpf_left_cell /\ bcf_cell_value_bzrpf_left_cell = 0)) - 0017
specialize hleft i - 0018
apply hleft - 0019
exact hiw - 0020
cases hleft_value - 0021
cases hleft_value_witness - 0022
have hright_value : ∃ bcf_cell_value_bzrpf_right_cell. BetaAt(d,e,i,bcf_cell_value_bzrpf_right_cell) ∧ (i = 0 ∧ bcf_cell_value_bzrpf_right_cell = 1 ∨ (∃ x. i = S x ∧ bcf_cell_value_bzrpf_right_cell = 0))Exact native replay line
have hright_value : exists bcf_cell_value_bzrpf_right_cell. ((((exists bcf_height_bzrpf_right_cell_entry. bcf_height_bzrpf_right_cell_entry + S (bcf_cell_value_bzrpf_right_cell) = S ((S (i)) * e)) /\ exists bcf_quotient_bzrpf_right_cell_entry. d = bcf_quotient_bzrpf_right_cell_entry * S ((S (i)) * e) + (bcf_cell_value_bzrpf_right_cell))) /\ ((i = 0 /\ bcf_cell_value_bzrpf_right_cell = 1) \/ exists bcf_cell_predecessor_bzrpf_right_cell. i = S bcf_cell_predecessor_bzrpf_right_cell /\ bcf_cell_value_bzrpf_right_cell = 0)) - 0023
specialize hright i - 0024
apply hright - 0025
exact hiv - 0026
cases hright_value - 0027
cases hright_value_witness - 0028
have hx_value : x = x1 - 0029
specialize beta_at_unique b - 0030
specialize beta_at_unique c - 0031
specialize beta_at_unique i - 0032
specialize beta_at_unique x - 0033
specialize beta_at_unique x1 - 0034
apply beta_at_unique - 0035
exact hxi - 0036
exact hleft_value_witness_left - 0037
have hy_value : y = x2 - 0038
specialize beta_at_unique d - 0039
specialize beta_at_unique e - 0040
specialize beta_at_unique i - 0041
specialize beta_at_unique y - 0042
specialize beta_at_unique x2 - 0043
apply beta_at_unique - 0044
exact hyi - 0045
exact hright_value_witness_left - 0046
cases hleft_value_witness_right - 0047
cases hleft_value_witness_right_left - 0048
cases hright_value_witness_right - 0049
cases hright_value_witness_right_left - 0050
trans x1 - 0051
exact hx_value - 0052
trans 1 - 0053
exact hleft_value_witness_right_left_right - 0054
trans x2 - 0055
symm - 0056
exact hright_value_witness_right_left_right - 0057
symm - 0058
exact hy_value - 0059
cases hright_value_witness_right_right - 0060
cases hright_value_witness_right_right_witness - 0061
exfalso - 0062
have hbad : S x3 = 0 - 0063
trans i - 0064
symm - 0065
exact hright_value_witness_right_right_witness_left - 0066
exact hleft_value_witness_right_left_left - 0067
specialize succ_ne_zero x3 - 0068
apply succ_ne_zero - 0069
exact hbad - 0070
cases hleft_value_witness_right_right - 0071
cases hleft_value_witness_right_right_witness - 0072
cases hright_value_witness_right - 0073
cases hright_value_witness_right_left - 0074
exfalso - 0075
have hbad : S x3 = 0 - 0076
trans i - 0077
symm - 0078
exact hleft_value_witness_right_right_witness_left - 0079
exact hright_value_witness_right_left_left - 0080
specialize succ_ne_zero x3 - 0081
apply succ_ne_zero - 0082
exact hbad - 0083
cases hright_value_witness_right_right - 0084
cases hright_value_witness_right_right_witness - 0085
trans x1 - 0086
exact hx_value - 0087
trans 0 - 0088
exact hleft_value_witness_right_right_witness_right - 0089
trans x2 - 0090
symm - 0091
exact hright_value_witness_right_right_witness_right - 0092
symm - 0093
exact hy_value