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. ∀ i. ∀ x. ∀ y. BetaAt(b,c,i,x) → BetaAt(b,c,i,y) → x = yEvery 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
0 occurrences
Exact expanded native-PA statement
forall b c i x y. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) -> ((exists h. h + S y = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + y) -> x = yProof neighborhood
Direct theorem prerequisites
Direct theorem dependents
PA002G beta_exclusive_recode_congruence_step PA0032 beta_range_entry_eq PA003Y beta_sum_succ_decompose PA0042 bit_count_succ_decompose PA0047 beta_sum_zero PA0049 beta_product_zero PA004A beta_product_succ_decompose PA004C beta_repeat_entry_eq PA004H finite_contains_decidable PA004J beta_prefix_replace_exists PA004L finite_bounded_entry_lt PA004N beta_prefix_swap_last_reflect PA004W finite_bounded_injective_surjective PA0051 beta_product_functional PA0052 beta_product_replace_balance PA0053 beta_product_swap_last_invariant PA0054 beta_reindex_alignment_swap_last PA006K beta_sum_trace_functional PA007C gauss_signed_half_magnitude_injective PA007D beta_magnitude_predecessor_recode_exists PA007F beta_sign_factor_prefix_extend PA007I beta_sign_factor_product_power PA007K beta_pointwise_mul_prefix_extend PA007P gauss_signed_pointwise_mul_scale_mod PA007T beta_magnitude_predecessor_recode_reflect PA007V gauss_predecessor_half_range_aligned PA007W beta_product_reindex_fixed_last PA007X beta_product_permutation_invariant PA008C beta_successor_lift_exists PA008E prime_mul_index_map_injective PA008G beta_successor_range_reindex_aligned PA008H beta_successor_range_scale_mod PA0096 finite_inverse_choice_injective PA0097 finite_short_cover_impossible PA0099 scaled_inverse_prefix_entry_sound PA009L beta_prefix_append_two_reflect PA009M beta_prefix_append_two_scaled_orbit_closed PA009X scaled_pair_order_successor_lift_adjacent_targets PA00A1 scaled_pair_order_successor_lift_product_is_factorial PA00AF inverse_prefix_entry_sound PA00AQ prime_inverse_prefix_nonendpoint_mate PA00AT beta_prefix_append_two_orbit_closed PA00B7 paired_successor_lift_adjacent_units PA00BC pair_order_predecessor_range_two_successor_lift_aligned PA00CP gauss_eisenstein_prefix_pointwise_mod_two PA00CS beta_magnitude_predecessor_recode_aligned_half_range PA00CU beta_sum_replace_balance PA00CV beta_sum_swap_last_invariant PA00CW beta_sum_reindex_fixed_last PA00CX beta_sum_permutation_invariant PA00DV eisenstein_initial_segment_decoded_choice PA00DW beta_all_one_bit_count_exact PA00E1 distinct_odd_prime_row_bit_count_equals_decoded_quotient PA00E6 eisenstein_rectangle_decoded_row_count PA00EA eisenstein_row_indicator_decoded_choice PA00ED eisenstein_transposed_column_pointwise_complement PA00EM eisenstein_transposed_column_count_decoded_witness PA00EN eisenstein_transposed_column_count_decoded_partition PA00F1 eisenstein_successor_row_split_decoded_add PA00F4 eisenstein_transposed_column_decoded_choice PA00F9 eisenstein_successor_terminal_bit_matches_last_column PA00FC eisenstein_fubini_universalDefinition-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 (2)
01Fix variables and assumptionsL1–7
02Separate the logical casesL8–11
03Establish hdxL12–17
04Establish hdyL18–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul comm.
- L18
have hdy : b = S ((S i) * c) * x2 + y - L19
trans x2 * S ((S i) * c) + y - L20
exact hy_right_witness - L21
congr - L22
apply mul_comm - L23
refl - L24
specialize division_remainder_unique (S ((S i) * c)) - L25
specialize division_remainder_unique b - L26
specialize division_remainder_unique x1 - L27
specialize division_remainder_unique x
05Use earlier factsL28–29
06Establish huniqL30–35
07Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases huniq
08Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
exact huniq_right
Original defined command ledger · 37 lines
- 0001
intro b - 0002
intro c - 0003
intro i - 0004
intro x - 0005
intro y - 0006
intro hx - 0007
intro hy - 0008
cases hx - 0009
cases hy - 0010
cases hx_right - 0011
cases hy_right - 0012
have hdx : b = S ((S i) * c) * x1 + x - 0013
trans x1 * S ((S i) * c) + x - 0014
exact hx_right_witness - 0015
congr - 0016
apply mul_comm - 0017
refl - 0018
have hdy : b = S ((S i) * c) * x2 + y - 0019
trans x2 * S ((S i) * c) + y - 0020
exact hy_right_witness - 0021
congr - 0022
apply mul_comm - 0023
refl - 0024
specialize division_remainder_unique (S ((S i) * c)) - 0025
specialize division_remainder_unique b - 0026
specialize division_remainder_unique x1 - 0027
specialize division_remainder_unique x - 0028
specialize division_remainder_unique x2 - 0029
specialize division_remainder_unique y - 0030
have huniq : x1 = x2 /\ x = y - 0031
apply division_remainder_unique - 0032
exact hdx - 0033
exact hx_left - 0034
exact hdy - 0035
exact hy_left - 0036
cases huniq - 0037
exact huniq_right