PA00B5 · theorem

pair_order_state_terminal_coverage

Alpha v34 checked-use theorem · independently closed; not Stable

The strengthened PairOrder state is complete at the exact terminal length n-2.

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.

Statement with defined notation

∀ u. ∀ v. ∀ b. ∀ c. ∀ l. (∀ x. ∀ y. ∀ z. Lt(x,l)BetaAt(b,c,x,y)BetaAt(u,v,y,z)ContainsPrefix(b,c,l,z)) ∧ ((∀ x. Lt(x,l) → ∃ y. BetaAt(b,c,x,y)Lt(y,S S l)) ∧ ((∀ x. ∀ y. Lt(x,l)BetaAt(b,c,x,y) → ¬y = 0 ∧ ¬S y = S S l) ∧ InjectivePrefix(b,c,l))) → ∀ x. Lt(x,S S l) → ¬x = 0 ∧ ¬S x = S S l → ContainsPrefix(b,c,l,x)

Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.

Definitions used by this theorem

In the theorem statement

12 occurrences

In local proof propositions

2 occurrences

Exact expanded native-PA statement
forall u v b c l. (((forall wpo_position_wpoi_terminal_state_closed wpo_source_wpoi_terminal_state_closed wpo_mate_wpoi_terminal_state_closed. (exists wpo_gap_wpoi_terminal_state_closed_position_bound. wpo_gap_wpoi_terminal_state_closed_position_bound + S (wpo_position_wpoi_terminal_state_closed) = l) -> (((exists wpo_beta_height_wpoi_terminal_state_closed_source_entry. wpo_beta_height_wpoi_terminal_state_closed_source_entry + S (wpo_source_wpoi_terminal_state_closed) = S ((S (wpo_position_wpoi_terminal_state_closed)) * c)) /\ exists wpo_beta_quotient_wpoi_terminal_state_closed_source_entry. b = wpo_beta_quotient_wpoi_terminal_state_closed_source_entry * S ((S (wpo_position_wpoi_terminal_state_closed)) * c) + (wpo_source_wpoi_terminal_state_closed))) -> (((exists wpo_beta_height_wpoi_terminal_state_closed_inverse_entry. wpo_beta_height_wpoi_terminal_state_closed_inverse_entry + S (wpo_mate_wpoi_terminal_state_closed) = S ((S (wpo_source_wpoi_terminal_state_closed)) * v)) /\ exists wpo_beta_quotient_wpoi_terminal_state_closed_inverse_entry. u = wpo_beta_quotient_wpoi_terminal_state_closed_inverse_entry * S ((S (wpo_source_wpoi_terminal_state_closed)) * v) + (wpo_mate_wpoi_terminal_state_closed))) -> exists wpo_mate_position_wpoi_terminal_state_closed. ((exists wpo_gap_wpoi_terminal_state_closed_mate_bound. wpo_gap_wpoi_terminal_state_closed_mate_bound + S (wpo_mate_position_wpoi_terminal_state_closed) = l) /\ (((exists wpo_beta_height_wpoi_terminal_state_closed_mate_entry. wpo_beta_height_wpoi_terminal_state_closed_mate_entry + S (wpo_mate_wpoi_terminal_state_closed) = S ((S (wpo_mate_position_wpoi_terminal_state_closed)) * c)) /\ exists wpo_beta_quotient_wpoi_terminal_state_closed_mate_entry. b = wpo_beta_quotient_wpoi_terminal_state_closed_mate_entry * S ((S (wpo_mate_position_wpoi_terminal_state_closed)) * c) + (wpo_mate_wpoi_terminal_state_closed))))) /\ ((forall fom_index_wpoi_terminal_state_bounded. (exists fom_gap_wpoi_terminal_state_bounded_index_bound. fom_gap_wpoi_terminal_state_bounded_index_bound + S (fom_index_wpoi_terminal_state_bounded) = l) -> exists fom_value_wpoi_terminal_state_bounded. ((((exists fom_beta_height_wpoi_terminal_state_bounded_entry. fom_beta_height_wpoi_terminal_state_bounded_entry + S (fom_value_wpoi_terminal_state_bounded) = S ((S (fom_index_wpoi_terminal_state_bounded)) * c)) /\ exists fom_beta_quotient_wpoi_terminal_state_bounded_entry. b = fom_beta_quotient_wpoi_terminal_state_bounded_entry * S ((S (fom_index_wpoi_terminal_state_bounded)) * c) + (fom_value_wpoi_terminal_state_bounded))) /\ (exists fom_gap_wpoi_terminal_state_bounded_value_bound. fom_gap_wpoi_terminal_state_bounded_value_bound + S (fom_value_wpoi_terminal_state_bounded) = S (S l)))) /\ ((forall wpo_position_wpoi_terminal_state_nonendpoint wpo_value_wpoi_terminal_state_nonendpoint. (exists wpo_gap_wpoi_terminal_state_nonendpoint_position_bound. wpo_gap_wpoi_terminal_state_nonendpoint_position_bound + S (wpo_position_wpoi_terminal_state_nonendpoint) = l) -> (((exists wpo_beta_height_wpoi_terminal_state_nonendpoint_entry. wpo_beta_height_wpoi_terminal_state_nonendpoint_entry + S (wpo_value_wpoi_terminal_state_nonendpoint) = S ((S (wpo_position_wpoi_terminal_state_nonendpoint)) * c)) /\ exists wpo_beta_quotient_wpoi_terminal_state_nonendpoint_entry. b = wpo_beta_quotient_wpoi_terminal_state_nonendpoint_entry * S ((S (wpo_position_wpoi_terminal_state_nonendpoint)) * c) + (wpo_value_wpoi_terminal_state_nonendpoint))) -> (~(wpo_value_wpoi_terminal_state_nonendpoint = 0) /\ ~((S wpo_value_wpoi_terminal_state_nonendpoint) = S (S l)))) /\ (forall wpo_injective_left_wpoi_terminal_state_injective wpo_injective_right_wpoi_terminal_state_injective wpo_injective_value_wpoi_terminal_state_injective. (exists wpo_gap_wpoi_terminal_state_injective_left_bound. wpo_gap_wpoi_terminal_state_injective_left_bound + S (wpo_injective_left_wpoi_terminal_state_injective) = l) -> (exists wpo_gap_wpoi_terminal_state_injective_right_bound. wpo_gap_wpoi_terminal_state_injective_right_bound + S (wpo_injective_right_wpoi_terminal_state_injective) = l) -> (((exists wpo_beta_height_wpoi_terminal_state_injective_left_entry. wpo_beta_height_wpoi_terminal_state_injective_left_entry + S (wpo_injective_value_wpoi_terminal_state_injective) = S ((S (wpo_injective_left_wpoi_terminal_state_injective)) * c)) /\ exists wpo_beta_quotient_wpoi_terminal_state_injective_left_entry. b = wpo_beta_quotient_wpoi_terminal_state_injective_left_entry * S ((S (wpo_injective_left_wpoi_terminal_state_injective)) * c) + (wpo_injective_value_wpoi_terminal_state_injective))) -> (((exists wpo_beta_height_wpoi_terminal_state_injective_right_entry. wpo_beta_height_wpoi_terminal_state_injective_right_entry + S (wpo_injective_value_wpoi_terminal_state_injective) = S ((S (wpo_injective_right_wpoi_terminal_state_injective)) * c)) /\ exists wpo_beta_quotient_wpoi_terminal_state_injective_right_entry. b = wpo_beta_quotient_wpoi_terminal_state_injective_right_entry * S ((S (wpo_injective_right_wpoi_terminal_state_injective)) * c) + (wpo_injective_value_wpoi_terminal_state_injective))) -> wpo_injective_left_wpoi_terminal_state_injective = wpo_injective_right_wpoi_terminal_state_injective))))) -> forall s. (exists wpo_gap_wpoi_terminal_value_bound. wpo_gap_wpoi_terminal_value_bound + S (s) = S (S l)) -> (~(s = 0) /\ ~((S s) = S (S l))) -> (exists q. ((exists wpo_gap_wpoi_terminal_index_bound. wpo_gap_wpoi_terminal_index_bound + S (q) = l) /\ (((exists wpo_beta_height_wpoi_terminal_entry. wpo_beta_height_wpoi_terminal_entry + S (s) = S ((S (q)) * c)) /\ exists wpo_beta_quotient_wpoi_terminal_entry. b = wpo_beta_quotient_wpoi_terminal_entry * S ((S (q)) * c) + (s)))))

Proof neighborhood

Direct theorem prerequisites

Direct theorem dependents

Definition-aware tactic body

Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.

Read the argument

Proof checkpoints

24 script commands · 5 reading checkpoints · 1 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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (1)
01Fix variables and assumptionsL1–6

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

  1. L1
    intro u
  2. L2
    intro v
  3. L3
    intro b
  4. L4
    intro c
  5. L5
    intro l
  6. L6
    intro hstate
02Separate the logical casesL7–9

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L7
    cases hstate
  2. L8
    cases hstate_right
  3. L9
    cases hstate_right_right
03Establish hall_coverageL10–19

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite bounded nonendpoint injective coverage.

  1. L10
    have hall_coverage : ∀ s. Lt(s,S S l) → ¬s = 0 ∧ ¬S s = S S l → ContainsPrefix(b,c,l,s)Definitions: Lt(s,S S l)ContainsPrefix(b,c,l,s)Original native command in the exact edition
  2. L11
    specialize finite_bounded_nonendpoint_injective_coverage b
  3. L12
    specialize finite_bounded_nonendpoint_injective_coverage c
  4. L13
    specialize finite_bounded_nonendpoint_injective_coverage l
  5. L14
    apply finite_bounded_nonendpoint_injective_coverage
  6. L15
    exact hstate_right_left
  7. L16
    exact hstate_right_right_left
  8. L17
    exact hstate_right_right_right
  9. L18
    intro s
  10. L19
    intro hsbound
04Fix variables and assumptionsL20–20

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

  1. L20
    intro hsendpoints
05Use earlier factsL21–24

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

  1. L21
    specialize hall_coverage s
  2. L22
    apply hall_coverage
  3. L23
    exact hsbound
  4. L24
    exact hsendpoints

Library-wide reading audit

Original defined command ledger · 24 lines
  1. 0001intro u
  2. 0002intro v
  3. 0003intro b
  4. 0004intro c
  5. 0005intro l
  6. 0006intro hstate
  7. 0007cases hstate
  8. 0008cases hstate_right
  9. 0009cases hstate_right_right
  10. 0010have hall_coverage : ∀ s. Lt(s,S S l) → ¬s = 0 ∧ ¬S s = S S l → ContainsPrefix(b,c,l,s)
    Exact native replay linehave hall_coverage : forall s. (exists wpo_gap_wpoi_terminal_value_bound. wpo_gap_wpoi_terminal_value_bound + S (s) = S (S l)) -> (~(s = 0) /\ ~((S s) = S (S l))) -> (exists q. ((exists wpo_gap_wpoi_terminal_index_bound. wpo_gap_wpoi_terminal_index_bound + S (q) = l) /\ (((exists wpo_beta_height_wpoi_terminal_entry. wpo_beta_height_wpoi_terminal_entry + S (s) = S ((S (q)) * c)) /\ exists wpo_beta_quotient_wpoi_terminal_entry. b = wpo_beta_quotient_wpoi_terminal_entry * S ((S (q)) * c) + (s)))))
  11. 0011specialize finite_bounded_nonendpoint_injective_coverage b
  12. 0012specialize finite_bounded_nonendpoint_injective_coverage c
  13. 0013specialize finite_bounded_nonendpoint_injective_coverage l
  14. 0014apply finite_bounded_nonendpoint_injective_coverage
  15. 0015exact hstate_right_left
  16. 0016exact hstate_right_right_left
  17. 0017exact hstate_right_right_right
  18. 0018intro s
  19. 0019intro hsbound
  20. 0020intro hsendpoints
  21. 0021specialize hall_coverage s
  22. 0022apply hall_coverage
  23. 0023exact hsbound
  24. 0024exact hsendpoints