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 p n u v b c m r. p = S n -> ((~(p = 1) /\ forall wip_prime_left_wpopi_prime wip_prime_right_wpopi_prime. p = wip_prime_left_wpopi_prime * wip_prime_right_wpopi_prime -> wip_prime_left_wpopi_prime = 1 \/ wip_prime_right_wpopi_prime = 1)) -> (forall wip_index_wpopi_inverse. (exists wip_gap_wpopi_inverse_prefix_bound. wip_gap_wpopi_inverse_prefix_bound + S wip_index_wpopi_inverse = n) -> exists wip_mate_wpopi_inverse. ((((exists wip_beta_height_wpopi_inverse_decoded. wip_beta_height_wpopi_inverse_decoded + S (wip_mate_wpopi_inverse) = S ((S (wip_index_wpopi_inverse)) * v)) /\ exists wip_beta_quotient_wpopi_inverse_decoded. u = wip_beta_quotient_wpopi_inverse_decoded * S ((S (wip_index_wpopi_inverse)) * v) + (wip_mate_wpopi_inverse))) /\ ((exists wip_gap_wpopi_inverse_inverse_index_bound. wip_gap_wpopi_inverse_inverse_index_bound + S wip_index_wpopi_inverse = n) /\ ((exists wip_gap_wpopi_inverse_inverse_mate_bound. wip_gap_wpopi_inverse_inverse_mate_bound + S wip_mate_wpopi_inverse = n) /\ (exists wip_mod_left_wpopi_inverse_inverse_mod wip_mod_right_wpopi_inverse_inverse_mod. ((S wip_index_wpopi_inverse) * S wip_mate_wpopi_inverse) + p * wip_mod_left_wpopi_inverse_inverse_mod = 1 + p * wip_mod_right_wpopi_inverse_inverse_mod))))) -> n = S r -> (exists h. h + S (S (S (m + m))) = n) -> (((forall wpo_position_wpopi_old_state_closed wpo_source_wpopi_old_state_closed wpo_mate_wpopi_old_state_closed. (exists wpo_gap_wpopi_old_state_closed_position_bound. wpo_gap_wpopi_old_state_closed_position_bound + S (wpo_position_wpopi_old_state_closed) = (m + m)) -> (((exists wpo_beta_height_wpopi_old_state_closed_source_entry. wpo_beta_height_wpopi_old_state_closed_source_entry + S (wpo_source_wpopi_old_state_closed) = S ((S (wpo_position_wpopi_old_state_closed)) * c)) /\ exists wpo_beta_quotient_wpopi_old_state_closed_source_entry. b = wpo_beta_quotient_wpopi_old_state_closed_source_entry * S ((S (wpo_position_wpopi_old_state_closed)) * c) + (wpo_source_wpopi_old_state_closed))) -> (((exists wpo_beta_height_wpopi_old_state_closed_inverse_entry. wpo_beta_height_wpopi_old_state_closed_inverse_entry + S (wpo_mate_wpopi_old_state_closed) = S ((S (wpo_source_wpopi_old_state_closed)) * v)) /\ exists wpo_beta_quotient_wpopi_old_state_closed_inverse_entry. u = wpo_beta_quotient_wpopi_old_state_closed_inverse_entry * S ((S (wpo_source_wpopi_old_state_closed)) * v) + (wpo_mate_wpopi_old_state_closed))) -> exists wpo_mate_position_wpopi_old_state_closed. ((exists wpo_gap_wpopi_old_state_closed_mate_bound. wpo_gap_wpopi_old_state_closed_mate_bound + S (wpo_mate_position_wpopi_old_state_closed) = (m + m)) /\ (((exists wpo_beta_height_wpopi_old_state_closed_mate_entry. wpo_beta_height_wpopi_old_state_closed_mate_entry + S (wpo_mate_wpopi_old_state_closed) = S ((S (wpo_mate_position_wpopi_old_state_closed)) * c)) /\ exists wpo_beta_quotient_wpopi_old_state_closed_mate_entry. b = wpo_beta_quotient_wpopi_old_state_closed_mate_entry * S ((S (wpo_mate_position_wpopi_old_state_closed)) * c) + (wpo_mate_wpopi_old_state_closed))))) /\ ((forall fom_index_wpopi_old_state_bounded. (exists fom_gap_wpopi_old_state_bounded_index_bound. fom_gap_wpopi_old_state_bounded_index_bound + S (fom_index_wpopi_old_state_bounded) = (m + m)) -> exists fom_value_wpopi_old_state_bounded. ((((exists fom_beta_height_wpopi_old_state_bounded_entry. fom_beta_height_wpopi_old_state_bounded_entry + S (fom_value_wpopi_old_state_bounded) = S ((S (fom_index_wpopi_old_state_bounded)) * c)) /\ exists fom_beta_quotient_wpopi_old_state_bounded_entry. b = fom_beta_quotient_wpopi_old_state_bounded_entry * S ((S (fom_index_wpopi_old_state_bounded)) * c) + (fom_value_wpopi_old_state_bounded))) /\ (exists fom_gap_wpopi_old_state_bounded_value_bound. fom_gap_wpopi_old_state_bounded_value_bound + S (fom_value_wpopi_old_state_bounded) = n))) /\ ((forall wpo_position_wpopi_old_state_nonendpoint wpo_value_wpopi_old_state_nonendpoint. (exists wpo_gap_wpopi_old_state_nonendpoint_position_bound. wpo_gap_wpopi_old_state_nonendpoint_position_bound + S (wpo_position_wpopi_old_state_nonendpoint) = (m + m)) -> (((exists wpo_beta_height_wpopi_old_state_nonendpoint_entry. wpo_beta_height_wpopi_old_state_nonendpoint_entry + S (wpo_value_wpopi_old_state_nonendpoint) = S ((S (wpo_position_wpopi_old_state_nonendpoint)) * c)) /\ exists wpo_beta_quotient_wpopi_old_state_nonendpoint_entry. b = wpo_beta_quotient_wpopi_old_state_nonendpoint_entry * S ((S (wpo_position_wpopi_old_state_nonendpoint)) * c) + (wpo_value_wpopi_old_state_nonendpoint))) -> (~(wpo_value_wpopi_old_state_nonendpoint = 0) /\ ~((S wpo_value_wpopi_old_state_nonendpoint) = n))) /\ (forall wpo_injective_left_wpopi_old_state_injective wpo_injective_right_wpopi_old_state_injective wpo_injective_value_wpopi_old_state_injective. (exists wpo_gap_wpopi_old_state_injective_left_bound. wpo_gap_wpopi_old_state_injective_left_bound + S (wpo_injective_left_wpopi_old_state_injective) = (m + m)) -> (exists wpo_gap_wpopi_old_state_injective_right_bound. wpo_gap_wpopi_old_state_injective_right_bound + S (wpo_injective_right_wpopi_old_state_injective) = (m + m)) -> (((exists wpo_beta_height_wpopi_old_state_injective_left_entry. wpo_beta_height_wpopi_old_state_injective_left_entry + S (wpo_injective_value_wpopi_old_state_injective) = S ((S (wpo_injective_left_wpopi_old_state_injective)) * c)) /\ exists wpo_beta_quotient_wpopi_old_state_injective_left_entry. b = wpo_beta_quotient_wpopi_old_state_injective_left_entry * S ((S (wpo_injective_left_wpopi_old_state_injective)) * c) + (wpo_injective_value_wpopi_old_state_injective))) -> (((exists wpo_beta_height_wpopi_old_state_injective_right_entry. wpo_beta_height_wpopi_old_state_injective_right_entry + S (wpo_injective_value_wpopi_old_state_injective) = S ((S (wpo_injective_right_wpopi_old_state_injective)) * c)) /\ exists wpo_beta_quotient_wpopi_old_state_injective_right_entry. b = wpo_beta_quotient_wpopi_old_state_injective_right_entry * S ((S (wpo_injective_right_wpopi_old_state_injective)) * c) + (wpo_injective_value_wpopi_old_state_injective))) -> wpo_injective_left_wpopi_old_state_injective = wpo_injective_right_wpopi_old_state_injective))))) -> (forall wpop_pair_wpop_old_pairs. (exists wpo_gap_wpop_old_pairs_pair_bound. wpo_gap_wpop_old_pairs_pair_bound + S (wpop_pair_wpop_old_pairs) = m) -> exists wpop_left_wpop_old_pairs wpop_right_wpop_old_pairs. ((((exists wpo_beta_height_wpop_old_pairs_left_entry. wpo_beta_height_wpop_old_pairs_left_entry + S (wpop_left_wpop_old_pairs) = S ((S (wpop_pair_wpop_old_pairs + wpop_pair_wpop_old_pairs)) * c)) /\ exists wpo_beta_quotient_wpop_old_pairs_left_entry. b = wpo_beta_quotient_wpop_old_pairs_left_entry * S ((S (wpop_pair_wpop_old_pairs + wpop_pair_wpop_old_pairs)) * c) + (wpop_left_wpop_old_pairs))) /\ ((((exists wpo_beta_height_wpop_old_pairs_right_entry. wpo_beta_height_wpop_old_pairs_right_entry + S (wpop_right_wpop_old_pairs) = S ((S (S (wpop_pair_wpop_old_pairs + wpop_pair_wpop_old_pairs))) * c)) /\ exists wpo_beta_quotient_wpop_old_pairs_right_entry. b = wpo_beta_quotient_wpop_old_pairs_right_entry * S ((S (S (wpop_pair_wpop_old_pairs + wpop_pair_wpop_old_pairs))) * c) + (wpop_right_wpop_old_pairs))) /\ (((exists wpo_beta_height_wpop_old_pairs_inverse_entry. wpo_beta_height_wpop_old_pairs_inverse_entry + S (wpop_right_wpop_old_pairs) = S ((S (wpop_left_wpop_old_pairs)) * v)) /\ exists wpo_beta_quotient_wpop_old_pairs_inverse_entry. u = wpo_beta_quotient_wpop_old_pairs_inverse_entry * S ((S (wpop_left_wpop_old_pairs)) * v) + (wpop_right_wpop_old_pairs)))))) -> (exists z d. ((((forall wpo_position_wpopi_next_state_closed wpo_source_wpopi_next_state_closed wpo_mate_wpopi_next_state_closed. (exists wpo_gap_wpopi_next_state_closed_position_bound. wpo_gap_wpopi_next_state_closed_position_bound + S (wpo_position_wpopi_next_state_closed) = S (S (m + m))) -> (((exists wpo_beta_height_wpopi_next_state_closed_source_entry. wpo_beta_height_wpopi_next_state_closed_source_entry + S (wpo_source_wpopi_next_state_closed) = S ((S (wpo_position_wpopi_next_state_closed)) * d)) /\ exists wpo_beta_quotient_wpopi_next_state_closed_source_entry. z = wpo_beta_quotient_wpopi_next_state_closed_source_entry * S ((S (wpo_position_wpopi_next_state_closed)) * d) + (wpo_source_wpopi_next_state_closed))) -> (((exists wpo_beta_height_wpopi_next_state_closed_inverse_entry. wpo_beta_height_wpopi_next_state_closed_inverse_entry + S (wpo_mate_wpopi_next_state_closed) = S ((S (wpo_source_wpopi_next_state_closed)) * v)) /\ exists wpo_beta_quotient_wpopi_next_state_closed_inverse_entry. u = wpo_beta_quotient_wpopi_next_state_closed_inverse_entry * S ((S (wpo_source_wpopi_next_state_closed)) * v) + (wpo_mate_wpopi_next_state_closed))) -> exists wpo_mate_position_wpopi_next_state_closed. ((exists wpo_gap_wpopi_next_state_closed_mate_bound. wpo_gap_wpopi_next_state_closed_mate_bound + S (wpo_mate_position_wpopi_next_state_closed) = S (S (m + m))) /\ (((exists wpo_beta_height_wpopi_next_state_closed_mate_entry. wpo_beta_height_wpopi_next_state_closed_mate_entry + S (wpo_mate_wpopi_next_state_closed) = S ((S (wpo_mate_position_wpopi_next_state_closed)) * d)) /\ exists wpo_beta_quotient_wpopi_next_state_closed_mate_entry. z = wpo_beta_quotient_wpopi_next_state_closed_mate_entry * S ((S (wpo_mate_position_wpopi_next_state_closed)) * d) + (wpo_mate_wpopi_next_state_closed))))) /\ ((forall fom_index_wpopi_next_state_bounded. (exists fom_gap_wpopi_next_state_bounded_index_bound. fom_gap_wpopi_next_state_bounded_index_bound + S (fom_index_wpopi_next_state_bounded) = S (S (m + m))) -> exists fom_value_wpopi_next_state_bounded. ((((exists fom_beta_height_wpopi_next_state_bounded_entry. fom_beta_height_wpopi_next_state_bounded_entry + S (fom_value_wpopi_next_state_bounded) = S ((S (fom_index_wpopi_next_state_bounded)) * d)) /\ exists fom_beta_quotient_wpopi_next_state_bounded_entry. z = fom_beta_quotient_wpopi_next_state_bounded_entry * S ((S (fom_index_wpopi_next_state_bounded)) * d) + (fom_value_wpopi_next_state_bounded))) /\ (exists fom_gap_wpopi_next_state_bounded_value_bound. fom_gap_wpopi_next_state_bounded_value_bound + S (fom_value_wpopi_next_state_bounded) = n))) /\ ((forall wpo_position_wpopi_next_state_nonendpoint wpo_value_wpopi_next_state_nonendpoint. (exists wpo_gap_wpopi_next_state_nonendpoint_position_bound. wpo_gap_wpopi_next_state_nonendpoint_position_bound + S (wpo_position_wpopi_next_state_nonendpoint) = S (S (m + m))) -> (((exists wpo_beta_height_wpopi_next_state_nonendpoint_entry. wpo_beta_height_wpopi_next_state_nonendpoint_entry + S (wpo_value_wpopi_next_state_nonendpoint) = S ((S (wpo_position_wpopi_next_state_nonendpoint)) * d)) /\ exists wpo_beta_quotient_wpopi_next_state_nonendpoint_entry. z = wpo_beta_quotient_wpopi_next_state_nonendpoint_entry * S ((S (wpo_position_wpopi_next_state_nonendpoint)) * d) + (wpo_value_wpopi_next_state_nonendpoint))) -> (~(wpo_value_wpopi_next_state_nonendpoint = 0) /\ ~((S wpo_value_wpopi_next_state_nonendpoint) = n))) /\ (forall wpo_injective_left_wpopi_next_state_injective wpo_injective_right_wpopi_next_state_injective wpo_injective_value_wpopi_next_state_injective. (exists wpo_gap_wpopi_next_state_injective_left_bound. wpo_gap_wpopi_next_state_injective_left_bound + S (wpo_injective_left_wpopi_next_state_injective) = S (S (m + m))) -> (exists wpo_gap_wpopi_next_state_injective_right_bound. wpo_gap_wpopi_next_state_injective_right_bound + S (wpo_injective_right_wpopi_next_state_injective) = S (S (m + m))) -> (((exists wpo_beta_height_wpopi_next_state_injective_left_entry. wpo_beta_height_wpopi_next_state_injective_left_entry + S (wpo_injective_value_wpopi_next_state_injective) = S ((S (wpo_injective_left_wpopi_next_state_injective)) * d)) /\ exists wpo_beta_quotient_wpopi_next_state_injective_left_entry. z = wpo_beta_quotient_wpopi_next_state_injective_left_entry * S ((S (wpo_injective_left_wpopi_next_state_injective)) * d) + (wpo_injective_value_wpopi_next_state_injective))) -> (((exists wpo_beta_height_wpopi_next_state_injective_right_entry. wpo_beta_height_wpopi_next_state_injective_right_entry + S (wpo_injective_value_wpopi_next_state_injective) = S ((S (wpo_injective_right_wpopi_next_state_injective)) * d)) /\ exists wpo_beta_quotient_wpopi_next_state_injective_right_entry. z = wpo_beta_quotient_wpopi_next_state_injective_right_entry * S ((S (wpo_injective_right_wpopi_next_state_injective)) * d) + (wpo_injective_value_wpopi_next_state_injective))) -> wpo_injective_left_wpopi_next_state_injective = wpo_injective_right_wpopi_next_state_injective))))) /\ (forall wpop_pair_wpop_new_pairs. (exists wpo_gap_wpop_new_pairs_pair_bound. wpo_gap_wpop_new_pairs_pair_bound + S (wpop_pair_wpop_new_pairs) = S m) -> exists wpop_left_wpop_new_pairs wpop_right_wpop_new_pairs. ((((exists wpo_beta_height_wpop_new_pairs_left_entry. wpo_beta_height_wpop_new_pairs_left_entry + S (wpop_left_wpop_new_pairs) = S ((S (wpop_pair_wpop_new_pairs + wpop_pair_wpop_new_pairs)) * d)) /\ exists wpo_beta_quotient_wpop_new_pairs_left_entry. z = wpo_beta_quotient_wpop_new_pairs_left_entry * S ((S (wpop_pair_wpop_new_pairs + wpop_pair_wpop_new_pairs)) * d) + (wpop_left_wpop_new_pairs))) /\ ((((exists wpo_beta_height_wpop_new_pairs_right_entry. wpo_beta_height_wpop_new_pairs_right_entry + S (wpop_right_wpop_new_pairs) = S ((S (S (wpop_pair_wpop_new_pairs + wpop_pair_wpop_new_pairs))) * d)) /\ exists wpo_beta_quotient_wpop_new_pairs_right_entry. z = wpo_beta_quotient_wpop_new_pairs_right_entry * S ((S (S (wpop_pair_wpop_new_pairs + wpop_pair_wpop_new_pairs))) * d) + (wpop_right_wpop_new_pairs))) /\ (((exists wpo_beta_height_wpop_new_pairs_inverse_entry. wpo_beta_height_wpop_new_pairs_inverse_entry + S (wpop_right_wpop_new_pairs) = S ((S (wpop_left_wpop_new_pairs)) * v)) /\ exists wpo_beta_quotient_wpop_new_pairs_inverse_entry. u = wpo_beta_quotient_wpop_new_pairs_inverse_entry * S ((S (wpop_left_wpop_new_pairs)) * v) + (wpop_right_wpop_new_pairs))))))))Structural proof guide
Generated structural guide
Preserve the bounded PairOrder state and every adjacent inverse-pair witness through one append.
Use the direct prerequisites prime_pair_order_choose_append_state, paired_inverse_witness_append as previously established PA formulas.
The proof proceeds by case analysis (20), intermediate claims (3).
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-v25 checked-use theorem is independently kernel-checked when replayed; it is not a Stable theorem.
Read the argument
Proof checkpoints
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–10
02Fix variables and assumptionsL11–15
03Separate the logical casesL16–18
04Establish hstepL19–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime pair order choose append state.
- L19Definitions: LtBetaAtInjectivePrefixContainsPrefix
have hstep · expand full local formula (605 characters)
have hstep : ∃ z. ∃ d. ∃ i. ∃ j. BetaAt(z,d,m + m,i) ∧ (BetaAt(z,d,S (m + m),j) ∧ (∀ x. ∀ y. Lt(x,m + m) → BetaAt(b,c,x,y) → BetaAt(z,d,x,y))) ∧ (Lt(i,n) ∧ (¬i = 0 ∧ ¬S i = n ∧ (¬ContainsPrefix(b,c,m + m,i) ∧ (BetaAt(u,v,i,j) ∧ (Lt(j,n) ∧ (¬j = 0 ∧ ¬S j = n ∧ (¬i = j ∧ (BetaAt(u,v,j,i) ∧ (¬ContainsPrefix(b,c,m + m,j) ∧ ((∀ x. ∀ y. ∀ k. Lt(x,S S (m + m)) → BetaAt(z,d,x,y) → BetaAt(u,v,y,k) → ContainsPrefix(z,d,S S (m + m),k)) ∧ (∀ x. ∀ y. Lt(x,S S (m + m)) → BetaAt(z,d,x,y) → ¬y = 0 ∧ ¬S y = n))))))))))) ∧ ((∀ x. Lt(x,S S (m + m)) → ∃ y. BetaAt(z,d,x,y) ∧ Lt(y,n)) ∧ InjectivePrefix(z,d,S S (m + m))) - L20
specialize prime_pair_order_choose_append_state p - L21
specialize prime_pair_order_choose_append_state n - L22
specialize prime_pair_order_choose_append_state u - L23
specialize prime_pair_order_choose_append_state v - L24
specialize prime_pair_order_choose_append_state b - L25
specialize prime_pair_order_choose_append_state c - L26
specialize prime_pair_order_choose_append_state (m + m) - L27
specialize prime_pair_order_choose_append_state r - L28
apply prime_pair_order_choose_append_state
05Use earlier factsL29–37
06Separate the logical casesL38–41
07Establish hcombinedL42–43
Establish this local claim before using it. It is not an additional assumption.
- L42Definitions: LtBetaAtInjectivePrefixContainsPrefix
have hcombined · expand full local formula (613 characters)
have hcombined : BetaAt(x,x1,m + m,x2) ∧ (BetaAt(x,x1,S (m + m),x3) ∧ (∀ y. ∀ z. Lt(y,m + m) → BetaAt(b,c,y,z) → BetaAt(x,x1,y,z))) ∧ (Lt(x2,n) ∧ (¬x2 = 0 ∧ ¬S x2 = n ∧ (¬ContainsPrefix(b,c,m + m,x2) ∧ (BetaAt(u,v,x2,x3) ∧ (Lt(x3,n) ∧ (¬x3 = 0 ∧ ¬S x3 = n ∧ (¬x2 = x3 ∧ (BetaAt(u,v,x3,x2) ∧ (¬ContainsPrefix(b,c,m + m,x3) ∧ ((∀ y. ∀ z. ∀ k. Lt(y,S S (m + m)) → BetaAt(x,x1,y,z) → BetaAt(u,v,z,k) → ContainsPrefix(x,x1,S S (m + m),k)) ∧ (∀ y. ∀ z. Lt(y,S S (m + m)) → BetaAt(x,x1,y,z) → ¬z = 0 ∧ ¬S z = n))))))))))) ∧ ((∀ y. Lt(y,S S (m + m)) → ∃ z. BetaAt(x,x1,y,z) ∧ Lt(z,n)) ∧ InjectivePrefix(x,x1,S S (m + m))) - L43
exact hstep_witness_witness_witness_witness
08Separate the logical casesL44–53
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
cases hcombined - L45
cases hcombined_right - L46
cases hcombined_left - L47
cases hcombined_left_right - L48
cases hcombined_left_right_right - L49
cases hcombined_left_right_right_right - L50
cases hcombined_left_right_right_right_right - L51
cases hcombined_left_right_right_right_right_right - L52
cases hcombined_left_right_right_right_right_right_right - L53
cases hcombined_left_right_right_right_right_right_right_right
09Separate the logical casesL54–56
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
10Establish hnew_historyL57–66
Establish this local claim before using it. It is not an additional assumption.
- L57
have hnew_history : ∀ wpop_pair_wpopi_new_history_x. Lt(wpop_pair_wpopi_new_history_x,S m) → ∃ y. ∃ z. BetaAt(x,x1,wpop_pair_wpopi_new_history_x + wpop_pair_wpopi_new_history_x,y) ∧ (BetaAt(x,x1,S (wpop_pair_wpopi_new_history_x + wpop_pair_wpopi_new_history_x),z) ∧ BetaAt(u,v,y,z))Definitions: LtBetaAt - L58
specialize paired_inverse_witness_append u - L59
specialize paired_inverse_witness_append v - L60
specialize paired_inverse_witness_append b - L61
specialize paired_inverse_witness_append c - L62
specialize paired_inverse_witness_append x - L63
specialize paired_inverse_witness_append x1 - L64
specialize paired_inverse_witness_append m - L65
specialize paired_inverse_witness_append x2 - L66
specialize paired_inverse_witness_append x3
11Use earlier factsL67–70
12Construct an explicit witnessL71–72
13Separate the logical casesL73–74
14Use earlier factsL75–75
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L75
exact hcombined_left_right_right_right_right_right_right_right_right_right_right_left
15Separate the logical casesL76–76
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L76
split
16Use earlier factsL77–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L77
exact hcombined_right_left
17Separate the logical casesL78–78
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L78
split
Original exact command ledger · 81 lines
- 0001
intro p - 0002
intro n - 0003
intro u - 0004
intro v - 0005
intro b - 0006
intro c - 0007
intro m - 0008
intro r - 0009
intro hpn - 0010
intro hp - 0011
intro hprefix - 0012
intro hnr - 0013
intro hroom - 0014
intro hstate - 0015
intro hhistory - 0016
cases hstate - 0017
cases hstate_right - 0018
cases hstate_right_right - 0019
have hstep : exists z d i j. ((((((((exists wpo_beta_height_wpopi_step_body_trace_first. wpo_beta_height_wpopi_step_body_trace_first + S (i) = S ((S ((m + m))) * d)) /\ exists wpo_beta_quotient_wpopi_step_body_trace_first. z = wpo_beta_quotient_wpopi_step_body_trace_first * S ((S ((m + m))) * d) + (i))) /\ ((((exists wpo_beta_height_wpopi_step_body_trace_second. wpo_beta_height_wpopi_step_body_trace_second + S (j) = S ((S (S ((m + m)))) * d)) /\ exists wpo_beta_quotient_wpopi_step_body_trace_second. z = wpo_beta_quotient_wpopi_step_body_trace_second * S ((S (S ((m + m)))) * d) + (j))) /\ (forall wpo_old_index_wpopi_step_body_trace wpo_old_value_wpopi_step_body_trace. (exists wpo_gap_wpopi_step_body_trace_old_bound. wpo_gap_wpopi_step_body_trace_old_bound + S (wpo_old_index_wpopi_step_body_trace) = (m + m)) -> (((exists wpo_beta_height_wpopi_step_body_trace_old_entry. wpo_beta_height_wpopi_step_body_trace_old_entry + S (wpo_old_value_wpopi_step_body_trace) = S ((S (wpo_old_index_wpopi_step_body_trace)) * c)) /\ exists wpo_beta_quotient_wpopi_step_body_trace_old_entry. b = wpo_beta_quotient_wpopi_step_body_trace_old_entry * S ((S (wpo_old_index_wpopi_step_body_trace)) * c) + (wpo_old_value_wpopi_step_body_trace))) -> (((exists wpo_beta_height_wpopi_step_body_trace_new_entry. wpo_beta_height_wpopi_step_body_trace_new_entry + S (wpo_old_value_wpopi_step_body_trace) = S ((S (wpo_old_index_wpopi_step_body_trace)) * d)) /\ exists wpo_beta_quotient_wpopi_step_body_trace_new_entry. z = wpo_beta_quotient_wpopi_step_body_trace_new_entry * S ((S (wpo_old_index_wpopi_step_body_trace)) * d) + (wpo_old_value_wpopi_step_body_trace))))))) /\ ((exists wpo_gap_wpopi_step_body_source_bound. wpo_gap_wpopi_step_body_source_bound + S (i) = n) /\ ((~(i = 0) /\ ~((S i) = n)) /\ ((~(exists wpo_index_wpopi_step_body_source_omit_contains. ((exists wpo_gap_wpopi_step_body_source_omit_contains_bound. wpo_gap_wpopi_step_body_source_omit_contains_bound + S (wpo_index_wpopi_step_body_source_omit_contains) = (m + m)) /\ (((exists wpo_beta_height_wpopi_step_body_source_omit_contains_entry. wpo_beta_height_wpopi_step_body_source_omit_contains_entry + S (i) = S ((S (wpo_index_wpopi_step_body_source_omit_contains)) * c)) /\ exists wpo_beta_quotient_wpopi_step_body_source_omit_contains_entry. b = wpo_beta_quotient_wpopi_step_body_source_omit_contains_entry * S ((S (wpo_index_wpopi_step_body_source_omit_contains)) * c) + (i)))))) /\ ((((exists wpo_beta_height_wpopi_step_body_forward. wpo_beta_height_wpopi_step_body_forward + S (j) = S ((S (i)) * v)) /\ exists wpo_beta_quotient_wpopi_step_body_forward. u = wpo_beta_quotient_wpopi_step_body_forward * S ((S (i)) * v) + (j))) /\ ((exists wpo_gap_wpopi_step_body_mate_bound. wpo_gap_wpopi_step_body_mate_bound + S (j) = n) /\ ((~(j = 0) /\ ~((S j) = n)) /\ (~(i = j) /\ ((((exists wpo_beta_height_wpopi_step_body_back. wpo_beta_height_wpopi_step_body_back + S (i) = S ((S (j)) * v)) /\ exists wpo_beta_quotient_wpopi_step_body_back. u = wpo_beta_quotient_wpopi_step_body_back * S ((S (j)) * v) + (i))) /\ ((~(exists wpo_index_wpopi_step_body_mate_omit_contains. ((exists wpo_gap_wpopi_step_body_mate_omit_contains_bound. wpo_gap_wpopi_step_body_mate_omit_contains_bound + S (wpo_index_wpopi_step_body_mate_omit_contains) = (m + m)) /\ (((exists wpo_beta_height_wpopi_step_body_mate_omit_contains_entry. wpo_beta_height_wpopi_step_body_mate_omit_contains_entry + S (j) = S ((S (wpo_index_wpopi_step_body_mate_omit_contains)) * c)) /\ exists wpo_beta_quotient_wpopi_step_body_mate_omit_contains_entry. b = wpo_beta_quotient_wpopi_step_body_mate_omit_contains_entry * S ((S (wpo_index_wpopi_step_body_mate_omit_contains)) * c) + (j)))))) /\ ((forall wpo_position_wpopi_step_body_closed_after wpo_source_wpopi_step_body_closed_after wpo_mate_wpopi_step_body_closed_after. (exists wpo_gap_wpopi_step_body_closed_after_position_bound. wpo_gap_wpopi_step_body_closed_after_position_bound + S (wpo_position_wpopi_step_body_closed_after) = S (S (m + m))) -> (((exists wpo_beta_height_wpopi_step_body_closed_after_source_entry. wpo_beta_height_wpopi_step_body_closed_after_source_entry + S (wpo_source_wpopi_step_body_closed_after) = S ((S (wpo_position_wpopi_step_body_closed_after)) * d)) /\ exists wpo_beta_quotient_wpopi_step_body_closed_after_source_entry. z = wpo_beta_quotient_wpopi_step_body_closed_after_source_entry * S ((S (wpo_position_wpopi_step_body_closed_after)) * d) + (wpo_source_wpopi_step_body_closed_after))) -> (((exists wpo_beta_height_wpopi_step_body_closed_after_inverse_entry. wpo_beta_height_wpopi_step_body_closed_after_inverse_entry + S (wpo_mate_wpopi_step_body_closed_after) = S ((S (wpo_source_wpopi_step_body_closed_after)) * v)) /\ exists wpo_beta_quotient_wpopi_step_body_closed_after_inverse_entry. u = wpo_beta_quotient_wpopi_step_body_closed_after_inverse_entry * S ((S (wpo_source_wpopi_step_body_closed_after)) * v) + (wpo_mate_wpopi_step_body_closed_after))) -> exists wpo_mate_position_wpopi_step_body_closed_after. ((exists wpo_gap_wpopi_step_body_closed_after_mate_bound. wpo_gap_wpopi_step_body_closed_after_mate_bound + S (wpo_mate_position_wpopi_step_body_closed_after) = S (S (m + m))) /\ (((exists wpo_beta_height_wpopi_step_body_closed_after_mate_entry. wpo_beta_height_wpopi_step_body_closed_after_mate_entry + S (wpo_mate_wpopi_step_body_closed_after) = S ((S (wpo_mate_position_wpopi_step_body_closed_after)) * d)) /\ exists wpo_beta_quotient_wpopi_step_body_closed_after_mate_entry. z = wpo_beta_quotient_wpopi_step_body_closed_after_mate_entry * S ((S (wpo_mate_position_wpopi_step_body_closed_after)) * d) + (wpo_mate_wpopi_step_body_closed_after))))) /\ (forall wpo_position_wpopi_step_body_nonendpoint_after wpo_value_wpopi_step_body_nonendpoint_after. (exists wpo_gap_wpopi_step_body_nonendpoint_after_position_bound. wpo_gap_wpopi_step_body_nonendpoint_after_position_bound + S (wpo_position_wpopi_step_body_nonendpoint_after) = S (S (m + m))) -> (((exists wpo_beta_height_wpopi_step_body_nonendpoint_after_entry. wpo_beta_height_wpopi_step_body_nonendpoint_after_entry + S (wpo_value_wpopi_step_body_nonendpoint_after) = S ((S (wpo_position_wpopi_step_body_nonendpoint_after)) * d)) /\ exists wpo_beta_quotient_wpopi_step_body_nonendpoint_after_entry. z = wpo_beta_quotient_wpopi_step_body_nonendpoint_after_entry * S ((S (wpo_position_wpopi_step_body_nonendpoint_after)) * d) + (wpo_value_wpopi_step_body_nonendpoint_after))) -> (~(wpo_value_wpopi_step_body_nonendpoint_after = 0) /\ ~((S wpo_value_wpopi_step_body_nonendpoint_after) = n))))))))))))))) /\ ((forall fom_index_wpopi_bounded_after. (exists fom_gap_wpopi_bounded_after_index_bound. fom_gap_wpopi_bounded_after_index_bound + S (fom_index_wpopi_bounded_after) = S (S (m + m))) -> exists fom_value_wpopi_bounded_after. ((((exists fom_beta_height_wpopi_bounded_after_entry. fom_beta_height_wpopi_bounded_after_entry + S (fom_value_wpopi_bounded_after) = S ((S (fom_index_wpopi_bounded_after)) * d)) /\ exists fom_beta_quotient_wpopi_bounded_after_entry. z = fom_beta_quotient_wpopi_bounded_after_entry * S ((S (fom_index_wpopi_bounded_after)) * d) + (fom_value_wpopi_bounded_after))) /\ (exists fom_gap_wpopi_bounded_after_value_bound. fom_gap_wpopi_bounded_after_value_bound + S (fom_value_wpopi_bounded_after) = n))) /\ (forall wpo_injective_left_wpopi_injective_after wpo_injective_right_wpopi_injective_after wpo_injective_value_wpopi_injective_after. (exists wpo_gap_wpopi_injective_after_left_bound. wpo_gap_wpopi_injective_after_left_bound + S (wpo_injective_left_wpopi_injective_after) = S (S (m + m))) -> (exists wpo_gap_wpopi_injective_after_right_bound. wpo_gap_wpopi_injective_after_right_bound + S (wpo_injective_right_wpopi_injective_after) = S (S (m + m))) -> (((exists wpo_beta_height_wpopi_injective_after_left_entry. wpo_beta_height_wpopi_injective_after_left_entry + S (wpo_injective_value_wpopi_injective_after) = S ((S (wpo_injective_left_wpopi_injective_after)) * d)) /\ exists wpo_beta_quotient_wpopi_injective_after_left_entry. z = wpo_beta_quotient_wpopi_injective_after_left_entry * S ((S (wpo_injective_left_wpopi_injective_after)) * d) + (wpo_injective_value_wpopi_injective_after))) -> (((exists wpo_beta_height_wpopi_injective_after_right_entry. wpo_beta_height_wpopi_injective_after_right_entry + S (wpo_injective_value_wpopi_injective_after) = S ((S (wpo_injective_right_wpopi_injective_after)) * d)) /\ exists wpo_beta_quotient_wpopi_injective_after_right_entry. z = wpo_beta_quotient_wpopi_injective_after_right_entry * S ((S (wpo_injective_right_wpopi_injective_after)) * d) + (wpo_injective_value_wpopi_injective_after))) -> wpo_injective_left_wpopi_injective_after = wpo_injective_right_wpopi_injective_after))) - 0020
specialize prime_pair_order_choose_append_state p - 0021
specialize prime_pair_order_choose_append_state n - 0022
specialize prime_pair_order_choose_append_state u - 0023
specialize prime_pair_order_choose_append_state v - 0024
specialize prime_pair_order_choose_append_state b - 0025
specialize prime_pair_order_choose_append_state c - 0026
specialize prime_pair_order_choose_append_state (m + m) - 0027
specialize prime_pair_order_choose_append_state r - 0028
apply prime_pair_order_choose_append_state - 0029
exact hpn - 0030
exact hp - 0031
exact hprefix - 0032
exact hnr - 0033
exact hroom - 0034
exact hstate_left - 0035
exact hstate_right_left - 0036
exact hstate_right_right_left - 0037
exact hstate_right_right_right - 0038
cases hstep - 0039
cases hstep_witness - 0040
cases hstep_witness_witness - 0041
cases hstep_witness_witness_witness - 0042
have hcombined : ((((((((exists wpo_beta_height_wpopi_step_body_x_trace_first. wpo_beta_height_wpopi_step_body_x_trace_first + S (x2) = S ((S ((m + m))) * x1)) /\ exists wpo_beta_quotient_wpopi_step_body_x_trace_first. x = wpo_beta_quotient_wpopi_step_body_x_trace_first * S ((S ((m + m))) * x1) + (x2))) /\ ((((exists wpo_beta_height_wpopi_step_body_x_trace_second. wpo_beta_height_wpopi_step_body_x_trace_second + S (x3) = S ((S (S ((m + m)))) * x1)) /\ exists wpo_beta_quotient_wpopi_step_body_x_trace_second. x = wpo_beta_quotient_wpopi_step_body_x_trace_second * S ((S (S ((m + m)))) * x1) + (x3))) /\ (forall wpo_old_index_wpopi_step_body_x_trace wpo_old_value_wpopi_step_body_x_trace. (exists wpo_gap_wpopi_step_body_x_trace_old_bound. wpo_gap_wpopi_step_body_x_trace_old_bound + S (wpo_old_index_wpopi_step_body_x_trace) = (m + m)) -> (((exists wpo_beta_height_wpopi_step_body_x_trace_old_entry. wpo_beta_height_wpopi_step_body_x_trace_old_entry + S (wpo_old_value_wpopi_step_body_x_trace) = S ((S (wpo_old_index_wpopi_step_body_x_trace)) * c)) /\ exists wpo_beta_quotient_wpopi_step_body_x_trace_old_entry. b = wpo_beta_quotient_wpopi_step_body_x_trace_old_entry * S ((S (wpo_old_index_wpopi_step_body_x_trace)) * c) + (wpo_old_value_wpopi_step_body_x_trace))) -> (((exists wpo_beta_height_wpopi_step_body_x_trace_new_entry. wpo_beta_height_wpopi_step_body_x_trace_new_entry + S (wpo_old_value_wpopi_step_body_x_trace) = S ((S (wpo_old_index_wpopi_step_body_x_trace)) * x1)) /\ exists wpo_beta_quotient_wpopi_step_body_x_trace_new_entry. x = wpo_beta_quotient_wpopi_step_body_x_trace_new_entry * S ((S (wpo_old_index_wpopi_step_body_x_trace)) * x1) + (wpo_old_value_wpopi_step_body_x_trace))))))) /\ ((exists wpo_gap_wpopi_step_body_x_source_bound. wpo_gap_wpopi_step_body_x_source_bound + S (x2) = n) /\ ((~(x2 = 0) /\ ~((S x2) = n)) /\ ((~(exists wpo_index_wpopi_step_body_x_source_omit_contains. ((exists wpo_gap_wpopi_step_body_x_source_omit_contains_bound. wpo_gap_wpopi_step_body_x_source_omit_contains_bound + S (wpo_index_wpopi_step_body_x_source_omit_contains) = (m + m)) /\ (((exists wpo_beta_height_wpopi_step_body_x_source_omit_contains_entry. wpo_beta_height_wpopi_step_body_x_source_omit_contains_entry + S (x2) = S ((S (wpo_index_wpopi_step_body_x_source_omit_contains)) * c)) /\ exists wpo_beta_quotient_wpopi_step_body_x_source_omit_contains_entry. b = wpo_beta_quotient_wpopi_step_body_x_source_omit_contains_entry * S ((S (wpo_index_wpopi_step_body_x_source_omit_contains)) * c) + (x2)))))) /\ ((((exists wpo_beta_height_wpopi_step_body_x_forward. wpo_beta_height_wpopi_step_body_x_forward + S (x3) = S ((S (x2)) * v)) /\ exists wpo_beta_quotient_wpopi_step_body_x_forward. u = wpo_beta_quotient_wpopi_step_body_x_forward * S ((S (x2)) * v) + (x3))) /\ ((exists wpo_gap_wpopi_step_body_x_mate_bound. wpo_gap_wpopi_step_body_x_mate_bound + S (x3) = n) /\ ((~(x3 = 0) /\ ~((S x3) = n)) /\ (~(x2 = x3) /\ ((((exists wpo_beta_height_wpopi_step_body_x_back. wpo_beta_height_wpopi_step_body_x_back + S (x2) = S ((S (x3)) * v)) /\ exists wpo_beta_quotient_wpopi_step_body_x_back. u = wpo_beta_quotient_wpopi_step_body_x_back * S ((S (x3)) * v) + (x2))) /\ ((~(exists wpo_index_wpopi_step_body_x_mate_omit_contains. ((exists wpo_gap_wpopi_step_body_x_mate_omit_contains_bound. wpo_gap_wpopi_step_body_x_mate_omit_contains_bound + S (wpo_index_wpopi_step_body_x_mate_omit_contains) = (m + m)) /\ (((exists wpo_beta_height_wpopi_step_body_x_mate_omit_contains_entry. wpo_beta_height_wpopi_step_body_x_mate_omit_contains_entry + S (x3) = S ((S (wpo_index_wpopi_step_body_x_mate_omit_contains)) * c)) /\ exists wpo_beta_quotient_wpopi_step_body_x_mate_omit_contains_entry. b = wpo_beta_quotient_wpopi_step_body_x_mate_omit_contains_entry * S ((S (wpo_index_wpopi_step_body_x_mate_omit_contains)) * c) + (x3)))))) /\ ((forall wpo_position_wpopi_step_body_x_closed_after wpo_source_wpopi_step_body_x_closed_after wpo_mate_wpopi_step_body_x_closed_after. (exists wpo_gap_wpopi_step_body_x_closed_after_position_bound. wpo_gap_wpopi_step_body_x_closed_after_position_bound + S (wpo_position_wpopi_step_body_x_closed_after) = S (S (m + m))) -> (((exists wpo_beta_height_wpopi_step_body_x_closed_after_source_entry. wpo_beta_height_wpopi_step_body_x_closed_after_source_entry + S (wpo_source_wpopi_step_body_x_closed_after) = S ((S (wpo_position_wpopi_step_body_x_closed_after)) * x1)) /\ exists wpo_beta_quotient_wpopi_step_body_x_closed_after_source_entry. x = wpo_beta_quotient_wpopi_step_body_x_closed_after_source_entry * S ((S (wpo_position_wpopi_step_body_x_closed_after)) * x1) + (wpo_source_wpopi_step_body_x_closed_after))) -> (((exists wpo_beta_height_wpopi_step_body_x_closed_after_inverse_entry. wpo_beta_height_wpopi_step_body_x_closed_after_inverse_entry + S (wpo_mate_wpopi_step_body_x_closed_after) = S ((S (wpo_source_wpopi_step_body_x_closed_after)) * v)) /\ exists wpo_beta_quotient_wpopi_step_body_x_closed_after_inverse_entry. u = wpo_beta_quotient_wpopi_step_body_x_closed_after_inverse_entry * S ((S (wpo_source_wpopi_step_body_x_closed_after)) * v) + (wpo_mate_wpopi_step_body_x_closed_after))) -> exists wpo_mate_position_wpopi_step_body_x_closed_after. ((exists wpo_gap_wpopi_step_body_x_closed_after_mate_bound. wpo_gap_wpopi_step_body_x_closed_after_mate_bound + S (wpo_mate_position_wpopi_step_body_x_closed_after) = S (S (m + m))) /\ (((exists wpo_beta_height_wpopi_step_body_x_closed_after_mate_entry. wpo_beta_height_wpopi_step_body_x_closed_after_mate_entry + S (wpo_mate_wpopi_step_body_x_closed_after) = S ((S (wpo_mate_position_wpopi_step_body_x_closed_after)) * x1)) /\ exists wpo_beta_quotient_wpopi_step_body_x_closed_after_mate_entry. x = wpo_beta_quotient_wpopi_step_body_x_closed_after_mate_entry * S ((S (wpo_mate_position_wpopi_step_body_x_closed_after)) * x1) + (wpo_mate_wpopi_step_body_x_closed_after))))) /\ (forall wpo_position_wpopi_step_body_x_nonendpoint_after wpo_value_wpopi_step_body_x_nonendpoint_after. (exists wpo_gap_wpopi_step_body_x_nonendpoint_after_position_bound. wpo_gap_wpopi_step_body_x_nonendpoint_after_position_bound + S (wpo_position_wpopi_step_body_x_nonendpoint_after) = S (S (m + m))) -> (((exists wpo_beta_height_wpopi_step_body_x_nonendpoint_after_entry. wpo_beta_height_wpopi_step_body_x_nonendpoint_after_entry + S (wpo_value_wpopi_step_body_x_nonendpoint_after) = S ((S (wpo_position_wpopi_step_body_x_nonendpoint_after)) * x1)) /\ exists wpo_beta_quotient_wpopi_step_body_x_nonendpoint_after_entry. x = wpo_beta_quotient_wpopi_step_body_x_nonendpoint_after_entry * S ((S (wpo_position_wpopi_step_body_x_nonendpoint_after)) * x1) + (wpo_value_wpopi_step_body_x_nonendpoint_after))) -> (~(wpo_value_wpopi_step_body_x_nonendpoint_after = 0) /\ ~((S wpo_value_wpopi_step_body_x_nonendpoint_after) = n))))))))))))))) /\ ((forall fom_index_wpopi_bounded_after_x. (exists fom_gap_wpopi_bounded_after_x_index_bound. fom_gap_wpopi_bounded_after_x_index_bound + S (fom_index_wpopi_bounded_after_x) = S (S (m + m))) -> exists fom_value_wpopi_bounded_after_x. ((((exists fom_beta_height_wpopi_bounded_after_x_entry. fom_beta_height_wpopi_bounded_after_x_entry + S (fom_value_wpopi_bounded_after_x) = S ((S (fom_index_wpopi_bounded_after_x)) * x1)) /\ exists fom_beta_quotient_wpopi_bounded_after_x_entry. x = fom_beta_quotient_wpopi_bounded_after_x_entry * S ((S (fom_index_wpopi_bounded_after_x)) * x1) + (fom_value_wpopi_bounded_after_x))) /\ (exists fom_gap_wpopi_bounded_after_x_value_bound. fom_gap_wpopi_bounded_after_x_value_bound + S (fom_value_wpopi_bounded_after_x) = n))) /\ (forall wpo_injective_left_wpopi_injective_after_x wpo_injective_right_wpopi_injective_after_x wpo_injective_value_wpopi_injective_after_x. (exists wpo_gap_wpopi_injective_after_x_left_bound. wpo_gap_wpopi_injective_after_x_left_bound + S (wpo_injective_left_wpopi_injective_after_x) = S (S (m + m))) -> (exists wpo_gap_wpopi_injective_after_x_right_bound. wpo_gap_wpopi_injective_after_x_right_bound + S (wpo_injective_right_wpopi_injective_after_x) = S (S (m + m))) -> (((exists wpo_beta_height_wpopi_injective_after_x_left_entry. wpo_beta_height_wpopi_injective_after_x_left_entry + S (wpo_injective_value_wpopi_injective_after_x) = S ((S (wpo_injective_left_wpopi_injective_after_x)) * x1)) /\ exists wpo_beta_quotient_wpopi_injective_after_x_left_entry. x = wpo_beta_quotient_wpopi_injective_after_x_left_entry * S ((S (wpo_injective_left_wpopi_injective_after_x)) * x1) + (wpo_injective_value_wpopi_injective_after_x))) -> (((exists wpo_beta_height_wpopi_injective_after_x_right_entry. wpo_beta_height_wpopi_injective_after_x_right_entry + S (wpo_injective_value_wpopi_injective_after_x) = S ((S (wpo_injective_right_wpopi_injective_after_x)) * x1)) /\ exists wpo_beta_quotient_wpopi_injective_after_x_right_entry. x = wpo_beta_quotient_wpopi_injective_after_x_right_entry * S ((S (wpo_injective_right_wpopi_injective_after_x)) * x1) + (wpo_injective_value_wpopi_injective_after_x))) -> wpo_injective_left_wpopi_injective_after_x = wpo_injective_right_wpopi_injective_after_x))) - 0043
exact hstep_witness_witness_witness_witness - 0044
cases hcombined - 0045
cases hcombined_right - 0046
cases hcombined_left - 0047
cases hcombined_left_right - 0048
cases hcombined_left_right_right - 0049
cases hcombined_left_right_right_right - 0050
cases hcombined_left_right_right_right_right - 0051
cases hcombined_left_right_right_right_right_right - 0052
cases hcombined_left_right_right_right_right_right_right - 0053
cases hcombined_left_right_right_right_right_right_right_right - 0054
cases hcombined_left_right_right_right_right_right_right_right_right - 0055
cases hcombined_left_right_right_right_right_right_right_right_right_right - 0056
cases hcombined_left_right_right_right_right_right_right_right_right_right_right - 0057
have hnew_history : forall wpop_pair_wpopi_new_history_x. (exists wpo_gap_wpopi_new_history_x_pair_bound. wpo_gap_wpopi_new_history_x_pair_bound + S (wpop_pair_wpopi_new_history_x) = S m) -> exists wpop_left_wpopi_new_history_x wpop_right_wpopi_new_history_x. ((((exists wpo_beta_height_wpopi_new_history_x_left_entry. wpo_beta_height_wpopi_new_history_x_left_entry + S (wpop_left_wpopi_new_history_x) = S ((S (wpop_pair_wpopi_new_history_x + wpop_pair_wpopi_new_history_x)) * x1)) /\ exists wpo_beta_quotient_wpopi_new_history_x_left_entry. x = wpo_beta_quotient_wpopi_new_history_x_left_entry * S ((S (wpop_pair_wpopi_new_history_x + wpop_pair_wpopi_new_history_x)) * x1) + (wpop_left_wpopi_new_history_x))) /\ ((((exists wpo_beta_height_wpopi_new_history_x_right_entry. wpo_beta_height_wpopi_new_history_x_right_entry + S (wpop_right_wpopi_new_history_x) = S ((S (S (wpop_pair_wpopi_new_history_x + wpop_pair_wpopi_new_history_x))) * x1)) /\ exists wpo_beta_quotient_wpopi_new_history_x_right_entry. x = wpo_beta_quotient_wpopi_new_history_x_right_entry * S ((S (S (wpop_pair_wpopi_new_history_x + wpop_pair_wpopi_new_history_x))) * x1) + (wpop_right_wpopi_new_history_x))) /\ (((exists wpo_beta_height_wpopi_new_history_x_inverse_entry. wpo_beta_height_wpopi_new_history_x_inverse_entry + S (wpop_right_wpopi_new_history_x) = S ((S (wpop_left_wpopi_new_history_x)) * v)) /\ exists wpo_beta_quotient_wpopi_new_history_x_inverse_entry. u = wpo_beta_quotient_wpopi_new_history_x_inverse_entry * S ((S (wpop_left_wpopi_new_history_x)) * v) + (wpop_right_wpopi_new_history_x))))) - 0058
specialize paired_inverse_witness_append u - 0059
specialize paired_inverse_witness_append v - 0060
specialize paired_inverse_witness_append b - 0061
specialize paired_inverse_witness_append c - 0062
specialize paired_inverse_witness_append x - 0063
specialize paired_inverse_witness_append x1 - 0064
specialize paired_inverse_witness_append m - 0065
specialize paired_inverse_witness_append x2 - 0066
specialize paired_inverse_witness_append x3 - 0067
apply paired_inverse_witness_append - 0068
exact hhistory - 0069
exact hcombined_left_left - 0070
exact hcombined_left_right_right_right_right_left - 0071
exists x - 0072
exists x1 - 0073
split - 0074
split - 0075
exact hcombined_left_right_right_right_right_right_right_right_right_right_right_left - 0076
split - 0077
exact hcombined_right_left - 0078
split - 0079
exact hcombined_left_right_right_right_right_right_right_right_right_right_right_right - 0080
exact hcombined_right_right - 0081
exact hnew_history