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 d e f g l. (forall b5cc_index_b5ccpab_source. (exists bcf_lt_gap_b5ccpab_source_bound. bcf_lt_gap_b5ccpab_source_bound + S (b5cc_index_b5ccpab_source) = l) -> exists b5cc_left_b5ccpab_source b5cc_right_b5ccpab_source b5cc_bit_b5ccpab_source. (((exists fs_h_b5cc_b5ccpab_source_left. fs_h_b5cc_b5ccpab_source_left + S (b5cc_left_b5ccpab_source) = S ((S (b5cc_index_b5ccpab_source)) * c)) /\ exists fs_q_b5cc_b5ccpab_source_left. b = fs_q_b5cc_b5ccpab_source_left * S ((S (b5cc_index_b5ccpab_source)) * c) + (b5cc_left_b5ccpab_source))) /\ ((((exists fs_h_b5cc_b5ccpab_source_right. fs_h_b5cc_b5ccpab_source_right + S (b5cc_right_b5ccpab_source) = S ((S (b5cc_index_b5ccpab_source)) * e)) /\ exists fs_q_b5cc_b5ccpab_source_right. d = fs_q_b5cc_b5ccpab_source_right * S ((S (b5cc_index_b5ccpab_source)) * e) + (b5cc_right_b5ccpab_source))) /\ ((((exists fs_h_b5cc_b5ccpab_source_bit. fs_h_b5cc_b5ccpab_source_bit + S (b5cc_bit_b5ccpab_source) = S ((S (b5cc_index_b5ccpab_source)) * g)) /\ exists fs_q_b5cc_b5ccpab_source_bit. f = fs_q_b5cc_b5ccpab_source_bit * S ((S (b5cc_index_b5ccpab_source)) * g) + (b5cc_bit_b5ccpab_source))) /\ (((b5cc_bit_b5ccpab_source = 0 /\ b5cc_right_b5ccpab_source = b5cc_left_b5ccpab_source + b5cc_left_b5ccpab_source) \/ (b5cc_bit_b5ccpab_source = 1 /\ b5cc_right_b5ccpab_source = S (b5cc_left_b5ccpab_source + b5cc_left_b5ccpab_source))))))) -> (forall ff_i_b5ccpab_result. (exists ff_lt_b5ccpab_result_bound. ff_lt_b5ccpab_result_bound + S ff_i_b5ccpab_result = l) -> exists ff_bit_b5ccpab_result. ((((exists ff_h_b5ccpab_result_decoded. ff_h_b5ccpab_result_decoded + S (ff_bit_b5ccpab_result) = S ((S (ff_i_b5ccpab_result)) * g)) /\ exists ff_q_b5ccpab_result_decoded. f = ff_q_b5ccpab_result_decoded * S ((S (ff_i_b5ccpab_result)) * g) + (ff_bit_b5ccpab_result))) /\ (ff_bit_b5ccpab_result = 0 \/ ff_bit_b5ccpab_result = 1)))Structural proof guide
Every value in a carry prefix is zero or one.
Direct prerequisites: none. The authored body proceeds by case analysis (9), intermediate claims (1).
Proof neighborhood
Direct dependencies
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
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–10
02Establish hpointL11–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
03Separate the logical casesL15–20
04Construct an explicit witnessL21–21
Supply the displayed value, then prove that it has the required property.
- L21
exists x2
05Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
split
06Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
exact hpoint_witness_witness_witness_right_right_left
07Separate the logical casesL24–26
08Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hpoint_witness_witness_witness_right_right_right_left_left
09Separate the logical casesL28–29
10Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
exact hpoint_witness_witness_witness_right_right_right_right_left
Original exact command ledger · 30 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
intro f - 0006
intro g - 0007
intro l - 0008
intro hprefix - 0009
intro i - 0010
intro hi - 0011
have hpoint : exists q Q bit. (((exists fs_h_b5ccpab_point_left. fs_h_b5ccpab_point_left + S (q) = S ((S (i)) * c)) /\ exists fs_q_b5ccpab_point_left. b = fs_q_b5ccpab_point_left * S ((S (i)) * c) + (q))) /\ ((((exists fs_h_b5ccpab_point_right. fs_h_b5ccpab_point_right + S (Q) = S ((S (i)) * e)) /\ exists fs_q_b5ccpab_point_right. d = fs_q_b5ccpab_point_right * S ((S (i)) * e) + (Q))) /\ ((((exists fs_h_b5ccpab_point_bit. fs_h_b5ccpab_point_bit + S (bit) = S ((S (i)) * g)) /\ exists fs_q_b5ccpab_point_bit. f = fs_q_b5ccpab_point_bit * S ((S (i)) * g) + (bit))) /\ (((bit = 0 /\ Q = q + q) \/ (bit = 1 /\ Q = S (q + q)))))) - 0012
specialize hprefix i - 0013
apply hprefix - 0014
exact hi - 0015
cases hpoint - 0016
cases hpoint_witness - 0017
cases hpoint_witness_witness - 0018
cases hpoint_witness_witness_witness - 0019
cases hpoint_witness_witness_witness_right - 0020
cases hpoint_witness_witness_witness_right_right - 0021
exists x2 - 0022
split - 0023
exact hpoint_witness_witness_witness_right_right_left - 0024
cases hpoint_witness_witness_witness_right_right_right - 0025
cases hpoint_witness_witness_witness_right_right_right_left - 0026
left - 0027
exact hpoint_witness_witness_witness_right_right_right_left_left - 0028
cases hpoint_witness_witness_witness_right_right_right_right - 0029
right - 0030
exact hpoint_witness_witness_witness_right_right_right_right_left