PA006Q

bit_count_functional

Stable checked-use theorem · independently closed

The relational count of a fixed all-bits prefix is unique.

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.

Exact expanded PA statement

forall b c l n m. (((exists ff_u_l_sum ff_v_l_sum. ((((exists ff_h_l_sum_start. ff_h_l_sum_start + S (0) = S ((S (0)) * ff_v_l_sum)) /\ exists ff_q_l_sum_start. ff_u_l_sum = ff_q_l_sum_start * S ((S (0)) * ff_v_l_sum) + (0))) /\ ((((exists ff_h_l_sum_terminal. ff_h_l_sum_terminal + S (n) = S ((S (l)) * ff_v_l_sum)) /\ exists ff_q_l_sum_terminal. ff_u_l_sum = ff_q_l_sum_terminal * S ((S (l)) * ff_v_l_sum) + (n))) /\ forall ff_i_l_sum. (exists ff_lt_l_sum_bound. ff_lt_l_sum_bound + S ff_i_l_sum = l) -> exists ff_a_l_sum ff_r_l_sum ff_s_l_sum. ((((exists ff_h_l_sum_summand. ff_h_l_sum_summand + S (ff_a_l_sum) = S ((S (ff_i_l_sum)) * c)) /\ exists ff_q_l_sum_summand. b = ff_q_l_sum_summand * S ((S (ff_i_l_sum)) * c) + (ff_a_l_sum))) /\ ((((exists ff_h_l_sum_partial. ff_h_l_sum_partial + S (ff_r_l_sum) = S ((S (ff_i_l_sum)) * ff_v_l_sum)) /\ exists ff_q_l_sum_partial. ff_u_l_sum = ff_q_l_sum_partial * S ((S (ff_i_l_sum)) * ff_v_l_sum) + (ff_r_l_sum))) /\ ((((exists ff_h_l_sum_successor. ff_h_l_sum_successor + S (ff_s_l_sum) = S ((S (S ff_i_l_sum)) * ff_v_l_sum)) /\ exists ff_q_l_sum_successor. ff_u_l_sum = ff_q_l_sum_successor * S ((S (S ff_i_l_sum)) * ff_v_l_sum) + (ff_s_l_sum))) /\ ff_s_l_sum = ff_r_l_sum + ff_a_l_sum)))))) /\ (forall ff_i_l_bits. (exists ff_lt_l_bits_bound. ff_lt_l_bits_bound + S ff_i_l_bits = l) -> exists ff_bit_l_bits. ((((exists ff_h_l_bits_decoded. ff_h_l_bits_decoded + S (ff_bit_l_bits) = S ((S (ff_i_l_bits)) * c)) /\ exists ff_q_l_bits_decoded. b = ff_q_l_bits_decoded * S ((S (ff_i_l_bits)) * c) + (ff_bit_l_bits))) /\ (ff_bit_l_bits = 0 \/ ff_bit_l_bits = 1))))) -> (((exists ff_u_r_sum ff_v_r_sum. ((((exists ff_h_r_sum_start. ff_h_r_sum_start + S (0) = S ((S (0)) * ff_v_r_sum)) /\ exists ff_q_r_sum_start. ff_u_r_sum = ff_q_r_sum_start * S ((S (0)) * ff_v_r_sum) + (0))) /\ ((((exists ff_h_r_sum_terminal. ff_h_r_sum_terminal + S (m) = S ((S (l)) * ff_v_r_sum)) /\ exists ff_q_r_sum_terminal. ff_u_r_sum = ff_q_r_sum_terminal * S ((S (l)) * ff_v_r_sum) + (m))) /\ forall ff_i_r_sum. (exists ff_lt_r_sum_bound. ff_lt_r_sum_bound + S ff_i_r_sum = l) -> exists ff_a_r_sum ff_r_r_sum ff_s_r_sum. ((((exists ff_h_r_sum_summand. ff_h_r_sum_summand + S (ff_a_r_sum) = S ((S (ff_i_r_sum)) * c)) /\ exists ff_q_r_sum_summand. b = ff_q_r_sum_summand * S ((S (ff_i_r_sum)) * c) + (ff_a_r_sum))) /\ ((((exists ff_h_r_sum_partial. ff_h_r_sum_partial + S (ff_r_r_sum) = S ((S (ff_i_r_sum)) * ff_v_r_sum)) /\ exists ff_q_r_sum_partial. ff_u_r_sum = ff_q_r_sum_partial * S ((S (ff_i_r_sum)) * ff_v_r_sum) + (ff_r_r_sum))) /\ ((((exists ff_h_r_sum_successor. ff_h_r_sum_successor + S (ff_s_r_sum) = S ((S (S ff_i_r_sum)) * ff_v_r_sum)) /\ exists ff_q_r_sum_successor. ff_u_r_sum = ff_q_r_sum_successor * S ((S (S ff_i_r_sum)) * ff_v_r_sum) + (ff_s_r_sum))) /\ ff_s_r_sum = ff_r_r_sum + ff_a_r_sum)))))) /\ (forall ff_i_r_bits. (exists ff_lt_r_bits_bound. ff_lt_r_bits_bound + S ff_i_r_bits = l) -> exists ff_bit_r_bits. ((((exists ff_h_r_bits_decoded. ff_h_r_bits_decoded + S (ff_bit_r_bits) = S ((S (ff_i_r_bits)) * c)) /\ exists ff_q_r_bits_decoded. b = ff_q_r_bits_decoded * S ((S (ff_i_r_bits)) * c) + (ff_bit_r_bits))) /\ (ff_bit_r_bits = 0 \/ ff_bit_r_bits = 1))))) -> n = m

Structural proof guide

Generated structural guide

The relational count of a fixed all-bits prefix is unique.

Use the direct prerequisites beta_sum_functional as previously established PA formulas.

The proof proceeds by case analysis (2).

Referenced ingredients

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Stable checked-use theorem is independently kernel-checked when replayed.

Read the argument

Proof checkpoints

17 script commands · 3 reading checkpoints · 0 local claims

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 (1)
01Fix variables and assumptionsL1–7

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro l
  4. L4
    intro n
  5. L5
    intro m
  6. L6
    intro hn
  7. L7
    intro hm
02Separate the logical casesL8–9

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L8
    cases hn
  2. L9
    cases hm
03Use earlier factsL10–17

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L10
    specialize beta_sum_functional b
  2. L11
    specialize beta_sum_functional c
  3. L12
    specialize beta_sum_functional l
  4. L13
    specialize beta_sum_functional n
  5. L14
    specialize beta_sum_functional m
  6. L15
    apply beta_sum_functional
  7. L16
    exact hn_left
  8. L17
    exact hm_left

Library-wide reading audit

Original exact command ledger · 17 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro l
  4. 0004intro n
  5. 0005intro m
  6. 0006intro hn
  7. 0007intro hm
  8. 0008cases hn
  9. 0009cases hm
  10. 0010specialize beta_sum_functional b
  11. 0011specialize beta_sum_functional c
  12. 0012specialize beta_sum_functional l
  13. 0013specialize beta_sum_functional n
  14. 0014specialize beta_sum_functional m
  15. 0015apply beta_sum_functional
  16. 0016exact hn_left
  17. 0017exact hm_left