BT00JA

eisenstein_initial_segment_prefix_all_bits

Alpha v34 checked-use theorem · independently kernel and Lean verified; not Stable

Every exact threshold prefix is an AllBits prefix.

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 q b c k. (forall eis_index_initial_segment_bits_source. (exists eis_lt_gap_initial_segment_bits_source_bound. eis_lt_gap_initial_segment_bits_source_bound + S (eis_index_initial_segment_bits_source) = k) -> exists eis_bit_initial_segment_bits_source. ((((exists ff_h_eis_initial_segment_bits_source_decoded. ff_h_eis_initial_segment_bits_source_decoded + S (eis_bit_initial_segment_bits_source) = S ((S (eis_index_initial_segment_bits_source)) * c)) /\ exists ff_q_eis_initial_segment_bits_source_decoded. b = ff_q_eis_initial_segment_bits_source_decoded * S ((S (eis_index_initial_segment_bits_source)) * c) + (eis_bit_initial_segment_bits_source))) /\ (((eis_bit_initial_segment_bits_source = 1 /\ (exists eis_le_gap_initial_segment_bits_source_choice_inside. eis_le_gap_initial_segment_bits_source_choice_inside + (S eis_index_initial_segment_bits_source) = q)) \/ (eis_bit_initial_segment_bits_source = 0 /\ (exists eis_lt_gap_initial_segment_bits_source_choice_outside. eis_lt_gap_initial_segment_bits_source_choice_outside + S (q) = S eis_index_initial_segment_bits_source)))))) -> (forall ff_i_initial_segment_bits_result. (exists ff_lt_initial_segment_bits_result_bound. ff_lt_initial_segment_bits_result_bound + S ff_i_initial_segment_bits_result = k) -> exists ff_bit_initial_segment_bits_result. ((((exists ff_h_initial_segment_bits_result_decoded. ff_h_initial_segment_bits_result_decoded + S (ff_bit_initial_segment_bits_result) = S ((S (ff_i_initial_segment_bits_result)) * c)) /\ exists ff_q_initial_segment_bits_result_decoded. b = ff_q_initial_segment_bits_result_decoded * S ((S (ff_i_initial_segment_bits_result)) * c) + (ff_bit_initial_segment_bits_result))) /\ (ff_bit_initial_segment_bits_result = 0 \/ ff_bit_initial_segment_bits_result = 1)))

Structural proof guide

Every exact threshold prefix is an AllBits prefix.

Direct prerequisites: none. The authored body proceeds by case analysis (5), intermediate claims (1).

Proof neighborhood

Direct dependencies

none

Direct dependents

Formal native tactic body

Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing Stable membership.

Read the argument

Proof checkpoints

23 script commands · 11 reading checkpoints · 1 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.

01Fix variables and assumptionsL1–7

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

  1. L1
    intro q
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro k
  5. L5
    intro hprefix
  6. L6
    intro j
  7. L7
    intro hj
02Use earlier factsL8–8

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

  1. L8
    specialize hprefix j
03Establish hstoredL9–11

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.

  1. L9
    have hstored : exists bit. ((((exists ff_h_initial_segment_bits_stored. ff_h_initial_segment_bits_stored + S (bit) = S ((S (j)) * c)) /\ exists ff_q_initial_segment_bits_stored. b = ff_q_initial_segment_bits_stored * S ((S (j)) * c) + (bit))) /\ (((bit = 1 /\ (exists eis_le_gap_initial_segment_bits_choice_inside. eis_le_gap_initial_segment_bits_choice_inside + (S j) = q)) \/ (bit = 0 /\ (exists eis_lt_gap_initial_segment_bits_choice_outside. eis_lt_gap_initial_segment_bits_choice_outside + S (q) = S j)))))
  2. L10
    apply hprefix
  3. L11
    exact hj
04Separate the logical casesL12–13

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

  1. L12
    cases hstored
  2. L13
    cases hstored_witness
05Construct an explicit witnessL14–14

Supply the displayed value, then prove that it has the required property.

  1. L14
    exists x
06Separate the logical casesL15–15

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

  1. L15
    split
07Use earlier factsL16–16

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

  1. L16
    exact hstored_witness_left
08Separate the logical casesL17–19

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

  1. L17
    cases hstored_witness_right
  2. L18
    cases hstored_witness_right_left
  3. L19
    right
09Use earlier factsL20–20

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

  1. L20
    exact hstored_witness_right_left_left
10Separate the logical casesL21–22

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

  1. L21
    cases hstored_witness_right_right
  2. L22
    left
11Use earlier factsL23–23

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

  1. L23
    exact hstored_witness_right_right_left

Library-wide reading audit

Original exact command ledger · 23 lines
  1. 0001intro q
  2. 0002intro b
  3. 0003intro c
  4. 0004intro k
  5. 0005intro hprefix
  6. 0006intro j
  7. 0007intro hj
  8. 0008specialize hprefix j
  9. 0009have hstored : exists bit. ((((exists ff_h_initial_segment_bits_stored. ff_h_initial_segment_bits_stored + S (bit) = S ((S (j)) * c)) /\ exists ff_q_initial_segment_bits_stored. b = ff_q_initial_segment_bits_stored * S ((S (j)) * c) + (bit))) /\ (((bit = 1 /\ (exists eis_le_gap_initial_segment_bits_choice_inside. eis_le_gap_initial_segment_bits_choice_inside + (S j) = q)) \/ (bit = 0 /\ (exists eis_lt_gap_initial_segment_bits_choice_outside. eis_lt_gap_initial_segment_bits_choice_outside + S (q) = S j)))))
  10. 0010apply hprefix
  11. 0011exact hj
  12. 0012cases hstored
  13. 0013cases hstored_witness
  14. 0014exists x
  15. 0015split
  16. 0016exact hstored_witness_left
  17. 0017cases hstored_witness_right
  18. 0018cases hstored_witness_right_left
  19. 0019right
  20. 0020exact hstored_witness_right_left_left
  21. 0021cases hstored_witness_right_right
  22. 0022left
  23. 0023exact hstored_witness_right_right_left