Exact expanded PA statement
forall b c l i x. (forall ff_i_frp_range_entry. (exists ff_lt_frp_range_entry_bound. ff_lt_frp_range_entry_bound + S ff_i_frp_range_entry = l) -> (((exists ff_h_frp_range_entry_decoded. ff_h_frp_range_entry_decoded + S (1 + ff_i_frp_range_entry) = S ((S (ff_i_frp_range_entry)) * c)) /\ exists ff_q_frp_range_entry_decoded. b = ff_q_frp_range_entry_decoded * S ((S (ff_i_frp_range_entry)) * c) + (1 + ff_i_frp_range_entry)))) -> (exists frp_gap_entry_bound. frp_gap_entry_bound + S i = l) -> (((exists ff_h_frp_entry. ff_h_frp_entry + S (x) = S ((S (i)) * c)) /\ exists ff_q_frp_entry. b = ff_q_frp_entry * S ((S (i)) * c) + (x))) -> x = S iStructural proof guide
Generated structural guide
A decoded entry of the range 1,...,l is the successor of its index.
Use the direct prerequisites beta_range_entry_eq, add_succ_left, zero_add as previously established PA formulas.
The proof proceeds by intermediate claims (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 Alpha-v16 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro i - 0005
intro x - 0006
intro hrange - 0007
intro hi - 0008
intro hx - 0009
have hraw : x = 1 + i - 0010
specialize beta_range_entry_eq b - 0011
specialize beta_range_entry_eq c - 0012
specialize beta_range_entry_eq 1 - 0013
specialize beta_range_entry_eq l - 0014
specialize beta_range_entry_eq i - 0015
specialize beta_range_entry_eq x - 0016
apply beta_range_entry_eq - 0017
exact hrange - 0018
exact hi - 0019
exact hx - 0020
have hone : 1 + i = S i - 0021
trans S (0 + i) - 0022
specialize add_succ_left 0 - 0023
specialize add_succ_left i - 0024
exact add_succ_left - 0025
congr - 0026
specialize zero_add i - 0027
exact zero_add - 0028
trans 1 + i - 0029
exact hraw - 0030
exact hone