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
∀ p. ∀ n. ∀ u. ∀ v. ∀ b. ∀ c. ∀ l. ∀ r. p = S n → Prime(p) → InversePrefix(p,n,u,v,n) → n = S r → Lt(S S l,n) → (∀ x. ∀ y. ∀ z. Lt(x,l) → BetaAt(b,c,x,y) → BetaAt(u,v,y,z) → ContainsPrefix(b,c,l,z)) → (∀ x. ∀ y. Lt(x,l) → BetaAt(b,c,x,y) → ¬y = 0 ∧ ¬S y = n) → ∃ x. ∃ y. ∃ z. ∃ m. BetaAt(x,y,l,z) ∧ (BetaAt(x,y,S l,m) ∧ (∀ k. ∀ i. Lt(k,l) → BetaAt(b,c,k,i) → BetaAt(x,y,k,i))) ∧ (Lt(z,n) ∧ (¬z = 0 ∧ ¬S z = n ∧ (¬ContainsPrefix(b,c,l,z) ∧ (BetaAt(u,v,z,m) ∧ (Lt(m,n) ∧ (¬m = 0 ∧ ¬S m = n ∧ (¬z = m ∧ (BetaAt(u,v,m,z) ∧ (¬ContainsPrefix(b,c,l,m) ∧ ((∀ k. ∀ i. ∀ j. Lt(k,S S l) → BetaAt(x,y,k,i) → BetaAt(u,v,i,j) → ContainsPrefix(x,y,S S l,j)) ∧ (∀ k. ∀ i. Lt(k,S S l) → BetaAt(x,y,k,i) → ¬i = 0 ∧ ¬S i = n)))))))))))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
26 occurrences
In local proof propositions
17 occurrences
Exact expanded native-PA statement
forall p n u v b c l r. p = S n -> ((~(p = 1) /\ forall wip_prime_left_choose_orbit_prime wip_prime_right_choose_orbit_prime. p = wip_prime_left_choose_orbit_prime * wip_prime_right_choose_orbit_prime -> wip_prime_left_choose_orbit_prime = 1 \/ wip_prime_right_choose_orbit_prime = 1)) -> (forall wip_index_choose_orbit_full_prefix. (exists wip_gap_choose_orbit_full_prefix_prefix_bound. wip_gap_choose_orbit_full_prefix_prefix_bound + S wip_index_choose_orbit_full_prefix = n) -> exists wip_mate_choose_orbit_full_prefix. ((((exists wip_beta_height_choose_orbit_full_prefix_decoded. wip_beta_height_choose_orbit_full_prefix_decoded + S (wip_mate_choose_orbit_full_prefix) = S ((S (wip_index_choose_orbit_full_prefix)) * v)) /\ exists wip_beta_quotient_choose_orbit_full_prefix_decoded. u = wip_beta_quotient_choose_orbit_full_prefix_decoded * S ((S (wip_index_choose_orbit_full_prefix)) * v) + (wip_mate_choose_orbit_full_prefix))) /\ ((exists wip_gap_choose_orbit_full_prefix_inverse_index_bound. wip_gap_choose_orbit_full_prefix_inverse_index_bound + S wip_index_choose_orbit_full_prefix = n) /\ ((exists wip_gap_choose_orbit_full_prefix_inverse_mate_bound. wip_gap_choose_orbit_full_prefix_inverse_mate_bound + S wip_mate_choose_orbit_full_prefix = n) /\ (exists wip_mod_left_choose_orbit_full_prefix_inverse_mod wip_mod_right_choose_orbit_full_prefix_inverse_mod. ((S wip_index_choose_orbit_full_prefix) * S wip_mate_choose_orbit_full_prefix) + p * wip_mod_left_choose_orbit_full_prefix_inverse_mod = 1 + p * wip_mod_right_choose_orbit_full_prefix_inverse_mod))))) -> n = S r -> (exists h. h + S (S (S l)) = n) -> (forall wpo_position_step_closed_before wpo_source_step_closed_before wpo_mate_step_closed_before. (exists wpo_gap_step_closed_before_position_bound. wpo_gap_step_closed_before_position_bound + S (wpo_position_step_closed_before) = l) -> (((exists wpo_beta_height_step_closed_before_source_entry. wpo_beta_height_step_closed_before_source_entry + S (wpo_source_step_closed_before) = S ((S (wpo_position_step_closed_before)) * c)) /\ exists wpo_beta_quotient_step_closed_before_source_entry. b = wpo_beta_quotient_step_closed_before_source_entry * S ((S (wpo_position_step_closed_before)) * c) + (wpo_source_step_closed_before))) -> (((exists wpo_beta_height_step_closed_before_inverse_entry. wpo_beta_height_step_closed_before_inverse_entry + S (wpo_mate_step_closed_before) = S ((S (wpo_source_step_closed_before)) * v)) /\ exists wpo_beta_quotient_step_closed_before_inverse_entry. u = wpo_beta_quotient_step_closed_before_inverse_entry * S ((S (wpo_source_step_closed_before)) * v) + (wpo_mate_step_closed_before))) -> exists wpo_mate_position_step_closed_before. ((exists wpo_gap_step_closed_before_mate_bound. wpo_gap_step_closed_before_mate_bound + S (wpo_mate_position_step_closed_before) = l) /\ (((exists wpo_beta_height_step_closed_before_mate_entry. wpo_beta_height_step_closed_before_mate_entry + S (wpo_mate_step_closed_before) = S ((S (wpo_mate_position_step_closed_before)) * c)) /\ exists wpo_beta_quotient_step_closed_before_mate_entry. b = wpo_beta_quotient_step_closed_before_mate_entry * S ((S (wpo_mate_position_step_closed_before)) * c) + (wpo_mate_step_closed_before))))) -> (forall wpo_position_step_nonendpoint_before wpo_value_step_nonendpoint_before. (exists wpo_gap_step_nonendpoint_before_position_bound. wpo_gap_step_nonendpoint_before_position_bound + S (wpo_position_step_nonendpoint_before) = l) -> (((exists wpo_beta_height_step_nonendpoint_before_entry. wpo_beta_height_step_nonendpoint_before_entry + S (wpo_value_step_nonendpoint_before) = S ((S (wpo_position_step_nonendpoint_before)) * c)) /\ exists wpo_beta_quotient_step_nonendpoint_before_entry. b = wpo_beta_quotient_step_nonendpoint_before_entry * S ((S (wpo_position_step_nonendpoint_before)) * c) + (wpo_value_step_nonendpoint_before))) -> (~(wpo_value_step_nonendpoint_before = 0) /\ ~((S wpo_value_step_nonendpoint_before) = n))) -> (exists z d i j. ((((((exists wpo_beta_height_step_trace_first. wpo_beta_height_step_trace_first + S (i) = S ((S (l)) * d)) /\ exists wpo_beta_quotient_step_trace_first. z = wpo_beta_quotient_step_trace_first * S ((S (l)) * d) + (i))) /\ ((((exists wpo_beta_height_step_trace_second. wpo_beta_height_step_trace_second + S (j) = S ((S (S (l))) * d)) /\ exists wpo_beta_quotient_step_trace_second. z = wpo_beta_quotient_step_trace_second * S ((S (S (l))) * d) + (j))) /\ (forall wpo_old_index_step_trace wpo_old_value_step_trace. (exists wpo_gap_step_trace_old_bound. wpo_gap_step_trace_old_bound + S (wpo_old_index_step_trace) = l) -> (((exists wpo_beta_height_step_trace_old_entry. wpo_beta_height_step_trace_old_entry + S (wpo_old_value_step_trace) = S ((S (wpo_old_index_step_trace)) * c)) /\ exists wpo_beta_quotient_step_trace_old_entry. b = wpo_beta_quotient_step_trace_old_entry * S ((S (wpo_old_index_step_trace)) * c) + (wpo_old_value_step_trace))) -> (((exists wpo_beta_height_step_trace_new_entry. wpo_beta_height_step_trace_new_entry + S (wpo_old_value_step_trace) = S ((S (wpo_old_index_step_trace)) * d)) /\ exists wpo_beta_quotient_step_trace_new_entry. z = wpo_beta_quotient_step_trace_new_entry * S ((S (wpo_old_index_step_trace)) * d) + (wpo_old_value_step_trace))))))) /\ ((exists wpo_gap_choose_orbit_source_bound. wpo_gap_choose_orbit_source_bound + S (i) = n) /\ ((~(i = 0) /\ ~((S i) = n)) /\ ((~(exists wpo_index_choose_orbit_source_omit_contains. ((exists wpo_gap_choose_orbit_source_omit_contains_bound. wpo_gap_choose_orbit_source_omit_contains_bound + S (wpo_index_choose_orbit_source_omit_contains) = l) /\ (((exists wpo_beta_height_choose_orbit_source_omit_contains_entry. wpo_beta_height_choose_orbit_source_omit_contains_entry + S (i) = S ((S (wpo_index_choose_orbit_source_omit_contains)) * c)) /\ exists wpo_beta_quotient_choose_orbit_source_omit_contains_entry. b = wpo_beta_quotient_choose_orbit_source_omit_contains_entry * S ((S (wpo_index_choose_orbit_source_omit_contains)) * c) + (i)))))) /\ ((((exists wpo_beta_height_choose_orbit_forward. wpo_beta_height_choose_orbit_forward + S (j) = S ((S (i)) * v)) /\ exists wpo_beta_quotient_choose_orbit_forward. u = wpo_beta_quotient_choose_orbit_forward * S ((S (i)) * v) + (j))) /\ ((exists wpo_gap_choose_orbit_mate_bound. wpo_gap_choose_orbit_mate_bound + S (j) = n) /\ ((~(j = 0) /\ ~((S j) = n)) /\ (~(i = j) /\ ((((exists wpo_beta_height_choose_orbit_back. wpo_beta_height_choose_orbit_back + S (i) = S ((S (j)) * v)) /\ exists wpo_beta_quotient_choose_orbit_back. u = wpo_beta_quotient_choose_orbit_back * S ((S (j)) * v) + (i))) /\ ((~(exists wpo_index_step_mate_omit_contains. ((exists wpo_gap_step_mate_omit_contains_bound. wpo_gap_step_mate_omit_contains_bound + S (wpo_index_step_mate_omit_contains) = l) /\ (((exists wpo_beta_height_step_mate_omit_contains_entry. wpo_beta_height_step_mate_omit_contains_entry + S (j) = S ((S (wpo_index_step_mate_omit_contains)) * c)) /\ exists wpo_beta_quotient_step_mate_omit_contains_entry. b = wpo_beta_quotient_step_mate_omit_contains_entry * S ((S (wpo_index_step_mate_omit_contains)) * c) + (j)))))) /\ ((forall wpo_position_step_closed_after wpo_source_step_closed_after wpo_mate_step_closed_after. (exists wpo_gap_step_closed_after_position_bound. wpo_gap_step_closed_after_position_bound + S (wpo_position_step_closed_after) = S (S l)) -> (((exists wpo_beta_height_step_closed_after_source_entry. wpo_beta_height_step_closed_after_source_entry + S (wpo_source_step_closed_after) = S ((S (wpo_position_step_closed_after)) * d)) /\ exists wpo_beta_quotient_step_closed_after_source_entry. z = wpo_beta_quotient_step_closed_after_source_entry * S ((S (wpo_position_step_closed_after)) * d) + (wpo_source_step_closed_after))) -> (((exists wpo_beta_height_step_closed_after_inverse_entry. wpo_beta_height_step_closed_after_inverse_entry + S (wpo_mate_step_closed_after) = S ((S (wpo_source_step_closed_after)) * v)) /\ exists wpo_beta_quotient_step_closed_after_inverse_entry. u = wpo_beta_quotient_step_closed_after_inverse_entry * S ((S (wpo_source_step_closed_after)) * v) + (wpo_mate_step_closed_after))) -> exists wpo_mate_position_step_closed_after. ((exists wpo_gap_step_closed_after_mate_bound. wpo_gap_step_closed_after_mate_bound + S (wpo_mate_position_step_closed_after) = S (S l)) /\ (((exists wpo_beta_height_step_closed_after_mate_entry. wpo_beta_height_step_closed_after_mate_entry + S (wpo_mate_step_closed_after) = S ((S (wpo_mate_position_step_closed_after)) * d)) /\ exists wpo_beta_quotient_step_closed_after_mate_entry. z = wpo_beta_quotient_step_closed_after_mate_entry * S ((S (wpo_mate_position_step_closed_after)) * d) + (wpo_mate_step_closed_after))))) /\ (forall wpo_position_step_nonendpoint_after wpo_value_step_nonendpoint_after. (exists wpo_gap_step_nonendpoint_after_position_bound. wpo_gap_step_nonendpoint_after_position_bound + S (wpo_position_step_nonendpoint_after) = S (S l)) -> (((exists wpo_beta_height_step_nonendpoint_after_entry. wpo_beta_height_step_nonendpoint_after_entry + S (wpo_value_step_nonendpoint_after) = S ((S (wpo_position_step_nonendpoint_after)) * d)) /\ exists wpo_beta_quotient_step_nonendpoint_after_entry. z = wpo_beta_quotient_step_nonendpoint_after_entry * S ((S (wpo_position_step_nonendpoint_after)) * d) + (wpo_value_step_nonendpoint_after))) -> (~(wpo_value_step_nonendpoint_after = 0) /\ ~((S wpo_value_step_nonendpoint_after) = n)))))))))))))))Proof neighborhood
Direct theorem prerequisites
PA00AR prime_choose_unused_nonendpoint_orbit PA00AS orbit_closed_unused_mate PA009K beta_prefix_append_two_exists PA00AT beta_prefix_append_two_orbit_closed PA00AU beta_prefix_append_two_nonendpointDirect 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
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 (5)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–15
03Establish horbitL16–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime choose unused nonendpoint orbit.
- L16
have horbit : ∃ i. ∃ j. Lt(i,n) ∧ (¬i = 0 ∧ ¬S i = n ∧ (¬ContainsPrefix(b,c,l,i) ∧ (BetaAt(u,v,i,j) ∧ (Lt(j,n) ∧ (¬j = 0 ∧ ¬S j = n ∧ (¬i = j ∧ BetaAt(u,v,j,i)))))))Definitions: Lt(i,n)ContainsPrefix(b,c,l,i)BetaAt(u,v,i,j)Lt(j,n)BetaAt(u,v,j,i)Original native command in the exact edition - L17
specialize prime_choose_unused_nonendpoint_orbit p - L18
specialize prime_choose_unused_nonendpoint_orbit n - L19
specialize prime_choose_unused_nonendpoint_orbit u - L20
specialize prime_choose_unused_nonendpoint_orbit v - L21
specialize prime_choose_unused_nonendpoint_orbit b - L22
specialize prime_choose_unused_nonendpoint_orbit c - L23
specialize prime_choose_unused_nonendpoint_orbit l - L24
specialize prime_choose_unused_nonendpoint_orbit r - L25
apply prime_choose_unused_nonendpoint_orbit
04Use earlier factsL26–30
05Separate the logical casesL31–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases horbit - L32
cases horbit_witness - L33
cases horbit_witness_witness - L34
cases horbit_witness_witness_right - L35
cases horbit_witness_witness_right_right - L36
cases horbit_witness_witness_right_right_right - L37
cases horbit_witness_witness_right_right_right_right - L38
cases horbit_witness_witness_right_right_right_right_right - L39
cases horbit_witness_witness_right_right_right_right_right_right
06Establish hmate_omitL40–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply orbit closed unused mate.
- L40
have hmate_omit : ¬ContainsPrefix(b,c,l,x1)Definitions: ContainsPrefix(b,c,l,x1)Original native command in the exact edition - L41
intro hmate_contains - L42
specialize orbit_closed_unused_mate u - L43
specialize orbit_closed_unused_mate v - L44
specialize orbit_closed_unused_mate b - L45
specialize orbit_closed_unused_mate c - L46
specialize orbit_closed_unused_mate l - L47
specialize orbit_closed_unused_mate x - L48
specialize orbit_closed_unused_mate x1 - L49
apply orbit_closed_unused_mate
07Use earlier factsL50–53
08Establish happendL54–60
Establish this local claim before using it. It is not an additional assumption.
- L54
have happend : ∃ z. ∃ d. BetaAt(z,d,l,x) ∧ (BetaAt(z,d,S l,x1) ∧ (∀ y. ∀ n. Lt(y,l) → BetaAt(b,c,y,n) → BetaAt(z,d,y,n)))Definitions: BetaAt(z,d,l,x)BetaAt(z,d,S l,x1)Lt(y,l)BetaAt(b,c,y,n)BetaAt(z,d,y,n)Original native command in the exact edition - L55
specialize beta_prefix_append_two_exists b - L56
specialize beta_prefix_append_two_exists c - L57
specialize beta_prefix_append_two_exists l - L58
specialize beta_prefix_append_two_exists x - L59
specialize beta_prefix_append_two_exists x1 - L60
exact beta_prefix_append_two_exists
09Separate the logical casesL61–62
10Establish hclosed_afterL63–72
Establish this local claim before using it. It is not an additional assumption.
- L63
have hclosed_after : ∀ wpo_position_step_closed_after_x. ∀ wpo_source_step_closed_after_x. ∀ wpo_mate_step_closed_after_x. Lt(wpo_position_step_closed_after_x,S S l) → BetaAt(x2,x3,wpo_position_step_closed_after_x,wpo_source_step_closed_after_x) → BetaAt(u,v,wpo_source_step_closed_after_x,wpo_mate_step_closed_after_x) → ContainsPrefix(x2,x3,S S l,wpo_mate_step_closed_after_x)Definitions: Lt(wpo_position_step_closed_after_x,S S l)BetaAt(x2,x3,wpo_position_step_closed_after_x,wpo_source_step_closed_after_x)BetaAt(u,v,wpo_source_step_closed_after_x,wpo_mate_step_closed_after_x)ContainsPrefix(x2,x3,S S l,wpo_mate_step_closed_after_x)Original native command in the exact edition - L64
specialize beta_prefix_append_two_orbit_closed u - L65
specialize beta_prefix_append_two_orbit_closed v - L66
specialize beta_prefix_append_two_orbit_closed b - L67
specialize beta_prefix_append_two_orbit_closed c - L68
specialize beta_prefix_append_two_orbit_closed x2 - L69
specialize beta_prefix_append_two_orbit_closed x3 - L70
specialize beta_prefix_append_two_orbit_closed l - L71
specialize beta_prefix_append_two_orbit_closed x - L72
specialize beta_prefix_append_two_orbit_closed x1
11Use earlier factsL73–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
12Establish hnonendpoint_afterL78–87
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix append two nonendpoint.
- L78
have hnonendpoint_after : ∀ wpo_position_step_nonendpoint_after_x. ∀ wpo_value_step_nonendpoint_after_x. Lt(wpo_position_step_nonendpoint_after_x,S S l) → BetaAt(x2,x3,wpo_position_step_nonendpoint_after_x,wpo_value_step_nonendpoint_after_x) → ¬wpo_value_step_nonendpoint_after_x = 0 ∧ ¬S wpo_value_step_nonendpoint_after_x = nDefinitions: Lt(wpo_position_step_nonendpoint_after_x,S S l)BetaAt(x2,x3,wpo_position_step_nonendpoint_after_x,wpo_value_step_nonendpoint_after_x)Original native command in the exact edition - L79
specialize beta_prefix_append_two_nonendpoint b - L80
specialize beta_prefix_append_two_nonendpoint c - L81
specialize beta_prefix_append_two_nonendpoint x2 - L82
specialize beta_prefix_append_two_nonendpoint x3 - L83
specialize beta_prefix_append_two_nonendpoint l - L84
specialize beta_prefix_append_two_nonendpoint n - L85
specialize beta_prefix_append_two_nonendpoint x - L86
specialize beta_prefix_append_two_nonendpoint x1 - L87
apply beta_prefix_append_two_nonendpoint
13Use earlier factsL88–91
14Construct an explicit witnessL92–95
15Separate the logical casesL96–96
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L96
split
16Use earlier factsL97–97
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L97
exact happend_witness_witness
17Separate the logical casesL98–98
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L98
split
18Use earlier factsL99–99
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L99
exact horbit_witness_witness_left
19Separate the logical casesL100–100
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L100
split
20Use earlier factsL101–101
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L101
exact horbit_witness_witness_right_left
21Separate the logical casesL102–102
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L102
split
22Use earlier factsL103–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L103
exact horbit_witness_witness_right_right_left
23Separate the logical casesL104–104
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L104
split
24Use earlier factsL105–105
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L105
exact horbit_witness_witness_right_right_right_left
25Separate the logical casesL106–106
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L106
split
26Use earlier factsL107–107
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L107
exact horbit_witness_witness_right_right_right_right_left
27Separate the logical casesL108–108
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L108
split
28Use earlier factsL109–109
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L109
exact horbit_witness_witness_right_right_right_right_right_left
29Separate the logical casesL110–110
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L110
split
30Use earlier factsL111–111
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L111
exact horbit_witness_witness_right_right_right_right_right_right_left
31Separate the logical casesL112–112
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L112
split
32Use earlier factsL113–113
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L113
exact horbit_witness_witness_right_right_right_right_right_right_right
33Separate the logical casesL114–114
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L114
split
34Use earlier factsL115–115
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L115
exact hmate_omit
35Separate the logical casesL116–116
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L116
split
Original defined command ledger · 118 lines
- 0001
intro p - 0002
intro n - 0003
intro u - 0004
intro v - 0005
intro b - 0006
intro c - 0007
intro l - 0008
intro r - 0009
intro hpn - 0010
intro hp - 0011
intro hprefix - 0012
intro hnr - 0013
intro hshort - 0014
intro hclosed - 0015
intro hnonendpoint - 0016
have horbit : ∃ i. ∃ j. Lt(i,n) ∧ (¬i = 0 ∧ ¬S i = n ∧ (¬ContainsPrefix(b,c,l,i) ∧ (BetaAt(u,v,i,j) ∧ (Lt(j,n) ∧ (¬j = 0 ∧ ¬S j = n ∧ (¬i = j ∧ BetaAt(u,v,j,i)))))))Exact native replay line
have horbit : exists i j. ((exists wpo_gap_choose_orbit_source_bound. wpo_gap_choose_orbit_source_bound + S (i) = n) /\ ((~(i = 0) /\ ~((S i) = n)) /\ ((~(exists wpo_index_choose_orbit_source_omit_contains. ((exists wpo_gap_choose_orbit_source_omit_contains_bound. wpo_gap_choose_orbit_source_omit_contains_bound + S (wpo_index_choose_orbit_source_omit_contains) = l) /\ (((exists wpo_beta_height_choose_orbit_source_omit_contains_entry. wpo_beta_height_choose_orbit_source_omit_contains_entry + S (i) = S ((S (wpo_index_choose_orbit_source_omit_contains)) * c)) /\ exists wpo_beta_quotient_choose_orbit_source_omit_contains_entry. b = wpo_beta_quotient_choose_orbit_source_omit_contains_entry * S ((S (wpo_index_choose_orbit_source_omit_contains)) * c) + (i)))))) /\ ((((exists wpo_beta_height_choose_orbit_forward. wpo_beta_height_choose_orbit_forward + S (j) = S ((S (i)) * v)) /\ exists wpo_beta_quotient_choose_orbit_forward. u = wpo_beta_quotient_choose_orbit_forward * S ((S (i)) * v) + (j))) /\ ((exists wpo_gap_choose_orbit_mate_bound. wpo_gap_choose_orbit_mate_bound + S (j) = n) /\ ((~(j = 0) /\ ~((S j) = n)) /\ (~(i = j) /\ (((exists wpo_beta_height_choose_orbit_back. wpo_beta_height_choose_orbit_back + S (i) = S ((S (j)) * v)) /\ exists wpo_beta_quotient_choose_orbit_back. u = wpo_beta_quotient_choose_orbit_back * S ((S (j)) * v) + (i)))))))))) - 0017
specialize prime_choose_unused_nonendpoint_orbit p - 0018
specialize prime_choose_unused_nonendpoint_orbit n - 0019
specialize prime_choose_unused_nonendpoint_orbit u - 0020
specialize prime_choose_unused_nonendpoint_orbit v - 0021
specialize prime_choose_unused_nonendpoint_orbit b - 0022
specialize prime_choose_unused_nonendpoint_orbit c - 0023
specialize prime_choose_unused_nonendpoint_orbit l - 0024
specialize prime_choose_unused_nonendpoint_orbit r - 0025
apply prime_choose_unused_nonendpoint_orbit - 0026
exact hpn - 0027
exact hp - 0028
exact hprefix - 0029
exact hnr - 0030
exact hshort - 0031
cases horbit - 0032
cases horbit_witness - 0033
cases horbit_witness_witness - 0034
cases horbit_witness_witness_right - 0035
cases horbit_witness_witness_right_right - 0036
cases horbit_witness_witness_right_right_right - 0037
cases horbit_witness_witness_right_right_right_right - 0038
cases horbit_witness_witness_right_right_right_right_right - 0039
cases horbit_witness_witness_right_right_right_right_right_right - 0040
have hmate_omit : ¬ContainsPrefix(b,c,l,x1)Exact native replay line
have hmate_omit : ~(exists wpo_index_step_mate_omit_x1_contains. ((exists wpo_gap_step_mate_omit_x1_contains_bound. wpo_gap_step_mate_omit_x1_contains_bound + S (wpo_index_step_mate_omit_x1_contains) = l) /\ (((exists wpo_beta_height_step_mate_omit_x1_contains_entry. wpo_beta_height_step_mate_omit_x1_contains_entry + S (x1) = S ((S (wpo_index_step_mate_omit_x1_contains)) * c)) /\ exists wpo_beta_quotient_step_mate_omit_x1_contains_entry. b = wpo_beta_quotient_step_mate_omit_x1_contains_entry * S ((S (wpo_index_step_mate_omit_x1_contains)) * c) + (x1))))) - 0041
intro hmate_contains - 0042
specialize orbit_closed_unused_mate u - 0043
specialize orbit_closed_unused_mate v - 0044
specialize orbit_closed_unused_mate b - 0045
specialize orbit_closed_unused_mate c - 0046
specialize orbit_closed_unused_mate l - 0047
specialize orbit_closed_unused_mate x - 0048
specialize orbit_closed_unused_mate x1 - 0049
apply orbit_closed_unused_mate - 0050
exact hclosed - 0051
exact horbit_witness_witness_right_right_left - 0052
exact horbit_witness_witness_right_right_right_right_right_right_right - 0053
exact hmate_contains - 0054
have happend : ∃ z. ∃ d. BetaAt(z,d,l,x) ∧ (BetaAt(z,d,S l,x1) ∧ (∀ y. ∀ n. Lt(y,l) → BetaAt(b,c,y,n) → BetaAt(z,d,y,n)))Exact native replay line
have happend : exists z d. ((((exists wpo_beta_height_step_append_x_first. wpo_beta_height_step_append_x_first + S (x) = S ((S (l)) * d)) /\ exists wpo_beta_quotient_step_append_x_first. z = wpo_beta_quotient_step_append_x_first * S ((S (l)) * d) + (x))) /\ ((((exists wpo_beta_height_step_append_x_second. wpo_beta_height_step_append_x_second + S (x1) = S ((S (S (l))) * d)) /\ exists wpo_beta_quotient_step_append_x_second. z = wpo_beta_quotient_step_append_x_second * S ((S (S (l))) * d) + (x1))) /\ (forall wpo_old_index_step_append_x wpo_old_value_step_append_x. (exists wpo_gap_step_append_x_old_bound. wpo_gap_step_append_x_old_bound + S (wpo_old_index_step_append_x) = l) -> (((exists wpo_beta_height_step_append_x_old_entry. wpo_beta_height_step_append_x_old_entry + S (wpo_old_value_step_append_x) = S ((S (wpo_old_index_step_append_x)) * c)) /\ exists wpo_beta_quotient_step_append_x_old_entry. b = wpo_beta_quotient_step_append_x_old_entry * S ((S (wpo_old_index_step_append_x)) * c) + (wpo_old_value_step_append_x))) -> (((exists wpo_beta_height_step_append_x_new_entry. wpo_beta_height_step_append_x_new_entry + S (wpo_old_value_step_append_x) = S ((S (wpo_old_index_step_append_x)) * d)) /\ exists wpo_beta_quotient_step_append_x_new_entry. z = wpo_beta_quotient_step_append_x_new_entry * S ((S (wpo_old_index_step_append_x)) * d) + (wpo_old_value_step_append_x)))))) - 0055
specialize beta_prefix_append_two_exists b - 0056
specialize beta_prefix_append_two_exists c - 0057
specialize beta_prefix_append_two_exists l - 0058
specialize beta_prefix_append_two_exists x - 0059
specialize beta_prefix_append_two_exists x1 - 0060
exact beta_prefix_append_two_exists - 0061
cases happend - 0062
cases happend_witness - 0063
have hclosed_after : ∀ wpo_position_step_closed_after_x. ∀ wpo_source_step_closed_after_x. ∀ wpo_mate_step_closed_after_x. Lt(wpo_position_step_closed_after_x,S S l) → BetaAt(x2,x3,wpo_position_step_closed_after_x,wpo_source_step_closed_after_x) → BetaAt(u,v,wpo_source_step_closed_after_x,wpo_mate_step_closed_after_x) → ContainsPrefix(x2,x3,S S l,wpo_mate_step_closed_after_x)Exact native replay line
have hclosed_after : forall wpo_position_step_closed_after_x wpo_source_step_closed_after_x wpo_mate_step_closed_after_x. (exists wpo_gap_step_closed_after_x_position_bound. wpo_gap_step_closed_after_x_position_bound + S (wpo_position_step_closed_after_x) = S (S l)) -> (((exists wpo_beta_height_step_closed_after_x_source_entry. wpo_beta_height_step_closed_after_x_source_entry + S (wpo_source_step_closed_after_x) = S ((S (wpo_position_step_closed_after_x)) * x3)) /\ exists wpo_beta_quotient_step_closed_after_x_source_entry. x2 = wpo_beta_quotient_step_closed_after_x_source_entry * S ((S (wpo_position_step_closed_after_x)) * x3) + (wpo_source_step_closed_after_x))) -> (((exists wpo_beta_height_step_closed_after_x_inverse_entry. wpo_beta_height_step_closed_after_x_inverse_entry + S (wpo_mate_step_closed_after_x) = S ((S (wpo_source_step_closed_after_x)) * v)) /\ exists wpo_beta_quotient_step_closed_after_x_inverse_entry. u = wpo_beta_quotient_step_closed_after_x_inverse_entry * S ((S (wpo_source_step_closed_after_x)) * v) + (wpo_mate_step_closed_after_x))) -> exists wpo_mate_position_step_closed_after_x. ((exists wpo_gap_step_closed_after_x_mate_bound. wpo_gap_step_closed_after_x_mate_bound + S (wpo_mate_position_step_closed_after_x) = S (S l)) /\ (((exists wpo_beta_height_step_closed_after_x_mate_entry. wpo_beta_height_step_closed_after_x_mate_entry + S (wpo_mate_step_closed_after_x) = S ((S (wpo_mate_position_step_closed_after_x)) * x3)) /\ exists wpo_beta_quotient_step_closed_after_x_mate_entry. x2 = wpo_beta_quotient_step_closed_after_x_mate_entry * S ((S (wpo_mate_position_step_closed_after_x)) * x3) + (wpo_mate_step_closed_after_x)))) - 0064
specialize beta_prefix_append_two_orbit_closed u - 0065
specialize beta_prefix_append_two_orbit_closed v - 0066
specialize beta_prefix_append_two_orbit_closed b - 0067
specialize beta_prefix_append_two_orbit_closed c - 0068
specialize beta_prefix_append_two_orbit_closed x2 - 0069
specialize beta_prefix_append_two_orbit_closed x3 - 0070
specialize beta_prefix_append_two_orbit_closed l - 0071
specialize beta_prefix_append_two_orbit_closed x - 0072
specialize beta_prefix_append_two_orbit_closed x1 - 0073
apply beta_prefix_append_two_orbit_closed - 0074
exact happend_witness_witness - 0075
exact hclosed - 0076
exact horbit_witness_witness_right_right_right_left - 0077
exact horbit_witness_witness_right_right_right_right_right_right_right - 0078
have hnonendpoint_after : ∀ wpo_position_step_nonendpoint_after_x. ∀ wpo_value_step_nonendpoint_after_x. Lt(wpo_position_step_nonendpoint_after_x,S S l) → BetaAt(x2,x3,wpo_position_step_nonendpoint_after_x,wpo_value_step_nonendpoint_after_x) → ¬wpo_value_step_nonendpoint_after_x = 0 ∧ ¬S wpo_value_step_nonendpoint_after_x = nExact native replay line
have hnonendpoint_after : forall wpo_position_step_nonendpoint_after_x wpo_value_step_nonendpoint_after_x. (exists wpo_gap_step_nonendpoint_after_x_position_bound. wpo_gap_step_nonendpoint_after_x_position_bound + S (wpo_position_step_nonendpoint_after_x) = S (S l)) -> (((exists wpo_beta_height_step_nonendpoint_after_x_entry. wpo_beta_height_step_nonendpoint_after_x_entry + S (wpo_value_step_nonendpoint_after_x) = S ((S (wpo_position_step_nonendpoint_after_x)) * x3)) /\ exists wpo_beta_quotient_step_nonendpoint_after_x_entry. x2 = wpo_beta_quotient_step_nonendpoint_after_x_entry * S ((S (wpo_position_step_nonendpoint_after_x)) * x3) + (wpo_value_step_nonendpoint_after_x))) -> (~(wpo_value_step_nonendpoint_after_x = 0) /\ ~((S wpo_value_step_nonendpoint_after_x) = n)) - 0079
specialize beta_prefix_append_two_nonendpoint b - 0080
specialize beta_prefix_append_two_nonendpoint c - 0081
specialize beta_prefix_append_two_nonendpoint x2 - 0082
specialize beta_prefix_append_two_nonendpoint x3 - 0083
specialize beta_prefix_append_two_nonendpoint l - 0084
specialize beta_prefix_append_two_nonendpoint n - 0085
specialize beta_prefix_append_two_nonendpoint x - 0086
specialize beta_prefix_append_two_nonendpoint x1 - 0087
apply beta_prefix_append_two_nonendpoint - 0088
exact happend_witness_witness - 0089
exact hnonendpoint - 0090
exact horbit_witness_witness_right_left - 0091
exact horbit_witness_witness_right_right_right_right_right_left - 0092
exists x2 - 0093
exists x3 - 0094
exists x - 0095
exists x1 - 0096
split - 0097
exact happend_witness_witness - 0098
split - 0099
exact horbit_witness_witness_left - 0100
split - 0101
exact horbit_witness_witness_right_left - 0102
split - 0103
exact horbit_witness_witness_right_right_left - 0104
split - 0105
exact horbit_witness_witness_right_right_right_left - 0106
split - 0107
exact horbit_witness_witness_right_right_right_right_left - 0108
split - 0109
exact horbit_witness_witness_right_right_right_right_right_left - 0110
split - 0111
exact horbit_witness_witness_right_right_right_right_right_right_left - 0112
split - 0113
exact horbit_witness_witness_right_right_right_right_right_right_right - 0114
split - 0115
exact hmate_omit - 0116
split - 0117
exact hclosed_after - 0118
exact hnonendpoint_after