BT00UX

primorial_factor_prefix_restrict_add

Alpha v34 checked-use theorem · independently kernel and Lean verified; not Stable

Restrict a selector prefix of length a+l to its first a entries.

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.

Exact expanded PA statement

forall a b c l. (forall bpr_index_bpfpra_source. (exists bpr_gap_bpfpra_source_bound. bpr_gap_bpfpra_source_bound + S (bpr_index_bpfpra_source) = a + l) -> exists bpr_value_bpfpra_source. ((((exists bpr_height_bpfpra_source_decoded. bpr_height_bpfpra_source_decoded + S (bpr_value_bpfpra_source) = S ((S (bpr_index_bpfpra_source)) * c)) /\ exists bpr_quotient_bpfpra_source_decoded. b = bpr_quotient_bpfpra_source_decoded * S ((S (bpr_index_bpfpra_source)) * c) + (bpr_value_bpfpra_source))) /\ (((((~(S (bpr_index_bpfpra_source) = 1) /\ forall bpr_left_bpfpra_source_choice_prime bpr_right_bpfpra_source_choice_prime. S (bpr_index_bpfpra_source) = bpr_left_bpfpra_source_choice_prime * bpr_right_bpfpra_source_choice_prime -> bpr_left_bpfpra_source_choice_prime = 1 \/ bpr_right_bpfpra_source_choice_prime = 1)) /\ bpr_value_bpfpra_source = S (bpr_index_bpfpra_source)) \/ (~((~(S (bpr_index_bpfpra_source) = 1) /\ forall bpr_left_bpfpra_source_choice_prime bpr_right_bpfpra_source_choice_prime. S (bpr_index_bpfpra_source) = bpr_left_bpfpra_source_choice_prime * bpr_right_bpfpra_source_choice_prime -> bpr_left_bpfpra_source_choice_prime = 1 \/ bpr_right_bpfpra_source_choice_prime = 1)) /\ bpr_value_bpfpra_source = 1))))) -> (forall bpr_index_bpfpra_target. (exists bpr_gap_bpfpra_target_bound. bpr_gap_bpfpra_target_bound + S (bpr_index_bpfpra_target) = a) -> exists bpr_value_bpfpra_target. ((((exists bpr_height_bpfpra_target_decoded. bpr_height_bpfpra_target_decoded + S (bpr_value_bpfpra_target) = S ((S (bpr_index_bpfpra_target)) * c)) /\ exists bpr_quotient_bpfpra_target_decoded. b = bpr_quotient_bpfpra_target_decoded * S ((S (bpr_index_bpfpra_target)) * c) + (bpr_value_bpfpra_target))) /\ (((((~(S (bpr_index_bpfpra_target) = 1) /\ forall bpr_left_bpfpra_target_choice_prime bpr_right_bpfpra_target_choice_prime. S (bpr_index_bpfpra_target) = bpr_left_bpfpra_target_choice_prime * bpr_right_bpfpra_target_choice_prime -> bpr_left_bpfpra_target_choice_prime = 1 \/ bpr_right_bpfpra_target_choice_prime = 1)) /\ bpr_value_bpfpra_target = S (bpr_index_bpfpra_target)) \/ (~((~(S (bpr_index_bpfpra_target) = 1) /\ forall bpr_left_bpfpra_target_choice_prime bpr_right_bpfpra_target_choice_prime. S (bpr_index_bpfpra_target) = bpr_left_bpfpra_target_choice_prime * bpr_right_bpfpra_target_choice_prime -> bpr_left_bpfpra_target_choice_prime = 1 \/ bpr_right_bpfpra_target_choice_prime = 1)) /\ bpr_value_bpfpra_target = 1)))))

Structural proof guide

Restrict a selector prefix of length a+l to its first a entries.

Direct prerequisites: le_add_right, lt_of_lt_of_le. The authored body proceeds by direct introduction and elimination.

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing Stable membership.

Read the argument

Proof checkpoints

16 script commands · 2 reading checkpoints · 0 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

Named ingredients (2)
01Fix variables and assumptionsL1–7

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro a
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro l
  5. L5
    intro hsource
  6. L6
    intro i
  7. L7
    intro hi
02Use earlier factsL8–16

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L8
    apply hsource
  2. L9
    specialize lt_of_lt_of_le i
  3. L10
    specialize lt_of_lt_of_le a
  4. L11
    specialize lt_of_lt_of_le (a + l)
  5. L12
    apply lt_of_lt_of_le
  6. L13
    exact hi
  7. L14
    specialize le_add_right a
  8. L15
    specialize le_add_right l
  9. L16
    exact le_add_right

Library-wide reading audit

Original exact command ledger · 16 lines
  1. 0001intro a
  2. 0002intro b
  3. 0003intro c
  4. 0004intro l
  5. 0005intro hsource
  6. 0006intro i
  7. 0007intro hi
  8. 0008apply hsource
  9. 0009specialize lt_of_lt_of_le i
  10. 0010specialize lt_of_lt_of_le a
  11. 0011specialize lt_of_lt_of_le (a + l)
  12. 0012apply lt_of_lt_of_le
  13. 0013exact hi
  14. 0014specialize le_add_right a
  15. 0015specialize le_add_right l
  16. 0016exact le_add_right