Exact expanded PA statement
forall r s l. exists z d. forall i j. (exists frm_gap_successor_lift_bound. frm_gap_successor_lift_bound + S i = l) -> (((exists ff_h_frm_successor_lift_source. ff_h_frm_successor_lift_source + S (j) = S ((S (i)) * s)) /\ exists ff_q_frm_successor_lift_source. r = ff_q_frm_successor_lift_source * S ((S (i)) * s) + (j))) -> (((exists frm_height_successor_lift_target. frm_height_successor_lift_target + S (S j) = S ((S (i)) * d)) /\ exists frm_quotient_successor_lift_target. z = frm_quotient_successor_lift_target * S ((S (i)) * d) + (S j)))Structural proof guide
Generated structural guide
Every decoded finite prefix can be recoded after successor-lifting its values.
Use the direct prerequisites add_eq_zero_right, succ_ne_zero, finite_lt_succ_eq_or_lt, beta_at_exists, beta_at_unique, beta_prefix_extend as previously established PA formulas.
The proof proceeds by structural induction (1), case analysis (8), intermediate claims (3), equality transport (6).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA0004 add_eq_zero_right PA0005 succ_ne_zero PA003D finite_lt_succ_eq_or_lt PA0029 beta_at_exists PA002F beta_at_unique PA002X beta_prefix_extendDirect 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 r - 0002
intro s - 0003
induction l - 0004
exists 0 - 0005
exists 0 - 0006
intro i - 0007
intro j - 0008
intro hi - 0009
intro hsource - 0010
exfalso - 0011
cases hi - 0012
have hsi : S i = 0 - 0013
specialize add_eq_zero_right x - 0014
specialize add_eq_zero_right (S i) - 0015
apply add_eq_zero_right - 0016
exact hi_witness - 0017
specialize succ_ne_zero i - 0018
apply succ_ne_zero - 0019
exact hsi - 0020
cases IH - 0021
cases IH_witness - 0022
specialize beta_at_exists r - 0023
specialize beta_at_exists s - 0024
specialize beta_at_exists l - 0025
cases beta_at_exists - 0026
specialize beta_prefix_extend l - 0027
specialize beta_prefix_extend x - 0028
specialize beta_prefix_extend x1 - 0029
specialize beta_prefix_extend (S x2) - 0030
cases beta_prefix_extend - 0031
cases beta_prefix_extend_witness - 0032
cases beta_prefix_extend_witness_witness - 0033
exists x3 - 0034
exists x4 - 0035
intro i - 0036
intro j - 0037
intro hi - 0038
intro hsource - 0039
have hsplit : i = l \/ exists h. h + S i = l - 0040
specialize finite_lt_succ_eq_or_lt l - 0041
specialize finite_lt_succ_eq_or_lt i - 0042
apply finite_lt_succ_eq_or_lt - 0043
exact hi - 0044
cases hsplit - 0045
have hjx : j = x2 - 0046
specialize beta_at_unique r - 0047
specialize beta_at_unique s - 0048
specialize beta_at_unique l - 0049
specialize beta_at_unique j - 0050
specialize beta_at_unique x2 - 0051
apply beta_at_unique - 0052
rewrite hsplit_left at hsource - 0053
rewrite hsplit_left at hsource - 0054
exact hsource - 0055
exact beta_at_exists_witness - 0056
rewrite hsplit_left - 0057
rewrite hsplit_left - 0058
rewrite hjx - 0059
rewrite hjx - 0060
exact beta_prefix_extend_witness_witness_left - 0061
specialize beta_prefix_extend_witness_witness_right i - 0062
specialize beta_prefix_extend_witness_witness_right (S j) - 0063
apply beta_prefix_extend_witness_witness_right - 0064
exact hsplit_right - 0065
specialize IH_witness_witness i - 0066
specialize IH_witness_witness j - 0067
apply IH_witness_witness - 0068
exact hsplit_right - 0069
exact hsource