Exact expanded PA statement
forall b c a l sl. sl = S l -> (forall ff_i_before. (exists ff_lt_before_bound. ff_lt_before_bound + S ff_i_before = l) -> (((exists ff_h_before_decoded. ff_h_before_decoded + S (a + ff_i_before) = S ((S (ff_i_before)) * c)) /\ exists ff_q_before_decoded. b = ff_q_before_decoded * S ((S (ff_i_before)) * c) + (a + ff_i_before)))) -> exists z d. (forall ff_i_after. (exists ff_lt_after_bound. ff_lt_after_bound + S ff_i_after = sl) -> (((exists ff_h_after_decoded. ff_h_after_decoded + S (a + ff_i_after) = S ((S (ff_i_after)) * d)) /\ exists ff_q_after_decoded. z = ff_q_after_decoded * S ((S (ff_i_after)) * d) + (a + ff_i_after))))Structural proof guide
Recode a consecutive prefix and append its next value.
Direct prerequisites: beta_prefix_extend, le_of_succ_le_succ, le_eq_or_lt. The authored body proceeds by case analysis (4), intermediate claims (2), equality transport (5).
Proof neighborhood
Direct dependencies
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 a - 0004
intro l - 0005
intro sl - 0006
intro hsl - 0007
intro hrange - 0008
specialize beta_prefix_extend l - 0009
specialize beta_prefix_extend b - 0010
specialize beta_prefix_extend c - 0011
specialize beta_prefix_extend (a + l) - 0012
cases beta_prefix_extend - 0013
cases beta_prefix_extend_witness - 0014
cases beta_prefix_extend_witness_witness - 0015
exists x - 0016
exists x1 - 0017
intro i - 0018
intro hi - 0019
rewrite hsl at hi - 0020
have hil : exists h. h + i = l - 0021
specialize le_of_succ_le_succ i - 0022
specialize le_of_succ_le_succ l - 0023
apply le_of_succ_le_succ - 0024
exact hi - 0025
have hsplit : i = l \/ exists h. h + S i = l - 0026
specialize le_eq_or_lt i - 0027
specialize le_eq_or_lt l - 0028
apply le_eq_or_lt - 0029
exact hil - 0030
cases hsplit - 0031
rewrite hsplit_left - 0032
rewrite hsplit_left - 0033
rewrite hsplit_left - 0034
rewrite hsplit_left - 0035
exact beta_prefix_extend_witness_witness_left - 0036
specialize beta_prefix_extend_witness_witness_right i - 0037
specialize beta_prefix_extend_witness_witness_right (a + i) - 0038
apply beta_prefix_extend_witness_witness_right - 0039
exact hsplit_right - 0040
specialize hrange i - 0041
apply hrange - 0042
exact hsplit_right