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. ∀ q. ∀ h. ∀ k. p = 2 · h + 1 → q = 2 · k + 1 → Prime(p) → Prime(q) → ¬p = q → ∃ x. ∃ y. ∃ z. ∃ n. (QRes(p,q) → Even(x)) ∧ (Even(x) → QRes(p,q)) ∧ ((¬QRes(p,q) → Odd(x)) ∧ (Odd(x) → ¬QRes(p,q))) ∧ ((QRes(q,p) → Even(y)) ∧ (Even(y) → QRes(q,p)) ∧ ((¬QRes(q,p) → Odd(y)) ∧ (Odd(y) → ¬QRes(q,p)))) ∧ (ModEq(2,x,z) ∧ ModEq(2,y,n) ∧ z + n = h · k)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
20 occurrences
In local proof propositions
PD0002 Lt PD0003 Dvd PD0008 ModEq PD0009 Even PD0010 Odd PD0013 BetaAt PD0015 Sum PD0017 BitCount PD0021 QRes PD0040 DivisionPrefix50 occurrences
Exact expanded native-PA statement
forall p q h k. p = 2 * h + 1 -> q = 2 * k + 1 -> ((~(p = 1) /\ forall gsp_prime_left_ged_pair_prime_p gsp_prime_right_ged_pair_prime_p. p = gsp_prime_left_ged_pair_prime_p * gsp_prime_right_ged_pair_prime_p -> gsp_prime_left_ged_pair_prime_p = 1 \/ gsp_prime_right_ged_pair_prime_p = 1)) -> ((~(q = 1) /\ forall gsp_prime_left_ged_pair_prime_q gsp_prime_right_ged_pair_prime_q. q = gsp_prime_left_ged_pair_prime_q * gsp_prime_right_ged_pair_prime_q -> gsp_prime_left_ged_pair_prime_q = 1 \/ gsp_prime_right_ged_pair_prime_q = 1)) -> ~(p = q) -> (exists e f Q U. ((((((((exists qr_x_ged_pair_first_classification_qres. exists qr_u_ged_pair_first_classification_qres qr_v_ged_pair_first_classification_qres. qr_x_ged_pair_first_classification_qres * qr_x_ged_pair_first_classification_qres + p * qr_u_ged_pair_first_classification_qres = q + p * qr_v_ged_pair_first_classification_qres) -> (exists gs_even_ged_pair_first_classification_even. e = 2 * gs_even_ged_pair_first_classification_even)) /\ ((exists gs_even_ged_pair_first_classification_even. e = 2 * gs_even_ged_pair_first_classification_even) -> (exists qr_x_ged_pair_first_classification_qres. exists qr_u_ged_pair_first_classification_qres qr_v_ged_pair_first_classification_qres. qr_x_ged_pair_first_classification_qres * qr_x_ged_pair_first_classification_qres + p * qr_u_ged_pair_first_classification_qres = q + p * qr_v_ged_pair_first_classification_qres)))) /\ (((~(exists qr_x_ged_pair_first_classification_qres. exists qr_u_ged_pair_first_classification_qres qr_v_ged_pair_first_classification_qres. qr_x_ged_pair_first_classification_qres * qr_x_ged_pair_first_classification_qres + p * qr_u_ged_pair_first_classification_qres = q + p * qr_v_ged_pair_first_classification_qres) -> (exists gs_odd_ged_pair_first_classification_odd. e = 2 * gs_odd_ged_pair_first_classification_odd + 1)) /\ ((exists gs_odd_ged_pair_first_classification_odd. e = 2 * gs_odd_ged_pair_first_classification_odd + 1) -> ~(exists qr_x_ged_pair_first_classification_qres. exists qr_u_ged_pair_first_classification_qres qr_v_ged_pair_first_classification_qres. qr_x_ged_pair_first_classification_qres * qr_x_ged_pair_first_classification_qres + p * qr_u_ged_pair_first_classification_qres = q + p * qr_v_ged_pair_first_classification_qres)))))) /\ ((((((exists qr_x_ged_pair_second_classification_qres. exists qr_u_ged_pair_second_classification_qres qr_v_ged_pair_second_classification_qres. qr_x_ged_pair_second_classification_qres * qr_x_ged_pair_second_classification_qres + q * qr_u_ged_pair_second_classification_qres = p + q * qr_v_ged_pair_second_classification_qres) -> (exists gs_even_ged_pair_second_classification_even. f = 2 * gs_even_ged_pair_second_classification_even)) /\ ((exists gs_even_ged_pair_second_classification_even. f = 2 * gs_even_ged_pair_second_classification_even) -> (exists qr_x_ged_pair_second_classification_qres. exists qr_u_ged_pair_second_classification_qres qr_v_ged_pair_second_classification_qres. qr_x_ged_pair_second_classification_qres * qr_x_ged_pair_second_classification_qres + q * qr_u_ged_pair_second_classification_qres = p + q * qr_v_ged_pair_second_classification_qres)))) /\ (((~(exists qr_x_ged_pair_second_classification_qres. exists qr_u_ged_pair_second_classification_qres qr_v_ged_pair_second_classification_qres. qr_x_ged_pair_second_classification_qres * qr_x_ged_pair_second_classification_qres + q * qr_u_ged_pair_second_classification_qres = p + q * qr_v_ged_pair_second_classification_qres) -> (exists gs_odd_ged_pair_second_classification_odd. f = 2 * gs_odd_ged_pair_second_classification_odd + 1)) /\ ((exists gs_odd_ged_pair_second_classification_odd. f = 2 * gs_odd_ged_pair_second_classification_odd + 1) -> ~(exists qr_x_ged_pair_second_classification_qres. exists qr_u_ged_pair_second_classification_qres qr_v_ged_pair_second_classification_qres. qr_x_ged_pair_second_classification_qres * qr_x_ged_pair_second_classification_qres + q * qr_u_ged_pair_second_classification_qres = p + q * qr_v_ged_pair_second_classification_qres))))))) /\ (((exists fspm_u_ged_pair_first_mod fspm_v_ged_pair_first_mod. (e) + 2 * fspm_u_ged_pair_first_mod = (Q) + 2 * fspm_v_ged_pair_first_mod) /\ (exists fspm_u_ged_pair_second_mod fspm_v_ged_pair_second_mod. (f) + 2 * fspm_u_ged_pair_second_mod = (U) + 2 * fspm_v_ged_pair_second_mod)) /\ Q + U = h * k)))Proof neighborhood
Direct theorem prerequisites
PA006X distinct_primes_mutually_nondivisible PA00D7 odd_prime_gauss_eisenstein_orientation_data_exists PA00DM distinct_odd_prime_half_rectangle_total_exists PA00FF distinct_odd_prime_eisenstein_quotient_sum_identityDirect 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 (4)
01Fix variables and assumptionsL1–9
02Establish hmutualL10–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply distinct primes mutually nondivisible.
03Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases hmutual
04Establish hq_oddL18–18
Establish this local claim before using it. It is not an additional assumption.
05Construct an explicit witnessL19–19
Supply the displayed value, then prove that it has the required property.
- L19
exists k
06Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
exact hqodd
07Establish hp_oddL21–21
Establish this local claim before using it. It is not an additional assumption.
08Construct an explicit witnessL22–22
Supply the displayed value, then prove that it has the required property.
- L22
exists h
09Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
exact hpodd
10Establish hfirstL24–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd prime gauss eisenstein orientation data exists.
- L24
have hfirst : ∃ tb. ∃ tc. ∃ qb. ∃ qc. ∃ rb. ∃ rc. ∃ e. ∃ Q. (∀ x. ∀ y. Lt(x,h) → BetaAt(tb,tc,x,y) → y = q · (1 + x)) ∧ (DivisionPrefix(p,tb,tc,qb,qc,rb,rc,h) ∧ (Sum(qb,qc,h,Q) ∧ ((QRes(p,q) → Even(e)) ∧ (Even(e) → QRes(p,q)) ∧ ((¬QRes(p,q) → Odd(e)) ∧ (Odd(e) → ¬QRes(p,q))) ∧ ModEq(2,e,Q))))Definitions: Lt(x,h)BetaAt(tb,tc,x,y)DivisionPrefix(p,tb,tc,qb,qc,rb,rc,h)Sum(qb,qc,h,Q)QRes(p,q)Even(e)Odd(e)ModEq(2,e,Q)Original native command in the exact edition - L25
specialize odd_prime_gauss_eisenstein_orientation_data_exists p - L26
specialize odd_prime_gauss_eisenstein_orientation_data_exists h - L27
specialize odd_prime_gauss_eisenstein_orientation_data_exists q - L28
apply odd_prime_gauss_eisenstein_orientation_data_exists - L29
exact hpodd - L30
exact hq_odd - L31
exact hp - L32
exact hmutual_left
11Separate the logical casesL33–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases hfirst - L34
cases hfirst_witness - L35
cases hfirst_witness_witness - L36
cases hfirst_witness_witness_witness - L37
cases hfirst_witness_witness_witness_witness - L38
cases hfirst_witness_witness_witness_witness_witness - L39
cases hfirst_witness_witness_witness_witness_witness_witness - L40
cases hfirst_witness_witness_witness_witness_witness_witness_witness - L41
cases hfirst_witness_witness_witness_witness_witness_witness_witness_witness - L42
cases hfirst_witness_witness_witness_witness_witness_witness_witness_witness_right
12Separate the logical casesL43–44
13Establish hsecondL45–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd prime gauss eisenstein orientation data exists.
- L45
have hsecond : ∃ tb. ∃ tc. ∃ qb. ∃ qc. ∃ rb. ∃ rc. ∃ e. ∃ Q. (∀ x. ∀ y. Lt(x,k) → BetaAt(tb,tc,x,y) → y = p · (1 + x)) ∧ (DivisionPrefix(q,tb,tc,qb,qc,rb,rc,k) ∧ (Sum(qb,qc,k,Q) ∧ ((QRes(q,p) → Even(e)) ∧ (Even(e) → QRes(q,p)) ∧ ((¬QRes(q,p) → Odd(e)) ∧ (Odd(e) → ¬QRes(q,p))) ∧ ModEq(2,e,Q))))Definitions: Lt(x,k)BetaAt(tb,tc,x,y)DivisionPrefix(q,tb,tc,qb,qc,rb,rc,k)Sum(qb,qc,k,Q)QRes(q,p)Even(e)Odd(e)ModEq(2,e,Q)Original native command in the exact edition - L46
specialize odd_prime_gauss_eisenstein_orientation_data_exists q - L47
specialize odd_prime_gauss_eisenstein_orientation_data_exists k - L48
specialize odd_prime_gauss_eisenstein_orientation_data_exists p - L49
apply odd_prime_gauss_eisenstein_orientation_data_exists - L50
exact hqodd - L51
exact hp_odd - L52
exact hq - L53
exact hmutual_right
14Separate the logical casesL54–63
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
cases hsecond - L55
cases hsecond_witness - L56
cases hsecond_witness_witness - L57
cases hsecond_witness_witness_witness - L58
cases hsecond_witness_witness_witness_witness - L59
cases hsecond_witness_witness_witness_witness_witness - L60
cases hsecond_witness_witness_witness_witness_witness_witness - L61
cases hsecond_witness_witness_witness_witness_witness_witness_witness - L62
cases hsecond_witness_witness_witness_witness_witness_witness_witness_witness - L63
cases hsecond_witness_witness_witness_witness_witness_witness_witness_witness_right
15Separate the logical casesL64–65
16Establish hqpL66–70
17Establish hfirst_rectangleL71–80
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply distinct odd prime half rectangle total exists.
- L71
have hfirst_rectangle : ∃ cb. ∃ cc. ∃ total. (∀ x. Lt(x,h) → ∃ y. BetaAt(cb,cc,x,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,k) → ∃ i. BetaAt(z,n,m,i) ∧ (i = 0 ∧ (Lt(q · S x,p · S m) ∧ ¬Lt(p · S m,q · S x)) ∨ i = 1 ∧ (Lt(p · S m,q · S x) ∧ ¬Lt(q · S x,p · S m)))) ∧ BitCount(z,n,k,y))) ∧ Sum(cb,cc,h,total)Definitions: Lt(x,h)BetaAt(cb,cc,x,y)Lt(m,k)BetaAt(z,n,m,i)Lt(q · S x,p · S m)Lt(p · S m,q · S x)BitCount(z,n,k,y)Sum(cb,cc,h,total)Original native command in the exact edition - L72
specialize distinct_odd_prime_half_rectangle_total_exists p - L73
specialize distinct_odd_prime_half_rectangle_total_exists q - L74
specialize distinct_odd_prime_half_rectangle_total_exists h - L75
specialize distinct_odd_prime_half_rectangle_total_exists k - L76
apply distinct_odd_prime_half_rectangle_total_exists - L77
exact hpodd - L78
exact hqodd - L79
exact hp - L80
exact hq
18Use earlier factsL81–81
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L81
exact hpq
19Separate the logical casesL82–85
20Establish hsecond_rectangleL86–95
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply distinct odd prime half rectangle total exists.
- L86
have hsecond_rectangle : ∃ cb. ∃ cc. ∃ total. (∀ x. Lt(x,k) → ∃ y. BetaAt(cb,cc,x,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,h) → ∃ i. BetaAt(z,n,m,i) ∧ (i = 0 ∧ (Lt(p · S x,q · S m) ∧ ¬Lt(q · S m,p · S x)) ∨ i = 1 ∧ (Lt(q · S m,p · S x) ∧ ¬Lt(p · S x,q · S m)))) ∧ BitCount(z,n,h,y))) ∧ Sum(cb,cc,k,total)Definitions: Lt(x,k)BetaAt(cb,cc,x,y)Lt(m,h)BetaAt(z,n,m,i)Lt(p · S x,q · S m)Lt(q · S m,p · S x)BitCount(z,n,h,y)Sum(cb,cc,k,total)Original native command in the exact edition - L87
specialize distinct_odd_prime_half_rectangle_total_exists q - L88
specialize distinct_odd_prime_half_rectangle_total_exists p - L89
specialize distinct_odd_prime_half_rectangle_total_exists k - L90
specialize distinct_odd_prime_half_rectangle_total_exists h - L91
apply distinct_odd_prime_half_rectangle_total_exists - L92
exact hqodd - L93
exact hpodd - L94
exact hq - L95
exact hp
21Use earlier factsL96–96
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L96
exact hqp
22Separate the logical casesL97–100
23Establish hsum_identityL101–110
Establish this local claim before using it. It is not an additional assumption.
- L101
have hsum_identity : x7 + x15 = h * k - L102
specialize distinct_odd_prime_eisenstein_quotient_sum_identity p - L103
specialize distinct_odd_prime_eisenstein_quotient_sum_identity q - L104
specialize distinct_odd_prime_eisenstein_quotient_sum_identity h - L105
specialize distinct_odd_prime_eisenstein_quotient_sum_identity k - L106
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x - L107
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x1 - L108
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x2 - L109
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x3 - L110
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x4
24Use earlier factsL111–120
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L111
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x5 - L112
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x8 - L113
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x9 - L114
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x10 - L115
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x11 - L116
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x12 - L117
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x13 - L118
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x16 - L119
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x17 - L120
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x19
25Use earlier factsL121–130
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L121
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x20 - L122
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x7 - L123
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x15 - L124
apply distinct_odd_prime_eisenstein_quotient_sum_identity - L125
exact hpodd - L126
exact hqodd - L127
exact hp - L128
exact hq - L129
exact hpq - L130
exact hfirst_witness_witness_witness_witness_witness_witness_witness_witness_left
26Use earlier factsL131–137
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L131
exact hfirst_witness_witness_witness_witness_witness_witness_witness_witness_right_left - L132
exact hsecond_witness_witness_witness_witness_witness_witness_witness_witness_left - L133
exact hsecond_witness_witness_witness_witness_witness_witness_witness_witness_right_left - L134
exact hfirst_rectangle_witness_witness_witness_left - L135
exact hsecond_rectangle_witness_witness_witness_left - L136
exact hfirst_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - L137
exact hsecond_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left
27Construct an explicit witnessL138–141
28Separate the logical casesL142–143
29Use earlier factsL144–145
30Separate the logical casesL146–147
31Use earlier factsL148–150
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 150 lines
- 0001
intro p - 0002
intro q - 0003
intro h - 0004
intro k - 0005
intro hpodd - 0006
intro hqodd - 0007
intro hp - 0008
intro hq - 0009
intro hpq - 0010
have hmutual : ¬Dvd(p,q) ∧ ¬Dvd(q,p)Exact native replay line
have hmutual : ((~(exists gsp_divisor_factor_ged_pair_p_not_q. q = p * gsp_divisor_factor_ged_pair_p_not_q)) /\ (~(exists gsp_divisor_factor_ged_pair_q_not_p. p = q * gsp_divisor_factor_ged_pair_q_not_p))) - 0011
specialize distinct_primes_mutually_nondivisible p - 0012
specialize distinct_primes_mutually_nondivisible q - 0013
apply distinct_primes_mutually_nondivisible - 0014
exact hp - 0015
exact hq - 0016
exact hpq - 0017
cases hmutual - 0018
have hq_odd : Odd(q)Exact native replay line
have hq_odd : exists gs_odd_ged_pair_q_odd. q = 2 * gs_odd_ged_pair_q_odd + 1 - 0019
exists k - 0020
exact hqodd - 0021
have hp_odd : Odd(p)Exact native replay line
have hp_odd : exists gs_odd_ged_pair_p_odd. p = 2 * gs_odd_ged_pair_p_odd + 1 - 0022
exists h - 0023
exact hpodd - 0024
have hfirst : ∃ tb. ∃ tc. ∃ qb. ∃ qc. ∃ rb. ∃ rc. ∃ e. ∃ Q. (∀ x. ∀ y. Lt(x,h) → BetaAt(tb,tc,x,y) → y = q · (1 + x)) ∧ (DivisionPrefix(p,tb,tc,qb,qc,rb,rc,h) ∧ (Sum(qb,qc,h,Q) ∧ ((QRes(p,q) → Even(e)) ∧ (Even(e) → QRes(p,q)) ∧ ((¬QRes(p,q) → Odd(e)) ∧ (Odd(e) → ¬QRes(p,q))) ∧ ModEq(2,e,Q))))Exact native replay line
have hfirst : exists tb tc qb qc rb rc e Q. ((forall esd_index_ged_pair_first_scaled esd_value_ged_pair_first_scaled. (exists esd_gap_ged_pair_first_scaled. esd_gap_ged_pair_first_scaled + S esd_index_ged_pair_first_scaled = h) -> (((exists ff_h_esd_ged_pair_first_scaled_decoded. ff_h_esd_ged_pair_first_scaled_decoded + S (esd_value_ged_pair_first_scaled) = S ((S (esd_index_ged_pair_first_scaled)) * tc)) /\ exists ff_q_esd_ged_pair_first_scaled_decoded. tb = ff_q_esd_ged_pair_first_scaled_decoded * S ((S (esd_index_ged_pair_first_scaled)) * tc) + (esd_value_ged_pair_first_scaled))) -> esd_value_ged_pair_first_scaled = q * (1 + esd_index_ged_pair_first_scaled)) /\ ((forall fdp_index_ged_pair_first_division. (exists gsp_lt_gap_ged_pair_first_division_index_bound. gsp_lt_gap_ged_pair_first_division_index_bound + S fdp_index_ged_pair_first_division = h) -> exists fdp_value_ged_pair_first_division fdp_quotient_ged_pair_first_division fdp_remainder_ged_pair_first_division. (((exists ff_h_fdp_ged_pair_first_division_source. ff_h_fdp_ged_pair_first_division_source + S (fdp_value_ged_pair_first_division) = S ((S (fdp_index_ged_pair_first_division)) * tc)) /\ exists ff_q_fdp_ged_pair_first_division_source. tb = ff_q_fdp_ged_pair_first_division_source * S ((S (fdp_index_ged_pair_first_division)) * tc) + (fdp_value_ged_pair_first_division))) /\ ((((exists ff_h_fdp_ged_pair_first_division_quotient_entry. ff_h_fdp_ged_pair_first_division_quotient_entry + S (fdp_quotient_ged_pair_first_division) = S ((S (fdp_index_ged_pair_first_division)) * qc)) /\ exists ff_q_fdp_ged_pair_first_division_quotient_entry. qb = ff_q_fdp_ged_pair_first_division_quotient_entry * S ((S (fdp_index_ged_pair_first_division)) * qc) + (fdp_quotient_ged_pair_first_division))) /\ ((((exists ff_h_fdp_ged_pair_first_division_remainder_entry. ff_h_fdp_ged_pair_first_division_remainder_entry + S (fdp_remainder_ged_pair_first_division) = S ((S (fdp_index_ged_pair_first_division)) * rc)) /\ exists ff_q_fdp_ged_pair_first_division_remainder_entry. rb = ff_q_fdp_ged_pair_first_division_remainder_entry * S ((S (fdp_index_ged_pair_first_division)) * rc) + (fdp_remainder_ged_pair_first_division))) /\ (fdp_value_ged_pair_first_division = p * fdp_quotient_ged_pair_first_division + fdp_remainder_ged_pair_first_division /\ (exists gsp_lt_gap_ged_pair_first_division_remainder_bound. gsp_lt_gap_ged_pair_first_division_remainder_bound + S fdp_remainder_ged_pair_first_division = p))))) /\ ((exists ff_u_ged_pair_first_sum ff_v_ged_pair_first_sum. ((((exists ff_h_ged_pair_first_sum_start. ff_h_ged_pair_first_sum_start + S (0) = S ((S (0)) * ff_v_ged_pair_first_sum)) /\ exists ff_q_ged_pair_first_sum_start. ff_u_ged_pair_first_sum = ff_q_ged_pair_first_sum_start * S ((S (0)) * ff_v_ged_pair_first_sum) + (0))) /\ ((((exists ff_h_ged_pair_first_sum_terminal. ff_h_ged_pair_first_sum_terminal + S (Q) = S ((S (h)) * ff_v_ged_pair_first_sum)) /\ exists ff_q_ged_pair_first_sum_terminal. ff_u_ged_pair_first_sum = ff_q_ged_pair_first_sum_terminal * S ((S (h)) * ff_v_ged_pair_first_sum) + (Q))) /\ forall ff_i_ged_pair_first_sum. (exists ff_lt_ged_pair_first_sum_bound. ff_lt_ged_pair_first_sum_bound + S ff_i_ged_pair_first_sum = h) -> exists ff_a_ged_pair_first_sum ff_r_ged_pair_first_sum ff_s_ged_pair_first_sum. ((((exists ff_h_ged_pair_first_sum_summand. ff_h_ged_pair_first_sum_summand + S (ff_a_ged_pair_first_sum) = S ((S (ff_i_ged_pair_first_sum)) * qc)) /\ exists ff_q_ged_pair_first_sum_summand. qb = ff_q_ged_pair_first_sum_summand * S ((S (ff_i_ged_pair_first_sum)) * qc) + (ff_a_ged_pair_first_sum))) /\ ((((exists ff_h_ged_pair_first_sum_partial. ff_h_ged_pair_first_sum_partial + S (ff_r_ged_pair_first_sum) = S ((S (ff_i_ged_pair_first_sum)) * ff_v_ged_pair_first_sum)) /\ exists ff_q_ged_pair_first_sum_partial. ff_u_ged_pair_first_sum = ff_q_ged_pair_first_sum_partial * S ((S (ff_i_ged_pair_first_sum)) * ff_v_ged_pair_first_sum) + (ff_r_ged_pair_first_sum))) /\ ((((exists ff_h_ged_pair_first_sum_successor. ff_h_ged_pair_first_sum_successor + S (ff_s_ged_pair_first_sum) = S ((S (S ff_i_ged_pair_first_sum)) * ff_v_ged_pair_first_sum)) /\ exists ff_q_ged_pair_first_sum_successor. ff_u_ged_pair_first_sum = ff_q_ged_pair_first_sum_successor * S ((S (S ff_i_ged_pair_first_sum)) * ff_v_ged_pair_first_sum) + (ff_s_ged_pair_first_sum))) /\ ff_s_ged_pair_first_sum = ff_r_ged_pair_first_sum + ff_a_ged_pair_first_sum)))))) /\ (((((((exists qr_x_ged_pair_first_hidden_classification_qres. exists qr_u_ged_pair_first_hidden_classification_qres qr_v_ged_pair_first_hidden_classification_qres. qr_x_ged_pair_first_hidden_classification_qres * qr_x_ged_pair_first_hidden_classification_qres + p * qr_u_ged_pair_first_hidden_classification_qres = q + p * qr_v_ged_pair_first_hidden_classification_qres) -> (exists gs_even_ged_pair_first_hidden_classification_even. e = 2 * gs_even_ged_pair_first_hidden_classification_even)) /\ ((exists gs_even_ged_pair_first_hidden_classification_even. e = 2 * gs_even_ged_pair_first_hidden_classification_even) -> (exists qr_x_ged_pair_first_hidden_classification_qres. exists qr_u_ged_pair_first_hidden_classification_qres qr_v_ged_pair_first_hidden_classification_qres. qr_x_ged_pair_first_hidden_classification_qres * qr_x_ged_pair_first_hidden_classification_qres + p * qr_u_ged_pair_first_hidden_classification_qres = q + p * qr_v_ged_pair_first_hidden_classification_qres)))) /\ (((~(exists qr_x_ged_pair_first_hidden_classification_qres. exists qr_u_ged_pair_first_hidden_classification_qres qr_v_ged_pair_first_hidden_classification_qres. qr_x_ged_pair_first_hidden_classification_qres * qr_x_ged_pair_first_hidden_classification_qres + p * qr_u_ged_pair_first_hidden_classification_qres = q + p * qr_v_ged_pair_first_hidden_classification_qres) -> (exists gs_odd_ged_pair_first_hidden_classification_odd. e = 2 * gs_odd_ged_pair_first_hidden_classification_odd + 1)) /\ ((exists gs_odd_ged_pair_first_hidden_classification_odd. e = 2 * gs_odd_ged_pair_first_hidden_classification_odd + 1) -> ~(exists qr_x_ged_pair_first_hidden_classification_qres. exists qr_u_ged_pair_first_hidden_classification_qres qr_v_ged_pair_first_hidden_classification_qres. qr_x_ged_pair_first_hidden_classification_qres * qr_x_ged_pair_first_hidden_classification_qres + p * qr_u_ged_pair_first_hidden_classification_qres = q + p * qr_v_ged_pair_first_hidden_classification_qres)))))) /\ (exists fspm_u_ged_pair_first_hidden_mod fspm_v_ged_pair_first_hidden_mod. (e) + 2 * fspm_u_ged_pair_first_hidden_mod = (Q) + 2 * fspm_v_ged_pair_first_hidden_mod))))) - 0025
specialize odd_prime_gauss_eisenstein_orientation_data_exists p - 0026
specialize odd_prime_gauss_eisenstein_orientation_data_exists h - 0027
specialize odd_prime_gauss_eisenstein_orientation_data_exists q - 0028
apply odd_prime_gauss_eisenstein_orientation_data_exists - 0029
exact hpodd - 0030
exact hq_odd - 0031
exact hp - 0032
exact hmutual_left - 0033
cases hfirst - 0034
cases hfirst_witness - 0035
cases hfirst_witness_witness - 0036
cases hfirst_witness_witness_witness - 0037
cases hfirst_witness_witness_witness_witness - 0038
cases hfirst_witness_witness_witness_witness_witness - 0039
cases hfirst_witness_witness_witness_witness_witness_witness - 0040
cases hfirst_witness_witness_witness_witness_witness_witness_witness - 0041
cases hfirst_witness_witness_witness_witness_witness_witness_witness_witness - 0042
cases hfirst_witness_witness_witness_witness_witness_witness_witness_witness_right - 0043
cases hfirst_witness_witness_witness_witness_witness_witness_witness_witness_right_right - 0044
cases hfirst_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0045
have hsecond : ∃ tb. ∃ tc. ∃ qb. ∃ qc. ∃ rb. ∃ rc. ∃ e. ∃ Q. (∀ x. ∀ y. Lt(x,k) → BetaAt(tb,tc,x,y) → y = p · (1 + x)) ∧ (DivisionPrefix(q,tb,tc,qb,qc,rb,rc,k) ∧ (Sum(qb,qc,k,Q) ∧ ((QRes(q,p) → Even(e)) ∧ (Even(e) → QRes(q,p)) ∧ ((¬QRes(q,p) → Odd(e)) ∧ (Odd(e) → ¬QRes(q,p))) ∧ ModEq(2,e,Q))))Exact native replay line
have hsecond : exists tb tc qb qc rb rc e Q. ((forall esd_index_ged_pair_second_scaled esd_value_ged_pair_second_scaled. (exists esd_gap_ged_pair_second_scaled. esd_gap_ged_pair_second_scaled + S esd_index_ged_pair_second_scaled = k) -> (((exists ff_h_esd_ged_pair_second_scaled_decoded. ff_h_esd_ged_pair_second_scaled_decoded + S (esd_value_ged_pair_second_scaled) = S ((S (esd_index_ged_pair_second_scaled)) * tc)) /\ exists ff_q_esd_ged_pair_second_scaled_decoded. tb = ff_q_esd_ged_pair_second_scaled_decoded * S ((S (esd_index_ged_pair_second_scaled)) * tc) + (esd_value_ged_pair_second_scaled))) -> esd_value_ged_pair_second_scaled = p * (1 + esd_index_ged_pair_second_scaled)) /\ ((forall fdp_index_ged_pair_second_division. (exists gsp_lt_gap_ged_pair_second_division_index_bound. gsp_lt_gap_ged_pair_second_division_index_bound + S fdp_index_ged_pair_second_division = k) -> exists fdp_value_ged_pair_second_division fdp_quotient_ged_pair_second_division fdp_remainder_ged_pair_second_division. (((exists ff_h_fdp_ged_pair_second_division_source. ff_h_fdp_ged_pair_second_division_source + S (fdp_value_ged_pair_second_division) = S ((S (fdp_index_ged_pair_second_division)) * tc)) /\ exists ff_q_fdp_ged_pair_second_division_source. tb = ff_q_fdp_ged_pair_second_division_source * S ((S (fdp_index_ged_pair_second_division)) * tc) + (fdp_value_ged_pair_second_division))) /\ ((((exists ff_h_fdp_ged_pair_second_division_quotient_entry. ff_h_fdp_ged_pair_second_division_quotient_entry + S (fdp_quotient_ged_pair_second_division) = S ((S (fdp_index_ged_pair_second_division)) * qc)) /\ exists ff_q_fdp_ged_pair_second_division_quotient_entry. qb = ff_q_fdp_ged_pair_second_division_quotient_entry * S ((S (fdp_index_ged_pair_second_division)) * qc) + (fdp_quotient_ged_pair_second_division))) /\ ((((exists ff_h_fdp_ged_pair_second_division_remainder_entry. ff_h_fdp_ged_pair_second_division_remainder_entry + S (fdp_remainder_ged_pair_second_division) = S ((S (fdp_index_ged_pair_second_division)) * rc)) /\ exists ff_q_fdp_ged_pair_second_division_remainder_entry. rb = ff_q_fdp_ged_pair_second_division_remainder_entry * S ((S (fdp_index_ged_pair_second_division)) * rc) + (fdp_remainder_ged_pair_second_division))) /\ (fdp_value_ged_pair_second_division = q * fdp_quotient_ged_pair_second_division + fdp_remainder_ged_pair_second_division /\ (exists gsp_lt_gap_ged_pair_second_division_remainder_bound. gsp_lt_gap_ged_pair_second_division_remainder_bound + S fdp_remainder_ged_pair_second_division = q))))) /\ ((exists ff_u_ged_pair_second_sum ff_v_ged_pair_second_sum. ((((exists ff_h_ged_pair_second_sum_start. ff_h_ged_pair_second_sum_start + S (0) = S ((S (0)) * ff_v_ged_pair_second_sum)) /\ exists ff_q_ged_pair_second_sum_start. ff_u_ged_pair_second_sum = ff_q_ged_pair_second_sum_start * S ((S (0)) * ff_v_ged_pair_second_sum) + (0))) /\ ((((exists ff_h_ged_pair_second_sum_terminal. ff_h_ged_pair_second_sum_terminal + S (Q) = S ((S (k)) * ff_v_ged_pair_second_sum)) /\ exists ff_q_ged_pair_second_sum_terminal. ff_u_ged_pair_second_sum = ff_q_ged_pair_second_sum_terminal * S ((S (k)) * ff_v_ged_pair_second_sum) + (Q))) /\ forall ff_i_ged_pair_second_sum. (exists ff_lt_ged_pair_second_sum_bound. ff_lt_ged_pair_second_sum_bound + S ff_i_ged_pair_second_sum = k) -> exists ff_a_ged_pair_second_sum ff_r_ged_pair_second_sum ff_s_ged_pair_second_sum. ((((exists ff_h_ged_pair_second_sum_summand. ff_h_ged_pair_second_sum_summand + S (ff_a_ged_pair_second_sum) = S ((S (ff_i_ged_pair_second_sum)) * qc)) /\ exists ff_q_ged_pair_second_sum_summand. qb = ff_q_ged_pair_second_sum_summand * S ((S (ff_i_ged_pair_second_sum)) * qc) + (ff_a_ged_pair_second_sum))) /\ ((((exists ff_h_ged_pair_second_sum_partial. ff_h_ged_pair_second_sum_partial + S (ff_r_ged_pair_second_sum) = S ((S (ff_i_ged_pair_second_sum)) * ff_v_ged_pair_second_sum)) /\ exists ff_q_ged_pair_second_sum_partial. ff_u_ged_pair_second_sum = ff_q_ged_pair_second_sum_partial * S ((S (ff_i_ged_pair_second_sum)) * ff_v_ged_pair_second_sum) + (ff_r_ged_pair_second_sum))) /\ ((((exists ff_h_ged_pair_second_sum_successor. ff_h_ged_pair_second_sum_successor + S (ff_s_ged_pair_second_sum) = S ((S (S ff_i_ged_pair_second_sum)) * ff_v_ged_pair_second_sum)) /\ exists ff_q_ged_pair_second_sum_successor. ff_u_ged_pair_second_sum = ff_q_ged_pair_second_sum_successor * S ((S (S ff_i_ged_pair_second_sum)) * ff_v_ged_pair_second_sum) + (ff_s_ged_pair_second_sum))) /\ ff_s_ged_pair_second_sum = ff_r_ged_pair_second_sum + ff_a_ged_pair_second_sum)))))) /\ (((((((exists qr_x_ged_pair_second_hidden_classification_qres. exists qr_u_ged_pair_second_hidden_classification_qres qr_v_ged_pair_second_hidden_classification_qres. qr_x_ged_pair_second_hidden_classification_qres * qr_x_ged_pair_second_hidden_classification_qres + q * qr_u_ged_pair_second_hidden_classification_qres = p + q * qr_v_ged_pair_second_hidden_classification_qres) -> (exists gs_even_ged_pair_second_hidden_classification_even. e = 2 * gs_even_ged_pair_second_hidden_classification_even)) /\ ((exists gs_even_ged_pair_second_hidden_classification_even. e = 2 * gs_even_ged_pair_second_hidden_classification_even) -> (exists qr_x_ged_pair_second_hidden_classification_qres. exists qr_u_ged_pair_second_hidden_classification_qres qr_v_ged_pair_second_hidden_classification_qres. qr_x_ged_pair_second_hidden_classification_qres * qr_x_ged_pair_second_hidden_classification_qres + q * qr_u_ged_pair_second_hidden_classification_qres = p + q * qr_v_ged_pair_second_hidden_classification_qres)))) /\ (((~(exists qr_x_ged_pair_second_hidden_classification_qres. exists qr_u_ged_pair_second_hidden_classification_qres qr_v_ged_pair_second_hidden_classification_qres. qr_x_ged_pair_second_hidden_classification_qres * qr_x_ged_pair_second_hidden_classification_qres + q * qr_u_ged_pair_second_hidden_classification_qres = p + q * qr_v_ged_pair_second_hidden_classification_qres) -> (exists gs_odd_ged_pair_second_hidden_classification_odd. e = 2 * gs_odd_ged_pair_second_hidden_classification_odd + 1)) /\ ((exists gs_odd_ged_pair_second_hidden_classification_odd. e = 2 * gs_odd_ged_pair_second_hidden_classification_odd + 1) -> ~(exists qr_x_ged_pair_second_hidden_classification_qres. exists qr_u_ged_pair_second_hidden_classification_qres qr_v_ged_pair_second_hidden_classification_qres. qr_x_ged_pair_second_hidden_classification_qres * qr_x_ged_pair_second_hidden_classification_qres + q * qr_u_ged_pair_second_hidden_classification_qres = p + q * qr_v_ged_pair_second_hidden_classification_qres)))))) /\ (exists fspm_u_ged_pair_second_hidden_mod fspm_v_ged_pair_second_hidden_mod. (e) + 2 * fspm_u_ged_pair_second_hidden_mod = (Q) + 2 * fspm_v_ged_pair_second_hidden_mod))))) - 0046
specialize odd_prime_gauss_eisenstein_orientation_data_exists q - 0047
specialize odd_prime_gauss_eisenstein_orientation_data_exists k - 0048
specialize odd_prime_gauss_eisenstein_orientation_data_exists p - 0049
apply odd_prime_gauss_eisenstein_orientation_data_exists - 0050
exact hqodd - 0051
exact hp_odd - 0052
exact hq - 0053
exact hmutual_right - 0054
cases hsecond - 0055
cases hsecond_witness - 0056
cases hsecond_witness_witness - 0057
cases hsecond_witness_witness_witness - 0058
cases hsecond_witness_witness_witness_witness - 0059
cases hsecond_witness_witness_witness_witness_witness - 0060
cases hsecond_witness_witness_witness_witness_witness_witness - 0061
cases hsecond_witness_witness_witness_witness_witness_witness_witness - 0062
cases hsecond_witness_witness_witness_witness_witness_witness_witness_witness - 0063
cases hsecond_witness_witness_witness_witness_witness_witness_witness_witness_right - 0064
cases hsecond_witness_witness_witness_witness_witness_witness_witness_witness_right_right - 0065
cases hsecond_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right - 0066
have hqp : ~(q = p) - 0067
intro hqp_eq - 0068
apply hpq - 0069
symm - 0070
exact hqp_eq - 0071
have hfirst_rectangle : ∃ cb. ∃ cc. ∃ total. (∀ x. Lt(x,h) → ∃ y. BetaAt(cb,cc,x,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,k) → ∃ i. BetaAt(z,n,m,i) ∧ (i = 0 ∧ (Lt(q · S x,p · S m) ∧ ¬Lt(p · S m,q · S x)) ∨ i = 1 ∧ (Lt(p · S m,q · S x) ∧ ¬Lt(q · S x,p · S m)))) ∧ BitCount(z,n,k,y))) ∧ Sum(cb,cc,h,total)Exact native replay line
have hfirst_rectangle : exists cb cc total. ((forall erc_row_ged_pair_first_rectangle. (exists erc_lt_gap_ged_pair_first_rectangle_bound. erc_lt_gap_ged_pair_first_rectangle_bound + S (erc_row_ged_pair_first_rectangle) = h) -> exists erc_count_ged_pair_first_rectangle. ((((exists ff_h_erc_ged_pair_first_rectangle_decoded. ff_h_erc_ged_pair_first_rectangle_decoded + S (erc_count_ged_pair_first_rectangle) = S ((S (erc_row_ged_pair_first_rectangle)) * cc)) /\ exists ff_q_erc_ged_pair_first_rectangle_decoded. cb = ff_q_erc_ged_pair_first_rectangle_decoded * S ((S (erc_row_ged_pair_first_rectangle)) * cc) + (erc_count_ged_pair_first_rectangle))) /\ (exists erc_row_code_ged_pair_first_rectangle_witness erc_row_scale_ged_pair_first_rectangle_witness. ((forall eri_column_erc_ged_pair_first_rectangle_witness_row. (exists eri_gap_erc_ged_pair_first_rectangle_witness_row_bound. eri_gap_erc_ged_pair_first_rectangle_witness_row_bound + S (eri_column_erc_ged_pair_first_rectangle_witness_row) = k) -> exists eri_bit_erc_ged_pair_first_rectangle_witness_row. ((((exists ff_h_eri_erc_ged_pair_first_rectangle_witness_row_decoded. ff_h_eri_erc_ged_pair_first_rectangle_witness_row_decoded + S (eri_bit_erc_ged_pair_first_rectangle_witness_row) = S ((S (eri_column_erc_ged_pair_first_rectangle_witness_row)) * erc_row_scale_ged_pair_first_rectangle_witness)) /\ exists ff_q_eri_erc_ged_pair_first_rectangle_witness_row_decoded. erc_row_code_ged_pair_first_rectangle_witness = ff_q_eri_erc_ged_pair_first_rectangle_witness_row_decoded * S ((S (eri_column_erc_ged_pair_first_rectangle_witness_row)) * erc_row_scale_ged_pair_first_rectangle_witness) + (eri_bit_erc_ged_pair_first_rectangle_witness_row))) /\ (((eri_bit_erc_ged_pair_first_rectangle_witness_row = 0 /\ ((exists eri_gap_erc_ged_pair_first_rectangle_witness_row_choice_left. eri_gap_erc_ged_pair_first_rectangle_witness_row_choice_left + S (q * S erc_row_ged_pair_first_rectangle) = p * S eri_column_erc_ged_pair_first_rectangle_witness_row) /\ ~(exists eri_gap_erc_ged_pair_first_rectangle_witness_row_choice_right. eri_gap_erc_ged_pair_first_rectangle_witness_row_choice_right + S (p * S eri_column_erc_ged_pair_first_rectangle_witness_row) = q * S erc_row_ged_pair_first_rectangle))) \/ (eri_bit_erc_ged_pair_first_rectangle_witness_row = 1 /\ ((exists eri_gap_erc_ged_pair_first_rectangle_witness_row_choice_right. eri_gap_erc_ged_pair_first_rectangle_witness_row_choice_right + S (p * S eri_column_erc_ged_pair_first_rectangle_witness_row) = q * S erc_row_ged_pair_first_rectangle) /\ ~(exists eri_gap_erc_ged_pair_first_rectangle_witness_row_choice_left. eri_gap_erc_ged_pair_first_rectangle_witness_row_choice_left + S (q * S erc_row_ged_pair_first_rectangle) = p * S eri_column_erc_ged_pair_first_rectangle_witness_row))))))) /\ (((exists ff_u_erc_ged_pair_first_rectangle_witness_count_sum ff_v_erc_ged_pair_first_rectangle_witness_count_sum. ((((exists ff_h_erc_ged_pair_first_rectangle_witness_count_sum_start. ff_h_erc_ged_pair_first_rectangle_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_ged_pair_first_rectangle_witness_count_sum)) /\ exists ff_q_erc_ged_pair_first_rectangle_witness_count_sum_start. ff_u_erc_ged_pair_first_rectangle_witness_count_sum = ff_q_erc_ged_pair_first_rectangle_witness_count_sum_start * S ((S (0)) * ff_v_erc_ged_pair_first_rectangle_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_ged_pair_first_rectangle_witness_count_sum_terminal. ff_h_erc_ged_pair_first_rectangle_witness_count_sum_terminal + S (erc_count_ged_pair_first_rectangle) = S ((S (k)) * ff_v_erc_ged_pair_first_rectangle_witness_count_sum)) /\ exists ff_q_erc_ged_pair_first_rectangle_witness_count_sum_terminal. ff_u_erc_ged_pair_first_rectangle_witness_count_sum = ff_q_erc_ged_pair_first_rectangle_witness_count_sum_terminal * S ((S (k)) * ff_v_erc_ged_pair_first_rectangle_witness_count_sum) + (erc_count_ged_pair_first_rectangle))) /\ forall ff_i_erc_ged_pair_first_rectangle_witness_count_sum. (exists ff_lt_erc_ged_pair_first_rectangle_witness_count_sum_bound. ff_lt_erc_ged_pair_first_rectangle_witness_count_sum_bound + S ff_i_erc_ged_pair_first_rectangle_witness_count_sum = k) -> exists ff_a_erc_ged_pair_first_rectangle_witness_count_sum ff_r_erc_ged_pair_first_rectangle_witness_count_sum ff_s_erc_ged_pair_first_rectangle_witness_count_sum. ((((exists ff_h_erc_ged_pair_first_rectangle_witness_count_sum_summand. ff_h_erc_ged_pair_first_rectangle_witness_count_sum_summand + S (ff_a_erc_ged_pair_first_rectangle_witness_count_sum) = S ((S (ff_i_erc_ged_pair_first_rectangle_witness_count_sum)) * erc_row_scale_ged_pair_first_rectangle_witness)) /\ exists ff_q_erc_ged_pair_first_rectangle_witness_count_sum_summand. erc_row_code_ged_pair_first_rectangle_witness = ff_q_erc_ged_pair_first_rectangle_witness_count_sum_summand * S ((S (ff_i_erc_ged_pair_first_rectangle_witness_count_sum)) * erc_row_scale_ged_pair_first_rectangle_witness) + (ff_a_erc_ged_pair_first_rectangle_witness_count_sum))) /\ ((((exists ff_h_erc_ged_pair_first_rectangle_witness_count_sum_partial. ff_h_erc_ged_pair_first_rectangle_witness_count_sum_partial + S (ff_r_erc_ged_pair_first_rectangle_witness_count_sum) = S ((S (ff_i_erc_ged_pair_first_rectangle_witness_count_sum)) * ff_v_erc_ged_pair_first_rectangle_witness_count_sum)) /\ exists ff_q_erc_ged_pair_first_rectangle_witness_count_sum_partial. ff_u_erc_ged_pair_first_rectangle_witness_count_sum = ff_q_erc_ged_pair_first_rectangle_witness_count_sum_partial * S ((S (ff_i_erc_ged_pair_first_rectangle_witness_count_sum)) * ff_v_erc_ged_pair_first_rectangle_witness_count_sum) + (ff_r_erc_ged_pair_first_rectangle_witness_count_sum))) /\ ((((exists ff_h_erc_ged_pair_first_rectangle_witness_count_sum_successor. ff_h_erc_ged_pair_first_rectangle_witness_count_sum_successor + S (ff_s_erc_ged_pair_first_rectangle_witness_count_sum) = S ((S (S ff_i_erc_ged_pair_first_rectangle_witness_count_sum)) * ff_v_erc_ged_pair_first_rectangle_witness_count_sum)) /\ exists ff_q_erc_ged_pair_first_rectangle_witness_count_sum_successor. ff_u_erc_ged_pair_first_rectangle_witness_count_sum = ff_q_erc_ged_pair_first_rectangle_witness_count_sum_successor * S ((S (S ff_i_erc_ged_pair_first_rectangle_witness_count_sum)) * ff_v_erc_ged_pair_first_rectangle_witness_count_sum) + (ff_s_erc_ged_pair_first_rectangle_witness_count_sum))) /\ ff_s_erc_ged_pair_first_rectangle_witness_count_sum = ff_r_erc_ged_pair_first_rectangle_witness_count_sum + ff_a_erc_ged_pair_first_rectangle_witness_count_sum)))))) /\ (forall ff_i_erc_ged_pair_first_rectangle_witness_count_bits. (exists ff_lt_erc_ged_pair_first_rectangle_witness_count_bits_bound. ff_lt_erc_ged_pair_first_rectangle_witness_count_bits_bound + S ff_i_erc_ged_pair_first_rectangle_witness_count_bits = k) -> exists ff_bit_erc_ged_pair_first_rectangle_witness_count_bits. ((((exists ff_h_erc_ged_pair_first_rectangle_witness_count_bits_decoded. ff_h_erc_ged_pair_first_rectangle_witness_count_bits_decoded + S (ff_bit_erc_ged_pair_first_rectangle_witness_count_bits) = S ((S (ff_i_erc_ged_pair_first_rectangle_witness_count_bits)) * erc_row_scale_ged_pair_first_rectangle_witness)) /\ exists ff_q_erc_ged_pair_first_rectangle_witness_count_bits_decoded. erc_row_code_ged_pair_first_rectangle_witness = ff_q_erc_ged_pair_first_rectangle_witness_count_bits_decoded * S ((S (ff_i_erc_ged_pair_first_rectangle_witness_count_bits)) * erc_row_scale_ged_pair_first_rectangle_witness) + (ff_bit_erc_ged_pair_first_rectangle_witness_count_bits))) /\ (ff_bit_erc_ged_pair_first_rectangle_witness_count_bits = 0 \/ ff_bit_erc_ged_pair_first_rectangle_witness_count_bits = 1))))))))) /\ (exists ff_u_ged_pair_first_rectangle_sum ff_v_ged_pair_first_rectangle_sum. ((((exists ff_h_ged_pair_first_rectangle_sum_start. ff_h_ged_pair_first_rectangle_sum_start + S (0) = S ((S (0)) * ff_v_ged_pair_first_rectangle_sum)) /\ exists ff_q_ged_pair_first_rectangle_sum_start. ff_u_ged_pair_first_rectangle_sum = ff_q_ged_pair_first_rectangle_sum_start * S ((S (0)) * ff_v_ged_pair_first_rectangle_sum) + (0))) /\ ((((exists ff_h_ged_pair_first_rectangle_sum_terminal. ff_h_ged_pair_first_rectangle_sum_terminal + S (total) = S ((S (h)) * ff_v_ged_pair_first_rectangle_sum)) /\ exists ff_q_ged_pair_first_rectangle_sum_terminal. ff_u_ged_pair_first_rectangle_sum = ff_q_ged_pair_first_rectangle_sum_terminal * S ((S (h)) * ff_v_ged_pair_first_rectangle_sum) + (total))) /\ forall ff_i_ged_pair_first_rectangle_sum. (exists ff_lt_ged_pair_first_rectangle_sum_bound. ff_lt_ged_pair_first_rectangle_sum_bound + S ff_i_ged_pair_first_rectangle_sum = h) -> exists ff_a_ged_pair_first_rectangle_sum ff_r_ged_pair_first_rectangle_sum ff_s_ged_pair_first_rectangle_sum. ((((exists ff_h_ged_pair_first_rectangle_sum_summand. ff_h_ged_pair_first_rectangle_sum_summand + S (ff_a_ged_pair_first_rectangle_sum) = S ((S (ff_i_ged_pair_first_rectangle_sum)) * cc)) /\ exists ff_q_ged_pair_first_rectangle_sum_summand. cb = ff_q_ged_pair_first_rectangle_sum_summand * S ((S (ff_i_ged_pair_first_rectangle_sum)) * cc) + (ff_a_ged_pair_first_rectangle_sum))) /\ ((((exists ff_h_ged_pair_first_rectangle_sum_partial. ff_h_ged_pair_first_rectangle_sum_partial + S (ff_r_ged_pair_first_rectangle_sum) = S ((S (ff_i_ged_pair_first_rectangle_sum)) * ff_v_ged_pair_first_rectangle_sum)) /\ exists ff_q_ged_pair_first_rectangle_sum_partial. ff_u_ged_pair_first_rectangle_sum = ff_q_ged_pair_first_rectangle_sum_partial * S ((S (ff_i_ged_pair_first_rectangle_sum)) * ff_v_ged_pair_first_rectangle_sum) + (ff_r_ged_pair_first_rectangle_sum))) /\ ((((exists ff_h_ged_pair_first_rectangle_sum_successor. ff_h_ged_pair_first_rectangle_sum_successor + S (ff_s_ged_pair_first_rectangle_sum) = S ((S (S ff_i_ged_pair_first_rectangle_sum)) * ff_v_ged_pair_first_rectangle_sum)) /\ exists ff_q_ged_pair_first_rectangle_sum_successor. ff_u_ged_pair_first_rectangle_sum = ff_q_ged_pair_first_rectangle_sum_successor * S ((S (S ff_i_ged_pair_first_rectangle_sum)) * ff_v_ged_pair_first_rectangle_sum) + (ff_s_ged_pair_first_rectangle_sum))) /\ ff_s_ged_pair_first_rectangle_sum = ff_r_ged_pair_first_rectangle_sum + ff_a_ged_pair_first_rectangle_sum))))))) - 0072
specialize distinct_odd_prime_half_rectangle_total_exists p - 0073
specialize distinct_odd_prime_half_rectangle_total_exists q - 0074
specialize distinct_odd_prime_half_rectangle_total_exists h - 0075
specialize distinct_odd_prime_half_rectangle_total_exists k - 0076
apply distinct_odd_prime_half_rectangle_total_exists - 0077
exact hpodd - 0078
exact hqodd - 0079
exact hp - 0080
exact hq - 0081
exact hpq - 0082
cases hfirst_rectangle - 0083
cases hfirst_rectangle_witness - 0084
cases hfirst_rectangle_witness_witness - 0085
cases hfirst_rectangle_witness_witness_witness - 0086
have hsecond_rectangle : ∃ cb. ∃ cc. ∃ total. (∀ x. Lt(x,k) → ∃ y. BetaAt(cb,cc,x,y) ∧ (∃ z. ∃ n. (∀ m. Lt(m,h) → ∃ i. BetaAt(z,n,m,i) ∧ (i = 0 ∧ (Lt(p · S x,q · S m) ∧ ¬Lt(q · S m,p · S x)) ∨ i = 1 ∧ (Lt(q · S m,p · S x) ∧ ¬Lt(p · S x,q · S m)))) ∧ BitCount(z,n,h,y))) ∧ Sum(cb,cc,k,total)Exact native replay line
have hsecond_rectangle : exists cb cc total. ((forall erc_row_ged_pair_second_rectangle. (exists erc_lt_gap_ged_pair_second_rectangle_bound. erc_lt_gap_ged_pair_second_rectangle_bound + S (erc_row_ged_pair_second_rectangle) = k) -> exists erc_count_ged_pair_second_rectangle. ((((exists ff_h_erc_ged_pair_second_rectangle_decoded. ff_h_erc_ged_pair_second_rectangle_decoded + S (erc_count_ged_pair_second_rectangle) = S ((S (erc_row_ged_pair_second_rectangle)) * cc)) /\ exists ff_q_erc_ged_pair_second_rectangle_decoded. cb = ff_q_erc_ged_pair_second_rectangle_decoded * S ((S (erc_row_ged_pair_second_rectangle)) * cc) + (erc_count_ged_pair_second_rectangle))) /\ (exists erc_row_code_ged_pair_second_rectangle_witness erc_row_scale_ged_pair_second_rectangle_witness. ((forall eri_column_erc_ged_pair_second_rectangle_witness_row. (exists eri_gap_erc_ged_pair_second_rectangle_witness_row_bound. eri_gap_erc_ged_pair_second_rectangle_witness_row_bound + S (eri_column_erc_ged_pair_second_rectangle_witness_row) = h) -> exists eri_bit_erc_ged_pair_second_rectangle_witness_row. ((((exists ff_h_eri_erc_ged_pair_second_rectangle_witness_row_decoded. ff_h_eri_erc_ged_pair_second_rectangle_witness_row_decoded + S (eri_bit_erc_ged_pair_second_rectangle_witness_row) = S ((S (eri_column_erc_ged_pair_second_rectangle_witness_row)) * erc_row_scale_ged_pair_second_rectangle_witness)) /\ exists ff_q_eri_erc_ged_pair_second_rectangle_witness_row_decoded. erc_row_code_ged_pair_second_rectangle_witness = ff_q_eri_erc_ged_pair_second_rectangle_witness_row_decoded * S ((S (eri_column_erc_ged_pair_second_rectangle_witness_row)) * erc_row_scale_ged_pair_second_rectangle_witness) + (eri_bit_erc_ged_pair_second_rectangle_witness_row))) /\ (((eri_bit_erc_ged_pair_second_rectangle_witness_row = 0 /\ ((exists eri_gap_erc_ged_pair_second_rectangle_witness_row_choice_left. eri_gap_erc_ged_pair_second_rectangle_witness_row_choice_left + S (p * S erc_row_ged_pair_second_rectangle) = q * S eri_column_erc_ged_pair_second_rectangle_witness_row) /\ ~(exists eri_gap_erc_ged_pair_second_rectangle_witness_row_choice_right. eri_gap_erc_ged_pair_second_rectangle_witness_row_choice_right + S (q * S eri_column_erc_ged_pair_second_rectangle_witness_row) = p * S erc_row_ged_pair_second_rectangle))) \/ (eri_bit_erc_ged_pair_second_rectangle_witness_row = 1 /\ ((exists eri_gap_erc_ged_pair_second_rectangle_witness_row_choice_right. eri_gap_erc_ged_pair_second_rectangle_witness_row_choice_right + S (q * S eri_column_erc_ged_pair_second_rectangle_witness_row) = p * S erc_row_ged_pair_second_rectangle) /\ ~(exists eri_gap_erc_ged_pair_second_rectangle_witness_row_choice_left. eri_gap_erc_ged_pair_second_rectangle_witness_row_choice_left + S (p * S erc_row_ged_pair_second_rectangle) = q * S eri_column_erc_ged_pair_second_rectangle_witness_row))))))) /\ (((exists ff_u_erc_ged_pair_second_rectangle_witness_count_sum ff_v_erc_ged_pair_second_rectangle_witness_count_sum. ((((exists ff_h_erc_ged_pair_second_rectangle_witness_count_sum_start. ff_h_erc_ged_pair_second_rectangle_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_ged_pair_second_rectangle_witness_count_sum)) /\ exists ff_q_erc_ged_pair_second_rectangle_witness_count_sum_start. ff_u_erc_ged_pair_second_rectangle_witness_count_sum = ff_q_erc_ged_pair_second_rectangle_witness_count_sum_start * S ((S (0)) * ff_v_erc_ged_pair_second_rectangle_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_ged_pair_second_rectangle_witness_count_sum_terminal. ff_h_erc_ged_pair_second_rectangle_witness_count_sum_terminal + S (erc_count_ged_pair_second_rectangle) = S ((S (h)) * ff_v_erc_ged_pair_second_rectangle_witness_count_sum)) /\ exists ff_q_erc_ged_pair_second_rectangle_witness_count_sum_terminal. ff_u_erc_ged_pair_second_rectangle_witness_count_sum = ff_q_erc_ged_pair_second_rectangle_witness_count_sum_terminal * S ((S (h)) * ff_v_erc_ged_pair_second_rectangle_witness_count_sum) + (erc_count_ged_pair_second_rectangle))) /\ forall ff_i_erc_ged_pair_second_rectangle_witness_count_sum. (exists ff_lt_erc_ged_pair_second_rectangle_witness_count_sum_bound. ff_lt_erc_ged_pair_second_rectangle_witness_count_sum_bound + S ff_i_erc_ged_pair_second_rectangle_witness_count_sum = h) -> exists ff_a_erc_ged_pair_second_rectangle_witness_count_sum ff_r_erc_ged_pair_second_rectangle_witness_count_sum ff_s_erc_ged_pair_second_rectangle_witness_count_sum. ((((exists ff_h_erc_ged_pair_second_rectangle_witness_count_sum_summand. ff_h_erc_ged_pair_second_rectangle_witness_count_sum_summand + S (ff_a_erc_ged_pair_second_rectangle_witness_count_sum) = S ((S (ff_i_erc_ged_pair_second_rectangle_witness_count_sum)) * erc_row_scale_ged_pair_second_rectangle_witness)) /\ exists ff_q_erc_ged_pair_second_rectangle_witness_count_sum_summand. erc_row_code_ged_pair_second_rectangle_witness = ff_q_erc_ged_pair_second_rectangle_witness_count_sum_summand * S ((S (ff_i_erc_ged_pair_second_rectangle_witness_count_sum)) * erc_row_scale_ged_pair_second_rectangle_witness) + (ff_a_erc_ged_pair_second_rectangle_witness_count_sum))) /\ ((((exists ff_h_erc_ged_pair_second_rectangle_witness_count_sum_partial. ff_h_erc_ged_pair_second_rectangle_witness_count_sum_partial + S (ff_r_erc_ged_pair_second_rectangle_witness_count_sum) = S ((S (ff_i_erc_ged_pair_second_rectangle_witness_count_sum)) * ff_v_erc_ged_pair_second_rectangle_witness_count_sum)) /\ exists ff_q_erc_ged_pair_second_rectangle_witness_count_sum_partial. ff_u_erc_ged_pair_second_rectangle_witness_count_sum = ff_q_erc_ged_pair_second_rectangle_witness_count_sum_partial * S ((S (ff_i_erc_ged_pair_second_rectangle_witness_count_sum)) * ff_v_erc_ged_pair_second_rectangle_witness_count_sum) + (ff_r_erc_ged_pair_second_rectangle_witness_count_sum))) /\ ((((exists ff_h_erc_ged_pair_second_rectangle_witness_count_sum_successor. ff_h_erc_ged_pair_second_rectangle_witness_count_sum_successor + S (ff_s_erc_ged_pair_second_rectangle_witness_count_sum) = S ((S (S ff_i_erc_ged_pair_second_rectangle_witness_count_sum)) * ff_v_erc_ged_pair_second_rectangle_witness_count_sum)) /\ exists ff_q_erc_ged_pair_second_rectangle_witness_count_sum_successor. ff_u_erc_ged_pair_second_rectangle_witness_count_sum = ff_q_erc_ged_pair_second_rectangle_witness_count_sum_successor * S ((S (S ff_i_erc_ged_pair_second_rectangle_witness_count_sum)) * ff_v_erc_ged_pair_second_rectangle_witness_count_sum) + (ff_s_erc_ged_pair_second_rectangle_witness_count_sum))) /\ ff_s_erc_ged_pair_second_rectangle_witness_count_sum = ff_r_erc_ged_pair_second_rectangle_witness_count_sum + ff_a_erc_ged_pair_second_rectangle_witness_count_sum)))))) /\ (forall ff_i_erc_ged_pair_second_rectangle_witness_count_bits. (exists ff_lt_erc_ged_pair_second_rectangle_witness_count_bits_bound. ff_lt_erc_ged_pair_second_rectangle_witness_count_bits_bound + S ff_i_erc_ged_pair_second_rectangle_witness_count_bits = h) -> exists ff_bit_erc_ged_pair_second_rectangle_witness_count_bits. ((((exists ff_h_erc_ged_pair_second_rectangle_witness_count_bits_decoded. ff_h_erc_ged_pair_second_rectangle_witness_count_bits_decoded + S (ff_bit_erc_ged_pair_second_rectangle_witness_count_bits) = S ((S (ff_i_erc_ged_pair_second_rectangle_witness_count_bits)) * erc_row_scale_ged_pair_second_rectangle_witness)) /\ exists ff_q_erc_ged_pair_second_rectangle_witness_count_bits_decoded. erc_row_code_ged_pair_second_rectangle_witness = ff_q_erc_ged_pair_second_rectangle_witness_count_bits_decoded * S ((S (ff_i_erc_ged_pair_second_rectangle_witness_count_bits)) * erc_row_scale_ged_pair_second_rectangle_witness) + (ff_bit_erc_ged_pair_second_rectangle_witness_count_bits))) /\ (ff_bit_erc_ged_pair_second_rectangle_witness_count_bits = 0 \/ ff_bit_erc_ged_pair_second_rectangle_witness_count_bits = 1))))))))) /\ (exists ff_u_ged_pair_second_rectangle_sum ff_v_ged_pair_second_rectangle_sum. ((((exists ff_h_ged_pair_second_rectangle_sum_start. ff_h_ged_pair_second_rectangle_sum_start + S (0) = S ((S (0)) * ff_v_ged_pair_second_rectangle_sum)) /\ exists ff_q_ged_pair_second_rectangle_sum_start. ff_u_ged_pair_second_rectangle_sum = ff_q_ged_pair_second_rectangle_sum_start * S ((S (0)) * ff_v_ged_pair_second_rectangle_sum) + (0))) /\ ((((exists ff_h_ged_pair_second_rectangle_sum_terminal. ff_h_ged_pair_second_rectangle_sum_terminal + S (total) = S ((S (k)) * ff_v_ged_pair_second_rectangle_sum)) /\ exists ff_q_ged_pair_second_rectangle_sum_terminal. ff_u_ged_pair_second_rectangle_sum = ff_q_ged_pair_second_rectangle_sum_terminal * S ((S (k)) * ff_v_ged_pair_second_rectangle_sum) + (total))) /\ forall ff_i_ged_pair_second_rectangle_sum. (exists ff_lt_ged_pair_second_rectangle_sum_bound. ff_lt_ged_pair_second_rectangle_sum_bound + S ff_i_ged_pair_second_rectangle_sum = k) -> exists ff_a_ged_pair_second_rectangle_sum ff_r_ged_pair_second_rectangle_sum ff_s_ged_pair_second_rectangle_sum. ((((exists ff_h_ged_pair_second_rectangle_sum_summand. ff_h_ged_pair_second_rectangle_sum_summand + S (ff_a_ged_pair_second_rectangle_sum) = S ((S (ff_i_ged_pair_second_rectangle_sum)) * cc)) /\ exists ff_q_ged_pair_second_rectangle_sum_summand. cb = ff_q_ged_pair_second_rectangle_sum_summand * S ((S (ff_i_ged_pair_second_rectangle_sum)) * cc) + (ff_a_ged_pair_second_rectangle_sum))) /\ ((((exists ff_h_ged_pair_second_rectangle_sum_partial. ff_h_ged_pair_second_rectangle_sum_partial + S (ff_r_ged_pair_second_rectangle_sum) = S ((S (ff_i_ged_pair_second_rectangle_sum)) * ff_v_ged_pair_second_rectangle_sum)) /\ exists ff_q_ged_pair_second_rectangle_sum_partial. ff_u_ged_pair_second_rectangle_sum = ff_q_ged_pair_second_rectangle_sum_partial * S ((S (ff_i_ged_pair_second_rectangle_sum)) * ff_v_ged_pair_second_rectangle_sum) + (ff_r_ged_pair_second_rectangle_sum))) /\ ((((exists ff_h_ged_pair_second_rectangle_sum_successor. ff_h_ged_pair_second_rectangle_sum_successor + S (ff_s_ged_pair_second_rectangle_sum) = S ((S (S ff_i_ged_pair_second_rectangle_sum)) * ff_v_ged_pair_second_rectangle_sum)) /\ exists ff_q_ged_pair_second_rectangle_sum_successor. ff_u_ged_pair_second_rectangle_sum = ff_q_ged_pair_second_rectangle_sum_successor * S ((S (S ff_i_ged_pair_second_rectangle_sum)) * ff_v_ged_pair_second_rectangle_sum) + (ff_s_ged_pair_second_rectangle_sum))) /\ ff_s_ged_pair_second_rectangle_sum = ff_r_ged_pair_second_rectangle_sum + ff_a_ged_pair_second_rectangle_sum))))))) - 0087
specialize distinct_odd_prime_half_rectangle_total_exists q - 0088
specialize distinct_odd_prime_half_rectangle_total_exists p - 0089
specialize distinct_odd_prime_half_rectangle_total_exists k - 0090
specialize distinct_odd_prime_half_rectangle_total_exists h - 0091
apply distinct_odd_prime_half_rectangle_total_exists - 0092
exact hqodd - 0093
exact hpodd - 0094
exact hq - 0095
exact hp - 0096
exact hqp - 0097
cases hsecond_rectangle - 0098
cases hsecond_rectangle_witness - 0099
cases hsecond_rectangle_witness_witness - 0100
cases hsecond_rectangle_witness_witness_witness - 0101
have hsum_identity : x7 + x15 = h * k - 0102
specialize distinct_odd_prime_eisenstein_quotient_sum_identity p - 0103
specialize distinct_odd_prime_eisenstein_quotient_sum_identity q - 0104
specialize distinct_odd_prime_eisenstein_quotient_sum_identity h - 0105
specialize distinct_odd_prime_eisenstein_quotient_sum_identity k - 0106
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x - 0107
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x1 - 0108
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x2 - 0109
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x3 - 0110
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x4 - 0111
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x5 - 0112
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x8 - 0113
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x9 - 0114
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x10 - 0115
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x11 - 0116
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x12 - 0117
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x13 - 0118
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x16 - 0119
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x17 - 0120
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x19 - 0121
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x20 - 0122
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x7 - 0123
specialize distinct_odd_prime_eisenstein_quotient_sum_identity x15 - 0124
apply distinct_odd_prime_eisenstein_quotient_sum_identity - 0125
exact hpodd - 0126
exact hqodd - 0127
exact hp - 0128
exact hq - 0129
exact hpq - 0130
exact hfirst_witness_witness_witness_witness_witness_witness_witness_witness_left - 0131
exact hfirst_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0132
exact hsecond_witness_witness_witness_witness_witness_witness_witness_witness_left - 0133
exact hsecond_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0134
exact hfirst_rectangle_witness_witness_witness_left - 0135
exact hsecond_rectangle_witness_witness_witness_left - 0136
exact hfirst_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0137
exact hsecond_witness_witness_witness_witness_witness_witness_witness_witness_right_right_left - 0138
exists x6 - 0139
exists x14 - 0140
exists x7 - 0141
exists x15 - 0142
split - 0143
split - 0144
exact hfirst_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - 0145
exact hsecond_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_left - 0146
split - 0147
split - 0148
exact hfirst_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0149
exact hsecond_witness_witness_witness_witness_witness_witness_witness_witness_right_right_right_right - 0150
exact hsum_identity