Exact expanded PA statement
forall mb mc sb sc tb tc l. (forall fpmp_index_drop_successor fpmp_left_drop_successor fpmp_right_drop_successor fpmp_target_drop_successor. (exists fpmp_gap_drop_successor. fpmp_gap_drop_successor + S fpmp_index_drop_successor = S l) -> (((exists ff_h_fpmp_drop_successor_left. ff_h_fpmp_drop_successor_left + S (fpmp_left_drop_successor) = S ((S (fpmp_index_drop_successor)) * mc)) /\ exists ff_q_fpmp_drop_successor_left. mb = ff_q_fpmp_drop_successor_left * S ((S (fpmp_index_drop_successor)) * mc) + (fpmp_left_drop_successor))) -> (((exists ff_h_fpmp_drop_successor_right. ff_h_fpmp_drop_successor_right + S (fpmp_right_drop_successor) = S ((S (fpmp_index_drop_successor)) * sc)) /\ exists ff_q_fpmp_drop_successor_right. sb = ff_q_fpmp_drop_successor_right * S ((S (fpmp_index_drop_successor)) * sc) + (fpmp_right_drop_successor))) -> (((exists ff_h_fpmp_drop_successor_target. ff_h_fpmp_drop_successor_target + S (fpmp_target_drop_successor) = S ((S (fpmp_index_drop_successor)) * tc)) /\ exists ff_q_fpmp_drop_successor_target. tb = ff_q_fpmp_drop_successor_target * S ((S (fpmp_index_drop_successor)) * tc) + (fpmp_target_drop_successor))) -> fpmp_target_drop_successor = fpmp_left_drop_successor * fpmp_right_drop_successor) -> (forall fpmp_index_drop_prefix fpmp_left_drop_prefix fpmp_right_drop_prefix fpmp_target_drop_prefix. (exists fpmp_gap_drop_prefix. fpmp_gap_drop_prefix + S fpmp_index_drop_prefix = l) -> (((exists ff_h_fpmp_drop_prefix_left. ff_h_fpmp_drop_prefix_left + S (fpmp_left_drop_prefix) = S ((S (fpmp_index_drop_prefix)) * mc)) /\ exists ff_q_fpmp_drop_prefix_left. mb = ff_q_fpmp_drop_prefix_left * S ((S (fpmp_index_drop_prefix)) * mc) + (fpmp_left_drop_prefix))) -> (((exists ff_h_fpmp_drop_prefix_right. ff_h_fpmp_drop_prefix_right + S (fpmp_right_drop_prefix) = S ((S (fpmp_index_drop_prefix)) * sc)) /\ exists ff_q_fpmp_drop_prefix_right. sb = ff_q_fpmp_drop_prefix_right * S ((S (fpmp_index_drop_prefix)) * sc) + (fpmp_right_drop_prefix))) -> (((exists ff_h_fpmp_drop_prefix_target. ff_h_fpmp_drop_prefix_target + S (fpmp_target_drop_prefix) = S ((S (fpmp_index_drop_prefix)) * tc)) /\ exists ff_q_fpmp_drop_prefix_target. tb = ff_q_fpmp_drop_prefix_target * S ((S (fpmp_index_drop_prefix)) * tc) + (fpmp_target_drop_prefix))) -> fpmp_target_drop_prefix = fpmp_left_drop_prefix * fpmp_right_drop_prefix)Structural proof guide
Generated structural guide
Pointwise multiplication alignment restricts to the predecessor prefix.
Use the direct prerequisites le_succ as previously established PA formulas.
The proof proceeds by direct introduction and elimination.
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 mb - 0002
intro mc - 0003
intro sb - 0004
intro sc - 0005
intro tb - 0006
intro tc - 0007
intro l - 0008
intro haligned - 0009
intro i - 0010
intro m - 0011
intro s - 0012
intro t - 0013
intro hi - 0014
intro hm - 0015
intro hs - 0016
intro ht - 0017
specialize haligned i - 0018
specialize haligned m - 0019
specialize haligned s - 0020
specialize haligned t - 0021
apply haligned - 0022
specialize le_succ (S i) - 0023
specialize le_succ l - 0024
apply le_succ - 0025
exact hi - 0026
exact hm - 0027
exact hs - 0028
exact ht