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
none
Direct dependents
Formal native tactic body
Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.
- 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