Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
All products and sums use actual beta-coded coefficients; equality is formal coefficient equivalence, not equality of evaluations or raw codes. The zero gcd is included. Uniqueness is up to formal equivalence, not unique Bézout coefficients. This proves the polynomial gcd component, not G091 irreducible-polynomial existence or arbitrary prime-power-field construction.
- prime_field_polynomial_convolution_shift_right_exists: 14300 actual ordinary certificate nodes
- prime_field_polynomial_convolution_right_scale_exists: 12042 actual ordinary certificate nodes
- prime_field_polynomial_convolution_right_scale_zero: 2149 actual ordinary certificate nodes
- prime_field_convolution_coefficient_right_append_add: 10202 actual ordinary certificate nodes
- prime_field_polynomial_convolution_right_append_exists: 26243 actual ordinary certificate nodes
- prime_field_polynomial_right_divides_dividend_bounded: 24 actual ordinary certificate nodes
- prime_field_polynomial_right_divides_reflexive: 11736 actual ordinary certificate nodes
- prime_field_polynomial_aligned_subtract_from_fixed: 1540 actual ordinary certificate nodes
- prime_field_polynomial_aligned_subtract_functional: 13868 actual ordinary certificate nodes
- prime_field_polynomial_left_constant_product_to_scale: 9133 actual ordinary certificate nodes
- prime_field_polynomial_division_constant_remainder_empty: 7783 actual ordinary certificate nodes
- prime_field_polynomial_normalized_gcd_bezout_exists: 56067 actual ordinary certificate nodes
- prime_field_polynomial_normalized_gcd_equivalent_unique: 24581 actual ordinary certificate nodes
- prime_field_polynomial_bezout_is_right_gcd: 36635 actual ordinary certificate nodes
Actual same-live report · Exact first admissions
zero_add · unchanged support, not a new admission
forall n. 0 + n = n
induction nsimpsimp [IH]
add_succ_left · unchanged support, not a new admission
forall n m. S n + m = S (n + m)
intro ninduction msimpsimp [IH]
add_comm · unchanged support, not a new admission
forall n m. n + m = m + n
intro ninduction msimp [zero_add]simp [add_succ_left, IH]
add_assoc · unchanged support, not a new admission
forall n m k. (n + m) + k = n + (m + k)
intro nintro minduction ksimpsimp [IH]
mul_zero_left · unchanged support, not a new admission
forall n. 0 * n = 0
induction nsimpsimp [IH]
mul_succ_left · unchanged support, not a new admission
forall n m. S n * m = n * m + m
intro ninduction msimpspecialize add_comm nspecialize add_comm msimp [IH, add_comm, add_assoc]
mul_comm · unchanged support, not a new admission
forall n m. n * m = m * n
intro ninduction msimp [mul_zero_left]simp [IH, mul_succ_left]
mul_add · unchanged support, not a new admission
forall n m k. n * (m + k) = n * m + n * k
intro nintro minduction ksimpsimp [IH, add_assoc]
mul_assoc · unchanged support, not a new admission
forall n m k. (n * m) * k = n * (m * k)
intro nintro minduction ksimpsimp [IH, mul_add]
one_mul · unchanged support, not a new admission
forall n. 1 * n = n
induction nsimpsimp [IH]
mul_one · unchanged support, not a new admission
forall n. n * 1 = n
intro nsimp [zero_add]
add_mul · unchanged support, not a new admission
forall n m k. (n + m) * k = n * k + m * k
intro nintro mintro ksimp [mul_comm, mul_add]
succ_ne_zero · unchanged support, not a new admission
forall n. ~(S n = 0)
apply PA1
succ_injective · unchanged support, not a new admission
forall n m. S n = S m -> n = m
apply PA2
le_refl · unchanged support, not a new admission
forall n. n <= n
intro nexists 0simp [zero_add]
le_trans · unchanged support, not a new admission
forall n m k. n <= m -> m <= k -> n <= k
intro nintro mintro kintro h_nmintro h_mkcases h_nmcases h_mkexists x1 + xsimp [add_assoc, h_nm_witness, h_mk_witness]
no_succ_add_fixed · unchanged support, not a new admission
forall p n. S p + n = n -> false
intro pinduction nintro happly PA1rewrite PA3 at hexact hintro happly IHapply PA2rewrite PA4 at hexact h
drop_add_prefix_from_fixed · unchanged support, not a new admission
forall a b n. (b + a) + n = n -> a + n = n
intro ainduction bintro nintro hspecialize zero_add arewrite zero_add at hexact hintro nintro hexfalsospecialize no_succ_add_fixed (b + a)specialize no_succ_add_fixed napply no_succ_add_fixedspecialize add_succ_left bspecialize add_succ_left arewrite add_succ_left at hexact h
antisymm_from_witnesses · unchanged support, not a new admission
forall a b n m. a + n = m -> b + m = n -> n = m
intro aintro bintro nintro mintro h_anmintro h_bmnsymmrewrite <- h_anmspecialize drop_add_prefix_from_fixed aspecialize drop_add_prefix_from_fixed bspecialize drop_add_prefix_from_fixed napply drop_add_prefix_from_fixedspecialize add_assoc bspecialize add_assoc aspecialize add_assoc nrewrite add_assocrewrite h_anmrewrite h_bmnrefl
le_antisymm · unchanged support, not a new admission
forall n m. n <= m -> m <= n -> n = m
intro nintro mintro h_nmintro h_mncases h_nmcases h_mnapply antisymm_from_witnessesexact h_nm_witnessexact h_mn_witness
le_total · unchanged support, not a new admission
forall n m. n <= m \/ m <= n
induction nintro mleftexists msimpinduction mrightexists (S n)simpspecialize IH mcases IHcases IH_leftleftexists xrewrite PA4congrexact IH_left_witnesscases IH_rightrightexists xrewrite PA4congrexact IH_right_witness
add_eq_zero_right · unchanged support, not a new admission
forall a b. a + b = 0 -> b = 0
intro ainduction bintro hreflintro hexfalsoapply PA1rewrite PA4 at hexact h
mul_eq_zero · unchanged support, not a new admission
forall n m. n * m = 0 -> n = 0 \/ m = 0
intro ninduction mintro hrightreflintro hleftspecialize add_eq_zero_right (n * m)specialize add_eq_zero_right napply add_eq_zero_rightrewrite PA6 at hexact h
zero_or_succ · unchanged support, not a new admission
forall n. n = 0 \/ exists k. n = S k
induction nleftreflrightexists nrefl
nonzero_is_succ · unchanged support, not a new admission
forall n. ~(n = 0) -> exists k. n = S k
induction nintro hexfalsoapply hreflintro hexists nrefl
add_congr · unchanged support, not a new admission
forall a b c d. a = b -> c = d -> a + c = b + d
intro aintro bintro cintro dintro habintro hcdcongrexact habexact hcd
add_right_cancel · unchanged support, not a new admission
forall a b c. a + c = b + c -> a = b
intro aintro binduction cintro hrewrite PA3 at hrewrite PA3 at hexact hintro happly IHapply PA2rewrite PA4 at hrewrite PA4 at hexact h
add_left_cancel · unchanged support, not a new admission
forall a b c. a + b = a + c -> b = c
intro aintro bintro cintro hspecialize add_right_cancel bspecialize add_right_cancel cspecialize add_right_cancel aapply add_right_canceltrans a + bapply add_commtrans a + cexact happly add_comm
zero_le · unchanged support, not a new admission
forall n. 0 <= n
intro nexists nrewrite PA3refl
le_succ_self · unchanged support, not a new admission
forall n. n <= S n
intro nexists 1simp [add_succ_left, zero_add]
le_zero · unchanged support, not a new admission
forall n. n <= 0 -> n = 0
intro nintro hcases happly add_eq_zero_rightexact h_witness
one_le_of_ne_zero · unchanged support, not a new admission
forall n. ~(n = 0) -> 1 <= n
induction nintro hexfalsoapply hreflintro hexists nsimp
le_add_left · unchanged support, not a new admission
forall a b. exists k. k + a = b + a
intro aintro bexists brefl
le_add_right · unchanged support, not a new admission
forall a b. exists k. k + a = a + b
intro aintro bexists bapply add_comm
add_le_add_right · unchanged support, not a new admission
forall a b c. (exists k. k + a = b) -> exists r. r + (a + c) = b + c
intro aintro bintro cintro hcases hexists xtrans (x + a) + csymmapply add_assoccongrexact h_witnessrefl
add_le_add_left · unchanged support, not a new admission
forall a b c. (exists k. k + a = b) -> exists r. r + (c + a) = c + b
intro aintro bintro cintro hcases hexists xtrans (x + c) + asymmapply add_assoctrans (c + x) + acongrapply add_commrefltrans c + (x + a)apply add_assoccongrreflexact h_witness
succ_le_succ · unchanged support, not a new admission
forall a b. (exists k. k + a = b) -> exists r. r + S a = S b
intro aintro bintro hcases hexists xrewrite PA4congrexact h_witness
le_of_succ_le_succ · unchanged support, not a new admission
forall a b. (exists k. k + S a = S b) -> exists r. r + a = b
intro aintro bintro hcases hexists xapply PA2trans x + S asymmapply PA4exact h_witness
le_succ · unchanged support, not a new admission
forall a b. (exists k. k + a = b) -> exists r. r + a = S b
intro aintro bintro hcases hexists S xtrans S (x + a)apply add_succ_leftcongrexact h_witness
lt_to_le · unchanged support, not a new admission
forall a b. (exists k. k + S a = b) -> exists r. r + a = b
intro aintro bintro hcases hexists S xtrans x + S atrans S (x + a)apply add_succ_leftsymmapply PA4exact h_witness
add_le_cancel_right · unchanged support, not a new admission
forall a b c. (exists k. k + (a + c) = b + c) -> exists r. r + a = b
intro aintro bintro cintro hcases hexists xspecialize add_right_cancel (x + a)specialize add_right_cancel bspecialize add_right_cancel capply add_right_canceltrans x + (a + c)apply add_assocexact h_witness
lt_irrefl_expanded · unchanged support, not a new admission
forall n. ~(exists k. k + S n = n)
intro nintro hcases hspecialize no_succ_add_fixed xspecialize no_succ_add_fixed napply no_succ_add_fixedtrans x + S ntrans S (x + n)apply add_succ_leftsymmapply PA4exact h_witness
le_eq_or_lt · unchanged support, not a new admission
forall a b. (exists k. k + a = b) -> a = b \/ exists k. k + S a = b
intro aintro bintro hcases hspecialize zero_or_succ xcases zero_or_succleftrewrite zero_or_succ_left at h_witnessspecialize zero_add arewrite zero_add at h_witnessexact h_witnesscases zero_or_succ_rightrightexists x1trans S x1 + atrans S (x1 + a)apply PA4symmapply add_succ_leftrewrite <- zero_or_succ_right_witnessexact h_witness
lt_of_lt_of_le · unchanged support, not a new admission
forall a b c. (exists k. k + S a = b) -> (exists k. k + b = c) -> exists k. k + S a = c
intro aintro bintro cintro habintro hbcspecialize le_trans (S a)specialize le_trans bspecialize le_trans capply le_transexact habexact hbc
le_or_lt · unchanged support, not a new admission
forall a b. (exists k. k + a = b) \/ exists k. k + S b = a
induction aintro bleftexists bapply PA3induction brightexists atrans S (a + 0)apply PA4congrapply PA3specialize IH bcases IHleftcases IH_leftexists xrewrite PA4congrexact IH_left_witnessrightcases IH_rightexists xrewrite PA4congrexact IH_right_witness
lt_trichotomy · unchanged support, not a new admission
forall a b. a = b \/ ((exists k. k + S a = b) \/ exists k. k + S b = a)
induction ainduction bleftreflrightleftexists btrans S (b + 0)apply PA4congrapply PA3induction brightrightexists atrans S (a + 0)apply PA4congrapply PA3specialize IH bcases IHleftcongrexact IH_leftcases IH_rightrightleftcases IH_right_leftexists xrewrite PA4congrexact IH_right_left_witnessrightrightcases IH_right_rightexists xrewrite PA4congrexact IH_right_right_witness
lt_not_le · unchanged support, not a new admission
forall a b. (exists k. k + S a = b) -> ~ (exists k. k + b = a)
have hbad : forall z u v. ~(z = u + (v + S z))intro zinduction zintro uintro vintro hzapply PA1symmrewrite PA4 at hzrewrite PA4 at hzexact hzintro uintro vintro hzspecialize IH uspecialize IH vapply IHapply PA2rewrite PA4 at hzrewrite PA4 at hzexact hzintro aintro bintro habintro hbacases habcases hbaspecialize hbad aspecialize hbad x1specialize hbad xapply hbadsymmrewrite <- hab_witness at hba_witnessexact hba_witness
lt_not_eq_add_middle · unchanged support, not a new admission
forall r m a b. (exists k. k + S r = m) -> ~(r = (a + m) + b)
have hbad : forall z a w b. ~(z = (a + (w + S z)) + b)intro zinduction zintro aintro wintro bintro hzapply PA1symmrewrite PA4 at hzrewrite PA4 at hzspecialize add_succ_left (a + (w + 0))specialize add_succ_left brewrite add_succ_left at hzexact hzintro aintro wintro bintro hzspecialize IH aspecialize IH wspecialize IH bapply IHapply PA2rewrite PA4 at hzrewrite PA4 at hzspecialize add_succ_left (a + (w + S z))specialize add_succ_left brewrite add_succ_left at hzexact hzintro rintro mintro aintro bintro hrintro heqcases hrspecialize hbad rspecialize hbad aspecialize hbad xspecialize hbad bapply hbadrewrite <- hr_witness at heqexact heq
mul_le_mul_right · unchanged support, not a new admission
forall a b c. (exists k. k + a = b) -> exists r. r + a * c = b * c
intro aintro bintro cintro hcases hexists x * ctrans (x + a) * csymmapply add_mulcongrexact h_witnessrefl
division_remainder_succ · unchanged support, not a new admission
forall d n. exists q r. n = S d * q + r /\ S r <= S d
intro dinduction nexists 0exists 0splitsimpexists dsimpcases IHcases IH_witnesscases IH_witness_witnesscases IH_witness_witness_rightspecialize zero_or_succ x2cases zero_or_succrewrite zero_or_succ_left at IH_witness_witness_right_witnessspecialize zero_add S x1rewrite zero_add at IH_witness_witness_right_witnesshave hrd : x1 = dapply PA2exact IH_witness_witness_right_witnessexists S xexists 0splitrewrite IH_witness_witness_leftrewrite hrdsimpexists dsimpcases zero_or_succ_rightexists xexists S x1splitrewrite IH_witness_witness_leftsimpexists x3rewrite <- IH_witness_witness_right_witnessrewrite zero_or_succ_right_witnesssimp [add_succ_left]
division_remainder_exists · unchanged support, not a new admission
forall m n. ~(m = 0) -> exists q r. n = m * q + r /\ S r <= m
intro mintro nintro hmspecialize zero_or_succ mcases zero_or_succexfalsoapply hmexact zero_or_succ_leftcases zero_or_succ_rightspecialize division_remainder_succ xspecialize division_remainder_succ nrewrite zero_or_succ_right_witnessrewrite zero_or_succ_right_witnessexact division_remainder_succ
positive_quotient_gap_impossible · unchanged support, not a new admission
forall m q q2 r s k. (exists z. z + S r = m) -> S k + q = q2 -> ~(m * q + r = m * q2 + s)
intro mintro qintro q2intro rintro sintro kintro hrintro hgapintro heqspecialize lt_not_eq_add_middle rspecialize lt_not_eq_add_middle mspecialize lt_not_eq_add_middle (m * k)specialize lt_not_eq_add_middle sapply lt_not_eq_add_middleexact hrspecialize add_left_cancel (m * q)specialize add_left_cancel rspecialize add_left_cancel ((m * k + m) + s)apply add_left_canceltrans m * q2 + sexact heqrewrite <- hgapspecialize add_comm S kspecialize add_comm qrewrite add_commspecialize mul_add mspecialize mul_add qspecialize mul_add S krewrite mul_addrewrite PA6specialize add_assoc (m * q)specialize add_assoc (m * k + m)specialize add_assoc sapply add_assoc
division_remainder_unique · unchanged support, not a new admission
forall m n q r q2 r2. n = m * q + r -> (exists k. k + S r = m) -> n = m * q2 + r2 -> (exists k. k + S r2 = m) -> q = q2 /\ r = r2
intro mintro nintro qintro rintro q2intro r2intro h1intro hrintro h2intro hr2have hsum : m * q + r = m * q2 + r2trans nsymmexact h1exact h2specialize le_total qspecialize le_total q2cases le_totalcases le_total_leftspecialize zero_or_succ xcases zero_or_succrewrite zero_or_succ_left at le_total_left_witnessspecialize zero_add qrewrite zero_add at le_total_left_witnesssplitexact le_total_left_witnessspecialize add_left_cancel (m * q)specialize add_left_cancel rspecialize add_left_cancel r2apply add_left_cancelrewrite <- le_total_left_witness at hsumexact hsumcases zero_or_succ_rightexfalsospecialize positive_quotient_gap_impossible mspecialize positive_quotient_gap_impossible qspecialize positive_quotient_gap_impossible q2specialize positive_quotient_gap_impossible rspecialize positive_quotient_gap_impossible r2specialize positive_quotient_gap_impossible x1apply positive_quotient_gap_impossibleexact hrrewrite zero_or_succ_right_witness at le_total_left_witnessexact le_total_left_witnessexact hsumcases le_total_rightspecialize zero_or_succ xcases zero_or_succrewrite zero_or_succ_left at le_total_right_witnessspecialize zero_add q2rewrite zero_add at le_total_right_witnesssplitsymmexact le_total_right_witnessspecialize add_left_cancel (m * q)specialize add_left_cancel rspecialize add_left_cancel r2apply add_left_cancelrewrite le_total_right_witness at hsumexact hsumcases zero_or_succ_rightexfalsospecialize positive_quotient_gap_impossible mspecialize positive_quotient_gap_impossible q2specialize positive_quotient_gap_impossible qspecialize positive_quotient_gap_impossible r2specialize positive_quotient_gap_impossible rspecialize positive_quotient_gap_impossible x1apply positive_quotient_gap_impossibleexact hr2rewrite zero_or_succ_right_witness at le_total_right_witnessexact le_total_right_witnesssymmexact hsum
add_eq_zero_left · unchanged support, not a new admission
forall a b. a + b = 0 -> a = 0
intro aintro bintro hspecialize add_eq_zero_right bspecialize add_eq_zero_right aapply add_eq_zero_righttrans a + bapply add_commexact h
mul_eq_one_components · unchanged support, not a new admission
forall a b. a * b = 1 -> a = 1 /\ b = 1
intro ainduction aintro bintro hspecialize mul_zero_left brewrite mul_zero_left at hexfalsoapply PA1symmexact hintro binduction bintro hrewrite PA5 at hexfalsoapply PA1symmexact hintro hrewrite PA6 at hrewrite PA4 at hhave hz : S a * b + a = 0apply PA2exact hspecialize add_eq_zero_right (S a * b)specialize add_eq_zero_right ahave ha0 : a = 0apply add_eq_zero_rightexact hzsplitcongrexact ha0rewrite ha0 at hzrewrite ha0 at hzrewrite PA3 at hzspecialize one_mul brewrite one_mul at hzcongrexact hz
mul_ne_zero · unchanged support, not a new admission
forall a b. ~(a = 0) -> ~(b = 0) -> ~(a * b = 0)
intro aintro bintro haintro hbintro habspecialize mul_eq_zero aspecialize mul_eq_zero bhave hz : a = 0 \/ b = 0apply mul_eq_zeroexact habcases hzapply haexact hz_leftapply hbexact hz_right
multiple_zero · unchanged support, not a new admission
forall a. exists q. 0 = a * q
intro aexists 0rewrite PA5refl
multiple_refl · unchanged support, not a new admission
forall a. exists q. a = a * q
intro aexists 1symmapply mul_one
multiple_mul_right · unchanged support, not a new admission
forall a n m. (exists q. n = a * q) -> exists s. n * m = a * s
intro aintro nintro mintro hncases hnexists x * mrewrite hn_witnessapply mul_assoc
multiple_trans · unchanged support, not a new admission
forall a b n. (exists q. n = a * q) -> (exists r. a = b * r) -> exists s. n = b * s
intro aintro bintro nintro hnintro habcases hncases habexists x1 * xrewrite hn_witnessrewrite hab_witnessapply mul_assoc
divisor_le_nonzero · unchanged support, not a new admission
forall d n. ~(n = 0) -> (exists q. n = d * q) -> exists k. k + d = n
intro dintro nintro hnintro hdcases hdhave hq : ~(x = 0)intro hxapply hntrans d * xexact hd_witnessrewrite hxapply PA5specialize one_le_of_ne_zero xhave h1q : exists k. k + 1 = xapply one_le_of_ne_zeroexact hqcases h1qhave hs : S x1 = xtrans x1 + 1simpexact h1q_witnessexists d * x1trans d * S x1symmapply PA6trans d * xcongrreflexact hssymmexact hd_witness
divisor_one · unchanged support, not a new admission
forall d. (exists y. 1 = d * y) -> d = 1
intro dintro hcases hspecialize mul_eq_one_components dspecialize mul_eq_one_components xhave parts : d = 1 /\ x = 1apply mul_eq_one_componentssymmexact h_witnesscases partsexact parts_left
factor_difference · unchanged support, not a new admission
forall c u v r. c * u = c * v + r -> exists w. r = c * w
intro cinduction uintro vintro rintro hrewrite PA5 at hhave hr : r = 0apply add_eq_zero_rightsymmexact hexists 0rewrite hrrewrite PA5reflintro vinduction vintro rintro hexists S urewrite PA5 at hspecialize zero_add rrewrite zero_add at hsymmexact hintro rintro hhave hred : c * u = c * v + rspecialize add_right_cancel (c * u)specialize add_right_cancel (c * v + r)specialize add_right_cancel capply add_right_cancelrewrite PA6 at hrewrite PA6 at htrans (c * v + c) + rexact htrans c * v + (c + r)apply add_assoctrans c * v + (r + c)congrreflapply add_commsymmapply add_assocspecialize IH vspecialize IH rapply IHexact hred
divides_remainder · unchanged support, not a new admission
forall c a b q r. (exists u. a = c * u) -> (exists v. b = c * v) -> a = b * q + r -> exists w. r = c * w
intro cintro aintro bintro qintro rintro haintro hbintro hcases hacases hbspecialize factor_difference cspecialize factor_difference xspecialize factor_difference (x1 * q)specialize factor_difference rapply factor_differencetrans asymmexact ha_witnesstrans b * q + rexact hcongrrewrite hb_witnessapply mul_assocrefl
divides_linear_step · unchanged support, not a new admission
forall c b q r. (exists u. b = c * u) -> (exists v. r = c * v) -> exists w. b * q + r = c * w
intro cintro bintro qintro rintro hbintro hrcases hbcases hrexists x * q + x1rewrite hb_witnessrewrite hr_witnesstrans c * (x * q) + c * x1congrapply mul_assocreflsymmapply mul_add
is_gcd_zero_right · unchanged support, not a new admission
forall a. (((exists x. a = a * x) /\ (exists y. 0 = a * y)) /\ forall c. (exists u. a = c * u) -> (exists v. 0 = c * v) -> exists w. a = c * w)
intro asplitsplitspecialize multiple_refl aexact multiple_reflspecialize multiple_zero aexact multiple_zerointro cintro haintro hzexact ha
is_gcd_euclid_forward · unchanged support, not a new admission
forall d a b q r. a = b * q + r -> (((exists x. b = d * x) /\ (exists y. r = d * y)) /\ forall c. (exists u. b = c * u) -> (exists v. r = c * v) -> exists w. d = c * w) -> (((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w)
intro dintro aintro bintro qintro rintro hstepintro hgcases hgcases hg_leftsplitsplitrewrite hstepspecialize divides_linear_step dspecialize divides_linear_step bspecialize divides_linear_step qspecialize divides_linear_step rapply divides_linear_stepexact hg_left_leftexact hg_left_rightexact hg_left_leftintro cintro hcaintro hcbspecialize hg_right capply hg_rightexact hcbspecialize divides_remainder cspecialize divides_remainder aspecialize divides_remainder bspecialize divides_remainder qspecialize divides_remainder rapply divides_remainderexact hcaexact hcbexact hstep
gcd_exists_up_to · unchanged support, not a new admission
forall B b. (exists t. t + b = B) -> forall a. exists d. (((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w)
intro Binduction Bintro bintro hbintro ahave hb0 : b = 0apply le_zeroexact hbexists asplitsplitspecialize multiple_refl aexact multiple_reflexists 0trans 0exact hb0symmapply PA5intro cintro hcaintro hcbexact hcaintro bintro hbintro aspecialize le_eq_or_lt bspecialize le_eq_or_lt (S B)have hsplit : b = S B \/ exists k. k + S b = S Bapply le_eq_or_ltexact hbcases hsplithave hb0 : ~(b = 0)intro hzeroapply PA1trans bsymmexact hsplit_leftexact hzerohave hdiv : exists q r. a = b * q + r /\ exists k. k + S r = bapply division_remainder_existsexact hb0cases hdivcases hdiv_witnesscases hdiv_witness_witnesshave hrB : exists k. k + x1 = Bapply le_of_succ_le_succrewrite hsplit_left at hdiv_witness_witness_rightexact hdiv_witness_witness_righthave hsmall : exists d. (((exists u. b = d * u) /\ (exists v. x1 = d * v)) /\ forall c. (exists s. b = c * s) -> (exists t. x1 = c * t) -> exists w. d = c * w)specialize IH x1have hall : forall z. exists d. (((exists u. z = d * u) /\ (exists v. x1 = d * v)) /\ forall c. (exists s. z = c * s) -> (exists t. x1 = c * t) -> exists w. d = c * w)apply IHexact hrBspecialize hall bexact hallcases hsmallexists x2specialize is_gcd_euclid_forward x2specialize is_gcd_euclid_forward aspecialize is_gcd_euclid_forward bspecialize is_gcd_euclid_forward xspecialize is_gcd_euclid_forward x1apply is_gcd_euclid_forwardexact hdiv_witness_witness_leftexact hsmall_witnesshave hbB : exists k. k + b = Bapply le_of_succ_le_succexact hsplit_rightspecialize IH bhave hall : forall z. exists d. (((exists u. z = d * u) /\ (exists v. b = d * v)) /\ forall c. (exists s. z = c * s) -> (exists t. b = c * t) -> exists w. d = c * w)apply IHexact hbBspecialize hall aexact hall
gcd_exists_relational · unchanged support, not a new admission
forall a b. exists d. (((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w)
intro aintro bspecialize gcd_exists_up_to bspecialize gcd_exists_up_to bhave hbb : exists t. t + b = bapply le_reflhave hall : forall z. exists d. (((exists x. z = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. z = c * u) -> (exists v. b = c * v) -> exists w. d = c * w)apply gcd_exists_up_toexact hbbspecialize hall aexact hall
coprime_one_left · unchanged support, not a new admission
forall a d. (exists x. 1 = d * x) -> (exists y. a = d * y) -> d = 1
intro aintro dintro h1intro haspecialize divisor_one dapply divisor_oneexact h1
is_gcd_one_to_coprime · unchanged support, not a new admission
forall a b. (((exists x. a = 1 * x) /\ (exists y. b = 1 * y)) /\ forall d. (exists u. a = d * u) -> (exists v. b = d * v) -> exists w. 1 = d * w) -> forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> c = 1
intro aintro bintro hgintro cintro haintro hbcases hgspecialize hg_right chave hd : exists w. 1 = c * wapply hg_rightexact haexact hbspecialize divisor_one capply divisor_oneexact hd
add_permute_outer · unchanged support, not a new admission
forall a b c d. (a + b) + (c + d) = (c + b) + (a + d)
intro aintro bintro cintro dtrans a + (b + (c + d))apply add_assoctrans a + ((b + c) + d)congrreflsymmapply add_assoctrans a + ((c + b) + d)congrreflcongrapply add_commrefltrans (a + (c + b)) + dsymmapply add_assoctrans ((c + b) + a) + dcongrapply add_commreflapply add_assoc
balanced_bezout_euclid_step · unchanged support, not a new admission
forall a b q r d xp yp xn yn. a = b * q + r -> b * xp + r * yp = d + (b * xn + r * yn) -> a * yp + b * (xp + q * yn) = d + (a * yn + b * (xn + q * yp))
intro aintro bintro qintro rintro dintro xpintro ypintro xnintro ynintro habintro hbezrewrite habtrans ((b * q) * yp + r * yp) + b * (xp + q * yn)congrapply add_mulrefltrans ((b * q) * yp + r * yp) + (b * xp + b * (q * yn))congrreflapply mul_addtrans ((b * q) * yp + r * yp) + (b * xp + (b * q) * yn)congrreflcongrreflsymmapply mul_assoctrans (b * xp + r * yp) + ((b * q) * yp + (b * q) * yn)apply add_permute_outertrans (b * xp + r * yp) + ((b * q) * yn + (b * q) * yp)congrreflapply add_commtrans (d + (b * xn + r * yn)) + ((b * q) * yn + (b * q) * yp)congrexact hbezrefltrans d + ((b * xn + r * yn) + ((b * q) * yn + (b * q) * yp))apply add_assoctrans d + (((b * q) * yn + r * yn) + (b * xn + (b * q) * yp))congrreflapply add_permute_outertrans d + ((b * q + r) * yn + (b * xn + (b * q) * yp))congrreflcongrsymmapply add_mulrefltrans d + ((b * q + r) * yn + (b * xn + b * (q * yp)))congrreflcongrreflcongrreflapply mul_assoccongrreflcongrcongrsymmexact habreflsymmapply mul_add
gcd_balanced_bezout_exists_up_to · unchanged support, not a new admission
forall B b. (exists t. t + b = B) -> forall a. exists d. ((((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w) /\ exists xp yp xn yn. a * xp + b * yp = d + (a * xn + b * yn))
intro Binduction Bintro bintro hbintro ahave hb0 : b = 0apply le_zeroexact hbexists asplitrewrite hb0rewrite hb0specialize is_gcd_zero_right aexact is_gcd_zero_rightexists 1exists 0exists 0exists 0rewrite hb0simp [zero_add]intro bintro hbintro aspecialize le_eq_or_lt bspecialize le_eq_or_lt (S B)have hsplit : b = S B \/ exists k. k + S b = S Bapply le_eq_or_ltexact hbcases hsplithave hb0 : ~(b = 0)intro hzeroapply PA1trans bsymmexact hsplit_leftexact hzerohave hdiv : exists q r. a = b * q + r /\ exists k. k + S r = bapply division_remainder_existsexact hb0cases hdivcases hdiv_witnesscases hdiv_witness_witnesshave hrB : exists k. k + x1 = Bapply le_of_succ_le_succrewrite hsplit_left at hdiv_witness_witness_rightexact hdiv_witness_witness_righthave hsmall : exists d. ((((exists u. b = d * u) /\ (exists v. x1 = d * v)) /\ forall c. (exists s. b = c * s) -> (exists t. x1 = c * t) -> exists w. d = c * w) /\ exists xp yp xn yn. b * xp + x1 * yp = d + (b * xn + x1 * yn))specialize IH x1have hall : forall z. exists d. ((((exists u. z = d * u) /\ (exists v. x1 = d * v)) /\ forall c. (exists s. z = c * s) -> (exists t. x1 = c * t) -> exists w. d = c * w) /\ exists xp yp xn yn. z * xp + x1 * yp = d + (z * xn + x1 * yn))apply IHexact hrBspecialize hall bexact hallcases hsmallcases hsmall_witnesscases hsmall_witness_rightcases hsmall_witness_right_witnesscases hsmall_witness_right_witness_witnesscases hsmall_witness_right_witness_witness_witnessexists x2splitapply is_gcd_euclid_forwardexact hdiv_witness_witness_leftexact hsmall_witness_leftexists x4exists x3 + x * x6exists x6exists x5 + x * x4apply balanced_bezout_euclid_stepexact hdiv_witness_witness_leftexact hsmall_witness_right_witness_witness_witness_witnesshave hbB : exists k. k + b = Bapply le_of_succ_le_succexact hsplit_rightspecialize IH bhave hall : forall z. exists d. ((((exists u. z = d * u) /\ (exists v. b = d * v)) /\ forall c. (exists s. z = c * s) -> (exists t. b = c * t) -> exists w. d = c * w) /\ exists xp yp xn yn. z * xp + b * yp = d + (z * xn + b * yn))apply IHexact hbBspecialize hall aexact hall
gcd_balanced_bezout_exists · unchanged support, not a new admission
forall a b. exists d. ((((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w) /\ exists xp yp xn yn. a * xp + b * yp = d + (a * xn + b * yn))
intro aintro bspecialize gcd_balanced_bezout_exists_up_to bspecialize gcd_balanced_bezout_exists_up_to bhave hbb : exists t. t + b = bapply le_reflhave hall : forall z. exists d. ((((exists x. z = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. z = c * u) -> (exists v. b = c * v) -> exists w. d = c * w) /\ exists xp yp xn yn. z * xp + b * yp = d + (z * xn + b * yn))apply gcd_balanced_bezout_exists_up_toexact hbbspecialize hall aexact hall
balanced_combination_scale_right · unchanged support, not a new admission
forall a b d xp yp xn yn z. a * xp + b * yp = d + (a * xn + b * yn) -> a * (xp * z) + (b * z) * yp = d * z + (a * (xn * z) + (b * z) * yn)
intro aintro bintro dintro xpintro ypintro xnintro ynintro zintro htrans (a * xp) * z + (b * z) * ypcongrsymmapply mul_assocrefltrans (a * xp) * z + (b * yp) * zcongrrefltrans b * (z * yp)apply mul_assoctrans b * (yp * z)congrreflapply mul_commsymmapply mul_assoctrans (a * xp + b * yp) * zsymmapply add_multrans (d + (a * xn + b * yn)) * zcongrexact hrefltrans d * z + (a * xn + b * yn) * zapply add_multrans d * z + ((a * xn) * z + (b * yn) * z)congrreflapply add_multrans d * z + (a * (xn * z) + (b * yn) * z)congrreflcongrapply mul_assocreflcongrreflcongrrefltrans b * (yn * z)apply mul_assoctrans b * (z * yn)congrreflapply mul_commsymmapply mul_assoc
common_divisor_divides_balanced_result · unchanged support, not a new admission
forall c a b d xp yp xn yn. (exists u. a = c * u) -> (exists v. b = c * v) -> a * xp + b * yp = d + (a * xn + b * yn) -> exists w. d = c * w
intro cintro aintro bintro dintro xpintro ypintro xnintro ynintro haintro hbintro hcases hacases hbspecialize factor_difference cspecialize factor_difference (x * xp + x1 * yp)specialize factor_difference (x * xn + x1 * yn)specialize factor_difference dapply factor_differencetrans c * (x * xp) + c * (x1 * yp)apply mul_addtrans (c * x) * xp + (c * x1) * ypcongrsymmapply mul_assocsymmapply mul_assoctrans a * xp + b * yprewrite ha_witnessrewrite hb_witnessrefltrans d + (a * xn + b * yn)exact htrans (a * xn + b * yn) + dapply add_commtrans ((c * x) * xn + (c * x1) * yn) + drewrite ha_witnessrewrite hb_witnessrefltrans (c * (x * xn) + c * (x1 * yn)) + dcongrcongrapply mul_assocapply mul_assocreflcongrsymmapply mul_addrefl
coprime_balanced_bezout · unchanged support, not a new admission
forall a b. (forall d. (exists x. a = d * x) -> (exists y. b = d * y) -> d = 1) -> exists xp yp xn yn. a * xp + b * yp = 1 + (a * xn + b * yn)
intro aintro bintro hcophave hgb : exists d. ((((exists x. a = d * x) /\ (exists y. b = d * y)) /\ forall c. (exists u. a = c * u) -> (exists v. b = c * v) -> exists w. d = c * w) /\ exists xp yp xn yn. a * xp + b * yp = d + (a * xn + b * yn))apply gcd_balanced_bezout_existscases hgbcases hgb_witnesscases hgb_witness_leftcases hgb_witness_left_lefthave hd : x = 1specialize hcop xapply hcopexact hgb_witness_left_left_leftexact hgb_witness_left_left_rightcases hgb_witness_rightcases hgb_witness_right_witnesscases hgb_witness_right_witness_witnesscases hgb_witness_right_witness_witness_witnessexists x1exists x2exists x3exists x4rewrite hd at hgb_witness_right_witness_witness_witness_witnessexact hgb_witness_right_witness_witness_witness_witness
gauss_coprime_cancel · unchanged support, not a new admission
forall a b z. (forall d. (exists x. a = d * x) -> (exists y. b = d * y) -> d = 1) -> (exists q. b * z = a * q) -> exists w. z = a * w
intro aintro bintro zintro hcopintro hdivhave hbez : exists xp yp xn yn. a * xp + b * yp = 1 + (a * xn + b * yn)apply coprime_balanced_bezoutexact hcopcases hbezcases hbez_witnesscases hbez_witness_witnesscases hbez_witness_witness_witnesshave hscaled : a * (x * z) + (b * z) * x1 = 1 * z + (a * (x2 * z) + (b * z) * x3)apply balanced_combination_scale_rightexact hbez_witness_witness_witness_witnessspecialize one_mul zrewrite one_mul at hscaledspecialize common_divisor_divides_balanced_result aspecialize common_divisor_divides_balanced_result aspecialize common_divisor_divides_balanced_result (b * z)specialize common_divisor_divides_balanced_result zspecialize common_divisor_divides_balanced_result (x * z)specialize common_divisor_divides_balanced_result x1specialize common_divisor_divides_balanced_result (x2 * z)specialize common_divisor_divides_balanced_result x3apply common_divisor_divides_balanced_resultspecialize multiple_refl aexact multiple_reflexact hdivexact hscaled
eq_decidable · unchanged support, not a new admission
forall a b. a = b \/ ~(a = b)
intro ainduction aintro binduction bleftreflrightintro happly PA1symmexact hintro binduction brightintro happly PA1exact hspecialize IH bcases IHleftcongrexact IH_leftrightintro happly IH_rightapply PA2exact h
prime_nonzero · unchanged support, not a new admission
forall p. (~(p = 1) /\ forall a b. p = a * b -> a = 1 \/ b = 1) -> ~(p = 0)
intro pintro hpintro hp0cases hpspecialize hp_right 0specialize hp_right 0have hunit : 0 = 1 \/ 0 = 1apply hp_rightrewrite hp0symmapply mul_zero_leftcases hunitspecialize succ_ne_zero 0apply succ_ne_zerosymmexact hunit_leftspecialize succ_ne_zero 0apply succ_ne_zerosymmexact hunit_right
prime_divisor_eq_one_or_self · unchanged support, not a new admission
forall p g. (~(p = 1) /\ forall c d. p = c * d -> c = 1 \/ d = 1) -> (exists x. p = g * x) -> g = 1 \/ p = g
intro pintro gintro hpintro hdivcases hpcases hdivspecialize hp_right gspecialize hp_right xhave hfactor : g = 1 \/ x = 1apply hp_rightexact hdiv_witnesscases hfactorleftexact hfactor_leftrighttrans g * xexact hdiv_witnessrewrite hfactor_rightapply mul_one
mod_eq_refl · unchanged support, not a new admission
forall m a. exists u v. a + m * u = a + m * v
intro mintro aexists 0exists 0refl
mod_eq_symm · unchanged support, not a new admission
forall m a b. (exists u v. a + m * u = b + m * v) -> exists r s. b + m * r = a + m * s
intro mintro aintro bintro hcases hcases h_witnessexists x1exists xsymmexact h_witness_witness
mod_eq_trans · unchanged support, not a new admission
forall m a b c. (exists u v. a + m * u = b + m * v) -> (exists r s. b + m * r = c + m * s) -> exists x y. a + m * x = c + m * y
intro mintro aintro bintro cintro habintro hbccases habcases hab_witnesscases hbccases hbc_witnessexists x + x2exists x3 + x1trans a + (m * x + m * x2)congrreflapply mul_addtrans (a + m * x) + m * x2symmapply add_assoctrans (b + m * x1) + m * x2congrexact hab_witness_witnessrefltrans b + (m * x1 + m * x2)apply add_assoctrans b + (m * x2 + m * x1)congrreflapply add_commtrans (b + m * x2) + m * x1symmapply add_assoctrans (c + m * x3) + m * x1congrexact hbc_witness_witnessrefltrans c + (m * x3 + m * x1)apply add_assoccongrreflsymmapply mul_add
mod_eq_add · unchanged support, not a new admission
forall m a b c d. (exists u v. a + m * u = b + m * v) -> (exists r s. c + m * r = d + m * s) -> exists x y. (a + c) + m * x = (b + d) + m * y
intro mintro aintro bintro cintro dintro habintro hcdcases habcases hab_witnesscases hcdcases hcd_witnessexists x2 + xexists x3 + x1trans (a + c) + (m * x2 + m * x)congrreflapply mul_addtrans (m * x2 + c) + (a + m * x)apply add_permute_outertrans (c + m * x2) + (a + m * x)congrapply add_commrefltrans (a + m * x) + (c + m * x2)apply add_commtrans (b + m * x1) + (d + m * x3)congrexact hab_witness_witnessexact hcd_witness_witnesstrans (d + m * x3) + (b + m * x1)apply add_commtrans (m * x3 + d) + (b + m * x1)congrapply add_commrefltrans (b + d) + (m * x3 + m * x1)symmapply add_permute_outercongrreflsymmapply mul_add
mod_eq_mul_right · unchanged support, not a new admission
forall m a b c. (exists u v. a + m * u = b + m * v) -> exists r s. (a * c) + m * r = (b * c) + m * s
intro mintro aintro bintro cintro hcases hcases h_witnessexists x * cexists x1 * ctrans a * c + (m * x) * ccongrreflsymmapply mul_assoctrans (a + m * x) * csymmapply add_multrans (b + m * x1) * ccongrexact h_witness_witnessrefltrans b * c + (m * x1) * capply add_mulcongrreflapply mul_assoc
mod_eq_mul_left · unchanged support, not a new admission
forall m a b c. (exists u v. a + m * u = b + m * v) -> exists r s. (c * a) + m * r = (c * b) + m * s
intro mintro aintro bintro cintro hspecialize mod_eq_mul_right mspecialize mod_eq_mul_right aspecialize mod_eq_mul_right bspecialize mod_eq_mul_right chave hr : exists r s. (a * c) + m * r = (b * c) + m * sapply mod_eq_mul_rightexact hcases hrcases hr_witnessexists xexists x1trans a * c + m * xcongrapply mul_commrefltrans b * c + m * x1exact hr_witness_witnesscongrapply mul_commrefl
mod_eq_mul · unchanged support, not a new admission
forall m a b c d. (exists u v. a + m * u = b + m * v) -> (exists r s. c + m * r = d + m * s) -> exists x y. (a * c) + m * x = (b * d) + m * y
intro mintro aintro bintro cintro dintro habintro hcdhave hacbc : exists r s. (a * c) + m * r = (b * c) + m * sspecialize mod_eq_mul_right mspecialize mod_eq_mul_right aspecialize mod_eq_mul_right bspecialize mod_eq_mul_right capply mod_eq_mul_rightexact habhave hbcbd : exists r s. (b * c) + m * r = (b * d) + m * sspecialize mod_eq_mul_left mspecialize mod_eq_mul_left cspecialize mod_eq_mul_left dspecialize mod_eq_mul_left bapply mod_eq_mul_leftexact hcdspecialize mod_eq_trans mspecialize mod_eq_trans (a * c)specialize mod_eq_trans (b * c)specialize mod_eq_trans (b * d)apply mod_eq_transexact hacbcexact hbcbd
remainder_decomposition_to_mod_eq · unchanged support, not a new admission
forall m b q x. b = q * m + x -> exists u v. b + m * u = x + m * v
intro mintro bintro qintro xintro hexists 0exists qrewrite PA5rewrite PA3trans q * m + xexact htrans x + q * mapply add_commcongrreflapply mul_comm
mod_eq_bounded_unique · unchanged support, not a new admission
forall m a b. (exists ha. ha + S a = m) -> (exists hb. hb + S b = m) -> (exists u v. a + m * u = b + m * v) -> a = b
intro mintro aintro bintro haintro hbintro habcases habcases hab_witnesshave hda : a + m * x = m * x + aapply add_commhave hdb : a + m * x = m * x1 + btrans b + m * x1exact hab_witness_witnessapply add_commspecialize division_remainder_unique mspecialize division_remainder_unique (a + m * x)specialize division_remainder_unique xspecialize division_remainder_unique aspecialize division_remainder_unique x1specialize division_remainder_unique bhave huniq : x = x1 /\ a = bapply division_remainder_uniqueexact hdaexact haexact hdbexact hbcases huniqexact huniq_right
mod_eq_to_remainder_decomposition · unchanged support, not a new admission
forall m b x. ~(m = 0) -> (exists h. h + S x = m) -> (exists u v. b + m * u = x + m * v) -> exists q. b = q * m + x
intro mintro bintro xintro hmintro hxintro hbxhave hdiv : exists q r. b = m * q + r /\ exists h. h + S r = mspecialize division_remainder_exists mspecialize division_remainder_exists bapply division_remainder_existsexact hmcases hdivcases hdiv_witnesscases hdiv_witness_witnesshave hremb : exists u v. x2 + m * u = b + m * vexists x1exists 0trans m * x1 + x2apply add_commtrans bsymmexact hdiv_witness_witness_leftsymmrewrite PA5apply PA3have hremx : exists u v. x2 + m * u = x + m * vspecialize mod_eq_trans mspecialize mod_eq_trans x2specialize mod_eq_trans bspecialize mod_eq_trans xapply mod_eq_transexact hrembexact hbxhave hrx : x2 = xspecialize mod_eq_bounded_unique mspecialize mod_eq_bounded_unique x2specialize mod_eq_bounded_unique xapply mod_eq_bounded_uniqueexact hdiv_witness_witness_rightexact hxexact hremxexists x1trans m * x1 + x2exact hdiv_witness_witness_lefttrans x1 * m + x2congrapply mul_commreflcongrreflexact hrx
beta_modulus_nonzero · unchanged support, not a new admission
forall c i. ~(S ((S i) * c) = 0)
intro cintro ispecialize succ_ne_zero ((S i) * c)exact succ_ne_zero
beta_at_self_of_bound · unchanged support, not a new admission
forall c i x. (exists h. h + S x = S ((S i) * c)) -> ((exists h. h + S x = S ((S i) * c)) /\ exists q. x = q * S ((S i) * c) + x)
intro cintro iintro xintro hxsplitexact hxexists 0specialize mul_zero_left (S ((S i) * c))rewrite mul_zero_leftspecialize zero_add xrewrite zero_addrefl
beta_at_exists · unchanged support, not a new admission
forall b c i. exists x. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x)
intro bintro cintro ihave hm0 : ~(S ((S i) * c) = 0)specialize beta_modulus_nonzero cspecialize beta_modulus_nonzero iexact beta_modulus_nonzerospecialize division_remainder_exists (S ((S i) * c))specialize division_remainder_exists bhave hdiv : exists q r. b = S ((S i) * c) * q + r /\ exists h. h + S r = S ((S i) * c)apply division_remainder_existsexact hm0cases hdivcases hdiv_witnesscases hdiv_witness_witnessexists x1splitexact hdiv_witness_witness_rightexists xtrans S ((S i) * c) * x + x1exact hdiv_witness_witness_leftcongrapply mul_commrefl
beta_at_unique · unchanged support, not a new admission
forall b c i x y. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) -> ((exists h. h + S y = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + y) -> x = y
intro bintro cintro iintro xintro yintro hxintro hycases hxcases hycases hx_rightcases hy_righthave hdx : b = S ((S i) * c) * x1 + xtrans x1 * S ((S i) * c) + xexact hx_right_witnesscongrapply mul_commreflhave hdy : b = S ((S i) * c) * x2 + ytrans x2 * S ((S i) * c) + yexact hy_right_witnesscongrapply mul_commreflspecialize division_remainder_unique (S ((S i) * c))specialize division_remainder_unique bspecialize division_remainder_unique x1specialize division_remainder_unique xspecialize division_remainder_unique x2specialize division_remainder_unique yhave huniq : x1 = x2 /\ x = yapply division_remainder_uniqueexact hdxexact hx_leftexact hdyexact hy_leftcases huniqexact huniq_right
beta_at_of_mod_eq_bound · unchanged support, not a new admission
forall b c i x. (exists h. h + S x = S ((S i) * c)) -> (exists u v. b + S ((S i) * c) * u = x + S ((S i) * c) * v) -> ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x)
intro bintro cintro iintro xintro hxintro hmodsplitexact hxspecialize mod_eq_to_remainder_decomposition (S ((S i) * c))specialize mod_eq_to_remainder_decomposition bspecialize mod_eq_to_remainder_decomposition xapply mod_eq_to_remainder_decompositionspecialize beta_modulus_nonzero cspecialize beta_modulus_nonzero iexact beta_modulus_nonzeroexact hxexact hmod
dvd_to_mod_zero · unchanged support, not a new admission
forall m a. (exists k. a = m * k) -> exists u v. a + m * u = 0 + m * v
intro mintro aintro hcases hexists 0exists xrewrite h_witnesssimp [zero_add]
bezout_mod_left · unchanged support, not a new admission
forall m n xp yp xn yn. m * xp + n * yp = 1 + (m * xn + n * yn) -> exists u v. n * yp + m * u = (1 + n * yn) + m * v
intro mintro nintro xpintro ypintro xnintro ynintro hexists xpexists xntrans m * xp + n * ypapply add_commtrans 1 + (m * xn + n * yn)exact htrans 1 + (n * yn + m * xn)congrreflapply add_commsymmapply add_assoc
bezout_mod_right · unchanged support, not a new admission
forall m n xp yp xn yn. m * xp + n * yp = 1 + (m * xn + n * yn) -> exists u v. m * xp + n * u = (1 + m * xn) + n * v
intro mintro nintro xpintro ypintro xnintro ynintro hexists ypexists yntrans 1 + (m * xn + n * yn)exact hsymmapply add_assoc
mod_eq_predecessor_cancel · unchanged support, not a new admission
forall k a z. exists u v. ((a + z) + k * z) + S k * u = a + S k * v
intro kintro aintro zexists 0exists zrewrite PA5rewrite PA3specialize mul_succ_left kspecialize mul_succ_left zrewrite mul_succ_lefttrans a + (z + k * z)apply add_assoccongrreflapply add_comm
binary_crt · unchanged support, not a new admission
forall m n a b. ~(m = 0) -> ~(n = 0) -> (forall d. (exists u. m = d * u) -> (exists v. n = d * v) -> d = 1) -> exists x. (exists u v. x + m * u = a + m * v) /\ (exists r s. x + n * r = b + n * s)
intro mintro nintro aintro bintro hmintro hnintro hcophave hms : exists k. m = S kspecialize nonzero_is_succ mapply nonzero_is_succexact hmhave hns : exists k. n = S kspecialize nonzero_is_succ napply nonzero_is_succexact hnhave hbez : exists xp yp xn yn. m * xp + n * yp = 1 + (m * xn + n * yn)specialize coprime_balanced_bezout mspecialize coprime_balanced_bezout napply coprime_balanced_bezoutexact hcopcases hmscases hnscases hbezcases hbez_witnesscases hbez_witness_witnesscases hbez_witness_witness_witnesshave hbl : exists u v. n * x3 + m * u = (1 + n * x5) + m * vspecialize bezout_mod_left mspecialize bezout_mod_left nspecialize bezout_mod_left x2specialize bezout_mod_left x3specialize bezout_mod_left x4specialize bezout_mod_left x5apply bezout_mod_leftexact hbez_witness_witness_witness_witnesshave hbr : exists u v. m * x2 + n * u = (1 + m * x4) + n * vspecialize bezout_mod_right mspecialize bezout_mod_right nspecialize bezout_mod_right x2specialize bezout_mod_right x3specialize bezout_mod_right x4specialize bezout_mod_right x5apply bezout_mod_rightexact hbez_witness_witness_witness_witnesshave hal0 : exists u v. (a * (n * x3)) + m * u = (a * (1 + n * x5)) + m * vspecialize mod_eq_mul_left mspecialize mod_eq_mul_left (n * x3)specialize mod_eq_mul_left (1 + n * x5)specialize mod_eq_mul_left aapply mod_eq_mul_leftexact hblhave hal : exists u v. (a * (n * x3)) + m * u = (a + a * (n * x5)) + m * vhave haexpand : a * (1 + n * x5) = a + a * (n * x5)trans a * 1 + a * (n * x5)apply mul_addcongrapply mul_onereflrewrite <- haexpandexact hal0have hbm : exists u v. (b * (m * x2)) + m * u = 0 + m * vapply dvd_to_mod_zeroexists b * x2trans (b * m) * x2symmapply mul_assoctrans (m * b) * x2congrapply mul_commreflapply mul_assochave hym : exists u v. ((a * (n * x3)) + (b * (m * x2))) + m * u = ((a + a * (n * x5)) + 0) + m * vspecialize mod_eq_add mspecialize mod_eq_add (a * (n * x3))specialize mod_eq_add (a + a * (n * x5))specialize mod_eq_add (b * (m * x2))specialize mod_eq_add 0apply mod_eq_addexact halexact hbmhave hym_norm : exists u v. ((a * (n * x3)) + (b * (m * x2))) + m * u = (a + a * (n * x5)) + m * vhave hym_zero : (a + a * (n * x5)) + 0 = a + a * (n * x5)rewrite PA3reflrewrite <- hym_zeroexact hymhave hkm : exists u v. (x * (a * (n * x5))) + m * u = (x * (a * (n * x5))) + m * vspecialize mod_eq_refl mspecialize mod_eq_refl (x * (a * (n * x5)))apply mod_eq_reflhave hymk : exists u v. (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + m * u = ((a + a * (n * x5)) + (x * (a * (n * x5)))) + m * vspecialize mod_eq_add mspecialize mod_eq_add ((a * (n * x3)) + (b * (m * x2)))specialize mod_eq_add (a + a * (n * x5))specialize mod_eq_add (x * (a * (n * x5)))specialize mod_eq_add (x * (a * (n * x5)))apply mod_eq_addexact hym_normexact hkmhave hcancelm : exists u v. ((a + a * (n * x5)) + x * (a * (n * x5))) + S x * u = a + S x * vspecialize mod_eq_predecessor_cancel xspecialize mod_eq_predecessor_cancel aspecialize mod_eq_predecessor_cancel (a * (n * x5))apply mod_eq_predecessor_cancelrewrite <- hms_witness at hcancelmrewrite <- hms_witness at hcancelmhave hbasem : exists u v. (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + m * u = a + m * vspecialize mod_eq_trans mspecialize mod_eq_trans (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5))))specialize mod_eq_trans ((a + a * (n * x5)) + (x * (a * (n * x5))))specialize mod_eq_trans aapply mod_eq_transexact hymkexact hcancelmhave hknznm : exists u v. (x1 * (b * (m * x4))) + m * u = 0 + m * vapply dvd_to_mod_zeroexists x1 * (b * x4)trans x1 * ((b * m) * x4)congrreflsymmapply mul_assoctrans x1 * ((m * b) * x4)congrreflcongrapply mul_commrefltrans x1 * (m * (b * x4))congrreflapply mul_assoctrans (x1 * m) * (b * x4)symmapply mul_assoctrans (m * x1) * (b * x4)congrapply mul_commreflapply mul_assochave hfinalm0 : exists u v. ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4)))) + m * u = (a + 0) + m * vspecialize mod_eq_add mspecialize mod_eq_add (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5))))specialize mod_eq_add aspecialize mod_eq_add (x1 * (b * (m * x4)))specialize mod_eq_add 0apply mod_eq_addexact hbasemexact hknznmhave hazerom : exists u v. (a + 0) + m * u = a + m * vexists 0exists 0simphave hfinalm : exists u v. ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4)))) + m * u = a + m * vspecialize mod_eq_trans mspecialize mod_eq_trans ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4))))specialize mod_eq_trans (a + 0)specialize mod_eq_trans aapply mod_eq_transexact hfinalm0exact hazeromhave hbn0 : exists u v. (b * (m * x2)) + n * u = (b * (1 + m * x4)) + n * vspecialize mod_eq_mul_left nspecialize mod_eq_mul_left (m * x2)specialize mod_eq_mul_left (1 + m * x4)specialize mod_eq_mul_left bapply mod_eq_mul_leftexact hbrhave hbn : exists u v. (b * (m * x2)) + n * u = (b + b * (m * x4)) + n * vhave hbexpand : b * (1 + m * x4) = b + b * (m * x4)trans b * 1 + b * (m * x4)apply mul_addcongrapply mul_onereflrewrite <- hbexpandexact hbn0have han : exists u v. (a * (n * x3)) + n * u = 0 + n * vapply dvd_to_mod_zeroexists a * x3trans (a * n) * x3symmapply mul_assoctrans (n * a) * x3congrapply mul_commreflapply mul_assochave hyn0 : exists u v. ((a * (n * x3)) + (b * (m * x2))) + n * u = (0 + (b + b * (m * x4))) + n * vspecialize mod_eq_add nspecialize mod_eq_add (a * (n * x3))specialize mod_eq_add 0specialize mod_eq_add (b * (m * x2))specialize mod_eq_add (b + b * (m * x4))apply mod_eq_addexact hanexact hbnhave hyn_norm : exists u v. ((a * (n * x3)) + (b * (m * x2))) + n * u = (b + b * (m * x4)) + n * vhave hyn_zero : 0 + (b + b * (m * x4)) = b + b * (m * x4)specialize zero_add (b + b * (m * x4))exact zero_addrewrite <- hyn_zeroexact hyn0have hkmz : exists u v. (x * (a * (n * x5))) + n * u = 0 + n * vapply dvd_to_mod_zeroexists x * (a * x5)trans x * ((a * n) * x5)congrreflsymmapply mul_assoctrans x * ((n * a) * x5)congrreflcongrapply mul_commrefltrans x * (n * (a * x5))congrreflapply mul_assoctrans (x * n) * (a * x5)symmapply mul_assoctrans (n * x) * (a * x5)congrapply mul_commreflapply mul_assochave hyn1 : exists u v. (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + n * u = ((b + b * (m * x4)) + 0) + n * vspecialize mod_eq_add nspecialize mod_eq_add ((a * (n * x3)) + (b * (m * x2)))specialize mod_eq_add (b + b * (m * x4))specialize mod_eq_add (x * (a * (n * x5)))specialize mod_eq_add 0apply mod_eq_addexact hyn_normexact hkmzhave hyn1_norm : exists u v. (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + n * u = (b + b * (m * x4)) + n * vhave hyn1_zero : (b + b * (m * x4)) + 0 = b + b * (m * x4)rewrite PA3reflrewrite <- hyn1_zeroexact hyn1have hkn : exists u v. (x1 * (b * (m * x4))) + n * u = (x1 * (b * (m * x4))) + n * vspecialize mod_eq_refl nspecialize mod_eq_refl (x1 * (b * (m * x4)))apply mod_eq_reflhave hynk : exists u v. ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4)))) + n * u = ((b + b * (m * x4)) + (x1 * (b * (m * x4)))) + n * vspecialize mod_eq_add nspecialize mod_eq_add (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5))))specialize mod_eq_add (b + b * (m * x4))specialize mod_eq_add (x1 * (b * (m * x4)))specialize mod_eq_add (x1 * (b * (m * x4)))apply mod_eq_addexact hyn1_normexact hknhave hcanceln : exists u v. ((b + b * (m * x4)) + x1 * (b * (m * x4))) + S x1 * u = b + S x1 * vspecialize mod_eq_predecessor_cancel x1specialize mod_eq_predecessor_cancel bspecialize mod_eq_predecessor_cancel (b * (m * x4))apply mod_eq_predecessor_cancelrewrite <- hns_witness at hcancelnrewrite <- hns_witness at hcancelnhave hfinaln : exists u v. ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4)))) + n * u = b + n * vspecialize mod_eq_trans nspecialize mod_eq_trans ((((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4))))specialize mod_eq_trans ((b + b * (m * x4)) + (x1 * (b * (m * x4))))specialize mod_eq_trans bapply mod_eq_transexact hynkexact hcancelnexists (((a * (n * x3)) + (b * (m * x2))) + (x * (a * (n * x5)))) + (x1 * (b * (m * x4)))splitexact hfinalmexact hfinaln
beta_modulus_coprime_base · unchanged support, not a new admission
forall c k d. (exists u. S (k * c) = d * u) -> (exists v. c = d * v) -> d = 1
intro cintro kintro dintro hmintro hchave hstep : S (k * c) = c * k + 1simp [mul_comm]have h1 : exists w. 1 = d * wspecialize divides_remainder dspecialize divides_remainder (S (k * c))specialize divides_remainder cspecialize divides_remainder kspecialize divides_remainder 1apply divides_remainderexact hmexact hcexact hstepspecialize divisor_one dapply divisor_oneexact h1
common_divisor_beta_moduli_divides_gap_times_c · unchanged support, not a new admission
forall c i j gap d. j = i + gap -> (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> exists w. gap * c = d * w
intro cintro iintro jintro gapintro dintro hijintro hmiintro hmjhave hstep : S ((S j) * c) = S ((S i) * c) * 1 + gap * crewrite hijspecialize add_succ_left ispecialize add_succ_left gaprewrite <- add_succ_leftsimp [add_mul, zero_add]symmspecialize add_succ_left_before (S i * c)specialize add_succ_left_before (gap * c)exact add_succ_left_beforespecialize divides_remainder dspecialize divides_remainder (S ((S j) * c))specialize divides_remainder (S ((S i) * c))specialize divides_remainder 1specialize divides_remainder (gap * c)apply divides_remainderexact hmjexact hmiexact hstep
beta_moduli_coprime_of_gap_dvd · unchanged support, not a new admission
forall c i j gap. j = i + gap -> (exists k. c = gap * k) -> forall d. (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1
intro cintro iintro jintro gapintro hijintro hgapcintro dintro hmiintro hmjhave hcopdc : forall e. (exists u. d = e * u) -> (exists v. c = e * v) -> e = 1intro eintro hedintro hechave hmei : exists u. S ((S i) * c) = e * uspecialize multiple_trans dspecialize multiple_trans especialize multiple_trans (S ((S i) * c))apply multiple_transexact hmiexact hedspecialize beta_modulus_coprime_base cspecialize beta_modulus_coprime_base (S i)specialize beta_modulus_coprime_base eapply beta_modulus_coprime_baseexact hmeiexact hechave hgapprod : exists w. gap * c = d * wspecialize common_divisor_beta_moduli_divides_gap_times_c cspecialize common_divisor_beta_moduli_divides_gap_times_c ispecialize common_divisor_beta_moduli_divides_gap_times_c jspecialize common_divisor_beta_moduli_divides_gap_times_c gapspecialize common_divisor_beta_moduli_divides_gap_times_c dapply common_divisor_beta_moduli_divides_gap_times_cexact hijexact hmiexact hmjcases hgapprodhave hdivgap : exists w. gap = d * wspecialize gauss_coprime_cancel dspecialize gauss_coprime_cancel cspecialize gauss_coprime_cancel gapapply gauss_coprime_cancelexact hcopdcexists xtrans gap * capply mul_commexact hgapprod_witnesshave hdc : exists w. c = d * wspecialize multiple_trans gapspecialize multiple_trans dspecialize multiple_trans capply multiple_transexact hgapcexact hdivgapspecialize hcopdc dapply hcopdcspecialize multiple_refl dexact multiple_reflexact hdc
bounded_common_multiple_step · unchanged support, not a new admission
forall B c. ~(c = 0) -> (forall t. (exists h. S t + S h = S B) -> exists k. c = S t * k) -> exists c2. (~(c2 = 0) /\ forall t. (exists h. S t + S h = S (S B)) -> exists k. c2 = S t * k)
intro Bintro cintro hcintro hallexists c * S Bsplithave hSB : ~(S B = 0)specialize succ_ne_zero Bexact succ_ne_zerohave hprod : ~(c * S B = 0)intro hzerohave hz : c = 0 \/ S B = 0specialize mul_eq_zero cspecialize mul_eq_zero (S B)apply mul_eq_zeroexact hzerocases hzapply hcexact hz_leftapply hSBexact hz_rightexact hprodintro tintro htcases htspecialize zero_or_succ xcases zero_or_succrewrite zero_or_succ_left at ht_witnesshave hteq : S t = S Brewrite PA4 at ht_witnessrewrite PA3 at ht_witnessapply PA2exact ht_witnessexists crewrite hteqapply mul_commcases zero_or_succ_righthave hprev : exists h. S t + S h = S Bexists x1rewrite zero_or_succ_right_witness at ht_witnessrewrite PA4 at ht_witnessapply PA2exact ht_witnesshave hdivc : exists k. c = S t * kspecialize hall tapply hallexact hprevspecialize multiple_mul_right (S t)specialize multiple_mul_right cspecialize multiple_mul_right (S B)apply multiple_mul_rightexact hdivc
bounded_common_multiple_exists · unchanged support, not a new admission
forall B. exists c. (~(c = 0) /\ forall t. (exists h. S t + S h = S B) -> exists k. c = S t * k)
intro Binduction Bexists 1splitspecialize succ_ne_zero 0exact succ_ne_zerointro tintro htcases htexfalsohave hz : S t + x = 0rewrite PA4 at ht_witnessapply PA2exact ht_witnesshave hst0 : S t = 0specialize add_eq_zero_left (S t)specialize add_eq_zero_left xapply add_eq_zero_leftexact hzspecialize succ_ne_zero tapply succ_ne_zeroexact hst0cases IHcases IH_witnessspecialize bounded_common_multiple_step Bspecialize bounded_common_multiple_step xapply bounded_common_multiple_stepexact IH_witness_leftexact IH_witness_right
beta_moduli_coprime_of_lt_bounded_common_multiple · unchanged support, not a new admission
forall B c i j. (forall t. (exists h. S t + S h = S B) -> exists k. c = S t * k) -> (exists g. g + S i = j) -> (exists h. h + j = B) -> forall d. (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1
intro Bintro cintro iintro jintro hcmintro hltintro hjBintro dintro hdiintro hdjcases hlthave hij : j = i + S xsymmtrans x + S isimp [add_comm]exact hlt_witnesshave hgaple : exists r. r + S x = Bspecialize le_trans (S x)specialize le_trans jspecialize le_trans Bapply le_transexists isymmexact hijexact hjBcases hgaplehave hgapbound : exists h. S x + S h = S Bexists x1rewrite PA4congrtrans x1 + S xapply add_commexact hgaple_witnesshave hgapdvd : exists k. c = S x * kspecialize hcm xapply hcmexact hgapboundhave hcop : forall e. (exists u. S ((S i) * c) = e * u) -> (exists v. S ((S j) * c) = e * v) -> e = 1specialize beta_moduli_coprime_of_gap_dvd cspecialize beta_moduli_coprime_of_gap_dvd ispecialize beta_moduli_coprime_of_gap_dvd jspecialize beta_moduli_coprime_of_gap_dvd (S x)apply beta_moduli_coprime_of_gap_dvdexact hijexact hgapdvdspecialize hcop dapply hcopexact hdiexact hdj
beta_moduli_pairwise_coprime_bounded · unchanged support, not a new admission
forall B c. (forall t. (exists h. S t + S h = S B) -> exists k. c = S t * k) -> forall i j. ~(i = j) -> (exists hi. hi + i = B) -> (exists hj. hj + j = B) -> forall d. (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1
intro Bintro cintro hcmintro iintro jintro hneintro hiBintro hjBintro dintro hdiintro hdjspecialize lt_trichotomy ispecialize lt_trichotomy jcases lt_trichotomyexfalsoapply hneexact lt_trichotomy_leftcases lt_trichotomy_righthave hcopij : forall e. (exists u. S ((S i) * c) = e * u) -> (exists v. S ((S j) * c) = e * v) -> e = 1specialize beta_moduli_coprime_of_lt_bounded_common_multiple Bspecialize beta_moduli_coprime_of_lt_bounded_common_multiple cspecialize beta_moduli_coprime_of_lt_bounded_common_multiple ispecialize beta_moduli_coprime_of_lt_bounded_common_multiple japply beta_moduli_coprime_of_lt_bounded_common_multipleexact hcmexact lt_trichotomy_right_leftexact hjBspecialize hcopij dapply hcopijexact hdiexact hdjhave hcopji : forall e. (exists u. S ((S j) * c) = e * u) -> (exists v. S ((S i) * c) = e * v) -> e = 1specialize beta_moduli_coprime_of_lt_bounded_common_multiple Bspecialize beta_moduli_coprime_of_lt_bounded_common_multiple cspecialize beta_moduli_coprime_of_lt_bounded_common_multiple jspecialize beta_moduli_coprime_of_lt_bounded_common_multiple iapply beta_moduli_coprime_of_lt_bounded_common_multipleexact hcmexact lt_trichotomy_right_rightexact hiBspecialize hcopji dapply hcopjiexact hdjexact hdi
coprime_mul_left · unchanged support, not a new admission
forall a b n. (forall d. (exists x. a = d * x) -> (exists y. n = d * y) -> d = 1) -> (forall d. (exists x. b = d * x) -> (exists y. n = d * y) -> d = 1) -> forall d. (exists x. a * b = d * x) -> (exists y. n = d * y) -> d = 1
intro aintro bintro nintro hanintro hbnintro dintro habintro hdnhave hda : forall e. (exists u. d = e * u) -> (exists v. a = e * v) -> e = 1intro eintro hedintro heahave hen : exists q. n = e * qspecialize multiple_trans dspecialize multiple_trans especialize multiple_trans napply multiple_transexact hdnexact hedspecialize han eapply hanexact heaexact henhave hdb : exists w. b = d * wspecialize gauss_coprime_cancel dspecialize gauss_coprime_cancel aspecialize gauss_coprime_cancel bapply gauss_coprime_cancelexact hdaexact habspecialize hbn dapply hbnexact hdbexact hdn
mod_eq_of_mod_eq_multiple · unchanged support, not a new admission
forall m P x a. (exists k. P = m * k) -> (exists u v. x + P * u = a + P * v) -> exists r s. x + m * r = a + m * s
intro mintro Pintro xintro aintro hdivintro hmodcases hdivcases hmodcases hmod_witnessrewrite hdiv_witness at hmod_witness_witnessrewrite hdiv_witness at hmod_witness_witnessexists x1 * x2exists x1 * x3trans x + (m * x1) * x2congrreflsymmapply mul_assoctrans a + (m * x1) * x3exact hmod_witness_witnesscongrreflapply mul_assoc
binary_crt_fold_step · unchanged support, not a new admission
forall P n x b. ~(P = 0) -> ~(n = 0) -> (forall d. (exists u. P = d * u) -> (exists v. n = d * v) -> d = 1) -> exists z. ((forall m a. (exists k. P = m * k) -> (exists u v. x + m * u = a + m * v) -> exists r s. z + m * r = a + m * s) /\ exists q r. z + n * q = b + n * r)
intro Pintro nintro xintro bintro hPintro hnintro hcophave hcrt : exists z. (exists u v. z + P * u = x + P * v) /\ (exists q r. z + n * q = b + n * r)specialize binary_crt Pspecialize binary_crt nspecialize binary_crt xspecialize binary_crt bapply binary_crtexact hPexact hnexact hcopcases hcrtcases hcrt_witnessexists x1splitintro mintro aintro hmPintro hxahave hzx : exists u v. x1 + m * u = x + m * vspecialize mod_eq_of_mod_eq_multiple mspecialize mod_eq_of_mod_eq_multiple Pspecialize mod_eq_of_mod_eq_multiple x1specialize mod_eq_of_mod_eq_multiple xapply mod_eq_of_mod_eq_multipleexact hmPexact hcrt_witness_leftspecialize mod_eq_trans mspecialize mod_eq_trans x1specialize mod_eq_trans xspecialize mod_eq_trans aapply mod_eq_transexact hzxexact hxaexact hcrt_witness_right
right_factor_divides_product · unchanged support, not a new admission
forall a b. exists k. a * b = b * k
intro aintro bexists aapply mul_comm
beta_value_le_code · unchanged support, not a new admission
forall b c i x. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) -> exists h. h + x = b
intro bintro cintro iintro xintro hatcases hatcases hat_rightexists x1 * S ((S i) * c)symmexact hat_right_witness
base_le_beta_modulus · unchanged support, not a new admission
forall c i. exists h. h + c = S ((S i) * c)
intro cintro ihave hproduct : exists h. h + c = S i * cspecialize mul_succ_left ispecialize mul_succ_left crewrite mul_succ_leftspecialize le_add_left cspecialize le_add_left (i * c)exact le_add_leftspecialize le_succ cspecialize le_succ (S i * c)apply le_succexact hproduct
le_scaled_nonzero · unchanged support, not a new admission
forall C B. ~(C = 0) -> exists h. h + B = C * B
intro Cintro Bintro hChave h1C : exists h. h + 1 = Cspecialize one_le_of_ne_zero Capply one_le_of_ne_zeroexact hChave hscaled : exists h. h + 1 * B = C * Bspecialize mul_le_mul_right 1specialize mul_le_mul_right Cspecialize mul_le_mul_right Bapply mul_le_mul_rightexact h1Cspecialize one_mul Brewrite one_mul at hscaledexact hscaled
scaled_bounded_common_multiple · unchanged support, not a new admission
forall N C B. (forall t. (exists h. S t + S h = S N) -> exists q. C = S t * q) -> forall t. (exists h. S t + S h = S N) -> exists q. C * B = S t * q
intro Nintro Cintro Bintro hcmintro tintro hthave htC : exists q. C = S t * qspecialize hcm tapply hcmexact htspecialize multiple_mul_right (S t)specialize multiple_mul_right Cspecialize multiple_mul_right Bapply multiple_mul_rightexact htC
beta_value_lt_scaled_base · unchanged support, not a new admission
forall b c i x C s j. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) -> ~(C = 0) -> exists h. h + S x = S ((S j) * (C * S (b + s)))
intro bintro cintro iintro xintro Cintro sintro jintro hatintro hChave hxb : exists h. h + x = bspecialize beta_value_le_code bspecialize beta_value_le_code cspecialize beta_value_le_code ispecialize beta_value_le_code xapply beta_value_le_codeexact hathave hbs : exists h. h + b = b + sspecialize le_add_right bspecialize le_add_right sexact le_add_righthave hxs : exists h. h + x = b + sspecialize le_trans xspecialize le_trans bspecialize le_trans (b + s)apply le_transexact hxbexact hbshave hsx : exists h. h + S x = S (b + s)specialize succ_le_succ xspecialize succ_le_succ (b + s)apply succ_le_succexact hxshave hscale : exists h. h + S (b + s) = C * S (b + s)specialize le_scaled_nonzero Cspecialize le_scaled_nonzero (S (b + s))apply le_scaled_nonzeroexact hChave hxbase : exists h. h + S x = C * S (b + s)specialize le_trans (S x)specialize le_trans (S (b + s))specialize le_trans (C * S (b + s))apply le_transexact hsxexact hscalehave hmod : exists h. h + C * S (b + s) = S ((S j) * (C * S (b + s)))specialize base_le_beta_modulus (C * S (b + s))specialize base_le_beta_modulus jexact base_le_beta_modulusspecialize le_trans (S x)specialize le_trans (C * S (b + s))specialize le_trans (S ((S j) * (C * S (b + s))))apply le_transexact hxbaseexact hmod
new_value_lt_scaled_base · unchanged support, not a new admission
forall b s C j. ~(C = 0) -> exists h. h + S s = S ((S j) * (C * S (b + s)))
intro bintro sintro Cintro jintro hChave hsb : exists h. h + s = b + sspecialize le_add_left sspecialize le_add_left bexact le_add_lefthave hss : exists h. h + S s = S (b + s)specialize succ_le_succ sspecialize succ_le_succ (b + s)apply succ_le_succexact hsbhave hscale : exists h. h + S (b + s) = C * S (b + s)specialize le_scaled_nonzero Cspecialize le_scaled_nonzero (S (b + s))apply le_scaled_nonzeroexact hChave hsbase : exists h. h + S s = C * S (b + s)specialize le_trans (S s)specialize le_trans (S (b + s))specialize le_trans (C * S (b + s))apply le_transexact hssexact hscalehave hmod : exists h. h + C * S (b + s) = S ((S j) * (C * S (b + s)))specialize base_le_beta_modulus (C * S (b + s))specialize base_le_beta_modulus jexact base_le_beta_modulusspecialize le_trans (S s)specialize le_trans (C * S (b + s))specialize le_trans (S ((S j) * (C * S (b + s))))apply le_transexact hsbaseexact hmod
beta_exclusive_accumulated_product_step · unchanged support, not a new admission
forall N c k P. (forall t. (exists h. S t + S h = S N) -> exists q. c = S t * q) -> (exists h. h + S k = N) -> ~(P = 0) -> (forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) -> (forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1) -> (~(P * S ((S k) * c) = 0) /\ ((forall i. (exists h. h + S i = S k) -> exists q. P * S ((S k) * c) = S ((S i) * c) * q) /\ forall j. (exists g. g + S k = j) -> (exists h. h + j = N) -> forall d. (exists u. P * S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1))
intro Nintro cintro kintro Pintro hcmintro hkNintro hPintro hdivintro hfuturehave hnew : ~(S ((S k) * c) = 0)specialize beta_modulus_nonzero cspecialize beta_modulus_nonzero kexact beta_modulus_nonzerosplitspecialize mul_ne_zero Pspecialize mul_ne_zero (S ((S k) * c))intro hzeroapply mul_ne_zeroexact hPexact hnewexact hzerosplitintro iintro hihave hik : exists r. r + i = kspecialize le_of_succ_le_succ ispecialize le_of_succ_le_succ kapply le_of_succ_le_succexact hihave hsplit : i = k \/ exists r. r + S i = kspecialize le_eq_or_lt ispecialize le_eq_or_lt kapply le_eq_or_ltexact hikcases hsplitrewrite hsplit_leftspecialize right_factor_divides_product Pspecialize right_factor_divides_product (S ((S k) * c))exact right_factor_divides_producthave hiP : exists q. P = S ((S i) * c) * qspecialize hdiv iapply hdivexact hsplit_rightspecialize multiple_mul_right (S ((S i) * c))specialize multiple_mul_right Pspecialize multiple_mul_right (S ((S k) * c))apply multiple_mul_rightexact hiPintro jintro hSkjintro hjNhave hkj : exists r. r + k = jhave hkSk : exists r. r + k = S kspecialize le_succ_self kexact le_succ_selfspecialize le_trans kspecialize le_trans (S k)specialize le_trans japply le_transexact hkSkexact hSkjhave hPj : forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1specialize hfuture japply hfutureexact hkjexact hjNhave hneq : ~(k = j)intro heqrewrite <- heq at hSkjspecialize lt_irrefl_expanded kapply lt_irrefl_expandedexact hSkjhave hkbound : exists r. r + k = Nspecialize lt_to_le kspecialize lt_to_le Napply lt_to_leexact hkNhave hpairs : forall i j. ~(i = j) -> (exists hi. hi + i = N) -> (exists hj. hj + j = N) -> forall d. (exists u. S ((S i) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1specialize beta_moduli_pairwise_coprime_bounded Nspecialize beta_moduli_pairwise_coprime_bounded capply beta_moduli_pairwise_coprime_boundedexact hcmhave hnewj : forall d. (exists u. S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1specialize hpairs kspecialize hpairs japply hpairsexact hneqexact hkboundexact hjNspecialize coprime_mul_left Pspecialize coprime_mul_left (S ((S k) * c))specialize coprime_mul_left (S ((S j) * c))apply coprime_mul_leftexact hPjexact hnewj
beta_exclusive_recode_congruence_step · unchanged support, not a new admission
forall N c b e k P z. (exists h. h + S k = N) -> ~(P = 0) -> (forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) -> (forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v) -> (forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1) -> exists z2. forall i a. (exists h. h + S i = S k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z2 + S ((S i) * c) * u = a + S ((S i) * c) * v
intro Nintro cintro bintro eintro kintro Pintro zintro hkNintro hPintro hdivintro hcongintro hfuturehave hnew : ~(S ((S k) * c) = 0)specialize beta_modulus_nonzero cspecialize beta_modulus_nonzero kexact beta_modulus_nonzerohave hkbound : exists h. h + k = Nspecialize lt_to_le kspecialize lt_to_le Napply lt_to_leexact hkNhave hcop : forall d. (exists u. P = d * u) -> (exists v. S ((S k) * c) = d * v) -> d = 1specialize hfuture kapply hfuturespecialize le_refl kexact le_reflexact hkboundhave hvalue : exists a. ((exists h. h + S a = S ((S k) * e)) /\ exists q. b = q * S ((S k) * e) + a)specialize beta_at_exists bspecialize beta_at_exists especialize beta_at_exists kexact beta_at_existscases hvaluehave hfold : exists z2. ((forall m a. (exists q. P = m * q) -> (exists u v. z + m * u = a + m * v) -> exists r s. z2 + m * r = a + m * s) /\ exists q r. z2 + S ((S k) * c) * q = x + S ((S k) * c) * r)specialize binary_crt_fold_step Pspecialize binary_crt_fold_step (S ((S k) * c))specialize binary_crt_fold_step zspecialize binary_crt_fold_step xapply binary_crt_fold_stepexact hPexact hnewexact hcopcases hfoldcases hfold_witnessexists x1intro iintro aintro hiintro hatihave hik : exists r. r + i = kspecialize le_of_succ_le_succ ispecialize le_of_succ_le_succ kapply le_of_succ_le_succexact hihave hsplit : i = k \/ exists r. r + S i = kspecialize le_eq_or_lt ispecialize le_eq_or_lt kapply le_eq_or_ltexact hikcases hsplithave hati_new : ((exists h. h + S a = S ((S k) * e)) /\ exists q. b = q * S ((S k) * e) + a)rewrite <- hsplit_leftrewrite <- hsplit_leftexact hatihave haeq : a = xspecialize beta_at_unique bspecialize beta_at_unique especialize beta_at_unique kspecialize beta_at_unique aspecialize beta_at_unique xapply beta_at_uniqueexact hati_newexact hvalue_witnessrewrite hsplit_leftrewrite hsplit_leftrewrite haeqexact hfold_witness_righthave hmiP : exists q. P = S ((S i) * c) * qspecialize hdiv iapply hdivexact hsplit_righthave hzold : exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * vspecialize hcong ispecialize hcong aapply hcongexact hsplit_rightexact hatispecialize hfold_witness_left (S ((S i) * c))specialize hfold_witness_left aapply hfold_witness_leftexact hmiPexact hzold
beta_exclusive_recode_invariant_step · unchanged support, not a new admission
forall N c b e k P z. (forall t. (exists h. S t + S h = S N) -> exists q. c = S t * q) -> (exists h. h + S k = N) -> ~(P = 0) -> (forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) -> (forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v) -> (forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1) -> exists z2. (~(P * S ((S k) * c) = 0) /\ ((forall i. (exists h. h + S i = S k) -> exists q. P * S ((S k) * c) = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = S k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z2 + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + S k = j) -> (exists h. h + j = N) -> forall d. (exists u. P * S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1)))
intro Nintro cintro bintro eintro kintro Pintro zintro hcmintro hkNintro hPintro hdivintro hcongintro hfuturehave hproduct : (~(P * S ((S k) * c) = 0) /\ ((forall i. (exists h. h + S i = S k) -> exists q. P * S ((S k) * c) = S ((S i) * c) * q) /\ forall j. (exists g. g + S k = j) -> (exists h. h + j = N) -> forall d. (exists u. P * S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1))specialize beta_exclusive_accumulated_product_step Nspecialize beta_exclusive_accumulated_product_step cspecialize beta_exclusive_accumulated_product_step kspecialize beta_exclusive_accumulated_product_step Papply beta_exclusive_accumulated_product_stepexact hcmexact hkNexact hPexact hdivexact hfuturehave hcodes : exists z2. forall i a. (exists h. h + S i = S k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z2 + S ((S i) * c) * u = a + S ((S i) * c) * vspecialize beta_exclusive_recode_congruence_step Nspecialize beta_exclusive_recode_congruence_step cspecialize beta_exclusive_recode_congruence_step bspecialize beta_exclusive_recode_congruence_step especialize beta_exclusive_recode_congruence_step kspecialize beta_exclusive_recode_congruence_step Pspecialize beta_exclusive_recode_congruence_step zapply beta_exclusive_recode_congruence_stepexact hkNexact hPexact hdivexact hcongexact hfuturecases hcodescases hproductcases hproduct_rightexists xsplitexact hproduct_leftsplitexact hproduct_right_leftsplitexact hcodes_witnessexact hproduct_right_right
bounded_beta_exclusive_recode_invariant · unchanged support, not a new admission
forall N c b e. (forall t. (exists h. S t + S h = S N) -> exists q. c = S t * q) -> forall k. (exists h. h + k = N) -> exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1)))
intro Nintro cintro bintro eintro hcminduction kintro hkNexists 1exists 0splitspecialize succ_ne_zero 0exact succ_ne_zerosplitintro iintro hiexfalsocases hihave hsi0 : S i = 0specialize add_eq_zero_right xspecialize add_eq_zero_right (S i)apply add_eq_zero_rightexact hi_witnessspecialize succ_ne_zero iapply succ_ne_zeroexact hsi0splitintro iintro aintro hiintro hatiexfalsocases hihave hsi0 : S i = 0specialize add_eq_zero_right xspecialize add_eq_zero_right (S i)apply add_eq_zero_rightexact hi_witnessspecialize succ_ne_zero iapply succ_ne_zeroexact hsi0intro jintro h0jintro hjNintro dintro h1intro hmspecialize coprime_one_left (S ((S j) * c))specialize coprime_one_left dapply coprime_one_leftexact h1exact hmintro hkNhave hkprev : exists h. h + k = Nhave hkstep : exists h. h + k = S kspecialize le_succ_self kexact le_succ_selfspecialize le_trans kspecialize le_trans (S k)specialize le_trans Napply le_transexact hkstepexact hkNhave hprev : exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + k = j) -> (exists h. h + j = N) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1)))apply IHexact hkprevcases hprevcases hprev_witnesscases hprev_witness_witnesscases hprev_witness_witness_rightcases hprev_witness_witness_right_righthave hnext : exists z2. (~(x * S ((S k) * c) = 0) /\ ((forall i. (exists h. h + S i = S k) -> exists q. x * S ((S k) * c) = S ((S i) * c) * q) /\ ((forall i a. (exists h. h + S i = S k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z2 + S ((S i) * c) * u = a + S ((S i) * c) * v) /\ forall j. (exists g. g + S k = j) -> (exists h. h + j = N) -> forall d. (exists u. x * S ((S k) * c) = d * u) -> (exists v. S ((S j) * c) = d * v) -> d = 1)))specialize beta_exclusive_recode_invariant_step Nspecialize beta_exclusive_recode_invariant_step cspecialize beta_exclusive_recode_invariant_step bspecialize beta_exclusive_recode_invariant_step especialize beta_exclusive_recode_invariant_step kspecialize beta_exclusive_recode_invariant_step xspecialize beta_exclusive_recode_invariant_step x1apply beta_exclusive_recode_invariant_stepexact hcmexact hkNexact hprev_witness_witness_leftexact hprev_witness_witness_right_leftexact hprev_witness_witness_right_right_leftexact hprev_witness_witness_right_right_rightcases hnextexists x * S ((S k) * c)exists x2exact hnext_witness
beta_prefix_extend · unchanged support, not a new admission
forall k b e s. exists z c. (((exists h. h + S s = S ((S k) * c)) /\ exists q. z = q * S ((S k) * c) + s) /\ forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> ((exists h. h + S a = S ((S i) * c)) /\ exists q. z = q * S ((S i) * c) + a))
intro kintro bintro eintro shave hC : exists C. (~(C = 0) /\ forall t. (exists h. S t + S h = S k) -> exists q. C = S t * q)specialize bounded_common_multiple_exists kexact bounded_common_multiple_existscases hCcases hC_witnesshave hcm2 : forall t. (exists h. S t + S h = S k) -> exists q. x * S (b + s) = S t * qspecialize scaled_bounded_common_multiple kspecialize scaled_bounded_common_multiple xspecialize scaled_bounded_common_multiple (S (b + s))apply scaled_bounded_common_multipleexact hC_witness_righthave hall : forall n. (exists h. h + n = k) -> exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = n) -> exists q. P = S ((S i) * (x * S (b + s))) * q) /\ ((forall i a. (exists h. h + S i = n) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v) /\ forall j. (exists g. g + n = j) -> (exists h. h + j = k) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * (x * S (b + s))) = d * v) -> d = 1)))specialize bounded_beta_exclusive_recode_invariant kspecialize bounded_beta_exclusive_recode_invariant (x * S (b + s))specialize bounded_beta_exclusive_recode_invariant bspecialize bounded_beta_exclusive_recode_invariant eapply bounded_beta_exclusive_recode_invariantexact hcm2have hinv : exists P z. (~(P = 0) /\ ((forall i. (exists h. h + S i = k) -> exists q. P = S ((S i) * (x * S (b + s))) * q) /\ ((forall i a. (exists h. h + S i = k) -> ((exists h. h + S a = S ((S i) * e)) /\ exists q. b = q * S ((S i) * e) + a) -> exists u v. z + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * v) /\ forall j. (exists g. g + k = j) -> (exists h. h + j = k) -> forall d. (exists u. P = d * u) -> (exists v. S ((S j) * (x * S (b + s))) = d * v) -> d = 1)))specialize hall kapply hallspecialize le_refl kexact le_reflcases hinvcases hinv_witnesscases hinv_witness_witnesscases hinv_witness_witness_rightcases hinv_witness_witness_right_righthave hcop : forall d. (exists u. x1 = d * u) -> (exists v. S ((S k) * (x * S (b + s))) = d * v) -> d = 1specialize hinv_witness_witness_right_right_right kapply hinv_witness_witness_right_right_rightspecialize le_refl kexact le_reflspecialize le_refl kexact le_reflhave hnew0 : ~(S ((S k) * (x * S (b + s))) = 0)specialize beta_modulus_nonzero (x * S (b + s))specialize beta_modulus_nonzero kexact beta_modulus_nonzerohave hfold : exists z2. ((forall m a. (exists q. x1 = m * q) -> (exists u v. x2 + m * u = a + m * v) -> exists r t. z2 + m * r = a + m * t) /\ exists q r. z2 + S ((S k) * (x * S (b + s))) * q = s + S ((S k) * (x * S (b + s))) * r)specialize binary_crt_fold_step x1specialize binary_crt_fold_step (S ((S k) * (x * S (b + s))))specialize binary_crt_fold_step x2specialize binary_crt_fold_step sapply binary_crt_fold_stepexact hinv_witness_witness_leftexact hnew0exact hcopcases hfoldcases hfold_witnessexists x3exists x * S (b + s)splitspecialize beta_at_of_mod_eq_bound x3specialize beta_at_of_mod_eq_bound (x * S (b + s))specialize beta_at_of_mod_eq_bound kspecialize beta_at_of_mod_eq_bound sapply beta_at_of_mod_eq_boundspecialize new_value_lt_scaled_base bspecialize new_value_lt_scaled_base sspecialize new_value_lt_scaled_base xspecialize new_value_lt_scaled_base kapply new_value_lt_scaled_baseexact hC_witness_leftexact hfold_witness_rightintro iintro aintro hiintro hatihave hmi : exists q. x1 = S ((S i) * (x * S (b + s))) * qspecialize hinv_witness_witness_right_left iapply hinv_witness_witness_right_leftexact hihave hzold : exists u v. x2 + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * vspecialize hinv_witness_witness_right_right_left ispecialize hinv_witness_witness_right_right_left aapply hinv_witness_witness_right_right_leftexact hiexact hatihave hznew : exists u v. x3 + S ((S i) * (x * S (b + s))) * u = a + S ((S i) * (x * S (b + s))) * vspecialize hfold_witness_left (S ((S i) * (x * S (b + s))))specialize hfold_witness_left aapply hfold_witness_leftexact hmiexact hzoldspecialize beta_at_of_mod_eq_bound x3specialize beta_at_of_mod_eq_bound (x * S (b + s))specialize beta_at_of_mod_eq_bound ispecialize beta_at_of_mod_eq_bound aapply beta_at_of_mod_eq_boundspecialize beta_value_lt_scaled_base bspecialize beta_value_lt_scaled_base especialize beta_value_lt_scaled_base ispecialize beta_value_lt_scaled_base aspecialize beta_value_lt_scaled_base xspecialize beta_value_lt_scaled_base sspecialize beta_value_lt_scaled_base iapply beta_value_lt_scaled_baseexact hatiexact hC_witness_leftexact hznew
beta_repeat_empty · unchanged support, not a new admission
forall b c a l. l = 0 -> (forall ff_i_empty. (exists ff_lt_empty_bound. ff_lt_empty_bound + S ff_i_empty = l) -> (((exists ff_h_empty_decoded. ff_h_empty_decoded + S (a) = S ((S (ff_i_empty)) * c)) /\ exists ff_q_empty_decoded. b = ff_q_empty_decoded * S ((S (ff_i_empty)) * c) + (a))))
intro bintro cintro aintro lintro hlintro iintro hirewrite hl at hiexfalsocases hihave hsi : S i = 0specialize add_eq_zero_right xspecialize add_eq_zero_right (S i)apply add_eq_zero_rightexact hi_witnessspecialize succ_ne_zero iapply succ_ne_zeroexact hsi
beta_repeat_succ_extend · unchanged support, not a new admission
forall b c a l sl. sl = S l -> (forall ff_i_before. (exists ff_lt_before_bound. ff_lt_before_bound + S ff_i_before = l) -> (((exists ff_h_before_decoded. ff_h_before_decoded + S (a) = S ((S (ff_i_before)) * c)) /\ exists ff_q_before_decoded. b = ff_q_before_decoded * S ((S (ff_i_before)) * c) + (a)))) -> exists z d. (forall ff_i_after. (exists ff_lt_after_bound. ff_lt_after_bound + S ff_i_after = sl) -> (((exists ff_h_after_decoded. ff_h_after_decoded + S (a) = S ((S (ff_i_after)) * d)) /\ exists ff_q_after_decoded. z = ff_q_after_decoded * S ((S (ff_i_after)) * d) + (a))))
intro bintro cintro aintro lintro slintro hslintro hrepeatspecialize beta_prefix_extend lspecialize beta_prefix_extend bspecialize beta_prefix_extend cspecialize beta_prefix_extend acases beta_prefix_extendcases beta_prefix_extend_witnesscases beta_prefix_extend_witness_witnessexists xexists x1intro iintro hirewrite hsl at hihave hil : exists h. h + i = lspecialize le_of_succ_le_succ ispecialize le_of_succ_le_succ lapply le_of_succ_le_succexact hihave hsplit : i = l \/ exists h. h + S i = lspecialize le_eq_or_lt ispecialize le_eq_or_lt lapply le_eq_or_ltexact hilcases hsplitrewrite hsplit_leftrewrite hsplit_leftexact beta_prefix_extend_witness_witness_leftspecialize beta_prefix_extend_witness_witness_right ispecialize beta_prefix_extend_witness_witness_right aapply beta_prefix_extend_witness_witness_rightexact hsplit_rightspecialize hrepeat iapply hrepeatexact hsplit_right
beta_repeat_exists · unchanged support, not a new admission
forall a l. exists b c. (forall ff_i_r. (exists ff_lt_r_bound. ff_lt_r_bound + S ff_i_r = l) -> (((exists ff_h_r_decoded. ff_h_r_decoded + S (a) = S ((S (ff_i_r)) * c)) /\ exists ff_q_r_decoded. b = ff_q_r_decoded * S ((S (ff_i_r)) * c) + (a))))
intro ainduction lexists 0exists 0specialize beta_repeat_empty 0specialize beta_repeat_empty 0specialize beta_repeat_empty aspecialize beta_repeat_empty 0apply beta_repeat_emptyreflcases IHcases IH_witnessspecialize beta_repeat_succ_extend xspecialize beta_repeat_succ_extend x1specialize beta_repeat_succ_extend aspecialize beta_repeat_succ_extend lspecialize beta_repeat_succ_extend (S l)apply beta_repeat_succ_extendreflexact IH_witness_witness
beta_repeat_entry_eq · unchanged support, not a new admission
forall b c a l i x. (forall ff_i_entry. (exists ff_lt_entry_bound. ff_lt_entry_bound + S ff_i_entry = l) -> (((exists ff_h_entry_decoded. ff_h_entry_decoded + S (a) = S ((S (ff_i_entry)) * c)) /\ exists ff_q_entry_decoded. b = ff_q_entry_decoded * S ((S (ff_i_entry)) * c) + (a)))) -> (exists h. h + S i = l) -> (((exists ff_h_entry_x. ff_h_entry_x + S (x) = S ((S (i)) * c)) /\ exists ff_q_entry_x. b = ff_q_entry_x * S ((S (i)) * c) + (x))) -> x = a
intro bintro cintro aintro lintro iintro xintro hrepeatintro hiintro hxhave ha : ((exists h. h + S a = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + a)specialize hrepeat iapply hrepeatexact hispecialize beta_at_unique bspecialize beta_at_unique cspecialize beta_at_unique ispecialize beta_at_unique xspecialize beta_at_unique aapply beta_at_uniqueexact hxexact ha
beta_prefix_sum_trace_exists · unchanged support, not a new admission
forall b c l. exists fs_u_trace fs_v_trace. ((((exists fs_h_trace_start. fs_h_trace_start + S (0) = S ((S (0)) * fs_v_trace)) /\ exists fs_q_trace_start. fs_u_trace = fs_q_trace_start * S ((S (0)) * fs_v_trace) + (0))) /\ forall fs_i_trace_steps. (exists fs_lt_trace_steps_bound. fs_lt_trace_steps_bound + S fs_i_trace_steps = l) -> exists fs_a_trace_steps fs_r_trace_steps fs_s_trace_steps. ((((exists fs_h_trace_steps_summand. fs_h_trace_steps_summand + S (fs_a_trace_steps) = S ((S (fs_i_trace_steps)) * c)) /\ exists fs_q_trace_steps_summand. b = fs_q_trace_steps_summand * S ((S (fs_i_trace_steps)) * c) + (fs_a_trace_steps))) /\ ((((exists fs_h_trace_steps_partial. fs_h_trace_steps_partial + S (fs_r_trace_steps) = S ((S (fs_i_trace_steps)) * fs_v_trace)) /\ exists fs_q_trace_steps_partial. fs_u_trace = fs_q_trace_steps_partial * S ((S (fs_i_trace_steps)) * fs_v_trace) + (fs_r_trace_steps))) /\ ((((exists fs_h_trace_steps_successor. fs_h_trace_steps_successor + S (fs_s_trace_steps) = S ((S (S fs_i_trace_steps)) * fs_v_trace)) /\ exists fs_q_trace_steps_successor. fs_u_trace = fs_q_trace_steps_successor * S ((S (S fs_i_trace_steps)) * fs_v_trace) + (fs_s_trace_steps))) /\ fs_s_trace_steps = fs_r_trace_steps + fs_a_trace_steps))))
intro bintro cinduction lexists 0exists 1splitspecialize beta_at_self_of_bound 1specialize beta_at_self_of_bound 0specialize beta_at_self_of_bound 0apply beta_at_self_of_boundspecialize one_mul 1rewrite one_mulspecialize succ_le_succ 0specialize succ_le_succ (S 0)apply succ_le_succspecialize zero_le (S 0)exact zero_leintro iintro hiexfalsocases hihave hsi0 : S i = 0specialize add_eq_zero_right xspecialize add_eq_zero_right (S i)apply add_eq_zero_rightexact hi_witnessspecialize succ_ne_zero iapply succ_ne_zeroexact hsi0have htrace : exists fs_u_induction fs_v_induction. ((((exists fs_h_induction_start. fs_h_induction_start + S (0) = S ((S (0)) * fs_v_induction)) /\ exists fs_q_induction_start. fs_u_induction = fs_q_induction_start * S ((S (0)) * fs_v_induction) + (0))) /\ forall fs_i_induction_steps. (exists fs_lt_induction_steps_bound. fs_lt_induction_steps_bound + S fs_i_induction_steps = l) -> exists fs_a_induction_steps fs_r_induction_steps fs_s_induction_steps. ((((exists fs_h_induction_steps_summand. fs_h_induction_steps_summand + S (fs_a_induction_steps) = S ((S (fs_i_induction_steps)) * c)) /\ exists fs_q_induction_steps_summand. b = fs_q_induction_steps_summand * S ((S (fs_i_induction_steps)) * c) + (fs_a_induction_steps))) /\ ((((exists fs_h_induction_steps_partial. fs_h_induction_steps_partial + S (fs_r_induction_steps) = S ((S (fs_i_induction_steps)) * fs_v_induction)) /\ exists fs_q_induction_steps_partial. fs_u_induction = fs_q_induction_steps_partial * S ((S (fs_i_induction_steps)) * fs_v_induction) + (fs_r_induction_steps))) /\ ((((exists fs_h_induction_steps_successor. fs_h_induction_steps_successor + S (fs_s_induction_steps) = S ((S (S fs_i_induction_steps)) * fs_v_induction)) /\ exists fs_q_induction_steps_successor. fs_u_induction = fs_q_induction_steps_successor * S ((S (S fs_i_induction_steps)) * fs_v_induction) + (fs_s_induction_steps))) /\ fs_s_induction_steps = fs_r_induction_steps + fs_a_induction_steps))))apply IHcases htracecases htrace_witnesscases htrace_witness_witnesshave hfactor : exists p. ((exists fs_h_trace_factor. fs_h_trace_factor + S (p) = S ((S (l)) * c)) /\ exists fs_q_trace_factor. b = fs_q_trace_factor * S ((S (l)) * c) + (p))specialize beta_at_exists bspecialize beta_at_exists cspecialize beta_at_exists lexact beta_at_existscases hfactorhave hlast : exists r. ((exists fs_h_trace_last. fs_h_trace_last + S (r) = S ((S (l)) * x1)) /\ exists fs_q_trace_last. x = fs_q_trace_last * S ((S (l)) * x1) + (r))specialize beta_at_exists xspecialize beta_at_exists x1specialize beta_at_exists lexact beta_at_existscases hlasthave hext : exists z v. ((((exists fs_h_trace_extension. fs_h_trace_extension + S (x3 + x2) = S ((S (S l)) * v)) /\ exists fs_q_trace_extension. z = fs_q_trace_extension * S ((S (S l)) * v) + (x3 + x2))) /\ forall i a. (exists h. h + S i = S l) -> (((exists fs_h_trace_old. fs_h_trace_old + S (a) = S ((S (i)) * x1)) /\ exists fs_q_trace_old. x = fs_q_trace_old * S ((S (i)) * x1) + (a))) -> (((exists fs_h_trace_new. fs_h_trace_new + S (a) = S ((S (i)) * v)) /\ exists fs_q_trace_new. z = fs_q_trace_new * S ((S (i)) * v) + (a))))specialize beta_prefix_extend (S l)specialize beta_prefix_extend xspecialize beta_prefix_extend x1specialize beta_prefix_extend (x3 + x2)exact beta_prefix_extendcases hextcases hext_witnesscases hext_witness_witnessexists x4exists x5splitspecialize hext_witness_witness_right 0specialize hext_witness_witness_right 0apply hext_witness_witness_righthave h0 : exists h. h + S 0 = S lhave hzero : exists h. h + 0 = lspecialize zero_le lexact zero_lespecialize succ_le_succ 0specialize succ_le_succ lapply succ_le_succexact hzeroexact h0exact htrace_witness_witness_leftintro iintro hihave hil : exists h. h + i = lspecialize le_of_succ_le_succ ispecialize le_of_succ_le_succ lapply le_of_succ_le_succexact hihave hsplit : i = l \/ exists h. h + S i = lspecialize le_eq_or_lt ispecialize le_eq_or_lt lapply le_eq_or_ltexact hilcases hsplitexists x2exists x3exists x3 + x2splitrewrite hsplit_leftrewrite hsplit_leftexact hfactor_witnesssplitrewrite hsplit_leftrewrite hsplit_leftspecialize hext_witness_witness_right lspecialize hext_witness_witness_right x3apply hext_witness_witness_rightspecialize le_refl (S l)exact le_reflexact hlast_witnesssplitrewrite hsplit_leftrewrite hsplit_leftexact hext_witness_witness_leftreflhave hold : exists p r s. ((((exists fs_h_trace_hold_factor. fs_h_trace_hold_factor + S (p) = S ((S (i)) * c)) /\ exists fs_q_trace_hold_factor. b = fs_q_trace_hold_factor * S ((S (i)) * c) + (p))) /\ ((((exists fs_h_trace_hold_partial. fs_h_trace_hold_partial + S (r) = S ((S (i)) * x1)) /\ exists fs_q_trace_hold_partial. x = fs_q_trace_hold_partial * S ((S (i)) * x1) + (r))) /\ ((((exists fs_h_trace_hold_successor. fs_h_trace_hold_successor + S (s) = S ((S (S i)) * x1)) /\ exists fs_q_trace_hold_successor. x = fs_q_trace_hold_successor * S ((S (S i)) * x1) + (s))) /\ s = r + p)))specialize htrace_witness_witness_right iapply htrace_witness_witness_rightexact hsplit_rightcases holdcases hold_witnesscases hold_witness_witnesscases hold_witness_witness_witnesscases hold_witness_witness_witness_rightcases hold_witness_witness_witness_right_rightexists x6exists x7exists x8splitexact hold_witness_witness_witness_leftsplitspecialize hext_witness_witness_right ispecialize hext_witness_witness_right x7apply hext_witness_witness_rightexact hiexact hold_witness_witness_witness_right_leftsplitspecialize hext_witness_witness_right (S i)specialize hext_witness_witness_right x8apply hext_witness_witness_rightspecialize succ_le_succ (S i)specialize succ_le_succ lapply succ_le_succexact hsplit_rightexact hold_witness_witness_witness_right_right_leftexact hold_witness_witness_witness_right_right_right
beta_sum_exists · unchanged support, not a new admission
forall b c l. exists n. (exists ff_u_x ff_v_x. ((((exists ff_h_x_start. ff_h_x_start + S (0) = S ((S (0)) * ff_v_x)) /\ exists ff_q_x_start. ff_u_x = ff_q_x_start * S ((S (0)) * ff_v_x) + (0))) /\ ((((exists ff_h_x_terminal. ff_h_x_terminal + S (n) = S ((S (l)) * ff_v_x)) /\ exists ff_q_x_terminal. ff_u_x = ff_q_x_terminal * S ((S (l)) * ff_v_x) + (n))) /\ forall ff_i_x. (exists ff_lt_x_bound. ff_lt_x_bound + S ff_i_x = l) -> exists ff_a_x ff_r_x ff_s_x. ((((exists ff_h_x_summand. ff_h_x_summand + S (ff_a_x) = S ((S (ff_i_x)) * c)) /\ exists ff_q_x_summand. b = ff_q_x_summand * S ((S (ff_i_x)) * c) + (ff_a_x))) /\ ((((exists ff_h_x_partial. ff_h_x_partial + S (ff_r_x) = S ((S (ff_i_x)) * ff_v_x)) /\ exists ff_q_x_partial. ff_u_x = ff_q_x_partial * S ((S (ff_i_x)) * ff_v_x) + (ff_r_x))) /\ ((((exists ff_h_x_successor. ff_h_x_successor + S (ff_s_x) = S ((S (S ff_i_x)) * ff_v_x)) /\ exists ff_q_x_successor. ff_u_x = ff_q_x_successor * S ((S (S ff_i_x)) * ff_v_x) + (ff_s_x))) /\ ff_s_x = ff_r_x + ff_a_x))))))
intro bintro cintro lhave htrace : exists fs_u_exists_trace fs_v_exists_trace. ((((exists fs_h_exists_trace_start. fs_h_exists_trace_start + S (0) = S ((S (0)) * fs_v_exists_trace)) /\ exists fs_q_exists_trace_start. fs_u_exists_trace = fs_q_exists_trace_start * S ((S (0)) * fs_v_exists_trace) + (0))) /\ forall fs_i_exists_trace_steps. (exists fs_lt_exists_trace_steps_bound. fs_lt_exists_trace_steps_bound + S fs_i_exists_trace_steps = l) -> exists fs_a_exists_trace_steps fs_r_exists_trace_steps fs_s_exists_trace_steps. ((((exists fs_h_exists_trace_steps_summand. fs_h_exists_trace_steps_summand + S (fs_a_exists_trace_steps) = S ((S (fs_i_exists_trace_steps)) * c)) /\ exists fs_q_exists_trace_steps_summand. b = fs_q_exists_trace_steps_summand * S ((S (fs_i_exists_trace_steps)) * c) + (fs_a_exists_trace_steps))) /\ ((((exists fs_h_exists_trace_steps_partial. fs_h_exists_trace_steps_partial + S (fs_r_exists_trace_steps) = S ((S (fs_i_exists_trace_steps)) * fs_v_exists_trace)) /\ exists fs_q_exists_trace_steps_partial. fs_u_exists_trace = fs_q_exists_trace_steps_partial * S ((S (fs_i_exists_trace_steps)) * fs_v_exists_trace) + (fs_r_exists_trace_steps))) /\ ((((exists fs_h_exists_trace_steps_successor. fs_h_exists_trace_steps_successor + S (fs_s_exists_trace_steps) = S ((S (S fs_i_exists_trace_steps)) * fs_v_exists_trace)) /\ exists fs_q_exists_trace_steps_successor. fs_u_exists_trace = fs_q_exists_trace_steps_successor * S ((S (S fs_i_exists_trace_steps)) * fs_v_exists_trace) + (fs_s_exists_trace_steps))) /\ fs_s_exists_trace_steps = fs_r_exists_trace_steps + fs_a_exists_trace_steps))))specialize beta_prefix_sum_trace_exists bspecialize beta_prefix_sum_trace_exists cspecialize beta_prefix_sum_trace_exists lexact beta_prefix_sum_trace_existscases htracecases htrace_witnesscases htrace_witness_witnesshave hterminal : exists n. ((exists fs_h_sum_terminal. fs_h_sum_terminal + S (n) = S ((S (l)) * x1)) /\ exists fs_q_sum_terminal. x = fs_q_sum_terminal * S ((S (l)) * x1) + (n))specialize beta_at_exists xspecialize beta_at_exists x1specialize beta_at_exists lexact beta_at_existscases hterminalexists x2exists xexists x1splitexact htrace_witness_witness_leftsplitexact hterminal_witnessexact htrace_witness_witness_right
beta_sum_trace_functional · unchanged support, not a new admission
forall b c l n u v m w d. (((((exists fs_h_functional_left_start. fs_h_functional_left_start + S (0) = S ((S (0)) * v)) /\ exists fs_q_functional_left_start. u = fs_q_functional_left_start * S ((S (0)) * v) + (0))) /\ ((((exists fs_h_functional_left_terminal. fs_h_functional_left_terminal + S (n) = S ((S (l)) * v)) /\ exists fs_q_functional_left_terminal. u = fs_q_functional_left_terminal * S ((S (l)) * v) + (n))) /\ forall fs_i_functional_left_steps. (exists fs_lt_functional_left_steps_bound. fs_lt_functional_left_steps_bound + S fs_i_functional_left_steps = l) -> exists fs_a_functional_left_steps fs_r_functional_left_steps fs_s_functional_left_steps. ((((exists fs_h_functional_left_steps_summand. fs_h_functional_left_steps_summand + S (fs_a_functional_left_steps) = S ((S (fs_i_functional_left_steps)) * c)) /\ exists fs_q_functional_left_steps_summand. b = fs_q_functional_left_steps_summand * S ((S (fs_i_functional_left_steps)) * c) + (fs_a_functional_left_steps))) /\ ((((exists fs_h_functional_left_steps_partial. fs_h_functional_left_steps_partial + S (fs_r_functional_left_steps) = S ((S (fs_i_functional_left_steps)) * v)) /\ exists fs_q_functional_left_steps_partial. u = fs_q_functional_left_steps_partial * S ((S (fs_i_functional_left_steps)) * v) + (fs_r_functional_left_steps))) /\ ((((exists fs_h_functional_left_steps_successor. fs_h_functional_left_steps_successor + S (fs_s_functional_left_steps) = S ((S (S fs_i_functional_left_steps)) * v)) /\ exists fs_q_functional_left_steps_successor. u = fs_q_functional_left_steps_successor * S ((S (S fs_i_functional_left_steps)) * v) + (fs_s_functional_left_steps))) /\ fs_s_functional_left_steps = fs_r_functional_left_steps + fs_a_functional_left_steps)))))) -> (((((exists fs_h_functional_right_start. fs_h_functional_right_start + S (0) = S ((S (0)) * d)) /\ exists fs_q_functional_right_start. w = fs_q_functional_right_start * S ((S (0)) * d) + (0))) /\ ((((exists fs_h_functional_right_terminal. fs_h_functional_right_terminal + S (m) = S ((S (l)) * d)) /\ exists fs_q_functional_right_terminal. w = fs_q_functional_right_terminal * S ((S (l)) * d) + (m))) /\ forall fs_i_functional_right_steps. (exists fs_lt_functional_right_steps_bound. fs_lt_functional_right_steps_bound + S fs_i_functional_right_steps = l) -> exists fs_a_functional_right_steps fs_r_functional_right_steps fs_s_functional_right_steps. ((((exists fs_h_functional_right_steps_summand. fs_h_functional_right_steps_summand + S (fs_a_functional_right_steps) = S ((S (fs_i_functional_right_steps)) * c)) /\ exists fs_q_functional_right_steps_summand. b = fs_q_functional_right_steps_summand * S ((S (fs_i_functional_right_steps)) * c) + (fs_a_functional_right_steps))) /\ ((((exists fs_h_functional_right_steps_partial. fs_h_functional_right_steps_partial + S (fs_r_functional_right_steps) = S ((S (fs_i_functional_right_steps)) * d)) /\ exists fs_q_functional_right_steps_partial. w = fs_q_functional_right_steps_partial * S ((S (fs_i_functional_right_steps)) * d) + (fs_r_functional_right_steps))) /\ ((((exists fs_h_functional_right_steps_successor. fs_h_functional_right_steps_successor + S (fs_s_functional_right_steps) = S ((S (S fs_i_functional_right_steps)) * d)) /\ exists fs_q_functional_right_steps_successor. w = fs_q_functional_right_steps_successor * S ((S (S fs_i_functional_right_steps)) * d) + (fs_s_functional_right_steps))) /\ fs_s_functional_right_steps = fs_r_functional_right_steps + fs_a_functional_right_steps)))))) -> n = m
intro bintro cinduction lintro nintro uintro vintro mintro wintro dintro h1intro h2cases h1cases h1_rightcases h2cases h2_righthave hn : n = 0specialize beta_at_unique uspecialize beta_at_unique vspecialize beta_at_unique 0specialize beta_at_unique nspecialize beta_at_unique 0apply beta_at_uniqueexact h1_right_leftexact h1_lefthave hm : m = 0specialize beta_at_unique wspecialize beta_at_unique dspecialize beta_at_unique 0specialize beta_at_unique mspecialize beta_at_unique 0apply beta_at_uniqueexact h2_right_leftexact h2_lefttrans 0exact hnsymmexact hmintro nintro uintro vintro mintro wintro dintro h1intro h2cases h1cases h1_rightcases h2cases h2_righthave hstep1 : exists a r s. ((((exists fs_h_functional_step1_factor. fs_h_functional_step1_factor + S (a) = S ((S (l)) * c)) /\ exists fs_q_functional_step1_factor. b = fs_q_functional_step1_factor * S ((S (l)) * c) + (a))) /\ ((((exists fs_h_functional_step1_partial. fs_h_functional_step1_partial + S (r) = S ((S (l)) * v)) /\ exists fs_q_functional_step1_partial. u = fs_q_functional_step1_partial * S ((S (l)) * v) + (r))) /\ ((((exists fs_h_functional_step1_successor. fs_h_functional_step1_successor + S (s) = S ((S (S l)) * v)) /\ exists fs_q_functional_step1_successor. u = fs_q_functional_step1_successor * S ((S (S l)) * v) + (s))) /\ s = r + a)))specialize h1_right_right lapply h1_right_rightspecialize le_refl (S l)exact le_reflcases hstep1cases hstep1_witnesscases hstep1_witness_witnesscases hstep1_witness_witness_witnesscases hstep1_witness_witness_witness_rightcases hstep1_witness_witness_witness_right_righthave hstep2 : exists a r s. ((((exists fs_h_functional_step2_factor. fs_h_functional_step2_factor + S (a) = S ((S (l)) * c)) /\ exists fs_q_functional_step2_factor. b = fs_q_functional_step2_factor * S ((S (l)) * c) + (a))) /\ ((((exists fs_h_functional_step2_partial. fs_h_functional_step2_partial + S (r) = S ((S (l)) * d)) /\ exists fs_q_functional_step2_partial. w = fs_q_functional_step2_partial * S ((S (l)) * d) + (r))) /\ ((((exists fs_h_functional_step2_successor. fs_h_functional_step2_successor + S (s) = S ((S (S l)) * d)) /\ exists fs_q_functional_step2_successor. w = fs_q_functional_step2_successor * S ((S (S l)) * d) + (s))) /\ s = r + a)))specialize h2_right_right lapply h2_right_rightspecialize le_refl (S l)exact le_reflcases hstep2cases hstep2_witnesscases hstep2_witness_witnesscases hstep2_witness_witness_witnesscases hstep2_witness_witness_witness_rightcases hstep2_witness_witness_witness_right_righthave hn : n = x2specialize beta_at_unique uspecialize beta_at_unique vspecialize beta_at_unique (S l)specialize beta_at_unique nspecialize beta_at_unique x2apply beta_at_uniqueexact h1_right_leftexact hstep1_witness_witness_witness_right_right_lefthave hm : m = x5specialize beta_at_unique wspecialize beta_at_unique dspecialize beta_at_unique (S l)specialize beta_at_unique mspecialize beta_at_unique x5apply beta_at_uniqueexact h2_right_leftexact hstep2_witness_witness_witness_right_right_lefthave ha : x = x3specialize beta_at_unique bspecialize beta_at_unique cspecialize beta_at_unique lspecialize beta_at_unique xspecialize beta_at_unique x3apply beta_at_uniqueexact hstep1_witness_witness_witness_leftexact hstep2_witness_witness_witness_lefthave hsum1 : ((((exists fs_h_functional_prefix1_start. fs_h_functional_prefix1_start + S (0) = S ((S (0)) * v)) /\ exists fs_q_functional_prefix1_start. u = fs_q_functional_prefix1_start * S ((S (0)) * v) + (0))) /\ ((((exists fs_h_functional_prefix1_terminal. fs_h_functional_prefix1_terminal + S (x1) = S ((S (l)) * v)) /\ exists fs_q_functional_prefix1_terminal. u = fs_q_functional_prefix1_terminal * S ((S (l)) * v) + (x1))) /\ forall fs_i_functional_prefix1_steps. (exists fs_lt_functional_prefix1_steps_bound. fs_lt_functional_prefix1_steps_bound + S fs_i_functional_prefix1_steps = l) -> exists fs_a_functional_prefix1_steps fs_r_functional_prefix1_steps fs_s_functional_prefix1_steps. ((((exists fs_h_functional_prefix1_steps_summand. fs_h_functional_prefix1_steps_summand + S (fs_a_functional_prefix1_steps) = S ((S (fs_i_functional_prefix1_steps)) * c)) /\ exists fs_q_functional_prefix1_steps_summand. b = fs_q_functional_prefix1_steps_summand * S ((S (fs_i_functional_prefix1_steps)) * c) + (fs_a_functional_prefix1_steps))) /\ ((((exists fs_h_functional_prefix1_steps_partial. fs_h_functional_prefix1_steps_partial + S (fs_r_functional_prefix1_steps) = S ((S (fs_i_functional_prefix1_steps)) * v)) /\ exists fs_q_functional_prefix1_steps_partial. u = fs_q_functional_prefix1_steps_partial * S ((S (fs_i_functional_prefix1_steps)) * v) + (fs_r_functional_prefix1_steps))) /\ ((((exists fs_h_functional_prefix1_steps_successor. fs_h_functional_prefix1_steps_successor + S (fs_s_functional_prefix1_steps) = S ((S (S fs_i_functional_prefix1_steps)) * v)) /\ exists fs_q_functional_prefix1_steps_successor. u = fs_q_functional_prefix1_steps_successor * S ((S (S fs_i_functional_prefix1_steps)) * v) + (fs_s_functional_prefix1_steps))) /\ fs_s_functional_prefix1_steps = fs_r_functional_prefix1_steps + fs_a_functional_prefix1_steps)))))splitexact h1_leftsplitexact hstep1_witness_witness_witness_right_leftintro iintro hispecialize h1_right_right iapply h1_right_rightspecialize le_succ (S i)specialize le_succ lapply le_succexact hihave hsum2 : ((((exists fs_h_functional_prefix2_start. fs_h_functional_prefix2_start + S (0) = S ((S (0)) * d)) /\ exists fs_q_functional_prefix2_start. w = fs_q_functional_prefix2_start * S ((S (0)) * d) + (0))) /\ ((((exists fs_h_functional_prefix2_terminal. fs_h_functional_prefix2_terminal + S (x4) = S ((S (l)) * d)) /\ exists fs_q_functional_prefix2_terminal. w = fs_q_functional_prefix2_terminal * S ((S (l)) * d) + (x4))) /\ forall fs_i_functional_prefix2_steps. (exists fs_lt_functional_prefix2_steps_bound. fs_lt_functional_prefix2_steps_bound + S fs_i_functional_prefix2_steps = l) -> exists fs_a_functional_prefix2_steps fs_r_functional_prefix2_steps fs_s_functional_prefix2_steps. ((((exists fs_h_functional_prefix2_steps_summand. fs_h_functional_prefix2_steps_summand + S (fs_a_functional_prefix2_steps) = S ((S (fs_i_functional_prefix2_steps)) * c)) /\ exists fs_q_functional_prefix2_steps_summand. b = fs_q_functional_prefix2_steps_summand * S ((S (fs_i_functional_prefix2_steps)) * c) + (fs_a_functional_prefix2_steps))) /\ ((((exists fs_h_functional_prefix2_steps_partial. fs_h_functional_prefix2_steps_partial + S (fs_r_functional_prefix2_steps) = S ((S (fs_i_functional_prefix2_steps)) * d)) /\ exists fs_q_functional_prefix2_steps_partial. w = fs_q_functional_prefix2_steps_partial * S ((S (fs_i_functional_prefix2_steps)) * d) + (fs_r_functional_prefix2_steps))) /\ ((((exists fs_h_functional_prefix2_steps_successor. fs_h_functional_prefix2_steps_successor + S (fs_s_functional_prefix2_steps) = S ((S (S fs_i_functional_prefix2_steps)) * d)) /\ exists fs_q_functional_prefix2_steps_successor. w = fs_q_functional_prefix2_steps_successor * S ((S (S fs_i_functional_prefix2_steps)) * d) + (fs_s_functional_prefix2_steps))) /\ fs_s_functional_prefix2_steps = fs_r_functional_prefix2_steps + fs_a_functional_prefix2_steps)))))splitexact h2_leftsplitexact hstep2_witness_witness_witness_right_leftintro iintro hispecialize h2_right_right iapply h2_right_rightspecialize le_succ (S i)specialize le_succ lapply le_succexact hihave hprev : x1 = x4specialize IH x1specialize IH uspecialize IH vspecialize IH x4specialize IH wspecialize IH dapply IHexact hsum1exact hsum2have hadd : x1 + x = x4 + x3specialize add_congr x1specialize add_congr x4specialize add_congr xspecialize add_congr x3apply add_congrexact hprevexact hatrans x2exact hntrans x1 + xexact hstep1_witness_witness_witness_right_right_righttrans x4 + x3exact haddtrans x5symmexact hstep2_witness_witness_witness_right_right_rightsymmexact hm
beta_sum_functional · unchanged support, not a new admission
forall b c l n m. (exists ff_u_l ff_v_l. ((((exists ff_h_l_start. ff_h_l_start + S (0) = S ((S (0)) * ff_v_l)) /\ exists ff_q_l_start. ff_u_l = ff_q_l_start * S ((S (0)) * ff_v_l) + (0))) /\ ((((exists ff_h_l_terminal. ff_h_l_terminal + S (n) = S ((S (l)) * ff_v_l)) /\ exists ff_q_l_terminal. ff_u_l = ff_q_l_terminal * S ((S (l)) * ff_v_l) + (n))) /\ forall ff_i_l. (exists ff_lt_l_bound. ff_lt_l_bound + S ff_i_l = l) -> exists ff_a_l ff_r_l ff_s_l. ((((exists ff_h_l_summand. ff_h_l_summand + S (ff_a_l) = S ((S (ff_i_l)) * c)) /\ exists ff_q_l_summand. b = ff_q_l_summand * S ((S (ff_i_l)) * c) + (ff_a_l))) /\ ((((exists ff_h_l_partial. ff_h_l_partial + S (ff_r_l) = S ((S (ff_i_l)) * ff_v_l)) /\ exists ff_q_l_partial. ff_u_l = ff_q_l_partial * S ((S (ff_i_l)) * ff_v_l) + (ff_r_l))) /\ ((((exists ff_h_l_successor. ff_h_l_successor + S (ff_s_l) = S ((S (S ff_i_l)) * ff_v_l)) /\ exists ff_q_l_successor. ff_u_l = ff_q_l_successor * S ((S (S ff_i_l)) * ff_v_l) + (ff_s_l))) /\ ff_s_l = ff_r_l + ff_a_l)))))) -> (exists ff_u_r ff_v_r. ((((exists ff_h_r_start. ff_h_r_start + S (0) = S ((S (0)) * ff_v_r)) /\ exists ff_q_r_start. ff_u_r = ff_q_r_start * S ((S (0)) * ff_v_r) + (0))) /\ ((((exists ff_h_r_terminal. ff_h_r_terminal + S (m) = S ((S (l)) * ff_v_r)) /\ exists ff_q_r_terminal. ff_u_r = ff_q_r_terminal * S ((S (l)) * ff_v_r) + (m))) /\ forall ff_i_r. (exists ff_lt_r_bound. ff_lt_r_bound + S ff_i_r = l) -> exists ff_a_r ff_r_r ff_s_r. ((((exists ff_h_r_summand. ff_h_r_summand + S (ff_a_r) = S ((S (ff_i_r)) * c)) /\ exists ff_q_r_summand. b = ff_q_r_summand * S ((S (ff_i_r)) * c) + (ff_a_r))) /\ ((((exists ff_h_r_partial. ff_h_r_partial + S (ff_r_r) = S ((S (ff_i_r)) * ff_v_r)) /\ exists ff_q_r_partial. ff_u_r = ff_q_r_partial * S ((S (ff_i_r)) * ff_v_r) + (ff_r_r))) /\ ((((exists ff_h_r_successor. ff_h_r_successor + S (ff_s_r) = S ((S (S ff_i_r)) * ff_v_r)) /\ exists ff_q_r_successor. ff_u_r = ff_q_r_successor * S ((S (S ff_i_r)) * ff_v_r) + (ff_s_r))) /\ ff_s_r = ff_r_r + ff_a_r)))))) -> n = m
intro bintro cintro lintro nintro mintro hnintro hmcases hncases hn_witnesscases hmcases hm_witnessspecialize beta_sum_trace_functional bspecialize beta_sum_trace_functional cspecialize beta_sum_trace_functional lspecialize beta_sum_trace_functional nspecialize beta_sum_trace_functional xspecialize beta_sum_trace_functional x1specialize beta_sum_trace_functional mspecialize beta_sum_trace_functional x2specialize beta_sum_trace_functional x3apply beta_sum_trace_functionalexact hn_witness_witnessexact hm_witness_witness
beta_sum_zero · unchanged support, not a new admission
forall b c n. (exists fs_u_zero fs_v_zero. ((((exists fs_h_zero_body_start. fs_h_zero_body_start + S (0) = S ((S (0)) * fs_v_zero)) /\ exists fs_q_zero_body_start. fs_u_zero = fs_q_zero_body_start * S ((S (0)) * fs_v_zero) + (0))) /\ ((((exists fs_h_zero_body_terminal. fs_h_zero_body_terminal + S (n) = S ((S (0)) * fs_v_zero)) /\ exists fs_q_zero_body_terminal. fs_u_zero = fs_q_zero_body_terminal * S ((S (0)) * fs_v_zero) + (n))) /\ forall fs_i_zero_body_steps. (exists fs_lt_zero_body_steps_bound. fs_lt_zero_body_steps_bound + S fs_i_zero_body_steps = 0) -> exists fs_a_zero_body_steps fs_r_zero_body_steps fs_s_zero_body_steps. ((((exists fs_h_zero_body_steps_summand. fs_h_zero_body_steps_summand + S (fs_a_zero_body_steps) = S ((S (fs_i_zero_body_steps)) * c)) /\ exists fs_q_zero_body_steps_summand. b = fs_q_zero_body_steps_summand * S ((S (fs_i_zero_body_steps)) * c) + (fs_a_zero_body_steps))) /\ ((((exists fs_h_zero_body_steps_partial. fs_h_zero_body_steps_partial + S (fs_r_zero_body_steps) = S ((S (fs_i_zero_body_steps)) * fs_v_zero)) /\ exists fs_q_zero_body_steps_partial. fs_u_zero = fs_q_zero_body_steps_partial * S ((S (fs_i_zero_body_steps)) * fs_v_zero) + (fs_r_zero_body_steps))) /\ ((((exists fs_h_zero_body_steps_successor. fs_h_zero_body_steps_successor + S (fs_s_zero_body_steps) = S ((S (S fs_i_zero_body_steps)) * fs_v_zero)) /\ exists fs_q_zero_body_steps_successor. fs_u_zero = fs_q_zero_body_steps_successor * S ((S (S fs_i_zero_body_steps)) * fs_v_zero) + (fs_s_zero_body_steps))) /\ fs_s_zero_body_steps = fs_r_zero_body_steps + fs_a_zero_body_steps)))))) -> n = 0
intro bintro cintro nintro hsumcases hsumcases hsum_witnesscases hsum_witness_witnesscases hsum_witness_witness_rightspecialize beta_at_unique xspecialize beta_at_unique x1specialize beta_at_unique 0specialize beta_at_unique nspecialize beta_at_unique 0apply beta_at_uniqueexact hsum_witness_witness_right_leftexact hsum_witness_witness_left
beta_sum_succ_decompose · unchanged support, not a new admission
forall b c l n. (exists fs_u_succ fs_v_succ. ((((exists fs_h_succ_body_start. fs_h_succ_body_start + S (0) = S ((S (0)) * fs_v_succ)) /\ exists fs_q_succ_body_start. fs_u_succ = fs_q_succ_body_start * S ((S (0)) * fs_v_succ) + (0))) /\ ((((exists fs_h_succ_body_terminal. fs_h_succ_body_terminal + S (n) = S ((S (S l)) * fs_v_succ)) /\ exists fs_q_succ_body_terminal. fs_u_succ = fs_q_succ_body_terminal * S ((S (S l)) * fs_v_succ) + (n))) /\ forall fs_i_succ_body_steps. (exists fs_lt_succ_body_steps_bound. fs_lt_succ_body_steps_bound + S fs_i_succ_body_steps = S l) -> exists fs_a_succ_body_steps fs_r_succ_body_steps fs_s_succ_body_steps. ((((exists fs_h_succ_body_steps_summand. fs_h_succ_body_steps_summand + S (fs_a_succ_body_steps) = S ((S (fs_i_succ_body_steps)) * c)) /\ exists fs_q_succ_body_steps_summand. b = fs_q_succ_body_steps_summand * S ((S (fs_i_succ_body_steps)) * c) + (fs_a_succ_body_steps))) /\ ((((exists fs_h_succ_body_steps_partial. fs_h_succ_body_steps_partial + S (fs_r_succ_body_steps) = S ((S (fs_i_succ_body_steps)) * fs_v_succ)) /\ exists fs_q_succ_body_steps_partial. fs_u_succ = fs_q_succ_body_steps_partial * S ((S (fs_i_succ_body_steps)) * fs_v_succ) + (fs_r_succ_body_steps))) /\ ((((exists fs_h_succ_body_steps_successor. fs_h_succ_body_steps_successor + S (fs_s_succ_body_steps) = S ((S (S fs_i_succ_body_steps)) * fs_v_succ)) /\ exists fs_q_succ_body_steps_successor. fs_u_succ = fs_q_succ_body_steps_successor * S ((S (S fs_i_succ_body_steps)) * fs_v_succ) + (fs_s_succ_body_steps))) /\ fs_s_succ_body_steps = fs_r_succ_body_steps + fs_a_succ_body_steps)))))) -> exists a r. (((exists fs_h_succ_factor. fs_h_succ_factor + S (a) = S ((S (l)) * c)) /\ exists fs_q_succ_factor. b = fs_q_succ_factor * S ((S (l)) * c) + (a))) /\ ((exists ff_u_prefix ff_v_prefix. ((((exists ff_h_prefix_start. ff_h_prefix_start + S (0) = S ((S (0)) * ff_v_prefix)) /\ exists ff_q_prefix_start. ff_u_prefix = ff_q_prefix_start * S ((S (0)) * ff_v_prefix) + (0))) /\ ((((exists ff_h_prefix_terminal. ff_h_prefix_terminal + S (r) = S ((S (l)) * ff_v_prefix)) /\ exists ff_q_prefix_terminal. ff_u_prefix = ff_q_prefix_terminal * S ((S (l)) * ff_v_prefix) + (r))) /\ forall ff_i_prefix. (exists ff_lt_prefix_bound. ff_lt_prefix_bound + S ff_i_prefix = l) -> exists ff_a_prefix ff_r_prefix ff_s_prefix. ((((exists ff_h_prefix_summand. ff_h_prefix_summand + S (ff_a_prefix) = S ((S (ff_i_prefix)) * c)) /\ exists ff_q_prefix_summand. b = ff_q_prefix_summand * S ((S (ff_i_prefix)) * c) + (ff_a_prefix))) /\ ((((exists ff_h_prefix_partial. ff_h_prefix_partial + S (ff_r_prefix) = S ((S (ff_i_prefix)) * ff_v_prefix)) /\ exists ff_q_prefix_partial. ff_u_prefix = ff_q_prefix_partial * S ((S (ff_i_prefix)) * ff_v_prefix) + (ff_r_prefix))) /\ ((((exists ff_h_prefix_successor. ff_h_prefix_successor + S (ff_s_prefix) = S ((S (S ff_i_prefix)) * ff_v_prefix)) /\ exists ff_q_prefix_successor. ff_u_prefix = ff_q_prefix_successor * S ((S (S ff_i_prefix)) * ff_v_prefix) + (ff_s_prefix))) /\ ff_s_prefix = ff_r_prefix + ff_a_prefix)))))) /\ n = r + a)
intro bintro cintro lintro nintro hsumcases hsumcases hsum_witnesscases hsum_witness_witnesscases hsum_witness_witness_righthave hstep : exists a r s. ((((exists fs_h_decomp_factor. fs_h_decomp_factor + S (a) = S ((S (l)) * c)) /\ exists fs_q_decomp_factor. b = fs_q_decomp_factor * S ((S (l)) * c) + (a))) /\ ((((exists fs_h_decomp_partial. fs_h_decomp_partial + S (r) = S ((S (l)) * x1)) /\ exists fs_q_decomp_partial. x = fs_q_decomp_partial * S ((S (l)) * x1) + (r))) /\ ((((exists fs_h_decomp_successor. fs_h_decomp_successor + S (s) = S ((S (S l)) * x1)) /\ exists fs_q_decomp_successor. x = fs_q_decomp_successor * S ((S (S l)) * x1) + (s))) /\ s = r + a)))specialize hsum_witness_witness_right_right lapply hsum_witness_witness_right_rightspecialize le_refl (S l)exact le_reflcases hstepcases hstep_witnesscases hstep_witness_witnesscases hstep_witness_witness_witnesscases hstep_witness_witness_witness_rightcases hstep_witness_witness_witness_right_righthave hn : n = x4specialize beta_at_unique xspecialize beta_at_unique x1specialize beta_at_unique (S l)specialize beta_at_unique nspecialize beta_at_unique x4apply beta_at_uniqueexact hsum_witness_witness_right_leftexact hstep_witness_witness_witness_right_right_leftexists x2exists x3splitexact hstep_witness_witness_witness_leftsplitexists xexists x1splitexact hsum_witness_witness_leftsplitexact hstep_witness_witness_witness_right_leftintro iintro hispecialize hsum_witness_witness_right_right iapply hsum_witness_witness_right_rightspecialize le_succ (S i)specialize le_succ lapply le_succexact hitrans x4exact hnexact hstep_witness_witness_witness_right_right_right
prime_coprime_or_divides · unchanged support, not a new admission
forall p a. (~(p = 1) /\ forall c e. p = c * e -> c = 1 \/ e = 1) -> (forall d. (exists x. p = d * x) -> (exists y. a = d * y) -> d = 1) \/ exists k. a = p * k
intro pintro aintro hphave hg : exists g. (((exists x. p = g * x) /\ (exists y. a = g * y)) /\ forall c. (exists u. p = c * u) -> (exists v. a = c * v) -> exists w. g = c * w)apply gcd_exists_relationalcases hghave hgfull : (((exists u. p = x * u) /\ (exists v. a = x * v)) /\ forall c. (exists s. p = c * s) -> (exists t. a = c * t) -> exists w. x = c * w)exact hg_witnesscases hg_witnesscases hg_witness_lefthave hfactor : x = 1 \/ p = xspecialize prime_divisor_eq_one_or_self pspecialize prime_divisor_eq_one_or_self xapply prime_divisor_eq_one_or_selfexact hpexact hg_witness_left_leftcases hfactorleftapply is_gcd_one_to_coprimehave hg1 : (((exists u. p = 1 * u) /\ (exists v. a = 1 * v)) /\ forall c. (exists s. p = c * s) -> (exists t. a = c * t) -> exists w. 1 = c * w)rewrite <- hfactor_leftrewrite <- hfactor_leftrewrite <- hfactor_leftexact hgfullexact hg1rightcases hg_witness_left_rightexists x1rewrite hfactor_rightexact hg_witness_left_right_witness
prime_not_divides_coprime · unchanged support, not a new admission
forall p a. (~(p = 1) /\ forall c e. p = c * e -> c = 1 \/ e = 1) -> ~(exists k. a = p * k) -> forall d. (exists x. p = d * x) -> (exists y. a = d * y) -> d = 1
intro pintro aintro hpintro hnotspecialize prime_coprime_or_divides pspecialize prime_coprime_or_divides ahave hsplit : (forall d. (exists x. p = d * x) -> (exists y. a = d * y) -> d = 1) \/ exists k. a = p * kapply prime_coprime_or_dividesexact hpcases hsplitexact hsplit_leftexfalsoapply hnotexact hsplit_right
coprime_balanced_mod_inverse · unchanged support, not a new admission
forall a m. (forall d. (exists x. a = d * x) -> (exists y. m = d * y) -> d = 1) -> exists xp xn u v. a * xp + m * u = (1 + a * xn) + m * v
intro aintro mintro hcophave hbez : exists xp yp xn yn. a * xp + m * yp = 1 + (a * xn + m * yn)specialize coprime_balanced_bezout aspecialize coprime_balanced_bezout mapply coprime_balanced_bezoutexact hcopcases hbezcases hbez_witnesscases hbez_witness_witnesscases hbez_witness_witness_witnessexists xexists x2exists x1exists x3trans 1 + (a * x2 + m * x3)exact hbez_witness_witness_witness_witnesssymmapply add_assoc
coprime_mod_inverse · unchanged support, not a new admission
forall a m. ~(m = 0) -> (forall d. (exists x. a = d * x) -> (exists y. m = d * y) -> d = 1) -> exists z u v. a * z + m * u = 1 + m * v
intro aintro mintro hmintro hcophave hms : exists k. m = S kspecialize nonzero_is_succ mapply nonzero_is_succexact hmhave hbal : exists xp xn u v. a * xp + m * u = (1 + a * xn) + m * vspecialize coprime_balanced_mod_inverse aspecialize coprime_balanced_mod_inverse mapply coprime_balanced_mod_inverseexact hcopcases hmscases hbalcases hbal_witnesscases hbal_witness_witnesscases hbal_witness_witness_witnesshave hself : exists u v. (x * (a * x2)) + m * u = (x * (a * x2)) + m * vspecialize mod_eq_refl mspecialize mod_eq_refl (x * (a * x2))apply mod_eq_reflhave hadd : exists u v. ((a * x1) + x * (a * x2)) + m * u = ((1 + a * x2) + x * (a * x2)) + m * vspecialize mod_eq_add mspecialize mod_eq_add (a * x1)specialize mod_eq_add (1 + a * x2)specialize mod_eq_add (x * (a * x2))specialize mod_eq_add (x * (a * x2))apply mod_eq_addexists x3exists x4exact hbal_witness_witness_witness_witnessexact hselfhave hcancel : exists u v. ((1 + a * x2) + x * (a * x2)) + m * u = 1 + m * vspecialize mod_eq_predecessor_cancel xspecialize mod_eq_predecessor_cancel 1specialize mod_eq_predecessor_cancel (a * x2)have hkcancel : exists u v. ((1 + a * x2) + x * (a * x2)) + S x * u = 1 + S x * vapply mod_eq_predecessor_cancelrewrite <- hms_witness at hkcancelrewrite <- hms_witness at hkcancelexact hkcancelhave hfinal : exists u v. ((a * x1) + x * (a * x2)) + m * u = 1 + m * vspecialize mod_eq_trans mspecialize mod_eq_trans ((a * x1) + x * (a * x2))specialize mod_eq_trans ((1 + a * x2) + x * (a * x2))specialize mod_eq_trans 1apply mod_eq_transexact haddexact hcancelhave hnorm : a * (x1 + x * x2) = (a * x1) + x * (a * x2)trans a * x1 + a * (x * x2)apply mul_addcongrrefltrans (a * x) * x2symmapply mul_assoctrans (x * a) * x2congrapply mul_commreflapply mul_assocexists x1 + x * x2rewrite hnormexact hfinal
mod_eq_cancel_coprime · unchanged support, not a new admission
forall m a x y. ~(m = 0) -> (forall d. (exists x. a = d * x) -> (exists y. m = d * y) -> d = 1) -> (exists u v. (a * x) + m * u = (a * y) + m * v) -> exists r s. x + m * r = y + m * s
intro mintro aintro xintro yintro hmintro hcopintro hxyhave hinv : exists z u v. a * z + m * u = 1 + m * vspecialize coprime_mod_inverse aspecialize coprime_mod_inverse mapply coprime_mod_inverseexact hmexact hcopcases hinvcases hinv_witnesscases hinv_witness_witnesshave hzx : exists u v. (x * (a * x1)) + m * u = (x * 1) + m * vspecialize mod_eq_mul_left mspecialize mod_eq_mul_left (a * x1)specialize mod_eq_mul_left 1specialize mod_eq_mul_left xapply mod_eq_mul_leftexists x2exists x3exact hinv_witness_witness_witnesshave hnormx : x * (a * x1) = (a * x) * x1trans (x * a) * x1symmapply mul_assoctrans (a * x) * x1congrapply mul_commreflreflhave honex : x * 1 = xapply mul_onehave hxprod : exists u v. ((a * x) * x1) + m * u = x + m * vcases hzxcases hzx_witnessexists x4exists x5trans (x * (a * x1)) + m * x4congrsymmexact hnormxrefltrans (x * 1) + m * x5exact hzx_witness_witnesscongrexact honexreflhave hxhprod : exists u v. x + m * u = ((a * x) * x1) + m * vspecialize mod_eq_symm mspecialize mod_eq_symm ((a * x) * x1)specialize mod_eq_symm xapply mod_eq_symmexact hxprodhave hscaled : exists u v. ((a * x) * x1) + m * u = ((a * y) * x1) + m * vspecialize mod_eq_mul_right mspecialize mod_eq_mul_right (a * x)specialize mod_eq_mul_right (a * y)specialize mod_eq_mul_right x1apply mod_eq_mul_rightexact hxyhave hzy : exists u v. (y * (a * x1)) + m * u = (y * 1) + m * vspecialize mod_eq_mul_left mspecialize mod_eq_mul_left (a * x1)specialize mod_eq_mul_left 1specialize mod_eq_mul_left yapply mod_eq_mul_leftexists x2exists x3exact hinv_witness_witness_witnesshave hnormy : y * (a * x1) = (a * y) * x1trans (y * a) * x1symmapply mul_assoctrans (a * y) * x1congrapply mul_commreflreflhave honey : y * 1 = yapply mul_onehave hyprod : exists u v. ((a * y) * x1) + m * u = y + m * vcases hzycases hzy_witnessexists x4exists x5trans (y * (a * x1)) + m * x4congrsymmexact hnormyrefltrans (y * 1) + m * x5exact hzy_witness_witnesscongrexact honeyreflhave hmid : exists u v. x + m * u = ((a * y) * x1) + m * vspecialize mod_eq_trans mspecialize mod_eq_trans xspecialize mod_eq_trans ((a * x) * x1)specialize mod_eq_trans ((a * y) * x1)apply mod_eq_transexact hxhprodexact hscaledspecialize mod_eq_trans mspecialize mod_eq_trans xspecialize mod_eq_trans ((a * y) * x1)specialize mod_eq_trans yapply mod_eq_transexact hmidexact hyprod
prime_mod_inverse · unchanged support, not a new admission
forall p a. (~(p = 1) /\ forall c e. p = c * e -> c = 1 \/ e = 1) -> ~(exists k. a = p * k) -> exists z u v. a * z + p * u = 1 + p * v
intro pintro aintro hpintro hnothave hp0 : ~(p = 0)intro hpzerospecialize prime_nonzero papply prime_nonzeroexact hpexact hpzerohave hcop : forall d. (exists x. a = d * x) -> (exists y. p = d * y) -> d = 1have hpacop : forall d. (exists x. p = d * x) -> (exists y. a = d * y) -> d = 1specialize prime_not_divides_coprime pspecialize prime_not_divides_coprime aapply prime_not_divides_coprimeexact hpexact hnotintro dintro hdaintro hdpspecialize hpacop dapply hpacopexact hdpexact hdaspecialize coprime_mod_inverse aspecialize coprime_mod_inverse papply coprime_mod_inverseexact hp0exact hcop
finite_lt_succ_eq_or_lt · unchanged support, not a new admission
forall n x. (exists h. h + S x = S n) -> x = n \/ exists h. h + S x = n
intro nintro xintro hlthave hle : exists h. h + x = nspecialize le_of_succ_le_succ xspecialize le_of_succ_le_succ napply le_of_succ_le_succexact hltspecialize le_eq_or_lt xspecialize le_eq_or_lt napply le_eq_or_ltexact hle
prime_is_succ_succ · unchanged support, not a new admission
forall p. ((~(p = 1) /\ forall qrbu_factor_left_prime_p qrbu_factor_right_prime_p. p = qrbu_factor_left_prime_p * qrbu_factor_right_prime_p -> qrbu_factor_left_prime_p = 1 \/ qrbu_factor_right_prime_p = 1)) -> exists k. p = S (S k)
intro pintro hphave hp0 : ~(p = 0)intro hpzerospecialize prime_nonzero papply prime_nonzeroexact hpexact hpzerohave hps : exists k. p = S kspecialize nonzero_is_succ papply nonzero_is_succexact hp0cases hpshave hx0 : ~(x = 0)intro hx0cases hpapply hp_leftrewrite hps_witnessrewrite hx0reflhave hxs : exists k. x = S kspecialize nonzero_is_succ xapply nonzero_is_succexact hx0cases hxsexists x1rewrite hps_witnessrewrite hxs_witnessrefl
prime_bounded_nonzero_mod_inverse · unchanged support, not a new admission
forall p a. ((~(p = 1) /\ forall qrbu_factor_left_prime_p qrbu_factor_right_prime_p. p = qrbu_factor_left_prime_p * qrbu_factor_right_prime_p -> qrbu_factor_left_prime_p = 1 \/ qrbu_factor_right_prime_p = 1)) -> ~(a = 0) -> (exists qrbu_gap_a_lt_p. qrbu_gap_a_lt_p + S a = p) -> (exists qrbu_inverse_bounded_inverse. (~(qrbu_inverse_bounded_inverse = 0) /\ ((exists qrbu_gap_bounded_inverse_bound. qrbu_gap_bounded_inverse_bound + S qrbu_inverse_bounded_inverse = p) /\ (exists qrbu_mod_left_bounded_inverse_mod qrbu_mod_right_bounded_inverse_mod. a * qrbu_inverse_bounded_inverse + p * qrbu_mod_left_bounded_inverse_mod = 1 + p * qrbu_mod_right_bounded_inverse_mod))))
intro pintro aintro hpintro ha0intro haphave hp0 : ~(p = 0)intro hpzerospecialize prime_nonzero papply prime_nonzeroexact hpexact hpzerohave hnotdiv : ~(exists k. a = p * k)intro hdivhave hpa : exists t. t + p = aspecialize divisor_le_nonzero pspecialize divisor_le_nonzero aapply divisor_le_nonzeroexact ha0exact hdivspecialize lt_not_le aspecialize lt_not_le papply lt_not_leexact hapexact hpahave hinv : exists z u v. a * z + p * u = 1 + p * vspecialize prime_mod_inverse pspecialize prime_mod_inverse aapply prime_mod_inverseexact hpexact hnotdivcases hinvcases hinv_witnesscases hinv_witness_witnesshave hdivz : exists q r. x = p * q + r /\ exists h. h + S r = pspecialize division_remainder_exists pspecialize division_remainder_exists xapply division_remainder_existsexact hp0cases hdivzcases hdivz_witnesscases hdivz_witness_witnesshave hzdecomp : x = x3 * p + x4trans p * x3 + x4exact hdivz_witness_witness_leftcongrapply mul_commreflhave hzr : exists u v. x + p * u = x4 + p * vspecialize remainder_decomposition_to_mod_eq pspecialize remainder_decomposition_to_mod_eq xspecialize remainder_decomposition_to_mod_eq x3specialize remainder_decomposition_to_mod_eq x4apply remainder_decomposition_to_mod_eqexact hzdecomphave hscaled : exists u v. (a * x) + p * u = (a * x4) + p * vspecialize mod_eq_mul_left pspecialize mod_eq_mul_left xspecialize mod_eq_mul_left x4specialize mod_eq_mul_left aapply mod_eq_mul_leftexact hzrhave hrz : exists u v. (a * x4) + p * u = (a * x) + p * vspecialize mod_eq_symm pspecialize mod_eq_symm (a * x)specialize mod_eq_symm (a * x4)apply mod_eq_symmexact hscaledhave hfinal : exists u v. (a * x4) + p * u = 1 + p * vspecialize mod_eq_trans pspecialize mod_eq_trans (a * x4)specialize mod_eq_trans (a * x)specialize mod_eq_trans 1apply mod_eq_transexact hrzexists x1exists x2exact hinv_witness_witness_witnesshave hp2 : exists k. p = S (S k)specialize prime_is_succ_succ papply prime_is_succ_succexact hpcases hp2have h0bound : exists h. h + S 0 = pexists S x5rewrite hp2_witnesssimphave h1bound : exists h. h + S 1 = pexists x5rewrite hp2_witnesssimphave hr0 : ~(x4 = 0)intro hrzerohave hzeroone : exists u v. 0 + p * u = 1 + p * vcases hfinalcases hfinal_witnessexists x6exists x7trans (a * x4) + p * x6congrsymmtrans a * 0congrreflexact hrzeroapply PA5reflexact hfinal_witness_witnesshave hzeroeqone : 0 = 1specialize mod_eq_bounded_unique pspecialize mod_eq_bounded_unique 0specialize mod_eq_bounded_unique 1apply mod_eq_bounded_uniqueexact h0boundexact h1boundexact hzeroonespecialize succ_ne_zero 0apply succ_ne_zerosymmexact hzeroeqoneexists x4splitexact hr0splitexact hdivz_witness_witness_rightexact hfinal
mod_inverse_implies_coprime · unchanged support, not a new admission
forall a m z. (exists hmi_left_offset_converse_assumption hmi_right_offset_converse_assumption. a * z + m * hmi_left_offset_converse_assumption = 1 + m * hmi_right_offset_converse_assumption) -> (forall hmi_divisor_converse_result. (exists hmi_left_factor_converse_result. a = hmi_divisor_converse_result * hmi_left_factor_converse_result) -> (exists hmi_right_factor_converse_result. m = hmi_divisor_converse_result * hmi_right_factor_converse_result) -> hmi_divisor_converse_result = 1)
intro aintro mintro zintro hinvintro dintro hdaintro hdmcases hinvcases hinv_witnesshave hbez : a * z + m * x = 1 + (a * 0 + m * x1)trans 1 + m * x1exact hinv_witness_witnesscongrreflsymmtrans 0 + m * x1congrapply PA5reflapply zero_addhave hdivone : exists w. 1 = d * wspecialize common_divisor_divides_balanced_result dspecialize common_divisor_divides_balanced_result aspecialize common_divisor_divides_balanced_result mspecialize common_divisor_divides_balanced_result 1specialize common_divisor_divides_balanced_result zspecialize common_divisor_divides_balanced_result xspecialize common_divisor_divides_balanced_result 0specialize common_divisor_divides_balanced_result x1apply common_divisor_divides_balanced_resultexact hdaexact hdmexact hbezspecialize divisor_one dapply divisor_oneexact hdivone
beta_pointwise_mul_prefix_extend · unchanged support, not a new admission
forall mb mc sb sc tb tc l m s. (forall fpmp_index_recode_before fpmp_left_recode_before fpmp_right_recode_before fpmp_target_recode_before. (exists fpmp_gap_recode_before. fpmp_gap_recode_before + S fpmp_index_recode_before = l) -> (((exists ff_h_fpmp_recode_before_left. ff_h_fpmp_recode_before_left + S (fpmp_left_recode_before) = S ((S (fpmp_index_recode_before)) * mc)) /\ exists ff_q_fpmp_recode_before_left. mb = ff_q_fpmp_recode_before_left * S ((S (fpmp_index_recode_before)) * mc) + (fpmp_left_recode_before))) -> (((exists ff_h_fpmp_recode_before_right. ff_h_fpmp_recode_before_right + S (fpmp_right_recode_before) = S ((S (fpmp_index_recode_before)) * sc)) /\ exists ff_q_fpmp_recode_before_right. sb = ff_q_fpmp_recode_before_right * S ((S (fpmp_index_recode_before)) * sc) + (fpmp_right_recode_before))) -> (((exists ff_h_fpmp_recode_before_target. ff_h_fpmp_recode_before_target + S (fpmp_target_recode_before) = S ((S (fpmp_index_recode_before)) * tc)) /\ exists ff_q_fpmp_recode_before_target. tb = ff_q_fpmp_recode_before_target * S ((S (fpmp_index_recode_before)) * tc) + (fpmp_target_recode_before))) -> fpmp_target_recode_before = fpmp_left_recode_before * fpmp_right_recode_before) -> (((exists ff_h_recode_left_last. ff_h_recode_left_last + S (m) = S ((S (l)) * mc)) /\ exists ff_q_recode_left_last. mb = ff_q_recode_left_last * S ((S (l)) * mc) + (m))) -> (((exists ff_h_recode_right_last. ff_h_recode_right_last + S (s) = S ((S (l)) * sc)) /\ exists ff_q_recode_right_last. sb = ff_q_recode_right_last * S ((S (l)) * sc) + (s))) -> exists z d. (forall fpmp_index_recode_after fpmp_left_recode_after fpmp_right_recode_after fpmp_target_recode_after. (exists fpmp_gap_recode_after. fpmp_gap_recode_after + S fpmp_index_recode_after = S l) -> (((exists ff_h_fpmp_recode_after_left. ff_h_fpmp_recode_after_left + S (fpmp_left_recode_after) = S ((S (fpmp_index_recode_after)) * mc)) /\ exists ff_q_fpmp_recode_after_left. mb = ff_q_fpmp_recode_after_left * S ((S (fpmp_index_recode_after)) * mc) + (fpmp_left_recode_after))) -> (((exists ff_h_fpmp_recode_after_right. ff_h_fpmp_recode_after_right + S (fpmp_right_recode_after) = S ((S (fpmp_index_recode_after)) * sc)) /\ exists ff_q_fpmp_recode_after_right. sb = ff_q_fpmp_recode_after_right * S ((S (fpmp_index_recode_after)) * sc) + (fpmp_right_recode_after))) -> (((exists ff_h_fpmp_recode_after_target. ff_h_fpmp_recode_after_target + S (fpmp_target_recode_after) = S ((S (fpmp_index_recode_after)) * d)) /\ exists ff_q_fpmp_recode_after_target. z = ff_q_fpmp_recode_after_target * S ((S (fpmp_index_recode_after)) * d) + (fpmp_target_recode_after))) -> fpmp_target_recode_after = fpmp_left_recode_after * fpmp_right_recode_after)
intro mbintro mcintro sbintro scintro tbintro tcintro lintro mintro sintro halignedintro hm_lastintro hs_lastspecialize beta_prefix_extend lspecialize beta_prefix_extend tbspecialize beta_prefix_extend tcspecialize beta_prefix_extend (m * s)cases beta_prefix_extendcases beta_prefix_extend_witnesscases beta_prefix_extend_witness_witnessexists xexists x1intro iintro aintro bintro tintro hiintro haintro hbintro hthave hsplit : i = l \/ exists gap. gap + S i = lspecialize finite_lt_succ_eq_or_lt lspecialize finite_lt_succ_eq_or_lt iapply finite_lt_succ_eq_or_ltexact hicases hsplitrewrite hsplit_left at harewrite hsplit_left at harewrite hsplit_left at hbrewrite hsplit_left at hbrewrite hsplit_left at htrewrite hsplit_left at hthave hma : m = aspecialize beta_at_unique mbspecialize beta_at_unique mcspecialize beta_at_unique lspecialize beta_at_unique mspecialize beta_at_unique aapply beta_at_uniqueexact hm_lastexact hahave hsb : s = bspecialize beta_at_unique sbspecialize beta_at_unique scspecialize beta_at_unique lspecialize beta_at_unique sspecialize beta_at_unique bapply beta_at_uniqueexact hs_lastexact hbhave happended : ((exists fpmr_height_recode_appended_product. fpmr_height_recode_appended_product + S (m * s) = S ((S (l)) * x1)) /\ exists fpmr_quotient_recode_appended_product. x = fpmr_quotient_recode_appended_product * S ((S (l)) * x1) + (m * s))exact beta_prefix_extend_witness_witness_lefthave ht_product : t = m * sspecialize beta_at_unique xspecialize beta_at_unique x1specialize beta_at_unique lspecialize beta_at_unique tspecialize beta_at_unique (m * s)apply beta_at_uniqueexact htexact happendedtrans m * sexact ht_productcongrexact hmaexact hsbhave hold_exists : exists u. (((exists ff_h_recode_old_target_exists. ff_h_recode_old_target_exists + S (u) = S ((S (i)) * tc)) /\ exists ff_q_recode_old_target_exists. tb = ff_q_recode_old_target_exists * S ((S (i)) * tc) + (u)))specialize beta_at_exists tbspecialize beta_at_exists tcspecialize beta_at_exists iexact beta_at_existscases hold_existshave hnew_old : ((exists ff_h_recode_new_old_target_entry. ff_h_recode_new_old_target_entry + S (x2) = S ((S (i)) * x1)) /\ exists ff_q_recode_new_old_target_entry. x = ff_q_recode_new_old_target_entry * S ((S (i)) * x1) + (x2))specialize beta_prefix_extend_witness_witness_right ispecialize beta_prefix_extend_witness_witness_right x2apply beta_prefix_extend_witness_witness_rightexact hsplit_rightexact hold_exists_witnesshave htx : t = x2specialize beta_at_unique xspecialize beta_at_unique x1specialize beta_at_unique ispecialize beta_at_unique tspecialize beta_at_unique x2apply beta_at_uniqueexact htexact hnew_oldhave hold_product : x2 = a * bspecialize haligned ispecialize haligned aspecialize haligned bspecialize haligned x2apply halignedexact hsplit_rightexact haexact hbexact hold_exists_witnesstrans x2exact htxexact hold_product
beta_pointwise_mul_prefix_exists · unchanged support, not a new admission
forall mb mc sb sc l. exists tb tc. (forall fpmp_index_recode_exists_result fpmp_left_recode_exists_result fpmp_right_recode_exists_result fpmp_target_recode_exists_result. (exists fpmp_gap_recode_exists_result. fpmp_gap_recode_exists_result + S fpmp_index_recode_exists_result = l) -> (((exists ff_h_fpmp_recode_exists_result_left. ff_h_fpmp_recode_exists_result_left + S (fpmp_left_recode_exists_result) = S ((S (fpmp_index_recode_exists_result)) * mc)) /\ exists ff_q_fpmp_recode_exists_result_left. mb = ff_q_fpmp_recode_exists_result_left * S ((S (fpmp_index_recode_exists_result)) * mc) + (fpmp_left_recode_exists_result))) -> (((exists ff_h_fpmp_recode_exists_result_right. ff_h_fpmp_recode_exists_result_right + S (fpmp_right_recode_exists_result) = S ((S (fpmp_index_recode_exists_result)) * sc)) /\ exists ff_q_fpmp_recode_exists_result_right. sb = ff_q_fpmp_recode_exists_result_right * S ((S (fpmp_index_recode_exists_result)) * sc) + (fpmp_right_recode_exists_result))) -> (((exists ff_h_fpmp_recode_exists_result_target. ff_h_fpmp_recode_exists_result_target + S (fpmp_target_recode_exists_result) = S ((S (fpmp_index_recode_exists_result)) * tc)) /\ exists ff_q_fpmp_recode_exists_result_target. tb = ff_q_fpmp_recode_exists_result_target * S ((S (fpmp_index_recode_exists_result)) * tc) + (fpmp_target_recode_exists_result))) -> fpmp_target_recode_exists_result = fpmp_left_recode_exists_result * fpmp_right_recode_exists_result)
intro mbintro mcintro sbintro scinduction lexists 0exists 0intro iintro aintro bintro tintro hiintro haintro hbintro htexfalsocases hihave hsi : S i = 0specialize add_eq_zero_right xspecialize add_eq_zero_right (S i)apply add_eq_zero_rightexact hi_witnessspecialize succ_ne_zero iapply succ_ne_zeroexact hsihave hprevious : exists tb tc. (forall fpmp_index_recode_exists_previous fpmp_left_recode_exists_previous fpmp_right_recode_exists_previous fpmp_target_recode_exists_previous. (exists fpmp_gap_recode_exists_previous. fpmp_gap_recode_exists_previous + S fpmp_index_recode_exists_previous = l) -> (((exists ff_h_fpmp_recode_exists_previous_left. ff_h_fpmp_recode_exists_previous_left + S (fpmp_left_recode_exists_previous) = S ((S (fpmp_index_recode_exists_previous)) * mc)) /\ exists ff_q_fpmp_recode_exists_previous_left. mb = ff_q_fpmp_recode_exists_previous_left * S ((S (fpmp_index_recode_exists_previous)) * mc) + (fpmp_left_recode_exists_previous))) -> (((exists ff_h_fpmp_recode_exists_previous_right. ff_h_fpmp_recode_exists_previous_right + S (fpmp_right_recode_exists_previous) = S ((S (fpmp_index_recode_exists_previous)) * sc)) /\ exists ff_q_fpmp_recode_exists_previous_right. sb = ff_q_fpmp_recode_exists_previous_right * S ((S (fpmp_index_recode_exists_previous)) * sc) + (fpmp_right_recode_exists_previous))) -> (((exists ff_h_fpmp_recode_exists_previous_target. ff_h_fpmp_recode_exists_previous_target + S (fpmp_target_recode_exists_previous) = S ((S (fpmp_index_recode_exists_previous)) * tc)) /\ exists ff_q_fpmp_recode_exists_previous_target. tb = ff_q_fpmp_recode_exists_previous_target * S ((S (fpmp_index_recode_exists_previous)) * tc) + (fpmp_target_recode_exists_previous))) -> fpmp_target_recode_exists_previous = fpmp_left_recode_exists_previous * fpmp_right_recode_exists_previous)exact IHcases hpreviouscases hprevious_witnesshave hleft : exists m. (((exists ff_h_recode_exists_left_last. ff_h_recode_exists_left_last + S (m) = S ((S (l)) * mc)) /\ exists ff_q_recode_exists_left_last. mb = ff_q_recode_exists_left_last * S ((S (l)) * mc) + (m)))specialize beta_at_exists mbspecialize beta_at_exists mcspecialize beta_at_exists lexact beta_at_existscases hlefthave hright : exists s. (((exists ff_h_recode_exists_right_last. ff_h_recode_exists_right_last + S (s) = S ((S (l)) * sc)) /\ exists ff_q_recode_exists_right_last. sb = ff_q_recode_exists_right_last * S ((S (l)) * sc) + (s)))specialize beta_at_exists sbspecialize beta_at_exists scspecialize beta_at_exists lexact beta_at_existscases hrightspecialize beta_pointwise_mul_prefix_extend mbspecialize beta_pointwise_mul_prefix_extend mcspecialize beta_pointwise_mul_prefix_extend sbspecialize beta_pointwise_mul_prefix_extend scspecialize beta_pointwise_mul_prefix_extend xspecialize beta_pointwise_mul_prefix_extend x1specialize beta_pointwise_mul_prefix_extend lspecialize beta_pointwise_mul_prefix_extend x2specialize beta_pointwise_mul_prefix_extend x3apply beta_pointwise_mul_prefix_extendexact hprevious_witness_witnessexact hleft_witnessexact hright_witness
beta_division_prefix_extend · unchanged support, not a new admission
forall p b c qb qc rb rc l. (forall fdp_index_before. (exists gsp_lt_gap_before_index_bound. gsp_lt_gap_before_index_bound + S fdp_index_before = l) -> exists fdp_value_before fdp_quotient_before fdp_remainder_before. (((exists ff_h_fdp_before_source. ff_h_fdp_before_source + S (fdp_value_before) = S ((S (fdp_index_before)) * c)) /\ exists ff_q_fdp_before_source. b = ff_q_fdp_before_source * S ((S (fdp_index_before)) * c) + (fdp_value_before))) /\ ((((exists ff_h_fdp_before_quotient_entry. ff_h_fdp_before_quotient_entry + S (fdp_quotient_before) = S ((S (fdp_index_before)) * qc)) /\ exists ff_q_fdp_before_quotient_entry. qb = ff_q_fdp_before_quotient_entry * S ((S (fdp_index_before)) * qc) + (fdp_quotient_before))) /\ ((((exists ff_h_fdp_before_remainder_entry. ff_h_fdp_before_remainder_entry + S (fdp_remainder_before) = S ((S (fdp_index_before)) * rc)) /\ exists ff_q_fdp_before_remainder_entry. rb = ff_q_fdp_before_remainder_entry * S ((S (fdp_index_before)) * rc) + (fdp_remainder_before))) /\ (fdp_value_before = p * fdp_quotient_before + fdp_remainder_before /\ (exists gsp_lt_gap_before_remainder_bound. gsp_lt_gap_before_remainder_bound + S fdp_remainder_before = p))))) -> (exists x q r. (((exists ff_h_fdp_choice_source. ff_h_fdp_choice_source + S (x) = S ((S (l)) * c)) /\ exists ff_q_fdp_choice_source. b = ff_q_fdp_choice_source * S ((S (l)) * c) + (x))) /\ (x = p * q + r /\ (exists gsp_lt_gap_fdp_choice_remainder_bound. gsp_lt_gap_fdp_choice_remainder_bound + S r = p))) -> exists z d u v. (forall fdp_index_after. (exists gsp_lt_gap_after_index_bound. gsp_lt_gap_after_index_bound + S fdp_index_after = S l) -> exists fdp_value_after fdp_quotient_after fdp_remainder_after. (((exists ff_h_fdp_after_source. ff_h_fdp_after_source + S (fdp_value_after) = S ((S (fdp_index_after)) * c)) /\ exists ff_q_fdp_after_source. b = ff_q_fdp_after_source * S ((S (fdp_index_after)) * c) + (fdp_value_after))) /\ ((((exists ff_h_fdp_after_quotient_entry. ff_h_fdp_after_quotient_entry + S (fdp_quotient_after) = S ((S (fdp_index_after)) * d)) /\ exists ff_q_fdp_after_quotient_entry. z = ff_q_fdp_after_quotient_entry * S ((S (fdp_index_after)) * d) + (fdp_quotient_after))) /\ ((((exists ff_h_fdp_after_remainder_entry. ff_h_fdp_after_remainder_entry + S (fdp_remainder_after) = S ((S (fdp_index_after)) * v)) /\ exists ff_q_fdp_after_remainder_entry. u = ff_q_fdp_after_remainder_entry * S ((S (fdp_index_after)) * v) + (fdp_remainder_after))) /\ (fdp_value_after = p * fdp_quotient_after + fdp_remainder_after /\ (exists gsp_lt_gap_after_remainder_bound. gsp_lt_gap_after_remainder_bound + S fdp_remainder_after = p)))))
intro pintro bintro cintro qbintro qcintro rbintro rcintro lintro hprefixintro hchoicecases hchoicecases hchoice_witnesscases hchoice_witness_witnesscases hchoice_witness_witness_witnesscases hchoice_witness_witness_witness_righthave hqextend : exists z d. (((exists ff_h_fdp_quotient_extension_last. ff_h_fdp_quotient_extension_last + S (x1) = S ((S (l)) * d)) /\ exists ff_q_fdp_quotient_extension_last. z = ff_q_fdp_quotient_extension_last * S ((S (l)) * d) + (x1))) /\ forall i q0. (exists gsp_lt_gap_fdp_quotient_extension_old_bound. gsp_lt_gap_fdp_quotient_extension_old_bound + S i = l) -> (((exists ff_h_fdp_quotient_extension_old_source. ff_h_fdp_quotient_extension_old_source + S (q0) = S ((S (i)) * qc)) /\ exists ff_q_fdp_quotient_extension_old_source. qb = ff_q_fdp_quotient_extension_old_source * S ((S (i)) * qc) + (q0))) -> (((exists ff_h_fdp_quotient_extension_old_target_symbolic. ff_h_fdp_quotient_extension_old_target_symbolic + S (q0) = S ((S (i)) * d)) /\ exists ff_q_fdp_quotient_extension_old_target_symbolic. z = ff_q_fdp_quotient_extension_old_target_symbolic * S ((S (i)) * d) + (q0)))specialize beta_prefix_extend lspecialize beta_prefix_extend qbspecialize beta_prefix_extend qcspecialize beta_prefix_extend x1exact beta_prefix_extendcases hqextendcases hqextend_witnesscases hqextend_witness_witnesshave hrextend : exists u v. (((exists ff_h_fdp_remainder_extension_last. ff_h_fdp_remainder_extension_last + S (x2) = S ((S (l)) * v)) /\ exists ff_q_fdp_remainder_extension_last. u = ff_q_fdp_remainder_extension_last * S ((S (l)) * v) + (x2))) /\ forall i r0. (exists gsp_lt_gap_fdp_remainder_extension_old_bound. gsp_lt_gap_fdp_remainder_extension_old_bound + S i = l) -> (((exists ff_h_fdp_remainder_extension_old_source. ff_h_fdp_remainder_extension_old_source + S (r0) = S ((S (i)) * rc)) /\ exists ff_q_fdp_remainder_extension_old_source. rb = ff_q_fdp_remainder_extension_old_source * S ((S (i)) * rc) + (r0))) -> (((exists ff_h_fdp_remainder_extension_old_target. ff_h_fdp_remainder_extension_old_target + S (r0) = S ((S (i)) * v)) /\ exists ff_q_fdp_remainder_extension_old_target. u = ff_q_fdp_remainder_extension_old_target * S ((S (i)) * v) + (r0)))specialize beta_prefix_extend lspecialize beta_prefix_extend rbspecialize beta_prefix_extend rcspecialize beta_prefix_extend x2exact beta_prefix_extendcases hrextendcases hrextend_witnesscases hrextend_witness_witnessexists x3exists x4exists x5exists x6intro iintro hihave hsplit : i = l \/ exists gap. gap + S i = lspecialize finite_lt_succ_eq_or_lt lspecialize finite_lt_succ_eq_or_lt iapply finite_lt_succ_eq_or_ltexact hicases hsplitexists xexists x1exists x2splitrewrite hsplit_leftrewrite hsplit_leftexact hchoice_witness_witness_witness_leftsplitrewrite hsplit_leftrewrite hsplit_leftexact hqextend_witness_witness_leftsplitrewrite hsplit_leftrewrite hsplit_leftexact hrextend_witness_witness_leftsplitexact hchoice_witness_witness_witness_right_leftexact hchoice_witness_witness_witness_right_righthave hold : exists x q r. (((exists ff_h_fdp_previous_source. ff_h_fdp_previous_source + S (x) = S ((S (i)) * c)) /\ exists ff_q_fdp_previous_source. b = ff_q_fdp_previous_source * S ((S (i)) * c) + (x))) /\ ((((exists ff_h_fdp_previous_quotient. ff_h_fdp_previous_quotient + S (q) = S ((S (i)) * qc)) /\ exists ff_q_fdp_previous_quotient. qb = ff_q_fdp_previous_quotient * S ((S (i)) * qc) + (q))) /\ ((((exists ff_h_fdp_previous_remainder. ff_h_fdp_previous_remainder + S (r) = S ((S (i)) * rc)) /\ exists ff_q_fdp_previous_remainder. rb = ff_q_fdp_previous_remainder * S ((S (i)) * rc) + (r))) /\ (x = p * q + r /\ (exists gsp_lt_gap_fdp_previous_remainder_bound. gsp_lt_gap_fdp_previous_remainder_bound + S r = p))))specialize hprefix iapply hprefixexact hsplit_rightcases holdcases hold_witnesscases hold_witness_witnesscases hold_witness_witness_witnesscases hold_witness_witness_witness_rightcases hold_witness_witness_witness_right_rightcases hold_witness_witness_witness_right_right_rightexists x7exists x8exists x9splitexact hold_witness_witness_witness_leftsplitspecialize hqextend_witness_witness_right ispecialize hqextend_witness_witness_right x8apply hqextend_witness_witness_rightexact hsplit_rightexact hold_witness_witness_witness_right_leftsplitspecialize hrextend_witness_witness_right ispecialize hrextend_witness_witness_right x9apply hrextend_witness_witness_rightexact hsplit_rightexact hold_witness_witness_witness_right_right_leftsplitexact hold_witness_witness_witness_right_right_right_leftexact hold_witness_witness_witness_right_right_right_right
beta_division_prefix_exists · unchanged support, not a new admission
forall p b c l. ~(p = 0) -> exists qb qc rb rc. (forall fdp_index_exists_result. (exists gsp_lt_gap_exists_result_index_bound. gsp_lt_gap_exists_result_index_bound + S fdp_index_exists_result = l) -> exists fdp_value_exists_result fdp_quotient_exists_result fdp_remainder_exists_result. (((exists ff_h_fdp_exists_result_source. ff_h_fdp_exists_result_source + S (fdp_value_exists_result) = S ((S (fdp_index_exists_result)) * c)) /\ exists ff_q_fdp_exists_result_source. b = ff_q_fdp_exists_result_source * S ((S (fdp_index_exists_result)) * c) + (fdp_value_exists_result))) /\ ((((exists ff_h_fdp_exists_result_quotient_entry. ff_h_fdp_exists_result_quotient_entry + S (fdp_quotient_exists_result) = S ((S (fdp_index_exists_result)) * qc)) /\ exists ff_q_fdp_exists_result_quotient_entry. qb = ff_q_fdp_exists_result_quotient_entry * S ((S (fdp_index_exists_result)) * qc) + (fdp_quotient_exists_result))) /\ ((((exists ff_h_fdp_exists_result_remainder_entry. ff_h_fdp_exists_result_remainder_entry + S (fdp_remainder_exists_result) = S ((S (fdp_index_exists_result)) * rc)) /\ exists ff_q_fdp_exists_result_remainder_entry. rb = ff_q_fdp_exists_result_remainder_entry * S ((S (fdp_index_exists_result)) * rc) + (fdp_remainder_exists_result))) /\ (fdp_value_exists_result = p * fdp_quotient_exists_result + fdp_remainder_exists_result /\ (exists gsp_lt_gap_exists_result_remainder_bound. gsp_lt_gap_exists_result_remainder_bound + S fdp_remainder_exists_result = p)))))
intro pintro bintro cinduction lintro hp0exists 0exists 0exists 0exists 0intro iintro hiexfalsocases hihave hsi : S i = 0specialize add_eq_zero_right xspecialize add_eq_zero_right (S i)apply add_eq_zero_rightexact hi_witnessspecialize succ_ne_zero iapply succ_ne_zeroexact hsiintro hp0have hprevious : exists qb qc rb rc. (forall fdp_index_exists_previous. (exists gsp_lt_gap_exists_previous_index_bound. gsp_lt_gap_exists_previous_index_bound + S fdp_index_exists_previous = l) -> exists fdp_value_exists_previous fdp_quotient_exists_previous fdp_remainder_exists_previous. (((exists ff_h_fdp_exists_previous_source. ff_h_fdp_exists_previous_source + S (fdp_value_exists_previous) = S ((S (fdp_index_exists_previous)) * c)) /\ exists ff_q_fdp_exists_previous_source. b = ff_q_fdp_exists_previous_source * S ((S (fdp_index_exists_previous)) * c) + (fdp_value_exists_previous))) /\ ((((exists ff_h_fdp_exists_previous_quotient_entry. ff_h_fdp_exists_previous_quotient_entry + S (fdp_quotient_exists_previous) = S ((S (fdp_index_exists_previous)) * qc)) /\ exists ff_q_fdp_exists_previous_quotient_entry. qb = ff_q_fdp_exists_previous_quotient_entry * S ((S (fdp_index_exists_previous)) * qc) + (fdp_quotient_exists_previous))) /\ ((((exists ff_h_fdp_exists_previous_remainder_entry. ff_h_fdp_exists_previous_remainder_entry + S (fdp_remainder_exists_previous) = S ((S (fdp_index_exists_previous)) * rc)) /\ exists ff_q_fdp_exists_previous_remainder_entry. rb = ff_q_fdp_exists_previous_remainder_entry * S ((S (fdp_index_exists_previous)) * rc) + (fdp_remainder_exists_previous))) /\ (fdp_value_exists_previous = p * fdp_quotient_exists_previous + fdp_remainder_exists_previous /\ (exists gsp_lt_gap_exists_previous_remainder_bound. gsp_lt_gap_exists_previous_remainder_bound + S fdp_remainder_exists_previous = p)))))apply IHexact hp0cases hpreviouscases hprevious_witnesscases hprevious_witness_witnesscases hprevious_witness_witness_witnesshave hdecoded : exists x. (((exists ff_h_fdp_exists_last_source. ff_h_fdp_exists_last_source + S (x) = S ((S (l)) * c)) /\ exists ff_q_fdp_exists_last_source. b = ff_q_fdp_exists_last_source * S ((S (l)) * c) + (x)))specialize beta_at_exists bspecialize beta_at_exists cspecialize beta_at_exists lexact beta_at_existscases hdecodedhave hdivision : exists q r. x4 = p * q + r /\ (exists gsp_lt_gap_fdp_exists_last_remainder_bound. gsp_lt_gap_fdp_exists_last_remainder_bound + S r = p)specialize division_remainder_exists pspecialize division_remainder_exists x4apply division_remainder_existsexact hp0cases hdivisioncases hdivision_witnesshave hchoice : exists x q r. (((exists ff_h_fdp_choice_source. ff_h_fdp_choice_source + S (x) = S ((S (l)) * c)) /\ exists ff_q_fdp_choice_source. b = ff_q_fdp_choice_source * S ((S (l)) * c) + (x))) /\ (x = p * q + r /\ (exists gsp_lt_gap_fdp_choice_remainder_bound. gsp_lt_gap_fdp_choice_remainder_bound + S r = p))exists x4exists x5exists x6splitexact hdecoded_witnessexact hdivision_witness_witnesshave hnext : exists qb qc rb rc. (forall fdp_index_exists_next. (exists gsp_lt_gap_exists_next_index_bound. gsp_lt_gap_exists_next_index_bound + S fdp_index_exists_next = S l) -> exists fdp_value_exists_next fdp_quotient_exists_next fdp_remainder_exists_next. (((exists ff_h_fdp_exists_next_source. ff_h_fdp_exists_next_source + S (fdp_value_exists_next) = S ((S (fdp_index_exists_next)) * c)) /\ exists ff_q_fdp_exists_next_source. b = ff_q_fdp_exists_next_source * S ((S (fdp_index_exists_next)) * c) + (fdp_value_exists_next))) /\ ((((exists ff_h_fdp_exists_next_quotient_entry. ff_h_fdp_exists_next_quotient_entry + S (fdp_quotient_exists_next) = S ((S (fdp_index_exists_next)) * qc)) /\ exists ff_q_fdp_exists_next_quotient_entry. qb = ff_q_fdp_exists_next_quotient_entry * S ((S (fdp_index_exists_next)) * qc) + (fdp_quotient_exists_next))) /\ ((((exists ff_h_fdp_exists_next_remainder_entry. ff_h_fdp_exists_next_remainder_entry + S (fdp_remainder_exists_next) = S ((S (fdp_index_exists_next)) * rc)) /\ exists ff_q_fdp_exists_next_remainder_entry. rb = ff_q_fdp_exists_next_remainder_entry * S ((S (fdp_index_exists_next)) * rc) + (fdp_remainder_exists_next))) /\ (fdp_value_exists_next = p * fdp_quotient_exists_next + fdp_remainder_exists_next /\ (exists gsp_lt_gap_exists_next_remainder_bound. gsp_lt_gap_exists_next_remainder_bound + S fdp_remainder_exists_next = p)))))specialize beta_division_prefix_extend pspecialize beta_division_prefix_extend bspecialize beta_division_prefix_extend cspecialize beta_division_prefix_extend xspecialize beta_division_prefix_extend x1specialize beta_division_prefix_extend x2specialize beta_division_prefix_extend x3specialize beta_division_prefix_extend lapply beta_division_prefix_extendexact hprevious_witness_witness_witness_witnessexact hchoiceexact hnext
beta_sum_transport_prefix · unchanged support, not a new admission
forall b c z e l n. (exists ff_u_transport_source ff_v_transport_source. ((((exists ff_h_transport_source_start. ff_h_transport_source_start + S (0) = S ((S (0)) * ff_v_transport_source)) /\ exists ff_q_transport_source_start. ff_u_transport_source = ff_q_transport_source_start * S ((S (0)) * ff_v_transport_source) + (0))) /\ ((((exists ff_h_transport_source_terminal. ff_h_transport_source_terminal + S (n) = S ((S (l)) * ff_v_transport_source)) /\ exists ff_q_transport_source_terminal. ff_u_transport_source = ff_q_transport_source_terminal * S ((S (l)) * ff_v_transport_source) + (n))) /\ forall ff_i_transport_source. (exists ff_lt_transport_source_bound. ff_lt_transport_source_bound + S ff_i_transport_source = l) -> exists ff_a_transport_source ff_r_transport_source ff_s_transport_source. ((((exists ff_h_transport_source_summand. ff_h_transport_source_summand + S (ff_a_transport_source) = S ((S (ff_i_transport_source)) * c)) /\ exists ff_q_transport_source_summand. b = ff_q_transport_source_summand * S ((S (ff_i_transport_source)) * c) + (ff_a_transport_source))) /\ ((((exists ff_h_transport_source_partial. ff_h_transport_source_partial + S (ff_r_transport_source) = S ((S (ff_i_transport_source)) * ff_v_transport_source)) /\ exists ff_q_transport_source_partial. ff_u_transport_source = ff_q_transport_source_partial * S ((S (ff_i_transport_source)) * ff_v_transport_source) + (ff_r_transport_source))) /\ ((((exists ff_h_transport_source_successor. ff_h_transport_source_successor + S (ff_s_transport_source) = S ((S (S ff_i_transport_source)) * ff_v_transport_source)) /\ exists ff_q_transport_source_successor. ff_u_transport_source = ff_q_transport_source_successor * S ((S (S ff_i_transport_source)) * ff_v_transport_source) + (ff_s_transport_source))) /\ ff_s_transport_source = ff_r_transport_source + ff_a_transport_source)))))) -> (forall i a. (exists h. h + S i = l) -> (((exists ff_h_transport_source_entry. ff_h_transport_source_entry + S (a) = S ((S (i)) * c)) /\ exists ff_q_transport_source_entry. b = ff_q_transport_source_entry * S ((S (i)) * c) + (a))) -> (((exists ff_h_transport_target_entry. ff_h_transport_target_entry + S (a) = S ((S (i)) * e)) /\ exists ff_q_transport_target_entry. z = ff_q_transport_target_entry * S ((S (i)) * e) + (a)))) -> (exists ff_u_transport_target ff_v_transport_target. ((((exists ff_h_transport_target_start. ff_h_transport_target_start + S (0) = S ((S (0)) * ff_v_transport_target)) /\ exists ff_q_transport_target_start. ff_u_transport_target = ff_q_transport_target_start * S ((S (0)) * ff_v_transport_target) + (0))) /\ ((((exists ff_h_transport_target_terminal. ff_h_transport_target_terminal + S (n) = S ((S (l)) * ff_v_transport_target)) /\ exists ff_q_transport_target_terminal. ff_u_transport_target = ff_q_transport_target_terminal * S ((S (l)) * ff_v_transport_target) + (n))) /\ forall ff_i_transport_target. (exists ff_lt_transport_target_bound. ff_lt_transport_target_bound + S ff_i_transport_target = l) -> exists ff_a_transport_target ff_r_transport_target ff_s_transport_target. ((((exists ff_h_transport_target_summand. ff_h_transport_target_summand + S (ff_a_transport_target) = S ((S (ff_i_transport_target)) * e)) /\ exists ff_q_transport_target_summand. z = ff_q_transport_target_summand * S ((S (ff_i_transport_target)) * e) + (ff_a_transport_target))) /\ ((((exists ff_h_transport_target_partial. ff_h_transport_target_partial + S (ff_r_transport_target) = S ((S (ff_i_transport_target)) * ff_v_transport_target)) /\ exists ff_q_transport_target_partial. ff_u_transport_target = ff_q_transport_target_partial * S ((S (ff_i_transport_target)) * ff_v_transport_target) + (ff_r_transport_target))) /\ ((((exists ff_h_transport_target_successor. ff_h_transport_target_successor + S (ff_s_transport_target) = S ((S (S ff_i_transport_target)) * ff_v_transport_target)) /\ exists ff_q_transport_target_successor. ff_u_transport_target = ff_q_transport_target_successor * S ((S (S ff_i_transport_target)) * ff_v_transport_target) + (ff_s_transport_target))) /\ ff_s_transport_target = ff_r_transport_target + ff_a_transport_target))))))
intro bintro cintro zintro eintro lintro nintro hsumintro hprescases hsumcases hsum_witnesscases hsum_witness_witnesscases hsum_witness_witness_rightexists xexists x1splitexact hsum_witness_witness_leftsplitexact hsum_witness_witness_right_leftintro iintro hihave hstep : exists a r s. ((((exists ff_h_transport_step_source. ff_h_transport_step_source + S (a) = S ((S (i)) * c)) /\ exists ff_q_transport_step_source. b = ff_q_transport_step_source * S ((S (i)) * c) + (a))) /\ ((((exists ff_h_transport_step_partial. ff_h_transport_step_partial + S (r) = S ((S (i)) * x1)) /\ exists ff_q_transport_step_partial. x = ff_q_transport_step_partial * S ((S (i)) * x1) + (r))) /\ ((((exists ff_h_transport_step_successor. ff_h_transport_step_successor + S (s) = S ((S (S i)) * x1)) /\ exists ff_q_transport_step_successor. x = ff_q_transport_step_successor * S ((S (S i)) * x1) + (s))) /\ s = r + a)))specialize hsum_witness_witness_right_right iapply hsum_witness_witness_right_rightexact hicases hstepcases hstep_witnesscases hstep_witness_witnesscases hstep_witness_witness_witnesscases hstep_witness_witness_witness_rightcases hstep_witness_witness_witness_right_rightexists x2exists x3exists x4splitspecialize hpres ispecialize hpres x2apply hpresexact hiexact hstep_witness_witness_witness_leftsplitexact hstep_witness_witness_witness_right_leftsplitexact hstep_witness_witness_witness_right_right_leftexact hstep_witness_witness_witness_right_right_right
mod_eq_add_cancel_left · unchanged support, not a new admission
forall d a b c. (exists fspm_u_cancel_input fspm_v_cancel_input. (a + b) + d * fspm_u_cancel_input = (a + c) + d * fspm_v_cancel_input) -> (exists fspm_u_cancel_result fspm_v_cancel_result. (b) + d * fspm_u_cancel_result = (c) + d * fspm_v_cancel_result)
intro dintro aintro bintro cintro hmodcases hmodcases hmod_witnessexists xexists x1specialize add_left_cancel aspecialize add_left_cancel (b + d * x)specialize add_left_cancel (c + d * x1)apply add_left_canceltrans (a + b) + d * xsymmapply add_assoctrans (a + c) + d * x1exact hmod_witness_witnessapply add_assoc
beta_repeat_sum_exact · unchanged support, not a new admission
forall b c a l n. (forall ff_i_repeatsum_repeat. (exists ff_lt_repeatsum_repeat_bound. ff_lt_repeatsum_repeat_bound + S ff_i_repeatsum_repeat = l) -> (((exists ff_h_repeatsum_repeat_decoded. ff_h_repeatsum_repeat_decoded + S (a) = S ((S (ff_i_repeatsum_repeat)) * c)) /\ exists ff_q_repeatsum_repeat_decoded. b = ff_q_repeatsum_repeat_decoded * S ((S (ff_i_repeatsum_repeat)) * c) + (a)))) -> (exists ff_u_repeatsum_sum ff_v_repeatsum_sum. ((((exists ff_h_repeatsum_sum_start. ff_h_repeatsum_sum_start + S (0) = S ((S (0)) * ff_v_repeatsum_sum)) /\ exists ff_q_repeatsum_sum_start. ff_u_repeatsum_sum = ff_q_repeatsum_sum_start * S ((S (0)) * ff_v_repeatsum_sum) + (0))) /\ ((((exists ff_h_repeatsum_sum_terminal. ff_h_repeatsum_sum_terminal + S (n) = S ((S (l)) * ff_v_repeatsum_sum)) /\ exists ff_q_repeatsum_sum_terminal. ff_u_repeatsum_sum = ff_q_repeatsum_sum_terminal * S ((S (l)) * ff_v_repeatsum_sum) + (n))) /\ forall ff_i_repeatsum_sum. (exists ff_lt_repeatsum_sum_bound. ff_lt_repeatsum_sum_bound + S ff_i_repeatsum_sum = l) -> exists ff_a_repeatsum_sum ff_r_repeatsum_sum ff_s_repeatsum_sum. ((((exists ff_h_repeatsum_sum_summand. ff_h_repeatsum_sum_summand + S (ff_a_repeatsum_sum) = S ((S (ff_i_repeatsum_sum)) * c)) /\ exists ff_q_repeatsum_sum_summand. b = ff_q_repeatsum_sum_summand * S ((S (ff_i_repeatsum_sum)) * c) + (ff_a_repeatsum_sum))) /\ ((((exists ff_h_repeatsum_sum_partial. ff_h_repeatsum_sum_partial + S (ff_r_repeatsum_sum) = S ((S (ff_i_repeatsum_sum)) * ff_v_repeatsum_sum)) /\ exists ff_q_repeatsum_sum_partial. ff_u_repeatsum_sum = ff_q_repeatsum_sum_partial * S ((S (ff_i_repeatsum_sum)) * ff_v_repeatsum_sum) + (ff_r_repeatsum_sum))) /\ ((((exists ff_h_repeatsum_sum_successor. ff_h_repeatsum_sum_successor + S (ff_s_repeatsum_sum) = S ((S (S ff_i_repeatsum_sum)) * ff_v_repeatsum_sum)) /\ exists ff_q_repeatsum_sum_successor. ff_u_repeatsum_sum = ff_q_repeatsum_sum_successor * S ((S (S ff_i_repeatsum_sum)) * ff_v_repeatsum_sum) + (ff_s_repeatsum_sum))) /\ ff_s_repeatsum_sum = ff_r_repeatsum_sum + ff_a_repeatsum_sum)))))) -> n = l * a
intro bintro cintro ainduction lintro nintro hrepeatintro hsumhave hn : n = 0specialize beta_sum_zero bspecialize beta_sum_zero cspecialize beta_sum_zero napply beta_sum_zeroexact hsumrewrite hnsymmspecialize mul_zero_left aexact mul_zero_leftintro nintro hrepeatintro hsumhave hdecomp : exists a r. (((exists ff_h_repeatsum_decomp_entry. ff_h_repeatsum_decomp_entry + S (a) = S ((S (l)) * c)) /\ exists ff_q_repeatsum_decomp_entry. b = ff_q_repeatsum_decomp_entry * S ((S (l)) * c) + (a))) /\ ((exists ff_u_repeatsum_decomp_prefix ff_v_repeatsum_decomp_prefix. ((((exists ff_h_repeatsum_decomp_prefix_start. ff_h_repeatsum_decomp_prefix_start + S (0) = S ((S (0)) * ff_v_repeatsum_decomp_prefix)) /\ exists ff_q_repeatsum_decomp_prefix_start. ff_u_repeatsum_decomp_prefix = ff_q_repeatsum_decomp_prefix_start * S ((S (0)) * ff_v_repeatsum_decomp_prefix) + (0))) /\ ((((exists ff_h_repeatsum_decomp_prefix_terminal. ff_h_repeatsum_decomp_prefix_terminal + S (r) = S ((S (l)) * ff_v_repeatsum_decomp_prefix)) /\ exists ff_q_repeatsum_decomp_prefix_terminal. ff_u_repeatsum_decomp_prefix = ff_q_repeatsum_decomp_prefix_terminal * S ((S (l)) * ff_v_repeatsum_decomp_prefix) + (r))) /\ forall ff_i_repeatsum_decomp_prefix. (exists ff_lt_repeatsum_decomp_prefix_bound. ff_lt_repeatsum_decomp_prefix_bound + S ff_i_repeatsum_decomp_prefix = l) -> exists ff_a_repeatsum_decomp_prefix ff_r_repeatsum_decomp_prefix ff_s_repeatsum_decomp_prefix. ((((exists ff_h_repeatsum_decomp_prefix_summand. ff_h_repeatsum_decomp_prefix_summand + S (ff_a_repeatsum_decomp_prefix) = S ((S (ff_i_repeatsum_decomp_prefix)) * c)) /\ exists ff_q_repeatsum_decomp_prefix_summand. b = ff_q_repeatsum_decomp_prefix_summand * S ((S (ff_i_repeatsum_decomp_prefix)) * c) + (ff_a_repeatsum_decomp_prefix))) /\ ((((exists ff_h_repeatsum_decomp_prefix_partial. ff_h_repeatsum_decomp_prefix_partial + S (ff_r_repeatsum_decomp_prefix) = S ((S (ff_i_repeatsum_decomp_prefix)) * ff_v_repeatsum_decomp_prefix)) /\ exists ff_q_repeatsum_decomp_prefix_partial. ff_u_repeatsum_decomp_prefix = ff_q_repeatsum_decomp_prefix_partial * S ((S (ff_i_repeatsum_decomp_prefix)) * ff_v_repeatsum_decomp_prefix) + (ff_r_repeatsum_decomp_prefix))) /\ ((((exists ff_h_repeatsum_decomp_prefix_successor. ff_h_repeatsum_decomp_prefix_successor + S (ff_s_repeatsum_decomp_prefix) = S ((S (S ff_i_repeatsum_decomp_prefix)) * ff_v_repeatsum_decomp_prefix)) /\ exists ff_q_repeatsum_decomp_prefix_successor. ff_u_repeatsum_decomp_prefix = ff_q_repeatsum_decomp_prefix_successor * S ((S (S ff_i_repeatsum_decomp_prefix)) * ff_v_repeatsum_decomp_prefix) + (ff_s_repeatsum_decomp_prefix))) /\ ff_s_repeatsum_decomp_prefix = ff_r_repeatsum_decomp_prefix + ff_a_repeatsum_decomp_prefix)))))) /\ n = r + a)specialize beta_sum_succ_decompose bspecialize beta_sum_succ_decompose cspecialize beta_sum_succ_decompose lspecialize beta_sum_succ_decompose napply beta_sum_succ_decomposeexact hsumcases hdecompcases hdecomp_witnesscases hdecomp_witness_witnesscases hdecomp_witness_witness_righthave hprefix_repeat : forall ff_i_repeatsum_prefix_repeat. (exists ff_lt_repeatsum_prefix_repeat_bound. ff_lt_repeatsum_prefix_repeat_bound + S ff_i_repeatsum_prefix_repeat = l) -> (((exists ff_h_repeatsum_prefix_repeat_decoded. ff_h_repeatsum_prefix_repeat_decoded + S (a) = S ((S (ff_i_repeatsum_prefix_repeat)) * c)) /\ exists ff_q_repeatsum_prefix_repeat_decoded. b = ff_q_repeatsum_prefix_repeat_decoded * S ((S (ff_i_repeatsum_prefix_repeat)) * c) + (a)))intro iintro hispecialize hrepeat iapply hrepeatspecialize le_succ (S i)specialize le_succ lapply le_succexact hihave hprefix : x1 = l * aspecialize IH x1apply IHexact hprefix_repeatexact hdecomp_witness_witness_right_lefthave hlast : x = aspecialize beta_repeat_entry_eq bspecialize beta_repeat_entry_eq cspecialize beta_repeat_entry_eq aspecialize beta_repeat_entry_eq (S l)specialize beta_repeat_entry_eq lspecialize beta_repeat_entry_eq xapply beta_repeat_entry_eqexact hrepeatspecialize le_refl (S l)exact le_reflexact hdecomp_witness_witness_leftrewrite hdecomp_witness_witness_right_rightrewrite hprefixrewrite hlastspecialize mul_succ_left lspecialize mul_succ_left asymmexact mul_succ_left
prime_two_le · unchanged support, not a new admission
forall p. ((~(p = 1) /\ forall frm_prime_left_bpvl_prime frm_prime_right_bpvl_prime. p = frm_prime_left_bpvl_prime * frm_prime_right_bpvl_prime -> frm_prime_left_bpvl_prime = 1 \/ frm_prime_right_bpvl_prime = 1)) -> (exists bpvl_gap_prime_two. bpvl_gap_prime_two + (2) = (p))
intro pintro hphave hshape : exists k. p = S (S k)specialize prime_is_succ_succ papply prime_is_succ_succexact hpcases hshapeexists xtrans S (S x)rewrite PA4rewrite PA4rewrite PA3reflsymmexact hshape_witness
beta_affine_matrix_slice_extend · unchanged support, not a new admission
forall b c s d u v l a. (forall ff_index_mcp_extend_before ff_source_mcp_extend_before ff_target_mcp_extend_before. (exists mcp_gap_extend_before_bound. mcp_gap_extend_before_bound + S (ff_index_mcp_extend_before) = (l)) -> (((exists fs_h_mcp_extend_before_source. fs_h_mcp_extend_before_source + S (ff_source_mcp_extend_before) = S ((S ((s) + (d) * ff_index_mcp_extend_before)) * c)) /\ exists fs_q_mcp_extend_before_source. b = fs_q_mcp_extend_before_source * S ((S ((s) + (d) * ff_index_mcp_extend_before)) * c) + (ff_source_mcp_extend_before))) -> (((exists fs_h_mcp_extend_before_target. fs_h_mcp_extend_before_target + S (ff_target_mcp_extend_before) = S ((S (ff_index_mcp_extend_before)) * v)) /\ exists fs_q_mcp_extend_before_target. u = fs_q_mcp_extend_before_target * S ((S (ff_index_mcp_extend_before)) * v) + (ff_target_mcp_extend_before))) -> ff_target_mcp_extend_before = ff_source_mcp_extend_before) -> (((exists fs_h_mcp_extend_source_last. fs_h_mcp_extend_source_last + S (a) = S ((S (s + d * l)) * c)) /\ exists fs_q_mcp_extend_source_last. b = fs_q_mcp_extend_source_last * S ((S (s + d * l)) * c) + (a))) -> exists z e. (forall ff_index_mcp_extend_after ff_source_mcp_extend_after ff_target_mcp_extend_after. (exists mcp_gap_extend_after_bound. mcp_gap_extend_after_bound + S (ff_index_mcp_extend_after) = (S l)) -> (((exists fs_h_mcp_extend_after_source. fs_h_mcp_extend_after_source + S (ff_source_mcp_extend_after) = S ((S ((s) + (d) * ff_index_mcp_extend_after)) * c)) /\ exists fs_q_mcp_extend_after_source. b = fs_q_mcp_extend_after_source * S ((S ((s) + (d) * ff_index_mcp_extend_after)) * c) + (ff_source_mcp_extend_after))) -> (((exists fs_h_mcp_extend_after_target. fs_h_mcp_extend_after_target + S (ff_target_mcp_extend_after) = S ((S (ff_index_mcp_extend_after)) * e)) /\ exists fs_q_mcp_extend_after_target. z = fs_q_mcp_extend_after_target * S ((S (ff_index_mcp_extend_after)) * e) + (ff_target_mcp_extend_after))) -> ff_target_mcp_extend_after = ff_source_mcp_extend_after)
intro bintro cintro sintro dintro uintro vintro lintro aintro hpreviousintro hlastspecialize beta_prefix_extend lspecialize beta_prefix_extend uspecialize beta_prefix_extend vspecialize beta_prefix_extend acases beta_prefix_extendcases beta_prefix_extend_witnesscases beta_prefix_extend_witness_witnessexists xexists x1intro iintro sourceintro targetintro hiintro hsourceintro htargethave hsplit : i = l \/ exists gap. gap + S i = lspecialize finite_lt_succ_eq_or_lt lspecialize finite_lt_succ_eq_or_lt iapply finite_lt_succ_eq_or_ltexact hicases hsplitrewrite hsplit_left at hsourcerewrite hsplit_left at hsourcerewrite hsplit_left at htargetrewrite hsplit_left at htargethave hsource_value : a = sourcespecialize beta_at_unique bspecialize beta_at_unique cspecialize beta_at_unique (s + d * l)specialize beta_at_unique aspecialize beta_at_unique sourceapply beta_at_uniqueexact hlastexact hsourcehave htarget_value : target = aspecialize beta_at_unique xspecialize beta_at_unique x1specialize beta_at_unique lspecialize beta_at_unique targetspecialize beta_at_unique aapply beta_at_uniqueexact htargetexact beta_prefix_extend_witness_witness_lefttrans aexact htarget_valueexact hsource_valuehave hold : exists z. (((exists fs_h_mcp_extend_old. fs_h_mcp_extend_old + S (z) = S ((S (i)) * v)) /\ exists fs_q_mcp_extend_old. u = fs_q_mcp_extend_old * S ((S (i)) * v) + (z)))specialize beta_at_exists uspecialize beta_at_exists vspecialize beta_at_exists iexact beta_at_existscases holdhave hpreserved : ((exists fs_h_mcp_extend_preserved. fs_h_mcp_extend_preserved + S (x2) = S ((S (i)) * x1)) /\ exists fs_q_mcp_extend_preserved. x = fs_q_mcp_extend_preserved * S ((S (i)) * x1) + (x2))specialize beta_prefix_extend_witness_witness_right ispecialize beta_prefix_extend_witness_witness_right x2apply beta_prefix_extend_witness_witness_rightexact hsplit_rightexact hold_witnesshave htarget_old : target = x2specialize beta_at_unique xspecialize beta_at_unique x1specialize beta_at_unique ispecialize beta_at_unique targetspecialize beta_at_unique x2apply beta_at_uniqueexact htargetexact hpreservedhave hold_source : x2 = sourcespecialize hprevious ispecialize hprevious sourcespecialize hprevious x2apply hpreviousexact hsplit_rightexact hsourceexact hold_witnesstrans x2exact htarget_oldexact hold_source
beta_affine_matrix_slice_exists · unchanged support, not a new admission
forall b c s d l. exists u v. (forall ff_index_mcp_exists_result ff_source_mcp_exists_result ff_target_mcp_exists_result. (exists mcp_gap_exists_result_bound. mcp_gap_exists_result_bound + S (ff_index_mcp_exists_result) = (l)) -> (((exists fs_h_mcp_exists_result_source. fs_h_mcp_exists_result_source + S (ff_source_mcp_exists_result) = S ((S ((s) + (d) * ff_index_mcp_exists_result)) * c)) /\ exists fs_q_mcp_exists_result_source. b = fs_q_mcp_exists_result_source * S ((S ((s) + (d) * ff_index_mcp_exists_result)) * c) + (ff_source_mcp_exists_result))) -> (((exists fs_h_mcp_exists_result_target. fs_h_mcp_exists_result_target + S (ff_target_mcp_exists_result) = S ((S (ff_index_mcp_exists_result)) * v)) /\ exists fs_q_mcp_exists_result_target. u = fs_q_mcp_exists_result_target * S ((S (ff_index_mcp_exists_result)) * v) + (ff_target_mcp_exists_result))) -> ff_target_mcp_exists_result = ff_source_mcp_exists_result)
intro bintro cintro sintro dinduction lexists 0exists 0intro iintro sourceintro targetintro hiintro hsourceintro htargetexfalsocases hihave hzero : S i = 0specialize add_eq_zero_right xspecialize add_eq_zero_right (S i)apply add_eq_zero_rightexact hi_witnessspecialize succ_ne_zero iapply succ_ne_zeroexact hzerohave hprevious : exists u v. (forall ff_index_mcp_exists_previous ff_source_mcp_exists_previous ff_target_mcp_exists_previous. (exists mcp_gap_exists_previous_bound. mcp_gap_exists_previous_bound + S (ff_index_mcp_exists_previous) = (l)) -> (((exists fs_h_mcp_exists_previous_source. fs_h_mcp_exists_previous_source + S (ff_source_mcp_exists_previous) = S ((S ((s) + (d) * ff_index_mcp_exists_previous)) * c)) /\ exists fs_q_mcp_exists_previous_source. b = fs_q_mcp_exists_previous_source * S ((S ((s) + (d) * ff_index_mcp_exists_previous)) * c) + (ff_source_mcp_exists_previous))) -> (((exists fs_h_mcp_exists_previous_target. fs_h_mcp_exists_previous_target + S (ff_target_mcp_exists_previous) = S ((S (ff_index_mcp_exists_previous)) * v)) /\ exists fs_q_mcp_exists_previous_target. u = fs_q_mcp_exists_previous_target * S ((S (ff_index_mcp_exists_previous)) * v) + (ff_target_mcp_exists_previous))) -> ff_target_mcp_exists_previous = ff_source_mcp_exists_previous)exact IHcases hpreviouscases hprevious_witnesshave hsource : exists a. (((exists fs_h_mcp_exists_last. fs_h_mcp_exists_last + S (a) = S ((S (s + d * l)) * c)) /\ exists fs_q_mcp_exists_last. b = fs_q_mcp_exists_last * S ((S (s + d * l)) * c) + (a)))specialize beta_at_exists bspecialize beta_at_exists cspecialize beta_at_exists (s + d * l)exact beta_at_existscases hsourcespecialize beta_affine_matrix_slice_extend bspecialize beta_affine_matrix_slice_extend cspecialize beta_affine_matrix_slice_extend sspecialize beta_affine_matrix_slice_extend dspecialize beta_affine_matrix_slice_extend xspecialize beta_affine_matrix_slice_extend x1specialize beta_affine_matrix_slice_extend lspecialize beta_affine_matrix_slice_extend x2apply beta_affine_matrix_slice_extendexact hprevious_witness_witnessexact hsource_witness
beta_pointwise_add_prefix_extend · unchanged support, not a new admission
forall mb mc sb sc tb tc l a b. (forall ff_index_mcp_add_add_before ff_left_mcp_add_add_before ff_right_mcp_add_add_before ff_target_mcp_add_add_before. (exists mcp_gap_add_before_bound. mcp_gap_add_before_bound + S (ff_index_mcp_add_add_before) = (l)) -> (((exists fs_h_mcp_add_before_left. fs_h_mcp_add_before_left + S (ff_left_mcp_add_add_before) = S ((S (ff_index_mcp_add_add_before)) * mc)) /\ exists fs_q_mcp_add_before_left. mb = fs_q_mcp_add_before_left * S ((S (ff_index_mcp_add_add_before)) * mc) + (ff_left_mcp_add_add_before))) -> (((exists fs_h_mcp_add_before_right. fs_h_mcp_add_before_right + S (ff_right_mcp_add_add_before) = S ((S (ff_index_mcp_add_add_before)) * sc)) /\ exists fs_q_mcp_add_before_right. sb = fs_q_mcp_add_before_right * S ((S (ff_index_mcp_add_add_before)) * sc) + (ff_right_mcp_add_add_before))) -> (((exists fs_h_mcp_add_before_target. fs_h_mcp_add_before_target + S (ff_target_mcp_add_add_before) = S ((S (ff_index_mcp_add_add_before)) * tc)) /\ exists fs_q_mcp_add_before_target. tb = fs_q_mcp_add_before_target * S ((S (ff_index_mcp_add_add_before)) * tc) + (ff_target_mcp_add_add_before))) -> ff_target_mcp_add_add_before = ff_left_mcp_add_add_before + ff_right_mcp_add_add_before) -> (((exists fs_h_mcp_add_last_left. fs_h_mcp_add_last_left + S (a) = S ((S (l)) * mc)) /\ exists fs_q_mcp_add_last_left. mb = fs_q_mcp_add_last_left * S ((S (l)) * mc) + (a))) -> (((exists fs_h_mcp_add_last_right. fs_h_mcp_add_last_right + S (b) = S ((S (l)) * sc)) /\ exists fs_q_mcp_add_last_right. sb = fs_q_mcp_add_last_right * S ((S (l)) * sc) + (b))) -> exists z d. (forall ff_index_mcp_add_add_after ff_left_mcp_add_add_after ff_right_mcp_add_add_after ff_target_mcp_add_add_after. (exists mcp_gap_add_after_bound. mcp_gap_add_after_bound + S (ff_index_mcp_add_add_after) = (S l)) -> (((exists fs_h_mcp_add_after_left. fs_h_mcp_add_after_left + S (ff_left_mcp_add_add_after) = S ((S (ff_index_mcp_add_add_after)) * mc)) /\ exists fs_q_mcp_add_after_left. mb = fs_q_mcp_add_after_left * S ((S (ff_index_mcp_add_add_after)) * mc) + (ff_left_mcp_add_add_after))) -> (((exists fs_h_mcp_add_after_right. fs_h_mcp_add_after_right + S (ff_right_mcp_add_add_after) = S ((S (ff_index_mcp_add_add_after)) * sc)) /\ exists fs_q_mcp_add_after_right. sb = fs_q_mcp_add_after_right * S ((S (ff_index_mcp_add_add_after)) * sc) + (ff_right_mcp_add_add_after))) -> (((exists fs_h_mcp_add_after_target. fs_h_mcp_add_after_target + S (ff_target_mcp_add_add_after) = S ((S (ff_index_mcp_add_add_after)) * d)) /\ exists fs_q_mcp_add_after_target. z = fs_q_mcp_add_after_target * S ((S (ff_index_mcp_add_add_after)) * d) + (ff_target_mcp_add_add_after))) -> ff_target_mcp_add_add_after = ff_left_mcp_add_add_after + ff_right_mcp_add_add_after)
intro mbintro mcintro sbintro scintro tbintro tcintro lintro aintro bintro hpreviousintro hleftintro hrightspecialize beta_prefix_extend lspecialize beta_prefix_extend tbspecialize beta_prefix_extend tcspecialize beta_prefix_extend (a + b)cases beta_prefix_extendcases beta_prefix_extend_witnesscases beta_prefix_extend_witness_witnessexists xexists x1intro iintro mintro nintro targetintro hiintro hmintro hnintro hthave hsplit : i = l \/ exists gap. gap + S i = lspecialize finite_lt_succ_eq_or_lt lspecialize finite_lt_succ_eq_or_lt iapply finite_lt_succ_eq_or_ltexact hicases hsplitrewrite hsplit_left at hmrewrite hsplit_left at hmrewrite hsplit_left at hnrewrite hsplit_left at hnrewrite hsplit_left at htrewrite hsplit_left at hthave hfirst : a = mspecialize beta_at_unique mbspecialize beta_at_unique mcspecialize beta_at_unique lspecialize beta_at_unique aspecialize beta_at_unique mapply beta_at_uniqueexact hleftexact hmhave hsecond : b = nspecialize beta_at_unique sbspecialize beta_at_unique scspecialize beta_at_unique lspecialize beta_at_unique bspecialize beta_at_unique napply beta_at_uniqueexact hrightexact hnhave htotal : target = a + bspecialize beta_at_unique xspecialize beta_at_unique x1specialize beta_at_unique lspecialize beta_at_unique targetspecialize beta_at_unique (a + b)apply beta_at_uniqueexact htexact beta_prefix_extend_witness_witness_lefttrans a + bexact htotalcongrexact hfirstexact hsecondhave hold : exists q. (((exists fs_h_mcp_add_old_exists. fs_h_mcp_add_old_exists + S (q) = S ((S (i)) * tc)) /\ exists fs_q_mcp_add_old_exists. tb = fs_q_mcp_add_old_exists * S ((S (i)) * tc) + (q)))specialize beta_at_exists tbspecialize beta_at_exists tcspecialize beta_at_exists iexact beta_at_existscases holdhave hnew_old : ((exists fs_h_mcp_add_new_old. fs_h_mcp_add_new_old + S (x2) = S ((S (i)) * x1)) /\ exists fs_q_mcp_add_new_old. x = fs_q_mcp_add_new_old * S ((S (i)) * x1) + (x2))specialize beta_prefix_extend_witness_witness_right ispecialize beta_prefix_extend_witness_witness_right x2apply beta_prefix_extend_witness_witness_rightexact hsplit_rightexact hold_witnesshave htarget_old : target = x2specialize beta_at_unique xspecialize beta_at_unique x1specialize beta_at_unique ispecialize beta_at_unique targetspecialize beta_at_unique x2apply beta_at_uniqueexact htexact hnew_oldhave hold_sum : x2 = m + nspecialize hprevious ispecialize hprevious mspecialize hprevious nspecialize hprevious x2apply hpreviousexact hsplit_rightexact hmexact hnexact hold_witnesstrans x2exact htarget_oldexact hold_sum
beta_pointwise_add_prefix_exists · unchanged support, not a new admission
forall mb mc sb sc l. exists tb tc. (forall ff_index_mcp_add_add_exists ff_left_mcp_add_add_exists ff_right_mcp_add_add_exists ff_target_mcp_add_add_exists. (exists mcp_gap_add_exists_bound. mcp_gap_add_exists_bound + S (ff_index_mcp_add_add_exists) = (l)) -> (((exists fs_h_mcp_add_exists_left. fs_h_mcp_add_exists_left + S (ff_left_mcp_add_add_exists) = S ((S (ff_index_mcp_add_add_exists)) * mc)) /\ exists fs_q_mcp_add_exists_left. mb = fs_q_mcp_add_exists_left * S ((S (ff_index_mcp_add_add_exists)) * mc) + (ff_left_mcp_add_add_exists))) -> (((exists fs_h_mcp_add_exists_right. fs_h_mcp_add_exists_right + S (ff_right_mcp_add_add_exists) = S ((S (ff_index_mcp_add_add_exists)) * sc)) /\ exists fs_q_mcp_add_exists_right. sb = fs_q_mcp_add_exists_right * S ((S (ff_index_mcp_add_add_exists)) * sc) + (ff_right_mcp_add_add_exists))) -> (((exists fs_h_mcp_add_exists_target. fs_h_mcp_add_exists_target + S (ff_target_mcp_add_add_exists) = S ((S (ff_index_mcp_add_add_exists)) * tc)) /\ exists fs_q_mcp_add_exists_target. tb = fs_q_mcp_add_exists_target * S ((S (ff_index_mcp_add_add_exists)) * tc) + (ff_target_mcp_add_add_exists))) -> ff_target_mcp_add_add_exists = ff_left_mcp_add_add_exists + ff_right_mcp_add_add_exists)
intro mbintro mcintro sbintro scinduction lexists 0exists 0intro iintro aintro bintro targetintro hiintro haintro hbintro htexfalsocases hihave hzero : S i = 0specialize add_eq_zero_right xspecialize add_eq_zero_right (S i)apply add_eq_zero_rightexact hi_witnessspecialize succ_ne_zero iapply succ_ne_zeroexact hzerohave hprevious : exists tb tc. (forall ff_index_mcp_add_add_previous ff_left_mcp_add_add_previous ff_right_mcp_add_add_previous ff_target_mcp_add_add_previous. (exists mcp_gap_add_previous_bound. mcp_gap_add_previous_bound + S (ff_index_mcp_add_add_previous) = (l)) -> (((exists fs_h_mcp_add_previous_left. fs_h_mcp_add_previous_left + S (ff_left_mcp_add_add_previous) = S ((S (ff_index_mcp_add_add_previous)) * mc)) /\ exists fs_q_mcp_add_previous_left. mb = fs_q_mcp_add_previous_left * S ((S (ff_index_mcp_add_add_previous)) * mc) + (ff_left_mcp_add_add_previous))) -> (((exists fs_h_mcp_add_previous_right. fs_h_mcp_add_previous_right + S (ff_right_mcp_add_add_previous) = S ((S (ff_index_mcp_add_add_previous)) * sc)) /\ exists fs_q_mcp_add_previous_right. sb = fs_q_mcp_add_previous_right * S ((S (ff_index_mcp_add_add_previous)) * sc) + (ff_right_mcp_add_add_previous))) -> (((exists fs_h_mcp_add_previous_target. fs_h_mcp_add_previous_target + S (ff_target_mcp_add_add_previous) = S ((S (ff_index_mcp_add_add_previous)) * tc)) /\ exists fs_q_mcp_add_previous_target. tb = fs_q_mcp_add_previous_target * S ((S (ff_index_mcp_add_add_previous)) * tc) + (ff_target_mcp_add_add_previous))) -> ff_target_mcp_add_add_previous = ff_left_mcp_add_add_previous + ff_right_mcp_add_add_previous)exact IHcases hpreviouscases hprevious_witnesshave hleft : exists a. (((exists fs_h_mcp_add_exists_left. fs_h_mcp_add_exists_left + S (a) = S ((S (l)) * mc)) /\ exists fs_q_mcp_add_exists_left. mb = fs_q_mcp_add_exists_left * S ((S (l)) * mc) + (a)))specialize beta_at_exists mbspecialize beta_at_exists mcspecialize beta_at_exists lexact beta_at_existscases hlefthave hright : exists b. (((exists fs_h_mcp_add_exists_right. fs_h_mcp_add_exists_right + S (b) = S ((S (l)) * sc)) /\ exists fs_q_mcp_add_exists_right. sb = fs_q_mcp_add_exists_right * S ((S (l)) * sc) + (b)))specialize beta_at_exists sbspecialize beta_at_exists scspecialize beta_at_exists lexact beta_at_existscases hrightspecialize beta_pointwise_add_prefix_extend mbspecialize beta_pointwise_add_prefix_extend mcspecialize beta_pointwise_add_prefix_extend sbspecialize beta_pointwise_add_prefix_extend scspecialize beta_pointwise_add_prefix_extend xspecialize beta_pointwise_add_prefix_extend x1specialize beta_pointwise_add_prefix_extend lspecialize beta_pointwise_add_prefix_extend x2specialize beta_pointwise_add_prefix_extend x3apply beta_pointwise_add_prefix_extendexact hprevious_witness_witnessexact hleft_witnessexact hright_witness
binary_canonical_residue_functional · unchanged support, not a new admission
forall m n r s. (((exists ff_gap_binary_value. ff_gap_binary_value + S (r) = m) /\ (exists ff_left_binary_value_congruence ff_right_binary_value_congruence. (n) + m * ff_left_binary_value_congruence = (r) + m * ff_right_binary_value_congruence))) -> (((exists ff_gap_binary_other. ff_gap_binary_other + S (s) = m) /\ (exists ff_left_binary_other_congruence ff_right_binary_other_congruence. (n) + m * ff_left_binary_other_congruence = (s) + m * ff_right_binary_other_congruence))) -> r = s
intro mintro nintro rintro sintro hrintro hscases hrcases hshave hreverse : exists ff_left_binary_functional_reverse ff_right_binary_functional_reverse. (r) + m * ff_left_binary_functional_reverse = (n) + m * ff_right_binary_functional_reversespecialize mod_eq_symm mspecialize mod_eq_symm nspecialize mod_eq_symm rapply mod_eq_symmexact hr_righthave hrelated : exists ff_left_binary_functional_related ff_right_binary_functional_related. (r) + m * ff_left_binary_functional_related = (s) + m * ff_right_binary_functional_relatedspecialize mod_eq_trans mspecialize mod_eq_trans rspecialize mod_eq_trans nspecialize mod_eq_trans sapply mod_eq_transexact hreverseexact hs_rightspecialize mod_eq_bounded_unique mspecialize mod_eq_bounded_unique rspecialize mod_eq_bounded_unique sapply mod_eq_bounded_uniqueexact hr_leftexact hs_leftexact hrelated
matrix_recursive_lt_add_left · unchanged support, not a new admission
forall a b c. (exists mdr_gap_add_source. mdr_gap_add_source + S (a) = (b)) -> (exists mdr_gap_add_result. mdr_gap_add_result + S (c + a) = (c + b))
intro aintro bintro cintro habhave heq : c + S a = S (c + a)apply PA4have hsum : exists mdr_gap_add_middle. mdr_gap_add_middle + (c + S a) = (c + b)specialize add_le_add_left (S a)specialize add_le_add_left (b)specialize add_le_add_left (c)apply add_le_add_leftexact habrewrite heq at hsumexact hsum
matrix_rank_bounded_prefix_value · unchanged support, not a new admission
forall b c l B i a. (forall fom_index_mrf_value_source. (exists fom_gap_mrf_value_source_index_bound. fom_gap_mrf_value_source_index_bound + S (fom_index_mrf_value_source) = l) -> exists fom_value_mrf_value_source. ((((exists fom_beta_height_mrf_value_source_entry. fom_beta_height_mrf_value_source_entry + S (fom_value_mrf_value_source) = S ((S (fom_index_mrf_value_source)) * c)) /\ exists fom_beta_quotient_mrf_value_source_entry. b = fom_beta_quotient_mrf_value_source_entry * S ((S (fom_index_mrf_value_source)) * c) + (fom_value_mrf_value_source))) /\ (exists fom_gap_mrf_value_source_value_bound. fom_gap_mrf_value_source_value_bound + S (fom_value_mrf_value_source) = B))) -> (exists mdr_gap_value_index. mdr_gap_value_index + S (i) = (l)) -> (((exists ff_h_mdr_value_entry. ff_h_mdr_value_entry + S (a) = S ((S (i)) * c)) /\ exists ff_q_mdr_value_entry. b = ff_q_mdr_value_entry * S ((S (i)) * c) + (a))) -> (exists mdr_gap_value_bound. mdr_gap_value_bound + S (a) = (B))
intro bintro cintro lintro Bintro iintro aintro hboundedintro hiintro hahave hentry : exists v. ((((exists ff_h_mdr_bounded_entry. ff_h_mdr_bounded_entry + S (v) = S ((S (i)) * c)) /\ exists ff_q_mdr_bounded_entry. b = ff_q_mdr_bounded_entry * S ((S (i)) * c) + (v))) /\ (exists mdr_gap_bounded_value. mdr_gap_bounded_value + S (v) = (B)))specialize hbounded (i)apply hboundedexact hicases hentrycases hentry_witnesshave heq : a = xspecialize beta_at_unique (b)specialize beta_at_unique (c)specialize beta_at_unique (i)specialize beta_at_unique (a)specialize beta_at_unique (x)apply beta_at_uniqueexact haexact hentry_witness_leftrewrite heqexact hentry_witness_right
matrix_rank_no_index_below_zero · unchanged support, not a new admission
forall i. ~(exists mdr_gap_no_index. mdr_gap_no_index + S (i) = (0))
intro iintro hihave hzero : S i = 0specialize le_zero (S i)apply le_zeroexact hispecialize succ_ne_zero (i)apply succ_ne_zeroexact hzero
matrix_rank_prefix_equality_symmetric · unchanged support, not a new admission
forall b c u v l. (forall mdr_i_symmetric_source mdr_a_symmetric_source. (exists mdr_gap_symmetric_sourceb. mdr_gap_symmetric_sourceb + S (mdr_i_symmetric_source) = (l)) -> (((exists ff_h_mdr_symmetric_sourceo. ff_h_mdr_symmetric_sourceo + S (mdr_a_symmetric_source) = S ((S (mdr_i_symmetric_source)) * c)) /\ exists ff_q_mdr_symmetric_sourceo. b = ff_q_mdr_symmetric_sourceo * S ((S (mdr_i_symmetric_source)) * c) + (mdr_a_symmetric_source))) -> (((exists ff_h_mdr_symmetric_sourcen. ff_h_mdr_symmetric_sourcen + S (mdr_a_symmetric_source) = S ((S (mdr_i_symmetric_source)) * v)) /\ exists ff_q_mdr_symmetric_sourcen. u = ff_q_mdr_symmetric_sourcen * S ((S (mdr_i_symmetric_source)) * v) + (mdr_a_symmetric_source)))) -> (forall mdr_i_symmetric_result mdr_a_symmetric_result. (exists mdr_gap_symmetric_resultb. mdr_gap_symmetric_resultb + S (mdr_i_symmetric_result) = (l)) -> (((exists ff_h_mdr_symmetric_resulto. ff_h_mdr_symmetric_resulto + S (mdr_a_symmetric_result) = S ((S (mdr_i_symmetric_result)) * v)) /\ exists ff_q_mdr_symmetric_resulto. u = ff_q_mdr_symmetric_resulto * S ((S (mdr_i_symmetric_result)) * v) + (mdr_a_symmetric_result))) -> (((exists ff_h_mdr_symmetric_resultn. ff_h_mdr_symmetric_resultn + S (mdr_a_symmetric_result) = S ((S (mdr_i_symmetric_result)) * c)) /\ exists ff_q_mdr_symmetric_resultn. b = ff_q_mdr_symmetric_resultn * S ((S (mdr_i_symmetric_result)) * c) + (mdr_a_symmetric_result))))
intro bintro cintro uintro vintro lintro hprefixintro iintro aintro hiintro hahave hvalue : exists z. ((exists ff_h_mdr_reverse_value. ff_h_mdr_reverse_value + S (z) = S ((S (i)) * c)) /\ exists ff_q_mdr_reverse_value. b = ff_q_mdr_reverse_value * S ((S (i)) * c) + (z))specialize beta_at_exists (b)specialize beta_at_exists (c)specialize beta_at_exists (i)apply beta_at_existscases hvaluehave heq : a = xspecialize beta_at_unique (u)specialize beta_at_unique (v)specialize beta_at_unique (i)specialize beta_at_unique (a)specialize beta_at_unique (x)apply beta_at_uniqueexact haspecialize hprefix (i)specialize hprefix (x)apply hprefixexact hiexact hvalue_witnessrewrite heqrewrite heqexact hvalue_witness
matrix_rank_bounded_prefix_transport · unchanged support, not a new admission
forall b c u v l B. (forall mdr_i_bounded_transport mdr_a_bounded_transport. (exists mdr_gap_bounded_transportb. mdr_gap_bounded_transportb + S (mdr_i_bounded_transport) = (l)) -> (((exists ff_h_mdr_bounded_transporto. ff_h_mdr_bounded_transporto + S (mdr_a_bounded_transport) = S ((S (mdr_i_bounded_transport)) * c)) /\ exists ff_q_mdr_bounded_transporto. b = ff_q_mdr_bounded_transporto * S ((S (mdr_i_bounded_transport)) * c) + (mdr_a_bounded_transport))) -> (((exists ff_h_mdr_bounded_transportn. ff_h_mdr_bounded_transportn + S (mdr_a_bounded_transport) = S ((S (mdr_i_bounded_transport)) * v)) /\ exists ff_q_mdr_bounded_transportn. u = ff_q_mdr_bounded_transportn * S ((S (mdr_i_bounded_transport)) * v) + (mdr_a_bounded_transport)))) -> (forall fom_index_mrf_bounded_source. (exists fom_gap_mrf_bounded_source_index_bound. fom_gap_mrf_bounded_source_index_bound + S (fom_index_mrf_bounded_source) = l) -> exists fom_value_mrf_bounded_source. ((((exists fom_beta_height_mrf_bounded_source_entry. fom_beta_height_mrf_bounded_source_entry + S (fom_value_mrf_bounded_source) = S ((S (fom_index_mrf_bounded_source)) * c)) /\ exists fom_beta_quotient_mrf_bounded_source_entry. b = fom_beta_quotient_mrf_bounded_source_entry * S ((S (fom_index_mrf_bounded_source)) * c) + (fom_value_mrf_bounded_source))) /\ (exists fom_gap_mrf_bounded_source_value_bound. fom_gap_mrf_bounded_source_value_bound + S (fom_value_mrf_bounded_source) = B))) -> (forall fom_index_mrf_bounded_target. (exists fom_gap_mrf_bounded_target_index_bound. fom_gap_mrf_bounded_target_index_bound + S (fom_index_mrf_bounded_target) = l) -> exists fom_value_mrf_bounded_target. ((((exists fom_beta_height_mrf_bounded_target_entry. fom_beta_height_mrf_bounded_target_entry + S (fom_value_mrf_bounded_target) = S ((S (fom_index_mrf_bounded_target)) * v)) /\ exists fom_beta_quotient_mrf_bounded_target_entry. u = fom_beta_quotient_mrf_bounded_target_entry * S ((S (fom_index_mrf_bounded_target)) * v) + (fom_value_mrf_bounded_target))) /\ (exists fom_gap_mrf_bounded_target_value_bound. fom_gap_mrf_bounded_target_value_bound + S (fom_value_mrf_bounded_target) = B)))
intro bintro cintro uintro vintro lintro Bintro hprefixintro hboundedintro iintro hihave hentry : exists a. ((((exists ff_h_mdr_transport_source_entry. ff_h_mdr_transport_source_entry + S (a) = S ((S (i)) * c)) /\ exists ff_q_mdr_transport_source_entry. b = ff_q_mdr_transport_source_entry * S ((S (i)) * c) + (a))) /\ (exists mdr_gap_transport_source_bound. mdr_gap_transport_source_bound + S (a) = (B)))specialize hbounded (i)apply hboundedexact hicases hentrycases hentry_witnessexists xsplitspecialize hprefix (i)specialize hprefix (x)apply hprefixexact hiexact hentry_witness_leftexact hentry_witness_right
matrix_rank_bounded_prefix_empty · unchanged support, not a new admission
forall b c B. (forall fom_index_mrf_empty_bounded. (exists fom_gap_mrf_empty_bounded_index_bound. fom_gap_mrf_empty_bounded_index_bound + S (fom_index_mrf_empty_bounded) = 0) -> exists fom_value_mrf_empty_bounded. ((((exists fom_beta_height_mrf_empty_bounded_entry. fom_beta_height_mrf_empty_bounded_entry + S (fom_value_mrf_empty_bounded) = S ((S (fom_index_mrf_empty_bounded)) * c)) /\ exists fom_beta_quotient_mrf_empty_bounded_entry. b = fom_beta_quotient_mrf_empty_bounded_entry * S ((S (fom_index_mrf_empty_bounded)) * c) + (fom_value_mrf_empty_bounded))) /\ (exists fom_gap_mrf_empty_bounded_value_bound. fom_gap_mrf_empty_bounded_value_bound + S (fom_value_mrf_empty_bounded) = B)))
intro bintro cintro Bintro iintro hiexfalsospecialize matrix_rank_no_index_below_zero (i)apply matrix_rank_no_index_below_zeroexact hi
matrix_rank_bounded_prefix_drop_last · unchanged support, not a new admission
forall b c l B. (forall fom_index_mrf_drop_source. (exists fom_gap_mrf_drop_source_index_bound. fom_gap_mrf_drop_source_index_bound + S (fom_index_mrf_drop_source) = S l) -> exists fom_value_mrf_drop_source. ((((exists fom_beta_height_mrf_drop_source_entry. fom_beta_height_mrf_drop_source_entry + S (fom_value_mrf_drop_source) = S ((S (fom_index_mrf_drop_source)) * c)) /\ exists fom_beta_quotient_mrf_drop_source_entry. b = fom_beta_quotient_mrf_drop_source_entry * S ((S (fom_index_mrf_drop_source)) * c) + (fom_value_mrf_drop_source))) /\ (exists fom_gap_mrf_drop_source_value_bound. fom_gap_mrf_drop_source_value_bound + S (fom_value_mrf_drop_source) = B))) -> (forall fom_index_mrf_drop_result. (exists fom_gap_mrf_drop_result_index_bound. fom_gap_mrf_drop_result_index_bound + S (fom_index_mrf_drop_result) = l) -> exists fom_value_mrf_drop_result. ((((exists fom_beta_height_mrf_drop_result_entry. fom_beta_height_mrf_drop_result_entry + S (fom_value_mrf_drop_result) = S ((S (fom_index_mrf_drop_result)) * c)) /\ exists fom_beta_quotient_mrf_drop_result_entry. b = fom_beta_quotient_mrf_drop_result_entry * S ((S (fom_index_mrf_drop_result)) * c) + (fom_value_mrf_drop_result))) /\ (exists fom_gap_mrf_drop_result_value_bound. fom_gap_mrf_drop_result_value_bound + S (fom_value_mrf_drop_result) = B)))
intro bintro cintro lintro Bintro hboundedintro iintro hispecialize hbounded (i)apply hboundedspecialize le_succ (S i)specialize le_succ (l)apply le_succexact hi
matrix_rank_bounded_prefix_extend · unchanged support, not a new admission
forall b c l B a. (forall fom_index_mrf_extend_source. (exists fom_gap_mrf_extend_source_index_bound. fom_gap_mrf_extend_source_index_bound + S (fom_index_mrf_extend_source) = l) -> exists fom_value_mrf_extend_source. ((((exists fom_beta_height_mrf_extend_source_entry. fom_beta_height_mrf_extend_source_entry + S (fom_value_mrf_extend_source) = S ((S (fom_index_mrf_extend_source)) * c)) /\ exists fom_beta_quotient_mrf_extend_source_entry. b = fom_beta_quotient_mrf_extend_source_entry * S ((S (fom_index_mrf_extend_source)) * c) + (fom_value_mrf_extend_source))) /\ (exists fom_gap_mrf_extend_source_value_bound. fom_gap_mrf_extend_source_value_bound + S (fom_value_mrf_extend_source) = B))) -> (((exists ff_h_mdr_extend_entry. ff_h_mdr_extend_entry + S (a) = S ((S (l)) * c)) /\ exists ff_q_mdr_extend_entry. b = ff_q_mdr_extend_entry * S ((S (l)) * c) + (a))) -> (exists mdr_gap_extend_bound. mdr_gap_extend_bound + S (a) = (B)) -> (forall fom_index_mrf_extend_result. (exists fom_gap_mrf_extend_result_index_bound. fom_gap_mrf_extend_result_index_bound + S (fom_index_mrf_extend_result) = S l) -> exists fom_value_mrf_extend_result. ((((exists fom_beta_height_mrf_extend_result_entry. fom_beta_height_mrf_extend_result_entry + S (fom_value_mrf_extend_result) = S ((S (fom_index_mrf_extend_result)) * c)) /\ exists fom_beta_quotient_mrf_extend_result_entry. b = fom_beta_quotient_mrf_extend_result_entry * S ((S (fom_index_mrf_extend_result)) * c) + (fom_value_mrf_extend_result))) /\ (exists fom_gap_mrf_extend_result_value_bound. fom_gap_mrf_extend_result_value_bound + S (fom_value_mrf_extend_result) = B)))
intro bintro cintro lintro Bintro aintro hboundedintro haintro haboundintro iintro hihave hcase : i = l \/ (exists mdr_gap_extend_index. mdr_gap_extend_index + S (i) = (l))specialize finite_lt_succ_eq_or_lt (l)specialize finite_lt_succ_eq_or_lt (i)apply finite_lt_succ_eq_or_ltexact hicases hcaseexists asplitrewrite hcase_leftrewrite hcase_leftexact haexact haboundspecialize hbounded (i)apply hboundedexact hcase_right
hensel_canonical_residue_exists · unchanged support, not a new admission
forall m a. ~(m = 0) -> exists r. ((exists hpl_gap_bound. hpl_gap_bound + S (r) = (m)) /\ (exists hgcrt_mod_left_hpl_mod hgcrt_mod_right_hpl_mod. a + m * hgcrt_mod_left_hpl_mod = r + m * hgcrt_mod_right_hpl_mod))
intro mintro aintro hmhave hdiv : exists q r. a = m * q + r /\ S r <= mspecialize division_remainder_exists mspecialize division_remainder_exists aapply division_remainder_existsexact hmcases hdivcases hdiv_witnesscases hdiv_witness_witnessexists x1splitexact hdiv_witness_witness_rightexists 0exists xtrans asimptrans m * x + x1exact hdiv_witness_witness_leftapply add_comm
signed_integer_floor_exists · unchanged support, not a new admission
forall xp xn m. ~(m = 0) -> exists qp qn r. (((xp) + (m) * (qn) = ((xn) + (m) * (qp)) + (r) /\ exists sif_gap_pair_total. sif_gap_pair_total + S (r) = (m)))
intro xpintro xnintro mintro hmhave hpred : exists h. m = S hspecialize nonzero_is_succ mapply nonzero_is_succexact hmcases hpredhave hdiv : exists q r. xp + x * xn = m * q + r /\ (exists k. k + S r = m)specialize division_remainder_exists mspecialize division_remainder_exists (xp + x * xn)apply division_remainder_existsexact hmcases hdivcases hdiv_witnesscases hdiv_witness_witnessexists x1exists xnexists x2splittrans (xp + x * xn) + xnrewrite hpred_witnesssimp [mul_succ_left, add_assoc]trans (m * x1 + x2) + xncongrexact hdiv_witness_witness_leftreflsimp [add_assoc, add_comm]exact hdiv_witness_witness_right
prime_field_zero_below_prime · unchanged support, not a new admission
forall p. (~((p) = 1) /\ forall pfa_factor_left_zero_domain pfa_factor_right_zero_domain. (p) = pfa_factor_left_zero_domain * pfa_factor_right_zero_domain -> pfa_factor_left_zero_domain = 1 \/ pfa_factor_right_zero_domain = 1) -> (exists pfa_gap_zero_bound. pfa_gap_zero_bound + S (0) = (p))
intro pintro hpspecialize one_le_of_ne_zero (p)apply one_le_of_ne_zerointro hzspecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hz
polynomial_zero_extended_entry_exists · unchanged support, not a new admission
forall b c L i. exists a. ((((exists pfa_gap_pad_existsinside. pfa_gap_pad_existsinside + S (i) = (L)) /\ ((((exists ff_h_pfp_pad_existsentry. ff_h_pfp_pad_existsentry + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_pad_existsentry. b = ff_q_pfp_pad_existsentry * S ((S (i)) * c) + (a)))))) \/ (((exists pfc_gap_pad_existsoutside. pfc_gap_pad_existsoutside+(L)=(i)) /\ (((a)=0)))))
intro bintro cintro Lintro ihave ho : (exists pfc_gap_pad_order_out. pfc_gap_pad_order_out+(L)=(i)) \/ (exists pfa_gap_pad_order_in. pfa_gap_pad_order_in + S (i) = (L))specialize le_or_lt (L)specialize le_or_lt (i)apply le_or_ltcases hoexists 0rightsplitexact ho_leftreflhave ha : exists a. (((exists ff_h_pfp_pad_chosen. ff_h_pfp_pad_chosen + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_pad_chosen. b = ff_q_pfp_pad_chosen * S ((S (i)) * c) + (a)))specialize beta_at_exists (b)specialize beta_at_exists (c)specialize beta_at_exists (i)apply beta_at_existscases haexists xleftsplitexact ho_rightexact ha_witness
polynomial_zero_extended_entry_functional · unchanged support, not a new admission
forall b c L i a d. ((((exists pfa_gap_pad_firstinside. pfa_gap_pad_firstinside + S (i) = (L)) /\ ((((exists ff_h_pfp_pad_firstentry. ff_h_pfp_pad_firstentry + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_pad_firstentry. b = ff_q_pfp_pad_firstentry * S ((S (i)) * c) + (a)))))) \/ (((exists pfc_gap_pad_firstoutside. pfc_gap_pad_firstoutside+(L)=(i)) /\ (((a)=0))))) -> ((((exists pfa_gap_pad_secondinside. pfa_gap_pad_secondinside + S (i) = (L)) /\ ((((exists ff_h_pfp_pad_secondentry. ff_h_pfp_pad_secondentry + S (d) = S ((S (i)) * c)) /\ exists ff_q_pfp_pad_secondentry. b = ff_q_pfp_pad_secondentry * S ((S (i)) * c) + (d)))))) \/ (((exists pfc_gap_pad_secondoutside. pfc_gap_pad_secondoutside+(L)=(i)) /\ (((d)=0))))) -> a=d
intro bintro cintro Lintro iintro aintro dintro haintro hdcases hacases ha_leftcases hdcases hd_leftspecialize beta_at_unique (b)specialize beta_at_unique (c)specialize beta_at_unique (i)specialize beta_at_unique (a)specialize beta_at_unique (d)apply beta_at_uniqueexact ha_left_rightexact hd_left_rightcases hd_rightexfalsospecialize lt_not_le (i)specialize lt_not_le (L)apply lt_not_leexact ha_left_leftexact hd_right_leftcases ha_rightcases hdcases hd_leftexfalsospecialize lt_not_le (i)specialize lt_not_le (L)apply lt_not_leexact hd_left_leftexact ha_right_leftcases hd_righttrans 0exact ha_right_rightsymmexact hd_right_right
prime_field_convolution_prefix_entry · unchanged support, not a new admission
forall p ab ac L bb bc M db dc N i a. (forall pfc_index_entry_source. (exists pfa_gap_entry_sourcebound. pfa_gap_entry_sourcebound + S (pfc_index_entry_source) = (N)) -> exists pfc_value_entry_source. ((((exists ff_h_pfp_entry_sourceentry. ff_h_pfp_entry_sourceentry + S (pfc_value_entry_source) = S ((S (pfc_index_entry_source)) * dc)) /\ exists ff_q_pfp_entry_sourceentry. db = ff_q_pfp_entry_sourceentry * S ((S (pfc_index_entry_source)) * dc) + (pfc_value_entry_source))) /\ ((exists pfc_terms_code_entry_sourcecoefficient pfc_terms_scale_entry_sourcecoefficient pfc_natural_sum_entry_sourcecoefficient. ((forall pfc_index_entry_sourcecoefficientdiagonal. (exists pfa_gap_entry_sourcecoefficientdiagonalbound. pfa_gap_entry_sourcecoefficientdiagonalbound + S (pfc_index_entry_sourcecoefficientdiagonal) = (S (pfc_index_entry_source))) -> exists pfc_value_entry_sourcecoefficientdiagonal. ((((exists ff_h_pfp_entry_sourcecoefficientdiagonalentry. ff_h_pfp_entry_sourcecoefficientdiagonalentry + S (pfc_value_entry_sourcecoefficientdiagonal) = S ((S (pfc_index_entry_sourcecoefficientdiagonal)) * pfc_terms_scale_entry_sourcecoefficient)) /\ exists ff_q_pfp_entry_sourcecoefficientdiagonalentry. pfc_terms_code_entry_sourcecoefficient = ff_q_pfp_entry_sourcecoefficientdiagonalentry * S ((S (pfc_index_entry_sourcecoefficientdiagonal)) * pfc_terms_scale_entry_sourcecoefficient) + (pfc_value_entry_sourcecoefficientdiagonal))) /\ ((exists pfc_complement_entry_sourcecoefficientdiagonalterm pfc_left_entry_sourcecoefficientdiagonalterm pfc_right_entry_sourcecoefficientdiagonalterm. (((pfc_index_entry_sourcecoefficientdiagonal)+pfc_complement_entry_sourcecoefficientdiagonalterm=(pfc_index_entry_source)) /\ ((((((exists pfa_gap_entry_sourcecoefficientdiagonaltermleftinside. pfa_gap_entry_sourcecoefficientdiagonaltermleftinside + S (pfc_index_entry_sourcecoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_entry_sourcecoefficientdiagonaltermleftentry. ff_h_pfp_entry_sourcecoefficientdiagonaltermleftentry + S (pfc_left_entry_sourcecoefficientdiagonalterm) = S ((S (pfc_index_entry_sourcecoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_entry_sourcecoefficientdiagonaltermleftentry. ab = ff_q_pfp_entry_sourcecoefficientdiagonaltermleftentry * S ((S (pfc_index_entry_sourcecoefficientdiagonal)) * ac) + (pfc_left_entry_sourcecoefficientdiagonalterm)))))) \/ (((exists pfc_gap_entry_sourcecoefficientdiagonaltermleftoutside. pfc_gap_entry_sourcecoefficientdiagonaltermleftoutside+(L)=(pfc_index_entry_sourcecoefficientdiagonal)) /\ (((pfc_left_entry_sourcecoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_entry_sourcecoefficientdiagonaltermrightinside. pfa_gap_entry_sourcecoefficientdiagonaltermrightinside + S (pfc_complement_entry_sourcecoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_entry_sourcecoefficientdiagonaltermrightentry. ff_h_pfp_entry_sourcecoefficientdiagonaltermrightentry + S (pfc_right_entry_sourcecoefficientdiagonalterm) = S ((S (pfc_complement_entry_sourcecoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_entry_sourcecoefficientdiagonaltermrightentry. bb = ff_q_pfp_entry_sourcecoefficientdiagonaltermrightentry * S ((S (pfc_complement_entry_sourcecoefficientdiagonalterm)) * bc) + (pfc_right_entry_sourcecoefficientdiagonalterm)))))) \/ (((exists pfc_gap_entry_sourcecoefficientdiagonaltermrightoutside. pfc_gap_entry_sourcecoefficientdiagonaltermrightoutside+(M)=(pfc_complement_entry_sourcecoefficientdiagonalterm)) /\ (((pfc_right_entry_sourcecoefficientdiagonalterm)=0))))) /\ (((pfc_value_entry_sourcecoefficientdiagonal)=pfc_left_entry_sourcecoefficientdiagonalterm*pfc_right_entry_sourcecoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_entry_sourcecoefficientsum fs_v_pfc_entry_sourcecoefficientsum. ((((exists fs_h_pfc_entry_sourcecoefficientsum_body_start. fs_h_pfc_entry_sourcecoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_entry_sourcecoefficientsum)) /\ exists fs_q_pfc_entry_sourcecoefficientsum_body_start. fs_u_pfc_entry_sourcecoefficientsum = fs_q_pfc_entry_sourcecoefficientsum_body_start * S ((S (0)) * fs_v_pfc_entry_sourcecoefficientsum) + (0))) /\ ((((exists fs_h_pfc_entry_sourcecoefficientsum_body_terminal. fs_h_pfc_entry_sourcecoefficientsum_body_terminal + S (pfc_natural_sum_entry_sourcecoefficient) = S ((S (S (pfc_index_entry_source))) * fs_v_pfc_entry_sourcecoefficientsum)) /\ exists fs_q_pfc_entry_sourcecoefficientsum_body_terminal. fs_u_pfc_entry_sourcecoefficientsum = fs_q_pfc_entry_sourcecoefficientsum_body_terminal * S ((S (S (pfc_index_entry_source))) * fs_v_pfc_entry_sourcecoefficientsum) + (pfc_natural_sum_entry_sourcecoefficient))) /\ forall fs_i_pfc_entry_sourcecoefficientsum_body_steps. (exists fs_lt_pfc_entry_sourcecoefficientsum_body_steps_bound. fs_lt_pfc_entry_sourcecoefficientsum_body_steps_bound + S fs_i_pfc_entry_sourcecoefficientsum_body_steps = S (pfc_index_entry_source)) -> exists fs_a_pfc_entry_sourcecoefficientsum_body_steps fs_r_pfc_entry_sourcecoefficientsum_body_steps fs_s_pfc_entry_sourcecoefficientsum_body_steps. ((((exists fs_h_pfc_entry_sourcecoefficientsum_body_steps_summand. fs_h_pfc_entry_sourcecoefficientsum_body_steps_summand + S (fs_a_pfc_entry_sourcecoefficientsum_body_steps) = S ((S (fs_i_pfc_entry_sourcecoefficientsum_body_steps)) * pfc_terms_scale_entry_sourcecoefficient)) /\ exists fs_q_pfc_entry_sourcecoefficientsum_body_steps_summand. pfc_terms_code_entry_sourcecoefficient = fs_q_pfc_entry_sourcecoefficientsum_body_steps_summand * S ((S (fs_i_pfc_entry_sourcecoefficientsum_body_steps)) * pfc_terms_scale_entry_sourcecoefficient) + (fs_a_pfc_entry_sourcecoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_entry_sourcecoefficientsum_body_steps_partial. fs_h_pfc_entry_sourcecoefficientsum_body_steps_partial + S (fs_r_pfc_entry_sourcecoefficientsum_body_steps) = S ((S (fs_i_pfc_entry_sourcecoefficientsum_body_steps)) * fs_v_pfc_entry_sourcecoefficientsum)) /\ exists fs_q_pfc_entry_sourcecoefficientsum_body_steps_partial. fs_u_pfc_entry_sourcecoefficientsum = fs_q_pfc_entry_sourcecoefficientsum_body_steps_partial * S ((S (fs_i_pfc_entry_sourcecoefficientsum_body_steps)) * fs_v_pfc_entry_sourcecoefficientsum) + (fs_r_pfc_entry_sourcecoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_entry_sourcecoefficientsum_body_steps_successor. fs_h_pfc_entry_sourcecoefficientsum_body_steps_successor + S (fs_s_pfc_entry_sourcecoefficientsum_body_steps) = S ((S (S fs_i_pfc_entry_sourcecoefficientsum_body_steps)) * fs_v_pfc_entry_sourcecoefficientsum)) /\ exists fs_q_pfc_entry_sourcecoefficientsum_body_steps_successor. fs_u_pfc_entry_sourcecoefficientsum = fs_q_pfc_entry_sourcecoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_entry_sourcecoefficientsum_body_steps)) * fs_v_pfc_entry_sourcecoefficientsum) + (fs_s_pfc_entry_sourcecoefficientsum_body_steps))) /\ fs_s_pfc_entry_sourcecoefficientsum_body_steps = fs_r_pfc_entry_sourcecoefficientsum_body_steps + fs_a_pfc_entry_sourcecoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_entry_sourcecoefficientresiduebound. pfa_gap_entry_sourcecoefficientresiduebound + S (pfc_value_entry_source) = (p)) /\ ((exists pfa_offset_left_entry_sourcecoefficientresiduecongruence pfa_offset_right_entry_sourcecoefficientresiduecongruence. (pfc_natural_sum_entry_sourcecoefficient) + (p) * pfa_offset_left_entry_sourcecoefficientresiduecongruence = (pfc_value_entry_source) + (p) * pfa_offset_right_entry_sourcecoefficientresiduecongruence)))))))))))) -> (exists pfa_gap_entry_index. pfa_gap_entry_index + S (i) = (N)) -> (((exists ff_h_pfp_entry_given. ff_h_pfp_entry_given + S (a) = S ((S (i)) * dc)) /\ exists ff_q_pfp_entry_given. db = ff_q_pfp_entry_given * S ((S (i)) * dc) + (a))) -> (exists pfc_terms_code_entry_result pfc_terms_scale_entry_result pfc_natural_sum_entry_result. ((forall pfc_index_entry_resultdiagonal. (exists pfa_gap_entry_resultdiagonalbound. pfa_gap_entry_resultdiagonalbound + S (pfc_index_entry_resultdiagonal) = (S (i))) -> exists pfc_value_entry_resultdiagonal. ((((exists ff_h_pfp_entry_resultdiagonalentry. ff_h_pfp_entry_resultdiagonalentry + S (pfc_value_entry_resultdiagonal) = S ((S (pfc_index_entry_resultdiagonal)) * pfc_terms_scale_entry_result)) /\ exists ff_q_pfp_entry_resultdiagonalentry. pfc_terms_code_entry_result = ff_q_pfp_entry_resultdiagonalentry * S ((S (pfc_index_entry_resultdiagonal)) * pfc_terms_scale_entry_result) + (pfc_value_entry_resultdiagonal))) /\ ((exists pfc_complement_entry_resultdiagonalterm pfc_left_entry_resultdiagonalterm pfc_right_entry_resultdiagonalterm. (((pfc_index_entry_resultdiagonal)+pfc_complement_entry_resultdiagonalterm=(i)) /\ ((((((exists pfa_gap_entry_resultdiagonaltermleftinside. pfa_gap_entry_resultdiagonaltermleftinside + S (pfc_index_entry_resultdiagonal) = (L)) /\ ((((exists ff_h_pfp_entry_resultdiagonaltermleftentry. ff_h_pfp_entry_resultdiagonaltermleftentry + S (pfc_left_entry_resultdiagonalterm) = S ((S (pfc_index_entry_resultdiagonal)) * ac)) /\ exists ff_q_pfp_entry_resultdiagonaltermleftentry. ab = ff_q_pfp_entry_resultdiagonaltermleftentry * S ((S (pfc_index_entry_resultdiagonal)) * ac) + (pfc_left_entry_resultdiagonalterm)))))) \/ (((exists pfc_gap_entry_resultdiagonaltermleftoutside. pfc_gap_entry_resultdiagonaltermleftoutside+(L)=(pfc_index_entry_resultdiagonal)) /\ (((pfc_left_entry_resultdiagonalterm)=0))))) /\ ((((((exists pfa_gap_entry_resultdiagonaltermrightinside. pfa_gap_entry_resultdiagonaltermrightinside + S (pfc_complement_entry_resultdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_entry_resultdiagonaltermrightentry. ff_h_pfp_entry_resultdiagonaltermrightentry + S (pfc_right_entry_resultdiagonalterm) = S ((S (pfc_complement_entry_resultdiagonalterm)) * bc)) /\ exists ff_q_pfp_entry_resultdiagonaltermrightentry. bb = ff_q_pfp_entry_resultdiagonaltermrightentry * S ((S (pfc_complement_entry_resultdiagonalterm)) * bc) + (pfc_right_entry_resultdiagonalterm)))))) \/ (((exists pfc_gap_entry_resultdiagonaltermrightoutside. pfc_gap_entry_resultdiagonaltermrightoutside+(M)=(pfc_complement_entry_resultdiagonalterm)) /\ (((pfc_right_entry_resultdiagonalterm)=0))))) /\ (((pfc_value_entry_resultdiagonal)=pfc_left_entry_resultdiagonalterm*pfc_right_entry_resultdiagonalterm))))))))))) /\ (((exists fs_u_pfc_entry_resultsum fs_v_pfc_entry_resultsum. ((((exists fs_h_pfc_entry_resultsum_body_start. fs_h_pfc_entry_resultsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_entry_resultsum)) /\ exists fs_q_pfc_entry_resultsum_body_start. fs_u_pfc_entry_resultsum = fs_q_pfc_entry_resultsum_body_start * S ((S (0)) * fs_v_pfc_entry_resultsum) + (0))) /\ ((((exists fs_h_pfc_entry_resultsum_body_terminal. fs_h_pfc_entry_resultsum_body_terminal + S (pfc_natural_sum_entry_result) = S ((S (S (i))) * fs_v_pfc_entry_resultsum)) /\ exists fs_q_pfc_entry_resultsum_body_terminal. fs_u_pfc_entry_resultsum = fs_q_pfc_entry_resultsum_body_terminal * S ((S (S (i))) * fs_v_pfc_entry_resultsum) + (pfc_natural_sum_entry_result))) /\ forall fs_i_pfc_entry_resultsum_body_steps. (exists fs_lt_pfc_entry_resultsum_body_steps_bound. fs_lt_pfc_entry_resultsum_body_steps_bound + S fs_i_pfc_entry_resultsum_body_steps = S (i)) -> exists fs_a_pfc_entry_resultsum_body_steps fs_r_pfc_entry_resultsum_body_steps fs_s_pfc_entry_resultsum_body_steps. ((((exists fs_h_pfc_entry_resultsum_body_steps_summand. fs_h_pfc_entry_resultsum_body_steps_summand + S (fs_a_pfc_entry_resultsum_body_steps) = S ((S (fs_i_pfc_entry_resultsum_body_steps)) * pfc_terms_scale_entry_result)) /\ exists fs_q_pfc_entry_resultsum_body_steps_summand. pfc_terms_code_entry_result = fs_q_pfc_entry_resultsum_body_steps_summand * S ((S (fs_i_pfc_entry_resultsum_body_steps)) * pfc_terms_scale_entry_result) + (fs_a_pfc_entry_resultsum_body_steps))) /\ ((((exists fs_h_pfc_entry_resultsum_body_steps_partial. fs_h_pfc_entry_resultsum_body_steps_partial + S (fs_r_pfc_entry_resultsum_body_steps) = S ((S (fs_i_pfc_entry_resultsum_body_steps)) * fs_v_pfc_entry_resultsum)) /\ exists fs_q_pfc_entry_resultsum_body_steps_partial. fs_u_pfc_entry_resultsum = fs_q_pfc_entry_resultsum_body_steps_partial * S ((S (fs_i_pfc_entry_resultsum_body_steps)) * fs_v_pfc_entry_resultsum) + (fs_r_pfc_entry_resultsum_body_steps))) /\ ((((exists fs_h_pfc_entry_resultsum_body_steps_successor. fs_h_pfc_entry_resultsum_body_steps_successor + S (fs_s_pfc_entry_resultsum_body_steps) = S ((S (S fs_i_pfc_entry_resultsum_body_steps)) * fs_v_pfc_entry_resultsum)) /\ exists fs_q_pfc_entry_resultsum_body_steps_successor. fs_u_pfc_entry_resultsum = fs_q_pfc_entry_resultsum_body_steps_successor * S ((S (S fs_i_pfc_entry_resultsum_body_steps)) * fs_v_pfc_entry_resultsum) + (fs_s_pfc_entry_resultsum_body_steps))) /\ fs_s_pfc_entry_resultsum_body_steps = fs_r_pfc_entry_resultsum_body_steps + fs_a_pfc_entry_resultsum_body_steps)))))) /\ ((((exists pfa_gap_entry_resultresiduebound. pfa_gap_entry_resultresiduebound + S (a) = (p)) /\ ((exists pfa_offset_left_entry_resultresiduecongruence pfa_offset_right_entry_resultresiduecongruence. (pfc_natural_sum_entry_result) + (p) * pfa_offset_left_entry_resultresiduecongruence = (a) + (p) * pfa_offset_right_entry_resultresiduecongruence)))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro dbintro dcintro Nintro iintro aintro hintro hiintro hahave hv : exists t. ((((exists ff_h_pfp_entry_chosen. ff_h_pfp_entry_chosen + S (t) = S ((S (i)) * dc)) /\ exists ff_q_pfp_entry_chosen. db = ff_q_pfp_entry_chosen * S ((S (i)) * dc) + (t))) /\ ((exists pfc_terms_code_entry_chosen_value pfc_terms_scale_entry_chosen_value pfc_natural_sum_entry_chosen_value. ((forall pfc_index_entry_chosen_valuediagonal. (exists pfa_gap_entry_chosen_valuediagonalbound. pfa_gap_entry_chosen_valuediagonalbound + S (pfc_index_entry_chosen_valuediagonal) = (S (i))) -> exists pfc_value_entry_chosen_valuediagonal. ((((exists ff_h_pfp_entry_chosen_valuediagonalentry. ff_h_pfp_entry_chosen_valuediagonalentry + S (pfc_value_entry_chosen_valuediagonal) = S ((S (pfc_index_entry_chosen_valuediagonal)) * pfc_terms_scale_entry_chosen_value)) /\ exists ff_q_pfp_entry_chosen_valuediagonalentry. pfc_terms_code_entry_chosen_value = ff_q_pfp_entry_chosen_valuediagonalentry * S ((S (pfc_index_entry_chosen_valuediagonal)) * pfc_terms_scale_entry_chosen_value) + (pfc_value_entry_chosen_valuediagonal))) /\ ((exists pfc_complement_entry_chosen_valuediagonalterm pfc_left_entry_chosen_valuediagonalterm pfc_right_entry_chosen_valuediagonalterm. (((pfc_index_entry_chosen_valuediagonal)+pfc_complement_entry_chosen_valuediagonalterm=(i)) /\ ((((((exists pfa_gap_entry_chosen_valuediagonaltermleftinside. pfa_gap_entry_chosen_valuediagonaltermleftinside + S (pfc_index_entry_chosen_valuediagonal) = (L)) /\ ((((exists ff_h_pfp_entry_chosen_valuediagonaltermleftentry. ff_h_pfp_entry_chosen_valuediagonaltermleftentry + S (pfc_left_entry_chosen_valuediagonalterm) = S ((S (pfc_index_entry_chosen_valuediagonal)) * ac)) /\ exists ff_q_pfp_entry_chosen_valuediagonaltermleftentry. ab = ff_q_pfp_entry_chosen_valuediagonaltermleftentry * S ((S (pfc_index_entry_chosen_valuediagonal)) * ac) + (pfc_left_entry_chosen_valuediagonalterm)))))) \/ (((exists pfc_gap_entry_chosen_valuediagonaltermleftoutside. pfc_gap_entry_chosen_valuediagonaltermleftoutside+(L)=(pfc_index_entry_chosen_valuediagonal)) /\ (((pfc_left_entry_chosen_valuediagonalterm)=0))))) /\ ((((((exists pfa_gap_entry_chosen_valuediagonaltermrightinside. pfa_gap_entry_chosen_valuediagonaltermrightinside + S (pfc_complement_entry_chosen_valuediagonalterm) = (M)) /\ ((((exists ff_h_pfp_entry_chosen_valuediagonaltermrightentry. ff_h_pfp_entry_chosen_valuediagonaltermrightentry + S (pfc_right_entry_chosen_valuediagonalterm) = S ((S (pfc_complement_entry_chosen_valuediagonalterm)) * bc)) /\ exists ff_q_pfp_entry_chosen_valuediagonaltermrightentry. bb = ff_q_pfp_entry_chosen_valuediagonaltermrightentry * S ((S (pfc_complement_entry_chosen_valuediagonalterm)) * bc) + (pfc_right_entry_chosen_valuediagonalterm)))))) \/ (((exists pfc_gap_entry_chosen_valuediagonaltermrightoutside. pfc_gap_entry_chosen_valuediagonaltermrightoutside+(M)=(pfc_complement_entry_chosen_valuediagonalterm)) /\ (((pfc_right_entry_chosen_valuediagonalterm)=0))))) /\ (((pfc_value_entry_chosen_valuediagonal)=pfc_left_entry_chosen_valuediagonalterm*pfc_right_entry_chosen_valuediagonalterm))))))))))) /\ (((exists fs_u_pfc_entry_chosen_valuesum fs_v_pfc_entry_chosen_valuesum. ((((exists fs_h_pfc_entry_chosen_valuesum_body_start. fs_h_pfc_entry_chosen_valuesum_body_start + S (0) = S ((S (0)) * fs_v_pfc_entry_chosen_valuesum)) /\ exists fs_q_pfc_entry_chosen_valuesum_body_start. fs_u_pfc_entry_chosen_valuesum = fs_q_pfc_entry_chosen_valuesum_body_start * S ((S (0)) * fs_v_pfc_entry_chosen_valuesum) + (0))) /\ ((((exists fs_h_pfc_entry_chosen_valuesum_body_terminal. fs_h_pfc_entry_chosen_valuesum_body_terminal + S (pfc_natural_sum_entry_chosen_value) = S ((S (S (i))) * fs_v_pfc_entry_chosen_valuesum)) /\ exists fs_q_pfc_entry_chosen_valuesum_body_terminal. fs_u_pfc_entry_chosen_valuesum = fs_q_pfc_entry_chosen_valuesum_body_terminal * S ((S (S (i))) * fs_v_pfc_entry_chosen_valuesum) + (pfc_natural_sum_entry_chosen_value))) /\ forall fs_i_pfc_entry_chosen_valuesum_body_steps. (exists fs_lt_pfc_entry_chosen_valuesum_body_steps_bound. fs_lt_pfc_entry_chosen_valuesum_body_steps_bound + S fs_i_pfc_entry_chosen_valuesum_body_steps = S (i)) -> exists fs_a_pfc_entry_chosen_valuesum_body_steps fs_r_pfc_entry_chosen_valuesum_body_steps fs_s_pfc_entry_chosen_valuesum_body_steps. ((((exists fs_h_pfc_entry_chosen_valuesum_body_steps_summand. fs_h_pfc_entry_chosen_valuesum_body_steps_summand + S (fs_a_pfc_entry_chosen_valuesum_body_steps) = S ((S (fs_i_pfc_entry_chosen_valuesum_body_steps)) * pfc_terms_scale_entry_chosen_value)) /\ exists fs_q_pfc_entry_chosen_valuesum_body_steps_summand. pfc_terms_code_entry_chosen_value = fs_q_pfc_entry_chosen_valuesum_body_steps_summand * S ((S (fs_i_pfc_entry_chosen_valuesum_body_steps)) * pfc_terms_scale_entry_chosen_value) + (fs_a_pfc_entry_chosen_valuesum_body_steps))) /\ ((((exists fs_h_pfc_entry_chosen_valuesum_body_steps_partial. fs_h_pfc_entry_chosen_valuesum_body_steps_partial + S (fs_r_pfc_entry_chosen_valuesum_body_steps) = S ((S (fs_i_pfc_entry_chosen_valuesum_body_steps)) * fs_v_pfc_entry_chosen_valuesum)) /\ exists fs_q_pfc_entry_chosen_valuesum_body_steps_partial. fs_u_pfc_entry_chosen_valuesum = fs_q_pfc_entry_chosen_valuesum_body_steps_partial * S ((S (fs_i_pfc_entry_chosen_valuesum_body_steps)) * fs_v_pfc_entry_chosen_valuesum) + (fs_r_pfc_entry_chosen_valuesum_body_steps))) /\ ((((exists fs_h_pfc_entry_chosen_valuesum_body_steps_successor. fs_h_pfc_entry_chosen_valuesum_body_steps_successor + S (fs_s_pfc_entry_chosen_valuesum_body_steps) = S ((S (S fs_i_pfc_entry_chosen_valuesum_body_steps)) * fs_v_pfc_entry_chosen_valuesum)) /\ exists fs_q_pfc_entry_chosen_valuesum_body_steps_successor. fs_u_pfc_entry_chosen_valuesum = fs_q_pfc_entry_chosen_valuesum_body_steps_successor * S ((S (S fs_i_pfc_entry_chosen_valuesum_body_steps)) * fs_v_pfc_entry_chosen_valuesum) + (fs_s_pfc_entry_chosen_valuesum_body_steps))) /\ fs_s_pfc_entry_chosen_valuesum_body_steps = fs_r_pfc_entry_chosen_valuesum_body_steps + fs_a_pfc_entry_chosen_valuesum_body_steps)))))) /\ ((((exists pfa_gap_entry_chosen_valueresiduebound. pfa_gap_entry_chosen_valueresiduebound + S (t) = (p)) /\ ((exists pfa_offset_left_entry_chosen_valueresiduecongruence pfa_offset_right_entry_chosen_valueresiduecongruence. (pfc_natural_sum_entry_chosen_value) + (p) * pfa_offset_left_entry_chosen_valueresiduecongruence = (t) + (p) * pfa_offset_right_entry_chosen_valueresiduecongruence)))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesshave heq : x=aspecialize beta_at_unique (db)specialize beta_at_unique (dc)specialize beta_at_unique (i)specialize beta_at_unique (x)specialize beta_at_unique (a)apply beta_at_uniqueexact hv_witness_leftexact harewrite heq at hv_witness_rightrewrite heq at hv_witness_rightexact hv_witness_right
polynomial_diagonal_term_functional · unchanged support, not a new admission
forall ab ac L bb bc M i j t s. (exists pfc_complement_term_unique_first pfc_left_term_unique_first pfc_right_term_unique_first. (((j)+pfc_complement_term_unique_first=(i)) /\ ((((((exists pfa_gap_term_unique_firstleftinside. pfa_gap_term_unique_firstleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_unique_firstleftentry. ff_h_pfp_term_unique_firstleftentry + S (pfc_left_term_unique_first) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_unique_firstleftentry. ab = ff_q_pfp_term_unique_firstleftentry * S ((S (j)) * ac) + (pfc_left_term_unique_first)))))) \/ (((exists pfc_gap_term_unique_firstleftoutside. pfc_gap_term_unique_firstleftoutside+(L)=(j)) /\ (((pfc_left_term_unique_first)=0))))) /\ ((((((exists pfa_gap_term_unique_firstrightinside. pfa_gap_term_unique_firstrightinside + S (pfc_complement_term_unique_first) = (M)) /\ ((((exists ff_h_pfp_term_unique_firstrightentry. ff_h_pfp_term_unique_firstrightentry + S (pfc_right_term_unique_first) = S ((S (pfc_complement_term_unique_first)) * bc)) /\ exists ff_q_pfp_term_unique_firstrightentry. bb = ff_q_pfp_term_unique_firstrightentry * S ((S (pfc_complement_term_unique_first)) * bc) + (pfc_right_term_unique_first)))))) \/ (((exists pfc_gap_term_unique_firstrightoutside. pfc_gap_term_unique_firstrightoutside+(M)=(pfc_complement_term_unique_first)) /\ (((pfc_right_term_unique_first)=0))))) /\ (((t)=pfc_left_term_unique_first*pfc_right_term_unique_first)))))))) -> (exists pfc_complement_term_unique_second pfc_left_term_unique_second pfc_right_term_unique_second. (((j)+pfc_complement_term_unique_second=(i)) /\ ((((((exists pfa_gap_term_unique_secondleftinside. pfa_gap_term_unique_secondleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_unique_secondleftentry. ff_h_pfp_term_unique_secondleftentry + S (pfc_left_term_unique_second) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_unique_secondleftentry. ab = ff_q_pfp_term_unique_secondleftentry * S ((S (j)) * ac) + (pfc_left_term_unique_second)))))) \/ (((exists pfc_gap_term_unique_secondleftoutside. pfc_gap_term_unique_secondleftoutside+(L)=(j)) /\ (((pfc_left_term_unique_second)=0))))) /\ ((((((exists pfa_gap_term_unique_secondrightinside. pfa_gap_term_unique_secondrightinside + S (pfc_complement_term_unique_second) = (M)) /\ ((((exists ff_h_pfp_term_unique_secondrightentry. ff_h_pfp_term_unique_secondrightentry + S (pfc_right_term_unique_second) = S ((S (pfc_complement_term_unique_second)) * bc)) /\ exists ff_q_pfp_term_unique_secondrightentry. bb = ff_q_pfp_term_unique_secondrightentry * S ((S (pfc_complement_term_unique_second)) * bc) + (pfc_right_term_unique_second)))))) \/ (((exists pfc_gap_term_unique_secondrightoutside. pfc_gap_term_unique_secondrightoutside+(M)=(pfc_complement_term_unique_second)) /\ (((pfc_right_term_unique_second)=0))))) /\ (((s)=pfc_left_term_unique_second*pfc_right_term_unique_second)))))))) -> t=s
intro abintro acintro Lintro bbintro bcintro Mintro iintro jintro tintro sintro htintro hscases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_rightcases hscases hs_witnesscases hs_witness_witnesscases hs_witness_witness_witnesscases hs_witness_witness_witness_rightcases hs_witness_witness_witness_right_righthave hk : x=x3specialize add_left_cancel (j)specialize add_left_cancel (x)specialize add_left_cancel (x3)apply add_left_canceltrans iexact ht_witness_witness_witness_leftsymmexact hs_witness_witness_witness_leftrewrite hk at ht_witness_witness_witness_right_right_leftrewrite hk at ht_witness_witness_witness_right_right_leftrewrite hk at ht_witness_witness_witness_right_right_leftrewrite hk at ht_witness_witness_witness_right_right_lefthave ha : x1=x4specialize polynomial_zero_extended_entry_functional (ab)specialize polynomial_zero_extended_entry_functional (ac)specialize polynomial_zero_extended_entry_functional (L)specialize polynomial_zero_extended_entry_functional (j)specialize polynomial_zero_extended_entry_functional (x1)specialize polynomial_zero_extended_entry_functional (x4)apply polynomial_zero_extended_entry_functionalexact ht_witness_witness_witness_right_leftexact hs_witness_witness_witness_right_lefthave hb : x2=x5specialize polynomial_zero_extended_entry_functional (bb)specialize polynomial_zero_extended_entry_functional (bc)specialize polynomial_zero_extended_entry_functional (M)specialize polynomial_zero_extended_entry_functional (x3)specialize polynomial_zero_extended_entry_functional (x2)specialize polynomial_zero_extended_entry_functional (x5)apply polynomial_zero_extended_entry_functionalexact ht_witness_witness_witness_right_right_leftexact hs_witness_witness_witness_right_right_lefttrans x1*x2exact ht_witness_witness_witness_right_right_righttrans x4*x5congrexact haexact hbsymmexact hs_witness_witness_witness_right_right_right
polynomial_diagonal_prefix_entry · unchanged support, not a new admission
forall ab ac L bb bc M I db dc N i a. (forall pfc_index_entry_source. (exists pfa_gap_entry_sourcebound. pfa_gap_entry_sourcebound + S (pfc_index_entry_source) = (N)) -> exists pfc_value_entry_source. ((((exists ff_h_pfp_entry_sourceentry. ff_h_pfp_entry_sourceentry + S (pfc_value_entry_source) = S ((S (pfc_index_entry_source)) * dc)) /\ exists ff_q_pfp_entry_sourceentry. db = ff_q_pfp_entry_sourceentry * S ((S (pfc_index_entry_source)) * dc) + (pfc_value_entry_source))) /\ ((exists pfc_complement_entry_sourceterm pfc_left_entry_sourceterm pfc_right_entry_sourceterm. (((pfc_index_entry_source)+pfc_complement_entry_sourceterm=(I)) /\ ((((((exists pfa_gap_entry_sourcetermleftinside. pfa_gap_entry_sourcetermleftinside + S (pfc_index_entry_source) = (L)) /\ ((((exists ff_h_pfp_entry_sourcetermleftentry. ff_h_pfp_entry_sourcetermleftentry + S (pfc_left_entry_sourceterm) = S ((S (pfc_index_entry_source)) * ac)) /\ exists ff_q_pfp_entry_sourcetermleftentry. ab = ff_q_pfp_entry_sourcetermleftentry * S ((S (pfc_index_entry_source)) * ac) + (pfc_left_entry_sourceterm)))))) \/ (((exists pfc_gap_entry_sourcetermleftoutside. pfc_gap_entry_sourcetermleftoutside+(L)=(pfc_index_entry_source)) /\ (((pfc_left_entry_sourceterm)=0))))) /\ ((((((exists pfa_gap_entry_sourcetermrightinside. pfa_gap_entry_sourcetermrightinside + S (pfc_complement_entry_sourceterm) = (M)) /\ ((((exists ff_h_pfp_entry_sourcetermrightentry. ff_h_pfp_entry_sourcetermrightentry + S (pfc_right_entry_sourceterm) = S ((S (pfc_complement_entry_sourceterm)) * bc)) /\ exists ff_q_pfp_entry_sourcetermrightentry. bb = ff_q_pfp_entry_sourcetermrightentry * S ((S (pfc_complement_entry_sourceterm)) * bc) + (pfc_right_entry_sourceterm)))))) \/ (((exists pfc_gap_entry_sourcetermrightoutside. pfc_gap_entry_sourcetermrightoutside+(M)=(pfc_complement_entry_sourceterm)) /\ (((pfc_right_entry_sourceterm)=0))))) /\ (((pfc_value_entry_source)=pfc_left_entry_sourceterm*pfc_right_entry_sourceterm))))))))))) -> (exists pfa_gap_entry_index. pfa_gap_entry_index + S (i) = (N)) -> (((exists ff_h_pfp_entry_given. ff_h_pfp_entry_given + S (a) = S ((S (i)) * dc)) /\ exists ff_q_pfp_entry_given. db = ff_q_pfp_entry_given * S ((S (i)) * dc) + (a))) -> (exists pfc_complement_entry_result pfc_left_entry_result pfc_right_entry_result. (((i)+pfc_complement_entry_result=(I)) /\ ((((((exists pfa_gap_entry_resultleftinside. pfa_gap_entry_resultleftinside + S (i) = (L)) /\ ((((exists ff_h_pfp_entry_resultleftentry. ff_h_pfp_entry_resultleftentry + S (pfc_left_entry_result) = S ((S (i)) * ac)) /\ exists ff_q_pfp_entry_resultleftentry. ab = ff_q_pfp_entry_resultleftentry * S ((S (i)) * ac) + (pfc_left_entry_result)))))) \/ (((exists pfc_gap_entry_resultleftoutside. pfc_gap_entry_resultleftoutside+(L)=(i)) /\ (((pfc_left_entry_result)=0))))) /\ ((((((exists pfa_gap_entry_resultrightinside. pfa_gap_entry_resultrightinside + S (pfc_complement_entry_result) = (M)) /\ ((((exists ff_h_pfp_entry_resultrightentry. ff_h_pfp_entry_resultrightentry + S (pfc_right_entry_result) = S ((S (pfc_complement_entry_result)) * bc)) /\ exists ff_q_pfp_entry_resultrightentry. bb = ff_q_pfp_entry_resultrightentry * S ((S (pfc_complement_entry_result)) * bc) + (pfc_right_entry_result)))))) \/ (((exists pfc_gap_entry_resultrightoutside. pfc_gap_entry_resultrightoutside+(M)=(pfc_complement_entry_result)) /\ (((pfc_right_entry_result)=0))))) /\ (((a)=pfc_left_entry_result*pfc_right_entry_result))))))))
intro abintro acintro Lintro bbintro bcintro Mintro Iintro dbintro dcintro Nintro iintro aintro hintro hiintro hahave hv : exists t. ((((exists ff_h_pfp_entry_chosen. ff_h_pfp_entry_chosen + S (t) = S ((S (i)) * dc)) /\ exists ff_q_pfp_entry_chosen. db = ff_q_pfp_entry_chosen * S ((S (i)) * dc) + (t))) /\ ((exists pfc_complement_entry_chosen_value pfc_left_entry_chosen_value pfc_right_entry_chosen_value. (((i)+pfc_complement_entry_chosen_value=(I)) /\ ((((((exists pfa_gap_entry_chosen_valueleftinside. pfa_gap_entry_chosen_valueleftinside + S (i) = (L)) /\ ((((exists ff_h_pfp_entry_chosen_valueleftentry. ff_h_pfp_entry_chosen_valueleftentry + S (pfc_left_entry_chosen_value) = S ((S (i)) * ac)) /\ exists ff_q_pfp_entry_chosen_valueleftentry. ab = ff_q_pfp_entry_chosen_valueleftentry * S ((S (i)) * ac) + (pfc_left_entry_chosen_value)))))) \/ (((exists pfc_gap_entry_chosen_valueleftoutside. pfc_gap_entry_chosen_valueleftoutside+(L)=(i)) /\ (((pfc_left_entry_chosen_value)=0))))) /\ ((((((exists pfa_gap_entry_chosen_valuerightinside. pfa_gap_entry_chosen_valuerightinside + S (pfc_complement_entry_chosen_value) = (M)) /\ ((((exists ff_h_pfp_entry_chosen_valuerightentry. ff_h_pfp_entry_chosen_valuerightentry + S (pfc_right_entry_chosen_value) = S ((S (pfc_complement_entry_chosen_value)) * bc)) /\ exists ff_q_pfp_entry_chosen_valuerightentry. bb = ff_q_pfp_entry_chosen_valuerightentry * S ((S (pfc_complement_entry_chosen_value)) * bc) + (pfc_right_entry_chosen_value)))))) \/ (((exists pfc_gap_entry_chosen_valuerightoutside. pfc_gap_entry_chosen_valuerightoutside+(M)=(pfc_complement_entry_chosen_value)) /\ (((pfc_right_entry_chosen_value)=0))))) /\ (((t)=pfc_left_entry_chosen_value*pfc_right_entry_chosen_value))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesshave heq : x=aspecialize beta_at_unique (db)specialize beta_at_unique (dc)specialize beta_at_unique (i)specialize beta_at_unique (x)specialize beta_at_unique (a)apply beta_at_uniqueexact hv_witness_leftexact harewrite heq at hv_witness_rightexact hv_witness_right
polynomial_diagonal_prefix_functional · unchanged support, not a new admission
forall ab ac L bb bc M I db dc eb ec N. (forall pfc_index_prefix_unique_first. (exists pfa_gap_prefix_unique_firstbound. pfa_gap_prefix_unique_firstbound + S (pfc_index_prefix_unique_first) = (N)) -> exists pfc_value_prefix_unique_first. ((((exists ff_h_pfp_prefix_unique_firstentry. ff_h_pfp_prefix_unique_firstentry + S (pfc_value_prefix_unique_first) = S ((S (pfc_index_prefix_unique_first)) * dc)) /\ exists ff_q_pfp_prefix_unique_firstentry. db = ff_q_pfp_prefix_unique_firstentry * S ((S (pfc_index_prefix_unique_first)) * dc) + (pfc_value_prefix_unique_first))) /\ ((exists pfc_complement_prefix_unique_firstterm pfc_left_prefix_unique_firstterm pfc_right_prefix_unique_firstterm. (((pfc_index_prefix_unique_first)+pfc_complement_prefix_unique_firstterm=(I)) /\ ((((((exists pfa_gap_prefix_unique_firsttermleftinside. pfa_gap_prefix_unique_firsttermleftinside + S (pfc_index_prefix_unique_first) = (L)) /\ ((((exists ff_h_pfp_prefix_unique_firsttermleftentry. ff_h_pfp_prefix_unique_firsttermleftentry + S (pfc_left_prefix_unique_firstterm) = S ((S (pfc_index_prefix_unique_first)) * ac)) /\ exists ff_q_pfp_prefix_unique_firsttermleftentry. ab = ff_q_pfp_prefix_unique_firsttermleftentry * S ((S (pfc_index_prefix_unique_first)) * ac) + (pfc_left_prefix_unique_firstterm)))))) \/ (((exists pfc_gap_prefix_unique_firsttermleftoutside. pfc_gap_prefix_unique_firsttermleftoutside+(L)=(pfc_index_prefix_unique_first)) /\ (((pfc_left_prefix_unique_firstterm)=0))))) /\ ((((((exists pfa_gap_prefix_unique_firsttermrightinside. pfa_gap_prefix_unique_firsttermrightinside + S (pfc_complement_prefix_unique_firstterm) = (M)) /\ ((((exists ff_h_pfp_prefix_unique_firsttermrightentry. ff_h_pfp_prefix_unique_firsttermrightentry + S (pfc_right_prefix_unique_firstterm) = S ((S (pfc_complement_prefix_unique_firstterm)) * bc)) /\ exists ff_q_pfp_prefix_unique_firsttermrightentry. bb = ff_q_pfp_prefix_unique_firsttermrightentry * S ((S (pfc_complement_prefix_unique_firstterm)) * bc) + (pfc_right_prefix_unique_firstterm)))))) \/ (((exists pfc_gap_prefix_unique_firsttermrightoutside. pfc_gap_prefix_unique_firsttermrightoutside+(M)=(pfc_complement_prefix_unique_firstterm)) /\ (((pfc_right_prefix_unique_firstterm)=0))))) /\ (((pfc_value_prefix_unique_first)=pfc_left_prefix_unique_firstterm*pfc_right_prefix_unique_firstterm))))))))))) -> (forall pfc_index_prefix_unique_second. (exists pfa_gap_prefix_unique_secondbound. pfa_gap_prefix_unique_secondbound + S (pfc_index_prefix_unique_second) = (N)) -> exists pfc_value_prefix_unique_second. ((((exists ff_h_pfp_prefix_unique_secondentry. ff_h_pfp_prefix_unique_secondentry + S (pfc_value_prefix_unique_second) = S ((S (pfc_index_prefix_unique_second)) * ec)) /\ exists ff_q_pfp_prefix_unique_secondentry. eb = ff_q_pfp_prefix_unique_secondentry * S ((S (pfc_index_prefix_unique_second)) * ec) + (pfc_value_prefix_unique_second))) /\ ((exists pfc_complement_prefix_unique_secondterm pfc_left_prefix_unique_secondterm pfc_right_prefix_unique_secondterm. (((pfc_index_prefix_unique_second)+pfc_complement_prefix_unique_secondterm=(I)) /\ ((((((exists pfa_gap_prefix_unique_secondtermleftinside. pfa_gap_prefix_unique_secondtermleftinside + S (pfc_index_prefix_unique_second) = (L)) /\ ((((exists ff_h_pfp_prefix_unique_secondtermleftentry. ff_h_pfp_prefix_unique_secondtermleftentry + S (pfc_left_prefix_unique_secondterm) = S ((S (pfc_index_prefix_unique_second)) * ac)) /\ exists ff_q_pfp_prefix_unique_secondtermleftentry. ab = ff_q_pfp_prefix_unique_secondtermleftentry * S ((S (pfc_index_prefix_unique_second)) * ac) + (pfc_left_prefix_unique_secondterm)))))) \/ (((exists pfc_gap_prefix_unique_secondtermleftoutside. pfc_gap_prefix_unique_secondtermleftoutside+(L)=(pfc_index_prefix_unique_second)) /\ (((pfc_left_prefix_unique_secondterm)=0))))) /\ ((((((exists pfa_gap_prefix_unique_secondtermrightinside. pfa_gap_prefix_unique_secondtermrightinside + S (pfc_complement_prefix_unique_secondterm) = (M)) /\ ((((exists ff_h_pfp_prefix_unique_secondtermrightentry. ff_h_pfp_prefix_unique_secondtermrightentry + S (pfc_right_prefix_unique_secondterm) = S ((S (pfc_complement_prefix_unique_secondterm)) * bc)) /\ exists ff_q_pfp_prefix_unique_secondtermrightentry. bb = ff_q_pfp_prefix_unique_secondtermrightentry * S ((S (pfc_complement_prefix_unique_secondterm)) * bc) + (pfc_right_prefix_unique_secondterm)))))) \/ (((exists pfc_gap_prefix_unique_secondtermrightoutside. pfc_gap_prefix_unique_secondtermrightoutside+(M)=(pfc_complement_prefix_unique_secondterm)) /\ (((pfc_right_prefix_unique_secondterm)=0))))) /\ (((pfc_value_prefix_unique_second)=pfc_left_prefix_unique_secondterm*pfc_right_prefix_unique_secondterm))))))))))) -> (forall mdr_i_pfp_prefix_unique_result mdr_a_pfp_prefix_unique_result. (exists mdr_gap_pfp_prefix_unique_resultb. mdr_gap_pfp_prefix_unique_resultb + S (mdr_i_pfp_prefix_unique_result) = (N)) -> (((exists ff_h_mdr_pfp_prefix_unique_resulto. ff_h_mdr_pfp_prefix_unique_resulto + S (mdr_a_pfp_prefix_unique_result) = S ((S (mdr_i_pfp_prefix_unique_result)) * dc)) /\ exists ff_q_mdr_pfp_prefix_unique_resulto. db = ff_q_mdr_pfp_prefix_unique_resulto * S ((S (mdr_i_pfp_prefix_unique_result)) * dc) + (mdr_a_pfp_prefix_unique_result))) -> (((exists ff_h_mdr_pfp_prefix_unique_resultn. ff_h_mdr_pfp_prefix_unique_resultn + S (mdr_a_pfp_prefix_unique_result) = S ((S (mdr_i_pfp_prefix_unique_result)) * ec)) /\ exists ff_q_mdr_pfp_prefix_unique_resultn. eb = ff_q_mdr_pfp_prefix_unique_resultn * S ((S (mdr_i_pfp_prefix_unique_result)) * ec) + (mdr_a_pfp_prefix_unique_result))))
intro abintro acintro Lintro bbintro bcintro Mintro Iintro dbintro dcintro ebintro ecintro Nintro hdintro heintro iintro aintro hiintro hahave hb : exists b. (((exists ff_h_pfp_prefix_unique_other. ff_h_pfp_prefix_unique_other + S (b) = S ((S (i)) * ec)) /\ exists ff_q_pfp_prefix_unique_other. eb = ff_q_pfp_prefix_unique_other * S ((S (i)) * ec) + (b)))specialize beta_at_exists (eb)specialize beta_at_exists (ec)specialize beta_at_exists (i)apply beta_at_existscases hbhave heq : a=xspecialize polynomial_diagonal_term_functional (ab)specialize polynomial_diagonal_term_functional (ac)specialize polynomial_diagonal_term_functional (L)specialize polynomial_diagonal_term_functional (bb)specialize polynomial_diagonal_term_functional (bc)specialize polynomial_diagonal_term_functional (M)specialize polynomial_diagonal_term_functional (I)specialize polynomial_diagonal_term_functional (i)specialize polynomial_diagonal_term_functional (a)specialize polynomial_diagonal_term_functional (x)apply polynomial_diagonal_term_functionalspecialize polynomial_diagonal_prefix_entry (ab)specialize polynomial_diagonal_prefix_entry (ac)specialize polynomial_diagonal_prefix_entry (L)specialize polynomial_diagonal_prefix_entry (bb)specialize polynomial_diagonal_prefix_entry (bc)specialize polynomial_diagonal_prefix_entry (M)specialize polynomial_diagonal_prefix_entry (I)specialize polynomial_diagonal_prefix_entry (db)specialize polynomial_diagonal_prefix_entry (dc)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (i)specialize polynomial_diagonal_prefix_entry (a)apply polynomial_diagonal_prefix_entryexact hdexact hiexact haspecialize polynomial_diagonal_prefix_entry (ab)specialize polynomial_diagonal_prefix_entry (ac)specialize polynomial_diagonal_prefix_entry (L)specialize polynomial_diagonal_prefix_entry (bb)specialize polynomial_diagonal_prefix_entry (bc)specialize polynomial_diagonal_prefix_entry (M)specialize polynomial_diagonal_prefix_entry (I)specialize polynomial_diagonal_prefix_entry (eb)specialize polynomial_diagonal_prefix_entry (ec)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (i)specialize polynomial_diagonal_prefix_entry (x)apply polynomial_diagonal_prefix_entryexact heexact hiexact hb_witnessrewrite heqrewrite heqexact hb_witness
prime_field_convolution_coefficient_functional · unchanged support, not a new admission
forall p ab ac L bb bc M i r s. (exists pfc_terms_code_coefficient_first pfc_terms_scale_coefficient_first pfc_natural_sum_coefficient_first. ((forall pfc_index_coefficient_firstdiagonal. (exists pfa_gap_coefficient_firstdiagonalbound. pfa_gap_coefficient_firstdiagonalbound + S (pfc_index_coefficient_firstdiagonal) = (S (i))) -> exists pfc_value_coefficient_firstdiagonal. ((((exists ff_h_pfp_coefficient_firstdiagonalentry. ff_h_pfp_coefficient_firstdiagonalentry + S (pfc_value_coefficient_firstdiagonal) = S ((S (pfc_index_coefficient_firstdiagonal)) * pfc_terms_scale_coefficient_first)) /\ exists ff_q_pfp_coefficient_firstdiagonalentry. pfc_terms_code_coefficient_first = ff_q_pfp_coefficient_firstdiagonalentry * S ((S (pfc_index_coefficient_firstdiagonal)) * pfc_terms_scale_coefficient_first) + (pfc_value_coefficient_firstdiagonal))) /\ ((exists pfc_complement_coefficient_firstdiagonalterm pfc_left_coefficient_firstdiagonalterm pfc_right_coefficient_firstdiagonalterm. (((pfc_index_coefficient_firstdiagonal)+pfc_complement_coefficient_firstdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_firstdiagonaltermleftinside. pfa_gap_coefficient_firstdiagonaltermleftinside + S (pfc_index_coefficient_firstdiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_firstdiagonaltermleftentry. ff_h_pfp_coefficient_firstdiagonaltermleftentry + S (pfc_left_coefficient_firstdiagonalterm) = S ((S (pfc_index_coefficient_firstdiagonal)) * ac)) /\ exists ff_q_pfp_coefficient_firstdiagonaltermleftentry. ab = ff_q_pfp_coefficient_firstdiagonaltermleftentry * S ((S (pfc_index_coefficient_firstdiagonal)) * ac) + (pfc_left_coefficient_firstdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_firstdiagonaltermleftoutside. pfc_gap_coefficient_firstdiagonaltermleftoutside+(L)=(pfc_index_coefficient_firstdiagonal)) /\ (((pfc_left_coefficient_firstdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_firstdiagonaltermrightinside. pfa_gap_coefficient_firstdiagonaltermrightinside + S (pfc_complement_coefficient_firstdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_firstdiagonaltermrightentry. ff_h_pfp_coefficient_firstdiagonaltermrightentry + S (pfc_right_coefficient_firstdiagonalterm) = S ((S (pfc_complement_coefficient_firstdiagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_firstdiagonaltermrightentry. bb = ff_q_pfp_coefficient_firstdiagonaltermrightentry * S ((S (pfc_complement_coefficient_firstdiagonalterm)) * bc) + (pfc_right_coefficient_firstdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_firstdiagonaltermrightoutside. pfc_gap_coefficient_firstdiagonaltermrightoutside+(M)=(pfc_complement_coefficient_firstdiagonalterm)) /\ (((pfc_right_coefficient_firstdiagonalterm)=0))))) /\ (((pfc_value_coefficient_firstdiagonal)=pfc_left_coefficient_firstdiagonalterm*pfc_right_coefficient_firstdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_firstsum fs_v_pfc_coefficient_firstsum. ((((exists fs_h_pfc_coefficient_firstsum_body_start. fs_h_pfc_coefficient_firstsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_firstsum)) /\ exists fs_q_pfc_coefficient_firstsum_body_start. fs_u_pfc_coefficient_firstsum = fs_q_pfc_coefficient_firstsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_firstsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_firstsum_body_terminal. fs_h_pfc_coefficient_firstsum_body_terminal + S (pfc_natural_sum_coefficient_first) = S ((S (S (i))) * fs_v_pfc_coefficient_firstsum)) /\ exists fs_q_pfc_coefficient_firstsum_body_terminal. fs_u_pfc_coefficient_firstsum = fs_q_pfc_coefficient_firstsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_firstsum) + (pfc_natural_sum_coefficient_first))) /\ forall fs_i_pfc_coefficient_firstsum_body_steps. (exists fs_lt_pfc_coefficient_firstsum_body_steps_bound. fs_lt_pfc_coefficient_firstsum_body_steps_bound + S fs_i_pfc_coefficient_firstsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_firstsum_body_steps fs_r_pfc_coefficient_firstsum_body_steps fs_s_pfc_coefficient_firstsum_body_steps. ((((exists fs_h_pfc_coefficient_firstsum_body_steps_summand. fs_h_pfc_coefficient_firstsum_body_steps_summand + S (fs_a_pfc_coefficient_firstsum_body_steps) = S ((S (fs_i_pfc_coefficient_firstsum_body_steps)) * pfc_terms_scale_coefficient_first)) /\ exists fs_q_pfc_coefficient_firstsum_body_steps_summand. pfc_terms_code_coefficient_first = fs_q_pfc_coefficient_firstsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_firstsum_body_steps)) * pfc_terms_scale_coefficient_first) + (fs_a_pfc_coefficient_firstsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_firstsum_body_steps_partial. fs_h_pfc_coefficient_firstsum_body_steps_partial + S (fs_r_pfc_coefficient_firstsum_body_steps) = S ((S (fs_i_pfc_coefficient_firstsum_body_steps)) * fs_v_pfc_coefficient_firstsum)) /\ exists fs_q_pfc_coefficient_firstsum_body_steps_partial. fs_u_pfc_coefficient_firstsum = fs_q_pfc_coefficient_firstsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_firstsum_body_steps)) * fs_v_pfc_coefficient_firstsum) + (fs_r_pfc_coefficient_firstsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_firstsum_body_steps_successor. fs_h_pfc_coefficient_firstsum_body_steps_successor + S (fs_s_pfc_coefficient_firstsum_body_steps) = S ((S (S fs_i_pfc_coefficient_firstsum_body_steps)) * fs_v_pfc_coefficient_firstsum)) /\ exists fs_q_pfc_coefficient_firstsum_body_steps_successor. fs_u_pfc_coefficient_firstsum = fs_q_pfc_coefficient_firstsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_firstsum_body_steps)) * fs_v_pfc_coefficient_firstsum) + (fs_s_pfc_coefficient_firstsum_body_steps))) /\ fs_s_pfc_coefficient_firstsum_body_steps = fs_r_pfc_coefficient_firstsum_body_steps + fs_a_pfc_coefficient_firstsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_firstresiduebound. pfa_gap_coefficient_firstresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_coefficient_firstresiduecongruence pfa_offset_right_coefficient_firstresiduecongruence. (pfc_natural_sum_coefficient_first) + (p) * pfa_offset_left_coefficient_firstresiduecongruence = (r) + (p) * pfa_offset_right_coefficient_firstresiduecongruence))))))))) -> (exists pfc_terms_code_coefficient_second pfc_terms_scale_coefficient_second pfc_natural_sum_coefficient_second. ((forall pfc_index_coefficient_seconddiagonal. (exists pfa_gap_coefficient_seconddiagonalbound. pfa_gap_coefficient_seconddiagonalbound + S (pfc_index_coefficient_seconddiagonal) = (S (i))) -> exists pfc_value_coefficient_seconddiagonal. ((((exists ff_h_pfp_coefficient_seconddiagonalentry. ff_h_pfp_coefficient_seconddiagonalentry + S (pfc_value_coefficient_seconddiagonal) = S ((S (pfc_index_coefficient_seconddiagonal)) * pfc_terms_scale_coefficient_second)) /\ exists ff_q_pfp_coefficient_seconddiagonalentry. pfc_terms_code_coefficient_second = ff_q_pfp_coefficient_seconddiagonalentry * S ((S (pfc_index_coefficient_seconddiagonal)) * pfc_terms_scale_coefficient_second) + (pfc_value_coefficient_seconddiagonal))) /\ ((exists pfc_complement_coefficient_seconddiagonalterm pfc_left_coefficient_seconddiagonalterm pfc_right_coefficient_seconddiagonalterm. (((pfc_index_coefficient_seconddiagonal)+pfc_complement_coefficient_seconddiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_seconddiagonaltermleftinside. pfa_gap_coefficient_seconddiagonaltermleftinside + S (pfc_index_coefficient_seconddiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_seconddiagonaltermleftentry. ff_h_pfp_coefficient_seconddiagonaltermleftentry + S (pfc_left_coefficient_seconddiagonalterm) = S ((S (pfc_index_coefficient_seconddiagonal)) * ac)) /\ exists ff_q_pfp_coefficient_seconddiagonaltermleftentry. ab = ff_q_pfp_coefficient_seconddiagonaltermleftentry * S ((S (pfc_index_coefficient_seconddiagonal)) * ac) + (pfc_left_coefficient_seconddiagonalterm)))))) \/ (((exists pfc_gap_coefficient_seconddiagonaltermleftoutside. pfc_gap_coefficient_seconddiagonaltermleftoutside+(L)=(pfc_index_coefficient_seconddiagonal)) /\ (((pfc_left_coefficient_seconddiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_seconddiagonaltermrightinside. pfa_gap_coefficient_seconddiagonaltermrightinside + S (pfc_complement_coefficient_seconddiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_seconddiagonaltermrightentry. ff_h_pfp_coefficient_seconddiagonaltermrightentry + S (pfc_right_coefficient_seconddiagonalterm) = S ((S (pfc_complement_coefficient_seconddiagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_seconddiagonaltermrightentry. bb = ff_q_pfp_coefficient_seconddiagonaltermrightentry * S ((S (pfc_complement_coefficient_seconddiagonalterm)) * bc) + (pfc_right_coefficient_seconddiagonalterm)))))) \/ (((exists pfc_gap_coefficient_seconddiagonaltermrightoutside. pfc_gap_coefficient_seconddiagonaltermrightoutside+(M)=(pfc_complement_coefficient_seconddiagonalterm)) /\ (((pfc_right_coefficient_seconddiagonalterm)=0))))) /\ (((pfc_value_coefficient_seconddiagonal)=pfc_left_coefficient_seconddiagonalterm*pfc_right_coefficient_seconddiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_secondsum fs_v_pfc_coefficient_secondsum. ((((exists fs_h_pfc_coefficient_secondsum_body_start. fs_h_pfc_coefficient_secondsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_secondsum)) /\ exists fs_q_pfc_coefficient_secondsum_body_start. fs_u_pfc_coefficient_secondsum = fs_q_pfc_coefficient_secondsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_secondsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_secondsum_body_terminal. fs_h_pfc_coefficient_secondsum_body_terminal + S (pfc_natural_sum_coefficient_second) = S ((S (S (i))) * fs_v_pfc_coefficient_secondsum)) /\ exists fs_q_pfc_coefficient_secondsum_body_terminal. fs_u_pfc_coefficient_secondsum = fs_q_pfc_coefficient_secondsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_secondsum) + (pfc_natural_sum_coefficient_second))) /\ forall fs_i_pfc_coefficient_secondsum_body_steps. (exists fs_lt_pfc_coefficient_secondsum_body_steps_bound. fs_lt_pfc_coefficient_secondsum_body_steps_bound + S fs_i_pfc_coefficient_secondsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_secondsum_body_steps fs_r_pfc_coefficient_secondsum_body_steps fs_s_pfc_coefficient_secondsum_body_steps. ((((exists fs_h_pfc_coefficient_secondsum_body_steps_summand. fs_h_pfc_coefficient_secondsum_body_steps_summand + S (fs_a_pfc_coefficient_secondsum_body_steps) = S ((S (fs_i_pfc_coefficient_secondsum_body_steps)) * pfc_terms_scale_coefficient_second)) /\ exists fs_q_pfc_coefficient_secondsum_body_steps_summand. pfc_terms_code_coefficient_second = fs_q_pfc_coefficient_secondsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_secondsum_body_steps)) * pfc_terms_scale_coefficient_second) + (fs_a_pfc_coefficient_secondsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_secondsum_body_steps_partial. fs_h_pfc_coefficient_secondsum_body_steps_partial + S (fs_r_pfc_coefficient_secondsum_body_steps) = S ((S (fs_i_pfc_coefficient_secondsum_body_steps)) * fs_v_pfc_coefficient_secondsum)) /\ exists fs_q_pfc_coefficient_secondsum_body_steps_partial. fs_u_pfc_coefficient_secondsum = fs_q_pfc_coefficient_secondsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_secondsum_body_steps)) * fs_v_pfc_coefficient_secondsum) + (fs_r_pfc_coefficient_secondsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_secondsum_body_steps_successor. fs_h_pfc_coefficient_secondsum_body_steps_successor + S (fs_s_pfc_coefficient_secondsum_body_steps) = S ((S (S fs_i_pfc_coefficient_secondsum_body_steps)) * fs_v_pfc_coefficient_secondsum)) /\ exists fs_q_pfc_coefficient_secondsum_body_steps_successor. fs_u_pfc_coefficient_secondsum = fs_q_pfc_coefficient_secondsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_secondsum_body_steps)) * fs_v_pfc_coefficient_secondsum) + (fs_s_pfc_coefficient_secondsum_body_steps))) /\ fs_s_pfc_coefficient_secondsum_body_steps = fs_r_pfc_coefficient_secondsum_body_steps + fs_a_pfc_coefficient_secondsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_secondresiduebound. pfa_gap_coefficient_secondresiduebound + S (s) = (p)) /\ ((exists pfa_offset_left_coefficient_secondresiduecongruence pfa_offset_right_coefficient_secondresiduecongruence. (pfc_natural_sum_coefficient_second) + (p) * pfa_offset_left_coefficient_secondresiduecongruence = (s) + (p) * pfa_offset_right_coefficient_secondresiduecongruence))))))))) -> r=s
intro pintro abintro acintro Lintro bbintro bcintro Mintro iintro rintro sintro hrintro hscases hrcases hr_witnesscases hr_witness_witnesscases hr_witness_witness_witnesscases hr_witness_witness_witness_rightcases hscases hs_witnesscases hs_witness_witnesscases hs_witness_witness_witnesscases hs_witness_witness_witness_righthave hsum : exists fs_u_pfc_coefficient_unique_transported_sum fs_v_pfc_coefficient_unique_transported_sum. ((((exists fs_h_pfc_coefficient_unique_transported_sum_body_start. fs_h_pfc_coefficient_unique_transported_sum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_unique_transported_sum)) /\ exists fs_q_pfc_coefficient_unique_transported_sum_body_start. fs_u_pfc_coefficient_unique_transported_sum = fs_q_pfc_coefficient_unique_transported_sum_body_start * S ((S (0)) * fs_v_pfc_coefficient_unique_transported_sum) + (0))) /\ ((((exists fs_h_pfc_coefficient_unique_transported_sum_body_terminal. fs_h_pfc_coefficient_unique_transported_sum_body_terminal + S (x2) = S ((S (S i)) * fs_v_pfc_coefficient_unique_transported_sum)) /\ exists fs_q_pfc_coefficient_unique_transported_sum_body_terminal. fs_u_pfc_coefficient_unique_transported_sum = fs_q_pfc_coefficient_unique_transported_sum_body_terminal * S ((S (S i)) * fs_v_pfc_coefficient_unique_transported_sum) + (x2))) /\ forall fs_i_pfc_coefficient_unique_transported_sum_body_steps. (exists fs_lt_pfc_coefficient_unique_transported_sum_body_steps_bound. fs_lt_pfc_coefficient_unique_transported_sum_body_steps_bound + S fs_i_pfc_coefficient_unique_transported_sum_body_steps = S i) -> exists fs_a_pfc_coefficient_unique_transported_sum_body_steps fs_r_pfc_coefficient_unique_transported_sum_body_steps fs_s_pfc_coefficient_unique_transported_sum_body_steps. ((((exists fs_h_pfc_coefficient_unique_transported_sum_body_steps_summand. fs_h_pfc_coefficient_unique_transported_sum_body_steps_summand + S (fs_a_pfc_coefficient_unique_transported_sum_body_steps) = S ((S (fs_i_pfc_coefficient_unique_transported_sum_body_steps)) * x4)) /\ exists fs_q_pfc_coefficient_unique_transported_sum_body_steps_summand. x3 = fs_q_pfc_coefficient_unique_transported_sum_body_steps_summand * S ((S (fs_i_pfc_coefficient_unique_transported_sum_body_steps)) * x4) + (fs_a_pfc_coefficient_unique_transported_sum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_unique_transported_sum_body_steps_partial. fs_h_pfc_coefficient_unique_transported_sum_body_steps_partial + S (fs_r_pfc_coefficient_unique_transported_sum_body_steps) = S ((S (fs_i_pfc_coefficient_unique_transported_sum_body_steps)) * fs_v_pfc_coefficient_unique_transported_sum)) /\ exists fs_q_pfc_coefficient_unique_transported_sum_body_steps_partial. fs_u_pfc_coefficient_unique_transported_sum = fs_q_pfc_coefficient_unique_transported_sum_body_steps_partial * S ((S (fs_i_pfc_coefficient_unique_transported_sum_body_steps)) * fs_v_pfc_coefficient_unique_transported_sum) + (fs_r_pfc_coefficient_unique_transported_sum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_unique_transported_sum_body_steps_successor. fs_h_pfc_coefficient_unique_transported_sum_body_steps_successor + S (fs_s_pfc_coefficient_unique_transported_sum_body_steps) = S ((S (S fs_i_pfc_coefficient_unique_transported_sum_body_steps)) * fs_v_pfc_coefficient_unique_transported_sum)) /\ exists fs_q_pfc_coefficient_unique_transported_sum_body_steps_successor. fs_u_pfc_coefficient_unique_transported_sum = fs_q_pfc_coefficient_unique_transported_sum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_unique_transported_sum_body_steps)) * fs_v_pfc_coefficient_unique_transported_sum) + (fs_s_pfc_coefficient_unique_transported_sum_body_steps))) /\ fs_s_pfc_coefficient_unique_transported_sum_body_steps = fs_r_pfc_coefficient_unique_transported_sum_body_steps + fs_a_pfc_coefficient_unique_transported_sum_body_steps)))))specialize beta_sum_transport_prefix (x)specialize beta_sum_transport_prefix (x1)specialize beta_sum_transport_prefix (x3)specialize beta_sum_transport_prefix (x4)specialize beta_sum_transport_prefix (S i)specialize beta_sum_transport_prefix (x2)apply beta_sum_transport_prefixexact hr_witness_witness_witness_right_leftspecialize polynomial_diagonal_prefix_functional (ab)specialize polynomial_diagonal_prefix_functional (ac)specialize polynomial_diagonal_prefix_functional (L)specialize polynomial_diagonal_prefix_functional (bb)specialize polynomial_diagonal_prefix_functional (bc)specialize polynomial_diagonal_prefix_functional (M)specialize polynomial_diagonal_prefix_functional (i)specialize polynomial_diagonal_prefix_functional (x)specialize polynomial_diagonal_prefix_functional (x1)specialize polynomial_diagonal_prefix_functional (x3)specialize polynomial_diagonal_prefix_functional (x4)specialize polynomial_diagonal_prefix_functional (S i)apply polynomial_diagonal_prefix_functionalexact hr_witness_witness_witness_leftexact hs_witness_witness_witness_lefthave heq : x2=x5specialize beta_sum_functional (x3)specialize beta_sum_functional (x4)specialize beta_sum_functional (S i)specialize beta_sum_functional (x2)specialize beta_sum_functional (x5)apply beta_sum_functionalexact hsumexact hs_witness_witness_witness_right_leftrewrite heq at hr_witness_witness_witness_right_rightspecialize binary_canonical_residue_functional (p)specialize binary_canonical_residue_functional (x5)specialize binary_canonical_residue_functional (r)specialize binary_canonical_residue_functional (s)apply binary_canonical_residue_functionalexact hr_witness_witness_witness_right_rightexact hs_witness_witness_witness_right_right
polynomial_zero_extended_zero_value · unchanged support, not a new admission
forall b c L i a. (forall pfp_repeat_index_pad_zero_table. (exists pfa_gap_pad_zero_tableindex. pfa_gap_pad_zero_tableindex + S (pfp_repeat_index_pad_zero_table) = (L)) -> (((exists ff_h_pfp_pad_zero_tableentry. ff_h_pfp_pad_zero_tableentry + S (0) = S ((S (pfp_repeat_index_pad_zero_table)) * c)) /\ exists ff_q_pfp_pad_zero_tableentry. b = ff_q_pfp_pad_zero_tableentry * S ((S (pfp_repeat_index_pad_zero_table)) * c) + (0)))) -> ((((exists pfa_gap_pad_zero_entryinside. pfa_gap_pad_zero_entryinside + S (i) = (L)) /\ ((((exists ff_h_pfp_pad_zero_entryentry. ff_h_pfp_pad_zero_entryentry + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_pad_zero_entryentry. b = ff_q_pfp_pad_zero_entryentry * S ((S (i)) * c) + (a)))))) \/ (((exists pfc_gap_pad_zero_entryoutside. pfc_gap_pad_zero_entryoutside+(L)=(i)) /\ (((a)=0))))) -> a=0
intro bintro cintro Lintro iintro aintro hzintro hacases hacases ha_leftspecialize beta_repeat_entry_eq (b)specialize beta_repeat_entry_eq (c)specialize beta_repeat_entry_eq (0)specialize beta_repeat_entry_eq (L)specialize beta_repeat_entry_eq (i)specialize beta_repeat_entry_eq (a)apply beta_repeat_entry_eqexact hzexact ha_left_leftexact ha_left_rightcases ha_rightexact ha_right_right
polynomial_diagonal_term_zero_left · unchanged support, not a new admission
forall ab ac L bb bc M i j t. (forall pfp_repeat_index_term_zero_left. (exists pfa_gap_term_zero_leftindex. pfa_gap_term_zero_leftindex + S (pfp_repeat_index_term_zero_left) = (L)) -> (((exists ff_h_pfp_term_zero_leftentry. ff_h_pfp_term_zero_leftentry + S (0) = S ((S (pfp_repeat_index_term_zero_left)) * ac)) /\ exists ff_q_pfp_term_zero_leftentry. ab = ff_q_pfp_term_zero_leftentry * S ((S (pfp_repeat_index_term_zero_left)) * ac) + (0)))) -> (exists pfc_complement_term_zero_source_left pfc_left_term_zero_source_left pfc_right_term_zero_source_left. (((j)+pfc_complement_term_zero_source_left=(i)) /\ ((((((exists pfa_gap_term_zero_source_leftleftinside. pfa_gap_term_zero_source_leftleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_zero_source_leftleftentry. ff_h_pfp_term_zero_source_leftleftentry + S (pfc_left_term_zero_source_left) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_zero_source_leftleftentry. ab = ff_q_pfp_term_zero_source_leftleftentry * S ((S (j)) * ac) + (pfc_left_term_zero_source_left)))))) \/ (((exists pfc_gap_term_zero_source_leftleftoutside. pfc_gap_term_zero_source_leftleftoutside+(L)=(j)) /\ (((pfc_left_term_zero_source_left)=0))))) /\ ((((((exists pfa_gap_term_zero_source_leftrightinside. pfa_gap_term_zero_source_leftrightinside + S (pfc_complement_term_zero_source_left) = (M)) /\ ((((exists ff_h_pfp_term_zero_source_leftrightentry. ff_h_pfp_term_zero_source_leftrightentry + S (pfc_right_term_zero_source_left) = S ((S (pfc_complement_term_zero_source_left)) * bc)) /\ exists ff_q_pfp_term_zero_source_leftrightentry. bb = ff_q_pfp_term_zero_source_leftrightentry * S ((S (pfc_complement_term_zero_source_left)) * bc) + (pfc_right_term_zero_source_left)))))) \/ (((exists pfc_gap_term_zero_source_leftrightoutside. pfc_gap_term_zero_source_leftrightoutside+(M)=(pfc_complement_term_zero_source_left)) /\ (((pfc_right_term_zero_source_left)=0))))) /\ (((t)=pfc_left_term_zero_source_left*pfc_right_term_zero_source_left)))))))) -> t=0
intro abintro acintro Lintro bbintro bcintro Mintro iintro jintro tintro hzintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_righthave heq : x1=0specialize polynomial_zero_extended_zero_value (ab)specialize polynomial_zero_extended_zero_value (ac)specialize polynomial_zero_extended_zero_value (L)specialize polynomial_zero_extended_zero_value (j)specialize polynomial_zero_extended_zero_value (x1)apply polynomial_zero_extended_zero_valueexact hzexact ht_witness_witness_witness_right_lefttrans x1*x2exact ht_witness_witness_witness_right_right_rightrewrite heqspecialize mul_zero_left (x2)apply mul_zero_left
prime_field_residue_reflexive · unchanged support, not a new admission
forall p a. (exists pfa_gap_reflexive_bound. pfa_gap_reflexive_bound + S (a) = (p)) -> (((exists pfa_gap_reflexivebound. pfa_gap_reflexivebound + S (a) = (p)) /\ ((exists pfa_offset_left_reflexivecongruence pfa_offset_right_reflexivecongruence. (a) + (p) * pfa_offset_left_reflexivecongruence = (a) + (p) * pfa_offset_right_reflexivecongruence))))
intro pintro aintro hasplitexact haspecialize mod_eq_refl (p)specialize mod_eq_refl (a)apply mod_eq_refl
prime_field_residue_bounded_value · unchanged support, not a new admission
forall p a r. (exists pfa_gap_bounded_value. pfa_gap_bounded_value + S (a) = (p)) -> (((exists pfa_gap_bounded_resultbound. pfa_gap_bounded_resultbound + S (r) = (p)) /\ ((exists pfa_offset_left_bounded_resultcongruence pfa_offset_right_bounded_resultcongruence. (a) + (p) * pfa_offset_left_bounded_resultcongruence = (r) + (p) * pfa_offset_right_bounded_resultcongruence)))) -> r = a
intro pintro aintro rintro haintro hrspecialize binary_canonical_residue_functional (p)specialize binary_canonical_residue_functional (a)specialize binary_canonical_residue_functional (r)specialize binary_canonical_residue_functional (a)apply binary_canonical_residue_functionalexact hrspecialize prime_field_residue_reflexive (p)specialize prime_field_residue_reflexive (a)apply prime_field_residue_reflexiveexact ha
prime_field_convolution_coefficient_zero_left · unchanged support, not a new admission
forall p ab ac L bb bc M i r. ~(p=0) -> (forall pfp_repeat_index_zero_coefficient_condition_left. (exists pfa_gap_zero_coefficient_condition_leftindex. pfa_gap_zero_coefficient_condition_leftindex + S (pfp_repeat_index_zero_coefficient_condition_left) = (L)) -> (((exists ff_h_pfp_zero_coefficient_condition_leftentry. ff_h_pfp_zero_coefficient_condition_leftentry + S (0) = S ((S (pfp_repeat_index_zero_coefficient_condition_left)) * ac)) /\ exists ff_q_pfp_zero_coefficient_condition_leftentry. ab = ff_q_pfp_zero_coefficient_condition_leftentry * S ((S (pfp_repeat_index_zero_coefficient_condition_left)) * ac) + (0)))) -> (exists pfc_terms_code_zero_coefficient_source_left pfc_terms_scale_zero_coefficient_source_left pfc_natural_sum_zero_coefficient_source_left. ((forall pfc_index_zero_coefficient_source_leftdiagonal. (exists pfa_gap_zero_coefficient_source_leftdiagonalbound. pfa_gap_zero_coefficient_source_leftdiagonalbound + S (pfc_index_zero_coefficient_source_leftdiagonal) = (S (i))) -> exists pfc_value_zero_coefficient_source_leftdiagonal. ((((exists ff_h_pfp_zero_coefficient_source_leftdiagonalentry. ff_h_pfp_zero_coefficient_source_leftdiagonalentry + S (pfc_value_zero_coefficient_source_leftdiagonal) = S ((S (pfc_index_zero_coefficient_source_leftdiagonal)) * pfc_terms_scale_zero_coefficient_source_left)) /\ exists ff_q_pfp_zero_coefficient_source_leftdiagonalentry. pfc_terms_code_zero_coefficient_source_left = ff_q_pfp_zero_coefficient_source_leftdiagonalentry * S ((S (pfc_index_zero_coefficient_source_leftdiagonal)) * pfc_terms_scale_zero_coefficient_source_left) + (pfc_value_zero_coefficient_source_leftdiagonal))) /\ ((exists pfc_complement_zero_coefficient_source_leftdiagonalterm pfc_left_zero_coefficient_source_leftdiagonalterm pfc_right_zero_coefficient_source_leftdiagonalterm. (((pfc_index_zero_coefficient_source_leftdiagonal)+pfc_complement_zero_coefficient_source_leftdiagonalterm=(i)) /\ ((((((exists pfa_gap_zero_coefficient_source_leftdiagonaltermleftinside. pfa_gap_zero_coefficient_source_leftdiagonaltermleftinside + S (pfc_index_zero_coefficient_source_leftdiagonal) = (L)) /\ ((((exists ff_h_pfp_zero_coefficient_source_leftdiagonaltermleftentry. ff_h_pfp_zero_coefficient_source_leftdiagonaltermleftentry + S (pfc_left_zero_coefficient_source_leftdiagonalterm) = S ((S (pfc_index_zero_coefficient_source_leftdiagonal)) * ac)) /\ exists ff_q_pfp_zero_coefficient_source_leftdiagonaltermleftentry. ab = ff_q_pfp_zero_coefficient_source_leftdiagonaltermleftentry * S ((S (pfc_index_zero_coefficient_source_leftdiagonal)) * ac) + (pfc_left_zero_coefficient_source_leftdiagonalterm)))))) \/ (((exists pfc_gap_zero_coefficient_source_leftdiagonaltermleftoutside. pfc_gap_zero_coefficient_source_leftdiagonaltermleftoutside+(L)=(pfc_index_zero_coefficient_source_leftdiagonal)) /\ (((pfc_left_zero_coefficient_source_leftdiagonalterm)=0))))) /\ ((((((exists pfa_gap_zero_coefficient_source_leftdiagonaltermrightinside. pfa_gap_zero_coefficient_source_leftdiagonaltermrightinside + S (pfc_complement_zero_coefficient_source_leftdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_zero_coefficient_source_leftdiagonaltermrightentry. ff_h_pfp_zero_coefficient_source_leftdiagonaltermrightentry + S (pfc_right_zero_coefficient_source_leftdiagonalterm) = S ((S (pfc_complement_zero_coefficient_source_leftdiagonalterm)) * bc)) /\ exists ff_q_pfp_zero_coefficient_source_leftdiagonaltermrightentry. bb = ff_q_pfp_zero_coefficient_source_leftdiagonaltermrightentry * S ((S (pfc_complement_zero_coefficient_source_leftdiagonalterm)) * bc) + (pfc_right_zero_coefficient_source_leftdiagonalterm)))))) \/ (((exists pfc_gap_zero_coefficient_source_leftdiagonaltermrightoutside. pfc_gap_zero_coefficient_source_leftdiagonaltermrightoutside+(M)=(pfc_complement_zero_coefficient_source_leftdiagonalterm)) /\ (((pfc_right_zero_coefficient_source_leftdiagonalterm)=0))))) /\ (((pfc_value_zero_coefficient_source_leftdiagonal)=pfc_left_zero_coefficient_source_leftdiagonalterm*pfc_right_zero_coefficient_source_leftdiagonalterm))))))))))) /\ (((exists fs_u_pfc_zero_coefficient_source_leftsum fs_v_pfc_zero_coefficient_source_leftsum. ((((exists fs_h_pfc_zero_coefficient_source_leftsum_body_start. fs_h_pfc_zero_coefficient_source_leftsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_zero_coefficient_source_leftsum)) /\ exists fs_q_pfc_zero_coefficient_source_leftsum_body_start. fs_u_pfc_zero_coefficient_source_leftsum = fs_q_pfc_zero_coefficient_source_leftsum_body_start * S ((S (0)) * fs_v_pfc_zero_coefficient_source_leftsum) + (0))) /\ ((((exists fs_h_pfc_zero_coefficient_source_leftsum_body_terminal. fs_h_pfc_zero_coefficient_source_leftsum_body_terminal + S (pfc_natural_sum_zero_coefficient_source_left) = S ((S (S (i))) * fs_v_pfc_zero_coefficient_source_leftsum)) /\ exists fs_q_pfc_zero_coefficient_source_leftsum_body_terminal. fs_u_pfc_zero_coefficient_source_leftsum = fs_q_pfc_zero_coefficient_source_leftsum_body_terminal * S ((S (S (i))) * fs_v_pfc_zero_coefficient_source_leftsum) + (pfc_natural_sum_zero_coefficient_source_left))) /\ forall fs_i_pfc_zero_coefficient_source_leftsum_body_steps. (exists fs_lt_pfc_zero_coefficient_source_leftsum_body_steps_bound. fs_lt_pfc_zero_coefficient_source_leftsum_body_steps_bound + S fs_i_pfc_zero_coefficient_source_leftsum_body_steps = S (i)) -> exists fs_a_pfc_zero_coefficient_source_leftsum_body_steps fs_r_pfc_zero_coefficient_source_leftsum_body_steps fs_s_pfc_zero_coefficient_source_leftsum_body_steps. ((((exists fs_h_pfc_zero_coefficient_source_leftsum_body_steps_summand. fs_h_pfc_zero_coefficient_source_leftsum_body_steps_summand + S (fs_a_pfc_zero_coefficient_source_leftsum_body_steps) = S ((S (fs_i_pfc_zero_coefficient_source_leftsum_body_steps)) * pfc_terms_scale_zero_coefficient_source_left)) /\ exists fs_q_pfc_zero_coefficient_source_leftsum_body_steps_summand. pfc_terms_code_zero_coefficient_source_left = fs_q_pfc_zero_coefficient_source_leftsum_body_steps_summand * S ((S (fs_i_pfc_zero_coefficient_source_leftsum_body_steps)) * pfc_terms_scale_zero_coefficient_source_left) + (fs_a_pfc_zero_coefficient_source_leftsum_body_steps))) /\ ((((exists fs_h_pfc_zero_coefficient_source_leftsum_body_steps_partial. fs_h_pfc_zero_coefficient_source_leftsum_body_steps_partial + S (fs_r_pfc_zero_coefficient_source_leftsum_body_steps) = S ((S (fs_i_pfc_zero_coefficient_source_leftsum_body_steps)) * fs_v_pfc_zero_coefficient_source_leftsum)) /\ exists fs_q_pfc_zero_coefficient_source_leftsum_body_steps_partial. fs_u_pfc_zero_coefficient_source_leftsum = fs_q_pfc_zero_coefficient_source_leftsum_body_steps_partial * S ((S (fs_i_pfc_zero_coefficient_source_leftsum_body_steps)) * fs_v_pfc_zero_coefficient_source_leftsum) + (fs_r_pfc_zero_coefficient_source_leftsum_body_steps))) /\ ((((exists fs_h_pfc_zero_coefficient_source_leftsum_body_steps_successor. fs_h_pfc_zero_coefficient_source_leftsum_body_steps_successor + S (fs_s_pfc_zero_coefficient_source_leftsum_body_steps) = S ((S (S fs_i_pfc_zero_coefficient_source_leftsum_body_steps)) * fs_v_pfc_zero_coefficient_source_leftsum)) /\ exists fs_q_pfc_zero_coefficient_source_leftsum_body_steps_successor. fs_u_pfc_zero_coefficient_source_leftsum = fs_q_pfc_zero_coefficient_source_leftsum_body_steps_successor * S ((S (S fs_i_pfc_zero_coefficient_source_leftsum_body_steps)) * fs_v_pfc_zero_coefficient_source_leftsum) + (fs_s_pfc_zero_coefficient_source_leftsum_body_steps))) /\ fs_s_pfc_zero_coefficient_source_leftsum_body_steps = fs_r_pfc_zero_coefficient_source_leftsum_body_steps + fs_a_pfc_zero_coefficient_source_leftsum_body_steps)))))) /\ ((((exists pfa_gap_zero_coefficient_source_leftresiduebound. pfa_gap_zero_coefficient_source_leftresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_zero_coefficient_source_leftresiduecongruence pfa_offset_right_zero_coefficient_source_leftresiduecongruence. (pfc_natural_sum_zero_coefficient_source_left) + (p) * pfa_offset_left_zero_coefficient_source_leftresiduecongruence = (r) + (p) * pfa_offset_right_zero_coefficient_source_leftresiduecongruence))))))))) -> r=0
intro pintro abintro acintro Lintro bbintro bcintro Mintro iintro rintro hpintro hcintro hrcases hrcases hr_witnesscases hr_witness_witnesscases hr_witness_witness_witnesscases hr_witness_witness_witness_righthave hz : forall pfp_repeat_index_zero_diagonal_left. (exists pfa_gap_zero_diagonal_leftindex. pfa_gap_zero_diagonal_leftindex + S (pfp_repeat_index_zero_diagonal_left) = (S i)) -> (((exists ff_h_pfp_zero_diagonal_leftentry. ff_h_pfp_zero_diagonal_leftentry + S (0) = S ((S (pfp_repeat_index_zero_diagonal_left)) * x1)) /\ exists ff_q_pfp_zero_diagonal_leftentry. x = ff_q_pfp_zero_diagonal_leftentry * S ((S (pfp_repeat_index_zero_diagonal_left)) * x1) + (0)))intro jintro hjhave ht : exists t. ((((exists ff_h_pfp_zero_diagonal_entry_left. ff_h_pfp_zero_diagonal_entry_left + S (t) = S ((S (j)) * x1)) /\ exists ff_q_pfp_zero_diagonal_entry_left. x = ff_q_pfp_zero_diagonal_entry_left * S ((S (j)) * x1) + (t))) /\ ((exists pfc_complement_zero_diagonal_term_left pfc_left_zero_diagonal_term_left pfc_right_zero_diagonal_term_left. (((j)+pfc_complement_zero_diagonal_term_left=(i)) /\ ((((((exists pfa_gap_zero_diagonal_term_leftleftinside. pfa_gap_zero_diagonal_term_leftleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_zero_diagonal_term_leftleftentry. ff_h_pfp_zero_diagonal_term_leftleftentry + S (pfc_left_zero_diagonal_term_left) = S ((S (j)) * ac)) /\ exists ff_q_pfp_zero_diagonal_term_leftleftentry. ab = ff_q_pfp_zero_diagonal_term_leftleftentry * S ((S (j)) * ac) + (pfc_left_zero_diagonal_term_left)))))) \/ (((exists pfc_gap_zero_diagonal_term_leftleftoutside. pfc_gap_zero_diagonal_term_leftleftoutside+(L)=(j)) /\ (((pfc_left_zero_diagonal_term_left)=0))))) /\ ((((((exists pfa_gap_zero_diagonal_term_leftrightinside. pfa_gap_zero_diagonal_term_leftrightinside + S (pfc_complement_zero_diagonal_term_left) = (M)) /\ ((((exists ff_h_pfp_zero_diagonal_term_leftrightentry. ff_h_pfp_zero_diagonal_term_leftrightentry + S (pfc_right_zero_diagonal_term_left) = S ((S (pfc_complement_zero_diagonal_term_left)) * bc)) /\ exists ff_q_pfp_zero_diagonal_term_leftrightentry. bb = ff_q_pfp_zero_diagonal_term_leftrightentry * S ((S (pfc_complement_zero_diagonal_term_left)) * bc) + (pfc_right_zero_diagonal_term_left)))))) \/ (((exists pfc_gap_zero_diagonal_term_leftrightoutside. pfc_gap_zero_diagonal_term_leftrightoutside+(M)=(pfc_complement_zero_diagonal_term_left)) /\ (((pfc_right_zero_diagonal_term_left)=0))))) /\ (((t)=pfc_left_zero_diagonal_term_left*pfc_right_zero_diagonal_term_left))))))))))specialize hr_witness_witness_witness_left (j)apply hr_witness_witness_witness_leftexact hjcases htcases ht_witnesshave heq : x3=0specialize polynomial_diagonal_term_zero_left (ab)specialize polynomial_diagonal_term_zero_left (ac)specialize polynomial_diagonal_term_zero_left (L)specialize polynomial_diagonal_term_zero_left (bb)specialize polynomial_diagonal_term_zero_left (bc)specialize polynomial_diagonal_term_zero_left (M)specialize polynomial_diagonal_term_zero_left (i)specialize polynomial_diagonal_term_zero_left (j)specialize polynomial_diagonal_term_zero_left (x3)apply polynomial_diagonal_term_zero_leftexact hcexact ht_witness_rightrewrite heq at ht_witness_leftrewrite heq at ht_witness_leftexact ht_witness_lefthave hn : x2=0trans (S i)*0specialize beta_repeat_sum_exact (x)specialize beta_repeat_sum_exact (x1)specialize beta_repeat_sum_exact (0)specialize beta_repeat_sum_exact (S i)specialize beta_repeat_sum_exact (x2)apply beta_repeat_sum_exactexact hzexact hr_witness_witness_witness_right_leftsimprewrite hn at hr_witness_witness_witness_right_rightspecialize prime_field_residue_bounded_value (p)specialize prime_field_residue_bounded_value (0)specialize prime_field_residue_bounded_value (r)apply prime_field_residue_bounded_valuespecialize one_le_of_ne_zero (p)apply one_le_of_ne_zeroexact hpexact hr_witness_witness_witness_right_right
polynomial_diagonal_term_zero_right · unchanged support, not a new admission
forall ab ac L bb bc M i j t. (forall pfp_repeat_index_term_zero_right. (exists pfa_gap_term_zero_rightindex. pfa_gap_term_zero_rightindex + S (pfp_repeat_index_term_zero_right) = (M)) -> (((exists ff_h_pfp_term_zero_rightentry. ff_h_pfp_term_zero_rightentry + S (0) = S ((S (pfp_repeat_index_term_zero_right)) * bc)) /\ exists ff_q_pfp_term_zero_rightentry. bb = ff_q_pfp_term_zero_rightentry * S ((S (pfp_repeat_index_term_zero_right)) * bc) + (0)))) -> (exists pfc_complement_term_zero_source_right pfc_left_term_zero_source_right pfc_right_term_zero_source_right. (((j)+pfc_complement_term_zero_source_right=(i)) /\ ((((((exists pfa_gap_term_zero_source_rightleftinside. pfa_gap_term_zero_source_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_zero_source_rightleftentry. ff_h_pfp_term_zero_source_rightleftentry + S (pfc_left_term_zero_source_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_zero_source_rightleftentry. ab = ff_q_pfp_term_zero_source_rightleftentry * S ((S (j)) * ac) + (pfc_left_term_zero_source_right)))))) \/ (((exists pfc_gap_term_zero_source_rightleftoutside. pfc_gap_term_zero_source_rightleftoutside+(L)=(j)) /\ (((pfc_left_term_zero_source_right)=0))))) /\ ((((((exists pfa_gap_term_zero_source_rightrightinside. pfa_gap_term_zero_source_rightrightinside + S (pfc_complement_term_zero_source_right) = (M)) /\ ((((exists ff_h_pfp_term_zero_source_rightrightentry. ff_h_pfp_term_zero_source_rightrightentry + S (pfc_right_term_zero_source_right) = S ((S (pfc_complement_term_zero_source_right)) * bc)) /\ exists ff_q_pfp_term_zero_source_rightrightentry. bb = ff_q_pfp_term_zero_source_rightrightentry * S ((S (pfc_complement_term_zero_source_right)) * bc) + (pfc_right_term_zero_source_right)))))) \/ (((exists pfc_gap_term_zero_source_rightrightoutside. pfc_gap_term_zero_source_rightrightoutside+(M)=(pfc_complement_term_zero_source_right)) /\ (((pfc_right_term_zero_source_right)=0))))) /\ (((t)=pfc_left_term_zero_source_right*pfc_right_term_zero_source_right)))))))) -> t=0
intro abintro acintro Lintro bbintro bcintro Mintro iintro jintro tintro hzintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_righthave heq : x2=0specialize polynomial_zero_extended_zero_value (bb)specialize polynomial_zero_extended_zero_value (bc)specialize polynomial_zero_extended_zero_value (M)specialize polynomial_zero_extended_zero_value (x)specialize polynomial_zero_extended_zero_value (x2)apply polynomial_zero_extended_zero_valueexact hzexact ht_witness_witness_witness_right_right_lefttrans x1*x2exact ht_witness_witness_witness_right_right_rightrewrite heqsimp
prime_field_convolution_coefficient_zero_right · unchanged support, not a new admission
forall p ab ac L bb bc M i r. ~(p=0) -> (forall pfp_repeat_index_zero_coefficient_condition_right. (exists pfa_gap_zero_coefficient_condition_rightindex. pfa_gap_zero_coefficient_condition_rightindex + S (pfp_repeat_index_zero_coefficient_condition_right) = (M)) -> (((exists ff_h_pfp_zero_coefficient_condition_rightentry. ff_h_pfp_zero_coefficient_condition_rightentry + S (0) = S ((S (pfp_repeat_index_zero_coefficient_condition_right)) * bc)) /\ exists ff_q_pfp_zero_coefficient_condition_rightentry. bb = ff_q_pfp_zero_coefficient_condition_rightentry * S ((S (pfp_repeat_index_zero_coefficient_condition_right)) * bc) + (0)))) -> (exists pfc_terms_code_zero_coefficient_source_right pfc_terms_scale_zero_coefficient_source_right pfc_natural_sum_zero_coefficient_source_right. ((forall pfc_index_zero_coefficient_source_rightdiagonal. (exists pfa_gap_zero_coefficient_source_rightdiagonalbound. pfa_gap_zero_coefficient_source_rightdiagonalbound + S (pfc_index_zero_coefficient_source_rightdiagonal) = (S (i))) -> exists pfc_value_zero_coefficient_source_rightdiagonal. ((((exists ff_h_pfp_zero_coefficient_source_rightdiagonalentry. ff_h_pfp_zero_coefficient_source_rightdiagonalentry + S (pfc_value_zero_coefficient_source_rightdiagonal) = S ((S (pfc_index_zero_coefficient_source_rightdiagonal)) * pfc_terms_scale_zero_coefficient_source_right)) /\ exists ff_q_pfp_zero_coefficient_source_rightdiagonalentry. pfc_terms_code_zero_coefficient_source_right = ff_q_pfp_zero_coefficient_source_rightdiagonalentry * S ((S (pfc_index_zero_coefficient_source_rightdiagonal)) * pfc_terms_scale_zero_coefficient_source_right) + (pfc_value_zero_coefficient_source_rightdiagonal))) /\ ((exists pfc_complement_zero_coefficient_source_rightdiagonalterm pfc_left_zero_coefficient_source_rightdiagonalterm pfc_right_zero_coefficient_source_rightdiagonalterm. (((pfc_index_zero_coefficient_source_rightdiagonal)+pfc_complement_zero_coefficient_source_rightdiagonalterm=(i)) /\ ((((((exists pfa_gap_zero_coefficient_source_rightdiagonaltermleftinside. pfa_gap_zero_coefficient_source_rightdiagonaltermleftinside + S (pfc_index_zero_coefficient_source_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_zero_coefficient_source_rightdiagonaltermleftentry. ff_h_pfp_zero_coefficient_source_rightdiagonaltermleftentry + S (pfc_left_zero_coefficient_source_rightdiagonalterm) = S ((S (pfc_index_zero_coefficient_source_rightdiagonal)) * ac)) /\ exists ff_q_pfp_zero_coefficient_source_rightdiagonaltermleftentry. ab = ff_q_pfp_zero_coefficient_source_rightdiagonaltermleftentry * S ((S (pfc_index_zero_coefficient_source_rightdiagonal)) * ac) + (pfc_left_zero_coefficient_source_rightdiagonalterm)))))) \/ (((exists pfc_gap_zero_coefficient_source_rightdiagonaltermleftoutside. pfc_gap_zero_coefficient_source_rightdiagonaltermleftoutside+(L)=(pfc_index_zero_coefficient_source_rightdiagonal)) /\ (((pfc_left_zero_coefficient_source_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_zero_coefficient_source_rightdiagonaltermrightinside. pfa_gap_zero_coefficient_source_rightdiagonaltermrightinside + S (pfc_complement_zero_coefficient_source_rightdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_zero_coefficient_source_rightdiagonaltermrightentry. ff_h_pfp_zero_coefficient_source_rightdiagonaltermrightentry + S (pfc_right_zero_coefficient_source_rightdiagonalterm) = S ((S (pfc_complement_zero_coefficient_source_rightdiagonalterm)) * bc)) /\ exists ff_q_pfp_zero_coefficient_source_rightdiagonaltermrightentry. bb = ff_q_pfp_zero_coefficient_source_rightdiagonaltermrightentry * S ((S (pfc_complement_zero_coefficient_source_rightdiagonalterm)) * bc) + (pfc_right_zero_coefficient_source_rightdiagonalterm)))))) \/ (((exists pfc_gap_zero_coefficient_source_rightdiagonaltermrightoutside. pfc_gap_zero_coefficient_source_rightdiagonaltermrightoutside+(M)=(pfc_complement_zero_coefficient_source_rightdiagonalterm)) /\ (((pfc_right_zero_coefficient_source_rightdiagonalterm)=0))))) /\ (((pfc_value_zero_coefficient_source_rightdiagonal)=pfc_left_zero_coefficient_source_rightdiagonalterm*pfc_right_zero_coefficient_source_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_zero_coefficient_source_rightsum fs_v_pfc_zero_coefficient_source_rightsum. ((((exists fs_h_pfc_zero_coefficient_source_rightsum_body_start. fs_h_pfc_zero_coefficient_source_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_zero_coefficient_source_rightsum)) /\ exists fs_q_pfc_zero_coefficient_source_rightsum_body_start. fs_u_pfc_zero_coefficient_source_rightsum = fs_q_pfc_zero_coefficient_source_rightsum_body_start * S ((S (0)) * fs_v_pfc_zero_coefficient_source_rightsum) + (0))) /\ ((((exists fs_h_pfc_zero_coefficient_source_rightsum_body_terminal. fs_h_pfc_zero_coefficient_source_rightsum_body_terminal + S (pfc_natural_sum_zero_coefficient_source_right) = S ((S (S (i))) * fs_v_pfc_zero_coefficient_source_rightsum)) /\ exists fs_q_pfc_zero_coefficient_source_rightsum_body_terminal. fs_u_pfc_zero_coefficient_source_rightsum = fs_q_pfc_zero_coefficient_source_rightsum_body_terminal * S ((S (S (i))) * fs_v_pfc_zero_coefficient_source_rightsum) + (pfc_natural_sum_zero_coefficient_source_right))) /\ forall fs_i_pfc_zero_coefficient_source_rightsum_body_steps. (exists fs_lt_pfc_zero_coefficient_source_rightsum_body_steps_bound. fs_lt_pfc_zero_coefficient_source_rightsum_body_steps_bound + S fs_i_pfc_zero_coefficient_source_rightsum_body_steps = S (i)) -> exists fs_a_pfc_zero_coefficient_source_rightsum_body_steps fs_r_pfc_zero_coefficient_source_rightsum_body_steps fs_s_pfc_zero_coefficient_source_rightsum_body_steps. ((((exists fs_h_pfc_zero_coefficient_source_rightsum_body_steps_summand. fs_h_pfc_zero_coefficient_source_rightsum_body_steps_summand + S (fs_a_pfc_zero_coefficient_source_rightsum_body_steps) = S ((S (fs_i_pfc_zero_coefficient_source_rightsum_body_steps)) * pfc_terms_scale_zero_coefficient_source_right)) /\ exists fs_q_pfc_zero_coefficient_source_rightsum_body_steps_summand. pfc_terms_code_zero_coefficient_source_right = fs_q_pfc_zero_coefficient_source_rightsum_body_steps_summand * S ((S (fs_i_pfc_zero_coefficient_source_rightsum_body_steps)) * pfc_terms_scale_zero_coefficient_source_right) + (fs_a_pfc_zero_coefficient_source_rightsum_body_steps))) /\ ((((exists fs_h_pfc_zero_coefficient_source_rightsum_body_steps_partial. fs_h_pfc_zero_coefficient_source_rightsum_body_steps_partial + S (fs_r_pfc_zero_coefficient_source_rightsum_body_steps) = S ((S (fs_i_pfc_zero_coefficient_source_rightsum_body_steps)) * fs_v_pfc_zero_coefficient_source_rightsum)) /\ exists fs_q_pfc_zero_coefficient_source_rightsum_body_steps_partial. fs_u_pfc_zero_coefficient_source_rightsum = fs_q_pfc_zero_coefficient_source_rightsum_body_steps_partial * S ((S (fs_i_pfc_zero_coefficient_source_rightsum_body_steps)) * fs_v_pfc_zero_coefficient_source_rightsum) + (fs_r_pfc_zero_coefficient_source_rightsum_body_steps))) /\ ((((exists fs_h_pfc_zero_coefficient_source_rightsum_body_steps_successor. fs_h_pfc_zero_coefficient_source_rightsum_body_steps_successor + S (fs_s_pfc_zero_coefficient_source_rightsum_body_steps) = S ((S (S fs_i_pfc_zero_coefficient_source_rightsum_body_steps)) * fs_v_pfc_zero_coefficient_source_rightsum)) /\ exists fs_q_pfc_zero_coefficient_source_rightsum_body_steps_successor. fs_u_pfc_zero_coefficient_source_rightsum = fs_q_pfc_zero_coefficient_source_rightsum_body_steps_successor * S ((S (S fs_i_pfc_zero_coefficient_source_rightsum_body_steps)) * fs_v_pfc_zero_coefficient_source_rightsum) + (fs_s_pfc_zero_coefficient_source_rightsum_body_steps))) /\ fs_s_pfc_zero_coefficient_source_rightsum_body_steps = fs_r_pfc_zero_coefficient_source_rightsum_body_steps + fs_a_pfc_zero_coefficient_source_rightsum_body_steps)))))) /\ ((((exists pfa_gap_zero_coefficient_source_rightresiduebound. pfa_gap_zero_coefficient_source_rightresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_zero_coefficient_source_rightresiduecongruence pfa_offset_right_zero_coefficient_source_rightresiduecongruence. (pfc_natural_sum_zero_coefficient_source_right) + (p) * pfa_offset_left_zero_coefficient_source_rightresiduecongruence = (r) + (p) * pfa_offset_right_zero_coefficient_source_rightresiduecongruence))))))))) -> r=0
intro pintro abintro acintro Lintro bbintro bcintro Mintro iintro rintro hpintro hcintro hrcases hrcases hr_witnesscases hr_witness_witnesscases hr_witness_witness_witnesscases hr_witness_witness_witness_righthave hz : forall pfp_repeat_index_zero_diagonal_right. (exists pfa_gap_zero_diagonal_rightindex. pfa_gap_zero_diagonal_rightindex + S (pfp_repeat_index_zero_diagonal_right) = (S i)) -> (((exists ff_h_pfp_zero_diagonal_rightentry. ff_h_pfp_zero_diagonal_rightentry + S (0) = S ((S (pfp_repeat_index_zero_diagonal_right)) * x1)) /\ exists ff_q_pfp_zero_diagonal_rightentry. x = ff_q_pfp_zero_diagonal_rightentry * S ((S (pfp_repeat_index_zero_diagonal_right)) * x1) + (0)))intro jintro hjhave ht : exists t. ((((exists ff_h_pfp_zero_diagonal_entry_right. ff_h_pfp_zero_diagonal_entry_right + S (t) = S ((S (j)) * x1)) /\ exists ff_q_pfp_zero_diagonal_entry_right. x = ff_q_pfp_zero_diagonal_entry_right * S ((S (j)) * x1) + (t))) /\ ((exists pfc_complement_zero_diagonal_term_right pfc_left_zero_diagonal_term_right pfc_right_zero_diagonal_term_right. (((j)+pfc_complement_zero_diagonal_term_right=(i)) /\ ((((((exists pfa_gap_zero_diagonal_term_rightleftinside. pfa_gap_zero_diagonal_term_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_zero_diagonal_term_rightleftentry. ff_h_pfp_zero_diagonal_term_rightleftentry + S (pfc_left_zero_diagonal_term_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_zero_diagonal_term_rightleftentry. ab = ff_q_pfp_zero_diagonal_term_rightleftentry * S ((S (j)) * ac) + (pfc_left_zero_diagonal_term_right)))))) \/ (((exists pfc_gap_zero_diagonal_term_rightleftoutside. pfc_gap_zero_diagonal_term_rightleftoutside+(L)=(j)) /\ (((pfc_left_zero_diagonal_term_right)=0))))) /\ ((((((exists pfa_gap_zero_diagonal_term_rightrightinside. pfa_gap_zero_diagonal_term_rightrightinside + S (pfc_complement_zero_diagonal_term_right) = (M)) /\ ((((exists ff_h_pfp_zero_diagonal_term_rightrightentry. ff_h_pfp_zero_diagonal_term_rightrightentry + S (pfc_right_zero_diagonal_term_right) = S ((S (pfc_complement_zero_diagonal_term_right)) * bc)) /\ exists ff_q_pfp_zero_diagonal_term_rightrightentry. bb = ff_q_pfp_zero_diagonal_term_rightrightentry * S ((S (pfc_complement_zero_diagonal_term_right)) * bc) + (pfc_right_zero_diagonal_term_right)))))) \/ (((exists pfc_gap_zero_diagonal_term_rightrightoutside. pfc_gap_zero_diagonal_term_rightrightoutside+(M)=(pfc_complement_zero_diagonal_term_right)) /\ (((pfc_right_zero_diagonal_term_right)=0))))) /\ (((t)=pfc_left_zero_diagonal_term_right*pfc_right_zero_diagonal_term_right))))))))))specialize hr_witness_witness_witness_left (j)apply hr_witness_witness_witness_leftexact hjcases htcases ht_witnesshave heq : x3=0specialize polynomial_diagonal_term_zero_right (ab)specialize polynomial_diagonal_term_zero_right (ac)specialize polynomial_diagonal_term_zero_right (L)specialize polynomial_diagonal_term_zero_right (bb)specialize polynomial_diagonal_term_zero_right (bc)specialize polynomial_diagonal_term_zero_right (M)specialize polynomial_diagonal_term_zero_right (i)specialize polynomial_diagonal_term_zero_right (j)specialize polynomial_diagonal_term_zero_right (x3)apply polynomial_diagonal_term_zero_rightexact hcexact ht_witness_rightrewrite heq at ht_witness_leftrewrite heq at ht_witness_leftexact ht_witness_lefthave hn : x2=0trans (S i)*0specialize beta_repeat_sum_exact (x)specialize beta_repeat_sum_exact (x1)specialize beta_repeat_sum_exact (0)specialize beta_repeat_sum_exact (S i)specialize beta_repeat_sum_exact (x2)apply beta_repeat_sum_exactexact hzexact hr_witness_witness_witness_right_leftsimprewrite hn at hr_witness_witness_witness_right_rightspecialize prime_field_residue_bounded_value (p)specialize prime_field_residue_bounded_value (0)specialize prime_field_residue_bounded_value (r)apply prime_field_residue_bounded_valuespecialize one_le_of_ne_zero (p)apply one_le_of_ne_zeroexact hpexact hr_witness_witness_witness_right_right
polynomial_diagonal_term_past_support · unchanged support, not a new admission
forall ab ac L bb bc M i j t. (exists pfc_gap_term_past_guard. pfc_gap_term_past_guard+(L+M)=(S i)) -> (exists pfc_complement_term_past_source pfc_left_term_past_source pfc_right_term_past_source. (((j)+pfc_complement_term_past_source=(i)) /\ ((((((exists pfa_gap_term_past_sourceleftinside. pfa_gap_term_past_sourceleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_past_sourceleftentry. ff_h_pfp_term_past_sourceleftentry + S (pfc_left_term_past_source) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_past_sourceleftentry. ab = ff_q_pfp_term_past_sourceleftentry * S ((S (j)) * ac) + (pfc_left_term_past_source)))))) \/ (((exists pfc_gap_term_past_sourceleftoutside. pfc_gap_term_past_sourceleftoutside+(L)=(j)) /\ (((pfc_left_term_past_source)=0))))) /\ ((((((exists pfa_gap_term_past_sourcerightinside. pfa_gap_term_past_sourcerightinside + S (pfc_complement_term_past_source) = (M)) /\ ((((exists ff_h_pfp_term_past_sourcerightentry. ff_h_pfp_term_past_sourcerightentry + S (pfc_right_term_past_source) = S ((S (pfc_complement_term_past_source)) * bc)) /\ exists ff_q_pfp_term_past_sourcerightentry. bb = ff_q_pfp_term_past_sourcerightentry * S ((S (pfc_complement_term_past_source)) * bc) + (pfc_right_term_past_source)))))) \/ (((exists pfc_gap_term_past_sourcerightoutside. pfc_gap_term_past_sourcerightoutside+(M)=(pfc_complement_term_past_source)) /\ (((pfc_right_term_past_source)=0))))) /\ (((t)=pfc_left_term_past_source*pfc_right_term_past_source)))))))) -> t=0
intro abintro acintro Lintro bbintro bcintro Mintro iintro jintro tintro hpastintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_rightcases ht_witness_witness_witness_right_leftcases ht_witness_witness_witness_right_left_leftcases ht_witness_witness_witness_right_right_leftcases ht_witness_witness_witness_right_right_left_leftexfalsohave hsum : exists pfc_gap_term_past_sum_bound. pfc_gap_term_past_sum_bound+(S j+S x)=(L+M)specialize le_trans (S j+S x)specialize le_trans (L+S x)specialize le_trans (L+M)apply le_transspecialize add_le_add_right (S j)specialize add_le_add_right (L)specialize add_le_add_right (S x)apply add_le_add_rightexact ht_witness_witness_witness_right_left_left_leftspecialize add_le_add_left (S x)specialize add_le_add_left (M)specialize add_le_add_left (L)apply add_le_add_leftexact ht_witness_witness_witness_right_right_left_left_lefthave heq : S j+S x=S (S i)trans S (S (j+x))simp [add_succ_left]congrcongrexact ht_witness_witness_witness_leftrewrite heq at hsumspecialize lt_not_le (S i)specialize lt_not_le (L+M)apply lt_not_leexact hsumexact hpastcases ht_witness_witness_witness_right_right_left_righttrans x1*x2exact ht_witness_witness_witness_right_right_rightrewrite ht_witness_witness_witness_right_right_left_right_rightsimpcases ht_witness_witness_witness_right_left_righttrans x1*x2exact ht_witness_witness_witness_right_right_rightrewrite ht_witness_witness_witness_right_left_right_rightspecialize mul_zero_left (x2)apply mul_zero_left
prime_field_convolution_coefficient_zero_past_support · unchanged support, not a new admission
forall p ab ac L bb bc M i r. ~(p=0) -> (exists pfc_gap_zero_coefficient_condition_past_support. pfc_gap_zero_coefficient_condition_past_support+(L+M)=(S i)) -> (exists pfc_terms_code_zero_coefficient_source_past_support pfc_terms_scale_zero_coefficient_source_past_support pfc_natural_sum_zero_coefficient_source_past_support. ((forall pfc_index_zero_coefficient_source_past_supportdiagonal. (exists pfa_gap_zero_coefficient_source_past_supportdiagonalbound. pfa_gap_zero_coefficient_source_past_supportdiagonalbound + S (pfc_index_zero_coefficient_source_past_supportdiagonal) = (S (i))) -> exists pfc_value_zero_coefficient_source_past_supportdiagonal. ((((exists ff_h_pfp_zero_coefficient_source_past_supportdiagonalentry. ff_h_pfp_zero_coefficient_source_past_supportdiagonalentry + S (pfc_value_zero_coefficient_source_past_supportdiagonal) = S ((S (pfc_index_zero_coefficient_source_past_supportdiagonal)) * pfc_terms_scale_zero_coefficient_source_past_support)) /\ exists ff_q_pfp_zero_coefficient_source_past_supportdiagonalentry. pfc_terms_code_zero_coefficient_source_past_support = ff_q_pfp_zero_coefficient_source_past_supportdiagonalentry * S ((S (pfc_index_zero_coefficient_source_past_supportdiagonal)) * pfc_terms_scale_zero_coefficient_source_past_support) + (pfc_value_zero_coefficient_source_past_supportdiagonal))) /\ ((exists pfc_complement_zero_coefficient_source_past_supportdiagonalterm pfc_left_zero_coefficient_source_past_supportdiagonalterm pfc_right_zero_coefficient_source_past_supportdiagonalterm. (((pfc_index_zero_coefficient_source_past_supportdiagonal)+pfc_complement_zero_coefficient_source_past_supportdiagonalterm=(i)) /\ ((((((exists pfa_gap_zero_coefficient_source_past_supportdiagonaltermleftinside. pfa_gap_zero_coefficient_source_past_supportdiagonaltermleftinside + S (pfc_index_zero_coefficient_source_past_supportdiagonal) = (L)) /\ ((((exists ff_h_pfp_zero_coefficient_source_past_supportdiagonaltermleftentry. ff_h_pfp_zero_coefficient_source_past_supportdiagonaltermleftentry + S (pfc_left_zero_coefficient_source_past_supportdiagonalterm) = S ((S (pfc_index_zero_coefficient_source_past_supportdiagonal)) * ac)) /\ exists ff_q_pfp_zero_coefficient_source_past_supportdiagonaltermleftentry. ab = ff_q_pfp_zero_coefficient_source_past_supportdiagonaltermleftentry * S ((S (pfc_index_zero_coefficient_source_past_supportdiagonal)) * ac) + (pfc_left_zero_coefficient_source_past_supportdiagonalterm)))))) \/ (((exists pfc_gap_zero_coefficient_source_past_supportdiagonaltermleftoutside. pfc_gap_zero_coefficient_source_past_supportdiagonaltermleftoutside+(L)=(pfc_index_zero_coefficient_source_past_supportdiagonal)) /\ (((pfc_left_zero_coefficient_source_past_supportdiagonalterm)=0))))) /\ ((((((exists pfa_gap_zero_coefficient_source_past_supportdiagonaltermrightinside. pfa_gap_zero_coefficient_source_past_supportdiagonaltermrightinside + S (pfc_complement_zero_coefficient_source_past_supportdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_zero_coefficient_source_past_supportdiagonaltermrightentry. ff_h_pfp_zero_coefficient_source_past_supportdiagonaltermrightentry + S (pfc_right_zero_coefficient_source_past_supportdiagonalterm) = S ((S (pfc_complement_zero_coefficient_source_past_supportdiagonalterm)) * bc)) /\ exists ff_q_pfp_zero_coefficient_source_past_supportdiagonaltermrightentry. bb = ff_q_pfp_zero_coefficient_source_past_supportdiagonaltermrightentry * S ((S (pfc_complement_zero_coefficient_source_past_supportdiagonalterm)) * bc) + (pfc_right_zero_coefficient_source_past_supportdiagonalterm)))))) \/ (((exists pfc_gap_zero_coefficient_source_past_supportdiagonaltermrightoutside. pfc_gap_zero_coefficient_source_past_supportdiagonaltermrightoutside+(M)=(pfc_complement_zero_coefficient_source_past_supportdiagonalterm)) /\ (((pfc_right_zero_coefficient_source_past_supportdiagonalterm)=0))))) /\ (((pfc_value_zero_coefficient_source_past_supportdiagonal)=pfc_left_zero_coefficient_source_past_supportdiagonalterm*pfc_right_zero_coefficient_source_past_supportdiagonalterm))))))))))) /\ (((exists fs_u_pfc_zero_coefficient_source_past_supportsum fs_v_pfc_zero_coefficient_source_past_supportsum. ((((exists fs_h_pfc_zero_coefficient_source_past_supportsum_body_start. fs_h_pfc_zero_coefficient_source_past_supportsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_zero_coefficient_source_past_supportsum)) /\ exists fs_q_pfc_zero_coefficient_source_past_supportsum_body_start. fs_u_pfc_zero_coefficient_source_past_supportsum = fs_q_pfc_zero_coefficient_source_past_supportsum_body_start * S ((S (0)) * fs_v_pfc_zero_coefficient_source_past_supportsum) + (0))) /\ ((((exists fs_h_pfc_zero_coefficient_source_past_supportsum_body_terminal. fs_h_pfc_zero_coefficient_source_past_supportsum_body_terminal + S (pfc_natural_sum_zero_coefficient_source_past_support) = S ((S (S (i))) * fs_v_pfc_zero_coefficient_source_past_supportsum)) /\ exists fs_q_pfc_zero_coefficient_source_past_supportsum_body_terminal. fs_u_pfc_zero_coefficient_source_past_supportsum = fs_q_pfc_zero_coefficient_source_past_supportsum_body_terminal * S ((S (S (i))) * fs_v_pfc_zero_coefficient_source_past_supportsum) + (pfc_natural_sum_zero_coefficient_source_past_support))) /\ forall fs_i_pfc_zero_coefficient_source_past_supportsum_body_steps. (exists fs_lt_pfc_zero_coefficient_source_past_supportsum_body_steps_bound. fs_lt_pfc_zero_coefficient_source_past_supportsum_body_steps_bound + S fs_i_pfc_zero_coefficient_source_past_supportsum_body_steps = S (i)) -> exists fs_a_pfc_zero_coefficient_source_past_supportsum_body_steps fs_r_pfc_zero_coefficient_source_past_supportsum_body_steps fs_s_pfc_zero_coefficient_source_past_supportsum_body_steps. ((((exists fs_h_pfc_zero_coefficient_source_past_supportsum_body_steps_summand. fs_h_pfc_zero_coefficient_source_past_supportsum_body_steps_summand + S (fs_a_pfc_zero_coefficient_source_past_supportsum_body_steps) = S ((S (fs_i_pfc_zero_coefficient_source_past_supportsum_body_steps)) * pfc_terms_scale_zero_coefficient_source_past_support)) /\ exists fs_q_pfc_zero_coefficient_source_past_supportsum_body_steps_summand. pfc_terms_code_zero_coefficient_source_past_support = fs_q_pfc_zero_coefficient_source_past_supportsum_body_steps_summand * S ((S (fs_i_pfc_zero_coefficient_source_past_supportsum_body_steps)) * pfc_terms_scale_zero_coefficient_source_past_support) + (fs_a_pfc_zero_coefficient_source_past_supportsum_body_steps))) /\ ((((exists fs_h_pfc_zero_coefficient_source_past_supportsum_body_steps_partial. fs_h_pfc_zero_coefficient_source_past_supportsum_body_steps_partial + S (fs_r_pfc_zero_coefficient_source_past_supportsum_body_steps) = S ((S (fs_i_pfc_zero_coefficient_source_past_supportsum_body_steps)) * fs_v_pfc_zero_coefficient_source_past_supportsum)) /\ exists fs_q_pfc_zero_coefficient_source_past_supportsum_body_steps_partial. fs_u_pfc_zero_coefficient_source_past_supportsum = fs_q_pfc_zero_coefficient_source_past_supportsum_body_steps_partial * S ((S (fs_i_pfc_zero_coefficient_source_past_supportsum_body_steps)) * fs_v_pfc_zero_coefficient_source_past_supportsum) + (fs_r_pfc_zero_coefficient_source_past_supportsum_body_steps))) /\ ((((exists fs_h_pfc_zero_coefficient_source_past_supportsum_body_steps_successor. fs_h_pfc_zero_coefficient_source_past_supportsum_body_steps_successor + S (fs_s_pfc_zero_coefficient_source_past_supportsum_body_steps) = S ((S (S fs_i_pfc_zero_coefficient_source_past_supportsum_body_steps)) * fs_v_pfc_zero_coefficient_source_past_supportsum)) /\ exists fs_q_pfc_zero_coefficient_source_past_supportsum_body_steps_successor. fs_u_pfc_zero_coefficient_source_past_supportsum = fs_q_pfc_zero_coefficient_source_past_supportsum_body_steps_successor * S ((S (S fs_i_pfc_zero_coefficient_source_past_supportsum_body_steps)) * fs_v_pfc_zero_coefficient_source_past_supportsum) + (fs_s_pfc_zero_coefficient_source_past_supportsum_body_steps))) /\ fs_s_pfc_zero_coefficient_source_past_supportsum_body_steps = fs_r_pfc_zero_coefficient_source_past_supportsum_body_steps + fs_a_pfc_zero_coefficient_source_past_supportsum_body_steps)))))) /\ ((((exists pfa_gap_zero_coefficient_source_past_supportresiduebound. pfa_gap_zero_coefficient_source_past_supportresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_zero_coefficient_source_past_supportresiduecongruence pfa_offset_right_zero_coefficient_source_past_supportresiduecongruence. (pfc_natural_sum_zero_coefficient_source_past_support) + (p) * pfa_offset_left_zero_coefficient_source_past_supportresiduecongruence = (r) + (p) * pfa_offset_right_zero_coefficient_source_past_supportresiduecongruence))))))))) -> r=0
intro pintro abintro acintro Lintro bbintro bcintro Mintro iintro rintro hpintro hcintro hrcases hrcases hr_witnesscases hr_witness_witnesscases hr_witness_witness_witnesscases hr_witness_witness_witness_righthave hz : forall pfp_repeat_index_zero_diagonal_past_support. (exists pfa_gap_zero_diagonal_past_supportindex. pfa_gap_zero_diagonal_past_supportindex + S (pfp_repeat_index_zero_diagonal_past_support) = (S i)) -> (((exists ff_h_pfp_zero_diagonal_past_supportentry. ff_h_pfp_zero_diagonal_past_supportentry + S (0) = S ((S (pfp_repeat_index_zero_diagonal_past_support)) * x1)) /\ exists ff_q_pfp_zero_diagonal_past_supportentry. x = ff_q_pfp_zero_diagonal_past_supportentry * S ((S (pfp_repeat_index_zero_diagonal_past_support)) * x1) + (0)))intro jintro hjhave ht : exists t. ((((exists ff_h_pfp_zero_diagonal_entry_past_support. ff_h_pfp_zero_diagonal_entry_past_support + S (t) = S ((S (j)) * x1)) /\ exists ff_q_pfp_zero_diagonal_entry_past_support. x = ff_q_pfp_zero_diagonal_entry_past_support * S ((S (j)) * x1) + (t))) /\ ((exists pfc_complement_zero_diagonal_term_past_support pfc_left_zero_diagonal_term_past_support pfc_right_zero_diagonal_term_past_support. (((j)+pfc_complement_zero_diagonal_term_past_support=(i)) /\ ((((((exists pfa_gap_zero_diagonal_term_past_supportleftinside. pfa_gap_zero_diagonal_term_past_supportleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_zero_diagonal_term_past_supportleftentry. ff_h_pfp_zero_diagonal_term_past_supportleftentry + S (pfc_left_zero_diagonal_term_past_support) = S ((S (j)) * ac)) /\ exists ff_q_pfp_zero_diagonal_term_past_supportleftentry. ab = ff_q_pfp_zero_diagonal_term_past_supportleftentry * S ((S (j)) * ac) + (pfc_left_zero_diagonal_term_past_support)))))) \/ (((exists pfc_gap_zero_diagonal_term_past_supportleftoutside. pfc_gap_zero_diagonal_term_past_supportleftoutside+(L)=(j)) /\ (((pfc_left_zero_diagonal_term_past_support)=0))))) /\ ((((((exists pfa_gap_zero_diagonal_term_past_supportrightinside. pfa_gap_zero_diagonal_term_past_supportrightinside + S (pfc_complement_zero_diagonal_term_past_support) = (M)) /\ ((((exists ff_h_pfp_zero_diagonal_term_past_supportrightentry. ff_h_pfp_zero_diagonal_term_past_supportrightentry + S (pfc_right_zero_diagonal_term_past_support) = S ((S (pfc_complement_zero_diagonal_term_past_support)) * bc)) /\ exists ff_q_pfp_zero_diagonal_term_past_supportrightentry. bb = ff_q_pfp_zero_diagonal_term_past_supportrightentry * S ((S (pfc_complement_zero_diagonal_term_past_support)) * bc) + (pfc_right_zero_diagonal_term_past_support)))))) \/ (((exists pfc_gap_zero_diagonal_term_past_supportrightoutside. pfc_gap_zero_diagonal_term_past_supportrightoutside+(M)=(pfc_complement_zero_diagonal_term_past_support)) /\ (((pfc_right_zero_diagonal_term_past_support)=0))))) /\ (((t)=pfc_left_zero_diagonal_term_past_support*pfc_right_zero_diagonal_term_past_support))))))))))specialize hr_witness_witness_witness_left (j)apply hr_witness_witness_witness_leftexact hjcases htcases ht_witnesshave heq : x3=0specialize polynomial_diagonal_term_past_support (ab)specialize polynomial_diagonal_term_past_support (ac)specialize polynomial_diagonal_term_past_support (L)specialize polynomial_diagonal_term_past_support (bb)specialize polynomial_diagonal_term_past_support (bc)specialize polynomial_diagonal_term_past_support (M)specialize polynomial_diagonal_term_past_support (i)specialize polynomial_diagonal_term_past_support (j)specialize polynomial_diagonal_term_past_support (x3)apply polynomial_diagonal_term_past_supportexact hcexact ht_witness_rightrewrite heq at ht_witness_leftrewrite heq at ht_witness_leftexact ht_witness_lefthave hn : x2=0trans (S i)*0specialize beta_repeat_sum_exact (x)specialize beta_repeat_sum_exact (x1)specialize beta_repeat_sum_exact (0)specialize beta_repeat_sum_exact (S i)specialize beta_repeat_sum_exact (x2)apply beta_repeat_sum_exactexact hzexact hr_witness_witness_witness_right_leftsimprewrite hn at hr_witness_witness_witness_right_rightspecialize prime_field_residue_bounded_value (p)specialize prime_field_residue_bounded_value (0)specialize prime_field_residue_bounded_value (r)apply prime_field_residue_bounded_valuespecialize one_le_of_ne_zero (p)apply one_le_of_ne_zeroexact hpexact hr_witness_witness_witness_right_right
prime_field_polynomial_convolution_outside_zero · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N i r. ~(p=0) -> (((forall fom_index_pfp_outside_productleft. (exists fom_gap_pfp_outside_productleft_index_bound. fom_gap_pfp_outside_productleft_index_bound + S (fom_index_pfp_outside_productleft) = L) -> exists fom_value_pfp_outside_productleft. ((((exists fom_beta_height_pfp_outside_productleft_entry. fom_beta_height_pfp_outside_productleft_entry + S (fom_value_pfp_outside_productleft) = S ((S (fom_index_pfp_outside_productleft)) * ac)) /\ exists fom_beta_quotient_pfp_outside_productleft_entry. ab = fom_beta_quotient_pfp_outside_productleft_entry * S ((S (fom_index_pfp_outside_productleft)) * ac) + (fom_value_pfp_outside_productleft))) /\ (exists fom_gap_pfp_outside_productleft_value_bound. fom_gap_pfp_outside_productleft_value_bound + S (fom_value_pfp_outside_productleft) = p))) /\ (((forall fom_index_pfp_outside_productright. (exists fom_gap_pfp_outside_productright_index_bound. fom_gap_pfp_outside_productright_index_bound + S (fom_index_pfp_outside_productright) = M) -> exists fom_value_pfp_outside_productright. ((((exists fom_beta_height_pfp_outside_productright_entry. fom_beta_height_pfp_outside_productright_entry + S (fom_value_pfp_outside_productright) = S ((S (fom_index_pfp_outside_productright)) * bc)) /\ exists fom_beta_quotient_pfp_outside_productright_entry. bb = fom_beta_quotient_pfp_outside_productright_entry * S ((S (fom_index_pfp_outside_productright)) * bc) + (fom_value_pfp_outside_productright))) /\ (exists fom_gap_pfp_outside_productright_value_bound. fom_gap_pfp_outside_productright_value_bound + S (fom_value_pfp_outside_productright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_outside_productcoefficients. (exists pfa_gap_outside_productcoefficientsbound. pfa_gap_outside_productcoefficientsbound + S (pfc_index_outside_productcoefficients) = (N)) -> exists pfc_value_outside_productcoefficients. ((((exists ff_h_pfp_outside_productcoefficientsentry. ff_h_pfp_outside_productcoefficientsentry + S (pfc_value_outside_productcoefficients) = S ((S (pfc_index_outside_productcoefficients)) * cc)) /\ exists ff_q_pfp_outside_productcoefficientsentry. cb = ff_q_pfp_outside_productcoefficientsentry * S ((S (pfc_index_outside_productcoefficients)) * cc) + (pfc_value_outside_productcoefficients))) /\ ((exists pfc_terms_code_outside_productcoefficientscoefficient pfc_terms_scale_outside_productcoefficientscoefficient pfc_natural_sum_outside_productcoefficientscoefficient. ((forall pfc_index_outside_productcoefficientscoefficientdiagonal. (exists pfa_gap_outside_productcoefficientscoefficientdiagonalbound. pfa_gap_outside_productcoefficientscoefficientdiagonalbound + S (pfc_index_outside_productcoefficientscoefficientdiagonal) = (S (pfc_index_outside_productcoefficients))) -> exists pfc_value_outside_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_outside_productcoefficientscoefficientdiagonalentry. ff_h_pfp_outside_productcoefficientscoefficientdiagonalentry + S (pfc_value_outside_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_outside_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_outside_productcoefficientscoefficient)) /\ exists ff_q_pfp_outside_productcoefficientscoefficientdiagonalentry. pfc_terms_code_outside_productcoefficientscoefficient = ff_q_pfp_outside_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_outside_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_outside_productcoefficientscoefficient) + (pfc_value_outside_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_outside_productcoefficientscoefficientdiagonalterm pfc_left_outside_productcoefficientscoefficientdiagonalterm pfc_right_outside_productcoefficientscoefficientdiagonalterm. (((pfc_index_outside_productcoefficientscoefficientdiagonal)+pfc_complement_outside_productcoefficientscoefficientdiagonalterm=(pfc_index_outside_productcoefficients)) /\ ((((((exists pfa_gap_outside_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_outside_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_outside_productcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_outside_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_outside_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_outside_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_outside_productcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_outside_productcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_outside_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_outside_productcoefficientscoefficientdiagonal)) * ac) + (pfc_left_outside_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_outside_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_outside_productcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_outside_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_outside_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_outside_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_outside_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_outside_productcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_outside_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_outside_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_outside_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_outside_productcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_outside_productcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_outside_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_outside_productcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_outside_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_outside_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_outside_productcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_outside_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_outside_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_outside_productcoefficientscoefficientdiagonal)=pfc_left_outside_productcoefficientscoefficientdiagonalterm*pfc_right_outside_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_outside_productcoefficientscoefficientsum fs_v_pfc_outside_productcoefficientscoefficientsum. ((((exists fs_h_pfc_outside_productcoefficientscoefficientsum_body_start. fs_h_pfc_outside_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_outside_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_outside_productcoefficientscoefficientsum_body_start. fs_u_pfc_outside_productcoefficientscoefficientsum = fs_q_pfc_outside_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_outside_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_outside_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_outside_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_outside_productcoefficientscoefficient) = S ((S (S (pfc_index_outside_productcoefficients))) * fs_v_pfc_outside_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_outside_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_outside_productcoefficientscoefficientsum = fs_q_pfc_outside_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_outside_productcoefficients))) * fs_v_pfc_outside_productcoefficientscoefficientsum) + (pfc_natural_sum_outside_productcoefficientscoefficient))) /\ forall fs_i_pfc_outside_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_outside_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_outside_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_outside_productcoefficientscoefficientsum_body_steps = S (pfc_index_outside_productcoefficients)) -> exists fs_a_pfc_outside_productcoefficientscoefficientsum_body_steps fs_r_pfc_outside_productcoefficientscoefficientsum_body_steps fs_s_pfc_outside_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_outside_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_outside_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_outside_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_outside_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_outside_productcoefficientscoefficient)) /\ exists fs_q_pfc_outside_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_outside_productcoefficientscoefficient = fs_q_pfc_outside_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_outside_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_outside_productcoefficientscoefficient) + (fs_a_pfc_outside_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_outside_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_outside_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_outside_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_outside_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_outside_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_outside_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_outside_productcoefficientscoefficientsum = fs_q_pfc_outside_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_outside_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_outside_productcoefficientscoefficientsum) + (fs_r_pfc_outside_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_outside_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_outside_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_outside_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_outside_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_outside_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_outside_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_outside_productcoefficientscoefficientsum = fs_q_pfc_outside_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_outside_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_outside_productcoefficientscoefficientsum) + (fs_s_pfc_outside_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_outside_productcoefficientscoefficientsum_body_steps = fs_r_pfc_outside_productcoefficientscoefficientsum_body_steps + fs_a_pfc_outside_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_outside_productcoefficientscoefficientresiduebound. pfa_gap_outside_productcoefficientscoefficientresiduebound + S (pfc_value_outside_productcoefficients) = (p)) /\ ((exists pfa_offset_left_outside_productcoefficientscoefficientresiduecongruence pfa_offset_right_outside_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_outside_productcoefficientscoefficient) + (p) * pfa_offset_left_outside_productcoefficientscoefficientresiduecongruence = (pfc_value_outside_productcoefficients) + (p) * pfa_offset_right_outside_productcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (exists pfc_gap_outside_index. pfc_gap_outside_index+(N)=(i)) -> (exists pfc_terms_code_outside_coefficient pfc_terms_scale_outside_coefficient pfc_natural_sum_outside_coefficient. ((forall pfc_index_outside_coefficientdiagonal. (exists pfa_gap_outside_coefficientdiagonalbound. pfa_gap_outside_coefficientdiagonalbound + S (pfc_index_outside_coefficientdiagonal) = (S (i))) -> exists pfc_value_outside_coefficientdiagonal. ((((exists ff_h_pfp_outside_coefficientdiagonalentry. ff_h_pfp_outside_coefficientdiagonalentry + S (pfc_value_outside_coefficientdiagonal) = S ((S (pfc_index_outside_coefficientdiagonal)) * pfc_terms_scale_outside_coefficient)) /\ exists ff_q_pfp_outside_coefficientdiagonalentry. pfc_terms_code_outside_coefficient = ff_q_pfp_outside_coefficientdiagonalentry * S ((S (pfc_index_outside_coefficientdiagonal)) * pfc_terms_scale_outside_coefficient) + (pfc_value_outside_coefficientdiagonal))) /\ ((exists pfc_complement_outside_coefficientdiagonalterm pfc_left_outside_coefficientdiagonalterm pfc_right_outside_coefficientdiagonalterm. (((pfc_index_outside_coefficientdiagonal)+pfc_complement_outside_coefficientdiagonalterm=(i)) /\ ((((((exists pfa_gap_outside_coefficientdiagonaltermleftinside. pfa_gap_outside_coefficientdiagonaltermleftinside + S (pfc_index_outside_coefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_outside_coefficientdiagonaltermleftentry. ff_h_pfp_outside_coefficientdiagonaltermleftentry + S (pfc_left_outside_coefficientdiagonalterm) = S ((S (pfc_index_outside_coefficientdiagonal)) * ac)) /\ exists ff_q_pfp_outside_coefficientdiagonaltermleftentry. ab = ff_q_pfp_outside_coefficientdiagonaltermleftentry * S ((S (pfc_index_outside_coefficientdiagonal)) * ac) + (pfc_left_outside_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_outside_coefficientdiagonaltermleftoutside. pfc_gap_outside_coefficientdiagonaltermleftoutside+(L)=(pfc_index_outside_coefficientdiagonal)) /\ (((pfc_left_outside_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_outside_coefficientdiagonaltermrightinside. pfa_gap_outside_coefficientdiagonaltermrightinside + S (pfc_complement_outside_coefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_outside_coefficientdiagonaltermrightentry. ff_h_pfp_outside_coefficientdiagonaltermrightentry + S (pfc_right_outside_coefficientdiagonalterm) = S ((S (pfc_complement_outside_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_outside_coefficientdiagonaltermrightentry. bb = ff_q_pfp_outside_coefficientdiagonaltermrightentry * S ((S (pfc_complement_outside_coefficientdiagonalterm)) * bc) + (pfc_right_outside_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_outside_coefficientdiagonaltermrightoutside. pfc_gap_outside_coefficientdiagonaltermrightoutside+(M)=(pfc_complement_outside_coefficientdiagonalterm)) /\ (((pfc_right_outside_coefficientdiagonalterm)=0))))) /\ (((pfc_value_outside_coefficientdiagonal)=pfc_left_outside_coefficientdiagonalterm*pfc_right_outside_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_outside_coefficientsum fs_v_pfc_outside_coefficientsum. ((((exists fs_h_pfc_outside_coefficientsum_body_start. fs_h_pfc_outside_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_outside_coefficientsum)) /\ exists fs_q_pfc_outside_coefficientsum_body_start. fs_u_pfc_outside_coefficientsum = fs_q_pfc_outside_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_outside_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_outside_coefficientsum_body_terminal. fs_h_pfc_outside_coefficientsum_body_terminal + S (pfc_natural_sum_outside_coefficient) = S ((S (S (i))) * fs_v_pfc_outside_coefficientsum)) /\ exists fs_q_pfc_outside_coefficientsum_body_terminal. fs_u_pfc_outside_coefficientsum = fs_q_pfc_outside_coefficientsum_body_terminal * S ((S (S (i))) * fs_v_pfc_outside_coefficientsum) + (pfc_natural_sum_outside_coefficient))) /\ forall fs_i_pfc_outside_coefficientsum_body_steps. (exists fs_lt_pfc_outside_coefficientsum_body_steps_bound. fs_lt_pfc_outside_coefficientsum_body_steps_bound + S fs_i_pfc_outside_coefficientsum_body_steps = S (i)) -> exists fs_a_pfc_outside_coefficientsum_body_steps fs_r_pfc_outside_coefficientsum_body_steps fs_s_pfc_outside_coefficientsum_body_steps. ((((exists fs_h_pfc_outside_coefficientsum_body_steps_summand. fs_h_pfc_outside_coefficientsum_body_steps_summand + S (fs_a_pfc_outside_coefficientsum_body_steps) = S ((S (fs_i_pfc_outside_coefficientsum_body_steps)) * pfc_terms_scale_outside_coefficient)) /\ exists fs_q_pfc_outside_coefficientsum_body_steps_summand. pfc_terms_code_outside_coefficient = fs_q_pfc_outside_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_outside_coefficientsum_body_steps)) * pfc_terms_scale_outside_coefficient) + (fs_a_pfc_outside_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_outside_coefficientsum_body_steps_partial. fs_h_pfc_outside_coefficientsum_body_steps_partial + S (fs_r_pfc_outside_coefficientsum_body_steps) = S ((S (fs_i_pfc_outside_coefficientsum_body_steps)) * fs_v_pfc_outside_coefficientsum)) /\ exists fs_q_pfc_outside_coefficientsum_body_steps_partial. fs_u_pfc_outside_coefficientsum = fs_q_pfc_outside_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_outside_coefficientsum_body_steps)) * fs_v_pfc_outside_coefficientsum) + (fs_r_pfc_outside_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_outside_coefficientsum_body_steps_successor. fs_h_pfc_outside_coefficientsum_body_steps_successor + S (fs_s_pfc_outside_coefficientsum_body_steps) = S ((S (S fs_i_pfc_outside_coefficientsum_body_steps)) * fs_v_pfc_outside_coefficientsum)) /\ exists fs_q_pfc_outside_coefficientsum_body_steps_successor. fs_u_pfc_outside_coefficientsum = fs_q_pfc_outside_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_outside_coefficientsum_body_steps)) * fs_v_pfc_outside_coefficientsum) + (fs_s_pfc_outside_coefficientsum_body_steps))) /\ fs_s_pfc_outside_coefficientsum_body_steps = fs_r_pfc_outside_coefficientsum_body_steps + fs_a_pfc_outside_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_outside_coefficientresiduebound. pfa_gap_outside_coefficientresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_outside_coefficientresiduecongruence pfa_offset_right_outside_coefficientresiduecongruence. (pfc_natural_sum_outside_coefficient) + (p) * pfa_offset_left_outside_coefficientresiduecongruence = (r) + (p) * pfa_offset_right_outside_coefficientresiduecongruence))))))))) -> r=0
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro iintro rintro hpintro hconvintro hiintro hrcases hconvcases hconv_rightcases hconv_right_rightcases hconv_right_right_leftcases hconv_right_right_left_leftcases hconv_right_right_left_left_leftspecialize prime_field_convolution_coefficient_zero_left (p)specialize prime_field_convolution_coefficient_zero_left (ab)specialize prime_field_convolution_coefficient_zero_left (ac)specialize prime_field_convolution_coefficient_zero_left (L)specialize prime_field_convolution_coefficient_zero_left (bb)specialize prime_field_convolution_coefficient_zero_left (bc)specialize prime_field_convolution_coefficient_zero_left (M)specialize prime_field_convolution_coefficient_zero_left (i)specialize prime_field_convolution_coefficient_zero_left (r)apply prime_field_convolution_coefficient_zero_leftexact hpintro jintro hjexfalsorewrite hconv_right_right_left_left_left_left at hjspecialize lt_not_le (j)specialize lt_not_le (0)apply lt_not_leexact hjspecialize zero_le (j)apply zero_leexact hrspecialize prime_field_convolution_coefficient_zero_right (p)specialize prime_field_convolution_coefficient_zero_right (ab)specialize prime_field_convolution_coefficient_zero_right (ac)specialize prime_field_convolution_coefficient_zero_right (L)specialize prime_field_convolution_coefficient_zero_right (bb)specialize prime_field_convolution_coefficient_zero_right (bc)specialize prime_field_convolution_coefficient_zero_right (M)specialize prime_field_convolution_coefficient_zero_right (i)specialize prime_field_convolution_coefficient_zero_right (r)apply prime_field_convolution_coefficient_zero_rightexact hpintro jintro hjexfalsorewrite hconv_right_right_left_left_left_right at hjspecialize lt_not_le (j)specialize lt_not_le (0)apply lt_not_leexact hjspecialize zero_le (j)apply zero_leexact hrcases hconv_right_right_left_rightcases hconv_right_right_left_right_rightspecialize prime_field_convolution_coefficient_zero_past_support (p)specialize prime_field_convolution_coefficient_zero_past_support (ab)specialize prime_field_convolution_coefficient_zero_past_support (ac)specialize prime_field_convolution_coefficient_zero_past_support (L)specialize prime_field_convolution_coefficient_zero_past_support (bb)specialize prime_field_convolution_coefficient_zero_past_support (bc)specialize prime_field_convolution_coefficient_zero_past_support (M)specialize prime_field_convolution_coefficient_zero_past_support (i)specialize prime_field_convolution_coefficient_zero_past_support (r)apply prime_field_convolution_coefficient_zero_past_supportexact hprewrite hconv_right_right_left_right_right_rightspecialize succ_le_succ (N)specialize succ_le_succ (i)apply succ_le_succexact hiexact hr
prime_field_polynomial_convolution_zero_left · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N. ~(p=0) -> (forall pfp_repeat_index_convolution_zero_left. (exists pfa_gap_convolution_zero_leftindex. pfa_gap_convolution_zero_leftindex + S (pfp_repeat_index_convolution_zero_left) = (L)) -> (((exists ff_h_pfp_convolution_zero_leftentry. ff_h_pfp_convolution_zero_leftentry + S (0) = S ((S (pfp_repeat_index_convolution_zero_left)) * ac)) /\ exists ff_q_pfp_convolution_zero_leftentry. ab = ff_q_pfp_convolution_zero_leftentry * S ((S (pfp_repeat_index_convolution_zero_left)) * ac) + (0)))) -> (((forall fom_index_pfp_convolution_zero_source_leftleft. (exists fom_gap_pfp_convolution_zero_source_leftleft_index_bound. fom_gap_pfp_convolution_zero_source_leftleft_index_bound + S (fom_index_pfp_convolution_zero_source_leftleft) = L) -> exists fom_value_pfp_convolution_zero_source_leftleft. ((((exists fom_beta_height_pfp_convolution_zero_source_leftleft_entry. fom_beta_height_pfp_convolution_zero_source_leftleft_entry + S (fom_value_pfp_convolution_zero_source_leftleft) = S ((S (fom_index_pfp_convolution_zero_source_leftleft)) * ac)) /\ exists fom_beta_quotient_pfp_convolution_zero_source_leftleft_entry. ab = fom_beta_quotient_pfp_convolution_zero_source_leftleft_entry * S ((S (fom_index_pfp_convolution_zero_source_leftleft)) * ac) + (fom_value_pfp_convolution_zero_source_leftleft))) /\ (exists fom_gap_pfp_convolution_zero_source_leftleft_value_bound. fom_gap_pfp_convolution_zero_source_leftleft_value_bound + S (fom_value_pfp_convolution_zero_source_leftleft) = p))) /\ (((forall fom_index_pfp_convolution_zero_source_leftright. (exists fom_gap_pfp_convolution_zero_source_leftright_index_bound. fom_gap_pfp_convolution_zero_source_leftright_index_bound + S (fom_index_pfp_convolution_zero_source_leftright) = M) -> exists fom_value_pfp_convolution_zero_source_leftright. ((((exists fom_beta_height_pfp_convolution_zero_source_leftright_entry. fom_beta_height_pfp_convolution_zero_source_leftright_entry + S (fom_value_pfp_convolution_zero_source_leftright) = S ((S (fom_index_pfp_convolution_zero_source_leftright)) * bc)) /\ exists fom_beta_quotient_pfp_convolution_zero_source_leftright_entry. bb = fom_beta_quotient_pfp_convolution_zero_source_leftright_entry * S ((S (fom_index_pfp_convolution_zero_source_leftright)) * bc) + (fom_value_pfp_convolution_zero_source_leftright))) /\ (exists fom_gap_pfp_convolution_zero_source_leftright_value_bound. fom_gap_pfp_convolution_zero_source_leftright_value_bound + S (fom_value_pfp_convolution_zero_source_leftright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_convolution_zero_source_leftcoefficients. (exists pfa_gap_convolution_zero_source_leftcoefficientsbound. pfa_gap_convolution_zero_source_leftcoefficientsbound + S (pfc_index_convolution_zero_source_leftcoefficients) = (N)) -> exists pfc_value_convolution_zero_source_leftcoefficients. ((((exists ff_h_pfp_convolution_zero_source_leftcoefficientsentry. ff_h_pfp_convolution_zero_source_leftcoefficientsentry + S (pfc_value_convolution_zero_source_leftcoefficients) = S ((S (pfc_index_convolution_zero_source_leftcoefficients)) * cc)) /\ exists ff_q_pfp_convolution_zero_source_leftcoefficientsentry. cb = ff_q_pfp_convolution_zero_source_leftcoefficientsentry * S ((S (pfc_index_convolution_zero_source_leftcoefficients)) * cc) + (pfc_value_convolution_zero_source_leftcoefficients))) /\ ((exists pfc_terms_code_convolution_zero_source_leftcoefficientscoefficient pfc_terms_scale_convolution_zero_source_leftcoefficientscoefficient pfc_natural_sum_convolution_zero_source_leftcoefficientscoefficient. ((forall pfc_index_convolution_zero_source_leftcoefficientscoefficientdiagonal. (exists pfa_gap_convolution_zero_source_leftcoefficientscoefficientdiagonalbound. pfa_gap_convolution_zero_source_leftcoefficientscoefficientdiagonalbound + S (pfc_index_convolution_zero_source_leftcoefficientscoefficientdiagonal) = (S (pfc_index_convolution_zero_source_leftcoefficients))) -> exists pfc_value_convolution_zero_source_leftcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonalentry. ff_h_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonalentry + S (pfc_value_convolution_zero_source_leftcoefficientscoefficientdiagonal) = S ((S (pfc_index_convolution_zero_source_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_zero_source_leftcoefficientscoefficient)) /\ exists ff_q_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonalentry. pfc_terms_code_convolution_zero_source_leftcoefficientscoefficient = ff_q_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonalentry * S ((S (pfc_index_convolution_zero_source_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_zero_source_leftcoefficientscoefficient) + (pfc_value_convolution_zero_source_leftcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_convolution_zero_source_leftcoefficientscoefficientdiagonalterm pfc_left_convolution_zero_source_leftcoefficientscoefficientdiagonalterm pfc_right_convolution_zero_source_leftcoefficientscoefficientdiagonalterm. (((pfc_index_convolution_zero_source_leftcoefficientscoefficientdiagonal)+pfc_complement_convolution_zero_source_leftcoefficientscoefficientdiagonalterm=(pfc_index_convolution_zero_source_leftcoefficients)) /\ ((((((exists pfa_gap_convolution_zero_source_leftcoefficientscoefficientdiagonaltermleftinside. pfa_gap_convolution_zero_source_leftcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_convolution_zero_source_leftcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_convolution_zero_source_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_convolution_zero_source_leftcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_convolution_zero_source_leftcoefficientscoefficientdiagonal)) * ac) + (pfc_left_convolution_zero_source_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_zero_source_leftcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_convolution_zero_source_leftcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_convolution_zero_source_leftcoefficientscoefficientdiagonal)) /\ (((pfc_left_convolution_zero_source_leftcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_zero_source_leftcoefficientscoefficientdiagonaltermrightinside. pfa_gap_convolution_zero_source_leftcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_convolution_zero_source_leftcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_convolution_zero_source_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_convolution_zero_source_leftcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_convolution_zero_source_leftcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_convolution_zero_source_leftcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_convolution_zero_source_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_zero_source_leftcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_convolution_zero_source_leftcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_convolution_zero_source_leftcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_convolution_zero_source_leftcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_convolution_zero_source_leftcoefficientscoefficientdiagonal)=pfc_left_convolution_zero_source_leftcoefficientscoefficientdiagonalterm*pfc_right_convolution_zero_source_leftcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_zero_source_leftcoefficientscoefficientsum fs_v_pfc_convolution_zero_source_leftcoefficientscoefficientsum. ((((exists fs_h_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_start. fs_h_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_zero_source_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_start. fs_u_pfc_convolution_zero_source_leftcoefficientscoefficientsum = fs_q_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_convolution_zero_source_leftcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_terminal. fs_h_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_convolution_zero_source_leftcoefficientscoefficient) = S ((S (S (pfc_index_convolution_zero_source_leftcoefficients))) * fs_v_pfc_convolution_zero_source_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_terminal. fs_u_pfc_convolution_zero_source_leftcoefficientscoefficientsum = fs_q_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_convolution_zero_source_leftcoefficients))) * fs_v_pfc_convolution_zero_source_leftcoefficientscoefficientsum) + (pfc_natural_sum_convolution_zero_source_leftcoefficientscoefficient))) /\ forall fs_i_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps = S (pfc_index_convolution_zero_source_leftcoefficients)) -> exists fs_a_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps fs_r_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps fs_s_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_zero_source_leftcoefficientscoefficient)) /\ exists fs_q_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_convolution_zero_source_leftcoefficientscoefficient = fs_q_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_zero_source_leftcoefficientscoefficient) + (fs_a_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_zero_source_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_convolution_zero_source_leftcoefficientscoefficientsum = fs_q_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_zero_source_leftcoefficientscoefficientsum) + (fs_r_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_zero_source_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_convolution_zero_source_leftcoefficientscoefficientsum = fs_q_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_zero_source_leftcoefficientscoefficientsum) + (fs_s_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps = fs_r_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps + fs_a_pfc_convolution_zero_source_leftcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_zero_source_leftcoefficientscoefficientresiduebound. pfa_gap_convolution_zero_source_leftcoefficientscoefficientresiduebound + S (pfc_value_convolution_zero_source_leftcoefficients) = (p)) /\ ((exists pfa_offset_left_convolution_zero_source_leftcoefficientscoefficientresiduecongruence pfa_offset_right_convolution_zero_source_leftcoefficientscoefficientresiduecongruence. (pfc_natural_sum_convolution_zero_source_leftcoefficientscoefficient) + (p) * pfa_offset_left_convolution_zero_source_leftcoefficientscoefficientresiduecongruence = (pfc_value_convolution_zero_source_leftcoefficients) + (p) * pfa_offset_right_convolution_zero_source_leftcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfp_repeat_index_convolution_zero_result_left. (exists pfa_gap_convolution_zero_result_leftindex. pfa_gap_convolution_zero_result_leftindex + S (pfp_repeat_index_convolution_zero_result_left) = (N)) -> (((exists ff_h_pfp_convolution_zero_result_leftentry. ff_h_pfp_convolution_zero_result_leftentry + S (0) = S ((S (pfp_repeat_index_convolution_zero_result_left)) * cc)) /\ exists ff_q_pfp_convolution_zero_result_leftentry. cb = ff_q_pfp_convolution_zero_result_leftentry * S ((S (pfp_repeat_index_convolution_zero_result_left)) * cc) + (0))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro hpintro hzintro hccases hccases hc_rightcases hc_right_rightintro iintro hihave hv : exists r. ((((exists ff_h_pfp_convolution_zero_entry_left. ff_h_pfp_convolution_zero_entry_left + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_convolution_zero_entry_left. cb = ff_q_pfp_convolution_zero_entry_left * S ((S (i)) * cc) + (r))) /\ ((exists pfc_terms_code_convolution_zero_value_left pfc_terms_scale_convolution_zero_value_left pfc_natural_sum_convolution_zero_value_left. ((forall pfc_index_convolution_zero_value_leftdiagonal. (exists pfa_gap_convolution_zero_value_leftdiagonalbound. pfa_gap_convolution_zero_value_leftdiagonalbound + S (pfc_index_convolution_zero_value_leftdiagonal) = (S (i))) -> exists pfc_value_convolution_zero_value_leftdiagonal. ((((exists ff_h_pfp_convolution_zero_value_leftdiagonalentry. ff_h_pfp_convolution_zero_value_leftdiagonalentry + S (pfc_value_convolution_zero_value_leftdiagonal) = S ((S (pfc_index_convolution_zero_value_leftdiagonal)) * pfc_terms_scale_convolution_zero_value_left)) /\ exists ff_q_pfp_convolution_zero_value_leftdiagonalentry. pfc_terms_code_convolution_zero_value_left = ff_q_pfp_convolution_zero_value_leftdiagonalentry * S ((S (pfc_index_convolution_zero_value_leftdiagonal)) * pfc_terms_scale_convolution_zero_value_left) + (pfc_value_convolution_zero_value_leftdiagonal))) /\ ((exists pfc_complement_convolution_zero_value_leftdiagonalterm pfc_left_convolution_zero_value_leftdiagonalterm pfc_right_convolution_zero_value_leftdiagonalterm. (((pfc_index_convolution_zero_value_leftdiagonal)+pfc_complement_convolution_zero_value_leftdiagonalterm=(i)) /\ ((((((exists pfa_gap_convolution_zero_value_leftdiagonaltermleftinside. pfa_gap_convolution_zero_value_leftdiagonaltermleftinside + S (pfc_index_convolution_zero_value_leftdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_zero_value_leftdiagonaltermleftentry. ff_h_pfp_convolution_zero_value_leftdiagonaltermleftentry + S (pfc_left_convolution_zero_value_leftdiagonalterm) = S ((S (pfc_index_convolution_zero_value_leftdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_zero_value_leftdiagonaltermleftentry. ab = ff_q_pfp_convolution_zero_value_leftdiagonaltermleftentry * S ((S (pfc_index_convolution_zero_value_leftdiagonal)) * ac) + (pfc_left_convolution_zero_value_leftdiagonalterm)))))) \/ (((exists pfc_gap_convolution_zero_value_leftdiagonaltermleftoutside. pfc_gap_convolution_zero_value_leftdiagonaltermleftoutside+(L)=(pfc_index_convolution_zero_value_leftdiagonal)) /\ (((pfc_left_convolution_zero_value_leftdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_zero_value_leftdiagonaltermrightinside. pfa_gap_convolution_zero_value_leftdiagonaltermrightinside + S (pfc_complement_convolution_zero_value_leftdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_zero_value_leftdiagonaltermrightentry. ff_h_pfp_convolution_zero_value_leftdiagonaltermrightentry + S (pfc_right_convolution_zero_value_leftdiagonalterm) = S ((S (pfc_complement_convolution_zero_value_leftdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_zero_value_leftdiagonaltermrightentry. bb = ff_q_pfp_convolution_zero_value_leftdiagonaltermrightentry * S ((S (pfc_complement_convolution_zero_value_leftdiagonalterm)) * bc) + (pfc_right_convolution_zero_value_leftdiagonalterm)))))) \/ (((exists pfc_gap_convolution_zero_value_leftdiagonaltermrightoutside. pfc_gap_convolution_zero_value_leftdiagonaltermrightoutside+(M)=(pfc_complement_convolution_zero_value_leftdiagonalterm)) /\ (((pfc_right_convolution_zero_value_leftdiagonalterm)=0))))) /\ (((pfc_value_convolution_zero_value_leftdiagonal)=pfc_left_convolution_zero_value_leftdiagonalterm*pfc_right_convolution_zero_value_leftdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_zero_value_leftsum fs_v_pfc_convolution_zero_value_leftsum. ((((exists fs_h_pfc_convolution_zero_value_leftsum_body_start. fs_h_pfc_convolution_zero_value_leftsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_zero_value_leftsum)) /\ exists fs_q_pfc_convolution_zero_value_leftsum_body_start. fs_u_pfc_convolution_zero_value_leftsum = fs_q_pfc_convolution_zero_value_leftsum_body_start * S ((S (0)) * fs_v_pfc_convolution_zero_value_leftsum) + (0))) /\ ((((exists fs_h_pfc_convolution_zero_value_leftsum_body_terminal. fs_h_pfc_convolution_zero_value_leftsum_body_terminal + S (pfc_natural_sum_convolution_zero_value_left) = S ((S (S (i))) * fs_v_pfc_convolution_zero_value_leftsum)) /\ exists fs_q_pfc_convolution_zero_value_leftsum_body_terminal. fs_u_pfc_convolution_zero_value_leftsum = fs_q_pfc_convolution_zero_value_leftsum_body_terminal * S ((S (S (i))) * fs_v_pfc_convolution_zero_value_leftsum) + (pfc_natural_sum_convolution_zero_value_left))) /\ forall fs_i_pfc_convolution_zero_value_leftsum_body_steps. (exists fs_lt_pfc_convolution_zero_value_leftsum_body_steps_bound. fs_lt_pfc_convolution_zero_value_leftsum_body_steps_bound + S fs_i_pfc_convolution_zero_value_leftsum_body_steps = S (i)) -> exists fs_a_pfc_convolution_zero_value_leftsum_body_steps fs_r_pfc_convolution_zero_value_leftsum_body_steps fs_s_pfc_convolution_zero_value_leftsum_body_steps. ((((exists fs_h_pfc_convolution_zero_value_leftsum_body_steps_summand. fs_h_pfc_convolution_zero_value_leftsum_body_steps_summand + S (fs_a_pfc_convolution_zero_value_leftsum_body_steps) = S ((S (fs_i_pfc_convolution_zero_value_leftsum_body_steps)) * pfc_terms_scale_convolution_zero_value_left)) /\ exists fs_q_pfc_convolution_zero_value_leftsum_body_steps_summand. pfc_terms_code_convolution_zero_value_left = fs_q_pfc_convolution_zero_value_leftsum_body_steps_summand * S ((S (fs_i_pfc_convolution_zero_value_leftsum_body_steps)) * pfc_terms_scale_convolution_zero_value_left) + (fs_a_pfc_convolution_zero_value_leftsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_zero_value_leftsum_body_steps_partial. fs_h_pfc_convolution_zero_value_leftsum_body_steps_partial + S (fs_r_pfc_convolution_zero_value_leftsum_body_steps) = S ((S (fs_i_pfc_convolution_zero_value_leftsum_body_steps)) * fs_v_pfc_convolution_zero_value_leftsum)) /\ exists fs_q_pfc_convolution_zero_value_leftsum_body_steps_partial. fs_u_pfc_convolution_zero_value_leftsum = fs_q_pfc_convolution_zero_value_leftsum_body_steps_partial * S ((S (fs_i_pfc_convolution_zero_value_leftsum_body_steps)) * fs_v_pfc_convolution_zero_value_leftsum) + (fs_r_pfc_convolution_zero_value_leftsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_zero_value_leftsum_body_steps_successor. fs_h_pfc_convolution_zero_value_leftsum_body_steps_successor + S (fs_s_pfc_convolution_zero_value_leftsum_body_steps) = S ((S (S fs_i_pfc_convolution_zero_value_leftsum_body_steps)) * fs_v_pfc_convolution_zero_value_leftsum)) /\ exists fs_q_pfc_convolution_zero_value_leftsum_body_steps_successor. fs_u_pfc_convolution_zero_value_leftsum = fs_q_pfc_convolution_zero_value_leftsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_zero_value_leftsum_body_steps)) * fs_v_pfc_convolution_zero_value_leftsum) + (fs_s_pfc_convolution_zero_value_leftsum_body_steps))) /\ fs_s_pfc_convolution_zero_value_leftsum_body_steps = fs_r_pfc_convolution_zero_value_leftsum_body_steps + fs_a_pfc_convolution_zero_value_leftsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_zero_value_leftresiduebound. pfa_gap_convolution_zero_value_leftresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_convolution_zero_value_leftresiduecongruence pfa_offset_right_convolution_zero_value_leftresiduecongruence. (pfc_natural_sum_convolution_zero_value_left) + (p) * pfa_offset_left_convolution_zero_value_leftresiduecongruence = (r) + (p) * pfa_offset_right_convolution_zero_value_leftresiduecongruence)))))))))))specialize hc_right_right_right (i)apply hc_right_right_rightexact hicases hvcases hv_witnesshave heq : x=0specialize prime_field_convolution_coefficient_zero_left (p)specialize prime_field_convolution_coefficient_zero_left (ab)specialize prime_field_convolution_coefficient_zero_left (ac)specialize prime_field_convolution_coefficient_zero_left (L)specialize prime_field_convolution_coefficient_zero_left (bb)specialize prime_field_convolution_coefficient_zero_left (bc)specialize prime_field_convolution_coefficient_zero_left (M)specialize prime_field_convolution_coefficient_zero_left (i)specialize prime_field_convolution_coefficient_zero_left (x)apply prime_field_convolution_coefficient_zero_leftexact hpexact hzexact hv_witness_rightrewrite heq at hv_witness_leftrewrite heq at hv_witness_leftexact hv_witness_left
prime_field_polynomial_convolution_zero_right · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N. ~(p=0) -> (forall pfp_repeat_index_convolution_zero_right. (exists pfa_gap_convolution_zero_rightindex. pfa_gap_convolution_zero_rightindex + S (pfp_repeat_index_convolution_zero_right) = (M)) -> (((exists ff_h_pfp_convolution_zero_rightentry. ff_h_pfp_convolution_zero_rightentry + S (0) = S ((S (pfp_repeat_index_convolution_zero_right)) * bc)) /\ exists ff_q_pfp_convolution_zero_rightentry. bb = ff_q_pfp_convolution_zero_rightentry * S ((S (pfp_repeat_index_convolution_zero_right)) * bc) + (0)))) -> (((forall fom_index_pfp_convolution_zero_source_rightleft. (exists fom_gap_pfp_convolution_zero_source_rightleft_index_bound. fom_gap_pfp_convolution_zero_source_rightleft_index_bound + S (fom_index_pfp_convolution_zero_source_rightleft) = L) -> exists fom_value_pfp_convolution_zero_source_rightleft. ((((exists fom_beta_height_pfp_convolution_zero_source_rightleft_entry. fom_beta_height_pfp_convolution_zero_source_rightleft_entry + S (fom_value_pfp_convolution_zero_source_rightleft) = S ((S (fom_index_pfp_convolution_zero_source_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_convolution_zero_source_rightleft_entry. ab = fom_beta_quotient_pfp_convolution_zero_source_rightleft_entry * S ((S (fom_index_pfp_convolution_zero_source_rightleft)) * ac) + (fom_value_pfp_convolution_zero_source_rightleft))) /\ (exists fom_gap_pfp_convolution_zero_source_rightleft_value_bound. fom_gap_pfp_convolution_zero_source_rightleft_value_bound + S (fom_value_pfp_convolution_zero_source_rightleft) = p))) /\ (((forall fom_index_pfp_convolution_zero_source_rightright. (exists fom_gap_pfp_convolution_zero_source_rightright_index_bound. fom_gap_pfp_convolution_zero_source_rightright_index_bound + S (fom_index_pfp_convolution_zero_source_rightright) = M) -> exists fom_value_pfp_convolution_zero_source_rightright. ((((exists fom_beta_height_pfp_convolution_zero_source_rightright_entry. fom_beta_height_pfp_convolution_zero_source_rightright_entry + S (fom_value_pfp_convolution_zero_source_rightright) = S ((S (fom_index_pfp_convolution_zero_source_rightright)) * bc)) /\ exists fom_beta_quotient_pfp_convolution_zero_source_rightright_entry. bb = fom_beta_quotient_pfp_convolution_zero_source_rightright_entry * S ((S (fom_index_pfp_convolution_zero_source_rightright)) * bc) + (fom_value_pfp_convolution_zero_source_rightright))) /\ (exists fom_gap_pfp_convolution_zero_source_rightright_value_bound. fom_gap_pfp_convolution_zero_source_rightright_value_bound + S (fom_value_pfp_convolution_zero_source_rightright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_convolution_zero_source_rightcoefficients. (exists pfa_gap_convolution_zero_source_rightcoefficientsbound. pfa_gap_convolution_zero_source_rightcoefficientsbound + S (pfc_index_convolution_zero_source_rightcoefficients) = (N)) -> exists pfc_value_convolution_zero_source_rightcoefficients. ((((exists ff_h_pfp_convolution_zero_source_rightcoefficientsentry. ff_h_pfp_convolution_zero_source_rightcoefficientsentry + S (pfc_value_convolution_zero_source_rightcoefficients) = S ((S (pfc_index_convolution_zero_source_rightcoefficients)) * cc)) /\ exists ff_q_pfp_convolution_zero_source_rightcoefficientsentry. cb = ff_q_pfp_convolution_zero_source_rightcoefficientsentry * S ((S (pfc_index_convolution_zero_source_rightcoefficients)) * cc) + (pfc_value_convolution_zero_source_rightcoefficients))) /\ ((exists pfc_terms_code_convolution_zero_source_rightcoefficientscoefficient pfc_terms_scale_convolution_zero_source_rightcoefficientscoefficient pfc_natural_sum_convolution_zero_source_rightcoefficientscoefficient. ((forall pfc_index_convolution_zero_source_rightcoefficientscoefficientdiagonal. (exists pfa_gap_convolution_zero_source_rightcoefficientscoefficientdiagonalbound. pfa_gap_convolution_zero_source_rightcoefficientscoefficientdiagonalbound + S (pfc_index_convolution_zero_source_rightcoefficientscoefficientdiagonal) = (S (pfc_index_convolution_zero_source_rightcoefficients))) -> exists pfc_value_convolution_zero_source_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonalentry + S (pfc_value_convolution_zero_source_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_convolution_zero_source_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_zero_source_rightcoefficientscoefficient)) /\ exists ff_q_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_convolution_zero_source_rightcoefficientscoefficient = ff_q_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_convolution_zero_source_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_zero_source_rightcoefficientscoefficient) + (pfc_value_convolution_zero_source_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_convolution_zero_source_rightcoefficientscoefficientdiagonalterm pfc_left_convolution_zero_source_rightcoefficientscoefficientdiagonalterm pfc_right_convolution_zero_source_rightcoefficientscoefficientdiagonalterm. (((pfc_index_convolution_zero_source_rightcoefficientscoefficientdiagonal)+pfc_complement_convolution_zero_source_rightcoefficientscoefficientdiagonalterm=(pfc_index_convolution_zero_source_rightcoefficients)) /\ ((((((exists pfa_gap_convolution_zero_source_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_convolution_zero_source_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_convolution_zero_source_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_convolution_zero_source_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_convolution_zero_source_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_convolution_zero_source_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_convolution_zero_source_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_zero_source_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_convolution_zero_source_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_convolution_zero_source_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_convolution_zero_source_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_zero_source_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_convolution_zero_source_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_convolution_zero_source_rightcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_convolution_zero_source_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_convolution_zero_source_rightcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_convolution_zero_source_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_convolution_zero_source_rightcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_convolution_zero_source_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_zero_source_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_convolution_zero_source_rightcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_convolution_zero_source_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_convolution_zero_source_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_convolution_zero_source_rightcoefficientscoefficientdiagonal)=pfc_left_convolution_zero_source_rightcoefficientscoefficientdiagonalterm*pfc_right_convolution_zero_source_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_zero_source_rightcoefficientscoefficientsum fs_v_pfc_convolution_zero_source_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_start. fs_h_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_zero_source_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_start. fs_u_pfc_convolution_zero_source_rightcoefficientscoefficientsum = fs_q_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_convolution_zero_source_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_convolution_zero_source_rightcoefficientscoefficient) = S ((S (S (pfc_index_convolution_zero_source_rightcoefficients))) * fs_v_pfc_convolution_zero_source_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_convolution_zero_source_rightcoefficientscoefficientsum = fs_q_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_convolution_zero_source_rightcoefficients))) * fs_v_pfc_convolution_zero_source_rightcoefficientscoefficientsum) + (pfc_natural_sum_convolution_zero_source_rightcoefficientscoefficient))) /\ forall fs_i_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps = S (pfc_index_convolution_zero_source_rightcoefficients)) -> exists fs_a_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps fs_r_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps fs_s_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_zero_source_rightcoefficientscoefficient)) /\ exists fs_q_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_convolution_zero_source_rightcoefficientscoefficient = fs_q_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_zero_source_rightcoefficientscoefficient) + (fs_a_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_zero_source_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_convolution_zero_source_rightcoefficientscoefficientsum = fs_q_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_zero_source_rightcoefficientscoefficientsum) + (fs_r_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_zero_source_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_convolution_zero_source_rightcoefficientscoefficientsum = fs_q_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_zero_source_rightcoefficientscoefficientsum) + (fs_s_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_convolution_zero_source_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_zero_source_rightcoefficientscoefficientresiduebound. pfa_gap_convolution_zero_source_rightcoefficientscoefficientresiduebound + S (pfc_value_convolution_zero_source_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_convolution_zero_source_rightcoefficientscoefficientresiduecongruence pfa_offset_right_convolution_zero_source_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_convolution_zero_source_rightcoefficientscoefficient) + (p) * pfa_offset_left_convolution_zero_source_rightcoefficientscoefficientresiduecongruence = (pfc_value_convolution_zero_source_rightcoefficients) + (p) * pfa_offset_right_convolution_zero_source_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfp_repeat_index_convolution_zero_result_right. (exists pfa_gap_convolution_zero_result_rightindex. pfa_gap_convolution_zero_result_rightindex + S (pfp_repeat_index_convolution_zero_result_right) = (N)) -> (((exists ff_h_pfp_convolution_zero_result_rightentry. ff_h_pfp_convolution_zero_result_rightentry + S (0) = S ((S (pfp_repeat_index_convolution_zero_result_right)) * cc)) /\ exists ff_q_pfp_convolution_zero_result_rightentry. cb = ff_q_pfp_convolution_zero_result_rightentry * S ((S (pfp_repeat_index_convolution_zero_result_right)) * cc) + (0))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro hpintro hzintro hccases hccases hc_rightcases hc_right_rightintro iintro hihave hv : exists r. ((((exists ff_h_pfp_convolution_zero_entry_right. ff_h_pfp_convolution_zero_entry_right + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_convolution_zero_entry_right. cb = ff_q_pfp_convolution_zero_entry_right * S ((S (i)) * cc) + (r))) /\ ((exists pfc_terms_code_convolution_zero_value_right pfc_terms_scale_convolution_zero_value_right pfc_natural_sum_convolution_zero_value_right. ((forall pfc_index_convolution_zero_value_rightdiagonal. (exists pfa_gap_convolution_zero_value_rightdiagonalbound. pfa_gap_convolution_zero_value_rightdiagonalbound + S (pfc_index_convolution_zero_value_rightdiagonal) = (S (i))) -> exists pfc_value_convolution_zero_value_rightdiagonal. ((((exists ff_h_pfp_convolution_zero_value_rightdiagonalentry. ff_h_pfp_convolution_zero_value_rightdiagonalentry + S (pfc_value_convolution_zero_value_rightdiagonal) = S ((S (pfc_index_convolution_zero_value_rightdiagonal)) * pfc_terms_scale_convolution_zero_value_right)) /\ exists ff_q_pfp_convolution_zero_value_rightdiagonalentry. pfc_terms_code_convolution_zero_value_right = ff_q_pfp_convolution_zero_value_rightdiagonalentry * S ((S (pfc_index_convolution_zero_value_rightdiagonal)) * pfc_terms_scale_convolution_zero_value_right) + (pfc_value_convolution_zero_value_rightdiagonal))) /\ ((exists pfc_complement_convolution_zero_value_rightdiagonalterm pfc_left_convolution_zero_value_rightdiagonalterm pfc_right_convolution_zero_value_rightdiagonalterm. (((pfc_index_convolution_zero_value_rightdiagonal)+pfc_complement_convolution_zero_value_rightdiagonalterm=(i)) /\ ((((((exists pfa_gap_convolution_zero_value_rightdiagonaltermleftinside. pfa_gap_convolution_zero_value_rightdiagonaltermleftinside + S (pfc_index_convolution_zero_value_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_zero_value_rightdiagonaltermleftentry. ff_h_pfp_convolution_zero_value_rightdiagonaltermleftentry + S (pfc_left_convolution_zero_value_rightdiagonalterm) = S ((S (pfc_index_convolution_zero_value_rightdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_zero_value_rightdiagonaltermleftentry. ab = ff_q_pfp_convolution_zero_value_rightdiagonaltermleftentry * S ((S (pfc_index_convolution_zero_value_rightdiagonal)) * ac) + (pfc_left_convolution_zero_value_rightdiagonalterm)))))) \/ (((exists pfc_gap_convolution_zero_value_rightdiagonaltermleftoutside. pfc_gap_convolution_zero_value_rightdiagonaltermleftoutside+(L)=(pfc_index_convolution_zero_value_rightdiagonal)) /\ (((pfc_left_convolution_zero_value_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_zero_value_rightdiagonaltermrightinside. pfa_gap_convolution_zero_value_rightdiagonaltermrightinside + S (pfc_complement_convolution_zero_value_rightdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_zero_value_rightdiagonaltermrightentry. ff_h_pfp_convolution_zero_value_rightdiagonaltermrightentry + S (pfc_right_convolution_zero_value_rightdiagonalterm) = S ((S (pfc_complement_convolution_zero_value_rightdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_zero_value_rightdiagonaltermrightentry. bb = ff_q_pfp_convolution_zero_value_rightdiagonaltermrightentry * S ((S (pfc_complement_convolution_zero_value_rightdiagonalterm)) * bc) + (pfc_right_convolution_zero_value_rightdiagonalterm)))))) \/ (((exists pfc_gap_convolution_zero_value_rightdiagonaltermrightoutside. pfc_gap_convolution_zero_value_rightdiagonaltermrightoutside+(M)=(pfc_complement_convolution_zero_value_rightdiagonalterm)) /\ (((pfc_right_convolution_zero_value_rightdiagonalterm)=0))))) /\ (((pfc_value_convolution_zero_value_rightdiagonal)=pfc_left_convolution_zero_value_rightdiagonalterm*pfc_right_convolution_zero_value_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_zero_value_rightsum fs_v_pfc_convolution_zero_value_rightsum. ((((exists fs_h_pfc_convolution_zero_value_rightsum_body_start. fs_h_pfc_convolution_zero_value_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_zero_value_rightsum)) /\ exists fs_q_pfc_convolution_zero_value_rightsum_body_start. fs_u_pfc_convolution_zero_value_rightsum = fs_q_pfc_convolution_zero_value_rightsum_body_start * S ((S (0)) * fs_v_pfc_convolution_zero_value_rightsum) + (0))) /\ ((((exists fs_h_pfc_convolution_zero_value_rightsum_body_terminal. fs_h_pfc_convolution_zero_value_rightsum_body_terminal + S (pfc_natural_sum_convolution_zero_value_right) = S ((S (S (i))) * fs_v_pfc_convolution_zero_value_rightsum)) /\ exists fs_q_pfc_convolution_zero_value_rightsum_body_terminal. fs_u_pfc_convolution_zero_value_rightsum = fs_q_pfc_convolution_zero_value_rightsum_body_terminal * S ((S (S (i))) * fs_v_pfc_convolution_zero_value_rightsum) + (pfc_natural_sum_convolution_zero_value_right))) /\ forall fs_i_pfc_convolution_zero_value_rightsum_body_steps. (exists fs_lt_pfc_convolution_zero_value_rightsum_body_steps_bound. fs_lt_pfc_convolution_zero_value_rightsum_body_steps_bound + S fs_i_pfc_convolution_zero_value_rightsum_body_steps = S (i)) -> exists fs_a_pfc_convolution_zero_value_rightsum_body_steps fs_r_pfc_convolution_zero_value_rightsum_body_steps fs_s_pfc_convolution_zero_value_rightsum_body_steps. ((((exists fs_h_pfc_convolution_zero_value_rightsum_body_steps_summand. fs_h_pfc_convolution_zero_value_rightsum_body_steps_summand + S (fs_a_pfc_convolution_zero_value_rightsum_body_steps) = S ((S (fs_i_pfc_convolution_zero_value_rightsum_body_steps)) * pfc_terms_scale_convolution_zero_value_right)) /\ exists fs_q_pfc_convolution_zero_value_rightsum_body_steps_summand. pfc_terms_code_convolution_zero_value_right = fs_q_pfc_convolution_zero_value_rightsum_body_steps_summand * S ((S (fs_i_pfc_convolution_zero_value_rightsum_body_steps)) * pfc_terms_scale_convolution_zero_value_right) + (fs_a_pfc_convolution_zero_value_rightsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_zero_value_rightsum_body_steps_partial. fs_h_pfc_convolution_zero_value_rightsum_body_steps_partial + S (fs_r_pfc_convolution_zero_value_rightsum_body_steps) = S ((S (fs_i_pfc_convolution_zero_value_rightsum_body_steps)) * fs_v_pfc_convolution_zero_value_rightsum)) /\ exists fs_q_pfc_convolution_zero_value_rightsum_body_steps_partial. fs_u_pfc_convolution_zero_value_rightsum = fs_q_pfc_convolution_zero_value_rightsum_body_steps_partial * S ((S (fs_i_pfc_convolution_zero_value_rightsum_body_steps)) * fs_v_pfc_convolution_zero_value_rightsum) + (fs_r_pfc_convolution_zero_value_rightsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_zero_value_rightsum_body_steps_successor. fs_h_pfc_convolution_zero_value_rightsum_body_steps_successor + S (fs_s_pfc_convolution_zero_value_rightsum_body_steps) = S ((S (S fs_i_pfc_convolution_zero_value_rightsum_body_steps)) * fs_v_pfc_convolution_zero_value_rightsum)) /\ exists fs_q_pfc_convolution_zero_value_rightsum_body_steps_successor. fs_u_pfc_convolution_zero_value_rightsum = fs_q_pfc_convolution_zero_value_rightsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_zero_value_rightsum_body_steps)) * fs_v_pfc_convolution_zero_value_rightsum) + (fs_s_pfc_convolution_zero_value_rightsum_body_steps))) /\ fs_s_pfc_convolution_zero_value_rightsum_body_steps = fs_r_pfc_convolution_zero_value_rightsum_body_steps + fs_a_pfc_convolution_zero_value_rightsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_zero_value_rightresiduebound. pfa_gap_convolution_zero_value_rightresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_convolution_zero_value_rightresiduecongruence pfa_offset_right_convolution_zero_value_rightresiduecongruence. (pfc_natural_sum_convolution_zero_value_right) + (p) * pfa_offset_left_convolution_zero_value_rightresiduecongruence = (r) + (p) * pfa_offset_right_convolution_zero_value_rightresiduecongruence)))))))))))specialize hc_right_right_right (i)apply hc_right_right_rightexact hicases hvcases hv_witnesshave heq : x=0specialize prime_field_convolution_coefficient_zero_right (p)specialize prime_field_convolution_coefficient_zero_right (ab)specialize prime_field_convolution_coefficient_zero_right (ac)specialize prime_field_convolution_coefficient_zero_right (L)specialize prime_field_convolution_coefficient_zero_right (bb)specialize prime_field_convolution_coefficient_zero_right (bc)specialize prime_field_convolution_coefficient_zero_right (M)specialize prime_field_convolution_coefficient_zero_right (i)specialize prime_field_convolution_coefficient_zero_right (x)apply prime_field_convolution_coefficient_zero_rightexact hpexact hzexact hv_witness_rightrewrite heq at hv_witness_leftrewrite heq at hv_witness_leftexact hv_witness_left
prime_field_polynomial_power_coefficient_exists · unchanged support, not a new admission
forall b c L k. exists a. ((exists pfrep_position_power_exists. ((pfrep_position_power_exists+S (k)=(L)) /\ ((((exists ff_h_pfp_power_existsentry. ff_h_pfp_power_existsentry + S (a) = S ((S (pfrep_position_power_exists)) * c)) /\ exists ff_q_pfp_power_existsentry. b = ff_q_pfp_power_existsentry * S ((S (pfrep_position_power_exists)) * c) + (a)))))) \/ (((exists pfrep_gap_power_existsoutside. pfrep_gap_power_existsoutside+(L)=(k)) /\ (((a)=0)))))
intro bintro cintro Lintro khave ho : (exists pfrep_gap_power_exists_outside. pfrep_gap_power_exists_outside+(L)=(k)) \/ (exists pfa_gap_power_exists_inside. pfa_gap_power_exists_inside + S (k) = (L))specialize le_or_lt (L)specialize le_or_lt (k)apply le_or_ltcases hoexists 0rightsplitexact ho_leftreflcases ho_righthave hv : exists a. (((exists ff_h_pfp_power_exists_value. ff_h_pfp_power_exists_value + S (a) = S ((S (x)) * c)) /\ exists ff_q_pfp_power_exists_value. b = ff_q_pfp_power_exists_value * S ((S (x)) * c) + (a)))specialize beta_at_exists (b)specialize beta_at_exists (c)specialize beta_at_exists (x)apply beta_at_existscases hvexists x1leftexists xsplitexact ho_right_witnessexact hv_witness
prime_field_polynomial_equivalent_transitive · unchanged support, not a new admission
forall b c L d e M f g N. (forall pfrep_power_equivalent_transitive_a pfrep_left_equivalent_transitive_a pfrep_right_equivalent_transitive_a. ((exists pfrep_position_equivalent_transitive_afirst. ((pfrep_position_equivalent_transitive_afirst+S (pfrep_power_equivalent_transitive_a)=(L)) /\ ((((exists ff_h_pfp_equivalent_transitive_afirstentry. ff_h_pfp_equivalent_transitive_afirstentry + S (pfrep_left_equivalent_transitive_a) = S ((S (pfrep_position_equivalent_transitive_afirst)) * c)) /\ exists ff_q_pfp_equivalent_transitive_afirstentry. b = ff_q_pfp_equivalent_transitive_afirstentry * S ((S (pfrep_position_equivalent_transitive_afirst)) * c) + (pfrep_left_equivalent_transitive_a)))))) \/ (((exists pfrep_gap_equivalent_transitive_afirstoutside. pfrep_gap_equivalent_transitive_afirstoutside+(L)=(pfrep_power_equivalent_transitive_a)) /\ (((pfrep_left_equivalent_transitive_a)=0))))) -> ((exists pfrep_position_equivalent_transitive_asecond. ((pfrep_position_equivalent_transitive_asecond+S (pfrep_power_equivalent_transitive_a)=(M)) /\ ((((exists ff_h_pfp_equivalent_transitive_asecondentry. ff_h_pfp_equivalent_transitive_asecondentry + S (pfrep_right_equivalent_transitive_a) = S ((S (pfrep_position_equivalent_transitive_asecond)) * e)) /\ exists ff_q_pfp_equivalent_transitive_asecondentry. d = ff_q_pfp_equivalent_transitive_asecondentry * S ((S (pfrep_position_equivalent_transitive_asecond)) * e) + (pfrep_right_equivalent_transitive_a)))))) \/ (((exists pfrep_gap_equivalent_transitive_asecondoutside. pfrep_gap_equivalent_transitive_asecondoutside+(M)=(pfrep_power_equivalent_transitive_a)) /\ (((pfrep_right_equivalent_transitive_a)=0))))) -> pfrep_left_equivalent_transitive_a=pfrep_right_equivalent_transitive_a) -> (forall pfrep_power_equivalent_transitive_b pfrep_left_equivalent_transitive_b pfrep_right_equivalent_transitive_b. ((exists pfrep_position_equivalent_transitive_bfirst. ((pfrep_position_equivalent_transitive_bfirst+S (pfrep_power_equivalent_transitive_b)=(M)) /\ ((((exists ff_h_pfp_equivalent_transitive_bfirstentry. ff_h_pfp_equivalent_transitive_bfirstentry + S (pfrep_left_equivalent_transitive_b) = S ((S (pfrep_position_equivalent_transitive_bfirst)) * e)) /\ exists ff_q_pfp_equivalent_transitive_bfirstentry. d = ff_q_pfp_equivalent_transitive_bfirstentry * S ((S (pfrep_position_equivalent_transitive_bfirst)) * e) + (pfrep_left_equivalent_transitive_b)))))) \/ (((exists pfrep_gap_equivalent_transitive_bfirstoutside. pfrep_gap_equivalent_transitive_bfirstoutside+(M)=(pfrep_power_equivalent_transitive_b)) /\ (((pfrep_left_equivalent_transitive_b)=0))))) -> ((exists pfrep_position_equivalent_transitive_bsecond. ((pfrep_position_equivalent_transitive_bsecond+S (pfrep_power_equivalent_transitive_b)=(N)) /\ ((((exists ff_h_pfp_equivalent_transitive_bsecondentry. ff_h_pfp_equivalent_transitive_bsecondentry + S (pfrep_right_equivalent_transitive_b) = S ((S (pfrep_position_equivalent_transitive_bsecond)) * g)) /\ exists ff_q_pfp_equivalent_transitive_bsecondentry. f = ff_q_pfp_equivalent_transitive_bsecondentry * S ((S (pfrep_position_equivalent_transitive_bsecond)) * g) + (pfrep_right_equivalent_transitive_b)))))) \/ (((exists pfrep_gap_equivalent_transitive_bsecondoutside. pfrep_gap_equivalent_transitive_bsecondoutside+(N)=(pfrep_power_equivalent_transitive_b)) /\ (((pfrep_right_equivalent_transitive_b)=0))))) -> pfrep_left_equivalent_transitive_b=pfrep_right_equivalent_transitive_b) -> (forall pfrep_power_equivalent_transitive_result pfrep_left_equivalent_transitive_result pfrep_right_equivalent_transitive_result. ((exists pfrep_position_equivalent_transitive_resultfirst. ((pfrep_position_equivalent_transitive_resultfirst+S (pfrep_power_equivalent_transitive_result)=(L)) /\ ((((exists ff_h_pfp_equivalent_transitive_resultfirstentry. ff_h_pfp_equivalent_transitive_resultfirstentry + S (pfrep_left_equivalent_transitive_result) = S ((S (pfrep_position_equivalent_transitive_resultfirst)) * c)) /\ exists ff_q_pfp_equivalent_transitive_resultfirstentry. b = ff_q_pfp_equivalent_transitive_resultfirstentry * S ((S (pfrep_position_equivalent_transitive_resultfirst)) * c) + (pfrep_left_equivalent_transitive_result)))))) \/ (((exists pfrep_gap_equivalent_transitive_resultfirstoutside. pfrep_gap_equivalent_transitive_resultfirstoutside+(L)=(pfrep_power_equivalent_transitive_result)) /\ (((pfrep_left_equivalent_transitive_result)=0))))) -> ((exists pfrep_position_equivalent_transitive_resultsecond. ((pfrep_position_equivalent_transitive_resultsecond+S (pfrep_power_equivalent_transitive_result)=(N)) /\ ((((exists ff_h_pfp_equivalent_transitive_resultsecondentry. ff_h_pfp_equivalent_transitive_resultsecondentry + S (pfrep_right_equivalent_transitive_result) = S ((S (pfrep_position_equivalent_transitive_resultsecond)) * g)) /\ exists ff_q_pfp_equivalent_transitive_resultsecondentry. f = ff_q_pfp_equivalent_transitive_resultsecondentry * S ((S (pfrep_position_equivalent_transitive_resultsecond)) * g) + (pfrep_right_equivalent_transitive_result)))))) \/ (((exists pfrep_gap_equivalent_transitive_resultsecondoutside. pfrep_gap_equivalent_transitive_resultsecondoutside+(N)=(pfrep_power_equivalent_transitive_result)) /\ (((pfrep_right_equivalent_transitive_result)=0))))) -> pfrep_left_equivalent_transitive_result=pfrep_right_equivalent_transitive_result)
intro bintro cintro Lintro dintro eintro Mintro fintro gintro Nintro heintro hfintro kintro aintro rintro haintro hrhave hv : exists z. ((exists pfrep_position_equivalent_middle. ((pfrep_position_equivalent_middle+S (k)=(M)) /\ ((((exists ff_h_pfp_equivalent_middleentry. ff_h_pfp_equivalent_middleentry + S (z) = S ((S (pfrep_position_equivalent_middle)) * e)) /\ exists ff_q_pfp_equivalent_middleentry. d = ff_q_pfp_equivalent_middleentry * S ((S (pfrep_position_equivalent_middle)) * e) + (z)))))) \/ (((exists pfrep_gap_equivalent_middleoutside. pfrep_gap_equivalent_middleoutside+(M)=(k)) /\ (((z)=0)))))specialize prime_field_polynomial_power_coefficient_exists (d)specialize prime_field_polynomial_power_coefficient_exists (e)specialize prime_field_polynomial_power_coefficient_exists (M)specialize prime_field_polynomial_power_coefficient_exists (k)apply prime_field_polynomial_power_coefficient_existscases hvtrans xspecialize he (k)specialize he (a)specialize he (x)apply heexact haexact hv_witnessspecialize hf (k)specialize hf (x)specialize hf (r)apply hfexact hv_witnessexact hr
prime_field_polynomial_power_index_bound · unchanged support, not a new admission
forall i k L. i+S k=L -> (exists pfa_gap_power_index_bound. pfa_gap_power_index_bound + S (i) = (L))
intro iintro kintro Lintro hexists ktrans i+S ksimp [add_comm]exact h
prime_field_polynomial_zero_power_coefficient · unchanged support, not a new admission
forall b c L k a. (forall pfp_repeat_index_zero_power_source. (exists pfa_gap_zero_power_sourceindex. pfa_gap_zero_power_sourceindex + S (pfp_repeat_index_zero_power_source) = (L)) -> (((exists ff_h_pfp_zero_power_sourceentry. ff_h_pfp_zero_power_sourceentry + S (0) = S ((S (pfp_repeat_index_zero_power_source)) * c)) /\ exists ff_q_pfp_zero_power_sourceentry. b = ff_q_pfp_zero_power_sourceentry * S ((S (pfp_repeat_index_zero_power_source)) * c) + (0)))) -> ((exists pfrep_position_zero_power_entry. ((pfrep_position_zero_power_entry+S (k)=(L)) /\ ((((exists ff_h_pfp_zero_power_entryentry. ff_h_pfp_zero_power_entryentry + S (a) = S ((S (pfrep_position_zero_power_entry)) * c)) /\ exists ff_q_pfp_zero_power_entryentry. b = ff_q_pfp_zero_power_entryentry * S ((S (pfrep_position_zero_power_entry)) * c) + (a)))))) \/ (((exists pfrep_gap_zero_power_entryoutside. pfrep_gap_zero_power_entryoutside+(L)=(k)) /\ (((a)=0))))) -> a=0
intro bintro cintro Lintro kintro aintro hzintro hacases hacases ha_leftcases ha_left_witnessspecialize beta_repeat_entry_eq (b)specialize beta_repeat_entry_eq (c)specialize beta_repeat_entry_eq (0)specialize beta_repeat_entry_eq (L)specialize beta_repeat_entry_eq (x)specialize beta_repeat_entry_eq (a)apply beta_repeat_entry_eqexact hzspecialize prime_field_polynomial_power_index_bound (x)specialize prime_field_polynomial_power_index_bound (k)specialize prime_field_polynomial_power_index_bound (L)apply prime_field_polynomial_power_index_boundexact ha_left_witness_leftexact ha_left_witness_rightcases ha_rightexact ha_right_right
prime_field_polynomial_zero_prefix_equivalent_empty · unchanged support, not a new admission
forall b c L. (forall pfp_repeat_index_zero_equivalent_source. (exists pfa_gap_zero_equivalent_sourceindex. pfa_gap_zero_equivalent_sourceindex + S (pfp_repeat_index_zero_equivalent_source) = (L)) -> (((exists ff_h_pfp_zero_equivalent_sourceentry. ff_h_pfp_zero_equivalent_sourceentry + S (0) = S ((S (pfp_repeat_index_zero_equivalent_source)) * c)) /\ exists ff_q_pfp_zero_equivalent_sourceentry. b = ff_q_pfp_zero_equivalent_sourceentry * S ((S (pfp_repeat_index_zero_equivalent_source)) * c) + (0)))) -> (forall pfrep_power_zero_equivalent_empty pfrep_left_zero_equivalent_empty pfrep_right_zero_equivalent_empty. ((exists pfrep_position_zero_equivalent_emptyfirst. ((pfrep_position_zero_equivalent_emptyfirst+S (pfrep_power_zero_equivalent_empty)=(L)) /\ ((((exists ff_h_pfp_zero_equivalent_emptyfirstentry. ff_h_pfp_zero_equivalent_emptyfirstentry + S (pfrep_left_zero_equivalent_empty) = S ((S (pfrep_position_zero_equivalent_emptyfirst)) * c)) /\ exists ff_q_pfp_zero_equivalent_emptyfirstentry. b = ff_q_pfp_zero_equivalent_emptyfirstentry * S ((S (pfrep_position_zero_equivalent_emptyfirst)) * c) + (pfrep_left_zero_equivalent_empty)))))) \/ (((exists pfrep_gap_zero_equivalent_emptyfirstoutside. pfrep_gap_zero_equivalent_emptyfirstoutside+(L)=(pfrep_power_zero_equivalent_empty)) /\ (((pfrep_left_zero_equivalent_empty)=0))))) -> ((exists pfrep_position_zero_equivalent_emptysecond. ((pfrep_position_zero_equivalent_emptysecond+S (pfrep_power_zero_equivalent_empty)=(0)) /\ ((((exists ff_h_pfp_zero_equivalent_emptysecondentry. ff_h_pfp_zero_equivalent_emptysecondentry + S (pfrep_right_zero_equivalent_empty) = S ((S (pfrep_position_zero_equivalent_emptysecond)) * 0)) /\ exists ff_q_pfp_zero_equivalent_emptysecondentry. 0 = ff_q_pfp_zero_equivalent_emptysecondentry * S ((S (pfrep_position_zero_equivalent_emptysecond)) * 0) + (pfrep_right_zero_equivalent_empty)))))) \/ (((exists pfrep_gap_zero_equivalent_emptysecondoutside. pfrep_gap_zero_equivalent_emptysecondoutside+(0)=(pfrep_power_zero_equivalent_empty)) /\ (((pfrep_right_zero_equivalent_empty)=0))))) -> pfrep_left_zero_equivalent_empty=pfrep_right_zero_equivalent_empty)
intro bintro cintro Lintro hzintro kintro aintro rintro haintro hrtrans 0specialize prime_field_polynomial_zero_power_coefficient (b)specialize prime_field_polynomial_zero_power_coefficient (c)specialize prime_field_polynomial_zero_power_coefficient (L)specialize prime_field_polynomial_zero_power_coefficient (k)specialize prime_field_polynomial_zero_power_coefficient (a)apply prime_field_polynomial_zero_power_coefficientexact hzexact hahave heq : r=0specialize prime_field_polynomial_zero_power_coefficient (0)specialize prime_field_polynomial_zero_power_coefficient (0)specialize prime_field_polynomial_zero_power_coefficient (0)specialize prime_field_polynomial_zero_power_coefficient (k)specialize prime_field_polynomial_zero_power_coefficient (r)apply prime_field_polynomial_zero_power_coefficientspecialize beta_repeat_empty (0)specialize beta_repeat_empty (0)specialize beta_repeat_empty (0)specialize beta_repeat_empty (0)apply beta_repeat_emptyreflexact hrsymmexact heq
prime_field_polynomial_equivalent_symmetric · unchanged support, not a new admission
forall b c L d e M. (forall pfrep_power_equivalent_symmetric_old pfrep_left_equivalent_symmetric_old pfrep_right_equivalent_symmetric_old. ((exists pfrep_position_equivalent_symmetric_oldfirst. ((pfrep_position_equivalent_symmetric_oldfirst+S (pfrep_power_equivalent_symmetric_old)=(L)) /\ ((((exists ff_h_pfp_equivalent_symmetric_oldfirstentry. ff_h_pfp_equivalent_symmetric_oldfirstentry + S (pfrep_left_equivalent_symmetric_old) = S ((S (pfrep_position_equivalent_symmetric_oldfirst)) * c)) /\ exists ff_q_pfp_equivalent_symmetric_oldfirstentry. b = ff_q_pfp_equivalent_symmetric_oldfirstentry * S ((S (pfrep_position_equivalent_symmetric_oldfirst)) * c) + (pfrep_left_equivalent_symmetric_old)))))) \/ (((exists pfrep_gap_equivalent_symmetric_oldfirstoutside. pfrep_gap_equivalent_symmetric_oldfirstoutside+(L)=(pfrep_power_equivalent_symmetric_old)) /\ (((pfrep_left_equivalent_symmetric_old)=0))))) -> ((exists pfrep_position_equivalent_symmetric_oldsecond. ((pfrep_position_equivalent_symmetric_oldsecond+S (pfrep_power_equivalent_symmetric_old)=(M)) /\ ((((exists ff_h_pfp_equivalent_symmetric_oldsecondentry. ff_h_pfp_equivalent_symmetric_oldsecondentry + S (pfrep_right_equivalent_symmetric_old) = S ((S (pfrep_position_equivalent_symmetric_oldsecond)) * e)) /\ exists ff_q_pfp_equivalent_symmetric_oldsecondentry. d = ff_q_pfp_equivalent_symmetric_oldsecondentry * S ((S (pfrep_position_equivalent_symmetric_oldsecond)) * e) + (pfrep_right_equivalent_symmetric_old)))))) \/ (((exists pfrep_gap_equivalent_symmetric_oldsecondoutside. pfrep_gap_equivalent_symmetric_oldsecondoutside+(M)=(pfrep_power_equivalent_symmetric_old)) /\ (((pfrep_right_equivalent_symmetric_old)=0))))) -> pfrep_left_equivalent_symmetric_old=pfrep_right_equivalent_symmetric_old) -> (forall pfrep_power_equivalent_symmetric_new pfrep_left_equivalent_symmetric_new pfrep_right_equivalent_symmetric_new. ((exists pfrep_position_equivalent_symmetric_newfirst. ((pfrep_position_equivalent_symmetric_newfirst+S (pfrep_power_equivalent_symmetric_new)=(M)) /\ ((((exists ff_h_pfp_equivalent_symmetric_newfirstentry. ff_h_pfp_equivalent_symmetric_newfirstentry + S (pfrep_left_equivalent_symmetric_new) = S ((S (pfrep_position_equivalent_symmetric_newfirst)) * e)) /\ exists ff_q_pfp_equivalent_symmetric_newfirstentry. d = ff_q_pfp_equivalent_symmetric_newfirstentry * S ((S (pfrep_position_equivalent_symmetric_newfirst)) * e) + (pfrep_left_equivalent_symmetric_new)))))) \/ (((exists pfrep_gap_equivalent_symmetric_newfirstoutside. pfrep_gap_equivalent_symmetric_newfirstoutside+(M)=(pfrep_power_equivalent_symmetric_new)) /\ (((pfrep_left_equivalent_symmetric_new)=0))))) -> ((exists pfrep_position_equivalent_symmetric_newsecond. ((pfrep_position_equivalent_symmetric_newsecond+S (pfrep_power_equivalent_symmetric_new)=(L)) /\ ((((exists ff_h_pfp_equivalent_symmetric_newsecondentry. ff_h_pfp_equivalent_symmetric_newsecondentry + S (pfrep_right_equivalent_symmetric_new) = S ((S (pfrep_position_equivalent_symmetric_newsecond)) * c)) /\ exists ff_q_pfp_equivalent_symmetric_newsecondentry. b = ff_q_pfp_equivalent_symmetric_newsecondentry * S ((S (pfrep_position_equivalent_symmetric_newsecond)) * c) + (pfrep_right_equivalent_symmetric_new)))))) \/ (((exists pfrep_gap_equivalent_symmetric_newsecondoutside. pfrep_gap_equivalent_symmetric_newsecondoutside+(L)=(pfrep_power_equivalent_symmetric_new)) /\ (((pfrep_right_equivalent_symmetric_new)=0))))) -> pfrep_left_equivalent_symmetric_new=pfrep_right_equivalent_symmetric_new)
intro bintro cintro Lintro dintro eintro Mintro heintro kintro aintro rintro haintro hrhave heq : r=aspecialize he (k)specialize he (r)specialize he (a)apply heexact hrexact hasymmexact heq
prime_field_polynomial_power_coefficient_functional · unchanged support, not a new admission
forall b c L k a r. ((exists pfrep_position_power_unique_a. ((pfrep_position_power_unique_a+S (k)=(L)) /\ ((((exists ff_h_pfp_power_unique_aentry. ff_h_pfp_power_unique_aentry + S (a) = S ((S (pfrep_position_power_unique_a)) * c)) /\ exists ff_q_pfp_power_unique_aentry. b = ff_q_pfp_power_unique_aentry * S ((S (pfrep_position_power_unique_a)) * c) + (a)))))) \/ (((exists pfrep_gap_power_unique_aoutside. pfrep_gap_power_unique_aoutside+(L)=(k)) /\ (((a)=0))))) -> ((exists pfrep_position_power_unique_r. ((pfrep_position_power_unique_r+S (k)=(L)) /\ ((((exists ff_h_pfp_power_unique_rentry. ff_h_pfp_power_unique_rentry + S (r) = S ((S (pfrep_position_power_unique_r)) * c)) /\ exists ff_q_pfp_power_unique_rentry. b = ff_q_pfp_power_unique_rentry * S ((S (pfrep_position_power_unique_r)) * c) + (r)))))) \/ (((exists pfrep_gap_power_unique_routside. pfrep_gap_power_unique_routside+(L)=(k)) /\ (((r)=0))))) -> a=r
intro bintro cintro Lintro kintro aintro rintro haintro hrcases hacases ha_leftcases ha_left_witnesscases hrcases hr_leftcases hr_left_witnesshave heq : x=x1specialize add_right_cancel (x)specialize add_right_cancel (x1)specialize add_right_cancel (S k)apply add_right_canceltrans Lexact ha_left_witness_leftsymmexact hr_left_witness_leftrewrite heq at ha_left_witness_rightrewrite heq at ha_left_witness_rightspecialize beta_at_unique (b)specialize beta_at_unique (c)specialize beta_at_unique (x1)specialize beta_at_unique (a)specialize beta_at_unique (r)apply beta_at_uniqueexact ha_left_witness_rightexact hr_left_witness_rightcases hr_rightexfalsospecialize lt_not_le (k)specialize lt_not_le (L)apply lt_not_leexists xexact ha_left_witness_leftexact hr_right_leftcases ha_rightcases hrcases hr_leftcases hr_left_witnessexfalsospecialize lt_not_le (k)specialize lt_not_le (L)apply lt_not_leexists xexact hr_left_witness_leftexact ha_right_leftcases hr_righttrans 0exact ha_right_rightsymmexact hr_right_right
prime_field_polynomial_power_coefficient_transport · unchanged support, not a new admission
forall b c d e L k a. (forall mdr_i_pfp_power_transport_equal mdr_a_pfp_power_transport_equal. (exists mdr_gap_pfp_power_transport_equalb. mdr_gap_pfp_power_transport_equalb + S (mdr_i_pfp_power_transport_equal) = (L)) -> (((exists ff_h_mdr_pfp_power_transport_equalo. ff_h_mdr_pfp_power_transport_equalo + S (mdr_a_pfp_power_transport_equal) = S ((S (mdr_i_pfp_power_transport_equal)) * c)) /\ exists ff_q_mdr_pfp_power_transport_equalo. b = ff_q_mdr_pfp_power_transport_equalo * S ((S (mdr_i_pfp_power_transport_equal)) * c) + (mdr_a_pfp_power_transport_equal))) -> (((exists ff_h_mdr_pfp_power_transport_equaln. ff_h_mdr_pfp_power_transport_equaln + S (mdr_a_pfp_power_transport_equal) = S ((S (mdr_i_pfp_power_transport_equal)) * e)) /\ exists ff_q_mdr_pfp_power_transport_equaln. d = ff_q_mdr_pfp_power_transport_equaln * S ((S (mdr_i_pfp_power_transport_equal)) * e) + (mdr_a_pfp_power_transport_equal)))) -> ((exists pfrep_position_power_transport_old. ((pfrep_position_power_transport_old+S (k)=(L)) /\ ((((exists ff_h_pfp_power_transport_oldentry. ff_h_pfp_power_transport_oldentry + S (a) = S ((S (pfrep_position_power_transport_old)) * c)) /\ exists ff_q_pfp_power_transport_oldentry. b = ff_q_pfp_power_transport_oldentry * S ((S (pfrep_position_power_transport_old)) * c) + (a)))))) \/ (((exists pfrep_gap_power_transport_oldoutside. pfrep_gap_power_transport_oldoutside+(L)=(k)) /\ (((a)=0))))) -> ((exists pfrep_position_power_transport_new. ((pfrep_position_power_transport_new+S (k)=(L)) /\ ((((exists ff_h_pfp_power_transport_newentry. ff_h_pfp_power_transport_newentry + S (a) = S ((S (pfrep_position_power_transport_new)) * e)) /\ exists ff_q_pfp_power_transport_newentry. d = ff_q_pfp_power_transport_newentry * S ((S (pfrep_position_power_transport_new)) * e) + (a)))))) \/ (((exists pfrep_gap_power_transport_newoutside. pfrep_gap_power_transport_newoutside+(L)=(k)) /\ (((a)=0)))))
intro bintro cintro dintro eintro Lintro kintro aintro heintro hacases hacases ha_leftcases ha_left_witnessleftexists xsplitexact ha_left_witness_leftspecialize he (x)specialize he (a)apply hespecialize prime_field_polynomial_power_index_bound (x)specialize prime_field_polynomial_power_index_bound (k)specialize prime_field_polynomial_power_index_bound (L)apply prime_field_polynomial_power_index_boundexact ha_left_witness_leftexact ha_left_witness_rightrightexact ha_right
prime_field_polynomial_equal_implies_equivalent · unchanged support, not a new admission
forall b c d e L. (forall mdr_i_pfp_equal_to_equivalent_input mdr_a_pfp_equal_to_equivalent_input. (exists mdr_gap_pfp_equal_to_equivalent_inputb. mdr_gap_pfp_equal_to_equivalent_inputb + S (mdr_i_pfp_equal_to_equivalent_input) = (L)) -> (((exists ff_h_mdr_pfp_equal_to_equivalent_inputo. ff_h_mdr_pfp_equal_to_equivalent_inputo + S (mdr_a_pfp_equal_to_equivalent_input) = S ((S (mdr_i_pfp_equal_to_equivalent_input)) * c)) /\ exists ff_q_mdr_pfp_equal_to_equivalent_inputo. b = ff_q_mdr_pfp_equal_to_equivalent_inputo * S ((S (mdr_i_pfp_equal_to_equivalent_input)) * c) + (mdr_a_pfp_equal_to_equivalent_input))) -> (((exists ff_h_mdr_pfp_equal_to_equivalent_inputn. ff_h_mdr_pfp_equal_to_equivalent_inputn + S (mdr_a_pfp_equal_to_equivalent_input) = S ((S (mdr_i_pfp_equal_to_equivalent_input)) * e)) /\ exists ff_q_mdr_pfp_equal_to_equivalent_inputn. d = ff_q_mdr_pfp_equal_to_equivalent_inputn * S ((S (mdr_i_pfp_equal_to_equivalent_input)) * e) + (mdr_a_pfp_equal_to_equivalent_input)))) -> (forall pfrep_power_equal_to_equivalent_result pfrep_left_equal_to_equivalent_result pfrep_right_equal_to_equivalent_result. ((exists pfrep_position_equal_to_equivalent_resultfirst. ((pfrep_position_equal_to_equivalent_resultfirst+S (pfrep_power_equal_to_equivalent_result)=(L)) /\ ((((exists ff_h_pfp_equal_to_equivalent_resultfirstentry. ff_h_pfp_equal_to_equivalent_resultfirstentry + S (pfrep_left_equal_to_equivalent_result) = S ((S (pfrep_position_equal_to_equivalent_resultfirst)) * c)) /\ exists ff_q_pfp_equal_to_equivalent_resultfirstentry. b = ff_q_pfp_equal_to_equivalent_resultfirstentry * S ((S (pfrep_position_equal_to_equivalent_resultfirst)) * c) + (pfrep_left_equal_to_equivalent_result)))))) \/ (((exists pfrep_gap_equal_to_equivalent_resultfirstoutside. pfrep_gap_equal_to_equivalent_resultfirstoutside+(L)=(pfrep_power_equal_to_equivalent_result)) /\ (((pfrep_left_equal_to_equivalent_result)=0))))) -> ((exists pfrep_position_equal_to_equivalent_resultsecond. ((pfrep_position_equal_to_equivalent_resultsecond+S (pfrep_power_equal_to_equivalent_result)=(L)) /\ ((((exists ff_h_pfp_equal_to_equivalent_resultsecondentry. ff_h_pfp_equal_to_equivalent_resultsecondentry + S (pfrep_right_equal_to_equivalent_result) = S ((S (pfrep_position_equal_to_equivalent_resultsecond)) * e)) /\ exists ff_q_pfp_equal_to_equivalent_resultsecondentry. d = ff_q_pfp_equal_to_equivalent_resultsecondentry * S ((S (pfrep_position_equal_to_equivalent_resultsecond)) * e) + (pfrep_right_equal_to_equivalent_result)))))) \/ (((exists pfrep_gap_equal_to_equivalent_resultsecondoutside. pfrep_gap_equal_to_equivalent_resultsecondoutside+(L)=(pfrep_power_equal_to_equivalent_result)) /\ (((pfrep_right_equal_to_equivalent_result)=0))))) -> pfrep_left_equal_to_equivalent_result=pfrep_right_equal_to_equivalent_result)
intro bintro cintro dintro eintro Lintro heintro kintro aintro rintro haintro hrspecialize prime_field_polynomial_power_coefficient_functional (d)specialize prime_field_polynomial_power_coefficient_functional (e)specialize prime_field_polynomial_power_coefficient_functional (L)specialize prime_field_polynomial_power_coefficient_functional (k)specialize prime_field_polynomial_power_coefficient_functional (a)specialize prime_field_polynomial_power_coefficient_functional (r)apply prime_field_polynomial_power_coefficient_functionalspecialize prime_field_polynomial_power_coefficient_transport (b)specialize prime_field_polynomial_power_coefficient_transport (c)specialize prime_field_polynomial_power_coefficient_transport (d)specialize prime_field_polynomial_power_coefficient_transport (e)specialize prime_field_polynomial_power_coefficient_transport (L)specialize prime_field_polynomial_power_coefficient_transport (k)specialize prime_field_polynomial_power_coefficient_transport (a)apply prime_field_polynomial_power_coefficient_transportexact heexact haexact hr
polynomial_product_length_exists · unchanged support, not a new admission
forall L M. exists N. (((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N))))))))
intro Lintro Mhave hl : L=0 \/ exists l. L=S lspecialize zero_or_succ (L)apply zero_or_succcases hlexists 0leftsplitleftexact hl_leftreflcases hl_righthave hm : M=0 \/ exists m. M=S mspecialize zero_or_succ (M)apply zero_or_succcases hmexists 0leftsplitrightexact hm_leftreflcases hm_rightexists S (x+x1)rightsplitintro hzspecialize succ_ne_zero (x)apply succ_ne_zerotrans Lsymmexact hl_right_witnessexact hzsplitintro hzspecialize succ_ne_zero (x1)apply succ_ne_zerotrans Msymmexact hm_right_witnessexact hzrewrite hl_right_witnessrewrite hm_right_witnesssimp [add_succ_left]
prime_field_convolution_prefix_from_pointwise · unchanged support, not a new admission
forall p ab ac L bb bc M N. (forall j. (exists pfa_gap_choice_domain. pfa_gap_choice_domain + S (j) = (N)) -> exists t. (exists pfc_terms_code_choice_pointwise pfc_terms_scale_choice_pointwise pfc_natural_sum_choice_pointwise. ((forall pfc_index_choice_pointwisediagonal. (exists pfa_gap_choice_pointwisediagonalbound. pfa_gap_choice_pointwisediagonalbound + S (pfc_index_choice_pointwisediagonal) = (S (j))) -> exists pfc_value_choice_pointwisediagonal. ((((exists ff_h_pfp_choice_pointwisediagonalentry. ff_h_pfp_choice_pointwisediagonalentry + S (pfc_value_choice_pointwisediagonal) = S ((S (pfc_index_choice_pointwisediagonal)) * pfc_terms_scale_choice_pointwise)) /\ exists ff_q_pfp_choice_pointwisediagonalentry. pfc_terms_code_choice_pointwise = ff_q_pfp_choice_pointwisediagonalentry * S ((S (pfc_index_choice_pointwisediagonal)) * pfc_terms_scale_choice_pointwise) + (pfc_value_choice_pointwisediagonal))) /\ ((exists pfc_complement_choice_pointwisediagonalterm pfc_left_choice_pointwisediagonalterm pfc_right_choice_pointwisediagonalterm. (((pfc_index_choice_pointwisediagonal)+pfc_complement_choice_pointwisediagonalterm=(j)) /\ ((((((exists pfa_gap_choice_pointwisediagonaltermleftinside. pfa_gap_choice_pointwisediagonaltermleftinside + S (pfc_index_choice_pointwisediagonal) = (L)) /\ ((((exists ff_h_pfp_choice_pointwisediagonaltermleftentry. ff_h_pfp_choice_pointwisediagonaltermleftentry + S (pfc_left_choice_pointwisediagonalterm) = S ((S (pfc_index_choice_pointwisediagonal)) * ac)) /\ exists ff_q_pfp_choice_pointwisediagonaltermleftentry. ab = ff_q_pfp_choice_pointwisediagonaltermleftentry * S ((S (pfc_index_choice_pointwisediagonal)) * ac) + (pfc_left_choice_pointwisediagonalterm)))))) \/ (((exists pfc_gap_choice_pointwisediagonaltermleftoutside. pfc_gap_choice_pointwisediagonaltermleftoutside+(L)=(pfc_index_choice_pointwisediagonal)) /\ (((pfc_left_choice_pointwisediagonalterm)=0))))) /\ ((((((exists pfa_gap_choice_pointwisediagonaltermrightinside. pfa_gap_choice_pointwisediagonaltermrightinside + S (pfc_complement_choice_pointwisediagonalterm) = (M)) /\ ((((exists ff_h_pfp_choice_pointwisediagonaltermrightentry. ff_h_pfp_choice_pointwisediagonaltermrightentry + S (pfc_right_choice_pointwisediagonalterm) = S ((S (pfc_complement_choice_pointwisediagonalterm)) * bc)) /\ exists ff_q_pfp_choice_pointwisediagonaltermrightentry. bb = ff_q_pfp_choice_pointwisediagonaltermrightentry * S ((S (pfc_complement_choice_pointwisediagonalterm)) * bc) + (pfc_right_choice_pointwisediagonalterm)))))) \/ (((exists pfc_gap_choice_pointwisediagonaltermrightoutside. pfc_gap_choice_pointwisediagonaltermrightoutside+(M)=(pfc_complement_choice_pointwisediagonalterm)) /\ (((pfc_right_choice_pointwisediagonalterm)=0))))) /\ (((pfc_value_choice_pointwisediagonal)=pfc_left_choice_pointwisediagonalterm*pfc_right_choice_pointwisediagonalterm))))))))))) /\ (((exists fs_u_pfc_choice_pointwisesum fs_v_pfc_choice_pointwisesum. ((((exists fs_h_pfc_choice_pointwisesum_body_start. fs_h_pfc_choice_pointwisesum_body_start + S (0) = S ((S (0)) * fs_v_pfc_choice_pointwisesum)) /\ exists fs_q_pfc_choice_pointwisesum_body_start. fs_u_pfc_choice_pointwisesum = fs_q_pfc_choice_pointwisesum_body_start * S ((S (0)) * fs_v_pfc_choice_pointwisesum) + (0))) /\ ((((exists fs_h_pfc_choice_pointwisesum_body_terminal. fs_h_pfc_choice_pointwisesum_body_terminal + S (pfc_natural_sum_choice_pointwise) = S ((S (S (j))) * fs_v_pfc_choice_pointwisesum)) /\ exists fs_q_pfc_choice_pointwisesum_body_terminal. fs_u_pfc_choice_pointwisesum = fs_q_pfc_choice_pointwisesum_body_terminal * S ((S (S (j))) * fs_v_pfc_choice_pointwisesum) + (pfc_natural_sum_choice_pointwise))) /\ forall fs_i_pfc_choice_pointwisesum_body_steps. (exists fs_lt_pfc_choice_pointwisesum_body_steps_bound. fs_lt_pfc_choice_pointwisesum_body_steps_bound + S fs_i_pfc_choice_pointwisesum_body_steps = S (j)) -> exists fs_a_pfc_choice_pointwisesum_body_steps fs_r_pfc_choice_pointwisesum_body_steps fs_s_pfc_choice_pointwisesum_body_steps. ((((exists fs_h_pfc_choice_pointwisesum_body_steps_summand. fs_h_pfc_choice_pointwisesum_body_steps_summand + S (fs_a_pfc_choice_pointwisesum_body_steps) = S ((S (fs_i_pfc_choice_pointwisesum_body_steps)) * pfc_terms_scale_choice_pointwise)) /\ exists fs_q_pfc_choice_pointwisesum_body_steps_summand. pfc_terms_code_choice_pointwise = fs_q_pfc_choice_pointwisesum_body_steps_summand * S ((S (fs_i_pfc_choice_pointwisesum_body_steps)) * pfc_terms_scale_choice_pointwise) + (fs_a_pfc_choice_pointwisesum_body_steps))) /\ ((((exists fs_h_pfc_choice_pointwisesum_body_steps_partial. fs_h_pfc_choice_pointwisesum_body_steps_partial + S (fs_r_pfc_choice_pointwisesum_body_steps) = S ((S (fs_i_pfc_choice_pointwisesum_body_steps)) * fs_v_pfc_choice_pointwisesum)) /\ exists fs_q_pfc_choice_pointwisesum_body_steps_partial. fs_u_pfc_choice_pointwisesum = fs_q_pfc_choice_pointwisesum_body_steps_partial * S ((S (fs_i_pfc_choice_pointwisesum_body_steps)) * fs_v_pfc_choice_pointwisesum) + (fs_r_pfc_choice_pointwisesum_body_steps))) /\ ((((exists fs_h_pfc_choice_pointwisesum_body_steps_successor. fs_h_pfc_choice_pointwisesum_body_steps_successor + S (fs_s_pfc_choice_pointwisesum_body_steps) = S ((S (S fs_i_pfc_choice_pointwisesum_body_steps)) * fs_v_pfc_choice_pointwisesum)) /\ exists fs_q_pfc_choice_pointwisesum_body_steps_successor. fs_u_pfc_choice_pointwisesum = fs_q_pfc_choice_pointwisesum_body_steps_successor * S ((S (S fs_i_pfc_choice_pointwisesum_body_steps)) * fs_v_pfc_choice_pointwisesum) + (fs_s_pfc_choice_pointwisesum_body_steps))) /\ fs_s_pfc_choice_pointwisesum_body_steps = fs_r_pfc_choice_pointwisesum_body_steps + fs_a_pfc_choice_pointwisesum_body_steps)))))) /\ ((((exists pfa_gap_choice_pointwiseresiduebound. pfa_gap_choice_pointwiseresiduebound + S (t) = (p)) /\ ((exists pfa_offset_left_choice_pointwiseresiduecongruence pfa_offset_right_choice_pointwiseresiduecongruence. (pfc_natural_sum_choice_pointwise) + (p) * pfa_offset_left_choice_pointwiseresiduecongruence = (t) + (p) * pfa_offset_right_choice_pointwiseresiduecongruence)))))))))) -> exists db dc. (forall pfc_index_choice_result. (exists pfa_gap_choice_resultbound. pfa_gap_choice_resultbound + S (pfc_index_choice_result) = (N)) -> exists pfc_value_choice_result. ((((exists ff_h_pfp_choice_resultentry. ff_h_pfp_choice_resultentry + S (pfc_value_choice_result) = S ((S (pfc_index_choice_result)) * dc)) /\ exists ff_q_pfp_choice_resultentry. db = ff_q_pfp_choice_resultentry * S ((S (pfc_index_choice_result)) * dc) + (pfc_value_choice_result))) /\ ((exists pfc_terms_code_choice_resultcoefficient pfc_terms_scale_choice_resultcoefficient pfc_natural_sum_choice_resultcoefficient. ((forall pfc_index_choice_resultcoefficientdiagonal. (exists pfa_gap_choice_resultcoefficientdiagonalbound. pfa_gap_choice_resultcoefficientdiagonalbound + S (pfc_index_choice_resultcoefficientdiagonal) = (S (pfc_index_choice_result))) -> exists pfc_value_choice_resultcoefficientdiagonal. ((((exists ff_h_pfp_choice_resultcoefficientdiagonalentry. ff_h_pfp_choice_resultcoefficientdiagonalentry + S (pfc_value_choice_resultcoefficientdiagonal) = S ((S (pfc_index_choice_resultcoefficientdiagonal)) * pfc_terms_scale_choice_resultcoefficient)) /\ exists ff_q_pfp_choice_resultcoefficientdiagonalentry. pfc_terms_code_choice_resultcoefficient = ff_q_pfp_choice_resultcoefficientdiagonalentry * S ((S (pfc_index_choice_resultcoefficientdiagonal)) * pfc_terms_scale_choice_resultcoefficient) + (pfc_value_choice_resultcoefficientdiagonal))) /\ ((exists pfc_complement_choice_resultcoefficientdiagonalterm pfc_left_choice_resultcoefficientdiagonalterm pfc_right_choice_resultcoefficientdiagonalterm. (((pfc_index_choice_resultcoefficientdiagonal)+pfc_complement_choice_resultcoefficientdiagonalterm=(pfc_index_choice_result)) /\ ((((((exists pfa_gap_choice_resultcoefficientdiagonaltermleftinside. pfa_gap_choice_resultcoefficientdiagonaltermleftinside + S (pfc_index_choice_resultcoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_choice_resultcoefficientdiagonaltermleftentry. ff_h_pfp_choice_resultcoefficientdiagonaltermleftentry + S (pfc_left_choice_resultcoefficientdiagonalterm) = S ((S (pfc_index_choice_resultcoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_choice_resultcoefficientdiagonaltermleftentry. ab = ff_q_pfp_choice_resultcoefficientdiagonaltermleftentry * S ((S (pfc_index_choice_resultcoefficientdiagonal)) * ac) + (pfc_left_choice_resultcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_choice_resultcoefficientdiagonaltermleftoutside. pfc_gap_choice_resultcoefficientdiagonaltermleftoutside+(L)=(pfc_index_choice_resultcoefficientdiagonal)) /\ (((pfc_left_choice_resultcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_choice_resultcoefficientdiagonaltermrightinside. pfa_gap_choice_resultcoefficientdiagonaltermrightinside + S (pfc_complement_choice_resultcoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_choice_resultcoefficientdiagonaltermrightentry. ff_h_pfp_choice_resultcoefficientdiagonaltermrightentry + S (pfc_right_choice_resultcoefficientdiagonalterm) = S ((S (pfc_complement_choice_resultcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_choice_resultcoefficientdiagonaltermrightentry. bb = ff_q_pfp_choice_resultcoefficientdiagonaltermrightentry * S ((S (pfc_complement_choice_resultcoefficientdiagonalterm)) * bc) + (pfc_right_choice_resultcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_choice_resultcoefficientdiagonaltermrightoutside. pfc_gap_choice_resultcoefficientdiagonaltermrightoutside+(M)=(pfc_complement_choice_resultcoefficientdiagonalterm)) /\ (((pfc_right_choice_resultcoefficientdiagonalterm)=0))))) /\ (((pfc_value_choice_resultcoefficientdiagonal)=pfc_left_choice_resultcoefficientdiagonalterm*pfc_right_choice_resultcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_choice_resultcoefficientsum fs_v_pfc_choice_resultcoefficientsum. ((((exists fs_h_pfc_choice_resultcoefficientsum_body_start. fs_h_pfc_choice_resultcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_choice_resultcoefficientsum)) /\ exists fs_q_pfc_choice_resultcoefficientsum_body_start. fs_u_pfc_choice_resultcoefficientsum = fs_q_pfc_choice_resultcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_choice_resultcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_choice_resultcoefficientsum_body_terminal. fs_h_pfc_choice_resultcoefficientsum_body_terminal + S (pfc_natural_sum_choice_resultcoefficient) = S ((S (S (pfc_index_choice_result))) * fs_v_pfc_choice_resultcoefficientsum)) /\ exists fs_q_pfc_choice_resultcoefficientsum_body_terminal. fs_u_pfc_choice_resultcoefficientsum = fs_q_pfc_choice_resultcoefficientsum_body_terminal * S ((S (S (pfc_index_choice_result))) * fs_v_pfc_choice_resultcoefficientsum) + (pfc_natural_sum_choice_resultcoefficient))) /\ forall fs_i_pfc_choice_resultcoefficientsum_body_steps. (exists fs_lt_pfc_choice_resultcoefficientsum_body_steps_bound. fs_lt_pfc_choice_resultcoefficientsum_body_steps_bound + S fs_i_pfc_choice_resultcoefficientsum_body_steps = S (pfc_index_choice_result)) -> exists fs_a_pfc_choice_resultcoefficientsum_body_steps fs_r_pfc_choice_resultcoefficientsum_body_steps fs_s_pfc_choice_resultcoefficientsum_body_steps. ((((exists fs_h_pfc_choice_resultcoefficientsum_body_steps_summand. fs_h_pfc_choice_resultcoefficientsum_body_steps_summand + S (fs_a_pfc_choice_resultcoefficientsum_body_steps) = S ((S (fs_i_pfc_choice_resultcoefficientsum_body_steps)) * pfc_terms_scale_choice_resultcoefficient)) /\ exists fs_q_pfc_choice_resultcoefficientsum_body_steps_summand. pfc_terms_code_choice_resultcoefficient = fs_q_pfc_choice_resultcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_choice_resultcoefficientsum_body_steps)) * pfc_terms_scale_choice_resultcoefficient) + (fs_a_pfc_choice_resultcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_choice_resultcoefficientsum_body_steps_partial. fs_h_pfc_choice_resultcoefficientsum_body_steps_partial + S (fs_r_pfc_choice_resultcoefficientsum_body_steps) = S ((S (fs_i_pfc_choice_resultcoefficientsum_body_steps)) * fs_v_pfc_choice_resultcoefficientsum)) /\ exists fs_q_pfc_choice_resultcoefficientsum_body_steps_partial. fs_u_pfc_choice_resultcoefficientsum = fs_q_pfc_choice_resultcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_choice_resultcoefficientsum_body_steps)) * fs_v_pfc_choice_resultcoefficientsum) + (fs_r_pfc_choice_resultcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_choice_resultcoefficientsum_body_steps_successor. fs_h_pfc_choice_resultcoefficientsum_body_steps_successor + S (fs_s_pfc_choice_resultcoefficientsum_body_steps) = S ((S (S fs_i_pfc_choice_resultcoefficientsum_body_steps)) * fs_v_pfc_choice_resultcoefficientsum)) /\ exists fs_q_pfc_choice_resultcoefficientsum_body_steps_successor. fs_u_pfc_choice_resultcoefficientsum = fs_q_pfc_choice_resultcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_choice_resultcoefficientsum_body_steps)) * fs_v_pfc_choice_resultcoefficientsum) + (fs_s_pfc_choice_resultcoefficientsum_body_steps))) /\ fs_s_pfc_choice_resultcoefficientsum_body_steps = fs_r_pfc_choice_resultcoefficientsum_body_steps + fs_a_pfc_choice_resultcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_choice_resultcoefficientresiduebound. pfa_gap_choice_resultcoefficientresiduebound + S (pfc_value_choice_result) = (p)) /\ ((exists pfa_offset_left_choice_resultcoefficientresiduecongruence pfa_offset_right_choice_resultcoefficientresiduecongruence. (pfc_natural_sum_choice_resultcoefficient) + (p) * pfa_offset_left_choice_resultcoefficientresiduecongruence = (pfc_value_choice_result) + (p) * pfa_offset_right_choice_resultcoefficientresiduecongruence))))))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro Ninduction Nintro hexists 0exists 0intro jintro hjexfalsospecialize lt_not_le (j)specialize lt_not_le (0)apply lt_not_leexact hjspecialize zero_le (j)apply zero_leintro hhave hold : exists db dc. (forall pfc_index_choice_old. (exists pfa_gap_choice_oldbound. pfa_gap_choice_oldbound + S (pfc_index_choice_old) = (N)) -> exists pfc_value_choice_old. ((((exists ff_h_pfp_choice_oldentry. ff_h_pfp_choice_oldentry + S (pfc_value_choice_old) = S ((S (pfc_index_choice_old)) * dc)) /\ exists ff_q_pfp_choice_oldentry. db = ff_q_pfp_choice_oldentry * S ((S (pfc_index_choice_old)) * dc) + (pfc_value_choice_old))) /\ ((exists pfc_terms_code_choice_oldcoefficient pfc_terms_scale_choice_oldcoefficient pfc_natural_sum_choice_oldcoefficient. ((forall pfc_index_choice_oldcoefficientdiagonal. (exists pfa_gap_choice_oldcoefficientdiagonalbound. pfa_gap_choice_oldcoefficientdiagonalbound + S (pfc_index_choice_oldcoefficientdiagonal) = (S (pfc_index_choice_old))) -> exists pfc_value_choice_oldcoefficientdiagonal. ((((exists ff_h_pfp_choice_oldcoefficientdiagonalentry. ff_h_pfp_choice_oldcoefficientdiagonalentry + S (pfc_value_choice_oldcoefficientdiagonal) = S ((S (pfc_index_choice_oldcoefficientdiagonal)) * pfc_terms_scale_choice_oldcoefficient)) /\ exists ff_q_pfp_choice_oldcoefficientdiagonalentry. pfc_terms_code_choice_oldcoefficient = ff_q_pfp_choice_oldcoefficientdiagonalentry * S ((S (pfc_index_choice_oldcoefficientdiagonal)) * pfc_terms_scale_choice_oldcoefficient) + (pfc_value_choice_oldcoefficientdiagonal))) /\ ((exists pfc_complement_choice_oldcoefficientdiagonalterm pfc_left_choice_oldcoefficientdiagonalterm pfc_right_choice_oldcoefficientdiagonalterm. (((pfc_index_choice_oldcoefficientdiagonal)+pfc_complement_choice_oldcoefficientdiagonalterm=(pfc_index_choice_old)) /\ ((((((exists pfa_gap_choice_oldcoefficientdiagonaltermleftinside. pfa_gap_choice_oldcoefficientdiagonaltermleftinside + S (pfc_index_choice_oldcoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_choice_oldcoefficientdiagonaltermleftentry. ff_h_pfp_choice_oldcoefficientdiagonaltermleftentry + S (pfc_left_choice_oldcoefficientdiagonalterm) = S ((S (pfc_index_choice_oldcoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_choice_oldcoefficientdiagonaltermleftentry. ab = ff_q_pfp_choice_oldcoefficientdiagonaltermleftentry * S ((S (pfc_index_choice_oldcoefficientdiagonal)) * ac) + (pfc_left_choice_oldcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_choice_oldcoefficientdiagonaltermleftoutside. pfc_gap_choice_oldcoefficientdiagonaltermleftoutside+(L)=(pfc_index_choice_oldcoefficientdiagonal)) /\ (((pfc_left_choice_oldcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_choice_oldcoefficientdiagonaltermrightinside. pfa_gap_choice_oldcoefficientdiagonaltermrightinside + S (pfc_complement_choice_oldcoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_choice_oldcoefficientdiagonaltermrightentry. ff_h_pfp_choice_oldcoefficientdiagonaltermrightentry + S (pfc_right_choice_oldcoefficientdiagonalterm) = S ((S (pfc_complement_choice_oldcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_choice_oldcoefficientdiagonaltermrightentry. bb = ff_q_pfp_choice_oldcoefficientdiagonaltermrightentry * S ((S (pfc_complement_choice_oldcoefficientdiagonalterm)) * bc) + (pfc_right_choice_oldcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_choice_oldcoefficientdiagonaltermrightoutside. pfc_gap_choice_oldcoefficientdiagonaltermrightoutside+(M)=(pfc_complement_choice_oldcoefficientdiagonalterm)) /\ (((pfc_right_choice_oldcoefficientdiagonalterm)=0))))) /\ (((pfc_value_choice_oldcoefficientdiagonal)=pfc_left_choice_oldcoefficientdiagonalterm*pfc_right_choice_oldcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_choice_oldcoefficientsum fs_v_pfc_choice_oldcoefficientsum. ((((exists fs_h_pfc_choice_oldcoefficientsum_body_start. fs_h_pfc_choice_oldcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_choice_oldcoefficientsum)) /\ exists fs_q_pfc_choice_oldcoefficientsum_body_start. fs_u_pfc_choice_oldcoefficientsum = fs_q_pfc_choice_oldcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_choice_oldcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_choice_oldcoefficientsum_body_terminal. fs_h_pfc_choice_oldcoefficientsum_body_terminal + S (pfc_natural_sum_choice_oldcoefficient) = S ((S (S (pfc_index_choice_old))) * fs_v_pfc_choice_oldcoefficientsum)) /\ exists fs_q_pfc_choice_oldcoefficientsum_body_terminal. fs_u_pfc_choice_oldcoefficientsum = fs_q_pfc_choice_oldcoefficientsum_body_terminal * S ((S (S (pfc_index_choice_old))) * fs_v_pfc_choice_oldcoefficientsum) + (pfc_natural_sum_choice_oldcoefficient))) /\ forall fs_i_pfc_choice_oldcoefficientsum_body_steps. (exists fs_lt_pfc_choice_oldcoefficientsum_body_steps_bound. fs_lt_pfc_choice_oldcoefficientsum_body_steps_bound + S fs_i_pfc_choice_oldcoefficientsum_body_steps = S (pfc_index_choice_old)) -> exists fs_a_pfc_choice_oldcoefficientsum_body_steps fs_r_pfc_choice_oldcoefficientsum_body_steps fs_s_pfc_choice_oldcoefficientsum_body_steps. ((((exists fs_h_pfc_choice_oldcoefficientsum_body_steps_summand. fs_h_pfc_choice_oldcoefficientsum_body_steps_summand + S (fs_a_pfc_choice_oldcoefficientsum_body_steps) = S ((S (fs_i_pfc_choice_oldcoefficientsum_body_steps)) * pfc_terms_scale_choice_oldcoefficient)) /\ exists fs_q_pfc_choice_oldcoefficientsum_body_steps_summand. pfc_terms_code_choice_oldcoefficient = fs_q_pfc_choice_oldcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_choice_oldcoefficientsum_body_steps)) * pfc_terms_scale_choice_oldcoefficient) + (fs_a_pfc_choice_oldcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_choice_oldcoefficientsum_body_steps_partial. fs_h_pfc_choice_oldcoefficientsum_body_steps_partial + S (fs_r_pfc_choice_oldcoefficientsum_body_steps) = S ((S (fs_i_pfc_choice_oldcoefficientsum_body_steps)) * fs_v_pfc_choice_oldcoefficientsum)) /\ exists fs_q_pfc_choice_oldcoefficientsum_body_steps_partial. fs_u_pfc_choice_oldcoefficientsum = fs_q_pfc_choice_oldcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_choice_oldcoefficientsum_body_steps)) * fs_v_pfc_choice_oldcoefficientsum) + (fs_r_pfc_choice_oldcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_choice_oldcoefficientsum_body_steps_successor. fs_h_pfc_choice_oldcoefficientsum_body_steps_successor + S (fs_s_pfc_choice_oldcoefficientsum_body_steps) = S ((S (S fs_i_pfc_choice_oldcoefficientsum_body_steps)) * fs_v_pfc_choice_oldcoefficientsum)) /\ exists fs_q_pfc_choice_oldcoefficientsum_body_steps_successor. fs_u_pfc_choice_oldcoefficientsum = fs_q_pfc_choice_oldcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_choice_oldcoefficientsum_body_steps)) * fs_v_pfc_choice_oldcoefficientsum) + (fs_s_pfc_choice_oldcoefficientsum_body_steps))) /\ fs_s_pfc_choice_oldcoefficientsum_body_steps = fs_r_pfc_choice_oldcoefficientsum_body_steps + fs_a_pfc_choice_oldcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_choice_oldcoefficientresiduebound. pfa_gap_choice_oldcoefficientresiduebound + S (pfc_value_choice_old) = (p)) /\ ((exists pfa_offset_left_choice_oldcoefficientresiduecongruence pfa_offset_right_choice_oldcoefficientresiduecongruence. (pfc_natural_sum_choice_oldcoefficient) + (p) * pfa_offset_left_choice_oldcoefficientresiduecongruence = (pfc_value_choice_old) + (p) * pfa_offset_right_choice_oldcoefficientresiduecongruence))))))))))))apply IHintro jintro hjspecialize h (j)apply hspecialize le_succ (S j)specialize le_succ (N)apply le_succexact hjcases holdcases hold_witnesshave hv : exists t. (exists pfc_terms_code_choice_last_value pfc_terms_scale_choice_last_value pfc_natural_sum_choice_last_value. ((forall pfc_index_choice_last_valuediagonal. (exists pfa_gap_choice_last_valuediagonalbound. pfa_gap_choice_last_valuediagonalbound + S (pfc_index_choice_last_valuediagonal) = (S (N))) -> exists pfc_value_choice_last_valuediagonal. ((((exists ff_h_pfp_choice_last_valuediagonalentry. ff_h_pfp_choice_last_valuediagonalentry + S (pfc_value_choice_last_valuediagonal) = S ((S (pfc_index_choice_last_valuediagonal)) * pfc_terms_scale_choice_last_value)) /\ exists ff_q_pfp_choice_last_valuediagonalentry. pfc_terms_code_choice_last_value = ff_q_pfp_choice_last_valuediagonalentry * S ((S (pfc_index_choice_last_valuediagonal)) * pfc_terms_scale_choice_last_value) + (pfc_value_choice_last_valuediagonal))) /\ ((exists pfc_complement_choice_last_valuediagonalterm pfc_left_choice_last_valuediagonalterm pfc_right_choice_last_valuediagonalterm. (((pfc_index_choice_last_valuediagonal)+pfc_complement_choice_last_valuediagonalterm=(N)) /\ ((((((exists pfa_gap_choice_last_valuediagonaltermleftinside. pfa_gap_choice_last_valuediagonaltermleftinside + S (pfc_index_choice_last_valuediagonal) = (L)) /\ ((((exists ff_h_pfp_choice_last_valuediagonaltermleftentry. ff_h_pfp_choice_last_valuediagonaltermleftentry + S (pfc_left_choice_last_valuediagonalterm) = S ((S (pfc_index_choice_last_valuediagonal)) * ac)) /\ exists ff_q_pfp_choice_last_valuediagonaltermleftentry. ab = ff_q_pfp_choice_last_valuediagonaltermleftentry * S ((S (pfc_index_choice_last_valuediagonal)) * ac) + (pfc_left_choice_last_valuediagonalterm)))))) \/ (((exists pfc_gap_choice_last_valuediagonaltermleftoutside. pfc_gap_choice_last_valuediagonaltermleftoutside+(L)=(pfc_index_choice_last_valuediagonal)) /\ (((pfc_left_choice_last_valuediagonalterm)=0))))) /\ ((((((exists pfa_gap_choice_last_valuediagonaltermrightinside. pfa_gap_choice_last_valuediagonaltermrightinside + S (pfc_complement_choice_last_valuediagonalterm) = (M)) /\ ((((exists ff_h_pfp_choice_last_valuediagonaltermrightentry. ff_h_pfp_choice_last_valuediagonaltermrightentry + S (pfc_right_choice_last_valuediagonalterm) = S ((S (pfc_complement_choice_last_valuediagonalterm)) * bc)) /\ exists ff_q_pfp_choice_last_valuediagonaltermrightentry. bb = ff_q_pfp_choice_last_valuediagonaltermrightentry * S ((S (pfc_complement_choice_last_valuediagonalterm)) * bc) + (pfc_right_choice_last_valuediagonalterm)))))) \/ (((exists pfc_gap_choice_last_valuediagonaltermrightoutside. pfc_gap_choice_last_valuediagonaltermrightoutside+(M)=(pfc_complement_choice_last_valuediagonalterm)) /\ (((pfc_right_choice_last_valuediagonalterm)=0))))) /\ (((pfc_value_choice_last_valuediagonal)=pfc_left_choice_last_valuediagonalterm*pfc_right_choice_last_valuediagonalterm))))))))))) /\ (((exists fs_u_pfc_choice_last_valuesum fs_v_pfc_choice_last_valuesum. ((((exists fs_h_pfc_choice_last_valuesum_body_start. fs_h_pfc_choice_last_valuesum_body_start + S (0) = S ((S (0)) * fs_v_pfc_choice_last_valuesum)) /\ exists fs_q_pfc_choice_last_valuesum_body_start. fs_u_pfc_choice_last_valuesum = fs_q_pfc_choice_last_valuesum_body_start * S ((S (0)) * fs_v_pfc_choice_last_valuesum) + (0))) /\ ((((exists fs_h_pfc_choice_last_valuesum_body_terminal. fs_h_pfc_choice_last_valuesum_body_terminal + S (pfc_natural_sum_choice_last_value) = S ((S (S (N))) * fs_v_pfc_choice_last_valuesum)) /\ exists fs_q_pfc_choice_last_valuesum_body_terminal. fs_u_pfc_choice_last_valuesum = fs_q_pfc_choice_last_valuesum_body_terminal * S ((S (S (N))) * fs_v_pfc_choice_last_valuesum) + (pfc_natural_sum_choice_last_value))) /\ forall fs_i_pfc_choice_last_valuesum_body_steps. (exists fs_lt_pfc_choice_last_valuesum_body_steps_bound. fs_lt_pfc_choice_last_valuesum_body_steps_bound + S fs_i_pfc_choice_last_valuesum_body_steps = S (N)) -> exists fs_a_pfc_choice_last_valuesum_body_steps fs_r_pfc_choice_last_valuesum_body_steps fs_s_pfc_choice_last_valuesum_body_steps. ((((exists fs_h_pfc_choice_last_valuesum_body_steps_summand. fs_h_pfc_choice_last_valuesum_body_steps_summand + S (fs_a_pfc_choice_last_valuesum_body_steps) = S ((S (fs_i_pfc_choice_last_valuesum_body_steps)) * pfc_terms_scale_choice_last_value)) /\ exists fs_q_pfc_choice_last_valuesum_body_steps_summand. pfc_terms_code_choice_last_value = fs_q_pfc_choice_last_valuesum_body_steps_summand * S ((S (fs_i_pfc_choice_last_valuesum_body_steps)) * pfc_terms_scale_choice_last_value) + (fs_a_pfc_choice_last_valuesum_body_steps))) /\ ((((exists fs_h_pfc_choice_last_valuesum_body_steps_partial. fs_h_pfc_choice_last_valuesum_body_steps_partial + S (fs_r_pfc_choice_last_valuesum_body_steps) = S ((S (fs_i_pfc_choice_last_valuesum_body_steps)) * fs_v_pfc_choice_last_valuesum)) /\ exists fs_q_pfc_choice_last_valuesum_body_steps_partial. fs_u_pfc_choice_last_valuesum = fs_q_pfc_choice_last_valuesum_body_steps_partial * S ((S (fs_i_pfc_choice_last_valuesum_body_steps)) * fs_v_pfc_choice_last_valuesum) + (fs_r_pfc_choice_last_valuesum_body_steps))) /\ ((((exists fs_h_pfc_choice_last_valuesum_body_steps_successor. fs_h_pfc_choice_last_valuesum_body_steps_successor + S (fs_s_pfc_choice_last_valuesum_body_steps) = S ((S (S fs_i_pfc_choice_last_valuesum_body_steps)) * fs_v_pfc_choice_last_valuesum)) /\ exists fs_q_pfc_choice_last_valuesum_body_steps_successor. fs_u_pfc_choice_last_valuesum = fs_q_pfc_choice_last_valuesum_body_steps_successor * S ((S (S fs_i_pfc_choice_last_valuesum_body_steps)) * fs_v_pfc_choice_last_valuesum) + (fs_s_pfc_choice_last_valuesum_body_steps))) /\ fs_s_pfc_choice_last_valuesum_body_steps = fs_r_pfc_choice_last_valuesum_body_steps + fs_a_pfc_choice_last_valuesum_body_steps)))))) /\ ((((exists pfa_gap_choice_last_valueresiduebound. pfa_gap_choice_last_valueresiduebound + S (t) = (p)) /\ ((exists pfa_offset_left_choice_last_valueresiduecongruence pfa_offset_right_choice_last_valueresiduecongruence. (pfc_natural_sum_choice_last_value) + (p) * pfa_offset_left_choice_last_valueresiduecongruence = (t) + (p) * pfa_offset_right_choice_last_valueresiduecongruence)))))))))specialize h (N)apply hexists 0apply zero_addcases hvhave hnew : exists db dc. (((((exists ff_h_pfp_choice_last_entry. ff_h_pfp_choice_last_entry + S (x2) = S ((S (N)) * dc)) /\ exists ff_q_pfp_choice_last_entry. db = ff_q_pfp_choice_last_entry * S ((S (N)) * dc) + (x2))) /\ ((forall mdr_i_pfp_choice_preservation mdr_a_pfp_choice_preservation. (exists mdr_gap_pfp_choice_preservationb. mdr_gap_pfp_choice_preservationb + S (mdr_i_pfp_choice_preservation) = (N)) -> (((exists ff_h_mdr_pfp_choice_preservationo. ff_h_mdr_pfp_choice_preservationo + S (mdr_a_pfp_choice_preservation) = S ((S (mdr_i_pfp_choice_preservation)) * x1)) /\ exists ff_q_mdr_pfp_choice_preservationo. x = ff_q_mdr_pfp_choice_preservationo * S ((S (mdr_i_pfp_choice_preservation)) * x1) + (mdr_a_pfp_choice_preservation))) -> (((exists ff_h_mdr_pfp_choice_preservationn. ff_h_mdr_pfp_choice_preservationn + S (mdr_a_pfp_choice_preservation) = S ((S (mdr_i_pfp_choice_preservation)) * dc)) /\ exists ff_q_mdr_pfp_choice_preservationn. db = ff_q_mdr_pfp_choice_preservationn * S ((S (mdr_i_pfp_choice_preservation)) * dc) + (mdr_a_pfp_choice_preservation)))))))specialize beta_prefix_extend (N)specialize beta_prefix_extend (x)specialize beta_prefix_extend (x1)specialize beta_prefix_extend (x2)apply beta_prefix_extendcases hnewcases hnew_witnesscases hnew_witness_witnessexists x3exists x4intro jintro hjhave hcase : j=N \/ (exists pfa_gap_choice_index_case. pfa_gap_choice_index_case + S (j) = (N))specialize finite_lt_succ_eq_or_lt (N)specialize finite_lt_succ_eq_or_lt (j)apply finite_lt_succ_eq_or_ltexact hjcases hcaseexists x2splitrewrite hcase_leftrewrite hcase_leftexact hnew_witness_witness_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftexact hv_witnesshave hp : exists t. ((((exists ff_h_pfp_choice_old_entry. ff_h_pfp_choice_old_entry + S (t) = S ((S (j)) * x1)) /\ exists ff_q_pfp_choice_old_entry. x = ff_q_pfp_choice_old_entry * S ((S (j)) * x1) + (t))) /\ ((exists pfc_terms_code_choice_old_value pfc_terms_scale_choice_old_value pfc_natural_sum_choice_old_value. ((forall pfc_index_choice_old_valuediagonal. (exists pfa_gap_choice_old_valuediagonalbound. pfa_gap_choice_old_valuediagonalbound + S (pfc_index_choice_old_valuediagonal) = (S (j))) -> exists pfc_value_choice_old_valuediagonal. ((((exists ff_h_pfp_choice_old_valuediagonalentry. ff_h_pfp_choice_old_valuediagonalentry + S (pfc_value_choice_old_valuediagonal) = S ((S (pfc_index_choice_old_valuediagonal)) * pfc_terms_scale_choice_old_value)) /\ exists ff_q_pfp_choice_old_valuediagonalentry. pfc_terms_code_choice_old_value = ff_q_pfp_choice_old_valuediagonalentry * S ((S (pfc_index_choice_old_valuediagonal)) * pfc_terms_scale_choice_old_value) + (pfc_value_choice_old_valuediagonal))) /\ ((exists pfc_complement_choice_old_valuediagonalterm pfc_left_choice_old_valuediagonalterm pfc_right_choice_old_valuediagonalterm. (((pfc_index_choice_old_valuediagonal)+pfc_complement_choice_old_valuediagonalterm=(j)) /\ ((((((exists pfa_gap_choice_old_valuediagonaltermleftinside. pfa_gap_choice_old_valuediagonaltermleftinside + S (pfc_index_choice_old_valuediagonal) = (L)) /\ ((((exists ff_h_pfp_choice_old_valuediagonaltermleftentry. ff_h_pfp_choice_old_valuediagonaltermleftentry + S (pfc_left_choice_old_valuediagonalterm) = S ((S (pfc_index_choice_old_valuediagonal)) * ac)) /\ exists ff_q_pfp_choice_old_valuediagonaltermleftentry. ab = ff_q_pfp_choice_old_valuediagonaltermleftentry * S ((S (pfc_index_choice_old_valuediagonal)) * ac) + (pfc_left_choice_old_valuediagonalterm)))))) \/ (((exists pfc_gap_choice_old_valuediagonaltermleftoutside. pfc_gap_choice_old_valuediagonaltermleftoutside+(L)=(pfc_index_choice_old_valuediagonal)) /\ (((pfc_left_choice_old_valuediagonalterm)=0))))) /\ ((((((exists pfa_gap_choice_old_valuediagonaltermrightinside. pfa_gap_choice_old_valuediagonaltermrightinside + S (pfc_complement_choice_old_valuediagonalterm) = (M)) /\ ((((exists ff_h_pfp_choice_old_valuediagonaltermrightentry. ff_h_pfp_choice_old_valuediagonaltermrightentry + S (pfc_right_choice_old_valuediagonalterm) = S ((S (pfc_complement_choice_old_valuediagonalterm)) * bc)) /\ exists ff_q_pfp_choice_old_valuediagonaltermrightentry. bb = ff_q_pfp_choice_old_valuediagonaltermrightentry * S ((S (pfc_complement_choice_old_valuediagonalterm)) * bc) + (pfc_right_choice_old_valuediagonalterm)))))) \/ (((exists pfc_gap_choice_old_valuediagonaltermrightoutside. pfc_gap_choice_old_valuediagonaltermrightoutside+(M)=(pfc_complement_choice_old_valuediagonalterm)) /\ (((pfc_right_choice_old_valuediagonalterm)=0))))) /\ (((pfc_value_choice_old_valuediagonal)=pfc_left_choice_old_valuediagonalterm*pfc_right_choice_old_valuediagonalterm))))))))))) /\ (((exists fs_u_pfc_choice_old_valuesum fs_v_pfc_choice_old_valuesum. ((((exists fs_h_pfc_choice_old_valuesum_body_start. fs_h_pfc_choice_old_valuesum_body_start + S (0) = S ((S (0)) * fs_v_pfc_choice_old_valuesum)) /\ exists fs_q_pfc_choice_old_valuesum_body_start. fs_u_pfc_choice_old_valuesum = fs_q_pfc_choice_old_valuesum_body_start * S ((S (0)) * fs_v_pfc_choice_old_valuesum) + (0))) /\ ((((exists fs_h_pfc_choice_old_valuesum_body_terminal. fs_h_pfc_choice_old_valuesum_body_terminal + S (pfc_natural_sum_choice_old_value) = S ((S (S (j))) * fs_v_pfc_choice_old_valuesum)) /\ exists fs_q_pfc_choice_old_valuesum_body_terminal. fs_u_pfc_choice_old_valuesum = fs_q_pfc_choice_old_valuesum_body_terminal * S ((S (S (j))) * fs_v_pfc_choice_old_valuesum) + (pfc_natural_sum_choice_old_value))) /\ forall fs_i_pfc_choice_old_valuesum_body_steps. (exists fs_lt_pfc_choice_old_valuesum_body_steps_bound. fs_lt_pfc_choice_old_valuesum_body_steps_bound + S fs_i_pfc_choice_old_valuesum_body_steps = S (j)) -> exists fs_a_pfc_choice_old_valuesum_body_steps fs_r_pfc_choice_old_valuesum_body_steps fs_s_pfc_choice_old_valuesum_body_steps. ((((exists fs_h_pfc_choice_old_valuesum_body_steps_summand. fs_h_pfc_choice_old_valuesum_body_steps_summand + S (fs_a_pfc_choice_old_valuesum_body_steps) = S ((S (fs_i_pfc_choice_old_valuesum_body_steps)) * pfc_terms_scale_choice_old_value)) /\ exists fs_q_pfc_choice_old_valuesum_body_steps_summand. pfc_terms_code_choice_old_value = fs_q_pfc_choice_old_valuesum_body_steps_summand * S ((S (fs_i_pfc_choice_old_valuesum_body_steps)) * pfc_terms_scale_choice_old_value) + (fs_a_pfc_choice_old_valuesum_body_steps))) /\ ((((exists fs_h_pfc_choice_old_valuesum_body_steps_partial. fs_h_pfc_choice_old_valuesum_body_steps_partial + S (fs_r_pfc_choice_old_valuesum_body_steps) = S ((S (fs_i_pfc_choice_old_valuesum_body_steps)) * fs_v_pfc_choice_old_valuesum)) /\ exists fs_q_pfc_choice_old_valuesum_body_steps_partial. fs_u_pfc_choice_old_valuesum = fs_q_pfc_choice_old_valuesum_body_steps_partial * S ((S (fs_i_pfc_choice_old_valuesum_body_steps)) * fs_v_pfc_choice_old_valuesum) + (fs_r_pfc_choice_old_valuesum_body_steps))) /\ ((((exists fs_h_pfc_choice_old_valuesum_body_steps_successor. fs_h_pfc_choice_old_valuesum_body_steps_successor + S (fs_s_pfc_choice_old_valuesum_body_steps) = S ((S (S fs_i_pfc_choice_old_valuesum_body_steps)) * fs_v_pfc_choice_old_valuesum)) /\ exists fs_q_pfc_choice_old_valuesum_body_steps_successor. fs_u_pfc_choice_old_valuesum = fs_q_pfc_choice_old_valuesum_body_steps_successor * S ((S (S fs_i_pfc_choice_old_valuesum_body_steps)) * fs_v_pfc_choice_old_valuesum) + (fs_s_pfc_choice_old_valuesum_body_steps))) /\ fs_s_pfc_choice_old_valuesum_body_steps = fs_r_pfc_choice_old_valuesum_body_steps + fs_a_pfc_choice_old_valuesum_body_steps)))))) /\ ((((exists pfa_gap_choice_old_valueresiduebound. pfa_gap_choice_old_valueresiduebound + S (t) = (p)) /\ ((exists pfa_offset_left_choice_old_valueresiduecongruence pfa_offset_right_choice_old_valueresiduecongruence. (pfc_natural_sum_choice_old_value) + (p) * pfa_offset_left_choice_old_valueresiduecongruence = (t) + (p) * pfa_offset_right_choice_old_valueresiduecongruence)))))))))))specialize hold_witness_witness (j)apply hold_witness_witnessexact hcase_rightcases hpcases hp_witnessexists x5splitspecialize hnew_witness_witness_right (j)specialize hnew_witness_witness_right (x5)apply hnew_witness_witness_rightexact hcase_rightexact hp_witness_leftexact hp_witness_right
polynomial_diagonal_prefix_from_pointwise · unchanged support, not a new admission
forall ab ac L bb bc M I N. (forall j. (exists pfa_gap_choice_domain. pfa_gap_choice_domain + S (j) = (N)) -> exists t. (exists pfc_complement_choice_pointwise pfc_left_choice_pointwise pfc_right_choice_pointwise. (((j)+pfc_complement_choice_pointwise=(I)) /\ ((((((exists pfa_gap_choice_pointwiseleftinside. pfa_gap_choice_pointwiseleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_choice_pointwiseleftentry. ff_h_pfp_choice_pointwiseleftentry + S (pfc_left_choice_pointwise) = S ((S (j)) * ac)) /\ exists ff_q_pfp_choice_pointwiseleftentry. ab = ff_q_pfp_choice_pointwiseleftentry * S ((S (j)) * ac) + (pfc_left_choice_pointwise)))))) \/ (((exists pfc_gap_choice_pointwiseleftoutside. pfc_gap_choice_pointwiseleftoutside+(L)=(j)) /\ (((pfc_left_choice_pointwise)=0))))) /\ ((((((exists pfa_gap_choice_pointwiserightinside. pfa_gap_choice_pointwiserightinside + S (pfc_complement_choice_pointwise) = (M)) /\ ((((exists ff_h_pfp_choice_pointwiserightentry. ff_h_pfp_choice_pointwiserightentry + S (pfc_right_choice_pointwise) = S ((S (pfc_complement_choice_pointwise)) * bc)) /\ exists ff_q_pfp_choice_pointwiserightentry. bb = ff_q_pfp_choice_pointwiserightentry * S ((S (pfc_complement_choice_pointwise)) * bc) + (pfc_right_choice_pointwise)))))) \/ (((exists pfc_gap_choice_pointwiserightoutside. pfc_gap_choice_pointwiserightoutside+(M)=(pfc_complement_choice_pointwise)) /\ (((pfc_right_choice_pointwise)=0))))) /\ (((t)=pfc_left_choice_pointwise*pfc_right_choice_pointwise))))))))) -> exists db dc. (forall pfc_index_choice_result. (exists pfa_gap_choice_resultbound. pfa_gap_choice_resultbound + S (pfc_index_choice_result) = (N)) -> exists pfc_value_choice_result. ((((exists ff_h_pfp_choice_resultentry. ff_h_pfp_choice_resultentry + S (pfc_value_choice_result) = S ((S (pfc_index_choice_result)) * dc)) /\ exists ff_q_pfp_choice_resultentry. db = ff_q_pfp_choice_resultentry * S ((S (pfc_index_choice_result)) * dc) + (pfc_value_choice_result))) /\ ((exists pfc_complement_choice_resultterm pfc_left_choice_resultterm pfc_right_choice_resultterm. (((pfc_index_choice_result)+pfc_complement_choice_resultterm=(I)) /\ ((((((exists pfa_gap_choice_resulttermleftinside. pfa_gap_choice_resulttermleftinside + S (pfc_index_choice_result) = (L)) /\ ((((exists ff_h_pfp_choice_resulttermleftentry. ff_h_pfp_choice_resulttermleftentry + S (pfc_left_choice_resultterm) = S ((S (pfc_index_choice_result)) * ac)) /\ exists ff_q_pfp_choice_resulttermleftentry. ab = ff_q_pfp_choice_resulttermleftentry * S ((S (pfc_index_choice_result)) * ac) + (pfc_left_choice_resultterm)))))) \/ (((exists pfc_gap_choice_resulttermleftoutside. pfc_gap_choice_resulttermleftoutside+(L)=(pfc_index_choice_result)) /\ (((pfc_left_choice_resultterm)=0))))) /\ ((((((exists pfa_gap_choice_resulttermrightinside. pfa_gap_choice_resulttermrightinside + S (pfc_complement_choice_resultterm) = (M)) /\ ((((exists ff_h_pfp_choice_resulttermrightentry. ff_h_pfp_choice_resulttermrightentry + S (pfc_right_choice_resultterm) = S ((S (pfc_complement_choice_resultterm)) * bc)) /\ exists ff_q_pfp_choice_resulttermrightentry. bb = ff_q_pfp_choice_resulttermrightentry * S ((S (pfc_complement_choice_resultterm)) * bc) + (pfc_right_choice_resultterm)))))) \/ (((exists pfc_gap_choice_resulttermrightoutside. pfc_gap_choice_resulttermrightoutside+(M)=(pfc_complement_choice_resultterm)) /\ (((pfc_right_choice_resultterm)=0))))) /\ (((pfc_value_choice_result)=pfc_left_choice_resultterm*pfc_right_choice_resultterm)))))))))))
intro abintro acintro Lintro bbintro bcintro Mintro Iintro Ninduction Nintro hexists 0exists 0intro jintro hjexfalsospecialize lt_not_le (j)specialize lt_not_le (0)apply lt_not_leexact hjspecialize zero_le (j)apply zero_leintro hhave hold : exists db dc. (forall pfc_index_choice_old. (exists pfa_gap_choice_oldbound. pfa_gap_choice_oldbound + S (pfc_index_choice_old) = (N)) -> exists pfc_value_choice_old. ((((exists ff_h_pfp_choice_oldentry. ff_h_pfp_choice_oldentry + S (pfc_value_choice_old) = S ((S (pfc_index_choice_old)) * dc)) /\ exists ff_q_pfp_choice_oldentry. db = ff_q_pfp_choice_oldentry * S ((S (pfc_index_choice_old)) * dc) + (pfc_value_choice_old))) /\ ((exists pfc_complement_choice_oldterm pfc_left_choice_oldterm pfc_right_choice_oldterm. (((pfc_index_choice_old)+pfc_complement_choice_oldterm=(I)) /\ ((((((exists pfa_gap_choice_oldtermleftinside. pfa_gap_choice_oldtermleftinside + S (pfc_index_choice_old) = (L)) /\ ((((exists ff_h_pfp_choice_oldtermleftentry. ff_h_pfp_choice_oldtermleftentry + S (pfc_left_choice_oldterm) = S ((S (pfc_index_choice_old)) * ac)) /\ exists ff_q_pfp_choice_oldtermleftentry. ab = ff_q_pfp_choice_oldtermleftentry * S ((S (pfc_index_choice_old)) * ac) + (pfc_left_choice_oldterm)))))) \/ (((exists pfc_gap_choice_oldtermleftoutside. pfc_gap_choice_oldtermleftoutside+(L)=(pfc_index_choice_old)) /\ (((pfc_left_choice_oldterm)=0))))) /\ ((((((exists pfa_gap_choice_oldtermrightinside. pfa_gap_choice_oldtermrightinside + S (pfc_complement_choice_oldterm) = (M)) /\ ((((exists ff_h_pfp_choice_oldtermrightentry. ff_h_pfp_choice_oldtermrightentry + S (pfc_right_choice_oldterm) = S ((S (pfc_complement_choice_oldterm)) * bc)) /\ exists ff_q_pfp_choice_oldtermrightentry. bb = ff_q_pfp_choice_oldtermrightentry * S ((S (pfc_complement_choice_oldterm)) * bc) + (pfc_right_choice_oldterm)))))) \/ (((exists pfc_gap_choice_oldtermrightoutside. pfc_gap_choice_oldtermrightoutside+(M)=(pfc_complement_choice_oldterm)) /\ (((pfc_right_choice_oldterm)=0))))) /\ (((pfc_value_choice_old)=pfc_left_choice_oldterm*pfc_right_choice_oldterm)))))))))))apply IHintro jintro hjspecialize h (j)apply hspecialize le_succ (S j)specialize le_succ (N)apply le_succexact hjcases holdcases hold_witnesshave hv : exists t. (exists pfc_complement_choice_last_value pfc_left_choice_last_value pfc_right_choice_last_value. (((N)+pfc_complement_choice_last_value=(I)) /\ ((((((exists pfa_gap_choice_last_valueleftinside. pfa_gap_choice_last_valueleftinside + S (N) = (L)) /\ ((((exists ff_h_pfp_choice_last_valueleftentry. ff_h_pfp_choice_last_valueleftentry + S (pfc_left_choice_last_value) = S ((S (N)) * ac)) /\ exists ff_q_pfp_choice_last_valueleftentry. ab = ff_q_pfp_choice_last_valueleftentry * S ((S (N)) * ac) + (pfc_left_choice_last_value)))))) \/ (((exists pfc_gap_choice_last_valueleftoutside. pfc_gap_choice_last_valueleftoutside+(L)=(N)) /\ (((pfc_left_choice_last_value)=0))))) /\ ((((((exists pfa_gap_choice_last_valuerightinside. pfa_gap_choice_last_valuerightinside + S (pfc_complement_choice_last_value) = (M)) /\ ((((exists ff_h_pfp_choice_last_valuerightentry. ff_h_pfp_choice_last_valuerightentry + S (pfc_right_choice_last_value) = S ((S (pfc_complement_choice_last_value)) * bc)) /\ exists ff_q_pfp_choice_last_valuerightentry. bb = ff_q_pfp_choice_last_valuerightentry * S ((S (pfc_complement_choice_last_value)) * bc) + (pfc_right_choice_last_value)))))) \/ (((exists pfc_gap_choice_last_valuerightoutside. pfc_gap_choice_last_valuerightoutside+(M)=(pfc_complement_choice_last_value)) /\ (((pfc_right_choice_last_value)=0))))) /\ (((t)=pfc_left_choice_last_value*pfc_right_choice_last_value))))))))specialize h (N)apply hexists 0apply zero_addcases hvhave hnew : exists db dc. (((((exists ff_h_pfp_choice_last_entry. ff_h_pfp_choice_last_entry + S (x2) = S ((S (N)) * dc)) /\ exists ff_q_pfp_choice_last_entry. db = ff_q_pfp_choice_last_entry * S ((S (N)) * dc) + (x2))) /\ ((forall mdr_i_pfp_choice_preservation mdr_a_pfp_choice_preservation. (exists mdr_gap_pfp_choice_preservationb. mdr_gap_pfp_choice_preservationb + S (mdr_i_pfp_choice_preservation) = (N)) -> (((exists ff_h_mdr_pfp_choice_preservationo. ff_h_mdr_pfp_choice_preservationo + S (mdr_a_pfp_choice_preservation) = S ((S (mdr_i_pfp_choice_preservation)) * x1)) /\ exists ff_q_mdr_pfp_choice_preservationo. x = ff_q_mdr_pfp_choice_preservationo * S ((S (mdr_i_pfp_choice_preservation)) * x1) + (mdr_a_pfp_choice_preservation))) -> (((exists ff_h_mdr_pfp_choice_preservationn. ff_h_mdr_pfp_choice_preservationn + S (mdr_a_pfp_choice_preservation) = S ((S (mdr_i_pfp_choice_preservation)) * dc)) /\ exists ff_q_mdr_pfp_choice_preservationn. db = ff_q_mdr_pfp_choice_preservationn * S ((S (mdr_i_pfp_choice_preservation)) * dc) + (mdr_a_pfp_choice_preservation)))))))specialize beta_prefix_extend (N)specialize beta_prefix_extend (x)specialize beta_prefix_extend (x1)specialize beta_prefix_extend (x2)apply beta_prefix_extendcases hnewcases hnew_witnesscases hnew_witness_witnessexists x3exists x4intro jintro hjhave hcase : j=N \/ (exists pfa_gap_choice_index_case. pfa_gap_choice_index_case + S (j) = (N))specialize finite_lt_succ_eq_or_lt (N)specialize finite_lt_succ_eq_or_lt (j)apply finite_lt_succ_eq_or_ltexact hjcases hcaseexists x2splitrewrite hcase_leftrewrite hcase_leftexact hnew_witness_witness_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftexact hv_witnesshave hp : exists t. ((((exists ff_h_pfp_choice_old_entry. ff_h_pfp_choice_old_entry + S (t) = S ((S (j)) * x1)) /\ exists ff_q_pfp_choice_old_entry. x = ff_q_pfp_choice_old_entry * S ((S (j)) * x1) + (t))) /\ ((exists pfc_complement_choice_old_value pfc_left_choice_old_value pfc_right_choice_old_value. (((j)+pfc_complement_choice_old_value=(I)) /\ ((((((exists pfa_gap_choice_old_valueleftinside. pfa_gap_choice_old_valueleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_choice_old_valueleftentry. ff_h_pfp_choice_old_valueleftentry + S (pfc_left_choice_old_value) = S ((S (j)) * ac)) /\ exists ff_q_pfp_choice_old_valueleftentry. ab = ff_q_pfp_choice_old_valueleftentry * S ((S (j)) * ac) + (pfc_left_choice_old_value)))))) \/ (((exists pfc_gap_choice_old_valueleftoutside. pfc_gap_choice_old_valueleftoutside+(L)=(j)) /\ (((pfc_left_choice_old_value)=0))))) /\ ((((((exists pfa_gap_choice_old_valuerightinside. pfa_gap_choice_old_valuerightinside + S (pfc_complement_choice_old_value) = (M)) /\ ((((exists ff_h_pfp_choice_old_valuerightentry. ff_h_pfp_choice_old_valuerightentry + S (pfc_right_choice_old_value) = S ((S (pfc_complement_choice_old_value)) * bc)) /\ exists ff_q_pfp_choice_old_valuerightentry. bb = ff_q_pfp_choice_old_valuerightentry * S ((S (pfc_complement_choice_old_value)) * bc) + (pfc_right_choice_old_value)))))) \/ (((exists pfc_gap_choice_old_valuerightoutside. pfc_gap_choice_old_valuerightoutside+(M)=(pfc_complement_choice_old_value)) /\ (((pfc_right_choice_old_value)=0))))) /\ (((t)=pfc_left_choice_old_value*pfc_right_choice_old_value))))))))))specialize hold_witness_witness (j)apply hold_witness_witnessexact hcase_rightcases hpcases hp_witnessexists x5splitspecialize hnew_witness_witness_right (j)specialize hnew_witness_witness_right (x5)apply hnew_witness_witness_rightexact hcase_rightexact hp_witness_leftexact hp_witness_right
polynomial_diagonal_term_exists · unchanged support, not a new admission
forall ab ac L bb bc M i j. (exists pfa_gap_term_index. pfa_gap_term_index + S (j) = (S i)) -> exists t. (exists pfc_complement_term_exists pfc_left_term_exists pfc_right_term_exists. (((j)+pfc_complement_term_exists=(i)) /\ ((((((exists pfa_gap_term_existsleftinside. pfa_gap_term_existsleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_existsleftentry. ff_h_pfp_term_existsleftentry + S (pfc_left_term_exists) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_existsleftentry. ab = ff_q_pfp_term_existsleftentry * S ((S (j)) * ac) + (pfc_left_term_exists)))))) \/ (((exists pfc_gap_term_existsleftoutside. pfc_gap_term_existsleftoutside+(L)=(j)) /\ (((pfc_left_term_exists)=0))))) /\ ((((((exists pfa_gap_term_existsrightinside. pfa_gap_term_existsrightinside + S (pfc_complement_term_exists) = (M)) /\ ((((exists ff_h_pfp_term_existsrightentry. ff_h_pfp_term_existsrightentry + S (pfc_right_term_exists) = S ((S (pfc_complement_term_exists)) * bc)) /\ exists ff_q_pfp_term_existsrightentry. bb = ff_q_pfp_term_existsrightentry * S ((S (pfc_complement_term_exists)) * bc) + (pfc_right_term_exists)))))) \/ (((exists pfc_gap_term_existsrightoutside. pfc_gap_term_existsrightoutside+(M)=(pfc_complement_term_exists)) /\ (((pfc_right_term_exists)=0))))) /\ (((t)=pfc_left_term_exists*pfc_right_term_exists))))))))
intro abintro acintro Lintro bbintro bcintro Mintro iintro jintro hjhave hk : exists k. k+j=ispecialize le_of_succ_le_succ (j)specialize le_of_succ_le_succ (i)apply le_of_succ_le_succexact hjcases hkhave ha : exists a. ((((exists pfa_gap_term_chosen_leftinside. pfa_gap_term_chosen_leftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_chosen_leftentry. ff_h_pfp_term_chosen_leftentry + S (a) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_chosen_leftentry. ab = ff_q_pfp_term_chosen_leftentry * S ((S (j)) * ac) + (a)))))) \/ (((exists pfc_gap_term_chosen_leftoutside. pfc_gap_term_chosen_leftoutside+(L)=(j)) /\ (((a)=0)))))specialize polynomial_zero_extended_entry_exists (ab)specialize polynomial_zero_extended_entry_exists (ac)specialize polynomial_zero_extended_entry_exists (L)specialize polynomial_zero_extended_entry_exists (j)apply polynomial_zero_extended_entry_existscases hahave hb : exists b. ((((exists pfa_gap_term_chosen_rightinside. pfa_gap_term_chosen_rightinside + S (x) = (M)) /\ ((((exists ff_h_pfp_term_chosen_rightentry. ff_h_pfp_term_chosen_rightentry + S (b) = S ((S (x)) * bc)) /\ exists ff_q_pfp_term_chosen_rightentry. bb = ff_q_pfp_term_chosen_rightentry * S ((S (x)) * bc) + (b)))))) \/ (((exists pfc_gap_term_chosen_rightoutside. pfc_gap_term_chosen_rightoutside+(M)=(x)) /\ (((b)=0)))))specialize polynomial_zero_extended_entry_exists (bb)specialize polynomial_zero_extended_entry_exists (bc)specialize polynomial_zero_extended_entry_exists (M)specialize polynomial_zero_extended_entry_exists (x)apply polynomial_zero_extended_entry_existscases hbexists x1*x2exists xexists x1exists x2splittrans x+jspecialize add_comm (j)specialize add_comm (x)apply add_commexact hk_witnesssplitexact ha_witnesssplitexact hb_witnessrefl
polynomial_diagonal_prefix_exists · unchanged support, not a new admission
forall ab ac L bb bc M I. exists db dc. (forall pfc_index_diagonal_exists. (exists pfa_gap_diagonal_existsbound. pfa_gap_diagonal_existsbound + S (pfc_index_diagonal_exists) = (S I)) -> exists pfc_value_diagonal_exists. ((((exists ff_h_pfp_diagonal_existsentry. ff_h_pfp_diagonal_existsentry + S (pfc_value_diagonal_exists) = S ((S (pfc_index_diagonal_exists)) * dc)) /\ exists ff_q_pfp_diagonal_existsentry. db = ff_q_pfp_diagonal_existsentry * S ((S (pfc_index_diagonal_exists)) * dc) + (pfc_value_diagonal_exists))) /\ ((exists pfc_complement_diagonal_existsterm pfc_left_diagonal_existsterm pfc_right_diagonal_existsterm. (((pfc_index_diagonal_exists)+pfc_complement_diagonal_existsterm=(I)) /\ ((((((exists pfa_gap_diagonal_existstermleftinside. pfa_gap_diagonal_existstermleftinside + S (pfc_index_diagonal_exists) = (L)) /\ ((((exists ff_h_pfp_diagonal_existstermleftentry. ff_h_pfp_diagonal_existstermleftentry + S (pfc_left_diagonal_existsterm) = S ((S (pfc_index_diagonal_exists)) * ac)) /\ exists ff_q_pfp_diagonal_existstermleftentry. ab = ff_q_pfp_diagonal_existstermleftentry * S ((S (pfc_index_diagonal_exists)) * ac) + (pfc_left_diagonal_existsterm)))))) \/ (((exists pfc_gap_diagonal_existstermleftoutside. pfc_gap_diagonal_existstermleftoutside+(L)=(pfc_index_diagonal_exists)) /\ (((pfc_left_diagonal_existsterm)=0))))) /\ ((((((exists pfa_gap_diagonal_existstermrightinside. pfa_gap_diagonal_existstermrightinside + S (pfc_complement_diagonal_existsterm) = (M)) /\ ((((exists ff_h_pfp_diagonal_existstermrightentry. ff_h_pfp_diagonal_existstermrightentry + S (pfc_right_diagonal_existsterm) = S ((S (pfc_complement_diagonal_existsterm)) * bc)) /\ exists ff_q_pfp_diagonal_existstermrightentry. bb = ff_q_pfp_diagonal_existstermrightentry * S ((S (pfc_complement_diagonal_existsterm)) * bc) + (pfc_right_diagonal_existsterm)))))) \/ (((exists pfc_gap_diagonal_existstermrightoutside. pfc_gap_diagonal_existstermrightoutside+(M)=(pfc_complement_diagonal_existsterm)) /\ (((pfc_right_diagonal_existsterm)=0))))) /\ (((pfc_value_diagonal_exists)=pfc_left_diagonal_existsterm*pfc_right_diagonal_existsterm)))))))))))
intro abintro acintro Lintro bbintro bcintro Mintro Ispecialize polynomial_diagonal_prefix_from_pointwise (ab)specialize polynomial_diagonal_prefix_from_pointwise (ac)specialize polynomial_diagonal_prefix_from_pointwise (L)specialize polynomial_diagonal_prefix_from_pointwise (bb)specialize polynomial_diagonal_prefix_from_pointwise (bc)specialize polynomial_diagonal_prefix_from_pointwise (M)specialize polynomial_diagonal_prefix_from_pointwise (I)specialize polynomial_diagonal_prefix_from_pointwise (S I)apply polynomial_diagonal_prefix_from_pointwiseintro jintro hjspecialize polynomial_diagonal_term_exists (ab)specialize polynomial_diagonal_term_exists (ac)specialize polynomial_diagonal_term_exists (L)specialize polynomial_diagonal_term_exists (bb)specialize polynomial_diagonal_term_exists (bc)specialize polynomial_diagonal_term_exists (M)specialize polynomial_diagonal_term_exists (I)specialize polynomial_diagonal_term_exists (j)apply polynomial_diagonal_term_existsexact hj
prime_field_convolution_coefficient_exists · unchanged support, not a new admission
forall p ab ac L bb bc M i. ~(p=0) -> exists r. (exists pfc_terms_code_coefficient_exists pfc_terms_scale_coefficient_exists pfc_natural_sum_coefficient_exists. ((forall pfc_index_coefficient_existsdiagonal. (exists pfa_gap_coefficient_existsdiagonalbound. pfa_gap_coefficient_existsdiagonalbound + S (pfc_index_coefficient_existsdiagonal) = (S (i))) -> exists pfc_value_coefficient_existsdiagonal. ((((exists ff_h_pfp_coefficient_existsdiagonalentry. ff_h_pfp_coefficient_existsdiagonalentry + S (pfc_value_coefficient_existsdiagonal) = S ((S (pfc_index_coefficient_existsdiagonal)) * pfc_terms_scale_coefficient_exists)) /\ exists ff_q_pfp_coefficient_existsdiagonalentry. pfc_terms_code_coefficient_exists = ff_q_pfp_coefficient_existsdiagonalentry * S ((S (pfc_index_coefficient_existsdiagonal)) * pfc_terms_scale_coefficient_exists) + (pfc_value_coefficient_existsdiagonal))) /\ ((exists pfc_complement_coefficient_existsdiagonalterm pfc_left_coefficient_existsdiagonalterm pfc_right_coefficient_existsdiagonalterm. (((pfc_index_coefficient_existsdiagonal)+pfc_complement_coefficient_existsdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_existsdiagonaltermleftinside. pfa_gap_coefficient_existsdiagonaltermleftinside + S (pfc_index_coefficient_existsdiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_existsdiagonaltermleftentry. ff_h_pfp_coefficient_existsdiagonaltermleftentry + S (pfc_left_coefficient_existsdiagonalterm) = S ((S (pfc_index_coefficient_existsdiagonal)) * ac)) /\ exists ff_q_pfp_coefficient_existsdiagonaltermleftentry. ab = ff_q_pfp_coefficient_existsdiagonaltermleftentry * S ((S (pfc_index_coefficient_existsdiagonal)) * ac) + (pfc_left_coefficient_existsdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_existsdiagonaltermleftoutside. pfc_gap_coefficient_existsdiagonaltermleftoutside+(L)=(pfc_index_coefficient_existsdiagonal)) /\ (((pfc_left_coefficient_existsdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_existsdiagonaltermrightinside. pfa_gap_coefficient_existsdiagonaltermrightinside + S (pfc_complement_coefficient_existsdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_existsdiagonaltermrightentry. ff_h_pfp_coefficient_existsdiagonaltermrightentry + S (pfc_right_coefficient_existsdiagonalterm) = S ((S (pfc_complement_coefficient_existsdiagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_existsdiagonaltermrightentry. bb = ff_q_pfp_coefficient_existsdiagonaltermrightentry * S ((S (pfc_complement_coefficient_existsdiagonalterm)) * bc) + (pfc_right_coefficient_existsdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_existsdiagonaltermrightoutside. pfc_gap_coefficient_existsdiagonaltermrightoutside+(M)=(pfc_complement_coefficient_existsdiagonalterm)) /\ (((pfc_right_coefficient_existsdiagonalterm)=0))))) /\ (((pfc_value_coefficient_existsdiagonal)=pfc_left_coefficient_existsdiagonalterm*pfc_right_coefficient_existsdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_existssum fs_v_pfc_coefficient_existssum. ((((exists fs_h_pfc_coefficient_existssum_body_start. fs_h_pfc_coefficient_existssum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_existssum)) /\ exists fs_q_pfc_coefficient_existssum_body_start. fs_u_pfc_coefficient_existssum = fs_q_pfc_coefficient_existssum_body_start * S ((S (0)) * fs_v_pfc_coefficient_existssum) + (0))) /\ ((((exists fs_h_pfc_coefficient_existssum_body_terminal. fs_h_pfc_coefficient_existssum_body_terminal + S (pfc_natural_sum_coefficient_exists) = S ((S (S (i))) * fs_v_pfc_coefficient_existssum)) /\ exists fs_q_pfc_coefficient_existssum_body_terminal. fs_u_pfc_coefficient_existssum = fs_q_pfc_coefficient_existssum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_existssum) + (pfc_natural_sum_coefficient_exists))) /\ forall fs_i_pfc_coefficient_existssum_body_steps. (exists fs_lt_pfc_coefficient_existssum_body_steps_bound. fs_lt_pfc_coefficient_existssum_body_steps_bound + S fs_i_pfc_coefficient_existssum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_existssum_body_steps fs_r_pfc_coefficient_existssum_body_steps fs_s_pfc_coefficient_existssum_body_steps. ((((exists fs_h_pfc_coefficient_existssum_body_steps_summand. fs_h_pfc_coefficient_existssum_body_steps_summand + S (fs_a_pfc_coefficient_existssum_body_steps) = S ((S (fs_i_pfc_coefficient_existssum_body_steps)) * pfc_terms_scale_coefficient_exists)) /\ exists fs_q_pfc_coefficient_existssum_body_steps_summand. pfc_terms_code_coefficient_exists = fs_q_pfc_coefficient_existssum_body_steps_summand * S ((S (fs_i_pfc_coefficient_existssum_body_steps)) * pfc_terms_scale_coefficient_exists) + (fs_a_pfc_coefficient_existssum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_existssum_body_steps_partial. fs_h_pfc_coefficient_existssum_body_steps_partial + S (fs_r_pfc_coefficient_existssum_body_steps) = S ((S (fs_i_pfc_coefficient_existssum_body_steps)) * fs_v_pfc_coefficient_existssum)) /\ exists fs_q_pfc_coefficient_existssum_body_steps_partial. fs_u_pfc_coefficient_existssum = fs_q_pfc_coefficient_existssum_body_steps_partial * S ((S (fs_i_pfc_coefficient_existssum_body_steps)) * fs_v_pfc_coefficient_existssum) + (fs_r_pfc_coefficient_existssum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_existssum_body_steps_successor. fs_h_pfc_coefficient_existssum_body_steps_successor + S (fs_s_pfc_coefficient_existssum_body_steps) = S ((S (S fs_i_pfc_coefficient_existssum_body_steps)) * fs_v_pfc_coefficient_existssum)) /\ exists fs_q_pfc_coefficient_existssum_body_steps_successor. fs_u_pfc_coefficient_existssum = fs_q_pfc_coefficient_existssum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_existssum_body_steps)) * fs_v_pfc_coefficient_existssum) + (fs_s_pfc_coefficient_existssum_body_steps))) /\ fs_s_pfc_coefficient_existssum_body_steps = fs_r_pfc_coefficient_existssum_body_steps + fs_a_pfc_coefficient_existssum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_existsresiduebound. pfa_gap_coefficient_existsresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_coefficient_existsresiduecongruence pfa_offset_right_coefficient_existsresiduecongruence. (pfc_natural_sum_coefficient_exists) + (p) * pfa_offset_left_coefficient_existsresiduecongruence = (r) + (p) * pfa_offset_right_coefficient_existsresiduecongruence)))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro iintro hphave hd : exists db dc. (forall pfc_index_coefficient_diagonal. (exists pfa_gap_coefficient_diagonalbound. pfa_gap_coefficient_diagonalbound + S (pfc_index_coefficient_diagonal) = (S i)) -> exists pfc_value_coefficient_diagonal. ((((exists ff_h_pfp_coefficient_diagonalentry. ff_h_pfp_coefficient_diagonalentry + S (pfc_value_coefficient_diagonal) = S ((S (pfc_index_coefficient_diagonal)) * dc)) /\ exists ff_q_pfp_coefficient_diagonalentry. db = ff_q_pfp_coefficient_diagonalentry * S ((S (pfc_index_coefficient_diagonal)) * dc) + (pfc_value_coefficient_diagonal))) /\ ((exists pfc_complement_coefficient_diagonalterm pfc_left_coefficient_diagonalterm pfc_right_coefficient_diagonalterm. (((pfc_index_coefficient_diagonal)+pfc_complement_coefficient_diagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_diagonaltermleftinside. pfa_gap_coefficient_diagonaltermleftinside + S (pfc_index_coefficient_diagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_diagonaltermleftentry. ff_h_pfp_coefficient_diagonaltermleftentry + S (pfc_left_coefficient_diagonalterm) = S ((S (pfc_index_coefficient_diagonal)) * ac)) /\ exists ff_q_pfp_coefficient_diagonaltermleftentry. ab = ff_q_pfp_coefficient_diagonaltermleftentry * S ((S (pfc_index_coefficient_diagonal)) * ac) + (pfc_left_coefficient_diagonalterm)))))) \/ (((exists pfc_gap_coefficient_diagonaltermleftoutside. pfc_gap_coefficient_diagonaltermleftoutside+(L)=(pfc_index_coefficient_diagonal)) /\ (((pfc_left_coefficient_diagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_diagonaltermrightinside. pfa_gap_coefficient_diagonaltermrightinside + S (pfc_complement_coefficient_diagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_diagonaltermrightentry. ff_h_pfp_coefficient_diagonaltermrightentry + S (pfc_right_coefficient_diagonalterm) = S ((S (pfc_complement_coefficient_diagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_diagonaltermrightentry. bb = ff_q_pfp_coefficient_diagonaltermrightentry * S ((S (pfc_complement_coefficient_diagonalterm)) * bc) + (pfc_right_coefficient_diagonalterm)))))) \/ (((exists pfc_gap_coefficient_diagonaltermrightoutside. pfc_gap_coefficient_diagonaltermrightoutside+(M)=(pfc_complement_coefficient_diagonalterm)) /\ (((pfc_right_coefficient_diagonalterm)=0))))) /\ (((pfc_value_coefficient_diagonal)=pfc_left_coefficient_diagonalterm*pfc_right_coefficient_diagonalterm)))))))))))specialize polynomial_diagonal_prefix_exists (ab)specialize polynomial_diagonal_prefix_exists (ac)specialize polynomial_diagonal_prefix_exists (L)specialize polynomial_diagonal_prefix_exists (bb)specialize polynomial_diagonal_prefix_exists (bc)specialize polynomial_diagonal_prefix_exists (M)specialize polynomial_diagonal_prefix_exists (i)apply polynomial_diagonal_prefix_existscases hdcases hd_witnesshave hs : exists n. (exists fs_u_pfc_coefficient_sum fs_v_pfc_coefficient_sum. ((((exists fs_h_pfc_coefficient_sum_body_start. fs_h_pfc_coefficient_sum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_sum)) /\ exists fs_q_pfc_coefficient_sum_body_start. fs_u_pfc_coefficient_sum = fs_q_pfc_coefficient_sum_body_start * S ((S (0)) * fs_v_pfc_coefficient_sum) + (0))) /\ ((((exists fs_h_pfc_coefficient_sum_body_terminal. fs_h_pfc_coefficient_sum_body_terminal + S (n) = S ((S (S i)) * fs_v_pfc_coefficient_sum)) /\ exists fs_q_pfc_coefficient_sum_body_terminal. fs_u_pfc_coefficient_sum = fs_q_pfc_coefficient_sum_body_terminal * S ((S (S i)) * fs_v_pfc_coefficient_sum) + (n))) /\ forall fs_i_pfc_coefficient_sum_body_steps. (exists fs_lt_pfc_coefficient_sum_body_steps_bound. fs_lt_pfc_coefficient_sum_body_steps_bound + S fs_i_pfc_coefficient_sum_body_steps = S i) -> exists fs_a_pfc_coefficient_sum_body_steps fs_r_pfc_coefficient_sum_body_steps fs_s_pfc_coefficient_sum_body_steps. ((((exists fs_h_pfc_coefficient_sum_body_steps_summand. fs_h_pfc_coefficient_sum_body_steps_summand + S (fs_a_pfc_coefficient_sum_body_steps) = S ((S (fs_i_pfc_coefficient_sum_body_steps)) * x1)) /\ exists fs_q_pfc_coefficient_sum_body_steps_summand. x = fs_q_pfc_coefficient_sum_body_steps_summand * S ((S (fs_i_pfc_coefficient_sum_body_steps)) * x1) + (fs_a_pfc_coefficient_sum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_sum_body_steps_partial. fs_h_pfc_coefficient_sum_body_steps_partial + S (fs_r_pfc_coefficient_sum_body_steps) = S ((S (fs_i_pfc_coefficient_sum_body_steps)) * fs_v_pfc_coefficient_sum)) /\ exists fs_q_pfc_coefficient_sum_body_steps_partial. fs_u_pfc_coefficient_sum = fs_q_pfc_coefficient_sum_body_steps_partial * S ((S (fs_i_pfc_coefficient_sum_body_steps)) * fs_v_pfc_coefficient_sum) + (fs_r_pfc_coefficient_sum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_sum_body_steps_successor. fs_h_pfc_coefficient_sum_body_steps_successor + S (fs_s_pfc_coefficient_sum_body_steps) = S ((S (S fs_i_pfc_coefficient_sum_body_steps)) * fs_v_pfc_coefficient_sum)) /\ exists fs_q_pfc_coefficient_sum_body_steps_successor. fs_u_pfc_coefficient_sum = fs_q_pfc_coefficient_sum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_sum_body_steps)) * fs_v_pfc_coefficient_sum) + (fs_s_pfc_coefficient_sum_body_steps))) /\ fs_s_pfc_coefficient_sum_body_steps = fs_r_pfc_coefficient_sum_body_steps + fs_a_pfc_coefficient_sum_body_steps))))))specialize beta_sum_exists (x)specialize beta_sum_exists (x1)specialize beta_sum_exists (S i)apply beta_sum_existscases hshave hr : exists r. (((exists pfa_gap_coefficient_residuebound. pfa_gap_coefficient_residuebound + S (r) = (p)) /\ ((exists pfa_offset_left_coefficient_residuecongruence pfa_offset_right_coefficient_residuecongruence. (x2) + (p) * pfa_offset_left_coefficient_residuecongruence = (r) + (p) * pfa_offset_right_coefficient_residuecongruence))))specialize hensel_canonical_residue_exists (p)specialize hensel_canonical_residue_exists (x2)apply hensel_canonical_residue_existsexact hpcases hrexists x3exists xexists x1exists x2splitexact hd_witness_witnesssplitexact hs_witnessexact hr_witness
prime_field_convolution_prefix_exists · unchanged support, not a new admission
forall p ab ac L bb bc M N. ~(p=0) -> exists cb cc. (forall pfc_index_convolution_prefix_exists. (exists pfa_gap_convolution_prefix_existsbound. pfa_gap_convolution_prefix_existsbound + S (pfc_index_convolution_prefix_exists) = (N)) -> exists pfc_value_convolution_prefix_exists. ((((exists ff_h_pfp_convolution_prefix_existsentry. ff_h_pfp_convolution_prefix_existsentry + S (pfc_value_convolution_prefix_exists) = S ((S (pfc_index_convolution_prefix_exists)) * cc)) /\ exists ff_q_pfp_convolution_prefix_existsentry. cb = ff_q_pfp_convolution_prefix_existsentry * S ((S (pfc_index_convolution_prefix_exists)) * cc) + (pfc_value_convolution_prefix_exists))) /\ ((exists pfc_terms_code_convolution_prefix_existscoefficient pfc_terms_scale_convolution_prefix_existscoefficient pfc_natural_sum_convolution_prefix_existscoefficient. ((forall pfc_index_convolution_prefix_existscoefficientdiagonal. (exists pfa_gap_convolution_prefix_existscoefficientdiagonalbound. pfa_gap_convolution_prefix_existscoefficientdiagonalbound + S (pfc_index_convolution_prefix_existscoefficientdiagonal) = (S (pfc_index_convolution_prefix_exists))) -> exists pfc_value_convolution_prefix_existscoefficientdiagonal. ((((exists ff_h_pfp_convolution_prefix_existscoefficientdiagonalentry. ff_h_pfp_convolution_prefix_existscoefficientdiagonalentry + S (pfc_value_convolution_prefix_existscoefficientdiagonal) = S ((S (pfc_index_convolution_prefix_existscoefficientdiagonal)) * pfc_terms_scale_convolution_prefix_existscoefficient)) /\ exists ff_q_pfp_convolution_prefix_existscoefficientdiagonalentry. pfc_terms_code_convolution_prefix_existscoefficient = ff_q_pfp_convolution_prefix_existscoefficientdiagonalentry * S ((S (pfc_index_convolution_prefix_existscoefficientdiagonal)) * pfc_terms_scale_convolution_prefix_existscoefficient) + (pfc_value_convolution_prefix_existscoefficientdiagonal))) /\ ((exists pfc_complement_convolution_prefix_existscoefficientdiagonalterm pfc_left_convolution_prefix_existscoefficientdiagonalterm pfc_right_convolution_prefix_existscoefficientdiagonalterm. (((pfc_index_convolution_prefix_existscoefficientdiagonal)+pfc_complement_convolution_prefix_existscoefficientdiagonalterm=(pfc_index_convolution_prefix_exists)) /\ ((((((exists pfa_gap_convolution_prefix_existscoefficientdiagonaltermleftinside. pfa_gap_convolution_prefix_existscoefficientdiagonaltermleftinside + S (pfc_index_convolution_prefix_existscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_prefix_existscoefficientdiagonaltermleftentry. ff_h_pfp_convolution_prefix_existscoefficientdiagonaltermleftentry + S (pfc_left_convolution_prefix_existscoefficientdiagonalterm) = S ((S (pfc_index_convolution_prefix_existscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_prefix_existscoefficientdiagonaltermleftentry. ab = ff_q_pfp_convolution_prefix_existscoefficientdiagonaltermleftentry * S ((S (pfc_index_convolution_prefix_existscoefficientdiagonal)) * ac) + (pfc_left_convolution_prefix_existscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_prefix_existscoefficientdiagonaltermleftoutside. pfc_gap_convolution_prefix_existscoefficientdiagonaltermleftoutside+(L)=(pfc_index_convolution_prefix_existscoefficientdiagonal)) /\ (((pfc_left_convolution_prefix_existscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_prefix_existscoefficientdiagonaltermrightinside. pfa_gap_convolution_prefix_existscoefficientdiagonaltermrightinside + S (pfc_complement_convolution_prefix_existscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_prefix_existscoefficientdiagonaltermrightentry. ff_h_pfp_convolution_prefix_existscoefficientdiagonaltermrightentry + S (pfc_right_convolution_prefix_existscoefficientdiagonalterm) = S ((S (pfc_complement_convolution_prefix_existscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_prefix_existscoefficientdiagonaltermrightentry. bb = ff_q_pfp_convolution_prefix_existscoefficientdiagonaltermrightentry * S ((S (pfc_complement_convolution_prefix_existscoefficientdiagonalterm)) * bc) + (pfc_right_convolution_prefix_existscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_prefix_existscoefficientdiagonaltermrightoutside. pfc_gap_convolution_prefix_existscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_convolution_prefix_existscoefficientdiagonalterm)) /\ (((pfc_right_convolution_prefix_existscoefficientdiagonalterm)=0))))) /\ (((pfc_value_convolution_prefix_existscoefficientdiagonal)=pfc_left_convolution_prefix_existscoefficientdiagonalterm*pfc_right_convolution_prefix_existscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_prefix_existscoefficientsum fs_v_pfc_convolution_prefix_existscoefficientsum. ((((exists fs_h_pfc_convolution_prefix_existscoefficientsum_body_start. fs_h_pfc_convolution_prefix_existscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_prefix_existscoefficientsum)) /\ exists fs_q_pfc_convolution_prefix_existscoefficientsum_body_start. fs_u_pfc_convolution_prefix_existscoefficientsum = fs_q_pfc_convolution_prefix_existscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_convolution_prefix_existscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_convolution_prefix_existscoefficientsum_body_terminal. fs_h_pfc_convolution_prefix_existscoefficientsum_body_terminal + S (pfc_natural_sum_convolution_prefix_existscoefficient) = S ((S (S (pfc_index_convolution_prefix_exists))) * fs_v_pfc_convolution_prefix_existscoefficientsum)) /\ exists fs_q_pfc_convolution_prefix_existscoefficientsum_body_terminal. fs_u_pfc_convolution_prefix_existscoefficientsum = fs_q_pfc_convolution_prefix_existscoefficientsum_body_terminal * S ((S (S (pfc_index_convolution_prefix_exists))) * fs_v_pfc_convolution_prefix_existscoefficientsum) + (pfc_natural_sum_convolution_prefix_existscoefficient))) /\ forall fs_i_pfc_convolution_prefix_existscoefficientsum_body_steps. (exists fs_lt_pfc_convolution_prefix_existscoefficientsum_body_steps_bound. fs_lt_pfc_convolution_prefix_existscoefficientsum_body_steps_bound + S fs_i_pfc_convolution_prefix_existscoefficientsum_body_steps = S (pfc_index_convolution_prefix_exists)) -> exists fs_a_pfc_convolution_prefix_existscoefficientsum_body_steps fs_r_pfc_convolution_prefix_existscoefficientsum_body_steps fs_s_pfc_convolution_prefix_existscoefficientsum_body_steps. ((((exists fs_h_pfc_convolution_prefix_existscoefficientsum_body_steps_summand. fs_h_pfc_convolution_prefix_existscoefficientsum_body_steps_summand + S (fs_a_pfc_convolution_prefix_existscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_prefix_existscoefficientsum_body_steps)) * pfc_terms_scale_convolution_prefix_existscoefficient)) /\ exists fs_q_pfc_convolution_prefix_existscoefficientsum_body_steps_summand. pfc_terms_code_convolution_prefix_existscoefficient = fs_q_pfc_convolution_prefix_existscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_convolution_prefix_existscoefficientsum_body_steps)) * pfc_terms_scale_convolution_prefix_existscoefficient) + (fs_a_pfc_convolution_prefix_existscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_prefix_existscoefficientsum_body_steps_partial. fs_h_pfc_convolution_prefix_existscoefficientsum_body_steps_partial + S (fs_r_pfc_convolution_prefix_existscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_prefix_existscoefficientsum_body_steps)) * fs_v_pfc_convolution_prefix_existscoefficientsum)) /\ exists fs_q_pfc_convolution_prefix_existscoefficientsum_body_steps_partial. fs_u_pfc_convolution_prefix_existscoefficientsum = fs_q_pfc_convolution_prefix_existscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_convolution_prefix_existscoefficientsum_body_steps)) * fs_v_pfc_convolution_prefix_existscoefficientsum) + (fs_r_pfc_convolution_prefix_existscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_prefix_existscoefficientsum_body_steps_successor. fs_h_pfc_convolution_prefix_existscoefficientsum_body_steps_successor + S (fs_s_pfc_convolution_prefix_existscoefficientsum_body_steps) = S ((S (S fs_i_pfc_convolution_prefix_existscoefficientsum_body_steps)) * fs_v_pfc_convolution_prefix_existscoefficientsum)) /\ exists fs_q_pfc_convolution_prefix_existscoefficientsum_body_steps_successor. fs_u_pfc_convolution_prefix_existscoefficientsum = fs_q_pfc_convolution_prefix_existscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_prefix_existscoefficientsum_body_steps)) * fs_v_pfc_convolution_prefix_existscoefficientsum) + (fs_s_pfc_convolution_prefix_existscoefficientsum_body_steps))) /\ fs_s_pfc_convolution_prefix_existscoefficientsum_body_steps = fs_r_pfc_convolution_prefix_existscoefficientsum_body_steps + fs_a_pfc_convolution_prefix_existscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_prefix_existscoefficientresiduebound. pfa_gap_convolution_prefix_existscoefficientresiduebound + S (pfc_value_convolution_prefix_exists) = (p)) /\ ((exists pfa_offset_left_convolution_prefix_existscoefficientresiduecongruence pfa_offset_right_convolution_prefix_existscoefficientresiduecongruence. (pfc_natural_sum_convolution_prefix_existscoefficient) + (p) * pfa_offset_left_convolution_prefix_existscoefficientresiduecongruence = (pfc_value_convolution_prefix_exists) + (p) * pfa_offset_right_convolution_prefix_existscoefficientresiduecongruence))))))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro Nintro hpspecialize prime_field_convolution_prefix_from_pointwise (p)specialize prime_field_convolution_prefix_from_pointwise (ab)specialize prime_field_convolution_prefix_from_pointwise (ac)specialize prime_field_convolution_prefix_from_pointwise (L)specialize prime_field_convolution_prefix_from_pointwise (bb)specialize prime_field_convolution_prefix_from_pointwise (bc)specialize prime_field_convolution_prefix_from_pointwise (M)specialize prime_field_convolution_prefix_from_pointwise (N)apply prime_field_convolution_prefix_from_pointwiseintro iintro hispecialize prime_field_convolution_coefficient_exists (p)specialize prime_field_convolution_coefficient_exists (ab)specialize prime_field_convolution_coefficient_exists (ac)specialize prime_field_convolution_coefficient_exists (L)specialize prime_field_convolution_coefficient_exists (bb)specialize prime_field_convolution_coefficient_exists (bc)specialize prime_field_convolution_coefficient_exists (M)specialize prime_field_convolution_coefficient_exists (i)apply prime_field_convolution_coefficient_existsexact hp
prime_field_polynomial_convolution_at_length_exists · unchanged support, not a new admission
forall p ab ac L bb bc M N. ~(p=0) -> (forall fom_index_pfp_convolution_exists_left. (exists fom_gap_pfp_convolution_exists_left_index_bound. fom_gap_pfp_convolution_exists_left_index_bound + S (fom_index_pfp_convolution_exists_left) = L) -> exists fom_value_pfp_convolution_exists_left. ((((exists fom_beta_height_pfp_convolution_exists_left_entry. fom_beta_height_pfp_convolution_exists_left_entry + S (fom_value_pfp_convolution_exists_left) = S ((S (fom_index_pfp_convolution_exists_left)) * ac)) /\ exists fom_beta_quotient_pfp_convolution_exists_left_entry. ab = fom_beta_quotient_pfp_convolution_exists_left_entry * S ((S (fom_index_pfp_convolution_exists_left)) * ac) + (fom_value_pfp_convolution_exists_left))) /\ (exists fom_gap_pfp_convolution_exists_left_value_bound. fom_gap_pfp_convolution_exists_left_value_bound + S (fom_value_pfp_convolution_exists_left) = p))) -> (forall fom_index_pfp_convolution_exists_right. (exists fom_gap_pfp_convolution_exists_right_index_bound. fom_gap_pfp_convolution_exists_right_index_bound + S (fom_index_pfp_convolution_exists_right) = M) -> exists fom_value_pfp_convolution_exists_right. ((((exists fom_beta_height_pfp_convolution_exists_right_entry. fom_beta_height_pfp_convolution_exists_right_entry + S (fom_value_pfp_convolution_exists_right) = S ((S (fom_index_pfp_convolution_exists_right)) * bc)) /\ exists fom_beta_quotient_pfp_convolution_exists_right_entry. bb = fom_beta_quotient_pfp_convolution_exists_right_entry * S ((S (fom_index_pfp_convolution_exists_right)) * bc) + (fom_value_pfp_convolution_exists_right))) /\ (exists fom_gap_pfp_convolution_exists_right_value_bound. fom_gap_pfp_convolution_exists_right_value_bound + S (fom_value_pfp_convolution_exists_right) = p))) -> (((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) -> exists cb cc. (((forall fom_index_pfp_convolution_exists_resultleft. (exists fom_gap_pfp_convolution_exists_resultleft_index_bound. fom_gap_pfp_convolution_exists_resultleft_index_bound + S (fom_index_pfp_convolution_exists_resultleft) = L) -> exists fom_value_pfp_convolution_exists_resultleft. ((((exists fom_beta_height_pfp_convolution_exists_resultleft_entry. fom_beta_height_pfp_convolution_exists_resultleft_entry + S (fom_value_pfp_convolution_exists_resultleft) = S ((S (fom_index_pfp_convolution_exists_resultleft)) * ac)) /\ exists fom_beta_quotient_pfp_convolution_exists_resultleft_entry. ab = fom_beta_quotient_pfp_convolution_exists_resultleft_entry * S ((S (fom_index_pfp_convolution_exists_resultleft)) * ac) + (fom_value_pfp_convolution_exists_resultleft))) /\ (exists fom_gap_pfp_convolution_exists_resultleft_value_bound. fom_gap_pfp_convolution_exists_resultleft_value_bound + S (fom_value_pfp_convolution_exists_resultleft) = p))) /\ (((forall fom_index_pfp_convolution_exists_resultright. (exists fom_gap_pfp_convolution_exists_resultright_index_bound. fom_gap_pfp_convolution_exists_resultright_index_bound + S (fom_index_pfp_convolution_exists_resultright) = M) -> exists fom_value_pfp_convolution_exists_resultright. ((((exists fom_beta_height_pfp_convolution_exists_resultright_entry. fom_beta_height_pfp_convolution_exists_resultright_entry + S (fom_value_pfp_convolution_exists_resultright) = S ((S (fom_index_pfp_convolution_exists_resultright)) * bc)) /\ exists fom_beta_quotient_pfp_convolution_exists_resultright_entry. bb = fom_beta_quotient_pfp_convolution_exists_resultright_entry * S ((S (fom_index_pfp_convolution_exists_resultright)) * bc) + (fom_value_pfp_convolution_exists_resultright))) /\ (exists fom_gap_pfp_convolution_exists_resultright_value_bound. fom_gap_pfp_convolution_exists_resultright_value_bound + S (fom_value_pfp_convolution_exists_resultright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_convolution_exists_resultcoefficients. (exists pfa_gap_convolution_exists_resultcoefficientsbound. pfa_gap_convolution_exists_resultcoefficientsbound + S (pfc_index_convolution_exists_resultcoefficients) = (N)) -> exists pfc_value_convolution_exists_resultcoefficients. ((((exists ff_h_pfp_convolution_exists_resultcoefficientsentry. ff_h_pfp_convolution_exists_resultcoefficientsentry + S (pfc_value_convolution_exists_resultcoefficients) = S ((S (pfc_index_convolution_exists_resultcoefficients)) * cc)) /\ exists ff_q_pfp_convolution_exists_resultcoefficientsentry. cb = ff_q_pfp_convolution_exists_resultcoefficientsentry * S ((S (pfc_index_convolution_exists_resultcoefficients)) * cc) + (pfc_value_convolution_exists_resultcoefficients))) /\ ((exists pfc_terms_code_convolution_exists_resultcoefficientscoefficient pfc_terms_scale_convolution_exists_resultcoefficientscoefficient pfc_natural_sum_convolution_exists_resultcoefficientscoefficient. ((forall pfc_index_convolution_exists_resultcoefficientscoefficientdiagonal. (exists pfa_gap_convolution_exists_resultcoefficientscoefficientdiagonalbound. pfa_gap_convolution_exists_resultcoefficientscoefficientdiagonalbound + S (pfc_index_convolution_exists_resultcoefficientscoefficientdiagonal) = (S (pfc_index_convolution_exists_resultcoefficients))) -> exists pfc_value_convolution_exists_resultcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_convolution_exists_resultcoefficientscoefficientdiagonalentry. ff_h_pfp_convolution_exists_resultcoefficientscoefficientdiagonalentry + S (pfc_value_convolution_exists_resultcoefficientscoefficientdiagonal) = S ((S (pfc_index_convolution_exists_resultcoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_exists_resultcoefficientscoefficient)) /\ exists ff_q_pfp_convolution_exists_resultcoefficientscoefficientdiagonalentry. pfc_terms_code_convolution_exists_resultcoefficientscoefficient = ff_q_pfp_convolution_exists_resultcoefficientscoefficientdiagonalentry * S ((S (pfc_index_convolution_exists_resultcoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_exists_resultcoefficientscoefficient) + (pfc_value_convolution_exists_resultcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_convolution_exists_resultcoefficientscoefficientdiagonalterm pfc_left_convolution_exists_resultcoefficientscoefficientdiagonalterm pfc_right_convolution_exists_resultcoefficientscoefficientdiagonalterm. (((pfc_index_convolution_exists_resultcoefficientscoefficientdiagonal)+pfc_complement_convolution_exists_resultcoefficientscoefficientdiagonalterm=(pfc_index_convolution_exists_resultcoefficients)) /\ ((((((exists pfa_gap_convolution_exists_resultcoefficientscoefficientdiagonaltermleftinside. pfa_gap_convolution_exists_resultcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_convolution_exists_resultcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_exists_resultcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_convolution_exists_resultcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_convolution_exists_resultcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_convolution_exists_resultcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_exists_resultcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_convolution_exists_resultcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_convolution_exists_resultcoefficientscoefficientdiagonal)) * ac) + (pfc_left_convolution_exists_resultcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_exists_resultcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_convolution_exists_resultcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_convolution_exists_resultcoefficientscoefficientdiagonal)) /\ (((pfc_left_convolution_exists_resultcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_exists_resultcoefficientscoefficientdiagonaltermrightinside. pfa_gap_convolution_exists_resultcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_convolution_exists_resultcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_exists_resultcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_convolution_exists_resultcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_convolution_exists_resultcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_convolution_exists_resultcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_exists_resultcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_convolution_exists_resultcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_convolution_exists_resultcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_convolution_exists_resultcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_exists_resultcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_convolution_exists_resultcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_convolution_exists_resultcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_convolution_exists_resultcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_convolution_exists_resultcoefficientscoefficientdiagonal)=pfc_left_convolution_exists_resultcoefficientscoefficientdiagonalterm*pfc_right_convolution_exists_resultcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_exists_resultcoefficientscoefficientsum fs_v_pfc_convolution_exists_resultcoefficientscoefficientsum. ((((exists fs_h_pfc_convolution_exists_resultcoefficientscoefficientsum_body_start. fs_h_pfc_convolution_exists_resultcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_exists_resultcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_exists_resultcoefficientscoefficientsum_body_start. fs_u_pfc_convolution_exists_resultcoefficientscoefficientsum = fs_q_pfc_convolution_exists_resultcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_convolution_exists_resultcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_convolution_exists_resultcoefficientscoefficientsum_body_terminal. fs_h_pfc_convolution_exists_resultcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_convolution_exists_resultcoefficientscoefficient) = S ((S (S (pfc_index_convolution_exists_resultcoefficients))) * fs_v_pfc_convolution_exists_resultcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_exists_resultcoefficientscoefficientsum_body_terminal. fs_u_pfc_convolution_exists_resultcoefficientscoefficientsum = fs_q_pfc_convolution_exists_resultcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_convolution_exists_resultcoefficients))) * fs_v_pfc_convolution_exists_resultcoefficientscoefficientsum) + (pfc_natural_sum_convolution_exists_resultcoefficientscoefficient))) /\ forall fs_i_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps = S (pfc_index_convolution_exists_resultcoefficients)) -> exists fs_a_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps fs_r_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps fs_s_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_exists_resultcoefficientscoefficient)) /\ exists fs_q_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_convolution_exists_resultcoefficientscoefficient = fs_q_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_exists_resultcoefficientscoefficient) + (fs_a_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_exists_resultcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_convolution_exists_resultcoefficientscoefficientsum = fs_q_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_exists_resultcoefficientscoefficientsum) + (fs_r_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_exists_resultcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_convolution_exists_resultcoefficientscoefficientsum = fs_q_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_exists_resultcoefficientscoefficientsum) + (fs_s_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps = fs_r_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps + fs_a_pfc_convolution_exists_resultcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_exists_resultcoefficientscoefficientresiduebound. pfa_gap_convolution_exists_resultcoefficientscoefficientresiduebound + S (pfc_value_convolution_exists_resultcoefficients) = (p)) /\ ((exists pfa_offset_left_convolution_exists_resultcoefficientscoefficientresiduecongruence pfa_offset_right_convolution_exists_resultcoefficientscoefficientresiduecongruence. (pfc_natural_sum_convolution_exists_resultcoefficientscoefficient) + (p) * pfa_offset_left_convolution_exists_resultcoefficientscoefficientresiduecongruence = (pfc_value_convolution_exists_resultcoefficients) + (p) * pfa_offset_right_convolution_exists_resultcoefficientscoefficientresiduecongruence)))))))))))))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro Nintro hpintro haintro hbintro hlenhave hc : exists cb cc. (forall pfc_index_convolution_exists_prefix. (exists pfa_gap_convolution_exists_prefixbound. pfa_gap_convolution_exists_prefixbound + S (pfc_index_convolution_exists_prefix) = (N)) -> exists pfc_value_convolution_exists_prefix. ((((exists ff_h_pfp_convolution_exists_prefixentry. ff_h_pfp_convolution_exists_prefixentry + S (pfc_value_convolution_exists_prefix) = S ((S (pfc_index_convolution_exists_prefix)) * cc)) /\ exists ff_q_pfp_convolution_exists_prefixentry. cb = ff_q_pfp_convolution_exists_prefixentry * S ((S (pfc_index_convolution_exists_prefix)) * cc) + (pfc_value_convolution_exists_prefix))) /\ ((exists pfc_terms_code_convolution_exists_prefixcoefficient pfc_terms_scale_convolution_exists_prefixcoefficient pfc_natural_sum_convolution_exists_prefixcoefficient. ((forall pfc_index_convolution_exists_prefixcoefficientdiagonal. (exists pfa_gap_convolution_exists_prefixcoefficientdiagonalbound. pfa_gap_convolution_exists_prefixcoefficientdiagonalbound + S (pfc_index_convolution_exists_prefixcoefficientdiagonal) = (S (pfc_index_convolution_exists_prefix))) -> exists pfc_value_convolution_exists_prefixcoefficientdiagonal. ((((exists ff_h_pfp_convolution_exists_prefixcoefficientdiagonalentry. ff_h_pfp_convolution_exists_prefixcoefficientdiagonalentry + S (pfc_value_convolution_exists_prefixcoefficientdiagonal) = S ((S (pfc_index_convolution_exists_prefixcoefficientdiagonal)) * pfc_terms_scale_convolution_exists_prefixcoefficient)) /\ exists ff_q_pfp_convolution_exists_prefixcoefficientdiagonalentry. pfc_terms_code_convolution_exists_prefixcoefficient = ff_q_pfp_convolution_exists_prefixcoefficientdiagonalentry * S ((S (pfc_index_convolution_exists_prefixcoefficientdiagonal)) * pfc_terms_scale_convolution_exists_prefixcoefficient) + (pfc_value_convolution_exists_prefixcoefficientdiagonal))) /\ ((exists pfc_complement_convolution_exists_prefixcoefficientdiagonalterm pfc_left_convolution_exists_prefixcoefficientdiagonalterm pfc_right_convolution_exists_prefixcoefficientdiagonalterm. (((pfc_index_convolution_exists_prefixcoefficientdiagonal)+pfc_complement_convolution_exists_prefixcoefficientdiagonalterm=(pfc_index_convolution_exists_prefix)) /\ ((((((exists pfa_gap_convolution_exists_prefixcoefficientdiagonaltermleftinside. pfa_gap_convolution_exists_prefixcoefficientdiagonaltermleftinside + S (pfc_index_convolution_exists_prefixcoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_exists_prefixcoefficientdiagonaltermleftentry. ff_h_pfp_convolution_exists_prefixcoefficientdiagonaltermleftentry + S (pfc_left_convolution_exists_prefixcoefficientdiagonalterm) = S ((S (pfc_index_convolution_exists_prefixcoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_exists_prefixcoefficientdiagonaltermleftentry. ab = ff_q_pfp_convolution_exists_prefixcoefficientdiagonaltermleftentry * S ((S (pfc_index_convolution_exists_prefixcoefficientdiagonal)) * ac) + (pfc_left_convolution_exists_prefixcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_exists_prefixcoefficientdiagonaltermleftoutside. pfc_gap_convolution_exists_prefixcoefficientdiagonaltermleftoutside+(L)=(pfc_index_convolution_exists_prefixcoefficientdiagonal)) /\ (((pfc_left_convolution_exists_prefixcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_exists_prefixcoefficientdiagonaltermrightinside. pfa_gap_convolution_exists_prefixcoefficientdiagonaltermrightinside + S (pfc_complement_convolution_exists_prefixcoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_exists_prefixcoefficientdiagonaltermrightentry. ff_h_pfp_convolution_exists_prefixcoefficientdiagonaltermrightentry + S (pfc_right_convolution_exists_prefixcoefficientdiagonalterm) = S ((S (pfc_complement_convolution_exists_prefixcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_exists_prefixcoefficientdiagonaltermrightentry. bb = ff_q_pfp_convolution_exists_prefixcoefficientdiagonaltermrightentry * S ((S (pfc_complement_convolution_exists_prefixcoefficientdiagonalterm)) * bc) + (pfc_right_convolution_exists_prefixcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_exists_prefixcoefficientdiagonaltermrightoutside. pfc_gap_convolution_exists_prefixcoefficientdiagonaltermrightoutside+(M)=(pfc_complement_convolution_exists_prefixcoefficientdiagonalterm)) /\ (((pfc_right_convolution_exists_prefixcoefficientdiagonalterm)=0))))) /\ (((pfc_value_convolution_exists_prefixcoefficientdiagonal)=pfc_left_convolution_exists_prefixcoefficientdiagonalterm*pfc_right_convolution_exists_prefixcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_exists_prefixcoefficientsum fs_v_pfc_convolution_exists_prefixcoefficientsum. ((((exists fs_h_pfc_convolution_exists_prefixcoefficientsum_body_start. fs_h_pfc_convolution_exists_prefixcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_exists_prefixcoefficientsum)) /\ exists fs_q_pfc_convolution_exists_prefixcoefficientsum_body_start. fs_u_pfc_convolution_exists_prefixcoefficientsum = fs_q_pfc_convolution_exists_prefixcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_convolution_exists_prefixcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_convolution_exists_prefixcoefficientsum_body_terminal. fs_h_pfc_convolution_exists_prefixcoefficientsum_body_terminal + S (pfc_natural_sum_convolution_exists_prefixcoefficient) = S ((S (S (pfc_index_convolution_exists_prefix))) * fs_v_pfc_convolution_exists_prefixcoefficientsum)) /\ exists fs_q_pfc_convolution_exists_prefixcoefficientsum_body_terminal. fs_u_pfc_convolution_exists_prefixcoefficientsum = fs_q_pfc_convolution_exists_prefixcoefficientsum_body_terminal * S ((S (S (pfc_index_convolution_exists_prefix))) * fs_v_pfc_convolution_exists_prefixcoefficientsum) + (pfc_natural_sum_convolution_exists_prefixcoefficient))) /\ forall fs_i_pfc_convolution_exists_prefixcoefficientsum_body_steps. (exists fs_lt_pfc_convolution_exists_prefixcoefficientsum_body_steps_bound. fs_lt_pfc_convolution_exists_prefixcoefficientsum_body_steps_bound + S fs_i_pfc_convolution_exists_prefixcoefficientsum_body_steps = S (pfc_index_convolution_exists_prefix)) -> exists fs_a_pfc_convolution_exists_prefixcoefficientsum_body_steps fs_r_pfc_convolution_exists_prefixcoefficientsum_body_steps fs_s_pfc_convolution_exists_prefixcoefficientsum_body_steps. ((((exists fs_h_pfc_convolution_exists_prefixcoefficientsum_body_steps_summand. fs_h_pfc_convolution_exists_prefixcoefficientsum_body_steps_summand + S (fs_a_pfc_convolution_exists_prefixcoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_exists_prefixcoefficientsum_body_steps)) * pfc_terms_scale_convolution_exists_prefixcoefficient)) /\ exists fs_q_pfc_convolution_exists_prefixcoefficientsum_body_steps_summand. pfc_terms_code_convolution_exists_prefixcoefficient = fs_q_pfc_convolution_exists_prefixcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_convolution_exists_prefixcoefficientsum_body_steps)) * pfc_terms_scale_convolution_exists_prefixcoefficient) + (fs_a_pfc_convolution_exists_prefixcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_exists_prefixcoefficientsum_body_steps_partial. fs_h_pfc_convolution_exists_prefixcoefficientsum_body_steps_partial + S (fs_r_pfc_convolution_exists_prefixcoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_exists_prefixcoefficientsum_body_steps)) * fs_v_pfc_convolution_exists_prefixcoefficientsum)) /\ exists fs_q_pfc_convolution_exists_prefixcoefficientsum_body_steps_partial. fs_u_pfc_convolution_exists_prefixcoefficientsum = fs_q_pfc_convolution_exists_prefixcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_convolution_exists_prefixcoefficientsum_body_steps)) * fs_v_pfc_convolution_exists_prefixcoefficientsum) + (fs_r_pfc_convolution_exists_prefixcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_exists_prefixcoefficientsum_body_steps_successor. fs_h_pfc_convolution_exists_prefixcoefficientsum_body_steps_successor + S (fs_s_pfc_convolution_exists_prefixcoefficientsum_body_steps) = S ((S (S fs_i_pfc_convolution_exists_prefixcoefficientsum_body_steps)) * fs_v_pfc_convolution_exists_prefixcoefficientsum)) /\ exists fs_q_pfc_convolution_exists_prefixcoefficientsum_body_steps_successor. fs_u_pfc_convolution_exists_prefixcoefficientsum = fs_q_pfc_convolution_exists_prefixcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_exists_prefixcoefficientsum_body_steps)) * fs_v_pfc_convolution_exists_prefixcoefficientsum) + (fs_s_pfc_convolution_exists_prefixcoefficientsum_body_steps))) /\ fs_s_pfc_convolution_exists_prefixcoefficientsum_body_steps = fs_r_pfc_convolution_exists_prefixcoefficientsum_body_steps + fs_a_pfc_convolution_exists_prefixcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_exists_prefixcoefficientresiduebound. pfa_gap_convolution_exists_prefixcoefficientresiduebound + S (pfc_value_convolution_exists_prefix) = (p)) /\ ((exists pfa_offset_left_convolution_exists_prefixcoefficientresiduecongruence pfa_offset_right_convolution_exists_prefixcoefficientresiduecongruence. (pfc_natural_sum_convolution_exists_prefixcoefficient) + (p) * pfa_offset_left_convolution_exists_prefixcoefficientresiduecongruence = (pfc_value_convolution_exists_prefix) + (p) * pfa_offset_right_convolution_exists_prefixcoefficientresiduecongruence))))))))))))specialize prime_field_convolution_prefix_exists (p)specialize prime_field_convolution_prefix_exists (ab)specialize prime_field_convolution_prefix_exists (ac)specialize prime_field_convolution_prefix_exists (L)specialize prime_field_convolution_prefix_exists (bb)specialize prime_field_convolution_prefix_exists (bc)specialize prime_field_convolution_prefix_exists (M)specialize prime_field_convolution_prefix_exists (N)apply prime_field_convolution_prefix_existsexact hpcases hccases hc_witnessexists xexists x1splitexact hasplitexact hbsplitexact hlenexact hc_witness_witness
polynomial_zero_extended_entry_inside · unchanged support, not a new admission
forall b c L i a. (exists pfa_gap_pad_inside_bound. pfa_gap_pad_inside_bound + S (i) = (L)) -> ((((exists pfa_gap_pad_inside_sourceinside. pfa_gap_pad_inside_sourceinside + S (i) = (L)) /\ ((((exists ff_h_pfp_pad_inside_sourceentry. ff_h_pfp_pad_inside_sourceentry + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_pad_inside_sourceentry. b = ff_q_pfp_pad_inside_sourceentry * S ((S (i)) * c) + (a)))))) \/ (((exists pfc_gap_pad_inside_sourceoutside. pfc_gap_pad_inside_sourceoutside+(L)=(i)) /\ (((a)=0))))) -> (((exists ff_h_pfp_pad_inside_result. ff_h_pfp_pad_inside_result + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_pad_inside_result. b = ff_q_pfp_pad_inside_result * S ((S (i)) * c) + (a)))
intro bintro cintro Lintro iintro aintro hiintro hacases hacases ha_leftexact ha_left_rightcases ha_rightexfalsospecialize lt_not_le (i)specialize lt_not_le (L)apply lt_not_leexact hiexact ha_right_left
prime_field_polynomial_scale_entry · unchanged support, not a new admission
forall p k ab ac bb bc l i a r. (((exists pfa_gap_scale_entry_tablescalar. pfa_gap_scale_entry_tablescalar + S (k) = (p)) /\ ((forall pfp_index_scale_entry_table. (exists pfa_gap_scale_entry_tableindex. pfa_gap_scale_entry_tableindex + S (pfp_index_scale_entry_table) = (l)) -> exists pfp_source_scale_entry_table pfp_value_scale_entry_table. ((((exists ff_h_pfp_scale_entry_tablesource. ff_h_pfp_scale_entry_tablesource + S (pfp_source_scale_entry_table) = S ((S (pfp_index_scale_entry_table)) * ac)) /\ exists ff_q_pfp_scale_entry_tablesource. ab = ff_q_pfp_scale_entry_tablesource * S ((S (pfp_index_scale_entry_table)) * ac) + (pfp_source_scale_entry_table))) /\ (((((exists ff_h_pfp_scale_entry_tabletarget. ff_h_pfp_scale_entry_tabletarget + S (pfp_value_scale_entry_table) = S ((S (pfp_index_scale_entry_table)) * bc)) /\ exists ff_q_pfp_scale_entry_tabletarget. bb = ff_q_pfp_scale_entry_tabletarget * S ((S (pfp_index_scale_entry_table)) * bc) + (pfp_value_scale_entry_table))) /\ ((((exists pfa_gap_scale_entry_tableoperationleft. pfa_gap_scale_entry_tableoperationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_entry_tableoperationright. pfa_gap_scale_entry_tableoperationright + S (pfp_source_scale_entry_table) = (p)) /\ ((((exists pfa_gap_scale_entry_tableoperationresultbound. pfa_gap_scale_entry_tableoperationresultbound + S (pfp_value_scale_entry_table) = (p)) /\ ((exists pfa_offset_left_scale_entry_tableoperationresultcongruence pfa_offset_right_scale_entry_tableoperationresultcongruence. ((k) * (pfp_source_scale_entry_table)) + (p) * pfa_offset_left_scale_entry_tableoperationresultcongruence = (pfp_value_scale_entry_table) + (p) * pfa_offset_right_scale_entry_tableoperationresultcongruence))))))))))))))))) -> (exists pfa_gap_scale_entry_index. pfa_gap_scale_entry_index + S (i) = (l)) -> (((exists ff_h_pfp_scale_entry_input. ff_h_pfp_scale_entry_input + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_scale_entry_input. ab = ff_q_pfp_scale_entry_input * S ((S (i)) * ac) + (a))) -> (((exists ff_h_pfp_scale_entry_output. ff_h_pfp_scale_entry_output + S (r) = S ((S (i)) * bc)) /\ exists ff_q_pfp_scale_entry_output. bb = ff_q_pfp_scale_entry_output * S ((S (i)) * bc) + (r))) -> (((exists pfa_gap_scale_entry_valueleft. pfa_gap_scale_entry_valueleft + S (k) = (p)) /\ (((exists pfa_gap_scale_entry_valueright. pfa_gap_scale_entry_valueright + S (a) = (p)) /\ ((((exists pfa_gap_scale_entry_valueresultbound. pfa_gap_scale_entry_valueresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_scale_entry_valueresultcongruence pfa_offset_right_scale_entry_valueresultcongruence. ((k) * (a)) + (p) * pfa_offset_left_scale_entry_valueresultcongruence = (r) + (p) * pfa_offset_right_scale_entry_valueresultcongruence)))))))))
intro pintro kintro abintro acintro bbintro bcintro lintro iintro aintro rintro hintro hiintro haintro hrcases hhave hv : exists u v. ((((exists ff_h_pfp_scale_entry_source. ff_h_pfp_scale_entry_source + S (u) = S ((S (i)) * ac)) /\ exists ff_q_pfp_scale_entry_source. ab = ff_q_pfp_scale_entry_source * S ((S (i)) * ac) + (u))) /\ (((((exists ff_h_pfp_scale_entry_target. ff_h_pfp_scale_entry_target + S (v) = S ((S (i)) * bc)) /\ exists ff_q_pfp_scale_entry_target. bb = ff_q_pfp_scale_entry_target * S ((S (i)) * bc) + (v))) /\ ((((exists pfa_gap_scale_entry_operationleft. pfa_gap_scale_entry_operationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_entry_operationright. pfa_gap_scale_entry_operationright + S (u) = (p)) /\ ((((exists pfa_gap_scale_entry_operationresultbound. pfa_gap_scale_entry_operationresultbound + S (v) = (p)) /\ ((exists pfa_offset_left_scale_entry_operationresultcongruence pfa_offset_right_scale_entry_operationresultcongruence. ((k) * (u)) + (p) * pfa_offset_left_scale_entry_operationresultcongruence = (v) + (p) * pfa_offset_right_scale_entry_operationresultcongruence)))))))))))))specialize h_right (i)apply h_rightexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_righthave heq0 : x=aspecialize beta_at_unique (ab)specialize beta_at_unique (ac)specialize beta_at_unique (i)specialize beta_at_unique (x)specialize beta_at_unique (a)apply beta_at_uniqueexact hv_witness_witness_leftexact harewrite heq0 at hv_witness_witness_right_rightrewrite heq0 at hv_witness_witness_right_righthave heq1 : x1=rspecialize beta_at_unique (bb)specialize beta_at_unique (bc)specialize beta_at_unique (i)specialize beta_at_unique (x1)specialize beta_at_unique (r)apply beta_at_uniqueexact hv_witness_witness_right_leftexact hrrewrite heq1 at hv_witness_witness_right_rightrewrite heq1 at hv_witness_witness_right_rightexact hv_witness_witness_right_right
polynomial_product_length_functional · unchanged support, not a new admission
forall L M N K. (((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) -> (((((L)=0 \/ (M)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (K)))))))) -> N=K
intro Lintro Mintro Nintro Kintro hnintro hkcases hncases hn_leftcases hkcases hk_lefttrans 0exact hn_left_rightsymmexact hk_left_rightcases hk_rightcases hk_right_rightcases hn_left_leftexfalsoapply hk_right_leftexact hn_left_left_leftexfalsoapply hk_right_right_leftexact hn_left_left_rightcases hn_rightcases hn_right_rightcases hkcases hk_leftcases hk_left_leftexfalsoapply hn_right_leftexact hk_left_left_leftexfalsoapply hn_right_right_leftexact hk_left_left_rightcases hk_rightcases hk_right_rightapply PA2trans L+Msymmexact hn_right_right_rightexact hk_right_right_right
prime_field_multiply_functional · unchanged support, not a new admission
forall p a b c d. (((exists pfa_gap_multiplyfirstleft. pfa_gap_multiplyfirstleft + S (a) = (p)) /\ (((exists pfa_gap_multiplyfirstright. pfa_gap_multiplyfirstright + S (b) = (p)) /\ ((((exists pfa_gap_multiplyfirstresultbound. pfa_gap_multiplyfirstresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_multiplyfirstresultcongruence pfa_offset_right_multiplyfirstresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_multiplyfirstresultcongruence = (c) + (p) * pfa_offset_right_multiplyfirstresultcongruence))))))))) -> (((exists pfa_gap_multiplysecondleft. pfa_gap_multiplysecondleft + S (a) = (p)) /\ (((exists pfa_gap_multiplysecondright. pfa_gap_multiplysecondright + S (b) = (p)) /\ ((((exists pfa_gap_multiplysecondresultbound. pfa_gap_multiplysecondresultbound + S (d) = (p)) /\ ((exists pfa_offset_left_multiplysecondresultcongruence pfa_offset_right_multiplysecondresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_multiplysecondresultcongruence = (d) + (p) * pfa_offset_right_multiplysecondresultcongruence))))))))) -> c = d
intro pintro aintro bintro cintro dintro hcintro hdcases hccases hc_rightcases hdcases hd_rightspecialize binary_canonical_residue_functional (p)specialize binary_canonical_residue_functional (a * b)specialize binary_canonical_residue_functional (c)specialize binary_canonical_residue_functional (d)apply binary_canonical_residue_functionalexact hc_right_rightexact hd_right_right
prime_field_polynomial_scale_functional · unchanged support, not a new admission
forall p k ab ac bb bc cb cc l. (((exists pfa_gap_scale_functional_firstscalar. pfa_gap_scale_functional_firstscalar + S (k) = (p)) /\ ((forall pfp_index_scale_functional_first. (exists pfa_gap_scale_functional_firstindex. pfa_gap_scale_functional_firstindex + S (pfp_index_scale_functional_first) = (l)) -> exists pfp_source_scale_functional_first pfp_value_scale_functional_first. ((((exists ff_h_pfp_scale_functional_firstsource. ff_h_pfp_scale_functional_firstsource + S (pfp_source_scale_functional_first) = S ((S (pfp_index_scale_functional_first)) * ac)) /\ exists ff_q_pfp_scale_functional_firstsource. ab = ff_q_pfp_scale_functional_firstsource * S ((S (pfp_index_scale_functional_first)) * ac) + (pfp_source_scale_functional_first))) /\ (((((exists ff_h_pfp_scale_functional_firsttarget. ff_h_pfp_scale_functional_firsttarget + S (pfp_value_scale_functional_first) = S ((S (pfp_index_scale_functional_first)) * bc)) /\ exists ff_q_pfp_scale_functional_firsttarget. bb = ff_q_pfp_scale_functional_firsttarget * S ((S (pfp_index_scale_functional_first)) * bc) + (pfp_value_scale_functional_first))) /\ ((((exists pfa_gap_scale_functional_firstoperationleft. pfa_gap_scale_functional_firstoperationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_functional_firstoperationright. pfa_gap_scale_functional_firstoperationright + S (pfp_source_scale_functional_first) = (p)) /\ ((((exists pfa_gap_scale_functional_firstoperationresultbound. pfa_gap_scale_functional_firstoperationresultbound + S (pfp_value_scale_functional_first) = (p)) /\ ((exists pfa_offset_left_scale_functional_firstoperationresultcongruence pfa_offset_right_scale_functional_firstoperationresultcongruence. ((k) * (pfp_source_scale_functional_first)) + (p) * pfa_offset_left_scale_functional_firstoperationresultcongruence = (pfp_value_scale_functional_first) + (p) * pfa_offset_right_scale_functional_firstoperationresultcongruence))))))))))))))))) -> (((exists pfa_gap_scale_functional_secondscalar. pfa_gap_scale_functional_secondscalar + S (k) = (p)) /\ ((forall pfp_index_scale_functional_second. (exists pfa_gap_scale_functional_secondindex. pfa_gap_scale_functional_secondindex + S (pfp_index_scale_functional_second) = (l)) -> exists pfp_source_scale_functional_second pfp_value_scale_functional_second. ((((exists ff_h_pfp_scale_functional_secondsource. ff_h_pfp_scale_functional_secondsource + S (pfp_source_scale_functional_second) = S ((S (pfp_index_scale_functional_second)) * ac)) /\ exists ff_q_pfp_scale_functional_secondsource. ab = ff_q_pfp_scale_functional_secondsource * S ((S (pfp_index_scale_functional_second)) * ac) + (pfp_source_scale_functional_second))) /\ (((((exists ff_h_pfp_scale_functional_secondtarget. ff_h_pfp_scale_functional_secondtarget + S (pfp_value_scale_functional_second) = S ((S (pfp_index_scale_functional_second)) * cc)) /\ exists ff_q_pfp_scale_functional_secondtarget. cb = ff_q_pfp_scale_functional_secondtarget * S ((S (pfp_index_scale_functional_second)) * cc) + (pfp_value_scale_functional_second))) /\ ((((exists pfa_gap_scale_functional_secondoperationleft. pfa_gap_scale_functional_secondoperationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_functional_secondoperationright. pfa_gap_scale_functional_secondoperationright + S (pfp_source_scale_functional_second) = (p)) /\ ((((exists pfa_gap_scale_functional_secondoperationresultbound. pfa_gap_scale_functional_secondoperationresultbound + S (pfp_value_scale_functional_second) = (p)) /\ ((exists pfa_offset_left_scale_functional_secondoperationresultcongruence pfa_offset_right_scale_functional_secondoperationresultcongruence. ((k) * (pfp_source_scale_functional_second)) + (p) * pfa_offset_left_scale_functional_secondoperationresultcongruence = (pfp_value_scale_functional_second) + (p) * pfa_offset_right_scale_functional_secondoperationresultcongruence))))))))))))))))) -> (forall mdr_i_pfp_scale_functional_result mdr_a_pfp_scale_functional_result. (exists mdr_gap_pfp_scale_functional_resultb. mdr_gap_pfp_scale_functional_resultb + S (mdr_i_pfp_scale_functional_result) = (l)) -> (((exists ff_h_mdr_pfp_scale_functional_resulto. ff_h_mdr_pfp_scale_functional_resulto + S (mdr_a_pfp_scale_functional_result) = S ((S (mdr_i_pfp_scale_functional_result)) * bc)) /\ exists ff_q_mdr_pfp_scale_functional_resulto. bb = ff_q_mdr_pfp_scale_functional_resulto * S ((S (mdr_i_pfp_scale_functional_result)) * bc) + (mdr_a_pfp_scale_functional_result))) -> (((exists ff_h_mdr_pfp_scale_functional_resultn. ff_h_mdr_pfp_scale_functional_resultn + S (mdr_a_pfp_scale_functional_result) = S ((S (mdr_i_pfp_scale_functional_result)) * cc)) /\ exists ff_q_mdr_pfp_scale_functional_resultn. cb = ff_q_mdr_pfp_scale_functional_resultn * S ((S (mdr_i_pfp_scale_functional_result)) * cc) + (mdr_a_pfp_scale_functional_result))))
intro pintro kintro abintro acintro bbintro bcintro cbintro ccintro lintro hbintro hcintro iintro rintro hiintro hrhave ha : exists a. (((exists ff_h_pfp_scale_functional_a. ff_h_pfp_scale_functional_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_scale_functional_a. ab = ff_q_pfp_scale_functional_a * S ((S (i)) * ac) + (a)))specialize beta_at_exists (ab)specialize beta_at_exists (ac)specialize beta_at_exists (i)apply beta_at_existscases hahave hs : exists s. (((exists ff_h_pfp_scale_functional_s. ff_h_pfp_scale_functional_s + S (s) = S ((S (i)) * cc)) /\ exists ff_q_pfp_scale_functional_s. cb = ff_q_pfp_scale_functional_s * S ((S (i)) * cc) + (s)))specialize beta_at_exists (cb)specialize beta_at_exists (cc)specialize beta_at_exists (i)apply beta_at_existscases hshave heq : r=x1specialize prime_field_multiply_functional (p)specialize prime_field_multiply_functional (k)specialize prime_field_multiply_functional (x)specialize prime_field_multiply_functional (r)specialize prime_field_multiply_functional (x1)apply prime_field_multiply_functionalspecialize prime_field_polynomial_scale_entry (p)specialize prime_field_polynomial_scale_entry (k)specialize prime_field_polynomial_scale_entry (ab)specialize prime_field_polynomial_scale_entry (ac)specialize prime_field_polynomial_scale_entry (bb)specialize prime_field_polynomial_scale_entry (bc)specialize prime_field_polynomial_scale_entry (l)specialize prime_field_polynomial_scale_entry (i)specialize prime_field_polynomial_scale_entry (x)specialize prime_field_polynomial_scale_entry (r)apply prime_field_polynomial_scale_entryexact hbexact hiexact ha_witnessexact hrspecialize prime_field_polynomial_scale_entry (p)specialize prime_field_polynomial_scale_entry (k)specialize prime_field_polynomial_scale_entry (ab)specialize prime_field_polynomial_scale_entry (ac)specialize prime_field_polynomial_scale_entry (cb)specialize prime_field_polynomial_scale_entry (cc)specialize prime_field_polynomial_scale_entry (l)specialize prime_field_polynomial_scale_entry (i)specialize prime_field_polynomial_scale_entry (x)specialize prime_field_polynomial_scale_entry (x1)apply prime_field_polynomial_scale_entryexact hcexact hiexact ha_witnessexact hs_witnessrewrite heqrewrite heqexact hs_witness
prime_field_polynomial_normalization_from_division · unchanged support, not a new admission
forall p b c qb qc rb rc l. (forall fdp_index_pfp_division. (exists gsp_lt_gap_pfp_division_index_bound. gsp_lt_gap_pfp_division_index_bound + S fdp_index_pfp_division = l) -> exists fdp_value_pfp_division fdp_quotient_pfp_division fdp_remainder_pfp_division. (((exists ff_h_fdp_pfp_division_source. ff_h_fdp_pfp_division_source + S (fdp_value_pfp_division) = S ((S (fdp_index_pfp_division)) * c)) /\ exists ff_q_fdp_pfp_division_source. b = ff_q_fdp_pfp_division_source * S ((S (fdp_index_pfp_division)) * c) + (fdp_value_pfp_division))) /\ ((((exists ff_h_fdp_pfp_division_quotient_entry. ff_h_fdp_pfp_division_quotient_entry + S (fdp_quotient_pfp_division) = S ((S (fdp_index_pfp_division)) * qc)) /\ exists ff_q_fdp_pfp_division_quotient_entry. qb = ff_q_fdp_pfp_division_quotient_entry * S ((S (fdp_index_pfp_division)) * qc) + (fdp_quotient_pfp_division))) /\ ((((exists ff_h_fdp_pfp_division_remainder_entry. ff_h_fdp_pfp_division_remainder_entry + S (fdp_remainder_pfp_division) = S ((S (fdp_index_pfp_division)) * rc)) /\ exists ff_q_fdp_pfp_division_remainder_entry. rb = ff_q_fdp_pfp_division_remainder_entry * S ((S (fdp_index_pfp_division)) * rc) + (fdp_remainder_pfp_division))) /\ (fdp_value_pfp_division = p * fdp_quotient_pfp_division + fdp_remainder_pfp_division /\ (exists gsp_lt_gap_pfp_division_remainder_bound. gsp_lt_gap_pfp_division_remainder_bound + S fdp_remainder_pfp_division = p))))) -> (forall pfp_index_division_result. (exists pfa_gap_division_resultindex. pfa_gap_division_resultindex + S (pfp_index_division_result) = (l)) -> exists pfp_source_division_result pfp_residue_division_result. ((((exists ff_h_pfp_division_resultsource. ff_h_pfp_division_resultsource + S (pfp_source_division_result) = S ((S (pfp_index_division_result)) * c)) /\ exists ff_q_pfp_division_resultsource. b = ff_q_pfp_division_resultsource * S ((S (pfp_index_division_result)) * c) + (pfp_source_division_result))) /\ (((((exists ff_h_pfp_division_resulttarget. ff_h_pfp_division_resulttarget + S (pfp_residue_division_result) = S ((S (pfp_index_division_result)) * rc)) /\ exists ff_q_pfp_division_resulttarget. rb = ff_q_pfp_division_resulttarget * S ((S (pfp_index_division_result)) * rc) + (pfp_residue_division_result))) /\ ((((exists pfa_gap_division_resultresiduebound. pfa_gap_division_resultresiduebound + S (pfp_residue_division_result) = (p)) /\ ((exists pfa_offset_left_division_resultresiduecongruence pfa_offset_right_division_resultresiduecongruence. (pfp_source_division_result) + (p) * pfa_offset_left_division_resultresiduecongruence = (pfp_residue_division_result) + (p) * pfa_offset_right_division_resultresiduecongruence)))))))))
intro pintro bintro cintro qbintro qcintro rbintro rcintro lintro hintro iintro hihave hpoint : exists a q r. ((((exists ff_h_pfp_division_source. ff_h_pfp_division_source + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_division_source. b = ff_q_pfp_division_source * S ((S (i)) * c) + (a))) /\ (((((exists ff_h_pfp_division_quotient. ff_h_pfp_division_quotient + S (q) = S ((S (i)) * qc)) /\ exists ff_q_pfp_division_quotient. qb = ff_q_pfp_division_quotient * S ((S (i)) * qc) + (q))) /\ (((((exists ff_h_pfp_division_remainder. ff_h_pfp_division_remainder + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_division_remainder. rb = ff_q_pfp_division_remainder * S ((S (i)) * rc) + (r))) /\ (((a=p*q+r) /\ ((exists pfa_gap_division_bound. pfa_gap_division_bound + S (r) = (p))))))))))specialize h (i)apply hexact hicases hpointcases hpoint_witnesscases hpoint_witness_witnesscases hpoint_witness_witness_witnesscases hpoint_witness_witness_witness_rightcases hpoint_witness_witness_witness_right_rightcases hpoint_witness_witness_witness_right_right_rightexists xexists x2splitexact hpoint_witness_witness_witness_leftsplitexact hpoint_witness_witness_witness_right_right_leftsplitexact hpoint_witness_witness_witness_right_right_right_rightspecialize remainder_decomposition_to_mod_eq (p)specialize remainder_decomposition_to_mod_eq (x)specialize remainder_decomposition_to_mod_eq (x1)specialize remainder_decomposition_to_mod_eq (x2)apply remainder_decomposition_to_mod_eqtrans p*x1+x2exact hpoint_witness_witness_witness_right_right_right_leftcongrspecialize mul_comm (p)specialize mul_comm (x1)apply mul_commrefl
prime_field_polynomial_normalization_exists · unchanged support, not a new admission
forall p b c l. ~(p=0) -> exists d e. (forall pfp_index_exists. (exists pfa_gap_existsindex. pfa_gap_existsindex + S (pfp_index_exists) = (l)) -> exists pfp_source_exists pfp_residue_exists. ((((exists ff_h_pfp_existssource. ff_h_pfp_existssource + S (pfp_source_exists) = S ((S (pfp_index_exists)) * c)) /\ exists ff_q_pfp_existssource. b = ff_q_pfp_existssource * S ((S (pfp_index_exists)) * c) + (pfp_source_exists))) /\ (((((exists ff_h_pfp_existstarget. ff_h_pfp_existstarget + S (pfp_residue_exists) = S ((S (pfp_index_exists)) * e)) /\ exists ff_q_pfp_existstarget. d = ff_q_pfp_existstarget * S ((S (pfp_index_exists)) * e) + (pfp_residue_exists))) /\ ((((exists pfa_gap_existsresiduebound. pfa_gap_existsresiduebound + S (pfp_residue_exists) = (p)) /\ ((exists pfa_offset_left_existsresiduecongruence pfa_offset_right_existsresiduecongruence. (pfp_source_exists) + (p) * pfa_offset_left_existsresiduecongruence = (pfp_residue_exists) + (p) * pfa_offset_right_existsresiduecongruence)))))))))
intro pintro bintro cintro lintro hphave hd : exists qb qc rb rc. (forall fdp_index_pfp_exists_division. (exists gsp_lt_gap_pfp_exists_division_index_bound. gsp_lt_gap_pfp_exists_division_index_bound + S fdp_index_pfp_exists_division = l) -> exists fdp_value_pfp_exists_division fdp_quotient_pfp_exists_division fdp_remainder_pfp_exists_division. (((exists ff_h_fdp_pfp_exists_division_source. ff_h_fdp_pfp_exists_division_source + S (fdp_value_pfp_exists_division) = S ((S (fdp_index_pfp_exists_division)) * c)) /\ exists ff_q_fdp_pfp_exists_division_source. b = ff_q_fdp_pfp_exists_division_source * S ((S (fdp_index_pfp_exists_division)) * c) + (fdp_value_pfp_exists_division))) /\ ((((exists ff_h_fdp_pfp_exists_division_quotient_entry. ff_h_fdp_pfp_exists_division_quotient_entry + S (fdp_quotient_pfp_exists_division) = S ((S (fdp_index_pfp_exists_division)) * qc)) /\ exists ff_q_fdp_pfp_exists_division_quotient_entry. qb = ff_q_fdp_pfp_exists_division_quotient_entry * S ((S (fdp_index_pfp_exists_division)) * qc) + (fdp_quotient_pfp_exists_division))) /\ ((((exists ff_h_fdp_pfp_exists_division_remainder_entry. ff_h_fdp_pfp_exists_division_remainder_entry + S (fdp_remainder_pfp_exists_division) = S ((S (fdp_index_pfp_exists_division)) * rc)) /\ exists ff_q_fdp_pfp_exists_division_remainder_entry. rb = ff_q_fdp_pfp_exists_division_remainder_entry * S ((S (fdp_index_pfp_exists_division)) * rc) + (fdp_remainder_pfp_exists_division))) /\ (fdp_value_pfp_exists_division = p * fdp_quotient_pfp_exists_division + fdp_remainder_pfp_exists_division /\ (exists gsp_lt_gap_pfp_exists_division_remainder_bound. gsp_lt_gap_pfp_exists_division_remainder_bound + S fdp_remainder_pfp_exists_division = p)))))specialize beta_division_prefix_exists (p)specialize beta_division_prefix_exists (b)specialize beta_division_prefix_exists (c)specialize beta_division_prefix_exists (l)apply beta_division_prefix_existsexact hpcases hdcases hd_witnesscases hd_witness_witnesscases hd_witness_witness_witnessexists x2exists x3specialize prime_field_polynomial_normalization_from_division (p)specialize prime_field_polynomial_normalization_from_division (b)specialize prime_field_polynomial_normalization_from_division (c)specialize prime_field_polynomial_normalization_from_division (x)specialize prime_field_polynomial_normalization_from_division (x1)specialize prime_field_polynomial_normalization_from_division (x2)specialize prime_field_polynomial_normalization_from_division (x3)specialize prime_field_polynomial_normalization_from_division (l)apply prime_field_polynomial_normalization_from_divisionexact hd_witness_witness_witness_witness
prime_field_residue_input_equal · unchanged support, not a new admission
forall p n m r. n = m -> (((exists pfa_gap_input_equal_sourcebound. pfa_gap_input_equal_sourcebound + S (r) = (p)) /\ ((exists pfa_offset_left_input_equal_sourcecongruence pfa_offset_right_input_equal_sourcecongruence. (m) + (p) * pfa_offset_left_input_equal_sourcecongruence = (r) + (p) * pfa_offset_right_input_equal_sourcecongruence)))) -> (((exists pfa_gap_input_equal_targetbound. pfa_gap_input_equal_targetbound + S (r) = (p)) /\ ((exists pfa_offset_left_input_equal_targetcongruence pfa_offset_right_input_equal_targetcongruence. (n) + (p) * pfa_offset_left_input_equal_targetcongruence = (r) + (p) * pfa_offset_right_input_equal_targetcongruence))))
intro pintro nintro mintro rintro heqintro hrrewrite heqexact hr
prime_field_polynomial_scale_from_normalization · unchanged support, not a new admission
forall p k kb kc ab ac rb rc bb bc l. (exists pfa_gap_scale_scalar. pfa_gap_scale_scalar + S (k) = (p)) -> (forall fom_index_pfp_scale_source. (exists fom_gap_pfp_scale_source_index_bound. fom_gap_pfp_scale_source_index_bound + S (fom_index_pfp_scale_source) = l) -> exists fom_value_pfp_scale_source. ((((exists fom_beta_height_pfp_scale_source_entry. fom_beta_height_pfp_scale_source_entry + S (fom_value_pfp_scale_source) = S ((S (fom_index_pfp_scale_source)) * ac)) /\ exists fom_beta_quotient_pfp_scale_source_entry. ab = fom_beta_quotient_pfp_scale_source_entry * S ((S (fom_index_pfp_scale_source)) * ac) + (fom_value_pfp_scale_source))) /\ (exists fom_gap_pfp_scale_source_value_bound. fom_gap_pfp_scale_source_value_bound + S (fom_value_pfp_scale_source) = p))) -> (forall pfp_repeat_index_scale_repeated. (exists pfa_gap_scale_repeatedindex. pfa_gap_scale_repeatedindex + S (pfp_repeat_index_scale_repeated) = (l)) -> (((exists ff_h_pfp_scale_repeatedentry. ff_h_pfp_scale_repeatedentry + S (k) = S ((S (pfp_repeat_index_scale_repeated)) * kc)) /\ exists ff_q_pfp_scale_repeatedentry. kb = ff_q_pfp_scale_repeatedentry * S ((S (pfp_repeat_index_scale_repeated)) * kc) + (k)))) -> (forall fpmp_index_pfp_scale_raw fpmp_left_pfp_scale_raw fpmp_right_pfp_scale_raw fpmp_target_pfp_scale_raw. (exists fpmp_gap_pfp_scale_raw. fpmp_gap_pfp_scale_raw + S fpmp_index_pfp_scale_raw = l) -> (((exists ff_h_fpmp_pfp_scale_raw_left. ff_h_fpmp_pfp_scale_raw_left + S (fpmp_left_pfp_scale_raw) = S ((S (fpmp_index_pfp_scale_raw)) * kc)) /\ exists ff_q_fpmp_pfp_scale_raw_left. kb = ff_q_fpmp_pfp_scale_raw_left * S ((S (fpmp_index_pfp_scale_raw)) * kc) + (fpmp_left_pfp_scale_raw))) -> (((exists ff_h_fpmp_pfp_scale_raw_right. ff_h_fpmp_pfp_scale_raw_right + S (fpmp_right_pfp_scale_raw) = S ((S (fpmp_index_pfp_scale_raw)) * ac)) /\ exists ff_q_fpmp_pfp_scale_raw_right. ab = ff_q_fpmp_pfp_scale_raw_right * S ((S (fpmp_index_pfp_scale_raw)) * ac) + (fpmp_right_pfp_scale_raw))) -> (((exists ff_h_fpmp_pfp_scale_raw_target. ff_h_fpmp_pfp_scale_raw_target + S (fpmp_target_pfp_scale_raw) = S ((S (fpmp_index_pfp_scale_raw)) * rc)) /\ exists ff_q_fpmp_pfp_scale_raw_target. rb = ff_q_fpmp_pfp_scale_raw_target * S ((S (fpmp_index_pfp_scale_raw)) * rc) + (fpmp_target_pfp_scale_raw))) -> fpmp_target_pfp_scale_raw = fpmp_left_pfp_scale_raw * fpmp_right_pfp_scale_raw) -> (forall pfp_index_scale_normalize. (exists pfa_gap_scale_normalizeindex. pfa_gap_scale_normalizeindex + S (pfp_index_scale_normalize) = (l)) -> exists pfp_source_scale_normalize pfp_residue_scale_normalize. ((((exists ff_h_pfp_scale_normalizesource. ff_h_pfp_scale_normalizesource + S (pfp_source_scale_normalize) = S ((S (pfp_index_scale_normalize)) * rc)) /\ exists ff_q_pfp_scale_normalizesource. rb = ff_q_pfp_scale_normalizesource * S ((S (pfp_index_scale_normalize)) * rc) + (pfp_source_scale_normalize))) /\ (((((exists ff_h_pfp_scale_normalizetarget. ff_h_pfp_scale_normalizetarget + S (pfp_residue_scale_normalize) = S ((S (pfp_index_scale_normalize)) * bc)) /\ exists ff_q_pfp_scale_normalizetarget. bb = ff_q_pfp_scale_normalizetarget * S ((S (pfp_index_scale_normalize)) * bc) + (pfp_residue_scale_normalize))) /\ ((((exists pfa_gap_scale_normalizeresiduebound. pfa_gap_scale_normalizeresiduebound + S (pfp_residue_scale_normalize) = (p)) /\ ((exists pfa_offset_left_scale_normalizeresiduecongruence pfa_offset_right_scale_normalizeresiduecongruence. (pfp_source_scale_normalize) + (p) * pfa_offset_left_scale_normalizeresiduecongruence = (pfp_residue_scale_normalize) + (p) * pfa_offset_right_scale_normalizeresiduecongruence))))))))) -> (((exists pfa_gap_scale_resultscalar. pfa_gap_scale_resultscalar + S (k) = (p)) /\ ((forall pfp_index_scale_result. (exists pfa_gap_scale_resultindex. pfa_gap_scale_resultindex + S (pfp_index_scale_result) = (l)) -> exists pfp_source_scale_result pfp_value_scale_result. ((((exists ff_h_pfp_scale_resultsource. ff_h_pfp_scale_resultsource + S (pfp_source_scale_result) = S ((S (pfp_index_scale_result)) * ac)) /\ exists ff_q_pfp_scale_resultsource. ab = ff_q_pfp_scale_resultsource * S ((S (pfp_index_scale_result)) * ac) + (pfp_source_scale_result))) /\ (((((exists ff_h_pfp_scale_resulttarget. ff_h_pfp_scale_resulttarget + S (pfp_value_scale_result) = S ((S (pfp_index_scale_result)) * bc)) /\ exists ff_q_pfp_scale_resulttarget. bb = ff_q_pfp_scale_resulttarget * S ((S (pfp_index_scale_result)) * bc) + (pfp_value_scale_result))) /\ ((((exists pfa_gap_scale_resultoperationleft. pfa_gap_scale_resultoperationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_resultoperationright. pfa_gap_scale_resultoperationright + S (pfp_source_scale_result) = (p)) /\ ((((exists pfa_gap_scale_resultoperationresultbound. pfa_gap_scale_resultoperationresultbound + S (pfp_value_scale_result) = (p)) /\ ((exists pfa_offset_left_scale_resultoperationresultcongruence pfa_offset_right_scale_resultoperationresultcongruence. ((k) * (pfp_source_scale_result)) + (p) * pfa_offset_left_scale_resultoperationresultcongruence = (pfp_value_scale_result) + (p) * pfa_offset_right_scale_resultoperationresultcongruence)))))))))))))))))
intro pintro kintro kbintro kcintro abintro acintro rbintro rcintro bbintro bcintro lintro hkintro hcintro hrintro hmintro hnsplitexact hkintro iintro hihave ha : exists a. ((((exists ff_h_pfp_scale_chosen_a. ff_h_pfp_scale_chosen_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_scale_chosen_a. ab = ff_q_pfp_scale_chosen_a * S ((S (i)) * ac) + (a))) /\ ((exists pfa_gap_scale_chosen_bound. pfa_gap_scale_chosen_bound + S (a) = (p))))specialize hc (i)apply hcexact hicases hacases ha_witnesshave hvn : exists n r. ((((exists ff_h_pfp_scale_chosen_product. ff_h_pfp_scale_chosen_product + S (n) = S ((S (i)) * rc)) /\ exists ff_q_pfp_scale_chosen_product. rb = ff_q_pfp_scale_chosen_product * S ((S (i)) * rc) + (n))) /\ (((((exists ff_h_pfp_scale_chosen_output. ff_h_pfp_scale_chosen_output + S (r) = S ((S (i)) * bc)) /\ exists ff_q_pfp_scale_chosen_output. bb = ff_q_pfp_scale_chosen_output * S ((S (i)) * bc) + (r))) /\ ((((exists pfa_gap_scale_chosen_residuebound. pfa_gap_scale_chosen_residuebound + S (r) = (p)) /\ ((exists pfa_offset_left_scale_chosen_residuecongruence pfa_offset_right_scale_chosen_residuecongruence. (n) + (p) * pfa_offset_left_scale_chosen_residuecongruence = (r) + (p) * pfa_offset_right_scale_chosen_residuecongruence))))))))specialize hn (i)apply hnexact hicases hvncases hvn_witnesscases hvn_witness_witnesscases hvn_witness_witness_rightexists xexists x2splitexact ha_witness_leftsplitexact hvn_witness_witness_right_leftsplitexact hksplitexact ha_witness_rightspecialize prime_field_residue_input_equal (p)specialize prime_field_residue_input_equal (k*x)specialize prime_field_residue_input_equal (x1)specialize prime_field_residue_input_equal (x2)apply prime_field_residue_input_equalsymmspecialize hm (i)specialize hm (k)specialize hm (x)specialize hm (x1)apply hmexact hispecialize hr (i)apply hrexact hiexact ha_witness_leftexact hvn_witness_witness_leftexact hvn_witness_witness_right_right
prime_field_polynomial_scale_exists · unchanged support, not a new admission
forall p k ab ac l. ~(p=0) -> (exists pfa_gap_scale_exists_scalar. pfa_gap_scale_exists_scalar + S (k) = (p)) -> (forall fom_index_pfp_scale_exists_source. (exists fom_gap_pfp_scale_exists_source_index_bound. fom_gap_pfp_scale_exists_source_index_bound + S (fom_index_pfp_scale_exists_source) = l) -> exists fom_value_pfp_scale_exists_source. ((((exists fom_beta_height_pfp_scale_exists_source_entry. fom_beta_height_pfp_scale_exists_source_entry + S (fom_value_pfp_scale_exists_source) = S ((S (fom_index_pfp_scale_exists_source)) * ac)) /\ exists fom_beta_quotient_pfp_scale_exists_source_entry. ab = fom_beta_quotient_pfp_scale_exists_source_entry * S ((S (fom_index_pfp_scale_exists_source)) * ac) + (fom_value_pfp_scale_exists_source))) /\ (exists fom_gap_pfp_scale_exists_source_value_bound. fom_gap_pfp_scale_exists_source_value_bound + S (fom_value_pfp_scale_exists_source) = p))) -> exists bb bc. (((exists pfa_gap_scale_exists_resultscalar. pfa_gap_scale_exists_resultscalar + S (k) = (p)) /\ ((forall pfp_index_scale_exists_result. (exists pfa_gap_scale_exists_resultindex. pfa_gap_scale_exists_resultindex + S (pfp_index_scale_exists_result) = (l)) -> exists pfp_source_scale_exists_result pfp_value_scale_exists_result. ((((exists ff_h_pfp_scale_exists_resultsource. ff_h_pfp_scale_exists_resultsource + S (pfp_source_scale_exists_result) = S ((S (pfp_index_scale_exists_result)) * ac)) /\ exists ff_q_pfp_scale_exists_resultsource. ab = ff_q_pfp_scale_exists_resultsource * S ((S (pfp_index_scale_exists_result)) * ac) + (pfp_source_scale_exists_result))) /\ (((((exists ff_h_pfp_scale_exists_resulttarget. ff_h_pfp_scale_exists_resulttarget + S (pfp_value_scale_exists_result) = S ((S (pfp_index_scale_exists_result)) * bc)) /\ exists ff_q_pfp_scale_exists_resulttarget. bb = ff_q_pfp_scale_exists_resulttarget * S ((S (pfp_index_scale_exists_result)) * bc) + (pfp_value_scale_exists_result))) /\ ((((exists pfa_gap_scale_exists_resultoperationleft. pfa_gap_scale_exists_resultoperationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_exists_resultoperationright. pfa_gap_scale_exists_resultoperationright + S (pfp_source_scale_exists_result) = (p)) /\ ((((exists pfa_gap_scale_exists_resultoperationresultbound. pfa_gap_scale_exists_resultoperationresultbound + S (pfp_value_scale_exists_result) = (p)) /\ ((exists pfa_offset_left_scale_exists_resultoperationresultcongruence pfa_offset_right_scale_exists_resultoperationresultcongruence. ((k) * (pfp_source_scale_exists_result)) + (p) * pfa_offset_left_scale_exists_resultoperationresultcongruence = (pfp_value_scale_exists_result) + (p) * pfa_offset_right_scale_exists_resultoperationresultcongruence)))))))))))))))))
intro pintro kintro abintro acintro lintro hpintro hkintro hchave hr : exists kb kc. (forall pfp_repeat_index_scale_exists_repeat. (exists pfa_gap_scale_exists_repeatindex. pfa_gap_scale_exists_repeatindex + S (pfp_repeat_index_scale_exists_repeat) = (l)) -> (((exists ff_h_pfp_scale_exists_repeatentry. ff_h_pfp_scale_exists_repeatentry + S (k) = S ((S (pfp_repeat_index_scale_exists_repeat)) * kc)) /\ exists ff_q_pfp_scale_exists_repeatentry. kb = ff_q_pfp_scale_exists_repeatentry * S ((S (pfp_repeat_index_scale_exists_repeat)) * kc) + (k))))specialize beta_repeat_exists (k)specialize beta_repeat_exists (l)apply beta_repeat_existscases hrcases hr_witnesshave hm : exists rb rc. (forall fpmp_index_pfp_scale_exists_raw fpmp_left_pfp_scale_exists_raw fpmp_right_pfp_scale_exists_raw fpmp_target_pfp_scale_exists_raw. (exists fpmp_gap_pfp_scale_exists_raw. fpmp_gap_pfp_scale_exists_raw + S fpmp_index_pfp_scale_exists_raw = l) -> (((exists ff_h_fpmp_pfp_scale_exists_raw_left. ff_h_fpmp_pfp_scale_exists_raw_left + S (fpmp_left_pfp_scale_exists_raw) = S ((S (fpmp_index_pfp_scale_exists_raw)) * x1)) /\ exists ff_q_fpmp_pfp_scale_exists_raw_left. x = ff_q_fpmp_pfp_scale_exists_raw_left * S ((S (fpmp_index_pfp_scale_exists_raw)) * x1) + (fpmp_left_pfp_scale_exists_raw))) -> (((exists ff_h_fpmp_pfp_scale_exists_raw_right. ff_h_fpmp_pfp_scale_exists_raw_right + S (fpmp_right_pfp_scale_exists_raw) = S ((S (fpmp_index_pfp_scale_exists_raw)) * ac)) /\ exists ff_q_fpmp_pfp_scale_exists_raw_right. ab = ff_q_fpmp_pfp_scale_exists_raw_right * S ((S (fpmp_index_pfp_scale_exists_raw)) * ac) + (fpmp_right_pfp_scale_exists_raw))) -> (((exists ff_h_fpmp_pfp_scale_exists_raw_target. ff_h_fpmp_pfp_scale_exists_raw_target + S (fpmp_target_pfp_scale_exists_raw) = S ((S (fpmp_index_pfp_scale_exists_raw)) * rc)) /\ exists ff_q_fpmp_pfp_scale_exists_raw_target. rb = ff_q_fpmp_pfp_scale_exists_raw_target * S ((S (fpmp_index_pfp_scale_exists_raw)) * rc) + (fpmp_target_pfp_scale_exists_raw))) -> fpmp_target_pfp_scale_exists_raw = fpmp_left_pfp_scale_exists_raw * fpmp_right_pfp_scale_exists_raw)specialize beta_pointwise_mul_prefix_exists (x)specialize beta_pointwise_mul_prefix_exists (x1)specialize beta_pointwise_mul_prefix_exists (ab)specialize beta_pointwise_mul_prefix_exists (ac)specialize beta_pointwise_mul_prefix_exists (l)apply beta_pointwise_mul_prefix_existscases hmcases hm_witnesshave hn : exists bb bc. (forall pfp_index_scale_exists_normalization. (exists pfa_gap_scale_exists_normalizationindex. pfa_gap_scale_exists_normalizationindex + S (pfp_index_scale_exists_normalization) = (l)) -> exists pfp_source_scale_exists_normalization pfp_residue_scale_exists_normalization. ((((exists ff_h_pfp_scale_exists_normalizationsource. ff_h_pfp_scale_exists_normalizationsource + S (pfp_source_scale_exists_normalization) = S ((S (pfp_index_scale_exists_normalization)) * x3)) /\ exists ff_q_pfp_scale_exists_normalizationsource. x2 = ff_q_pfp_scale_exists_normalizationsource * S ((S (pfp_index_scale_exists_normalization)) * x3) + (pfp_source_scale_exists_normalization))) /\ (((((exists ff_h_pfp_scale_exists_normalizationtarget. ff_h_pfp_scale_exists_normalizationtarget + S (pfp_residue_scale_exists_normalization) = S ((S (pfp_index_scale_exists_normalization)) * bc)) /\ exists ff_q_pfp_scale_exists_normalizationtarget. bb = ff_q_pfp_scale_exists_normalizationtarget * S ((S (pfp_index_scale_exists_normalization)) * bc) + (pfp_residue_scale_exists_normalization))) /\ ((((exists pfa_gap_scale_exists_normalizationresiduebound. pfa_gap_scale_exists_normalizationresiduebound + S (pfp_residue_scale_exists_normalization) = (p)) /\ ((exists pfa_offset_left_scale_exists_normalizationresiduecongruence pfa_offset_right_scale_exists_normalizationresiduecongruence. (pfp_source_scale_exists_normalization) + (p) * pfa_offset_left_scale_exists_normalizationresiduecongruence = (pfp_residue_scale_exists_normalization) + (p) * pfa_offset_right_scale_exists_normalizationresiduecongruence)))))))))specialize prime_field_polynomial_normalization_exists (p)specialize prime_field_polynomial_normalization_exists (x2)specialize prime_field_polynomial_normalization_exists (x3)specialize prime_field_polynomial_normalization_exists (l)apply prime_field_polynomial_normalization_existsexact hpcases hncases hn_witnessexists x4exists x5specialize prime_field_polynomial_scale_from_normalization (p)specialize prime_field_polynomial_scale_from_normalization (k)specialize prime_field_polynomial_scale_from_normalization (x)specialize prime_field_polynomial_scale_from_normalization (x1)specialize prime_field_polynomial_scale_from_normalization (ab)specialize prime_field_polynomial_scale_from_normalization (ac)specialize prime_field_polynomial_scale_from_normalization (x2)specialize prime_field_polynomial_scale_from_normalization (x3)specialize prime_field_polynomial_scale_from_normalization (x4)specialize prime_field_polynomial_scale_from_normalization (x5)specialize prime_field_polynomial_scale_from_normalization (l)apply prime_field_polynomial_scale_from_normalizationexact hkexact hcexact hr_witness_witnessexact hm_witness_witnessexact hn_witness_witness
prime_field_polynomial_scale_bounded · unchanged support, not a new admission
forall p k ab ac bb bc l. (((exists pfa_gap_scale_bounded_operationscalar. pfa_gap_scale_bounded_operationscalar + S (k) = (p)) /\ ((forall pfp_index_scale_bounded_operation. (exists pfa_gap_scale_bounded_operationindex. pfa_gap_scale_bounded_operationindex + S (pfp_index_scale_bounded_operation) = (l)) -> exists pfp_source_scale_bounded_operation pfp_value_scale_bounded_operation. ((((exists ff_h_pfp_scale_bounded_operationsource. ff_h_pfp_scale_bounded_operationsource + S (pfp_source_scale_bounded_operation) = S ((S (pfp_index_scale_bounded_operation)) * ac)) /\ exists ff_q_pfp_scale_bounded_operationsource. ab = ff_q_pfp_scale_bounded_operationsource * S ((S (pfp_index_scale_bounded_operation)) * ac) + (pfp_source_scale_bounded_operation))) /\ (((((exists ff_h_pfp_scale_bounded_operationtarget. ff_h_pfp_scale_bounded_operationtarget + S (pfp_value_scale_bounded_operation) = S ((S (pfp_index_scale_bounded_operation)) * bc)) /\ exists ff_q_pfp_scale_bounded_operationtarget. bb = ff_q_pfp_scale_bounded_operationtarget * S ((S (pfp_index_scale_bounded_operation)) * bc) + (pfp_value_scale_bounded_operation))) /\ ((((exists pfa_gap_scale_bounded_operationoperationleft. pfa_gap_scale_bounded_operationoperationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_bounded_operationoperationright. pfa_gap_scale_bounded_operationoperationright + S (pfp_source_scale_bounded_operation) = (p)) /\ ((((exists pfa_gap_scale_bounded_operationoperationresultbound. pfa_gap_scale_bounded_operationoperationresultbound + S (pfp_value_scale_bounded_operation) = (p)) /\ ((exists pfa_offset_left_scale_bounded_operationoperationresultcongruence pfa_offset_right_scale_bounded_operationoperationresultcongruence. ((k) * (pfp_source_scale_bounded_operation)) + (p) * pfa_offset_left_scale_bounded_operationoperationresultcongruence = (pfp_value_scale_bounded_operation) + (p) * pfa_offset_right_scale_bounded_operationoperationresultcongruence))))))))))))))))) -> ((forall fom_index_pfp_scale_bounded_source. (exists fom_gap_pfp_scale_bounded_source_index_bound. fom_gap_pfp_scale_bounded_source_index_bound + S (fom_index_pfp_scale_bounded_source) = l) -> exists fom_value_pfp_scale_bounded_source. ((((exists fom_beta_height_pfp_scale_bounded_source_entry. fom_beta_height_pfp_scale_bounded_source_entry + S (fom_value_pfp_scale_bounded_source) = S ((S (fom_index_pfp_scale_bounded_source)) * ac)) /\ exists fom_beta_quotient_pfp_scale_bounded_source_entry. ab = fom_beta_quotient_pfp_scale_bounded_source_entry * S ((S (fom_index_pfp_scale_bounded_source)) * ac) + (fom_value_pfp_scale_bounded_source))) /\ (exists fom_gap_pfp_scale_bounded_source_value_bound. fom_gap_pfp_scale_bounded_source_value_bound + S (fom_value_pfp_scale_bounded_source) = p))) /\ ((forall fom_index_pfp_scale_bounded_target. (exists fom_gap_pfp_scale_bounded_target_index_bound. fom_gap_pfp_scale_bounded_target_index_bound + S (fom_index_pfp_scale_bounded_target) = l) -> exists fom_value_pfp_scale_bounded_target. ((((exists fom_beta_height_pfp_scale_bounded_target_entry. fom_beta_height_pfp_scale_bounded_target_entry + S (fom_value_pfp_scale_bounded_target) = S ((S (fom_index_pfp_scale_bounded_target)) * bc)) /\ exists fom_beta_quotient_pfp_scale_bounded_target_entry. bb = fom_beta_quotient_pfp_scale_bounded_target_entry * S ((S (fom_index_pfp_scale_bounded_target)) * bc) + (fom_value_pfp_scale_bounded_target))) /\ (exists fom_gap_pfp_scale_bounded_target_value_bound. fom_gap_pfp_scale_bounded_target_value_bound + S (fom_value_pfp_scale_bounded_target) = p)))))
intro pintro kintro abintro acintro bbintro bcintro lintro hcases hsplitintro iintro hihave hv : exists a r. ((((exists ff_h_pfp_scale_bound_source. ff_h_pfp_scale_bound_source + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_scale_bound_source. ab = ff_q_pfp_scale_bound_source * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_scale_bound_target. ff_h_pfp_scale_bound_target + S (r) = S ((S (i)) * bc)) /\ exists ff_q_pfp_scale_bound_target. bb = ff_q_pfp_scale_bound_target * S ((S (i)) * bc) + (r))) /\ ((((exists pfa_gap_scale_bound_operationleft. pfa_gap_scale_bound_operationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_bound_operationright. pfa_gap_scale_bound_operationright + S (a) = (p)) /\ ((((exists pfa_gap_scale_bound_operationresultbound. pfa_gap_scale_bound_operationresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_scale_bound_operationresultcongruence pfa_offset_right_scale_bound_operationresultcongruence. ((k) * (a)) + (p) * pfa_offset_left_scale_bound_operationresultcongruence = (r) + (p) * pfa_offset_right_scale_bound_operationresultcongruence)))))))))))))specialize h_right (i)apply h_rightexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_rightcases hv_witness_witness_right_rightcases hv_witness_witness_right_right_rightcases hv_witness_witness_right_right_right_rightexists xsplitexact hv_witness_witness_leftexact hv_witness_witness_right_right_right_leftintro iintro hihave hv : exists a r. ((((exists ff_h_pfp_scale_bound_source. ff_h_pfp_scale_bound_source + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_scale_bound_source. ab = ff_q_pfp_scale_bound_source * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_scale_bound_target. ff_h_pfp_scale_bound_target + S (r) = S ((S (i)) * bc)) /\ exists ff_q_pfp_scale_bound_target. bb = ff_q_pfp_scale_bound_target * S ((S (i)) * bc) + (r))) /\ ((((exists pfa_gap_scale_bound_operationleft. pfa_gap_scale_bound_operationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_bound_operationright. pfa_gap_scale_bound_operationright + S (a) = (p)) /\ ((((exists pfa_gap_scale_bound_operationresultbound. pfa_gap_scale_bound_operationresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_scale_bound_operationresultcongruence pfa_offset_right_scale_bound_operationresultcongruence. ((k) * (a)) + (p) * pfa_offset_left_scale_bound_operationresultcongruence = (r) + (p) * pfa_offset_right_scale_bound_operationresultcongruence)))))))))))))specialize h_right (i)apply h_rightexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_rightcases hv_witness_witness_right_rightcases hv_witness_witness_right_right_rightcases hv_witness_witness_right_right_right_rightexists x1splitexact hv_witness_witness_right_leftexact hv_witness_witness_right_right_right_right_left
prime_field_convolution_coefficient_bounded · unchanged support, not a new admission
forall p ab ac L bb bc M i r. (exists pfc_terms_code_coefficient_bounded_source pfc_terms_scale_coefficient_bounded_source pfc_natural_sum_coefficient_bounded_source. ((forall pfc_index_coefficient_bounded_sourcediagonal. (exists pfa_gap_coefficient_bounded_sourcediagonalbound. pfa_gap_coefficient_bounded_sourcediagonalbound + S (pfc_index_coefficient_bounded_sourcediagonal) = (S (i))) -> exists pfc_value_coefficient_bounded_sourcediagonal. ((((exists ff_h_pfp_coefficient_bounded_sourcediagonalentry. ff_h_pfp_coefficient_bounded_sourcediagonalentry + S (pfc_value_coefficient_bounded_sourcediagonal) = S ((S (pfc_index_coefficient_bounded_sourcediagonal)) * pfc_terms_scale_coefficient_bounded_source)) /\ exists ff_q_pfp_coefficient_bounded_sourcediagonalentry. pfc_terms_code_coefficient_bounded_source = ff_q_pfp_coefficient_bounded_sourcediagonalentry * S ((S (pfc_index_coefficient_bounded_sourcediagonal)) * pfc_terms_scale_coefficient_bounded_source) + (pfc_value_coefficient_bounded_sourcediagonal))) /\ ((exists pfc_complement_coefficient_bounded_sourcediagonalterm pfc_left_coefficient_bounded_sourcediagonalterm pfc_right_coefficient_bounded_sourcediagonalterm. (((pfc_index_coefficient_bounded_sourcediagonal)+pfc_complement_coefficient_bounded_sourcediagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_bounded_sourcediagonaltermleftinside. pfa_gap_coefficient_bounded_sourcediagonaltermleftinside + S (pfc_index_coefficient_bounded_sourcediagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_bounded_sourcediagonaltermleftentry. ff_h_pfp_coefficient_bounded_sourcediagonaltermleftentry + S (pfc_left_coefficient_bounded_sourcediagonalterm) = S ((S (pfc_index_coefficient_bounded_sourcediagonal)) * ac)) /\ exists ff_q_pfp_coefficient_bounded_sourcediagonaltermleftentry. ab = ff_q_pfp_coefficient_bounded_sourcediagonaltermleftentry * S ((S (pfc_index_coefficient_bounded_sourcediagonal)) * ac) + (pfc_left_coefficient_bounded_sourcediagonalterm)))))) \/ (((exists pfc_gap_coefficient_bounded_sourcediagonaltermleftoutside. pfc_gap_coefficient_bounded_sourcediagonaltermleftoutside+(L)=(pfc_index_coefficient_bounded_sourcediagonal)) /\ (((pfc_left_coefficient_bounded_sourcediagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_bounded_sourcediagonaltermrightinside. pfa_gap_coefficient_bounded_sourcediagonaltermrightinside + S (pfc_complement_coefficient_bounded_sourcediagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_bounded_sourcediagonaltermrightentry. ff_h_pfp_coefficient_bounded_sourcediagonaltermrightentry + S (pfc_right_coefficient_bounded_sourcediagonalterm) = S ((S (pfc_complement_coefficient_bounded_sourcediagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_bounded_sourcediagonaltermrightentry. bb = ff_q_pfp_coefficient_bounded_sourcediagonaltermrightentry * S ((S (pfc_complement_coefficient_bounded_sourcediagonalterm)) * bc) + (pfc_right_coefficient_bounded_sourcediagonalterm)))))) \/ (((exists pfc_gap_coefficient_bounded_sourcediagonaltermrightoutside. pfc_gap_coefficient_bounded_sourcediagonaltermrightoutside+(M)=(pfc_complement_coefficient_bounded_sourcediagonalterm)) /\ (((pfc_right_coefficient_bounded_sourcediagonalterm)=0))))) /\ (((pfc_value_coefficient_bounded_sourcediagonal)=pfc_left_coefficient_bounded_sourcediagonalterm*pfc_right_coefficient_bounded_sourcediagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_bounded_sourcesum fs_v_pfc_coefficient_bounded_sourcesum. ((((exists fs_h_pfc_coefficient_bounded_sourcesum_body_start. fs_h_pfc_coefficient_bounded_sourcesum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_bounded_sourcesum)) /\ exists fs_q_pfc_coefficient_bounded_sourcesum_body_start. fs_u_pfc_coefficient_bounded_sourcesum = fs_q_pfc_coefficient_bounded_sourcesum_body_start * S ((S (0)) * fs_v_pfc_coefficient_bounded_sourcesum) + (0))) /\ ((((exists fs_h_pfc_coefficient_bounded_sourcesum_body_terminal. fs_h_pfc_coefficient_bounded_sourcesum_body_terminal + S (pfc_natural_sum_coefficient_bounded_source) = S ((S (S (i))) * fs_v_pfc_coefficient_bounded_sourcesum)) /\ exists fs_q_pfc_coefficient_bounded_sourcesum_body_terminal. fs_u_pfc_coefficient_bounded_sourcesum = fs_q_pfc_coefficient_bounded_sourcesum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_bounded_sourcesum) + (pfc_natural_sum_coefficient_bounded_source))) /\ forall fs_i_pfc_coefficient_bounded_sourcesum_body_steps. (exists fs_lt_pfc_coefficient_bounded_sourcesum_body_steps_bound. fs_lt_pfc_coefficient_bounded_sourcesum_body_steps_bound + S fs_i_pfc_coefficient_bounded_sourcesum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_bounded_sourcesum_body_steps fs_r_pfc_coefficient_bounded_sourcesum_body_steps fs_s_pfc_coefficient_bounded_sourcesum_body_steps. ((((exists fs_h_pfc_coefficient_bounded_sourcesum_body_steps_summand. fs_h_pfc_coefficient_bounded_sourcesum_body_steps_summand + S (fs_a_pfc_coefficient_bounded_sourcesum_body_steps) = S ((S (fs_i_pfc_coefficient_bounded_sourcesum_body_steps)) * pfc_terms_scale_coefficient_bounded_source)) /\ exists fs_q_pfc_coefficient_bounded_sourcesum_body_steps_summand. pfc_terms_code_coefficient_bounded_source = fs_q_pfc_coefficient_bounded_sourcesum_body_steps_summand * S ((S (fs_i_pfc_coefficient_bounded_sourcesum_body_steps)) * pfc_terms_scale_coefficient_bounded_source) + (fs_a_pfc_coefficient_bounded_sourcesum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_bounded_sourcesum_body_steps_partial. fs_h_pfc_coefficient_bounded_sourcesum_body_steps_partial + S (fs_r_pfc_coefficient_bounded_sourcesum_body_steps) = S ((S (fs_i_pfc_coefficient_bounded_sourcesum_body_steps)) * fs_v_pfc_coefficient_bounded_sourcesum)) /\ exists fs_q_pfc_coefficient_bounded_sourcesum_body_steps_partial. fs_u_pfc_coefficient_bounded_sourcesum = fs_q_pfc_coefficient_bounded_sourcesum_body_steps_partial * S ((S (fs_i_pfc_coefficient_bounded_sourcesum_body_steps)) * fs_v_pfc_coefficient_bounded_sourcesum) + (fs_r_pfc_coefficient_bounded_sourcesum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_bounded_sourcesum_body_steps_successor. fs_h_pfc_coefficient_bounded_sourcesum_body_steps_successor + S (fs_s_pfc_coefficient_bounded_sourcesum_body_steps) = S ((S (S fs_i_pfc_coefficient_bounded_sourcesum_body_steps)) * fs_v_pfc_coefficient_bounded_sourcesum)) /\ exists fs_q_pfc_coefficient_bounded_sourcesum_body_steps_successor. fs_u_pfc_coefficient_bounded_sourcesum = fs_q_pfc_coefficient_bounded_sourcesum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_bounded_sourcesum_body_steps)) * fs_v_pfc_coefficient_bounded_sourcesum) + (fs_s_pfc_coefficient_bounded_sourcesum_body_steps))) /\ fs_s_pfc_coefficient_bounded_sourcesum_body_steps = fs_r_pfc_coefficient_bounded_sourcesum_body_steps + fs_a_pfc_coefficient_bounded_sourcesum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_bounded_sourceresiduebound. pfa_gap_coefficient_bounded_sourceresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_coefficient_bounded_sourceresiduecongruence pfa_offset_right_coefficient_bounded_sourceresiduecongruence. (pfc_natural_sum_coefficient_bounded_source) + (p) * pfa_offset_left_coefficient_bounded_sourceresiduecongruence = (r) + (p) * pfa_offset_right_coefficient_bounded_sourceresiduecongruence))))))))) -> (exists pfa_gap_coefficient_bound. pfa_gap_coefficient_bound + S (r) = (p))
intro pintro abintro acintro Lintro bbintro bcintro Mintro iintro rintro hcases hcases h_witnesscases h_witness_witnesscases h_witness_witness_witnesscases h_witness_witness_witness_rightcases h_witness_witness_witness_right_rightexact h_witness_witness_witness_right_right_left
prime_field_convolution_prefix_bounded · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N. (forall pfc_index_prefix_bounded_source. (exists pfa_gap_prefix_bounded_sourcebound. pfa_gap_prefix_bounded_sourcebound + S (pfc_index_prefix_bounded_source) = (N)) -> exists pfc_value_prefix_bounded_source. ((((exists ff_h_pfp_prefix_bounded_sourceentry. ff_h_pfp_prefix_bounded_sourceentry + S (pfc_value_prefix_bounded_source) = S ((S (pfc_index_prefix_bounded_source)) * cc)) /\ exists ff_q_pfp_prefix_bounded_sourceentry. cb = ff_q_pfp_prefix_bounded_sourceentry * S ((S (pfc_index_prefix_bounded_source)) * cc) + (pfc_value_prefix_bounded_source))) /\ ((exists pfc_terms_code_prefix_bounded_sourcecoefficient pfc_terms_scale_prefix_bounded_sourcecoefficient pfc_natural_sum_prefix_bounded_sourcecoefficient. ((forall pfc_index_prefix_bounded_sourcecoefficientdiagonal. (exists pfa_gap_prefix_bounded_sourcecoefficientdiagonalbound. pfa_gap_prefix_bounded_sourcecoefficientdiagonalbound + S (pfc_index_prefix_bounded_sourcecoefficientdiagonal) = (S (pfc_index_prefix_bounded_source))) -> exists pfc_value_prefix_bounded_sourcecoefficientdiagonal. ((((exists ff_h_pfp_prefix_bounded_sourcecoefficientdiagonalentry. ff_h_pfp_prefix_bounded_sourcecoefficientdiagonalentry + S (pfc_value_prefix_bounded_sourcecoefficientdiagonal) = S ((S (pfc_index_prefix_bounded_sourcecoefficientdiagonal)) * pfc_terms_scale_prefix_bounded_sourcecoefficient)) /\ exists ff_q_pfp_prefix_bounded_sourcecoefficientdiagonalentry. pfc_terms_code_prefix_bounded_sourcecoefficient = ff_q_pfp_prefix_bounded_sourcecoefficientdiagonalentry * S ((S (pfc_index_prefix_bounded_sourcecoefficientdiagonal)) * pfc_terms_scale_prefix_bounded_sourcecoefficient) + (pfc_value_prefix_bounded_sourcecoefficientdiagonal))) /\ ((exists pfc_complement_prefix_bounded_sourcecoefficientdiagonalterm pfc_left_prefix_bounded_sourcecoefficientdiagonalterm pfc_right_prefix_bounded_sourcecoefficientdiagonalterm. (((pfc_index_prefix_bounded_sourcecoefficientdiagonal)+pfc_complement_prefix_bounded_sourcecoefficientdiagonalterm=(pfc_index_prefix_bounded_source)) /\ ((((((exists pfa_gap_prefix_bounded_sourcecoefficientdiagonaltermleftinside. pfa_gap_prefix_bounded_sourcecoefficientdiagonaltermleftinside + S (pfc_index_prefix_bounded_sourcecoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_bounded_sourcecoefficientdiagonaltermleftentry. ff_h_pfp_prefix_bounded_sourcecoefficientdiagonaltermleftentry + S (pfc_left_prefix_bounded_sourcecoefficientdiagonalterm) = S ((S (pfc_index_prefix_bounded_sourcecoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_prefix_bounded_sourcecoefficientdiagonaltermleftentry. ab = ff_q_pfp_prefix_bounded_sourcecoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_bounded_sourcecoefficientdiagonal)) * ac) + (pfc_left_prefix_bounded_sourcecoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_bounded_sourcecoefficientdiagonaltermleftoutside. pfc_gap_prefix_bounded_sourcecoefficientdiagonaltermleftoutside+(L)=(pfc_index_prefix_bounded_sourcecoefficientdiagonal)) /\ (((pfc_left_prefix_bounded_sourcecoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_bounded_sourcecoefficientdiagonaltermrightinside. pfa_gap_prefix_bounded_sourcecoefficientdiagonaltermrightinside + S (pfc_complement_prefix_bounded_sourcecoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_bounded_sourcecoefficientdiagonaltermrightentry. ff_h_pfp_prefix_bounded_sourcecoefficientdiagonaltermrightentry + S (pfc_right_prefix_bounded_sourcecoefficientdiagonalterm) = S ((S (pfc_complement_prefix_bounded_sourcecoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_bounded_sourcecoefficientdiagonaltermrightentry. bb = ff_q_pfp_prefix_bounded_sourcecoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_bounded_sourcecoefficientdiagonalterm)) * bc) + (pfc_right_prefix_bounded_sourcecoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_bounded_sourcecoefficientdiagonaltermrightoutside. pfc_gap_prefix_bounded_sourcecoefficientdiagonaltermrightoutside+(M)=(pfc_complement_prefix_bounded_sourcecoefficientdiagonalterm)) /\ (((pfc_right_prefix_bounded_sourcecoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_bounded_sourcecoefficientdiagonal)=pfc_left_prefix_bounded_sourcecoefficientdiagonalterm*pfc_right_prefix_bounded_sourcecoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_bounded_sourcecoefficientsum fs_v_pfc_prefix_bounded_sourcecoefficientsum. ((((exists fs_h_pfc_prefix_bounded_sourcecoefficientsum_body_start. fs_h_pfc_prefix_bounded_sourcecoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_bounded_sourcecoefficientsum)) /\ exists fs_q_pfc_prefix_bounded_sourcecoefficientsum_body_start. fs_u_pfc_prefix_bounded_sourcecoefficientsum = fs_q_pfc_prefix_bounded_sourcecoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_bounded_sourcecoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_bounded_sourcecoefficientsum_body_terminal. fs_h_pfc_prefix_bounded_sourcecoefficientsum_body_terminal + S (pfc_natural_sum_prefix_bounded_sourcecoefficient) = S ((S (S (pfc_index_prefix_bounded_source))) * fs_v_pfc_prefix_bounded_sourcecoefficientsum)) /\ exists fs_q_pfc_prefix_bounded_sourcecoefficientsum_body_terminal. fs_u_pfc_prefix_bounded_sourcecoefficientsum = fs_q_pfc_prefix_bounded_sourcecoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_bounded_source))) * fs_v_pfc_prefix_bounded_sourcecoefficientsum) + (pfc_natural_sum_prefix_bounded_sourcecoefficient))) /\ forall fs_i_pfc_prefix_bounded_sourcecoefficientsum_body_steps. (exists fs_lt_pfc_prefix_bounded_sourcecoefficientsum_body_steps_bound. fs_lt_pfc_prefix_bounded_sourcecoefficientsum_body_steps_bound + S fs_i_pfc_prefix_bounded_sourcecoefficientsum_body_steps = S (pfc_index_prefix_bounded_source)) -> exists fs_a_pfc_prefix_bounded_sourcecoefficientsum_body_steps fs_r_pfc_prefix_bounded_sourcecoefficientsum_body_steps fs_s_pfc_prefix_bounded_sourcecoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_bounded_sourcecoefficientsum_body_steps_summand. fs_h_pfc_prefix_bounded_sourcecoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_bounded_sourcecoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_bounded_sourcecoefficientsum_body_steps)) * pfc_terms_scale_prefix_bounded_sourcecoefficient)) /\ exists fs_q_pfc_prefix_bounded_sourcecoefficientsum_body_steps_summand. pfc_terms_code_prefix_bounded_sourcecoefficient = fs_q_pfc_prefix_bounded_sourcecoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_bounded_sourcecoefficientsum_body_steps)) * pfc_terms_scale_prefix_bounded_sourcecoefficient) + (fs_a_pfc_prefix_bounded_sourcecoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_bounded_sourcecoefficientsum_body_steps_partial. fs_h_pfc_prefix_bounded_sourcecoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_bounded_sourcecoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_bounded_sourcecoefficientsum_body_steps)) * fs_v_pfc_prefix_bounded_sourcecoefficientsum)) /\ exists fs_q_pfc_prefix_bounded_sourcecoefficientsum_body_steps_partial. fs_u_pfc_prefix_bounded_sourcecoefficientsum = fs_q_pfc_prefix_bounded_sourcecoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_bounded_sourcecoefficientsum_body_steps)) * fs_v_pfc_prefix_bounded_sourcecoefficientsum) + (fs_r_pfc_prefix_bounded_sourcecoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_bounded_sourcecoefficientsum_body_steps_successor. fs_h_pfc_prefix_bounded_sourcecoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_bounded_sourcecoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_bounded_sourcecoefficientsum_body_steps)) * fs_v_pfc_prefix_bounded_sourcecoefficientsum)) /\ exists fs_q_pfc_prefix_bounded_sourcecoefficientsum_body_steps_successor. fs_u_pfc_prefix_bounded_sourcecoefficientsum = fs_q_pfc_prefix_bounded_sourcecoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_bounded_sourcecoefficientsum_body_steps)) * fs_v_pfc_prefix_bounded_sourcecoefficientsum) + (fs_s_pfc_prefix_bounded_sourcecoefficientsum_body_steps))) /\ fs_s_pfc_prefix_bounded_sourcecoefficientsum_body_steps = fs_r_pfc_prefix_bounded_sourcecoefficientsum_body_steps + fs_a_pfc_prefix_bounded_sourcecoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_bounded_sourcecoefficientresiduebound. pfa_gap_prefix_bounded_sourcecoefficientresiduebound + S (pfc_value_prefix_bounded_source) = (p)) /\ ((exists pfa_offset_left_prefix_bounded_sourcecoefficientresiduecongruence pfa_offset_right_prefix_bounded_sourcecoefficientresiduecongruence. (pfc_natural_sum_prefix_bounded_sourcecoefficient) + (p) * pfa_offset_left_prefix_bounded_sourcecoefficientresiduecongruence = (pfc_value_prefix_bounded_source) + (p) * pfa_offset_right_prefix_bounded_sourcecoefficientresiduecongruence)))))))))))) -> (forall fom_index_pfp_prefix_bounded_result. (exists fom_gap_pfp_prefix_bounded_result_index_bound. fom_gap_pfp_prefix_bounded_result_index_bound + S (fom_index_pfp_prefix_bounded_result) = N) -> exists fom_value_pfp_prefix_bounded_result. ((((exists fom_beta_height_pfp_prefix_bounded_result_entry. fom_beta_height_pfp_prefix_bounded_result_entry + S (fom_value_pfp_prefix_bounded_result) = S ((S (fom_index_pfp_prefix_bounded_result)) * cc)) /\ exists fom_beta_quotient_pfp_prefix_bounded_result_entry. cb = fom_beta_quotient_pfp_prefix_bounded_result_entry * S ((S (fom_index_pfp_prefix_bounded_result)) * cc) + (fom_value_pfp_prefix_bounded_result))) /\ (exists fom_gap_pfp_prefix_bounded_result_value_bound. fom_gap_pfp_prefix_bounded_result_value_bound + S (fom_value_pfp_prefix_bounded_result) = p)))
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro hintro iintro hihave hv : exists r. ((((exists ff_h_pfp_prefix_bounded_entry. ff_h_pfp_prefix_bounded_entry + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_prefix_bounded_entry. cb = ff_q_pfp_prefix_bounded_entry * S ((S (i)) * cc) + (r))) /\ ((exists pfc_terms_code_prefix_bounded_value pfc_terms_scale_prefix_bounded_value pfc_natural_sum_prefix_bounded_value. ((forall pfc_index_prefix_bounded_valuediagonal. (exists pfa_gap_prefix_bounded_valuediagonalbound. pfa_gap_prefix_bounded_valuediagonalbound + S (pfc_index_prefix_bounded_valuediagonal) = (S (i))) -> exists pfc_value_prefix_bounded_valuediagonal. ((((exists ff_h_pfp_prefix_bounded_valuediagonalentry. ff_h_pfp_prefix_bounded_valuediagonalentry + S (pfc_value_prefix_bounded_valuediagonal) = S ((S (pfc_index_prefix_bounded_valuediagonal)) * pfc_terms_scale_prefix_bounded_value)) /\ exists ff_q_pfp_prefix_bounded_valuediagonalentry. pfc_terms_code_prefix_bounded_value = ff_q_pfp_prefix_bounded_valuediagonalentry * S ((S (pfc_index_prefix_bounded_valuediagonal)) * pfc_terms_scale_prefix_bounded_value) + (pfc_value_prefix_bounded_valuediagonal))) /\ ((exists pfc_complement_prefix_bounded_valuediagonalterm pfc_left_prefix_bounded_valuediagonalterm pfc_right_prefix_bounded_valuediagonalterm. (((pfc_index_prefix_bounded_valuediagonal)+pfc_complement_prefix_bounded_valuediagonalterm=(i)) /\ ((((((exists pfa_gap_prefix_bounded_valuediagonaltermleftinside. pfa_gap_prefix_bounded_valuediagonaltermleftinside + S (pfc_index_prefix_bounded_valuediagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_bounded_valuediagonaltermleftentry. ff_h_pfp_prefix_bounded_valuediagonaltermleftentry + S (pfc_left_prefix_bounded_valuediagonalterm) = S ((S (pfc_index_prefix_bounded_valuediagonal)) * ac)) /\ exists ff_q_pfp_prefix_bounded_valuediagonaltermleftentry. ab = ff_q_pfp_prefix_bounded_valuediagonaltermleftentry * S ((S (pfc_index_prefix_bounded_valuediagonal)) * ac) + (pfc_left_prefix_bounded_valuediagonalterm)))))) \/ (((exists pfc_gap_prefix_bounded_valuediagonaltermleftoutside. pfc_gap_prefix_bounded_valuediagonaltermleftoutside+(L)=(pfc_index_prefix_bounded_valuediagonal)) /\ (((pfc_left_prefix_bounded_valuediagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_bounded_valuediagonaltermrightinside. pfa_gap_prefix_bounded_valuediagonaltermrightinside + S (pfc_complement_prefix_bounded_valuediagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_bounded_valuediagonaltermrightentry. ff_h_pfp_prefix_bounded_valuediagonaltermrightentry + S (pfc_right_prefix_bounded_valuediagonalterm) = S ((S (pfc_complement_prefix_bounded_valuediagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_bounded_valuediagonaltermrightentry. bb = ff_q_pfp_prefix_bounded_valuediagonaltermrightentry * S ((S (pfc_complement_prefix_bounded_valuediagonalterm)) * bc) + (pfc_right_prefix_bounded_valuediagonalterm)))))) \/ (((exists pfc_gap_prefix_bounded_valuediagonaltermrightoutside. pfc_gap_prefix_bounded_valuediagonaltermrightoutside+(M)=(pfc_complement_prefix_bounded_valuediagonalterm)) /\ (((pfc_right_prefix_bounded_valuediagonalterm)=0))))) /\ (((pfc_value_prefix_bounded_valuediagonal)=pfc_left_prefix_bounded_valuediagonalterm*pfc_right_prefix_bounded_valuediagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_bounded_valuesum fs_v_pfc_prefix_bounded_valuesum. ((((exists fs_h_pfc_prefix_bounded_valuesum_body_start. fs_h_pfc_prefix_bounded_valuesum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_bounded_valuesum)) /\ exists fs_q_pfc_prefix_bounded_valuesum_body_start. fs_u_pfc_prefix_bounded_valuesum = fs_q_pfc_prefix_bounded_valuesum_body_start * S ((S (0)) * fs_v_pfc_prefix_bounded_valuesum) + (0))) /\ ((((exists fs_h_pfc_prefix_bounded_valuesum_body_terminal. fs_h_pfc_prefix_bounded_valuesum_body_terminal + S (pfc_natural_sum_prefix_bounded_value) = S ((S (S (i))) * fs_v_pfc_prefix_bounded_valuesum)) /\ exists fs_q_pfc_prefix_bounded_valuesum_body_terminal. fs_u_pfc_prefix_bounded_valuesum = fs_q_pfc_prefix_bounded_valuesum_body_terminal * S ((S (S (i))) * fs_v_pfc_prefix_bounded_valuesum) + (pfc_natural_sum_prefix_bounded_value))) /\ forall fs_i_pfc_prefix_bounded_valuesum_body_steps. (exists fs_lt_pfc_prefix_bounded_valuesum_body_steps_bound. fs_lt_pfc_prefix_bounded_valuesum_body_steps_bound + S fs_i_pfc_prefix_bounded_valuesum_body_steps = S (i)) -> exists fs_a_pfc_prefix_bounded_valuesum_body_steps fs_r_pfc_prefix_bounded_valuesum_body_steps fs_s_pfc_prefix_bounded_valuesum_body_steps. ((((exists fs_h_pfc_prefix_bounded_valuesum_body_steps_summand. fs_h_pfc_prefix_bounded_valuesum_body_steps_summand + S (fs_a_pfc_prefix_bounded_valuesum_body_steps) = S ((S (fs_i_pfc_prefix_bounded_valuesum_body_steps)) * pfc_terms_scale_prefix_bounded_value)) /\ exists fs_q_pfc_prefix_bounded_valuesum_body_steps_summand. pfc_terms_code_prefix_bounded_value = fs_q_pfc_prefix_bounded_valuesum_body_steps_summand * S ((S (fs_i_pfc_prefix_bounded_valuesum_body_steps)) * pfc_terms_scale_prefix_bounded_value) + (fs_a_pfc_prefix_bounded_valuesum_body_steps))) /\ ((((exists fs_h_pfc_prefix_bounded_valuesum_body_steps_partial. fs_h_pfc_prefix_bounded_valuesum_body_steps_partial + S (fs_r_pfc_prefix_bounded_valuesum_body_steps) = S ((S (fs_i_pfc_prefix_bounded_valuesum_body_steps)) * fs_v_pfc_prefix_bounded_valuesum)) /\ exists fs_q_pfc_prefix_bounded_valuesum_body_steps_partial. fs_u_pfc_prefix_bounded_valuesum = fs_q_pfc_prefix_bounded_valuesum_body_steps_partial * S ((S (fs_i_pfc_prefix_bounded_valuesum_body_steps)) * fs_v_pfc_prefix_bounded_valuesum) + (fs_r_pfc_prefix_bounded_valuesum_body_steps))) /\ ((((exists fs_h_pfc_prefix_bounded_valuesum_body_steps_successor. fs_h_pfc_prefix_bounded_valuesum_body_steps_successor + S (fs_s_pfc_prefix_bounded_valuesum_body_steps) = S ((S (S fs_i_pfc_prefix_bounded_valuesum_body_steps)) * fs_v_pfc_prefix_bounded_valuesum)) /\ exists fs_q_pfc_prefix_bounded_valuesum_body_steps_successor. fs_u_pfc_prefix_bounded_valuesum = fs_q_pfc_prefix_bounded_valuesum_body_steps_successor * S ((S (S fs_i_pfc_prefix_bounded_valuesum_body_steps)) * fs_v_pfc_prefix_bounded_valuesum) + (fs_s_pfc_prefix_bounded_valuesum_body_steps))) /\ fs_s_pfc_prefix_bounded_valuesum_body_steps = fs_r_pfc_prefix_bounded_valuesum_body_steps + fs_a_pfc_prefix_bounded_valuesum_body_steps)))))) /\ ((((exists pfa_gap_prefix_bounded_valueresiduebound. pfa_gap_prefix_bounded_valueresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_prefix_bounded_valueresiduecongruence pfa_offset_right_prefix_bounded_valueresiduecongruence. (pfc_natural_sum_prefix_bounded_value) + (p) * pfa_offset_left_prefix_bounded_valueresiduecongruence = (r) + (p) * pfa_offset_right_prefix_bounded_valueresiduecongruence)))))))))))specialize h (i)apply hexact hicases hvcases hv_witnessexists xsplitexact hv_witness_leftspecialize prime_field_convolution_coefficient_bounded (p)specialize prime_field_convolution_coefficient_bounded (ab)specialize prime_field_convolution_coefficient_bounded (ac)specialize prime_field_convolution_coefficient_bounded (L)specialize prime_field_convolution_coefficient_bounded (bb)specialize prime_field_convolution_coefficient_bounded (bc)specialize prime_field_convolution_coefficient_bounded (M)specialize prime_field_convolution_coefficient_bounded (i)specialize prime_field_convolution_coefficient_bounded (x)apply prime_field_convolution_coefficient_boundedexact hv_witness_right
prime_field_polynomial_convolution_bounded · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N. (((forall fom_index_pfp_convolution_bound_sourceleft. (exists fom_gap_pfp_convolution_bound_sourceleft_index_bound. fom_gap_pfp_convolution_bound_sourceleft_index_bound + S (fom_index_pfp_convolution_bound_sourceleft) = L) -> exists fom_value_pfp_convolution_bound_sourceleft. ((((exists fom_beta_height_pfp_convolution_bound_sourceleft_entry. fom_beta_height_pfp_convolution_bound_sourceleft_entry + S (fom_value_pfp_convolution_bound_sourceleft) = S ((S (fom_index_pfp_convolution_bound_sourceleft)) * ac)) /\ exists fom_beta_quotient_pfp_convolution_bound_sourceleft_entry. ab = fom_beta_quotient_pfp_convolution_bound_sourceleft_entry * S ((S (fom_index_pfp_convolution_bound_sourceleft)) * ac) + (fom_value_pfp_convolution_bound_sourceleft))) /\ (exists fom_gap_pfp_convolution_bound_sourceleft_value_bound. fom_gap_pfp_convolution_bound_sourceleft_value_bound + S (fom_value_pfp_convolution_bound_sourceleft) = p))) /\ (((forall fom_index_pfp_convolution_bound_sourceright. (exists fom_gap_pfp_convolution_bound_sourceright_index_bound. fom_gap_pfp_convolution_bound_sourceright_index_bound + S (fom_index_pfp_convolution_bound_sourceright) = M) -> exists fom_value_pfp_convolution_bound_sourceright. ((((exists fom_beta_height_pfp_convolution_bound_sourceright_entry. fom_beta_height_pfp_convolution_bound_sourceright_entry + S (fom_value_pfp_convolution_bound_sourceright) = S ((S (fom_index_pfp_convolution_bound_sourceright)) * bc)) /\ exists fom_beta_quotient_pfp_convolution_bound_sourceright_entry. bb = fom_beta_quotient_pfp_convolution_bound_sourceright_entry * S ((S (fom_index_pfp_convolution_bound_sourceright)) * bc) + (fom_value_pfp_convolution_bound_sourceright))) /\ (exists fom_gap_pfp_convolution_bound_sourceright_value_bound. fom_gap_pfp_convolution_bound_sourceright_value_bound + S (fom_value_pfp_convolution_bound_sourceright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_convolution_bound_sourcecoefficients. (exists pfa_gap_convolution_bound_sourcecoefficientsbound. pfa_gap_convolution_bound_sourcecoefficientsbound + S (pfc_index_convolution_bound_sourcecoefficients) = (N)) -> exists pfc_value_convolution_bound_sourcecoefficients. ((((exists ff_h_pfp_convolution_bound_sourcecoefficientsentry. ff_h_pfp_convolution_bound_sourcecoefficientsentry + S (pfc_value_convolution_bound_sourcecoefficients) = S ((S (pfc_index_convolution_bound_sourcecoefficients)) * cc)) /\ exists ff_q_pfp_convolution_bound_sourcecoefficientsentry. cb = ff_q_pfp_convolution_bound_sourcecoefficientsentry * S ((S (pfc_index_convolution_bound_sourcecoefficients)) * cc) + (pfc_value_convolution_bound_sourcecoefficients))) /\ ((exists pfc_terms_code_convolution_bound_sourcecoefficientscoefficient pfc_terms_scale_convolution_bound_sourcecoefficientscoefficient pfc_natural_sum_convolution_bound_sourcecoefficientscoefficient. ((forall pfc_index_convolution_bound_sourcecoefficientscoefficientdiagonal. (exists pfa_gap_convolution_bound_sourcecoefficientscoefficientdiagonalbound. pfa_gap_convolution_bound_sourcecoefficientscoefficientdiagonalbound + S (pfc_index_convolution_bound_sourcecoefficientscoefficientdiagonal) = (S (pfc_index_convolution_bound_sourcecoefficients))) -> exists pfc_value_convolution_bound_sourcecoefficientscoefficientdiagonal. ((((exists ff_h_pfp_convolution_bound_sourcecoefficientscoefficientdiagonalentry. ff_h_pfp_convolution_bound_sourcecoefficientscoefficientdiagonalentry + S (pfc_value_convolution_bound_sourcecoefficientscoefficientdiagonal) = S ((S (pfc_index_convolution_bound_sourcecoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_bound_sourcecoefficientscoefficient)) /\ exists ff_q_pfp_convolution_bound_sourcecoefficientscoefficientdiagonalentry. pfc_terms_code_convolution_bound_sourcecoefficientscoefficient = ff_q_pfp_convolution_bound_sourcecoefficientscoefficientdiagonalentry * S ((S (pfc_index_convolution_bound_sourcecoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_bound_sourcecoefficientscoefficient) + (pfc_value_convolution_bound_sourcecoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_convolution_bound_sourcecoefficientscoefficientdiagonalterm pfc_left_convolution_bound_sourcecoefficientscoefficientdiagonalterm pfc_right_convolution_bound_sourcecoefficientscoefficientdiagonalterm. (((pfc_index_convolution_bound_sourcecoefficientscoefficientdiagonal)+pfc_complement_convolution_bound_sourcecoefficientscoefficientdiagonalterm=(pfc_index_convolution_bound_sourcecoefficients)) /\ ((((((exists pfa_gap_convolution_bound_sourcecoefficientscoefficientdiagonaltermleftinside. pfa_gap_convolution_bound_sourcecoefficientscoefficientdiagonaltermleftinside + S (pfc_index_convolution_bound_sourcecoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_bound_sourcecoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_convolution_bound_sourcecoefficientscoefficientdiagonaltermleftentry + S (pfc_left_convolution_bound_sourcecoefficientscoefficientdiagonalterm) = S ((S (pfc_index_convolution_bound_sourcecoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_bound_sourcecoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_convolution_bound_sourcecoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_convolution_bound_sourcecoefficientscoefficientdiagonal)) * ac) + (pfc_left_convolution_bound_sourcecoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_bound_sourcecoefficientscoefficientdiagonaltermleftoutside. pfc_gap_convolution_bound_sourcecoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_convolution_bound_sourcecoefficientscoefficientdiagonal)) /\ (((pfc_left_convolution_bound_sourcecoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_bound_sourcecoefficientscoefficientdiagonaltermrightinside. pfa_gap_convolution_bound_sourcecoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_convolution_bound_sourcecoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_bound_sourcecoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_convolution_bound_sourcecoefficientscoefficientdiagonaltermrightentry + S (pfc_right_convolution_bound_sourcecoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_convolution_bound_sourcecoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_bound_sourcecoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_convolution_bound_sourcecoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_convolution_bound_sourcecoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_convolution_bound_sourcecoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_bound_sourcecoefficientscoefficientdiagonaltermrightoutside. pfc_gap_convolution_bound_sourcecoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_convolution_bound_sourcecoefficientscoefficientdiagonalterm)) /\ (((pfc_right_convolution_bound_sourcecoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_convolution_bound_sourcecoefficientscoefficientdiagonal)=pfc_left_convolution_bound_sourcecoefficientscoefficientdiagonalterm*pfc_right_convolution_bound_sourcecoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_bound_sourcecoefficientscoefficientsum fs_v_pfc_convolution_bound_sourcecoefficientscoefficientsum. ((((exists fs_h_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_start. fs_h_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_bound_sourcecoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_start. fs_u_pfc_convolution_bound_sourcecoefficientscoefficientsum = fs_q_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_convolution_bound_sourcecoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_terminal. fs_h_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_convolution_bound_sourcecoefficientscoefficient) = S ((S (S (pfc_index_convolution_bound_sourcecoefficients))) * fs_v_pfc_convolution_bound_sourcecoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_terminal. fs_u_pfc_convolution_bound_sourcecoefficientscoefficientsum = fs_q_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_convolution_bound_sourcecoefficients))) * fs_v_pfc_convolution_bound_sourcecoefficientscoefficientsum) + (pfc_natural_sum_convolution_bound_sourcecoefficientscoefficient))) /\ forall fs_i_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps = S (pfc_index_convolution_bound_sourcecoefficients)) -> exists fs_a_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps fs_r_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps fs_s_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_summand. fs_h_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_bound_sourcecoefficientscoefficient)) /\ exists fs_q_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_summand. pfc_terms_code_convolution_bound_sourcecoefficientscoefficient = fs_q_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_bound_sourcecoefficientscoefficient) + (fs_a_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_partial. fs_h_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_bound_sourcecoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_partial. fs_u_pfc_convolution_bound_sourcecoefficientscoefficientsum = fs_q_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_bound_sourcecoefficientscoefficientsum) + (fs_r_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_successor. fs_h_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_bound_sourcecoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_successor. fs_u_pfc_convolution_bound_sourcecoefficientscoefficientsum = fs_q_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_bound_sourcecoefficientscoefficientsum) + (fs_s_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps = fs_r_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps + fs_a_pfc_convolution_bound_sourcecoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_bound_sourcecoefficientscoefficientresiduebound. pfa_gap_convolution_bound_sourcecoefficientscoefficientresiduebound + S (pfc_value_convolution_bound_sourcecoefficients) = (p)) /\ ((exists pfa_offset_left_convolution_bound_sourcecoefficientscoefficientresiduecongruence pfa_offset_right_convolution_bound_sourcecoefficientscoefficientresiduecongruence. (pfc_natural_sum_convolution_bound_sourcecoefficientscoefficient) + (p) * pfa_offset_left_convolution_bound_sourcecoefficientscoefficientresiduecongruence = (pfc_value_convolution_bound_sourcecoefficients) + (p) * pfa_offset_right_convolution_bound_sourcecoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall fom_index_pfp_convolution_bound_result. (exists fom_gap_pfp_convolution_bound_result_index_bound. fom_gap_pfp_convolution_bound_result_index_bound + S (fom_index_pfp_convolution_bound_result) = N) -> exists fom_value_pfp_convolution_bound_result. ((((exists fom_beta_height_pfp_convolution_bound_result_entry. fom_beta_height_pfp_convolution_bound_result_entry + S (fom_value_pfp_convolution_bound_result) = S ((S (fom_index_pfp_convolution_bound_result)) * cc)) /\ exists fom_beta_quotient_pfp_convolution_bound_result_entry. cb = fom_beta_quotient_pfp_convolution_bound_result_entry * S ((S (fom_index_pfp_convolution_bound_result)) * cc) + (fom_value_pfp_convolution_bound_result))) /\ (exists fom_gap_pfp_convolution_bound_result_value_bound. fom_gap_pfp_convolution_bound_result_value_bound + S (fom_value_pfp_convolution_bound_result) = p)))
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro hcases hcases h_rightcases h_right_rightspecialize prime_field_convolution_prefix_bounded (p)specialize prime_field_convolution_prefix_bounded (ab)specialize prime_field_convolution_prefix_bounded (ac)specialize prime_field_convolution_prefix_bounded (L)specialize prime_field_convolution_prefix_bounded (bb)specialize prime_field_convolution_prefix_bounded (bc)specialize prime_field_convolution_prefix_bounded (M)specialize prime_field_convolution_prefix_bounded (cb)specialize prime_field_convolution_prefix_bounded (cc)specialize prime_field_convolution_prefix_bounded (N)apply prime_field_convolution_prefix_boundedexact h_right_right_right
prime_field_add_commutative · unchanged support, not a new admission
forall p a b c. (((exists pfa_gap_addcomm_sourceleft. pfa_gap_addcomm_sourceleft + S (a) = (p)) /\ (((exists pfa_gap_addcomm_sourceright. pfa_gap_addcomm_sourceright + S (b) = (p)) /\ ((((exists pfa_gap_addcomm_sourceresultbound. pfa_gap_addcomm_sourceresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_addcomm_sourceresultcongruence pfa_offset_right_addcomm_sourceresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_addcomm_sourceresultcongruence = (c) + (p) * pfa_offset_right_addcomm_sourceresultcongruence))))))))) -> (((exists pfa_gap_addcomm_targetleft. pfa_gap_addcomm_targetleft + S (b) = (p)) /\ (((exists pfa_gap_addcomm_targetright. pfa_gap_addcomm_targetright + S (a) = (p)) /\ ((((exists pfa_gap_addcomm_targetresultbound. pfa_gap_addcomm_targetresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_addcomm_targetresultcongruence pfa_offset_right_addcomm_targetresultcongruence. ((b) + (a)) + (p) * pfa_offset_left_addcomm_targetresultcongruence = (c) + (p) * pfa_offset_right_addcomm_targetresultcongruence)))))))))
intro pintro aintro bintro cintro hcases hcases h_rightsplitexact h_right_leftsplitexact h_leftspecialize prime_field_residue_input_equal (p)specialize prime_field_residue_input_equal (b + a)specialize prime_field_residue_input_equal (a + b)specialize prime_field_residue_input_equal (c)apply prime_field_residue_input_equalspecialize add_comm (b)specialize add_comm (a)apply add_commexact h_right_right
prime_field_mod_of_equal · unchanged support, not a new admission
forall p a b. a = b -> (exists pfa_offset_left_equal pfa_offset_right_equal. (a) + (p) * pfa_offset_left_equal = (b) + (p) * pfa_offset_right_equal)
intro pintro aintro bintro heqrewrite heqspecialize mod_eq_refl (p)specialize mod_eq_refl (b)apply mod_eq_refl
prime_field_add_zero_right · unchanged support, not a new admission
forall p a. (~((p) = 1) /\ forall pfa_factor_left_add_zero_domain pfa_factor_right_add_zero_domain. (p) = pfa_factor_left_add_zero_domain * pfa_factor_right_add_zero_domain -> pfa_factor_left_add_zero_domain = 1 \/ pfa_factor_right_add_zero_domain = 1) -> (exists pfa_gap_add_zero_bound. pfa_gap_add_zero_bound + S (a) = (p)) -> (((exists pfa_gap_add_zeroleft. pfa_gap_add_zeroleft + S (a) = (p)) /\ (((exists pfa_gap_add_zeroright. pfa_gap_add_zeroright + S (0) = (p)) /\ ((((exists pfa_gap_add_zeroresultbound. pfa_gap_add_zeroresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_add_zeroresultcongruence pfa_offset_right_add_zeroresultcongruence. ((a) + (0)) + (p) * pfa_offset_left_add_zeroresultcongruence = (a) + (p) * pfa_offset_right_add_zeroresultcongruence)))))))))
intro pintro aintro hpintro hasplitexact hasplitspecialize prime_field_zero_below_prime (p)apply prime_field_zero_below_primeexact hpsplitexact haspecialize prime_field_mod_of_equal (p)specialize prime_field_mod_of_equal (a + 0)specialize prime_field_mod_of_equal (a)apply prime_field_mod_of_equalapply PA3
prime_field_add_zero_left · unchanged support, not a new admission
forall p a. (~((p) = 1) /\ forall pfa_factor_left_zero_add_domain pfa_factor_right_zero_add_domain. (p) = pfa_factor_left_zero_add_domain * pfa_factor_right_zero_add_domain -> pfa_factor_left_zero_add_domain = 1 \/ pfa_factor_right_zero_add_domain = 1) -> (exists pfa_gap_zero_add_bound. pfa_gap_zero_add_bound + S (a) = (p)) -> (((exists pfa_gap_zero_addleft. pfa_gap_zero_addleft + S (0) = (p)) /\ (((exists pfa_gap_zero_addright. pfa_gap_zero_addright + S (a) = (p)) /\ ((((exists pfa_gap_zero_addresultbound. pfa_gap_zero_addresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_zero_addresultcongruence pfa_offset_right_zero_addresultcongruence. ((0) + (a)) + (p) * pfa_offset_left_zero_addresultcongruence = (a) + (p) * pfa_offset_right_zero_addresultcongruence)))))))))
intro pintro aintro hpintro haspecialize prime_field_add_commutative (p)specialize prime_field_add_commutative (a)specialize prime_field_add_commutative (0)specialize prime_field_add_commutative (a)apply prime_field_add_commutativespecialize prime_field_add_zero_right (p)specialize prime_field_add_zero_right (a)apply prime_field_add_zero_rightexact hpexact ha
prime_field_polynomial_left_pad_exists · unchanged support, not a new admission
forall b c t L. exists d e. (((forall pfp_repeat_index_left_pad_existszeros. (exists pfa_gap_left_pad_existszerosindex. pfa_gap_left_pad_existszerosindex + S (pfp_repeat_index_left_pad_existszeros) = (t)) -> (((exists ff_h_pfp_left_pad_existszerosentry. ff_h_pfp_left_pad_existszerosentry + S (0) = S ((S (pfp_repeat_index_left_pad_existszeros)) * e)) /\ exists ff_q_pfp_left_pad_existszerosentry. d = ff_q_pfp_left_pad_existszerosentry * S ((S (pfp_repeat_index_left_pad_existszeros)) * e) + (0)))) /\ ((forall pfrep_index_left_pad_exists pfrep_value_left_pad_exists. (exists pfa_gap_left_pad_existsbound. pfa_gap_left_pad_existsbound + S (pfrep_index_left_pad_exists) = (L)) -> (((exists ff_h_pfp_left_pad_existsinput. ff_h_pfp_left_pad_existsinput + S (pfrep_value_left_pad_exists) = S ((S (pfrep_index_left_pad_exists)) * c)) /\ exists ff_q_pfp_left_pad_existsinput. b = ff_q_pfp_left_pad_existsinput * S ((S (pfrep_index_left_pad_exists)) * c) + (pfrep_value_left_pad_exists))) -> (((exists ff_h_pfp_left_pad_existsoutput. ff_h_pfp_left_pad_existsoutput + S (pfrep_value_left_pad_exists) = S ((S ((t)+pfrep_index_left_pad_exists)) * e)) /\ exists ff_q_pfp_left_pad_existsoutput. d = ff_q_pfp_left_pad_existsoutput * S ((S ((t)+pfrep_index_left_pad_exists)) * e) + (pfrep_value_left_pad_exists)))))))
intro bintro cintro tinduction Lhave hz : exists d e. (forall pfp_repeat_index_left_pad_empty_zeros. (exists pfa_gap_left_pad_empty_zerosindex. pfa_gap_left_pad_empty_zerosindex + S (pfp_repeat_index_left_pad_empty_zeros) = (t)) -> (((exists ff_h_pfp_left_pad_empty_zerosentry. ff_h_pfp_left_pad_empty_zerosentry + S (0) = S ((S (pfp_repeat_index_left_pad_empty_zeros)) * e)) /\ exists ff_q_pfp_left_pad_empty_zerosentry. d = ff_q_pfp_left_pad_empty_zerosentry * S ((S (pfp_repeat_index_left_pad_empty_zeros)) * e) + (0))))specialize beta_repeat_exists (0)specialize beta_repeat_exists (t)apply beta_repeat_existscases hzcases hz_witnessexists xexists x1splitexact hz_witness_witnessintro iintro aintro hiintro haexfalsospecialize matrix_rank_no_index_below_zero (i)apply matrix_rank_no_index_below_zeroexact hihave hold : exists d e. (((forall pfp_repeat_index_left_pad_previouszeros. (exists pfa_gap_left_pad_previouszerosindex. pfa_gap_left_pad_previouszerosindex + S (pfp_repeat_index_left_pad_previouszeros) = (t)) -> (((exists ff_h_pfp_left_pad_previouszerosentry. ff_h_pfp_left_pad_previouszerosentry + S (0) = S ((S (pfp_repeat_index_left_pad_previouszeros)) * e)) /\ exists ff_q_pfp_left_pad_previouszerosentry. d = ff_q_pfp_left_pad_previouszerosentry * S ((S (pfp_repeat_index_left_pad_previouszeros)) * e) + (0)))) /\ ((forall pfrep_index_left_pad_previous pfrep_value_left_pad_previous. (exists pfa_gap_left_pad_previousbound. pfa_gap_left_pad_previousbound + S (pfrep_index_left_pad_previous) = (L)) -> (((exists ff_h_pfp_left_pad_previousinput. ff_h_pfp_left_pad_previousinput + S (pfrep_value_left_pad_previous) = S ((S (pfrep_index_left_pad_previous)) * c)) /\ exists ff_q_pfp_left_pad_previousinput. b = ff_q_pfp_left_pad_previousinput * S ((S (pfrep_index_left_pad_previous)) * c) + (pfrep_value_left_pad_previous))) -> (((exists ff_h_pfp_left_pad_previousoutput. ff_h_pfp_left_pad_previousoutput + S (pfrep_value_left_pad_previous) = S ((S ((t)+pfrep_index_left_pad_previous)) * e)) /\ exists ff_q_pfp_left_pad_previousoutput. d = ff_q_pfp_left_pad_previousoutput * S ((S ((t)+pfrep_index_left_pad_previous)) * e) + (pfrep_value_left_pad_previous)))))))exact IHcases holdcases hold_witnesscases hold_witness_witnesshave ha : exists a. (((exists ff_h_pfp_left_pad_next_source. ff_h_pfp_left_pad_next_source + S (a) = S ((S (L)) * c)) /\ exists ff_q_pfp_left_pad_next_source. b = ff_q_pfp_left_pad_next_source * S ((S (L)) * c) + (a)))specialize beta_at_exists (b)specialize beta_at_exists (c)specialize beta_at_exists (L)apply beta_at_existscases hahave hn : exists d e. (((((exists ff_h_pfp_left_pad_next_entry. ff_h_pfp_left_pad_next_entry + S (x2) = S ((S (t+L)) * e)) /\ exists ff_q_pfp_left_pad_next_entry. d = ff_q_pfp_left_pad_next_entry * S ((S (t+L)) * e) + (x2))) /\ ((forall mdr_i_pfp_left_pad_preserved mdr_a_pfp_left_pad_preserved. (exists mdr_gap_pfp_left_pad_preservedb. mdr_gap_pfp_left_pad_preservedb + S (mdr_i_pfp_left_pad_preserved) = (t+L)) -> (((exists ff_h_mdr_pfp_left_pad_preservedo. ff_h_mdr_pfp_left_pad_preservedo + S (mdr_a_pfp_left_pad_preserved) = S ((S (mdr_i_pfp_left_pad_preserved)) * x1)) /\ exists ff_q_mdr_pfp_left_pad_preservedo. x = ff_q_mdr_pfp_left_pad_preservedo * S ((S (mdr_i_pfp_left_pad_preserved)) * x1) + (mdr_a_pfp_left_pad_preserved))) -> (((exists ff_h_mdr_pfp_left_pad_preservedn. ff_h_mdr_pfp_left_pad_preservedn + S (mdr_a_pfp_left_pad_preserved) = S ((S (mdr_i_pfp_left_pad_preserved)) * e)) /\ exists ff_q_mdr_pfp_left_pad_preservedn. d = ff_q_mdr_pfp_left_pad_preservedn * S ((S (mdr_i_pfp_left_pad_preserved)) * e) + (mdr_a_pfp_left_pad_preserved)))))))specialize beta_prefix_extend (t+L)specialize beta_prefix_extend (x)specialize beta_prefix_extend (x1)specialize beta_prefix_extend (x2)apply beta_prefix_extendcases hncases hn_witnesscases hn_witness_witnessexists x3exists x4splitintro iintro hispecialize hn_witness_witness_right (i)specialize hn_witness_witness_right (0)apply hn_witness_witness_rightspecialize lt_of_lt_of_le (i)specialize lt_of_lt_of_le (t)specialize lt_of_lt_of_le (t+L)apply lt_of_lt_of_leexact hispecialize le_add_right (t)specialize le_add_right (L)apply le_add_rightspecialize hold_witness_witness_left (i)apply hold_witness_witness_leftexact hiintro iintro aintro hiintro ha0have ho : i=L \/ (exists pfa_gap_left_pad_old_index. pfa_gap_left_pad_old_index + S (i) = (L))specialize finite_lt_succ_eq_or_lt (L)specialize finite_lt_succ_eq_or_lt (i)apply finite_lt_succ_eq_or_ltexact hicases horewrite ho_leftrewrite ho_lefthave heq : a=x2specialize beta_at_unique (b)specialize beta_at_unique (c)specialize beta_at_unique (L)specialize beta_at_unique (a)specialize beta_at_unique (x2)apply beta_at_uniquerewrite ho_left at ha0rewrite ho_left at ha0exact ha0exact ha_witnessrewrite heqrewrite heqexact hn_witness_witness_leftspecialize hn_witness_witness_right (t+i)specialize hn_witness_witness_right (a)apply hn_witness_witness_rightspecialize matrix_recursive_lt_add_left (i)specialize matrix_recursive_lt_add_left (L)specialize matrix_recursive_lt_add_left (t)apply matrix_recursive_lt_add_leftexact ho_rightspecialize hold_witness_witness_right (i)specialize hold_witness_witness_right (a)apply hold_witness_witness_rightexact ho_rightexact ha0
beta_sum_pointwise_mod_add · unchanged support, not a new admission
forall p ab ac bb bc cb cc L A B C. (exists fs_u_pfc_distribution_sum_a fs_v_pfc_distribution_sum_a. ((((exists fs_h_pfc_distribution_sum_a_body_start. fs_h_pfc_distribution_sum_a_body_start + S (0) = S ((S (0)) * fs_v_pfc_distribution_sum_a)) /\ exists fs_q_pfc_distribution_sum_a_body_start. fs_u_pfc_distribution_sum_a = fs_q_pfc_distribution_sum_a_body_start * S ((S (0)) * fs_v_pfc_distribution_sum_a) + (0))) /\ ((((exists fs_h_pfc_distribution_sum_a_body_terminal. fs_h_pfc_distribution_sum_a_body_terminal + S (A) = S ((S (L)) * fs_v_pfc_distribution_sum_a)) /\ exists fs_q_pfc_distribution_sum_a_body_terminal. fs_u_pfc_distribution_sum_a = fs_q_pfc_distribution_sum_a_body_terminal * S ((S (L)) * fs_v_pfc_distribution_sum_a) + (A))) /\ forall fs_i_pfc_distribution_sum_a_body_steps. (exists fs_lt_pfc_distribution_sum_a_body_steps_bound. fs_lt_pfc_distribution_sum_a_body_steps_bound + S fs_i_pfc_distribution_sum_a_body_steps = L) -> exists fs_a_pfc_distribution_sum_a_body_steps fs_r_pfc_distribution_sum_a_body_steps fs_s_pfc_distribution_sum_a_body_steps. ((((exists fs_h_pfc_distribution_sum_a_body_steps_summand. fs_h_pfc_distribution_sum_a_body_steps_summand + S (fs_a_pfc_distribution_sum_a_body_steps) = S ((S (fs_i_pfc_distribution_sum_a_body_steps)) * ac)) /\ exists fs_q_pfc_distribution_sum_a_body_steps_summand. ab = fs_q_pfc_distribution_sum_a_body_steps_summand * S ((S (fs_i_pfc_distribution_sum_a_body_steps)) * ac) + (fs_a_pfc_distribution_sum_a_body_steps))) /\ ((((exists fs_h_pfc_distribution_sum_a_body_steps_partial. fs_h_pfc_distribution_sum_a_body_steps_partial + S (fs_r_pfc_distribution_sum_a_body_steps) = S ((S (fs_i_pfc_distribution_sum_a_body_steps)) * fs_v_pfc_distribution_sum_a)) /\ exists fs_q_pfc_distribution_sum_a_body_steps_partial. fs_u_pfc_distribution_sum_a = fs_q_pfc_distribution_sum_a_body_steps_partial * S ((S (fs_i_pfc_distribution_sum_a_body_steps)) * fs_v_pfc_distribution_sum_a) + (fs_r_pfc_distribution_sum_a_body_steps))) /\ ((((exists fs_h_pfc_distribution_sum_a_body_steps_successor. fs_h_pfc_distribution_sum_a_body_steps_successor + S (fs_s_pfc_distribution_sum_a_body_steps) = S ((S (S fs_i_pfc_distribution_sum_a_body_steps)) * fs_v_pfc_distribution_sum_a)) /\ exists fs_q_pfc_distribution_sum_a_body_steps_successor. fs_u_pfc_distribution_sum_a = fs_q_pfc_distribution_sum_a_body_steps_successor * S ((S (S fs_i_pfc_distribution_sum_a_body_steps)) * fs_v_pfc_distribution_sum_a) + (fs_s_pfc_distribution_sum_a_body_steps))) /\ fs_s_pfc_distribution_sum_a_body_steps = fs_r_pfc_distribution_sum_a_body_steps + fs_a_pfc_distribution_sum_a_body_steps)))))) -> (exists fs_u_pfc_distribution_sum_b fs_v_pfc_distribution_sum_b. ((((exists fs_h_pfc_distribution_sum_b_body_start. fs_h_pfc_distribution_sum_b_body_start + S (0) = S ((S (0)) * fs_v_pfc_distribution_sum_b)) /\ exists fs_q_pfc_distribution_sum_b_body_start. fs_u_pfc_distribution_sum_b = fs_q_pfc_distribution_sum_b_body_start * S ((S (0)) * fs_v_pfc_distribution_sum_b) + (0))) /\ ((((exists fs_h_pfc_distribution_sum_b_body_terminal. fs_h_pfc_distribution_sum_b_body_terminal + S (B) = S ((S (L)) * fs_v_pfc_distribution_sum_b)) /\ exists fs_q_pfc_distribution_sum_b_body_terminal. fs_u_pfc_distribution_sum_b = fs_q_pfc_distribution_sum_b_body_terminal * S ((S (L)) * fs_v_pfc_distribution_sum_b) + (B))) /\ forall fs_i_pfc_distribution_sum_b_body_steps. (exists fs_lt_pfc_distribution_sum_b_body_steps_bound. fs_lt_pfc_distribution_sum_b_body_steps_bound + S fs_i_pfc_distribution_sum_b_body_steps = L) -> exists fs_a_pfc_distribution_sum_b_body_steps fs_r_pfc_distribution_sum_b_body_steps fs_s_pfc_distribution_sum_b_body_steps. ((((exists fs_h_pfc_distribution_sum_b_body_steps_summand. fs_h_pfc_distribution_sum_b_body_steps_summand + S (fs_a_pfc_distribution_sum_b_body_steps) = S ((S (fs_i_pfc_distribution_sum_b_body_steps)) * bc)) /\ exists fs_q_pfc_distribution_sum_b_body_steps_summand. bb = fs_q_pfc_distribution_sum_b_body_steps_summand * S ((S (fs_i_pfc_distribution_sum_b_body_steps)) * bc) + (fs_a_pfc_distribution_sum_b_body_steps))) /\ ((((exists fs_h_pfc_distribution_sum_b_body_steps_partial. fs_h_pfc_distribution_sum_b_body_steps_partial + S (fs_r_pfc_distribution_sum_b_body_steps) = S ((S (fs_i_pfc_distribution_sum_b_body_steps)) * fs_v_pfc_distribution_sum_b)) /\ exists fs_q_pfc_distribution_sum_b_body_steps_partial. fs_u_pfc_distribution_sum_b = fs_q_pfc_distribution_sum_b_body_steps_partial * S ((S (fs_i_pfc_distribution_sum_b_body_steps)) * fs_v_pfc_distribution_sum_b) + (fs_r_pfc_distribution_sum_b_body_steps))) /\ ((((exists fs_h_pfc_distribution_sum_b_body_steps_successor. fs_h_pfc_distribution_sum_b_body_steps_successor + S (fs_s_pfc_distribution_sum_b_body_steps) = S ((S (S fs_i_pfc_distribution_sum_b_body_steps)) * fs_v_pfc_distribution_sum_b)) /\ exists fs_q_pfc_distribution_sum_b_body_steps_successor. fs_u_pfc_distribution_sum_b = fs_q_pfc_distribution_sum_b_body_steps_successor * S ((S (S fs_i_pfc_distribution_sum_b_body_steps)) * fs_v_pfc_distribution_sum_b) + (fs_s_pfc_distribution_sum_b_body_steps))) /\ fs_s_pfc_distribution_sum_b_body_steps = fs_r_pfc_distribution_sum_b_body_steps + fs_a_pfc_distribution_sum_b_body_steps)))))) -> (exists fs_u_pfc_distribution_sum_c fs_v_pfc_distribution_sum_c. ((((exists fs_h_pfc_distribution_sum_c_body_start. fs_h_pfc_distribution_sum_c_body_start + S (0) = S ((S (0)) * fs_v_pfc_distribution_sum_c)) /\ exists fs_q_pfc_distribution_sum_c_body_start. fs_u_pfc_distribution_sum_c = fs_q_pfc_distribution_sum_c_body_start * S ((S (0)) * fs_v_pfc_distribution_sum_c) + (0))) /\ ((((exists fs_h_pfc_distribution_sum_c_body_terminal. fs_h_pfc_distribution_sum_c_body_terminal + S (C) = S ((S (L)) * fs_v_pfc_distribution_sum_c)) /\ exists fs_q_pfc_distribution_sum_c_body_terminal. fs_u_pfc_distribution_sum_c = fs_q_pfc_distribution_sum_c_body_terminal * S ((S (L)) * fs_v_pfc_distribution_sum_c) + (C))) /\ forall fs_i_pfc_distribution_sum_c_body_steps. (exists fs_lt_pfc_distribution_sum_c_body_steps_bound. fs_lt_pfc_distribution_sum_c_body_steps_bound + S fs_i_pfc_distribution_sum_c_body_steps = L) -> exists fs_a_pfc_distribution_sum_c_body_steps fs_r_pfc_distribution_sum_c_body_steps fs_s_pfc_distribution_sum_c_body_steps. ((((exists fs_h_pfc_distribution_sum_c_body_steps_summand. fs_h_pfc_distribution_sum_c_body_steps_summand + S (fs_a_pfc_distribution_sum_c_body_steps) = S ((S (fs_i_pfc_distribution_sum_c_body_steps)) * cc)) /\ exists fs_q_pfc_distribution_sum_c_body_steps_summand. cb = fs_q_pfc_distribution_sum_c_body_steps_summand * S ((S (fs_i_pfc_distribution_sum_c_body_steps)) * cc) + (fs_a_pfc_distribution_sum_c_body_steps))) /\ ((((exists fs_h_pfc_distribution_sum_c_body_steps_partial. fs_h_pfc_distribution_sum_c_body_steps_partial + S (fs_r_pfc_distribution_sum_c_body_steps) = S ((S (fs_i_pfc_distribution_sum_c_body_steps)) * fs_v_pfc_distribution_sum_c)) /\ exists fs_q_pfc_distribution_sum_c_body_steps_partial. fs_u_pfc_distribution_sum_c = fs_q_pfc_distribution_sum_c_body_steps_partial * S ((S (fs_i_pfc_distribution_sum_c_body_steps)) * fs_v_pfc_distribution_sum_c) + (fs_r_pfc_distribution_sum_c_body_steps))) /\ ((((exists fs_h_pfc_distribution_sum_c_body_steps_successor. fs_h_pfc_distribution_sum_c_body_steps_successor + S (fs_s_pfc_distribution_sum_c_body_steps) = S ((S (S fs_i_pfc_distribution_sum_c_body_steps)) * fs_v_pfc_distribution_sum_c)) /\ exists fs_q_pfc_distribution_sum_c_body_steps_successor. fs_u_pfc_distribution_sum_c = fs_q_pfc_distribution_sum_c_body_steps_successor * S ((S (S fs_i_pfc_distribution_sum_c_body_steps)) * fs_v_pfc_distribution_sum_c) + (fs_s_pfc_distribution_sum_c_body_steps))) /\ fs_s_pfc_distribution_sum_c_body_steps = fs_r_pfc_distribution_sum_c_body_steps + fs_a_pfc_distribution_sum_c_body_steps)))))) -> (forall i a b c. (exists pfa_gap_distribution_sum_pointwise_bound. pfa_gap_distribution_sum_pointwise_bound + S (i) = (L)) -> (((exists ff_h_pfp_distribution_sum_pointwise_a. ff_h_pfp_distribution_sum_pointwise_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_distribution_sum_pointwise_a. ab = ff_q_pfp_distribution_sum_pointwise_a * S ((S (i)) * ac) + (a))) -> (((exists ff_h_pfp_distribution_sum_pointwise_b. ff_h_pfp_distribution_sum_pointwise_b + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_distribution_sum_pointwise_b. bb = ff_q_pfp_distribution_sum_pointwise_b * S ((S (i)) * bc) + (b))) -> (((exists ff_h_pfp_distribution_sum_pointwise_c. ff_h_pfp_distribution_sum_pointwise_c + S (c) = S ((S (i)) * cc)) /\ exists ff_q_pfp_distribution_sum_pointwise_c. cb = ff_q_pfp_distribution_sum_pointwise_c * S ((S (i)) * cc) + (c))) -> (exists pfa_offset_left_distribution_sum_pointwise_value pfa_offset_right_distribution_sum_pointwise_value. (a+b) + (p) * pfa_offset_left_distribution_sum_pointwise_value = (c) + (p) * pfa_offset_right_distribution_sum_pointwise_value)) -> (exists pfa_offset_left_distribution_sum_result pfa_offset_right_distribution_sum_result. (A+B) + (p) * pfa_offset_left_distribution_sum_result = (C) + (p) * pfa_offset_right_distribution_sum_result)
intro pintro abintro acintro bbintro bcintro cbintro ccinduction Lintro Aintro Bintro Cintro haintro hbintro hcintro hpwhave hA : A=0specialize beta_sum_zero (ab)specialize beta_sum_zero (ac)specialize beta_sum_zero (A)apply beta_sum_zeroexact hahave hB : B=0specialize beta_sum_zero (bb)specialize beta_sum_zero (bc)specialize beta_sum_zero (B)apply beta_sum_zeroexact hbhave hC : C=0specialize beta_sum_zero (cb)specialize beta_sum_zero (cc)specialize beta_sum_zero (C)apply beta_sum_zeroexact hcrewrite hArewrite hBrewrite hCexists 0exists 0simpintro Aintro Bintro Cintro haintro hbintro hcintro hpwhave hda : exists a r. ((((exists ff_h_pfp_hda_entry. ff_h_pfp_hda_entry + S (a) = S ((S (L)) * ac)) /\ exists ff_q_pfp_hda_entry. ab = ff_q_pfp_hda_entry * S ((S (L)) * ac) + (a))) /\ (((exists fs_u_pfc_hda_prefix fs_v_pfc_hda_prefix. ((((exists fs_h_pfc_hda_prefix_body_start. fs_h_pfc_hda_prefix_body_start + S (0) = S ((S (0)) * fs_v_pfc_hda_prefix)) /\ exists fs_q_pfc_hda_prefix_body_start. fs_u_pfc_hda_prefix = fs_q_pfc_hda_prefix_body_start * S ((S (0)) * fs_v_pfc_hda_prefix) + (0))) /\ ((((exists fs_h_pfc_hda_prefix_body_terminal. fs_h_pfc_hda_prefix_body_terminal + S (r) = S ((S (L)) * fs_v_pfc_hda_prefix)) /\ exists fs_q_pfc_hda_prefix_body_terminal. fs_u_pfc_hda_prefix = fs_q_pfc_hda_prefix_body_terminal * S ((S (L)) * fs_v_pfc_hda_prefix) + (r))) /\ forall fs_i_pfc_hda_prefix_body_steps. (exists fs_lt_pfc_hda_prefix_body_steps_bound. fs_lt_pfc_hda_prefix_body_steps_bound + S fs_i_pfc_hda_prefix_body_steps = L) -> exists fs_a_pfc_hda_prefix_body_steps fs_r_pfc_hda_prefix_body_steps fs_s_pfc_hda_prefix_body_steps. ((((exists fs_h_pfc_hda_prefix_body_steps_summand. fs_h_pfc_hda_prefix_body_steps_summand + S (fs_a_pfc_hda_prefix_body_steps) = S ((S (fs_i_pfc_hda_prefix_body_steps)) * ac)) /\ exists fs_q_pfc_hda_prefix_body_steps_summand. ab = fs_q_pfc_hda_prefix_body_steps_summand * S ((S (fs_i_pfc_hda_prefix_body_steps)) * ac) + (fs_a_pfc_hda_prefix_body_steps))) /\ ((((exists fs_h_pfc_hda_prefix_body_steps_partial. fs_h_pfc_hda_prefix_body_steps_partial + S (fs_r_pfc_hda_prefix_body_steps) = S ((S (fs_i_pfc_hda_prefix_body_steps)) * fs_v_pfc_hda_prefix)) /\ exists fs_q_pfc_hda_prefix_body_steps_partial. fs_u_pfc_hda_prefix = fs_q_pfc_hda_prefix_body_steps_partial * S ((S (fs_i_pfc_hda_prefix_body_steps)) * fs_v_pfc_hda_prefix) + (fs_r_pfc_hda_prefix_body_steps))) /\ ((((exists fs_h_pfc_hda_prefix_body_steps_successor. fs_h_pfc_hda_prefix_body_steps_successor + S (fs_s_pfc_hda_prefix_body_steps) = S ((S (S fs_i_pfc_hda_prefix_body_steps)) * fs_v_pfc_hda_prefix)) /\ exists fs_q_pfc_hda_prefix_body_steps_successor. fs_u_pfc_hda_prefix = fs_q_pfc_hda_prefix_body_steps_successor * S ((S (S fs_i_pfc_hda_prefix_body_steps)) * fs_v_pfc_hda_prefix) + (fs_s_pfc_hda_prefix_body_steps))) /\ fs_s_pfc_hda_prefix_body_steps = fs_r_pfc_hda_prefix_body_steps + fs_a_pfc_hda_prefix_body_steps)))))) /\ ((A=r+a)))))specialize beta_sum_succ_decompose (ab)specialize beta_sum_succ_decompose (ac)specialize beta_sum_succ_decompose (L)specialize beta_sum_succ_decompose (A)apply beta_sum_succ_decomposeexact hacases hdacases hda_witnesscases hda_witness_witnesscases hda_witness_witness_righthave hdb : exists a r. ((((exists ff_h_pfp_hdb_entry. ff_h_pfp_hdb_entry + S (a) = S ((S (L)) * bc)) /\ exists ff_q_pfp_hdb_entry. bb = ff_q_pfp_hdb_entry * S ((S (L)) * bc) + (a))) /\ (((exists fs_u_pfc_hdb_prefix fs_v_pfc_hdb_prefix. ((((exists fs_h_pfc_hdb_prefix_body_start. fs_h_pfc_hdb_prefix_body_start + S (0) = S ((S (0)) * fs_v_pfc_hdb_prefix)) /\ exists fs_q_pfc_hdb_prefix_body_start. fs_u_pfc_hdb_prefix = fs_q_pfc_hdb_prefix_body_start * S ((S (0)) * fs_v_pfc_hdb_prefix) + (0))) /\ ((((exists fs_h_pfc_hdb_prefix_body_terminal. fs_h_pfc_hdb_prefix_body_terminal + S (r) = S ((S (L)) * fs_v_pfc_hdb_prefix)) /\ exists fs_q_pfc_hdb_prefix_body_terminal. fs_u_pfc_hdb_prefix = fs_q_pfc_hdb_prefix_body_terminal * S ((S (L)) * fs_v_pfc_hdb_prefix) + (r))) /\ forall fs_i_pfc_hdb_prefix_body_steps. (exists fs_lt_pfc_hdb_prefix_body_steps_bound. fs_lt_pfc_hdb_prefix_body_steps_bound + S fs_i_pfc_hdb_prefix_body_steps = L) -> exists fs_a_pfc_hdb_prefix_body_steps fs_r_pfc_hdb_prefix_body_steps fs_s_pfc_hdb_prefix_body_steps. ((((exists fs_h_pfc_hdb_prefix_body_steps_summand. fs_h_pfc_hdb_prefix_body_steps_summand + S (fs_a_pfc_hdb_prefix_body_steps) = S ((S (fs_i_pfc_hdb_prefix_body_steps)) * bc)) /\ exists fs_q_pfc_hdb_prefix_body_steps_summand. bb = fs_q_pfc_hdb_prefix_body_steps_summand * S ((S (fs_i_pfc_hdb_prefix_body_steps)) * bc) + (fs_a_pfc_hdb_prefix_body_steps))) /\ ((((exists fs_h_pfc_hdb_prefix_body_steps_partial. fs_h_pfc_hdb_prefix_body_steps_partial + S (fs_r_pfc_hdb_prefix_body_steps) = S ((S (fs_i_pfc_hdb_prefix_body_steps)) * fs_v_pfc_hdb_prefix)) /\ exists fs_q_pfc_hdb_prefix_body_steps_partial. fs_u_pfc_hdb_prefix = fs_q_pfc_hdb_prefix_body_steps_partial * S ((S (fs_i_pfc_hdb_prefix_body_steps)) * fs_v_pfc_hdb_prefix) + (fs_r_pfc_hdb_prefix_body_steps))) /\ ((((exists fs_h_pfc_hdb_prefix_body_steps_successor. fs_h_pfc_hdb_prefix_body_steps_successor + S (fs_s_pfc_hdb_prefix_body_steps) = S ((S (S fs_i_pfc_hdb_prefix_body_steps)) * fs_v_pfc_hdb_prefix)) /\ exists fs_q_pfc_hdb_prefix_body_steps_successor. fs_u_pfc_hdb_prefix = fs_q_pfc_hdb_prefix_body_steps_successor * S ((S (S fs_i_pfc_hdb_prefix_body_steps)) * fs_v_pfc_hdb_prefix) + (fs_s_pfc_hdb_prefix_body_steps))) /\ fs_s_pfc_hdb_prefix_body_steps = fs_r_pfc_hdb_prefix_body_steps + fs_a_pfc_hdb_prefix_body_steps)))))) /\ ((B=r+a)))))specialize beta_sum_succ_decompose (bb)specialize beta_sum_succ_decompose (bc)specialize beta_sum_succ_decompose (L)specialize beta_sum_succ_decompose (B)apply beta_sum_succ_decomposeexact hbcases hdbcases hdb_witnesscases hdb_witness_witnesscases hdb_witness_witness_righthave hdc : exists a r. ((((exists ff_h_pfp_hdc_entry. ff_h_pfp_hdc_entry + S (a) = S ((S (L)) * cc)) /\ exists ff_q_pfp_hdc_entry. cb = ff_q_pfp_hdc_entry * S ((S (L)) * cc) + (a))) /\ (((exists fs_u_pfc_hdc_prefix fs_v_pfc_hdc_prefix. ((((exists fs_h_pfc_hdc_prefix_body_start. fs_h_pfc_hdc_prefix_body_start + S (0) = S ((S (0)) * fs_v_pfc_hdc_prefix)) /\ exists fs_q_pfc_hdc_prefix_body_start. fs_u_pfc_hdc_prefix = fs_q_pfc_hdc_prefix_body_start * S ((S (0)) * fs_v_pfc_hdc_prefix) + (0))) /\ ((((exists fs_h_pfc_hdc_prefix_body_terminal. fs_h_pfc_hdc_prefix_body_terminal + S (r) = S ((S (L)) * fs_v_pfc_hdc_prefix)) /\ exists fs_q_pfc_hdc_prefix_body_terminal. fs_u_pfc_hdc_prefix = fs_q_pfc_hdc_prefix_body_terminal * S ((S (L)) * fs_v_pfc_hdc_prefix) + (r))) /\ forall fs_i_pfc_hdc_prefix_body_steps. (exists fs_lt_pfc_hdc_prefix_body_steps_bound. fs_lt_pfc_hdc_prefix_body_steps_bound + S fs_i_pfc_hdc_prefix_body_steps = L) -> exists fs_a_pfc_hdc_prefix_body_steps fs_r_pfc_hdc_prefix_body_steps fs_s_pfc_hdc_prefix_body_steps. ((((exists fs_h_pfc_hdc_prefix_body_steps_summand. fs_h_pfc_hdc_prefix_body_steps_summand + S (fs_a_pfc_hdc_prefix_body_steps) = S ((S (fs_i_pfc_hdc_prefix_body_steps)) * cc)) /\ exists fs_q_pfc_hdc_prefix_body_steps_summand. cb = fs_q_pfc_hdc_prefix_body_steps_summand * S ((S (fs_i_pfc_hdc_prefix_body_steps)) * cc) + (fs_a_pfc_hdc_prefix_body_steps))) /\ ((((exists fs_h_pfc_hdc_prefix_body_steps_partial. fs_h_pfc_hdc_prefix_body_steps_partial + S (fs_r_pfc_hdc_prefix_body_steps) = S ((S (fs_i_pfc_hdc_prefix_body_steps)) * fs_v_pfc_hdc_prefix)) /\ exists fs_q_pfc_hdc_prefix_body_steps_partial. fs_u_pfc_hdc_prefix = fs_q_pfc_hdc_prefix_body_steps_partial * S ((S (fs_i_pfc_hdc_prefix_body_steps)) * fs_v_pfc_hdc_prefix) + (fs_r_pfc_hdc_prefix_body_steps))) /\ ((((exists fs_h_pfc_hdc_prefix_body_steps_successor. fs_h_pfc_hdc_prefix_body_steps_successor + S (fs_s_pfc_hdc_prefix_body_steps) = S ((S (S fs_i_pfc_hdc_prefix_body_steps)) * fs_v_pfc_hdc_prefix)) /\ exists fs_q_pfc_hdc_prefix_body_steps_successor. fs_u_pfc_hdc_prefix = fs_q_pfc_hdc_prefix_body_steps_successor * S ((S (S fs_i_pfc_hdc_prefix_body_steps)) * fs_v_pfc_hdc_prefix) + (fs_s_pfc_hdc_prefix_body_steps))) /\ fs_s_pfc_hdc_prefix_body_steps = fs_r_pfc_hdc_prefix_body_steps + fs_a_pfc_hdc_prefix_body_steps)))))) /\ ((C=r+a)))))specialize beta_sum_succ_decompose (cb)specialize beta_sum_succ_decompose (cc)specialize beta_sum_succ_decompose (L)specialize beta_sum_succ_decompose (C)apply beta_sum_succ_decomposeexact hccases hdccases hdc_witnesscases hdc_witness_witnesscases hdc_witness_witness_righthave hprefix : exists pfa_offset_left_distribution_sum_prefix pfa_offset_right_distribution_sum_prefix. (x1+x3) + (p) * pfa_offset_left_distribution_sum_prefix = (x5) + (p) * pfa_offset_right_distribution_sum_prefixspecialize IH (x1)specialize IH (x3)specialize IH (x5)apply IHexact hda_witness_witness_right_leftexact hdb_witness_witness_right_leftexact hdc_witness_witness_right_leftintro iintro aintro bintro cintro hiintro heaintro hebintro hecspecialize hpw (i)specialize hpw (a)specialize hpw (b)specialize hpw (c)apply hpwspecialize le_succ (S i)specialize le_succ (L)apply le_succexact hiexact heaexact hebexact hechave hlast : exists pfa_offset_left_distribution_sum_last pfa_offset_right_distribution_sum_last. (x+x2) + (p) * pfa_offset_left_distribution_sum_last = (x4) + (p) * pfa_offset_right_distribution_sum_lastspecialize hpw (L)specialize hpw (x)specialize hpw (x2)specialize hpw (x4)apply hpwspecialize le_refl (S L)apply le_reflexact hda_witness_witness_leftexact hdb_witness_witness_leftexact hdc_witness_witness_lefthave hcombined : exists pfa_offset_left_distribution_sum_combined pfa_offset_right_distribution_sum_combined. ((x1+x3)+(x+x2)) + (p) * pfa_offset_left_distribution_sum_combined = (x5+x4) + (p) * pfa_offset_right_distribution_sum_combinedspecialize mod_eq_add (p)specialize mod_eq_add (x1+x3)specialize mod_eq_add (x5)specialize mod_eq_add (x+x2)specialize mod_eq_add (x4)apply mod_eq_addexact hprefixexact hlasthave hshuffle : (x1+x)+(x3+x2)=(x1+x3)+(x+x2)trans x1+(x+(x3+x2))apply add_assoctrans x1+((x+x3)+x2)congrreflsymmapply add_assoctrans x1+((x3+x)+x2)congrreflcongrapply add_commrefltrans x1+(x3+(x+x2))congrreflapply add_assocsymmapply add_assocrewrite hda_witness_witness_right_rightrewrite hdb_witness_witness_right_rightrewrite hdc_witness_witness_right_rightrewrite hshuffleexact hcombined
prime_field_polynomial_add_entry · unchanged support, not a new admission
forall p ab ac bb bc cb cc l i a b r. (forall pfp_index_add_entry_table. (exists pfa_gap_add_entry_tableindex. pfa_gap_add_entry_tableindex + S (pfp_index_add_entry_table) = (l)) -> exists pfp_left_add_entry_table pfp_right_add_entry_table pfp_value_add_entry_table. ((((exists ff_h_pfp_add_entry_tableleft. ff_h_pfp_add_entry_tableleft + S (pfp_left_add_entry_table) = S ((S (pfp_index_add_entry_table)) * ac)) /\ exists ff_q_pfp_add_entry_tableleft. ab = ff_q_pfp_add_entry_tableleft * S ((S (pfp_index_add_entry_table)) * ac) + (pfp_left_add_entry_table))) /\ (((((exists ff_h_pfp_add_entry_tableright. ff_h_pfp_add_entry_tableright + S (pfp_right_add_entry_table) = S ((S (pfp_index_add_entry_table)) * bc)) /\ exists ff_q_pfp_add_entry_tableright. bb = ff_q_pfp_add_entry_tableright * S ((S (pfp_index_add_entry_table)) * bc) + (pfp_right_add_entry_table))) /\ (((((exists ff_h_pfp_add_entry_tabletarget. ff_h_pfp_add_entry_tabletarget + S (pfp_value_add_entry_table) = S ((S (pfp_index_add_entry_table)) * cc)) /\ exists ff_q_pfp_add_entry_tabletarget. cb = ff_q_pfp_add_entry_tabletarget * S ((S (pfp_index_add_entry_table)) * cc) + (pfp_value_add_entry_table))) /\ ((((exists pfa_gap_add_entry_tableoperationleft. pfa_gap_add_entry_tableoperationleft + S (pfp_left_add_entry_table) = (p)) /\ (((exists pfa_gap_add_entry_tableoperationright. pfa_gap_add_entry_tableoperationright + S (pfp_right_add_entry_table) = (p)) /\ ((((exists pfa_gap_add_entry_tableoperationresultbound. pfa_gap_add_entry_tableoperationresultbound + S (pfp_value_add_entry_table) = (p)) /\ ((exists pfa_offset_left_add_entry_tableoperationresultcongruence pfa_offset_right_add_entry_tableoperationresultcongruence. ((pfp_left_add_entry_table) + (pfp_right_add_entry_table)) + (p) * pfa_offset_left_add_entry_tableoperationresultcongruence = (pfp_value_add_entry_table) + (p) * pfa_offset_right_add_entry_tableoperationresultcongruence)))))))))))))))) -> (exists pfa_gap_add_entry_index. pfa_gap_add_entry_index + S (i) = (l)) -> (((exists ff_h_pfp_add_entry_input_a. ff_h_pfp_add_entry_input_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_entry_input_a. ab = ff_q_pfp_add_entry_input_a * S ((S (i)) * ac) + (a))) -> (((exists ff_h_pfp_add_entry_input_b. ff_h_pfp_add_entry_input_b + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_entry_input_b. bb = ff_q_pfp_add_entry_input_b * S ((S (i)) * bc) + (b))) -> (((exists ff_h_pfp_add_entry_output. ff_h_pfp_add_entry_output + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_add_entry_output. cb = ff_q_pfp_add_entry_output * S ((S (i)) * cc) + (r))) -> (((exists pfa_gap_add_entry_valueleft. pfa_gap_add_entry_valueleft + S (a) = (p)) /\ (((exists pfa_gap_add_entry_valueright. pfa_gap_add_entry_valueright + S (b) = (p)) /\ ((((exists pfa_gap_add_entry_valueresultbound. pfa_gap_add_entry_valueresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_add_entry_valueresultcongruence pfa_offset_right_add_entry_valueresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_add_entry_valueresultcongruence = (r) + (p) * pfa_offset_right_add_entry_valueresultcongruence)))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro lintro iintro aintro bintro rintro hintro hiintro haintro hbintro hrhave hv : exists u v w. ((((exists ff_h_pfp_add_entry_left. ff_h_pfp_add_entry_left + S (u) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_entry_left. ab = ff_q_pfp_add_entry_left * S ((S (i)) * ac) + (u))) /\ (((((exists ff_h_pfp_add_entry_right. ff_h_pfp_add_entry_right + S (v) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_entry_right. bb = ff_q_pfp_add_entry_right * S ((S (i)) * bc) + (v))) /\ (((((exists ff_h_pfp_add_entry_target. ff_h_pfp_add_entry_target + S (w) = S ((S (i)) * cc)) /\ exists ff_q_pfp_add_entry_target. cb = ff_q_pfp_add_entry_target * S ((S (i)) * cc) + (w))) /\ ((((exists pfa_gap_add_entry_operationleft. pfa_gap_add_entry_operationleft + S (u) = (p)) /\ (((exists pfa_gap_add_entry_operationright. pfa_gap_add_entry_operationright + S (v) = (p)) /\ ((((exists pfa_gap_add_entry_operationresultbound. pfa_gap_add_entry_operationresultbound + S (w) = (p)) /\ ((exists pfa_offset_left_add_entry_operationresultcongruence pfa_offset_right_add_entry_operationresultcongruence. ((u) + (v)) + (p) * pfa_offset_left_add_entry_operationresultcongruence = (w) + (p) * pfa_offset_right_add_entry_operationresultcongruence)))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_righthave heq0 : x=aspecialize beta_at_unique (ab)specialize beta_at_unique (ac)specialize beta_at_unique (i)specialize beta_at_unique (x)specialize beta_at_unique (a)apply beta_at_uniqueexact hv_witness_witness_witness_leftexact harewrite heq0 at hv_witness_witness_witness_right_right_rightrewrite heq0 at hv_witness_witness_witness_right_right_righthave heq1 : x1=bspecialize beta_at_unique (bb)specialize beta_at_unique (bc)specialize beta_at_unique (i)specialize beta_at_unique (x1)specialize beta_at_unique (b)apply beta_at_uniqueexact hv_witness_witness_witness_right_leftexact hbrewrite heq1 at hv_witness_witness_witness_right_right_rightrewrite heq1 at hv_witness_witness_witness_right_right_righthave heq2 : x2=rspecialize beta_at_unique (cb)specialize beta_at_unique (cc)specialize beta_at_unique (i)specialize beta_at_unique (x2)specialize beta_at_unique (r)apply beta_at_uniqueexact hv_witness_witness_witness_right_right_leftexact hrrewrite heq2 at hv_witness_witness_witness_right_right_rightrewrite heq2 at hv_witness_witness_witness_right_right_rightexact hv_witness_witness_witness_right_right_right
polynomial_zero_extended_add_congruent · unchanged support, not a new admission
forall p ab ac bb bc cb cc L i a b r. (forall pfp_index_padded_add_source. (exists pfa_gap_padded_add_sourceindex. pfa_gap_padded_add_sourceindex + S (pfp_index_padded_add_source) = (L)) -> exists pfp_left_padded_add_source pfp_right_padded_add_source pfp_value_padded_add_source. ((((exists ff_h_pfp_padded_add_sourceleft. ff_h_pfp_padded_add_sourceleft + S (pfp_left_padded_add_source) = S ((S (pfp_index_padded_add_source)) * ac)) /\ exists ff_q_pfp_padded_add_sourceleft. ab = ff_q_pfp_padded_add_sourceleft * S ((S (pfp_index_padded_add_source)) * ac) + (pfp_left_padded_add_source))) /\ (((((exists ff_h_pfp_padded_add_sourceright. ff_h_pfp_padded_add_sourceright + S (pfp_right_padded_add_source) = S ((S (pfp_index_padded_add_source)) * bc)) /\ exists ff_q_pfp_padded_add_sourceright. bb = ff_q_pfp_padded_add_sourceright * S ((S (pfp_index_padded_add_source)) * bc) + (pfp_right_padded_add_source))) /\ (((((exists ff_h_pfp_padded_add_sourcetarget. ff_h_pfp_padded_add_sourcetarget + S (pfp_value_padded_add_source) = S ((S (pfp_index_padded_add_source)) * cc)) /\ exists ff_q_pfp_padded_add_sourcetarget. cb = ff_q_pfp_padded_add_sourcetarget * S ((S (pfp_index_padded_add_source)) * cc) + (pfp_value_padded_add_source))) /\ ((((exists pfa_gap_padded_add_sourceoperationleft. pfa_gap_padded_add_sourceoperationleft + S (pfp_left_padded_add_source) = (p)) /\ (((exists pfa_gap_padded_add_sourceoperationright. pfa_gap_padded_add_sourceoperationright + S (pfp_right_padded_add_source) = (p)) /\ ((((exists pfa_gap_padded_add_sourceoperationresultbound. pfa_gap_padded_add_sourceoperationresultbound + S (pfp_value_padded_add_source) = (p)) /\ ((exists pfa_offset_left_padded_add_sourceoperationresultcongruence pfa_offset_right_padded_add_sourceoperationresultcongruence. ((pfp_left_padded_add_source) + (pfp_right_padded_add_source)) + (p) * pfa_offset_left_padded_add_sourceoperationresultcongruence = (pfp_value_padded_add_source) + (p) * pfa_offset_right_padded_add_sourceoperationresultcongruence)))))))))))))))) -> ((((exists pfa_gap_padded_add_ainside. pfa_gap_padded_add_ainside + S (i) = (L)) /\ ((((exists ff_h_pfp_padded_add_aentry. ff_h_pfp_padded_add_aentry + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_padded_add_aentry. ab = ff_q_pfp_padded_add_aentry * S ((S (i)) * ac) + (a)))))) \/ (((exists pfc_gap_padded_add_aoutside. pfc_gap_padded_add_aoutside+(L)=(i)) /\ (((a)=0))))) -> ((((exists pfa_gap_padded_add_binside. pfa_gap_padded_add_binside + S (i) = (L)) /\ ((((exists ff_h_pfp_padded_add_bentry. ff_h_pfp_padded_add_bentry + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_padded_add_bentry. bb = ff_q_pfp_padded_add_bentry * S ((S (i)) * bc) + (b)))))) \/ (((exists pfc_gap_padded_add_boutside. pfc_gap_padded_add_boutside+(L)=(i)) /\ (((b)=0))))) -> ((((exists pfa_gap_padded_add_rinside. pfa_gap_padded_add_rinside + S (i) = (L)) /\ ((((exists ff_h_pfp_padded_add_rentry. ff_h_pfp_padded_add_rentry + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_padded_add_rentry. cb = ff_q_pfp_padded_add_rentry * S ((S (i)) * cc) + (r)))))) \/ (((exists pfc_gap_padded_add_routside. pfc_gap_padded_add_routside+(L)=(i)) /\ (((r)=0))))) -> (exists pfa_offset_left_padded_add_result pfa_offset_right_padded_add_result. (a+b) + (p) * pfa_offset_left_padded_add_result = (r) + (p) * pfa_offset_right_padded_add_result)
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro iintro aintro bintro rintro hsintro haintro hbintro hrcases hacases ha_lefthave heb : ((exists ff_h_pfp_padded_add_heb. ff_h_pfp_padded_add_heb + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_padded_add_heb. bb = ff_q_pfp_padded_add_heb * S ((S (i)) * bc) + (b))specialize polynomial_zero_extended_entry_inside (bb)specialize polynomial_zero_extended_entry_inside (bc)specialize polynomial_zero_extended_entry_inside (L)specialize polynomial_zero_extended_entry_inside (i)specialize polynomial_zero_extended_entry_inside (b)apply polynomial_zero_extended_entry_insideexact ha_left_leftexact hbhave her : ((exists ff_h_pfp_padded_add_her. ff_h_pfp_padded_add_her + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_padded_add_her. cb = ff_q_pfp_padded_add_her * S ((S (i)) * cc) + (r))specialize polynomial_zero_extended_entry_inside (cb)specialize polynomial_zero_extended_entry_inside (cc)specialize polynomial_zero_extended_entry_inside (L)specialize polynomial_zero_extended_entry_inside (i)specialize polynomial_zero_extended_entry_inside (r)apply polynomial_zero_extended_entry_insideexact ha_left_leftexact hrhave hfield : ((exists pfa_gap_padded_add_inside_valueleft. pfa_gap_padded_add_inside_valueleft + S (a) = (p)) /\ (((exists pfa_gap_padded_add_inside_valueright. pfa_gap_padded_add_inside_valueright + S (b) = (p)) /\ ((((exists pfa_gap_padded_add_inside_valueresultbound. pfa_gap_padded_add_inside_valueresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_padded_add_inside_valueresultcongruence pfa_offset_right_padded_add_inside_valueresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_padded_add_inside_valueresultcongruence = (r) + (p) * pfa_offset_right_padded_add_inside_valueresultcongruence))))))))specialize prime_field_polynomial_add_entry (p)specialize prime_field_polynomial_add_entry (ab)specialize prime_field_polynomial_add_entry (ac)specialize prime_field_polynomial_add_entry (bb)specialize prime_field_polynomial_add_entry (bc)specialize prime_field_polynomial_add_entry (cb)specialize prime_field_polynomial_add_entry (cc)specialize prime_field_polynomial_add_entry (L)specialize prime_field_polynomial_add_entry (i)specialize prime_field_polynomial_add_entry (a)specialize prime_field_polynomial_add_entry (b)specialize prime_field_polynomial_add_entry (r)apply prime_field_polynomial_add_entryexact hsexact ha_left_leftexact ha_left_rightexact hebexact hercases hfieldcases hfield_rightcases hfield_right_rightexact hfield_right_right_rightcases ha_righthave hbzero : b=0specialize polynomial_zero_extended_entry_functional (bb)specialize polynomial_zero_extended_entry_functional (bc)specialize polynomial_zero_extended_entry_functional (L)specialize polynomial_zero_extended_entry_functional (i)specialize polynomial_zero_extended_entry_functional (b)specialize polynomial_zero_extended_entry_functional (0)apply polynomial_zero_extended_entry_functionalexact hbrightsplitexact ha_right_leftreflhave hrzero : r=0specialize polynomial_zero_extended_entry_functional (cb)specialize polynomial_zero_extended_entry_functional (cc)specialize polynomial_zero_extended_entry_functional (L)specialize polynomial_zero_extended_entry_functional (i)specialize polynomial_zero_extended_entry_functional (r)specialize polynomial_zero_extended_entry_functional (0)apply polynomial_zero_extended_entry_functionalexact hrrightsplitexact ha_right_leftreflrewrite ha_right_rightrewrite hbzerorewrite hrzeroexists 0exists 0simp
polynomial_diagonal_term_left_add_congruent · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M i j u v w. (forall pfp_index_term_add_left_source. (exists pfa_gap_term_add_left_sourceindex. pfa_gap_term_add_left_sourceindex + S (pfp_index_term_add_left_source) = (L)) -> exists pfp_left_term_add_left_source pfp_right_term_add_left_source pfp_value_term_add_left_source. ((((exists ff_h_pfp_term_add_left_sourceleft. ff_h_pfp_term_add_left_sourceleft + S (pfp_left_term_add_left_source) = S ((S (pfp_index_term_add_left_source)) * ac)) /\ exists ff_q_pfp_term_add_left_sourceleft. ab = ff_q_pfp_term_add_left_sourceleft * S ((S (pfp_index_term_add_left_source)) * ac) + (pfp_left_term_add_left_source))) /\ (((((exists ff_h_pfp_term_add_left_sourceright. ff_h_pfp_term_add_left_sourceright + S (pfp_right_term_add_left_source) = S ((S (pfp_index_term_add_left_source)) * bc)) /\ exists ff_q_pfp_term_add_left_sourceright. bb = ff_q_pfp_term_add_left_sourceright * S ((S (pfp_index_term_add_left_source)) * bc) + (pfp_right_term_add_left_source))) /\ (((((exists ff_h_pfp_term_add_left_sourcetarget. ff_h_pfp_term_add_left_sourcetarget + S (pfp_value_term_add_left_source) = S ((S (pfp_index_term_add_left_source)) * cc)) /\ exists ff_q_pfp_term_add_left_sourcetarget. cb = ff_q_pfp_term_add_left_sourcetarget * S ((S (pfp_index_term_add_left_source)) * cc) + (pfp_value_term_add_left_source))) /\ ((((exists pfa_gap_term_add_left_sourceoperationleft. pfa_gap_term_add_left_sourceoperationleft + S (pfp_left_term_add_left_source) = (p)) /\ (((exists pfa_gap_term_add_left_sourceoperationright. pfa_gap_term_add_left_sourceoperationright + S (pfp_right_term_add_left_source) = (p)) /\ ((((exists pfa_gap_term_add_left_sourceoperationresultbound. pfa_gap_term_add_left_sourceoperationresultbound + S (pfp_value_term_add_left_source) = (p)) /\ ((exists pfa_offset_left_term_add_left_sourceoperationresultcongruence pfa_offset_right_term_add_left_sourceoperationresultcongruence. ((pfp_left_term_add_left_source) + (pfp_right_term_add_left_source)) + (p) * pfa_offset_left_term_add_left_sourceoperationresultcongruence = (pfp_value_term_add_left_source) + (p) * pfa_offset_right_term_add_left_sourceoperationresultcongruence)))))))))))))))) -> (exists pfc_complement_term_add_left_u pfc_left_term_add_left_u pfc_right_term_add_left_u. (((j)+pfc_complement_term_add_left_u=(i)) /\ ((((((exists pfa_gap_term_add_left_uleftinside. pfa_gap_term_add_left_uleftinside + S (j) = (M)) /\ ((((exists ff_h_pfp_term_add_left_uleftentry. ff_h_pfp_term_add_left_uleftentry + S (pfc_left_term_add_left_u) = S ((S (j)) * dc)) /\ exists ff_q_pfp_term_add_left_uleftentry. db = ff_q_pfp_term_add_left_uleftentry * S ((S (j)) * dc) + (pfc_left_term_add_left_u)))))) \/ (((exists pfc_gap_term_add_left_uleftoutside. pfc_gap_term_add_left_uleftoutside+(M)=(j)) /\ (((pfc_left_term_add_left_u)=0))))) /\ ((((((exists pfa_gap_term_add_left_urightinside. pfa_gap_term_add_left_urightinside + S (pfc_complement_term_add_left_u) = (L)) /\ ((((exists ff_h_pfp_term_add_left_urightentry. ff_h_pfp_term_add_left_urightentry + S (pfc_right_term_add_left_u) = S ((S (pfc_complement_term_add_left_u)) * ac)) /\ exists ff_q_pfp_term_add_left_urightentry. ab = ff_q_pfp_term_add_left_urightentry * S ((S (pfc_complement_term_add_left_u)) * ac) + (pfc_right_term_add_left_u)))))) \/ (((exists pfc_gap_term_add_left_urightoutside. pfc_gap_term_add_left_urightoutside+(L)=(pfc_complement_term_add_left_u)) /\ (((pfc_right_term_add_left_u)=0))))) /\ (((u)=pfc_left_term_add_left_u*pfc_right_term_add_left_u)))))))) -> (exists pfc_complement_term_add_left_v pfc_left_term_add_left_v pfc_right_term_add_left_v. (((j)+pfc_complement_term_add_left_v=(i)) /\ ((((((exists pfa_gap_term_add_left_vleftinside. pfa_gap_term_add_left_vleftinside + S (j) = (M)) /\ ((((exists ff_h_pfp_term_add_left_vleftentry. ff_h_pfp_term_add_left_vleftentry + S (pfc_left_term_add_left_v) = S ((S (j)) * dc)) /\ exists ff_q_pfp_term_add_left_vleftentry. db = ff_q_pfp_term_add_left_vleftentry * S ((S (j)) * dc) + (pfc_left_term_add_left_v)))))) \/ (((exists pfc_gap_term_add_left_vleftoutside. pfc_gap_term_add_left_vleftoutside+(M)=(j)) /\ (((pfc_left_term_add_left_v)=0))))) /\ ((((((exists pfa_gap_term_add_left_vrightinside. pfa_gap_term_add_left_vrightinside + S (pfc_complement_term_add_left_v) = (L)) /\ ((((exists ff_h_pfp_term_add_left_vrightentry. ff_h_pfp_term_add_left_vrightentry + S (pfc_right_term_add_left_v) = S ((S (pfc_complement_term_add_left_v)) * bc)) /\ exists ff_q_pfp_term_add_left_vrightentry. bb = ff_q_pfp_term_add_left_vrightentry * S ((S (pfc_complement_term_add_left_v)) * bc) + (pfc_right_term_add_left_v)))))) \/ (((exists pfc_gap_term_add_left_vrightoutside. pfc_gap_term_add_left_vrightoutside+(L)=(pfc_complement_term_add_left_v)) /\ (((pfc_right_term_add_left_v)=0))))) /\ (((v)=pfc_left_term_add_left_v*pfc_right_term_add_left_v)))))))) -> (exists pfc_complement_term_add_left_w pfc_left_term_add_left_w pfc_right_term_add_left_w. (((j)+pfc_complement_term_add_left_w=(i)) /\ ((((((exists pfa_gap_term_add_left_wleftinside. pfa_gap_term_add_left_wleftinside + S (j) = (M)) /\ ((((exists ff_h_pfp_term_add_left_wleftentry. ff_h_pfp_term_add_left_wleftentry + S (pfc_left_term_add_left_w) = S ((S (j)) * dc)) /\ exists ff_q_pfp_term_add_left_wleftentry. db = ff_q_pfp_term_add_left_wleftentry * S ((S (j)) * dc) + (pfc_left_term_add_left_w)))))) \/ (((exists pfc_gap_term_add_left_wleftoutside. pfc_gap_term_add_left_wleftoutside+(M)=(j)) /\ (((pfc_left_term_add_left_w)=0))))) /\ ((((((exists pfa_gap_term_add_left_wrightinside. pfa_gap_term_add_left_wrightinside + S (pfc_complement_term_add_left_w) = (L)) /\ ((((exists ff_h_pfp_term_add_left_wrightentry. ff_h_pfp_term_add_left_wrightentry + S (pfc_right_term_add_left_w) = S ((S (pfc_complement_term_add_left_w)) * cc)) /\ exists ff_q_pfp_term_add_left_wrightentry. cb = ff_q_pfp_term_add_left_wrightentry * S ((S (pfc_complement_term_add_left_w)) * cc) + (pfc_right_term_add_left_w)))))) \/ (((exists pfc_gap_term_add_left_wrightoutside. pfc_gap_term_add_left_wrightoutside+(L)=(pfc_complement_term_add_left_w)) /\ (((pfc_right_term_add_left_w)=0))))) /\ (((w)=pfc_left_term_add_left_w*pfc_right_term_add_left_w)))))))) -> (exists pfa_offset_left_term_add_left_result pfa_offset_right_term_add_left_result. (u+v) + (p) * pfa_offset_left_term_add_left_result = (w) + (p) * pfa_offset_right_term_add_left_result)
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro iintro jintro uintro vintro wintro hsintro huintro hvintro hwcases hucases hu_witnesscases hu_witness_witnesscases hu_witness_witness_witnesscases hu_witness_witness_witness_rightcases hu_witness_witness_witness_right_rightcases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightcases hwcases hw_witnesscases hw_witness_witnesscases hw_witness_witness_witnesscases hw_witness_witness_witness_rightcases hw_witness_witness_witness_right_righthave hku : x=x6specialize add_left_cancel (j)specialize add_left_cancel (x)specialize add_left_cancel (x6)apply add_left_canceltrans iexact hu_witness_witness_witness_leftsymmexact hw_witness_witness_witness_leftrewrite hku at hu_witness_witness_witness_right_right_leftrewrite hku at hu_witness_witness_witness_right_right_leftrewrite hku at hu_witness_witness_witness_right_right_leftrewrite hku at hu_witness_witness_witness_right_right_lefthave hkv : x3=x6specialize add_left_cancel (j)specialize add_left_cancel (x3)specialize add_left_cancel (x6)apply add_left_canceltrans iexact hv_witness_witness_witness_leftsymmexact hw_witness_witness_witness_leftrewrite hkv at hv_witness_witness_witness_right_right_leftrewrite hkv at hv_witness_witness_witness_right_right_leftrewrite hkv at hv_witness_witness_witness_right_right_leftrewrite hkv at hv_witness_witness_witness_right_right_lefthave hfu : x1=x7specialize polynomial_zero_extended_entry_functional (db)specialize polynomial_zero_extended_entry_functional (dc)specialize polynomial_zero_extended_entry_functional (M)specialize polynomial_zero_extended_entry_functional (j)specialize polynomial_zero_extended_entry_functional (x1)specialize polynomial_zero_extended_entry_functional (x7)apply polynomial_zero_extended_entry_functionalexact hu_witness_witness_witness_right_leftexact hw_witness_witness_witness_right_lefthave hfv : x4=x7specialize polynomial_zero_extended_entry_functional (db)specialize polynomial_zero_extended_entry_functional (dc)specialize polynomial_zero_extended_entry_functional (M)specialize polynomial_zero_extended_entry_functional (j)specialize polynomial_zero_extended_entry_functional (x4)specialize polynomial_zero_extended_entry_functional (x7)apply polynomial_zero_extended_entry_functionalexact hv_witness_witness_witness_right_leftexact hw_witness_witness_witness_right_lefthave hsum : exists pfa_offset_left_term_add_left_sum pfa_offset_right_term_add_left_sum. (x2+x5) + (p) * pfa_offset_left_term_add_left_sum = (x8) + (p) * pfa_offset_right_term_add_left_sumspecialize polynomial_zero_extended_add_congruent (p)specialize polynomial_zero_extended_add_congruent (ab)specialize polynomial_zero_extended_add_congruent (ac)specialize polynomial_zero_extended_add_congruent (bb)specialize polynomial_zero_extended_add_congruent (bc)specialize polynomial_zero_extended_add_congruent (cb)specialize polynomial_zero_extended_add_congruent (cc)specialize polynomial_zero_extended_add_congruent (L)specialize polynomial_zero_extended_add_congruent (x6)specialize polynomial_zero_extended_add_congruent (x2)specialize polynomial_zero_extended_add_congruent (x5)specialize polynomial_zero_extended_add_congruent (x8)apply polynomial_zero_extended_add_congruentexact hsexact hu_witness_witness_witness_right_right_leftexact hv_witness_witness_witness_right_right_leftexact hw_witness_witness_witness_right_right_leftrewrite hu_witness_witness_witness_right_right_rightrewrite hv_witness_witness_witness_right_right_rightrewrite hw_witness_witness_witness_right_right_rightrewrite hfurewrite hfvhave hfactor : x7*x2+x7*x5=x7*(x2+x5)symmspecialize mul_add (x7)specialize mul_add (x2)specialize mul_add (x5)apply mul_addrewrite hfactorspecialize mod_eq_mul_left (p)specialize mod_eq_mul_left (x2+x5)specialize mod_eq_mul_left (x8)specialize mod_eq_mul_left (x7)apply mod_eq_mul_leftexact hsum
polynomial_diagonal_sum_left_add_congruent · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M i N ub uc vb vc wb wc u v w. (forall pfp_index_diagonal_add_left_source. (exists pfa_gap_diagonal_add_left_sourceindex. pfa_gap_diagonal_add_left_sourceindex + S (pfp_index_diagonal_add_left_source) = (L)) -> exists pfp_left_diagonal_add_left_source pfp_right_diagonal_add_left_source pfp_value_diagonal_add_left_source. ((((exists ff_h_pfp_diagonal_add_left_sourceleft. ff_h_pfp_diagonal_add_left_sourceleft + S (pfp_left_diagonal_add_left_source) = S ((S (pfp_index_diagonal_add_left_source)) * ac)) /\ exists ff_q_pfp_diagonal_add_left_sourceleft. ab = ff_q_pfp_diagonal_add_left_sourceleft * S ((S (pfp_index_diagonal_add_left_source)) * ac) + (pfp_left_diagonal_add_left_source))) /\ (((((exists ff_h_pfp_diagonal_add_left_sourceright. ff_h_pfp_diagonal_add_left_sourceright + S (pfp_right_diagonal_add_left_source) = S ((S (pfp_index_diagonal_add_left_source)) * bc)) /\ exists ff_q_pfp_diagonal_add_left_sourceright. bb = ff_q_pfp_diagonal_add_left_sourceright * S ((S (pfp_index_diagonal_add_left_source)) * bc) + (pfp_right_diagonal_add_left_source))) /\ (((((exists ff_h_pfp_diagonal_add_left_sourcetarget. ff_h_pfp_diagonal_add_left_sourcetarget + S (pfp_value_diagonal_add_left_source) = S ((S (pfp_index_diagonal_add_left_source)) * cc)) /\ exists ff_q_pfp_diagonal_add_left_sourcetarget. cb = ff_q_pfp_diagonal_add_left_sourcetarget * S ((S (pfp_index_diagonal_add_left_source)) * cc) + (pfp_value_diagonal_add_left_source))) /\ ((((exists pfa_gap_diagonal_add_left_sourceoperationleft. pfa_gap_diagonal_add_left_sourceoperationleft + S (pfp_left_diagonal_add_left_source) = (p)) /\ (((exists pfa_gap_diagonal_add_left_sourceoperationright. pfa_gap_diagonal_add_left_sourceoperationright + S (pfp_right_diagonal_add_left_source) = (p)) /\ ((((exists pfa_gap_diagonal_add_left_sourceoperationresultbound. pfa_gap_diagonal_add_left_sourceoperationresultbound + S (pfp_value_diagonal_add_left_source) = (p)) /\ ((exists pfa_offset_left_diagonal_add_left_sourceoperationresultcongruence pfa_offset_right_diagonal_add_left_sourceoperationresultcongruence. ((pfp_left_diagonal_add_left_source) + (pfp_right_diagonal_add_left_source)) + (p) * pfa_offset_left_diagonal_add_left_sourceoperationresultcongruence = (pfp_value_diagonal_add_left_source) + (p) * pfa_offset_right_diagonal_add_left_sourceoperationresultcongruence)))))))))))))))) -> (forall pfc_index_diagonal_add_left_u. (exists pfa_gap_diagonal_add_left_ubound. pfa_gap_diagonal_add_left_ubound + S (pfc_index_diagonal_add_left_u) = (N)) -> exists pfc_value_diagonal_add_left_u. ((((exists ff_h_pfp_diagonal_add_left_uentry. ff_h_pfp_diagonal_add_left_uentry + S (pfc_value_diagonal_add_left_u) = S ((S (pfc_index_diagonal_add_left_u)) * uc)) /\ exists ff_q_pfp_diagonal_add_left_uentry. ub = ff_q_pfp_diagonal_add_left_uentry * S ((S (pfc_index_diagonal_add_left_u)) * uc) + (pfc_value_diagonal_add_left_u))) /\ ((exists pfc_complement_diagonal_add_left_uterm pfc_left_diagonal_add_left_uterm pfc_right_diagonal_add_left_uterm. (((pfc_index_diagonal_add_left_u)+pfc_complement_diagonal_add_left_uterm=(i)) /\ ((((((exists pfa_gap_diagonal_add_left_utermleftinside. pfa_gap_diagonal_add_left_utermleftinside + S (pfc_index_diagonal_add_left_u) = (M)) /\ ((((exists ff_h_pfp_diagonal_add_left_utermleftentry. ff_h_pfp_diagonal_add_left_utermleftentry + S (pfc_left_diagonal_add_left_uterm) = S ((S (pfc_index_diagonal_add_left_u)) * dc)) /\ exists ff_q_pfp_diagonal_add_left_utermleftentry. db = ff_q_pfp_diagonal_add_left_utermleftentry * S ((S (pfc_index_diagonal_add_left_u)) * dc) + (pfc_left_diagonal_add_left_uterm)))))) \/ (((exists pfc_gap_diagonal_add_left_utermleftoutside. pfc_gap_diagonal_add_left_utermleftoutside+(M)=(pfc_index_diagonal_add_left_u)) /\ (((pfc_left_diagonal_add_left_uterm)=0))))) /\ ((((((exists pfa_gap_diagonal_add_left_utermrightinside. pfa_gap_diagonal_add_left_utermrightinside + S (pfc_complement_diagonal_add_left_uterm) = (L)) /\ ((((exists ff_h_pfp_diagonal_add_left_utermrightentry. ff_h_pfp_diagonal_add_left_utermrightentry + S (pfc_right_diagonal_add_left_uterm) = S ((S (pfc_complement_diagonal_add_left_uterm)) * ac)) /\ exists ff_q_pfp_diagonal_add_left_utermrightentry. ab = ff_q_pfp_diagonal_add_left_utermrightentry * S ((S (pfc_complement_diagonal_add_left_uterm)) * ac) + (pfc_right_diagonal_add_left_uterm)))))) \/ (((exists pfc_gap_diagonal_add_left_utermrightoutside. pfc_gap_diagonal_add_left_utermrightoutside+(L)=(pfc_complement_diagonal_add_left_uterm)) /\ (((pfc_right_diagonal_add_left_uterm)=0))))) /\ (((pfc_value_diagonal_add_left_u)=pfc_left_diagonal_add_left_uterm*pfc_right_diagonal_add_left_uterm))))))))))) -> (exists fs_u_pfc_diagonal_add_left_sum_u fs_v_pfc_diagonal_add_left_sum_u. ((((exists fs_h_pfc_diagonal_add_left_sum_u_body_start. fs_h_pfc_diagonal_add_left_sum_u_body_start + S (0) = S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_u)) /\ exists fs_q_pfc_diagonal_add_left_sum_u_body_start. fs_u_pfc_diagonal_add_left_sum_u = fs_q_pfc_diagonal_add_left_sum_u_body_start * S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_u) + (0))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_u_body_terminal. fs_h_pfc_diagonal_add_left_sum_u_body_terminal + S (u) = S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_u)) /\ exists fs_q_pfc_diagonal_add_left_sum_u_body_terminal. fs_u_pfc_diagonal_add_left_sum_u = fs_q_pfc_diagonal_add_left_sum_u_body_terminal * S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_u) + (u))) /\ forall fs_i_pfc_diagonal_add_left_sum_u_body_steps. (exists fs_lt_pfc_diagonal_add_left_sum_u_body_steps_bound. fs_lt_pfc_diagonal_add_left_sum_u_body_steps_bound + S fs_i_pfc_diagonal_add_left_sum_u_body_steps = N) -> exists fs_a_pfc_diagonal_add_left_sum_u_body_steps fs_r_pfc_diagonal_add_left_sum_u_body_steps fs_s_pfc_diagonal_add_left_sum_u_body_steps. ((((exists fs_h_pfc_diagonal_add_left_sum_u_body_steps_summand. fs_h_pfc_diagonal_add_left_sum_u_body_steps_summand + S (fs_a_pfc_diagonal_add_left_sum_u_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * uc)) /\ exists fs_q_pfc_diagonal_add_left_sum_u_body_steps_summand. ub = fs_q_pfc_diagonal_add_left_sum_u_body_steps_summand * S ((S (fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * uc) + (fs_a_pfc_diagonal_add_left_sum_u_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_u_body_steps_partial. fs_h_pfc_diagonal_add_left_sum_u_body_steps_partial + S (fs_r_pfc_diagonal_add_left_sum_u_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * fs_v_pfc_diagonal_add_left_sum_u)) /\ exists fs_q_pfc_diagonal_add_left_sum_u_body_steps_partial. fs_u_pfc_diagonal_add_left_sum_u = fs_q_pfc_diagonal_add_left_sum_u_body_steps_partial * S ((S (fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * fs_v_pfc_diagonal_add_left_sum_u) + (fs_r_pfc_diagonal_add_left_sum_u_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_u_body_steps_successor. fs_h_pfc_diagonal_add_left_sum_u_body_steps_successor + S (fs_s_pfc_diagonal_add_left_sum_u_body_steps) = S ((S (S fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * fs_v_pfc_diagonal_add_left_sum_u)) /\ exists fs_q_pfc_diagonal_add_left_sum_u_body_steps_successor. fs_u_pfc_diagonal_add_left_sum_u = fs_q_pfc_diagonal_add_left_sum_u_body_steps_successor * S ((S (S fs_i_pfc_diagonal_add_left_sum_u_body_steps)) * fs_v_pfc_diagonal_add_left_sum_u) + (fs_s_pfc_diagonal_add_left_sum_u_body_steps))) /\ fs_s_pfc_diagonal_add_left_sum_u_body_steps = fs_r_pfc_diagonal_add_left_sum_u_body_steps + fs_a_pfc_diagonal_add_left_sum_u_body_steps)))))) -> (forall pfc_index_diagonal_add_left_v. (exists pfa_gap_diagonal_add_left_vbound. pfa_gap_diagonal_add_left_vbound + S (pfc_index_diagonal_add_left_v) = (N)) -> exists pfc_value_diagonal_add_left_v. ((((exists ff_h_pfp_diagonal_add_left_ventry. ff_h_pfp_diagonal_add_left_ventry + S (pfc_value_diagonal_add_left_v) = S ((S (pfc_index_diagonal_add_left_v)) * vc)) /\ exists ff_q_pfp_diagonal_add_left_ventry. vb = ff_q_pfp_diagonal_add_left_ventry * S ((S (pfc_index_diagonal_add_left_v)) * vc) + (pfc_value_diagonal_add_left_v))) /\ ((exists pfc_complement_diagonal_add_left_vterm pfc_left_diagonal_add_left_vterm pfc_right_diagonal_add_left_vterm. (((pfc_index_diagonal_add_left_v)+pfc_complement_diagonal_add_left_vterm=(i)) /\ ((((((exists pfa_gap_diagonal_add_left_vtermleftinside. pfa_gap_diagonal_add_left_vtermleftinside + S (pfc_index_diagonal_add_left_v) = (M)) /\ ((((exists ff_h_pfp_diagonal_add_left_vtermleftentry. ff_h_pfp_diagonal_add_left_vtermleftentry + S (pfc_left_diagonal_add_left_vterm) = S ((S (pfc_index_diagonal_add_left_v)) * dc)) /\ exists ff_q_pfp_diagonal_add_left_vtermleftentry. db = ff_q_pfp_diagonal_add_left_vtermleftentry * S ((S (pfc_index_diagonal_add_left_v)) * dc) + (pfc_left_diagonal_add_left_vterm)))))) \/ (((exists pfc_gap_diagonal_add_left_vtermleftoutside. pfc_gap_diagonal_add_left_vtermleftoutside+(M)=(pfc_index_diagonal_add_left_v)) /\ (((pfc_left_diagonal_add_left_vterm)=0))))) /\ ((((((exists pfa_gap_diagonal_add_left_vtermrightinside. pfa_gap_diagonal_add_left_vtermrightinside + S (pfc_complement_diagonal_add_left_vterm) = (L)) /\ ((((exists ff_h_pfp_diagonal_add_left_vtermrightentry. ff_h_pfp_diagonal_add_left_vtermrightentry + S (pfc_right_diagonal_add_left_vterm) = S ((S (pfc_complement_diagonal_add_left_vterm)) * bc)) /\ exists ff_q_pfp_diagonal_add_left_vtermrightentry. bb = ff_q_pfp_diagonal_add_left_vtermrightentry * S ((S (pfc_complement_diagonal_add_left_vterm)) * bc) + (pfc_right_diagonal_add_left_vterm)))))) \/ (((exists pfc_gap_diagonal_add_left_vtermrightoutside. pfc_gap_diagonal_add_left_vtermrightoutside+(L)=(pfc_complement_diagonal_add_left_vterm)) /\ (((pfc_right_diagonal_add_left_vterm)=0))))) /\ (((pfc_value_diagonal_add_left_v)=pfc_left_diagonal_add_left_vterm*pfc_right_diagonal_add_left_vterm))))))))))) -> (exists fs_u_pfc_diagonal_add_left_sum_v fs_v_pfc_diagonal_add_left_sum_v. ((((exists fs_h_pfc_diagonal_add_left_sum_v_body_start. fs_h_pfc_diagonal_add_left_sum_v_body_start + S (0) = S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_v)) /\ exists fs_q_pfc_diagonal_add_left_sum_v_body_start. fs_u_pfc_diagonal_add_left_sum_v = fs_q_pfc_diagonal_add_left_sum_v_body_start * S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_v) + (0))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_v_body_terminal. fs_h_pfc_diagonal_add_left_sum_v_body_terminal + S (v) = S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_v)) /\ exists fs_q_pfc_diagonal_add_left_sum_v_body_terminal. fs_u_pfc_diagonal_add_left_sum_v = fs_q_pfc_diagonal_add_left_sum_v_body_terminal * S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_v) + (v))) /\ forall fs_i_pfc_diagonal_add_left_sum_v_body_steps. (exists fs_lt_pfc_diagonal_add_left_sum_v_body_steps_bound. fs_lt_pfc_diagonal_add_left_sum_v_body_steps_bound + S fs_i_pfc_diagonal_add_left_sum_v_body_steps = N) -> exists fs_a_pfc_diagonal_add_left_sum_v_body_steps fs_r_pfc_diagonal_add_left_sum_v_body_steps fs_s_pfc_diagonal_add_left_sum_v_body_steps. ((((exists fs_h_pfc_diagonal_add_left_sum_v_body_steps_summand. fs_h_pfc_diagonal_add_left_sum_v_body_steps_summand + S (fs_a_pfc_diagonal_add_left_sum_v_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * vc)) /\ exists fs_q_pfc_diagonal_add_left_sum_v_body_steps_summand. vb = fs_q_pfc_diagonal_add_left_sum_v_body_steps_summand * S ((S (fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * vc) + (fs_a_pfc_diagonal_add_left_sum_v_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_v_body_steps_partial. fs_h_pfc_diagonal_add_left_sum_v_body_steps_partial + S (fs_r_pfc_diagonal_add_left_sum_v_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * fs_v_pfc_diagonal_add_left_sum_v)) /\ exists fs_q_pfc_diagonal_add_left_sum_v_body_steps_partial. fs_u_pfc_diagonal_add_left_sum_v = fs_q_pfc_diagonal_add_left_sum_v_body_steps_partial * S ((S (fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * fs_v_pfc_diagonal_add_left_sum_v) + (fs_r_pfc_diagonal_add_left_sum_v_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_v_body_steps_successor. fs_h_pfc_diagonal_add_left_sum_v_body_steps_successor + S (fs_s_pfc_diagonal_add_left_sum_v_body_steps) = S ((S (S fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * fs_v_pfc_diagonal_add_left_sum_v)) /\ exists fs_q_pfc_diagonal_add_left_sum_v_body_steps_successor. fs_u_pfc_diagonal_add_left_sum_v = fs_q_pfc_diagonal_add_left_sum_v_body_steps_successor * S ((S (S fs_i_pfc_diagonal_add_left_sum_v_body_steps)) * fs_v_pfc_diagonal_add_left_sum_v) + (fs_s_pfc_diagonal_add_left_sum_v_body_steps))) /\ fs_s_pfc_diagonal_add_left_sum_v_body_steps = fs_r_pfc_diagonal_add_left_sum_v_body_steps + fs_a_pfc_diagonal_add_left_sum_v_body_steps)))))) -> (forall pfc_index_diagonal_add_left_w. (exists pfa_gap_diagonal_add_left_wbound. pfa_gap_diagonal_add_left_wbound + S (pfc_index_diagonal_add_left_w) = (N)) -> exists pfc_value_diagonal_add_left_w. ((((exists ff_h_pfp_diagonal_add_left_wentry. ff_h_pfp_diagonal_add_left_wentry + S (pfc_value_diagonal_add_left_w) = S ((S (pfc_index_diagonal_add_left_w)) * wc)) /\ exists ff_q_pfp_diagonal_add_left_wentry. wb = ff_q_pfp_diagonal_add_left_wentry * S ((S (pfc_index_diagonal_add_left_w)) * wc) + (pfc_value_diagonal_add_left_w))) /\ ((exists pfc_complement_diagonal_add_left_wterm pfc_left_diagonal_add_left_wterm pfc_right_diagonal_add_left_wterm. (((pfc_index_diagonal_add_left_w)+pfc_complement_diagonal_add_left_wterm=(i)) /\ ((((((exists pfa_gap_diagonal_add_left_wtermleftinside. pfa_gap_diagonal_add_left_wtermleftinside + S (pfc_index_diagonal_add_left_w) = (M)) /\ ((((exists ff_h_pfp_diagonal_add_left_wtermleftentry. ff_h_pfp_diagonal_add_left_wtermleftentry + S (pfc_left_diagonal_add_left_wterm) = S ((S (pfc_index_diagonal_add_left_w)) * dc)) /\ exists ff_q_pfp_diagonal_add_left_wtermleftentry. db = ff_q_pfp_diagonal_add_left_wtermleftentry * S ((S (pfc_index_diagonal_add_left_w)) * dc) + (pfc_left_diagonal_add_left_wterm)))))) \/ (((exists pfc_gap_diagonal_add_left_wtermleftoutside. pfc_gap_diagonal_add_left_wtermleftoutside+(M)=(pfc_index_diagonal_add_left_w)) /\ (((pfc_left_diagonal_add_left_wterm)=0))))) /\ ((((((exists pfa_gap_diagonal_add_left_wtermrightinside. pfa_gap_diagonal_add_left_wtermrightinside + S (pfc_complement_diagonal_add_left_wterm) = (L)) /\ ((((exists ff_h_pfp_diagonal_add_left_wtermrightentry. ff_h_pfp_diagonal_add_left_wtermrightentry + S (pfc_right_diagonal_add_left_wterm) = S ((S (pfc_complement_diagonal_add_left_wterm)) * cc)) /\ exists ff_q_pfp_diagonal_add_left_wtermrightentry. cb = ff_q_pfp_diagonal_add_left_wtermrightentry * S ((S (pfc_complement_diagonal_add_left_wterm)) * cc) + (pfc_right_diagonal_add_left_wterm)))))) \/ (((exists pfc_gap_diagonal_add_left_wtermrightoutside. pfc_gap_diagonal_add_left_wtermrightoutside+(L)=(pfc_complement_diagonal_add_left_wterm)) /\ (((pfc_right_diagonal_add_left_wterm)=0))))) /\ (((pfc_value_diagonal_add_left_w)=pfc_left_diagonal_add_left_wterm*pfc_right_diagonal_add_left_wterm))))))))))) -> (exists fs_u_pfc_diagonal_add_left_sum_w fs_v_pfc_diagonal_add_left_sum_w. ((((exists fs_h_pfc_diagonal_add_left_sum_w_body_start. fs_h_pfc_diagonal_add_left_sum_w_body_start + S (0) = S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_w)) /\ exists fs_q_pfc_diagonal_add_left_sum_w_body_start. fs_u_pfc_diagonal_add_left_sum_w = fs_q_pfc_diagonal_add_left_sum_w_body_start * S ((S (0)) * fs_v_pfc_diagonal_add_left_sum_w) + (0))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_w_body_terminal. fs_h_pfc_diagonal_add_left_sum_w_body_terminal + S (w) = S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_w)) /\ exists fs_q_pfc_diagonal_add_left_sum_w_body_terminal. fs_u_pfc_diagonal_add_left_sum_w = fs_q_pfc_diagonal_add_left_sum_w_body_terminal * S ((S (N)) * fs_v_pfc_diagonal_add_left_sum_w) + (w))) /\ forall fs_i_pfc_diagonal_add_left_sum_w_body_steps. (exists fs_lt_pfc_diagonal_add_left_sum_w_body_steps_bound. fs_lt_pfc_diagonal_add_left_sum_w_body_steps_bound + S fs_i_pfc_diagonal_add_left_sum_w_body_steps = N) -> exists fs_a_pfc_diagonal_add_left_sum_w_body_steps fs_r_pfc_diagonal_add_left_sum_w_body_steps fs_s_pfc_diagonal_add_left_sum_w_body_steps. ((((exists fs_h_pfc_diagonal_add_left_sum_w_body_steps_summand. fs_h_pfc_diagonal_add_left_sum_w_body_steps_summand + S (fs_a_pfc_diagonal_add_left_sum_w_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * wc)) /\ exists fs_q_pfc_diagonal_add_left_sum_w_body_steps_summand. wb = fs_q_pfc_diagonal_add_left_sum_w_body_steps_summand * S ((S (fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * wc) + (fs_a_pfc_diagonal_add_left_sum_w_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_w_body_steps_partial. fs_h_pfc_diagonal_add_left_sum_w_body_steps_partial + S (fs_r_pfc_diagonal_add_left_sum_w_body_steps) = S ((S (fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * fs_v_pfc_diagonal_add_left_sum_w)) /\ exists fs_q_pfc_diagonal_add_left_sum_w_body_steps_partial. fs_u_pfc_diagonal_add_left_sum_w = fs_q_pfc_diagonal_add_left_sum_w_body_steps_partial * S ((S (fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * fs_v_pfc_diagonal_add_left_sum_w) + (fs_r_pfc_diagonal_add_left_sum_w_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_left_sum_w_body_steps_successor. fs_h_pfc_diagonal_add_left_sum_w_body_steps_successor + S (fs_s_pfc_diagonal_add_left_sum_w_body_steps) = S ((S (S fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * fs_v_pfc_diagonal_add_left_sum_w)) /\ exists fs_q_pfc_diagonal_add_left_sum_w_body_steps_successor. fs_u_pfc_diagonal_add_left_sum_w = fs_q_pfc_diagonal_add_left_sum_w_body_steps_successor * S ((S (S fs_i_pfc_diagonal_add_left_sum_w_body_steps)) * fs_v_pfc_diagonal_add_left_sum_w) + (fs_s_pfc_diagonal_add_left_sum_w_body_steps))) /\ fs_s_pfc_diagonal_add_left_sum_w_body_steps = fs_r_pfc_diagonal_add_left_sum_w_body_steps + fs_a_pfc_diagonal_add_left_sum_w_body_steps)))))) -> (exists pfa_offset_left_diagonal_add_left_result pfa_offset_right_diagonal_add_left_result. (u+v) + (p) * pfa_offset_left_diagonal_add_left_result = (w) + (p) * pfa_offset_right_diagonal_add_left_result)
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro iintro Nintro ubintro ucintro vbintro vcintro wbintro wcintro uintro vintro wintro hsintro hduintro hsvintro hdvintro hsvvintro hdwintro hswspecialize beta_sum_pointwise_mod_add (p)specialize beta_sum_pointwise_mod_add (ub)specialize beta_sum_pointwise_mod_add (uc)specialize beta_sum_pointwise_mod_add (vb)specialize beta_sum_pointwise_mod_add (vc)specialize beta_sum_pointwise_mod_add (wb)specialize beta_sum_pointwise_mod_add (wc)specialize beta_sum_pointwise_mod_add (N)specialize beta_sum_pointwise_mod_add (u)specialize beta_sum_pointwise_mod_add (v)specialize beta_sum_pointwise_mod_add (w)apply beta_sum_pointwise_mod_addexact hsvexact hsvvexact hswintro jintro aintro bintro cintro hjintro haintro hbintro hcspecialize polynomial_diagonal_term_left_add_congruent (p)specialize polynomial_diagonal_term_left_add_congruent (ab)specialize polynomial_diagonal_term_left_add_congruent (ac)specialize polynomial_diagonal_term_left_add_congruent (bb)specialize polynomial_diagonal_term_left_add_congruent (bc)specialize polynomial_diagonal_term_left_add_congruent (cb)specialize polynomial_diagonal_term_left_add_congruent (cc)specialize polynomial_diagonal_term_left_add_congruent (L)specialize polynomial_diagonal_term_left_add_congruent (db)specialize polynomial_diagonal_term_left_add_congruent (dc)specialize polynomial_diagonal_term_left_add_congruent (M)specialize polynomial_diagonal_term_left_add_congruent (i)specialize polynomial_diagonal_term_left_add_congruent (j)specialize polynomial_diagonal_term_left_add_congruent (a)specialize polynomial_diagonal_term_left_add_congruent (b)specialize polynomial_diagonal_term_left_add_congruent (c)apply polynomial_diagonal_term_left_add_congruentexact hsspecialize polynomial_diagonal_prefix_entry (db)specialize polynomial_diagonal_prefix_entry (dc)specialize polynomial_diagonal_prefix_entry (M)specialize polynomial_diagonal_prefix_entry (ab)specialize polynomial_diagonal_prefix_entry (ac)specialize polynomial_diagonal_prefix_entry (L)specialize polynomial_diagonal_prefix_entry (i)specialize polynomial_diagonal_prefix_entry (ub)specialize polynomial_diagonal_prefix_entry (uc)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (j)specialize polynomial_diagonal_prefix_entry (a)apply polynomial_diagonal_prefix_entryexact hduexact hjexact haspecialize polynomial_diagonal_prefix_entry (db)specialize polynomial_diagonal_prefix_entry (dc)specialize polynomial_diagonal_prefix_entry (M)specialize polynomial_diagonal_prefix_entry (bb)specialize polynomial_diagonal_prefix_entry (bc)specialize polynomial_diagonal_prefix_entry (L)specialize polynomial_diagonal_prefix_entry (i)specialize polynomial_diagonal_prefix_entry (vb)specialize polynomial_diagonal_prefix_entry (vc)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (j)specialize polynomial_diagonal_prefix_entry (b)apply polynomial_diagonal_prefix_entryexact hdvexact hjexact hbspecialize polynomial_diagonal_prefix_entry (db)specialize polynomial_diagonal_prefix_entry (dc)specialize polynomial_diagonal_prefix_entry (M)specialize polynomial_diagonal_prefix_entry (cb)specialize polynomial_diagonal_prefix_entry (cc)specialize polynomial_diagonal_prefix_entry (L)specialize polynomial_diagonal_prefix_entry (i)specialize polynomial_diagonal_prefix_entry (wb)specialize polynomial_diagonal_prefix_entry (wc)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (j)specialize polynomial_diagonal_prefix_entry (c)apply polynomial_diagonal_prefix_entryexact hdwexact hjexact hc
prime_field_convolution_coefficient_left_add · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M i u v w. (forall pfp_index_coefficient_add_left_source. (exists pfa_gap_coefficient_add_left_sourceindex. pfa_gap_coefficient_add_left_sourceindex + S (pfp_index_coefficient_add_left_source) = (L)) -> exists pfp_left_coefficient_add_left_source pfp_right_coefficient_add_left_source pfp_value_coefficient_add_left_source. ((((exists ff_h_pfp_coefficient_add_left_sourceleft. ff_h_pfp_coefficient_add_left_sourceleft + S (pfp_left_coefficient_add_left_source) = S ((S (pfp_index_coefficient_add_left_source)) * ac)) /\ exists ff_q_pfp_coefficient_add_left_sourceleft. ab = ff_q_pfp_coefficient_add_left_sourceleft * S ((S (pfp_index_coefficient_add_left_source)) * ac) + (pfp_left_coefficient_add_left_source))) /\ (((((exists ff_h_pfp_coefficient_add_left_sourceright. ff_h_pfp_coefficient_add_left_sourceright + S (pfp_right_coefficient_add_left_source) = S ((S (pfp_index_coefficient_add_left_source)) * bc)) /\ exists ff_q_pfp_coefficient_add_left_sourceright. bb = ff_q_pfp_coefficient_add_left_sourceright * S ((S (pfp_index_coefficient_add_left_source)) * bc) + (pfp_right_coefficient_add_left_source))) /\ (((((exists ff_h_pfp_coefficient_add_left_sourcetarget. ff_h_pfp_coefficient_add_left_sourcetarget + S (pfp_value_coefficient_add_left_source) = S ((S (pfp_index_coefficient_add_left_source)) * cc)) /\ exists ff_q_pfp_coefficient_add_left_sourcetarget. cb = ff_q_pfp_coefficient_add_left_sourcetarget * S ((S (pfp_index_coefficient_add_left_source)) * cc) + (pfp_value_coefficient_add_left_source))) /\ ((((exists pfa_gap_coefficient_add_left_sourceoperationleft. pfa_gap_coefficient_add_left_sourceoperationleft + S (pfp_left_coefficient_add_left_source) = (p)) /\ (((exists pfa_gap_coefficient_add_left_sourceoperationright. pfa_gap_coefficient_add_left_sourceoperationright + S (pfp_right_coefficient_add_left_source) = (p)) /\ ((((exists pfa_gap_coefficient_add_left_sourceoperationresultbound. pfa_gap_coefficient_add_left_sourceoperationresultbound + S (pfp_value_coefficient_add_left_source) = (p)) /\ ((exists pfa_offset_left_coefficient_add_left_sourceoperationresultcongruence pfa_offset_right_coefficient_add_left_sourceoperationresultcongruence. ((pfp_left_coefficient_add_left_source) + (pfp_right_coefficient_add_left_source)) + (p) * pfa_offset_left_coefficient_add_left_sourceoperationresultcongruence = (pfp_value_coefficient_add_left_source) + (p) * pfa_offset_right_coefficient_add_left_sourceoperationresultcongruence)))))))))))))))) -> (exists pfc_terms_code_coefficient_add_left_u pfc_terms_scale_coefficient_add_left_u pfc_natural_sum_coefficient_add_left_u. ((forall pfc_index_coefficient_add_left_udiagonal. (exists pfa_gap_coefficient_add_left_udiagonalbound. pfa_gap_coefficient_add_left_udiagonalbound + S (pfc_index_coefficient_add_left_udiagonal) = (S (i))) -> exists pfc_value_coefficient_add_left_udiagonal. ((((exists ff_h_pfp_coefficient_add_left_udiagonalentry. ff_h_pfp_coefficient_add_left_udiagonalentry + S (pfc_value_coefficient_add_left_udiagonal) = S ((S (pfc_index_coefficient_add_left_udiagonal)) * pfc_terms_scale_coefficient_add_left_u)) /\ exists ff_q_pfp_coefficient_add_left_udiagonalentry. pfc_terms_code_coefficient_add_left_u = ff_q_pfp_coefficient_add_left_udiagonalentry * S ((S (pfc_index_coefficient_add_left_udiagonal)) * pfc_terms_scale_coefficient_add_left_u) + (pfc_value_coefficient_add_left_udiagonal))) /\ ((exists pfc_complement_coefficient_add_left_udiagonalterm pfc_left_coefficient_add_left_udiagonalterm pfc_right_coefficient_add_left_udiagonalterm. (((pfc_index_coefficient_add_left_udiagonal)+pfc_complement_coefficient_add_left_udiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_add_left_udiagonaltermleftinside. pfa_gap_coefficient_add_left_udiagonaltermleftinside + S (pfc_index_coefficient_add_left_udiagonal) = (M)) /\ ((((exists ff_h_pfp_coefficient_add_left_udiagonaltermleftentry. ff_h_pfp_coefficient_add_left_udiagonaltermleftentry + S (pfc_left_coefficient_add_left_udiagonalterm) = S ((S (pfc_index_coefficient_add_left_udiagonal)) * dc)) /\ exists ff_q_pfp_coefficient_add_left_udiagonaltermleftentry. db = ff_q_pfp_coefficient_add_left_udiagonaltermleftentry * S ((S (pfc_index_coefficient_add_left_udiagonal)) * dc) + (pfc_left_coefficient_add_left_udiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_udiagonaltermleftoutside. pfc_gap_coefficient_add_left_udiagonaltermleftoutside+(M)=(pfc_index_coefficient_add_left_udiagonal)) /\ (((pfc_left_coefficient_add_left_udiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_add_left_udiagonaltermrightinside. pfa_gap_coefficient_add_left_udiagonaltermrightinside + S (pfc_complement_coefficient_add_left_udiagonalterm) = (L)) /\ ((((exists ff_h_pfp_coefficient_add_left_udiagonaltermrightentry. ff_h_pfp_coefficient_add_left_udiagonaltermrightentry + S (pfc_right_coefficient_add_left_udiagonalterm) = S ((S (pfc_complement_coefficient_add_left_udiagonalterm)) * ac)) /\ exists ff_q_pfp_coefficient_add_left_udiagonaltermrightentry. ab = ff_q_pfp_coefficient_add_left_udiagonaltermrightentry * S ((S (pfc_complement_coefficient_add_left_udiagonalterm)) * ac) + (pfc_right_coefficient_add_left_udiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_udiagonaltermrightoutside. pfc_gap_coefficient_add_left_udiagonaltermrightoutside+(L)=(pfc_complement_coefficient_add_left_udiagonalterm)) /\ (((pfc_right_coefficient_add_left_udiagonalterm)=0))))) /\ (((pfc_value_coefficient_add_left_udiagonal)=pfc_left_coefficient_add_left_udiagonalterm*pfc_right_coefficient_add_left_udiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_add_left_usum fs_v_pfc_coefficient_add_left_usum. ((((exists fs_h_pfc_coefficient_add_left_usum_body_start. fs_h_pfc_coefficient_add_left_usum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_add_left_usum)) /\ exists fs_q_pfc_coefficient_add_left_usum_body_start. fs_u_pfc_coefficient_add_left_usum = fs_q_pfc_coefficient_add_left_usum_body_start * S ((S (0)) * fs_v_pfc_coefficient_add_left_usum) + (0))) /\ ((((exists fs_h_pfc_coefficient_add_left_usum_body_terminal. fs_h_pfc_coefficient_add_left_usum_body_terminal + S (pfc_natural_sum_coefficient_add_left_u) = S ((S (S (i))) * fs_v_pfc_coefficient_add_left_usum)) /\ exists fs_q_pfc_coefficient_add_left_usum_body_terminal. fs_u_pfc_coefficient_add_left_usum = fs_q_pfc_coefficient_add_left_usum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_add_left_usum) + (pfc_natural_sum_coefficient_add_left_u))) /\ forall fs_i_pfc_coefficient_add_left_usum_body_steps. (exists fs_lt_pfc_coefficient_add_left_usum_body_steps_bound. fs_lt_pfc_coefficient_add_left_usum_body_steps_bound + S fs_i_pfc_coefficient_add_left_usum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_add_left_usum_body_steps fs_r_pfc_coefficient_add_left_usum_body_steps fs_s_pfc_coefficient_add_left_usum_body_steps. ((((exists fs_h_pfc_coefficient_add_left_usum_body_steps_summand. fs_h_pfc_coefficient_add_left_usum_body_steps_summand + S (fs_a_pfc_coefficient_add_left_usum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_usum_body_steps)) * pfc_terms_scale_coefficient_add_left_u)) /\ exists fs_q_pfc_coefficient_add_left_usum_body_steps_summand. pfc_terms_code_coefficient_add_left_u = fs_q_pfc_coefficient_add_left_usum_body_steps_summand * S ((S (fs_i_pfc_coefficient_add_left_usum_body_steps)) * pfc_terms_scale_coefficient_add_left_u) + (fs_a_pfc_coefficient_add_left_usum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_usum_body_steps_partial. fs_h_pfc_coefficient_add_left_usum_body_steps_partial + S (fs_r_pfc_coefficient_add_left_usum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_usum_body_steps)) * fs_v_pfc_coefficient_add_left_usum)) /\ exists fs_q_pfc_coefficient_add_left_usum_body_steps_partial. fs_u_pfc_coefficient_add_left_usum = fs_q_pfc_coefficient_add_left_usum_body_steps_partial * S ((S (fs_i_pfc_coefficient_add_left_usum_body_steps)) * fs_v_pfc_coefficient_add_left_usum) + (fs_r_pfc_coefficient_add_left_usum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_usum_body_steps_successor. fs_h_pfc_coefficient_add_left_usum_body_steps_successor + S (fs_s_pfc_coefficient_add_left_usum_body_steps) = S ((S (S fs_i_pfc_coefficient_add_left_usum_body_steps)) * fs_v_pfc_coefficient_add_left_usum)) /\ exists fs_q_pfc_coefficient_add_left_usum_body_steps_successor. fs_u_pfc_coefficient_add_left_usum = fs_q_pfc_coefficient_add_left_usum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_add_left_usum_body_steps)) * fs_v_pfc_coefficient_add_left_usum) + (fs_s_pfc_coefficient_add_left_usum_body_steps))) /\ fs_s_pfc_coefficient_add_left_usum_body_steps = fs_r_pfc_coefficient_add_left_usum_body_steps + fs_a_pfc_coefficient_add_left_usum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_add_left_uresiduebound. pfa_gap_coefficient_add_left_uresiduebound + S (u) = (p)) /\ ((exists pfa_offset_left_coefficient_add_left_uresiduecongruence pfa_offset_right_coefficient_add_left_uresiduecongruence. (pfc_natural_sum_coefficient_add_left_u) + (p) * pfa_offset_left_coefficient_add_left_uresiduecongruence = (u) + (p) * pfa_offset_right_coefficient_add_left_uresiduecongruence))))))))) -> (exists pfc_terms_code_coefficient_add_left_v pfc_terms_scale_coefficient_add_left_v pfc_natural_sum_coefficient_add_left_v. ((forall pfc_index_coefficient_add_left_vdiagonal. (exists pfa_gap_coefficient_add_left_vdiagonalbound. pfa_gap_coefficient_add_left_vdiagonalbound + S (pfc_index_coefficient_add_left_vdiagonal) = (S (i))) -> exists pfc_value_coefficient_add_left_vdiagonal. ((((exists ff_h_pfp_coefficient_add_left_vdiagonalentry. ff_h_pfp_coefficient_add_left_vdiagonalentry + S (pfc_value_coefficient_add_left_vdiagonal) = S ((S (pfc_index_coefficient_add_left_vdiagonal)) * pfc_terms_scale_coefficient_add_left_v)) /\ exists ff_q_pfp_coefficient_add_left_vdiagonalentry. pfc_terms_code_coefficient_add_left_v = ff_q_pfp_coefficient_add_left_vdiagonalentry * S ((S (pfc_index_coefficient_add_left_vdiagonal)) * pfc_terms_scale_coefficient_add_left_v) + (pfc_value_coefficient_add_left_vdiagonal))) /\ ((exists pfc_complement_coefficient_add_left_vdiagonalterm pfc_left_coefficient_add_left_vdiagonalterm pfc_right_coefficient_add_left_vdiagonalterm. (((pfc_index_coefficient_add_left_vdiagonal)+pfc_complement_coefficient_add_left_vdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_add_left_vdiagonaltermleftinside. pfa_gap_coefficient_add_left_vdiagonaltermleftinside + S (pfc_index_coefficient_add_left_vdiagonal) = (M)) /\ ((((exists ff_h_pfp_coefficient_add_left_vdiagonaltermleftentry. ff_h_pfp_coefficient_add_left_vdiagonaltermleftentry + S (pfc_left_coefficient_add_left_vdiagonalterm) = S ((S (pfc_index_coefficient_add_left_vdiagonal)) * dc)) /\ exists ff_q_pfp_coefficient_add_left_vdiagonaltermleftentry. db = ff_q_pfp_coefficient_add_left_vdiagonaltermleftentry * S ((S (pfc_index_coefficient_add_left_vdiagonal)) * dc) + (pfc_left_coefficient_add_left_vdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_vdiagonaltermleftoutside. pfc_gap_coefficient_add_left_vdiagonaltermleftoutside+(M)=(pfc_index_coefficient_add_left_vdiagonal)) /\ (((pfc_left_coefficient_add_left_vdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_add_left_vdiagonaltermrightinside. pfa_gap_coefficient_add_left_vdiagonaltermrightinside + S (pfc_complement_coefficient_add_left_vdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_coefficient_add_left_vdiagonaltermrightentry. ff_h_pfp_coefficient_add_left_vdiagonaltermrightentry + S (pfc_right_coefficient_add_left_vdiagonalterm) = S ((S (pfc_complement_coefficient_add_left_vdiagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_add_left_vdiagonaltermrightentry. bb = ff_q_pfp_coefficient_add_left_vdiagonaltermrightentry * S ((S (pfc_complement_coefficient_add_left_vdiagonalterm)) * bc) + (pfc_right_coefficient_add_left_vdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_vdiagonaltermrightoutside. pfc_gap_coefficient_add_left_vdiagonaltermrightoutside+(L)=(pfc_complement_coefficient_add_left_vdiagonalterm)) /\ (((pfc_right_coefficient_add_left_vdiagonalterm)=0))))) /\ (((pfc_value_coefficient_add_left_vdiagonal)=pfc_left_coefficient_add_left_vdiagonalterm*pfc_right_coefficient_add_left_vdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_add_left_vsum fs_v_pfc_coefficient_add_left_vsum. ((((exists fs_h_pfc_coefficient_add_left_vsum_body_start. fs_h_pfc_coefficient_add_left_vsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_add_left_vsum)) /\ exists fs_q_pfc_coefficient_add_left_vsum_body_start. fs_u_pfc_coefficient_add_left_vsum = fs_q_pfc_coefficient_add_left_vsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_add_left_vsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_add_left_vsum_body_terminal. fs_h_pfc_coefficient_add_left_vsum_body_terminal + S (pfc_natural_sum_coefficient_add_left_v) = S ((S (S (i))) * fs_v_pfc_coefficient_add_left_vsum)) /\ exists fs_q_pfc_coefficient_add_left_vsum_body_terminal. fs_u_pfc_coefficient_add_left_vsum = fs_q_pfc_coefficient_add_left_vsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_add_left_vsum) + (pfc_natural_sum_coefficient_add_left_v))) /\ forall fs_i_pfc_coefficient_add_left_vsum_body_steps. (exists fs_lt_pfc_coefficient_add_left_vsum_body_steps_bound. fs_lt_pfc_coefficient_add_left_vsum_body_steps_bound + S fs_i_pfc_coefficient_add_left_vsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_add_left_vsum_body_steps fs_r_pfc_coefficient_add_left_vsum_body_steps fs_s_pfc_coefficient_add_left_vsum_body_steps. ((((exists fs_h_pfc_coefficient_add_left_vsum_body_steps_summand. fs_h_pfc_coefficient_add_left_vsum_body_steps_summand + S (fs_a_pfc_coefficient_add_left_vsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_vsum_body_steps)) * pfc_terms_scale_coefficient_add_left_v)) /\ exists fs_q_pfc_coefficient_add_left_vsum_body_steps_summand. pfc_terms_code_coefficient_add_left_v = fs_q_pfc_coefficient_add_left_vsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_add_left_vsum_body_steps)) * pfc_terms_scale_coefficient_add_left_v) + (fs_a_pfc_coefficient_add_left_vsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_vsum_body_steps_partial. fs_h_pfc_coefficient_add_left_vsum_body_steps_partial + S (fs_r_pfc_coefficient_add_left_vsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_vsum_body_steps)) * fs_v_pfc_coefficient_add_left_vsum)) /\ exists fs_q_pfc_coefficient_add_left_vsum_body_steps_partial. fs_u_pfc_coefficient_add_left_vsum = fs_q_pfc_coefficient_add_left_vsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_add_left_vsum_body_steps)) * fs_v_pfc_coefficient_add_left_vsum) + (fs_r_pfc_coefficient_add_left_vsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_vsum_body_steps_successor. fs_h_pfc_coefficient_add_left_vsum_body_steps_successor + S (fs_s_pfc_coefficient_add_left_vsum_body_steps) = S ((S (S fs_i_pfc_coefficient_add_left_vsum_body_steps)) * fs_v_pfc_coefficient_add_left_vsum)) /\ exists fs_q_pfc_coefficient_add_left_vsum_body_steps_successor. fs_u_pfc_coefficient_add_left_vsum = fs_q_pfc_coefficient_add_left_vsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_add_left_vsum_body_steps)) * fs_v_pfc_coefficient_add_left_vsum) + (fs_s_pfc_coefficient_add_left_vsum_body_steps))) /\ fs_s_pfc_coefficient_add_left_vsum_body_steps = fs_r_pfc_coefficient_add_left_vsum_body_steps + fs_a_pfc_coefficient_add_left_vsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_add_left_vresiduebound. pfa_gap_coefficient_add_left_vresiduebound + S (v) = (p)) /\ ((exists pfa_offset_left_coefficient_add_left_vresiduecongruence pfa_offset_right_coefficient_add_left_vresiduecongruence. (pfc_natural_sum_coefficient_add_left_v) + (p) * pfa_offset_left_coefficient_add_left_vresiduecongruence = (v) + (p) * pfa_offset_right_coefficient_add_left_vresiduecongruence))))))))) -> (exists pfc_terms_code_coefficient_add_left_w pfc_terms_scale_coefficient_add_left_w pfc_natural_sum_coefficient_add_left_w. ((forall pfc_index_coefficient_add_left_wdiagonal. (exists pfa_gap_coefficient_add_left_wdiagonalbound. pfa_gap_coefficient_add_left_wdiagonalbound + S (pfc_index_coefficient_add_left_wdiagonal) = (S (i))) -> exists pfc_value_coefficient_add_left_wdiagonal. ((((exists ff_h_pfp_coefficient_add_left_wdiagonalentry. ff_h_pfp_coefficient_add_left_wdiagonalentry + S (pfc_value_coefficient_add_left_wdiagonal) = S ((S (pfc_index_coefficient_add_left_wdiagonal)) * pfc_terms_scale_coefficient_add_left_w)) /\ exists ff_q_pfp_coefficient_add_left_wdiagonalentry. pfc_terms_code_coefficient_add_left_w = ff_q_pfp_coefficient_add_left_wdiagonalentry * S ((S (pfc_index_coefficient_add_left_wdiagonal)) * pfc_terms_scale_coefficient_add_left_w) + (pfc_value_coefficient_add_left_wdiagonal))) /\ ((exists pfc_complement_coefficient_add_left_wdiagonalterm pfc_left_coefficient_add_left_wdiagonalterm pfc_right_coefficient_add_left_wdiagonalterm. (((pfc_index_coefficient_add_left_wdiagonal)+pfc_complement_coefficient_add_left_wdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_add_left_wdiagonaltermleftinside. pfa_gap_coefficient_add_left_wdiagonaltermleftinside + S (pfc_index_coefficient_add_left_wdiagonal) = (M)) /\ ((((exists ff_h_pfp_coefficient_add_left_wdiagonaltermleftentry. ff_h_pfp_coefficient_add_left_wdiagonaltermleftentry + S (pfc_left_coefficient_add_left_wdiagonalterm) = S ((S (pfc_index_coefficient_add_left_wdiagonal)) * dc)) /\ exists ff_q_pfp_coefficient_add_left_wdiagonaltermleftentry. db = ff_q_pfp_coefficient_add_left_wdiagonaltermleftentry * S ((S (pfc_index_coefficient_add_left_wdiagonal)) * dc) + (pfc_left_coefficient_add_left_wdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_wdiagonaltermleftoutside. pfc_gap_coefficient_add_left_wdiagonaltermleftoutside+(M)=(pfc_index_coefficient_add_left_wdiagonal)) /\ (((pfc_left_coefficient_add_left_wdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_add_left_wdiagonaltermrightinside. pfa_gap_coefficient_add_left_wdiagonaltermrightinside + S (pfc_complement_coefficient_add_left_wdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_coefficient_add_left_wdiagonaltermrightentry. ff_h_pfp_coefficient_add_left_wdiagonaltermrightentry + S (pfc_right_coefficient_add_left_wdiagonalterm) = S ((S (pfc_complement_coefficient_add_left_wdiagonalterm)) * cc)) /\ exists ff_q_pfp_coefficient_add_left_wdiagonaltermrightentry. cb = ff_q_pfp_coefficient_add_left_wdiagonaltermrightentry * S ((S (pfc_complement_coefficient_add_left_wdiagonalterm)) * cc) + (pfc_right_coefficient_add_left_wdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_left_wdiagonaltermrightoutside. pfc_gap_coefficient_add_left_wdiagonaltermrightoutside+(L)=(pfc_complement_coefficient_add_left_wdiagonalterm)) /\ (((pfc_right_coefficient_add_left_wdiagonalterm)=0))))) /\ (((pfc_value_coefficient_add_left_wdiagonal)=pfc_left_coefficient_add_left_wdiagonalterm*pfc_right_coefficient_add_left_wdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_add_left_wsum fs_v_pfc_coefficient_add_left_wsum. ((((exists fs_h_pfc_coefficient_add_left_wsum_body_start. fs_h_pfc_coefficient_add_left_wsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_add_left_wsum)) /\ exists fs_q_pfc_coefficient_add_left_wsum_body_start. fs_u_pfc_coefficient_add_left_wsum = fs_q_pfc_coefficient_add_left_wsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_add_left_wsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_add_left_wsum_body_terminal. fs_h_pfc_coefficient_add_left_wsum_body_terminal + S (pfc_natural_sum_coefficient_add_left_w) = S ((S (S (i))) * fs_v_pfc_coefficient_add_left_wsum)) /\ exists fs_q_pfc_coefficient_add_left_wsum_body_terminal. fs_u_pfc_coefficient_add_left_wsum = fs_q_pfc_coefficient_add_left_wsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_add_left_wsum) + (pfc_natural_sum_coefficient_add_left_w))) /\ forall fs_i_pfc_coefficient_add_left_wsum_body_steps. (exists fs_lt_pfc_coefficient_add_left_wsum_body_steps_bound. fs_lt_pfc_coefficient_add_left_wsum_body_steps_bound + S fs_i_pfc_coefficient_add_left_wsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_add_left_wsum_body_steps fs_r_pfc_coefficient_add_left_wsum_body_steps fs_s_pfc_coefficient_add_left_wsum_body_steps. ((((exists fs_h_pfc_coefficient_add_left_wsum_body_steps_summand. fs_h_pfc_coefficient_add_left_wsum_body_steps_summand + S (fs_a_pfc_coefficient_add_left_wsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_wsum_body_steps)) * pfc_terms_scale_coefficient_add_left_w)) /\ exists fs_q_pfc_coefficient_add_left_wsum_body_steps_summand. pfc_terms_code_coefficient_add_left_w = fs_q_pfc_coefficient_add_left_wsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_add_left_wsum_body_steps)) * pfc_terms_scale_coefficient_add_left_w) + (fs_a_pfc_coefficient_add_left_wsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_wsum_body_steps_partial. fs_h_pfc_coefficient_add_left_wsum_body_steps_partial + S (fs_r_pfc_coefficient_add_left_wsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_left_wsum_body_steps)) * fs_v_pfc_coefficient_add_left_wsum)) /\ exists fs_q_pfc_coefficient_add_left_wsum_body_steps_partial. fs_u_pfc_coefficient_add_left_wsum = fs_q_pfc_coefficient_add_left_wsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_add_left_wsum_body_steps)) * fs_v_pfc_coefficient_add_left_wsum) + (fs_r_pfc_coefficient_add_left_wsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_left_wsum_body_steps_successor. fs_h_pfc_coefficient_add_left_wsum_body_steps_successor + S (fs_s_pfc_coefficient_add_left_wsum_body_steps) = S ((S (S fs_i_pfc_coefficient_add_left_wsum_body_steps)) * fs_v_pfc_coefficient_add_left_wsum)) /\ exists fs_q_pfc_coefficient_add_left_wsum_body_steps_successor. fs_u_pfc_coefficient_add_left_wsum = fs_q_pfc_coefficient_add_left_wsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_add_left_wsum_body_steps)) * fs_v_pfc_coefficient_add_left_wsum) + (fs_s_pfc_coefficient_add_left_wsum_body_steps))) /\ fs_s_pfc_coefficient_add_left_wsum_body_steps = fs_r_pfc_coefficient_add_left_wsum_body_steps + fs_a_pfc_coefficient_add_left_wsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_add_left_wresiduebound. pfa_gap_coefficient_add_left_wresiduebound + S (w) = (p)) /\ ((exists pfa_offset_left_coefficient_add_left_wresiduecongruence pfa_offset_right_coefficient_add_left_wresiduecongruence. (pfc_natural_sum_coefficient_add_left_w) + (p) * pfa_offset_left_coefficient_add_left_wresiduecongruence = (w) + (p) * pfa_offset_right_coefficient_add_left_wresiduecongruence))))))))) -> (((exists pfa_gap_coefficient_add_left_resultleft. pfa_gap_coefficient_add_left_resultleft + S (u) = (p)) /\ (((exists pfa_gap_coefficient_add_left_resultright. pfa_gap_coefficient_add_left_resultright + S (v) = (p)) /\ ((((exists pfa_gap_coefficient_add_left_resultresultbound. pfa_gap_coefficient_add_left_resultresultbound + S (w) = (p)) /\ ((exists pfa_offset_left_coefficient_add_left_resultresultcongruence pfa_offset_right_coefficient_add_left_resultresultcongruence. ((u) + (v)) + (p) * pfa_offset_left_coefficient_add_left_resultresultcongruence = (w) + (p) * pfa_offset_right_coefficient_add_left_resultresultcongruence)))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro iintro uintro vintro wintro hsintro huintro hvintro hwcases hucases hu_witnesscases hu_witness_witnesscases hu_witness_witness_witnesscases hu_witness_witness_witness_rightcases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hwcases hw_witnesscases hw_witness_witnesscases hw_witness_witness_witnesscases hw_witness_witness_witness_righthave hsum : exists pfa_offset_left_coefficient_add_left_sum pfa_offset_right_coefficient_add_left_sum. (x2+x5) + (p) * pfa_offset_left_coefficient_add_left_sum = (x8) + (p) * pfa_offset_right_coefficient_add_left_sumspecialize polynomial_diagonal_sum_left_add_congruent (p)specialize polynomial_diagonal_sum_left_add_congruent (ab)specialize polynomial_diagonal_sum_left_add_congruent (ac)specialize polynomial_diagonal_sum_left_add_congruent (bb)specialize polynomial_diagonal_sum_left_add_congruent (bc)specialize polynomial_diagonal_sum_left_add_congruent (cb)specialize polynomial_diagonal_sum_left_add_congruent (cc)specialize polynomial_diagonal_sum_left_add_congruent (L)specialize polynomial_diagonal_sum_left_add_congruent (db)specialize polynomial_diagonal_sum_left_add_congruent (dc)specialize polynomial_diagonal_sum_left_add_congruent (M)specialize polynomial_diagonal_sum_left_add_congruent (i)specialize polynomial_diagonal_sum_left_add_congruent (S i)specialize polynomial_diagonal_sum_left_add_congruent (x)specialize polynomial_diagonal_sum_left_add_congruent (x1)specialize polynomial_diagonal_sum_left_add_congruent (x3)specialize polynomial_diagonal_sum_left_add_congruent (x4)specialize polynomial_diagonal_sum_left_add_congruent (x6)specialize polynomial_diagonal_sum_left_add_congruent (x7)specialize polynomial_diagonal_sum_left_add_congruent (x2)specialize polynomial_diagonal_sum_left_add_congruent (x5)specialize polynomial_diagonal_sum_left_add_congruent (x8)apply polynomial_diagonal_sum_left_add_congruentexact hsexact hu_witness_witness_witness_leftexact hu_witness_witness_witness_right_leftexact hv_witness_witness_witness_leftexact hv_witness_witness_witness_right_leftexact hw_witness_witness_witness_leftexact hw_witness_witness_witness_right_leftcases hu_witness_witness_witness_right_rightcases hv_witness_witness_witness_right_rightcases hw_witness_witness_witness_right_righthave hraw : exists pfa_offset_left_coefficient_add_left_raw pfa_offset_right_coefficient_add_left_raw. (x2+x5) + (p) * pfa_offset_left_coefficient_add_left_raw = (w) + (p) * pfa_offset_right_coefficient_add_left_rawspecialize mod_eq_trans (p)specialize mod_eq_trans (x2+x5)specialize mod_eq_trans (x8)specialize mod_eq_trans (w)apply mod_eq_transexact hsumexact hw_witness_witness_witness_right_right_rightsplitexact hu_witness_witness_witness_right_right_leftsplitexact hv_witness_witness_witness_right_right_leftsplitexact hw_witness_witness_witness_right_right_leftspecialize mod_eq_trans (p)specialize mod_eq_trans (u+v)specialize mod_eq_trans (x2+x5)specialize mod_eq_trans (w)apply mod_eq_transspecialize mod_eq_symm (p)specialize mod_eq_symm (x2+x5)specialize mod_eq_symm (u+v)apply mod_eq_symmspecialize mod_eq_add (p)specialize mod_eq_add (x2)specialize mod_eq_add (u)specialize mod_eq_add (x5)specialize mod_eq_add (v)apply mod_eq_addexact hu_witness_witness_witness_right_right_rightexact hv_witness_witness_witness_right_right_rightexact hraw
prime_field_polynomial_left_pad_index_cases · unchanged support, not a new admission
forall t L i. (exists pfa_gap_index_cases_bound. pfa_gap_index_cases_bound + S (i) = (t+L)) -> (exists pfa_gap_index_cases_zero. pfa_gap_index_cases_zero + S (i) = (t)) \/ exists j. (((exists pfa_gap_index_cases_copy. pfa_gap_index_cases_copy + S (j) = (L)) /\ ((i=t+j))))
intro tintro Lintro iintro hihave ho : (exists pfrep_gap_index_case_ge. pfrep_gap_index_case_ge+(t)=(i)) \/ (exists pfa_gap_index_case_lt. pfa_gap_index_case_lt + S (i) = (t))specialize le_or_lt (t)specialize le_or_lt (i)apply le_or_ltcases hocases ho_lefthave heq : t+x=itrans x+tapply add_commexact ho_left_witnessrightexists xsplitcases hiexists x1specialize add_left_cancel (t)specialize add_left_cancel (x1+S x)specialize add_left_cancel (L)apply add_left_canceltrans x1+S (t+x)simp [add_comm,add_assoc]rewrite heqexact hi_witnesssymmexact heqleftexact ho_right
prime_field_polynomial_left_pad_bounded · unchanged support, not a new admission
forall p b c L t d e. (~((p) = 1) /\ forall pfa_factor_left_left_pad_bounded_prime pfa_factor_right_left_pad_bounded_prime. (p) = pfa_factor_left_left_pad_bounded_prime * pfa_factor_right_left_pad_bounded_prime -> pfa_factor_left_left_pad_bounded_prime = 1 \/ pfa_factor_right_left_pad_bounded_prime = 1) -> (forall fom_index_pfp_left_pad_bounded_source. (exists fom_gap_pfp_left_pad_bounded_source_index_bound. fom_gap_pfp_left_pad_bounded_source_index_bound + S (fom_index_pfp_left_pad_bounded_source) = L) -> exists fom_value_pfp_left_pad_bounded_source. ((((exists fom_beta_height_pfp_left_pad_bounded_source_entry. fom_beta_height_pfp_left_pad_bounded_source_entry + S (fom_value_pfp_left_pad_bounded_source) = S ((S (fom_index_pfp_left_pad_bounded_source)) * c)) /\ exists fom_beta_quotient_pfp_left_pad_bounded_source_entry. b = fom_beta_quotient_pfp_left_pad_bounded_source_entry * S ((S (fom_index_pfp_left_pad_bounded_source)) * c) + (fom_value_pfp_left_pad_bounded_source))) /\ (exists fom_gap_pfp_left_pad_bounded_source_value_bound. fom_gap_pfp_left_pad_bounded_source_value_bound + S (fom_value_pfp_left_pad_bounded_source) = p))) -> (((forall pfp_repeat_index_left_pad_bounded_graphzeros. (exists pfa_gap_left_pad_bounded_graphzerosindex. pfa_gap_left_pad_bounded_graphzerosindex + S (pfp_repeat_index_left_pad_bounded_graphzeros) = (t)) -> (((exists ff_h_pfp_left_pad_bounded_graphzerosentry. ff_h_pfp_left_pad_bounded_graphzerosentry + S (0) = S ((S (pfp_repeat_index_left_pad_bounded_graphzeros)) * e)) /\ exists ff_q_pfp_left_pad_bounded_graphzerosentry. d = ff_q_pfp_left_pad_bounded_graphzerosentry * S ((S (pfp_repeat_index_left_pad_bounded_graphzeros)) * e) + (0)))) /\ ((forall pfrep_index_left_pad_bounded_graph pfrep_value_left_pad_bounded_graph. (exists pfa_gap_left_pad_bounded_graphbound. pfa_gap_left_pad_bounded_graphbound + S (pfrep_index_left_pad_bounded_graph) = (L)) -> (((exists ff_h_pfp_left_pad_bounded_graphinput. ff_h_pfp_left_pad_bounded_graphinput + S (pfrep_value_left_pad_bounded_graph) = S ((S (pfrep_index_left_pad_bounded_graph)) * c)) /\ exists ff_q_pfp_left_pad_bounded_graphinput. b = ff_q_pfp_left_pad_bounded_graphinput * S ((S (pfrep_index_left_pad_bounded_graph)) * c) + (pfrep_value_left_pad_bounded_graph))) -> (((exists ff_h_pfp_left_pad_bounded_graphoutput. ff_h_pfp_left_pad_bounded_graphoutput + S (pfrep_value_left_pad_bounded_graph) = S ((S ((t)+pfrep_index_left_pad_bounded_graph)) * e)) /\ exists ff_q_pfp_left_pad_bounded_graphoutput. d = ff_q_pfp_left_pad_bounded_graphoutput * S ((S ((t)+pfrep_index_left_pad_bounded_graph)) * e) + (pfrep_value_left_pad_bounded_graph))))))) -> (forall fom_index_pfp_left_pad_bounded_target. (exists fom_gap_pfp_left_pad_bounded_target_index_bound. fom_gap_pfp_left_pad_bounded_target_index_bound + S (fom_index_pfp_left_pad_bounded_target) = t+L) -> exists fom_value_pfp_left_pad_bounded_target. ((((exists fom_beta_height_pfp_left_pad_bounded_target_entry. fom_beta_height_pfp_left_pad_bounded_target_entry + S (fom_value_pfp_left_pad_bounded_target) = S ((S (fom_index_pfp_left_pad_bounded_target)) * e)) /\ exists fom_beta_quotient_pfp_left_pad_bounded_target_entry. d = fom_beta_quotient_pfp_left_pad_bounded_target_entry * S ((S (fom_index_pfp_left_pad_bounded_target)) * e) + (fom_value_pfp_left_pad_bounded_target))) /\ (exists fom_gap_pfp_left_pad_bounded_target_value_bound. fom_gap_pfp_left_pad_bounded_target_value_bound + S (fom_value_pfp_left_pad_bounded_target) = p)))
intro pintro bintro cintro Lintro tintro dintro eintro hpintro hcintro hintro iintro hicases hhave ho : (exists pfa_gap_left_pad_bound_zero. pfa_gap_left_pad_bound_zero + S (i) = (t)) \/ exists j. (((exists pfa_gap_left_pad_bound_source. pfa_gap_left_pad_bound_source + S (j) = (L)) /\ ((i=t+j))))specialize prime_field_polynomial_left_pad_index_cases (t)specialize prime_field_polynomial_left_pad_index_cases (L)specialize prime_field_polynomial_left_pad_index_cases (i)apply prime_field_polynomial_left_pad_index_casesexact hicases hoexists 0splitspecialize h_left (i)apply h_leftexact ho_leftspecialize prime_field_zero_below_prime (p)apply prime_field_zero_below_primeexact hpcases ho_rightcases ho_right_witnesshave hv : exists a. (((((exists ff_h_pfp_left_pad_bound_entry. ff_h_pfp_left_pad_bound_entry + S (a) = S ((S (x)) * c)) /\ exists ff_q_pfp_left_pad_bound_entry. b = ff_q_pfp_left_pad_bound_entry * S ((S (x)) * c) + (a))) /\ ((exists pfa_gap_left_pad_bound_value. pfa_gap_left_pad_bound_value + S (a) = (p)))))specialize hc (x)apply hcexact ho_right_witness_leftcases hvcases hv_witnessexists x1splitrewrite ho_right_witness_rightrewrite ho_right_witness_rightspecialize h_right (x)specialize h_right (x1)apply h_rightexact ho_right_witness_leftexact hv_witness_leftexact hv_witness_right
prime_field_polynomial_add_from_normalization · unchanged support, not a new admission
forall p ab ac bb bc rb rc cb cc l. (forall fom_index_pfp_add_source_a. (exists fom_gap_pfp_add_source_a_index_bound. fom_gap_pfp_add_source_a_index_bound + S (fom_index_pfp_add_source_a) = l) -> exists fom_value_pfp_add_source_a. ((((exists fom_beta_height_pfp_add_source_a_entry. fom_beta_height_pfp_add_source_a_entry + S (fom_value_pfp_add_source_a) = S ((S (fom_index_pfp_add_source_a)) * ac)) /\ exists fom_beta_quotient_pfp_add_source_a_entry. ab = fom_beta_quotient_pfp_add_source_a_entry * S ((S (fom_index_pfp_add_source_a)) * ac) + (fom_value_pfp_add_source_a))) /\ (exists fom_gap_pfp_add_source_a_value_bound. fom_gap_pfp_add_source_a_value_bound + S (fom_value_pfp_add_source_a) = p))) -> (forall fom_index_pfp_add_source_b. (exists fom_gap_pfp_add_source_b_index_bound. fom_gap_pfp_add_source_b_index_bound + S (fom_index_pfp_add_source_b) = l) -> exists fom_value_pfp_add_source_b. ((((exists fom_beta_height_pfp_add_source_b_entry. fom_beta_height_pfp_add_source_b_entry + S (fom_value_pfp_add_source_b) = S ((S (fom_index_pfp_add_source_b)) * bc)) /\ exists fom_beta_quotient_pfp_add_source_b_entry. bb = fom_beta_quotient_pfp_add_source_b_entry * S ((S (fom_index_pfp_add_source_b)) * bc) + (fom_value_pfp_add_source_b))) /\ (exists fom_gap_pfp_add_source_b_value_bound. fom_gap_pfp_add_source_b_value_bound + S (fom_value_pfp_add_source_b) = p))) -> (forall ff_index_mcp_add_pfp_add_raw ff_left_mcp_add_pfp_add_raw ff_right_mcp_add_pfp_add_raw ff_target_mcp_add_pfp_add_raw. (exists mcp_gap_pfp_add_raw_bound. mcp_gap_pfp_add_raw_bound + S (ff_index_mcp_add_pfp_add_raw) = (l)) -> (((exists fs_h_mcp_pfp_add_raw_left. fs_h_mcp_pfp_add_raw_left + S (ff_left_mcp_add_pfp_add_raw) = S ((S (ff_index_mcp_add_pfp_add_raw)) * ac)) /\ exists fs_q_mcp_pfp_add_raw_left. ab = fs_q_mcp_pfp_add_raw_left * S ((S (ff_index_mcp_add_pfp_add_raw)) * ac) + (ff_left_mcp_add_pfp_add_raw))) -> (((exists fs_h_mcp_pfp_add_raw_right. fs_h_mcp_pfp_add_raw_right + S (ff_right_mcp_add_pfp_add_raw) = S ((S (ff_index_mcp_add_pfp_add_raw)) * bc)) /\ exists fs_q_mcp_pfp_add_raw_right. bb = fs_q_mcp_pfp_add_raw_right * S ((S (ff_index_mcp_add_pfp_add_raw)) * bc) + (ff_right_mcp_add_pfp_add_raw))) -> (((exists fs_h_mcp_pfp_add_raw_target. fs_h_mcp_pfp_add_raw_target + S (ff_target_mcp_add_pfp_add_raw) = S ((S (ff_index_mcp_add_pfp_add_raw)) * rc)) /\ exists fs_q_mcp_pfp_add_raw_target. rb = fs_q_mcp_pfp_add_raw_target * S ((S (ff_index_mcp_add_pfp_add_raw)) * rc) + (ff_target_mcp_add_pfp_add_raw))) -> ff_target_mcp_add_pfp_add_raw = ff_left_mcp_add_pfp_add_raw + ff_right_mcp_add_pfp_add_raw) -> (forall pfp_index_add_normalize. (exists pfa_gap_add_normalizeindex. pfa_gap_add_normalizeindex + S (pfp_index_add_normalize) = (l)) -> exists pfp_source_add_normalize pfp_residue_add_normalize. ((((exists ff_h_pfp_add_normalizesource. ff_h_pfp_add_normalizesource + S (pfp_source_add_normalize) = S ((S (pfp_index_add_normalize)) * rc)) /\ exists ff_q_pfp_add_normalizesource. rb = ff_q_pfp_add_normalizesource * S ((S (pfp_index_add_normalize)) * rc) + (pfp_source_add_normalize))) /\ (((((exists ff_h_pfp_add_normalizetarget. ff_h_pfp_add_normalizetarget + S (pfp_residue_add_normalize) = S ((S (pfp_index_add_normalize)) * cc)) /\ exists ff_q_pfp_add_normalizetarget. cb = ff_q_pfp_add_normalizetarget * S ((S (pfp_index_add_normalize)) * cc) + (pfp_residue_add_normalize))) /\ ((((exists pfa_gap_add_normalizeresiduebound. pfa_gap_add_normalizeresiduebound + S (pfp_residue_add_normalize) = (p)) /\ ((exists pfa_offset_left_add_normalizeresiduecongruence pfa_offset_right_add_normalizeresiduecongruence. (pfp_source_add_normalize) + (p) * pfa_offset_left_add_normalizeresiduecongruence = (pfp_residue_add_normalize) + (p) * pfa_offset_right_add_normalizeresiduecongruence))))))))) -> (forall pfp_index_add_result. (exists pfa_gap_add_resultindex. pfa_gap_add_resultindex + S (pfp_index_add_result) = (l)) -> exists pfp_left_add_result pfp_right_add_result pfp_value_add_result. ((((exists ff_h_pfp_add_resultleft. ff_h_pfp_add_resultleft + S (pfp_left_add_result) = S ((S (pfp_index_add_result)) * ac)) /\ exists ff_q_pfp_add_resultleft. ab = ff_q_pfp_add_resultleft * S ((S (pfp_index_add_result)) * ac) + (pfp_left_add_result))) /\ (((((exists ff_h_pfp_add_resultright. ff_h_pfp_add_resultright + S (pfp_right_add_result) = S ((S (pfp_index_add_result)) * bc)) /\ exists ff_q_pfp_add_resultright. bb = ff_q_pfp_add_resultright * S ((S (pfp_index_add_result)) * bc) + (pfp_right_add_result))) /\ (((((exists ff_h_pfp_add_resulttarget. ff_h_pfp_add_resulttarget + S (pfp_value_add_result) = S ((S (pfp_index_add_result)) * cc)) /\ exists ff_q_pfp_add_resulttarget. cb = ff_q_pfp_add_resulttarget * S ((S (pfp_index_add_result)) * cc) + (pfp_value_add_result))) /\ ((((exists pfa_gap_add_resultoperationleft. pfa_gap_add_resultoperationleft + S (pfp_left_add_result) = (p)) /\ (((exists pfa_gap_add_resultoperationright. pfa_gap_add_resultoperationright + S (pfp_right_add_result) = (p)) /\ ((((exists pfa_gap_add_resultoperationresultbound. pfa_gap_add_resultoperationresultbound + S (pfp_value_add_result) = (p)) /\ ((exists pfa_offset_left_add_resultoperationresultcongruence pfa_offset_right_add_resultoperationresultcongruence. ((pfp_left_add_result) + (pfp_right_add_result)) + (p) * pfa_offset_left_add_resultoperationresultcongruence = (pfp_value_add_result) + (p) * pfa_offset_right_add_resultoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro rbintro rcintro cbintro ccintro lintro haintro hbintro hsintro hnintro iintro hihave hva : exists a. ((((exists ff_h_pfp_add_chosen_a. ff_h_pfp_add_chosen_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_chosen_a. ab = ff_q_pfp_add_chosen_a * S ((S (i)) * ac) + (a))) /\ ((exists pfa_gap_add_chosen_a_bound. pfa_gap_add_chosen_a_bound + S (a) = (p))))specialize ha (i)apply haexact hicases hvacases hva_witnesshave hvb : exists b. ((((exists ff_h_pfp_add_chosen_b. ff_h_pfp_add_chosen_b + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_chosen_b. bb = ff_q_pfp_add_chosen_b * S ((S (i)) * bc) + (b))) /\ ((exists pfa_gap_add_chosen_b_bound. pfa_gap_add_chosen_b_bound + S (b) = (p))))specialize hb (i)apply hbexact hicases hvbcases hvb_witnesshave hvn : exists s r. ((((exists ff_h_pfp_add_chosen_sum. ff_h_pfp_add_chosen_sum + S (s) = S ((S (i)) * rc)) /\ exists ff_q_pfp_add_chosen_sum. rb = ff_q_pfp_add_chosen_sum * S ((S (i)) * rc) + (s))) /\ (((((exists ff_h_pfp_add_chosen_residue. ff_h_pfp_add_chosen_residue + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_add_chosen_residue. cb = ff_q_pfp_add_chosen_residue * S ((S (i)) * cc) + (r))) /\ ((((exists pfa_gap_add_chosen_reductionbound. pfa_gap_add_chosen_reductionbound + S (r) = (p)) /\ ((exists pfa_offset_left_add_chosen_reductioncongruence pfa_offset_right_add_chosen_reductioncongruence. (s) + (p) * pfa_offset_left_add_chosen_reductioncongruence = (r) + (p) * pfa_offset_right_add_chosen_reductioncongruence))))))))specialize hn (i)apply hnexact hicases hvncases hvn_witnesscases hvn_witness_witnesscases hvn_witness_witness_rightexists xexists x1exists x3splitexact hva_witness_leftsplitexact hvb_witness_leftsplitexact hvn_witness_witness_right_leftsplitexact hva_witness_rightsplitexact hvb_witness_rightspecialize prime_field_residue_input_equal (p)specialize prime_field_residue_input_equal (x+x1)specialize prime_field_residue_input_equal (x2)specialize prime_field_residue_input_equal (x3)apply prime_field_residue_input_equalsymmspecialize hs (i)specialize hs (x)specialize hs (x1)specialize hs (x2)apply hsexact hiexact hva_witness_leftexact hvb_witness_leftexact hvn_witness_witness_leftexact hvn_witness_witness_right_right
prime_field_polynomial_add_exists · unchanged support, not a new admission
forall p ab ac bb bc l. ~(p=0) -> (forall fom_index_pfp_add_exists_a. (exists fom_gap_pfp_add_exists_a_index_bound. fom_gap_pfp_add_exists_a_index_bound + S (fom_index_pfp_add_exists_a) = l) -> exists fom_value_pfp_add_exists_a. ((((exists fom_beta_height_pfp_add_exists_a_entry. fom_beta_height_pfp_add_exists_a_entry + S (fom_value_pfp_add_exists_a) = S ((S (fom_index_pfp_add_exists_a)) * ac)) /\ exists fom_beta_quotient_pfp_add_exists_a_entry. ab = fom_beta_quotient_pfp_add_exists_a_entry * S ((S (fom_index_pfp_add_exists_a)) * ac) + (fom_value_pfp_add_exists_a))) /\ (exists fom_gap_pfp_add_exists_a_value_bound. fom_gap_pfp_add_exists_a_value_bound + S (fom_value_pfp_add_exists_a) = p))) -> (forall fom_index_pfp_add_exists_b. (exists fom_gap_pfp_add_exists_b_index_bound. fom_gap_pfp_add_exists_b_index_bound + S (fom_index_pfp_add_exists_b) = l) -> exists fom_value_pfp_add_exists_b. ((((exists fom_beta_height_pfp_add_exists_b_entry. fom_beta_height_pfp_add_exists_b_entry + S (fom_value_pfp_add_exists_b) = S ((S (fom_index_pfp_add_exists_b)) * bc)) /\ exists fom_beta_quotient_pfp_add_exists_b_entry. bb = fom_beta_quotient_pfp_add_exists_b_entry * S ((S (fom_index_pfp_add_exists_b)) * bc) + (fom_value_pfp_add_exists_b))) /\ (exists fom_gap_pfp_add_exists_b_value_bound. fom_gap_pfp_add_exists_b_value_bound + S (fom_value_pfp_add_exists_b) = p))) -> exists cb cc. (forall pfp_index_add_exists_result. (exists pfa_gap_add_exists_resultindex. pfa_gap_add_exists_resultindex + S (pfp_index_add_exists_result) = (l)) -> exists pfp_left_add_exists_result pfp_right_add_exists_result pfp_value_add_exists_result. ((((exists ff_h_pfp_add_exists_resultleft. ff_h_pfp_add_exists_resultleft + S (pfp_left_add_exists_result) = S ((S (pfp_index_add_exists_result)) * ac)) /\ exists ff_q_pfp_add_exists_resultleft. ab = ff_q_pfp_add_exists_resultleft * S ((S (pfp_index_add_exists_result)) * ac) + (pfp_left_add_exists_result))) /\ (((((exists ff_h_pfp_add_exists_resultright. ff_h_pfp_add_exists_resultright + S (pfp_right_add_exists_result) = S ((S (pfp_index_add_exists_result)) * bc)) /\ exists ff_q_pfp_add_exists_resultright. bb = ff_q_pfp_add_exists_resultright * S ((S (pfp_index_add_exists_result)) * bc) + (pfp_right_add_exists_result))) /\ (((((exists ff_h_pfp_add_exists_resulttarget. ff_h_pfp_add_exists_resulttarget + S (pfp_value_add_exists_result) = S ((S (pfp_index_add_exists_result)) * cc)) /\ exists ff_q_pfp_add_exists_resulttarget. cb = ff_q_pfp_add_exists_resulttarget * S ((S (pfp_index_add_exists_result)) * cc) + (pfp_value_add_exists_result))) /\ ((((exists pfa_gap_add_exists_resultoperationleft. pfa_gap_add_exists_resultoperationleft + S (pfp_left_add_exists_result) = (p)) /\ (((exists pfa_gap_add_exists_resultoperationright. pfa_gap_add_exists_resultoperationright + S (pfp_right_add_exists_result) = (p)) /\ ((((exists pfa_gap_add_exists_resultoperationresultbound. pfa_gap_add_exists_resultoperationresultbound + S (pfp_value_add_exists_result) = (p)) /\ ((exists pfa_offset_left_add_exists_resultoperationresultcongruence pfa_offset_right_add_exists_resultoperationresultcongruence. ((pfp_left_add_exists_result) + (pfp_right_add_exists_result)) + (p) * pfa_offset_left_add_exists_resultoperationresultcongruence = (pfp_value_add_exists_result) + (p) * pfa_offset_right_add_exists_resultoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro lintro hpintro haintro hbhave hs : exists rb rc. (forall ff_index_mcp_add_pfp_add_exists_raw ff_left_mcp_add_pfp_add_exists_raw ff_right_mcp_add_pfp_add_exists_raw ff_target_mcp_add_pfp_add_exists_raw. (exists mcp_gap_pfp_add_exists_raw_bound. mcp_gap_pfp_add_exists_raw_bound + S (ff_index_mcp_add_pfp_add_exists_raw) = (l)) -> (((exists fs_h_mcp_pfp_add_exists_raw_left. fs_h_mcp_pfp_add_exists_raw_left + S (ff_left_mcp_add_pfp_add_exists_raw) = S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * ac)) /\ exists fs_q_mcp_pfp_add_exists_raw_left. ab = fs_q_mcp_pfp_add_exists_raw_left * S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * ac) + (ff_left_mcp_add_pfp_add_exists_raw))) -> (((exists fs_h_mcp_pfp_add_exists_raw_right. fs_h_mcp_pfp_add_exists_raw_right + S (ff_right_mcp_add_pfp_add_exists_raw) = S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * bc)) /\ exists fs_q_mcp_pfp_add_exists_raw_right. bb = fs_q_mcp_pfp_add_exists_raw_right * S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * bc) + (ff_right_mcp_add_pfp_add_exists_raw))) -> (((exists fs_h_mcp_pfp_add_exists_raw_target. fs_h_mcp_pfp_add_exists_raw_target + S (ff_target_mcp_add_pfp_add_exists_raw) = S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * rc)) /\ exists fs_q_mcp_pfp_add_exists_raw_target. rb = fs_q_mcp_pfp_add_exists_raw_target * S ((S (ff_index_mcp_add_pfp_add_exists_raw)) * rc) + (ff_target_mcp_add_pfp_add_exists_raw))) -> ff_target_mcp_add_pfp_add_exists_raw = ff_left_mcp_add_pfp_add_exists_raw + ff_right_mcp_add_pfp_add_exists_raw)specialize beta_pointwise_add_prefix_exists (ab)specialize beta_pointwise_add_prefix_exists (ac)specialize beta_pointwise_add_prefix_exists (bb)specialize beta_pointwise_add_prefix_exists (bc)specialize beta_pointwise_add_prefix_exists (l)apply beta_pointwise_add_prefix_existscases hscases hs_witnesshave hn : exists cb cc. (forall pfp_index_add_exists_normalization. (exists pfa_gap_add_exists_normalizationindex. pfa_gap_add_exists_normalizationindex + S (pfp_index_add_exists_normalization) = (l)) -> exists pfp_source_add_exists_normalization pfp_residue_add_exists_normalization. ((((exists ff_h_pfp_add_exists_normalizationsource. ff_h_pfp_add_exists_normalizationsource + S (pfp_source_add_exists_normalization) = S ((S (pfp_index_add_exists_normalization)) * x1)) /\ exists ff_q_pfp_add_exists_normalizationsource. x = ff_q_pfp_add_exists_normalizationsource * S ((S (pfp_index_add_exists_normalization)) * x1) + (pfp_source_add_exists_normalization))) /\ (((((exists ff_h_pfp_add_exists_normalizationtarget. ff_h_pfp_add_exists_normalizationtarget + S (pfp_residue_add_exists_normalization) = S ((S (pfp_index_add_exists_normalization)) * cc)) /\ exists ff_q_pfp_add_exists_normalizationtarget. cb = ff_q_pfp_add_exists_normalizationtarget * S ((S (pfp_index_add_exists_normalization)) * cc) + (pfp_residue_add_exists_normalization))) /\ ((((exists pfa_gap_add_exists_normalizationresiduebound. pfa_gap_add_exists_normalizationresiduebound + S (pfp_residue_add_exists_normalization) = (p)) /\ ((exists pfa_offset_left_add_exists_normalizationresiduecongruence pfa_offset_right_add_exists_normalizationresiduecongruence. (pfp_source_add_exists_normalization) + (p) * pfa_offset_left_add_exists_normalizationresiduecongruence = (pfp_residue_add_exists_normalization) + (p) * pfa_offset_right_add_exists_normalizationresiduecongruence)))))))))specialize prime_field_polynomial_normalization_exists (p)specialize prime_field_polynomial_normalization_exists (x)specialize prime_field_polynomial_normalization_exists (x1)specialize prime_field_polynomial_normalization_exists (l)apply prime_field_polynomial_normalization_existsexact hpcases hncases hn_witnessexists x2exists x3specialize prime_field_polynomial_add_from_normalization (p)specialize prime_field_polynomial_add_from_normalization (ab)specialize prime_field_polynomial_add_from_normalization (ac)specialize prime_field_polynomial_add_from_normalization (bb)specialize prime_field_polynomial_add_from_normalization (bc)specialize prime_field_polynomial_add_from_normalization (x)specialize prime_field_polynomial_add_from_normalization (x1)specialize prime_field_polynomial_add_from_normalization (x2)specialize prime_field_polynomial_add_from_normalization (x3)specialize prime_field_polynomial_add_from_normalization (l)apply prime_field_polynomial_add_from_normalizationexact haexact hbexact hs_witness_witnessexact hn_witness_witness
prime_field_polynomial_add_bounded · unchanged support, not a new admission
forall p ab ac bb bc cb cc l. (forall pfp_index_add_bounded_table. (exists pfa_gap_add_bounded_tableindex. pfa_gap_add_bounded_tableindex + S (pfp_index_add_bounded_table) = (l)) -> exists pfp_left_add_bounded_table pfp_right_add_bounded_table pfp_value_add_bounded_table. ((((exists ff_h_pfp_add_bounded_tableleft. ff_h_pfp_add_bounded_tableleft + S (pfp_left_add_bounded_table) = S ((S (pfp_index_add_bounded_table)) * ac)) /\ exists ff_q_pfp_add_bounded_tableleft. ab = ff_q_pfp_add_bounded_tableleft * S ((S (pfp_index_add_bounded_table)) * ac) + (pfp_left_add_bounded_table))) /\ (((((exists ff_h_pfp_add_bounded_tableright. ff_h_pfp_add_bounded_tableright + S (pfp_right_add_bounded_table) = S ((S (pfp_index_add_bounded_table)) * bc)) /\ exists ff_q_pfp_add_bounded_tableright. bb = ff_q_pfp_add_bounded_tableright * S ((S (pfp_index_add_bounded_table)) * bc) + (pfp_right_add_bounded_table))) /\ (((((exists ff_h_pfp_add_bounded_tabletarget. ff_h_pfp_add_bounded_tabletarget + S (pfp_value_add_bounded_table) = S ((S (pfp_index_add_bounded_table)) * cc)) /\ exists ff_q_pfp_add_bounded_tabletarget. cb = ff_q_pfp_add_bounded_tabletarget * S ((S (pfp_index_add_bounded_table)) * cc) + (pfp_value_add_bounded_table))) /\ ((((exists pfa_gap_add_bounded_tableoperationleft. pfa_gap_add_bounded_tableoperationleft + S (pfp_left_add_bounded_table) = (p)) /\ (((exists pfa_gap_add_bounded_tableoperationright. pfa_gap_add_bounded_tableoperationright + S (pfp_right_add_bounded_table) = (p)) /\ ((((exists pfa_gap_add_bounded_tableoperationresultbound. pfa_gap_add_bounded_tableoperationresultbound + S (pfp_value_add_bounded_table) = (p)) /\ ((exists pfa_offset_left_add_bounded_tableoperationresultcongruence pfa_offset_right_add_bounded_tableoperationresultcongruence. ((pfp_left_add_bounded_table) + (pfp_right_add_bounded_table)) + (p) * pfa_offset_left_add_bounded_tableoperationresultcongruence = (pfp_value_add_bounded_table) + (p) * pfa_offset_right_add_bounded_tableoperationresultcongruence)))))))))))))))) -> ((forall fom_index_pfp_add_bounded_ab. (exists fom_gap_pfp_add_bounded_ab_index_bound. fom_gap_pfp_add_bounded_ab_index_bound + S (fom_index_pfp_add_bounded_ab) = l) -> exists fom_value_pfp_add_bounded_ab. ((((exists fom_beta_height_pfp_add_bounded_ab_entry. fom_beta_height_pfp_add_bounded_ab_entry + S (fom_value_pfp_add_bounded_ab) = S ((S (fom_index_pfp_add_bounded_ab)) * ac)) /\ exists fom_beta_quotient_pfp_add_bounded_ab_entry. ab = fom_beta_quotient_pfp_add_bounded_ab_entry * S ((S (fom_index_pfp_add_bounded_ab)) * ac) + (fom_value_pfp_add_bounded_ab))) /\ (exists fom_gap_pfp_add_bounded_ab_value_bound. fom_gap_pfp_add_bounded_ab_value_bound + S (fom_value_pfp_add_bounded_ab) = p))) /\ (((forall fom_index_pfp_add_bounded_bb. (exists fom_gap_pfp_add_bounded_bb_index_bound. fom_gap_pfp_add_bounded_bb_index_bound + S (fom_index_pfp_add_bounded_bb) = l) -> exists fom_value_pfp_add_bounded_bb. ((((exists fom_beta_height_pfp_add_bounded_bb_entry. fom_beta_height_pfp_add_bounded_bb_entry + S (fom_value_pfp_add_bounded_bb) = S ((S (fom_index_pfp_add_bounded_bb)) * bc)) /\ exists fom_beta_quotient_pfp_add_bounded_bb_entry. bb = fom_beta_quotient_pfp_add_bounded_bb_entry * S ((S (fom_index_pfp_add_bounded_bb)) * bc) + (fom_value_pfp_add_bounded_bb))) /\ (exists fom_gap_pfp_add_bounded_bb_value_bound. fom_gap_pfp_add_bounded_bb_value_bound + S (fom_value_pfp_add_bounded_bb) = p))) /\ ((forall fom_index_pfp_add_bounded_cb. (exists fom_gap_pfp_add_bounded_cb_index_bound. fom_gap_pfp_add_bounded_cb_index_bound + S (fom_index_pfp_add_bounded_cb) = l) -> exists fom_value_pfp_add_bounded_cb. ((((exists fom_beta_height_pfp_add_bounded_cb_entry. fom_beta_height_pfp_add_bounded_cb_entry + S (fom_value_pfp_add_bounded_cb) = S ((S (fom_index_pfp_add_bounded_cb)) * cc)) /\ exists fom_beta_quotient_pfp_add_bounded_cb_entry. cb = fom_beta_quotient_pfp_add_bounded_cb_entry * S ((S (fom_index_pfp_add_bounded_cb)) * cc) + (fom_value_pfp_add_bounded_cb))) /\ (exists fom_gap_pfp_add_bounded_cb_value_bound. fom_gap_pfp_add_bounded_cb_value_bound + S (fom_value_pfp_add_bounded_cb) = p)))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro lintro hsplitintro iintro hihave hv : exists a b r. ((((exists ff_h_pfp_add_bound_left. ff_h_pfp_add_bound_left + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_bound_left. ab = ff_q_pfp_add_bound_left * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_add_bound_right. ff_h_pfp_add_bound_right + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_bound_right. bb = ff_q_pfp_add_bound_right * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_add_bound_target. ff_h_pfp_add_bound_target + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_add_bound_target. cb = ff_q_pfp_add_bound_target * S ((S (i)) * cc) + (r))) /\ ((((exists pfa_gap_add_bound_operationleft. pfa_gap_add_bound_operationleft + S (a) = (p)) /\ (((exists pfa_gap_add_bound_operationright. pfa_gap_add_bound_operationright + S (b) = (p)) /\ ((((exists pfa_gap_add_bound_operationresultbound. pfa_gap_add_bound_operationresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_add_bound_operationresultcongruence pfa_offset_right_add_bound_operationresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_add_bound_operationresultcongruence = (r) + (p) * pfa_offset_right_add_bound_operationresultcongruence)))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightcases hv_witness_witness_witness_right_right_rightcases hv_witness_witness_witness_right_right_right_rightcases hv_witness_witness_witness_right_right_right_right_rightexists xsplitexact hv_witness_witness_witness_leftexact hv_witness_witness_witness_right_right_right_leftsplitintro iintro hihave hv : exists a b r. ((((exists ff_h_pfp_add_bound_left. ff_h_pfp_add_bound_left + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_bound_left. ab = ff_q_pfp_add_bound_left * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_add_bound_right. ff_h_pfp_add_bound_right + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_bound_right. bb = ff_q_pfp_add_bound_right * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_add_bound_target. ff_h_pfp_add_bound_target + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_add_bound_target. cb = ff_q_pfp_add_bound_target * S ((S (i)) * cc) + (r))) /\ ((((exists pfa_gap_add_bound_operationleft. pfa_gap_add_bound_operationleft + S (a) = (p)) /\ (((exists pfa_gap_add_bound_operationright. pfa_gap_add_bound_operationright + S (b) = (p)) /\ ((((exists pfa_gap_add_bound_operationresultbound. pfa_gap_add_bound_operationresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_add_bound_operationresultcongruence pfa_offset_right_add_bound_operationresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_add_bound_operationresultcongruence = (r) + (p) * pfa_offset_right_add_bound_operationresultcongruence)))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightcases hv_witness_witness_witness_right_right_rightcases hv_witness_witness_witness_right_right_right_rightcases hv_witness_witness_witness_right_right_right_right_rightexists x1splitexact hv_witness_witness_witness_right_leftexact hv_witness_witness_witness_right_right_right_right_leftintro iintro hihave hv : exists a b r. ((((exists ff_h_pfp_add_bound_left. ff_h_pfp_add_bound_left + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_bound_left. ab = ff_q_pfp_add_bound_left * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_add_bound_right. ff_h_pfp_add_bound_right + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_bound_right. bb = ff_q_pfp_add_bound_right * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_add_bound_target. ff_h_pfp_add_bound_target + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_add_bound_target. cb = ff_q_pfp_add_bound_target * S ((S (i)) * cc) + (r))) /\ ((((exists pfa_gap_add_bound_operationleft. pfa_gap_add_bound_operationleft + S (a) = (p)) /\ (((exists pfa_gap_add_bound_operationright. pfa_gap_add_bound_operationright + S (b) = (p)) /\ ((((exists pfa_gap_add_bound_operationresultbound. pfa_gap_add_bound_operationresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_add_bound_operationresultcongruence pfa_offset_right_add_bound_operationresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_add_bound_operationresultcongruence = (r) + (p) * pfa_offset_right_add_bound_operationresultcongruence)))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightcases hv_witness_witness_witness_right_right_rightcases hv_witness_witness_witness_right_right_right_rightcases hv_witness_witness_witness_right_right_right_right_rightexists x2splitexact hv_witness_witness_witness_right_right_leftexact hv_witness_witness_witness_right_right_right_right_right_left
prime_field_convolution_prefix_left_add · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M ub uc vb vc wb wc N. (forall pfp_index_prefix_add_left_source. (exists pfa_gap_prefix_add_left_sourceindex. pfa_gap_prefix_add_left_sourceindex + S (pfp_index_prefix_add_left_source) = (L)) -> exists pfp_left_prefix_add_left_source pfp_right_prefix_add_left_source pfp_value_prefix_add_left_source. ((((exists ff_h_pfp_prefix_add_left_sourceleft. ff_h_pfp_prefix_add_left_sourceleft + S (pfp_left_prefix_add_left_source) = S ((S (pfp_index_prefix_add_left_source)) * ac)) /\ exists ff_q_pfp_prefix_add_left_sourceleft. ab = ff_q_pfp_prefix_add_left_sourceleft * S ((S (pfp_index_prefix_add_left_source)) * ac) + (pfp_left_prefix_add_left_source))) /\ (((((exists ff_h_pfp_prefix_add_left_sourceright. ff_h_pfp_prefix_add_left_sourceright + S (pfp_right_prefix_add_left_source) = S ((S (pfp_index_prefix_add_left_source)) * bc)) /\ exists ff_q_pfp_prefix_add_left_sourceright. bb = ff_q_pfp_prefix_add_left_sourceright * S ((S (pfp_index_prefix_add_left_source)) * bc) + (pfp_right_prefix_add_left_source))) /\ (((((exists ff_h_pfp_prefix_add_left_sourcetarget. ff_h_pfp_prefix_add_left_sourcetarget + S (pfp_value_prefix_add_left_source) = S ((S (pfp_index_prefix_add_left_source)) * cc)) /\ exists ff_q_pfp_prefix_add_left_sourcetarget. cb = ff_q_pfp_prefix_add_left_sourcetarget * S ((S (pfp_index_prefix_add_left_source)) * cc) + (pfp_value_prefix_add_left_source))) /\ ((((exists pfa_gap_prefix_add_left_sourceoperationleft. pfa_gap_prefix_add_left_sourceoperationleft + S (pfp_left_prefix_add_left_source) = (p)) /\ (((exists pfa_gap_prefix_add_left_sourceoperationright. pfa_gap_prefix_add_left_sourceoperationright + S (pfp_right_prefix_add_left_source) = (p)) /\ ((((exists pfa_gap_prefix_add_left_sourceoperationresultbound. pfa_gap_prefix_add_left_sourceoperationresultbound + S (pfp_value_prefix_add_left_source) = (p)) /\ ((exists pfa_offset_left_prefix_add_left_sourceoperationresultcongruence pfa_offset_right_prefix_add_left_sourceoperationresultcongruence. ((pfp_left_prefix_add_left_source) + (pfp_right_prefix_add_left_source)) + (p) * pfa_offset_left_prefix_add_left_sourceoperationresultcongruence = (pfp_value_prefix_add_left_source) + (p) * pfa_offset_right_prefix_add_left_sourceoperationresultcongruence)))))))))))))))) -> (forall pfc_index_prefix_add_left_ub. (exists pfa_gap_prefix_add_left_ubbound. pfa_gap_prefix_add_left_ubbound + S (pfc_index_prefix_add_left_ub) = (N)) -> exists pfc_value_prefix_add_left_ub. ((((exists ff_h_pfp_prefix_add_left_ubentry. ff_h_pfp_prefix_add_left_ubentry + S (pfc_value_prefix_add_left_ub) = S ((S (pfc_index_prefix_add_left_ub)) * uc)) /\ exists ff_q_pfp_prefix_add_left_ubentry. ub = ff_q_pfp_prefix_add_left_ubentry * S ((S (pfc_index_prefix_add_left_ub)) * uc) + (pfc_value_prefix_add_left_ub))) /\ ((exists pfc_terms_code_prefix_add_left_ubcoefficient pfc_terms_scale_prefix_add_left_ubcoefficient pfc_natural_sum_prefix_add_left_ubcoefficient. ((forall pfc_index_prefix_add_left_ubcoefficientdiagonal. (exists pfa_gap_prefix_add_left_ubcoefficientdiagonalbound. pfa_gap_prefix_add_left_ubcoefficientdiagonalbound + S (pfc_index_prefix_add_left_ubcoefficientdiagonal) = (S (pfc_index_prefix_add_left_ub))) -> exists pfc_value_prefix_add_left_ubcoefficientdiagonal. ((((exists ff_h_pfp_prefix_add_left_ubcoefficientdiagonalentry. ff_h_pfp_prefix_add_left_ubcoefficientdiagonalentry + S (pfc_value_prefix_add_left_ubcoefficientdiagonal) = S ((S (pfc_index_prefix_add_left_ubcoefficientdiagonal)) * pfc_terms_scale_prefix_add_left_ubcoefficient)) /\ exists ff_q_pfp_prefix_add_left_ubcoefficientdiagonalentry. pfc_terms_code_prefix_add_left_ubcoefficient = ff_q_pfp_prefix_add_left_ubcoefficientdiagonalentry * S ((S (pfc_index_prefix_add_left_ubcoefficientdiagonal)) * pfc_terms_scale_prefix_add_left_ubcoefficient) + (pfc_value_prefix_add_left_ubcoefficientdiagonal))) /\ ((exists pfc_complement_prefix_add_left_ubcoefficientdiagonalterm pfc_left_prefix_add_left_ubcoefficientdiagonalterm pfc_right_prefix_add_left_ubcoefficientdiagonalterm. (((pfc_index_prefix_add_left_ubcoefficientdiagonal)+pfc_complement_prefix_add_left_ubcoefficientdiagonalterm=(pfc_index_prefix_add_left_ub)) /\ ((((((exists pfa_gap_prefix_add_left_ubcoefficientdiagonaltermleftinside. pfa_gap_prefix_add_left_ubcoefficientdiagonaltermleftinside + S (pfc_index_prefix_add_left_ubcoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_prefix_add_left_ubcoefficientdiagonaltermleftentry. ff_h_pfp_prefix_add_left_ubcoefficientdiagonaltermleftentry + S (pfc_left_prefix_add_left_ubcoefficientdiagonalterm) = S ((S (pfc_index_prefix_add_left_ubcoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_prefix_add_left_ubcoefficientdiagonaltermleftentry. db = ff_q_pfp_prefix_add_left_ubcoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_add_left_ubcoefficientdiagonal)) * dc) + (pfc_left_prefix_add_left_ubcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_ubcoefficientdiagonaltermleftoutside. pfc_gap_prefix_add_left_ubcoefficientdiagonaltermleftoutside+(M)=(pfc_index_prefix_add_left_ubcoefficientdiagonal)) /\ (((pfc_left_prefix_add_left_ubcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_left_ubcoefficientdiagonaltermrightinside. pfa_gap_prefix_add_left_ubcoefficientdiagonaltermrightinside + S (pfc_complement_prefix_add_left_ubcoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_prefix_add_left_ubcoefficientdiagonaltermrightentry. ff_h_pfp_prefix_add_left_ubcoefficientdiagonaltermrightentry + S (pfc_right_prefix_add_left_ubcoefficientdiagonalterm) = S ((S (pfc_complement_prefix_add_left_ubcoefficientdiagonalterm)) * ac)) /\ exists ff_q_pfp_prefix_add_left_ubcoefficientdiagonaltermrightentry. ab = ff_q_pfp_prefix_add_left_ubcoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_add_left_ubcoefficientdiagonalterm)) * ac) + (pfc_right_prefix_add_left_ubcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_ubcoefficientdiagonaltermrightoutside. pfc_gap_prefix_add_left_ubcoefficientdiagonaltermrightoutside+(L)=(pfc_complement_prefix_add_left_ubcoefficientdiagonalterm)) /\ (((pfc_right_prefix_add_left_ubcoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_add_left_ubcoefficientdiagonal)=pfc_left_prefix_add_left_ubcoefficientdiagonalterm*pfc_right_prefix_add_left_ubcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_left_ubcoefficientsum fs_v_pfc_prefix_add_left_ubcoefficientsum. ((((exists fs_h_pfc_prefix_add_left_ubcoefficientsum_body_start. fs_h_pfc_prefix_add_left_ubcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_left_ubcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_ubcoefficientsum_body_start. fs_u_pfc_prefix_add_left_ubcoefficientsum = fs_q_pfc_prefix_add_left_ubcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_left_ubcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_left_ubcoefficientsum_body_terminal. fs_h_pfc_prefix_add_left_ubcoefficientsum_body_terminal + S (pfc_natural_sum_prefix_add_left_ubcoefficient) = S ((S (S (pfc_index_prefix_add_left_ub))) * fs_v_pfc_prefix_add_left_ubcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_ubcoefficientsum_body_terminal. fs_u_pfc_prefix_add_left_ubcoefficientsum = fs_q_pfc_prefix_add_left_ubcoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_add_left_ub))) * fs_v_pfc_prefix_add_left_ubcoefficientsum) + (pfc_natural_sum_prefix_add_left_ubcoefficient))) /\ forall fs_i_pfc_prefix_add_left_ubcoefficientsum_body_steps. (exists fs_lt_pfc_prefix_add_left_ubcoefficientsum_body_steps_bound. fs_lt_pfc_prefix_add_left_ubcoefficientsum_body_steps_bound + S fs_i_pfc_prefix_add_left_ubcoefficientsum_body_steps = S (pfc_index_prefix_add_left_ub)) -> exists fs_a_pfc_prefix_add_left_ubcoefficientsum_body_steps fs_r_pfc_prefix_add_left_ubcoefficientsum_body_steps fs_s_pfc_prefix_add_left_ubcoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_add_left_ubcoefficientsum_body_steps_summand. fs_h_pfc_prefix_add_left_ubcoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_add_left_ubcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_ubcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_left_ubcoefficient)) /\ exists fs_q_pfc_prefix_add_left_ubcoefficientsum_body_steps_summand. pfc_terms_code_prefix_add_left_ubcoefficient = fs_q_pfc_prefix_add_left_ubcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_left_ubcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_left_ubcoefficient) + (fs_a_pfc_prefix_add_left_ubcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_ubcoefficientsum_body_steps_partial. fs_h_pfc_prefix_add_left_ubcoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_add_left_ubcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_ubcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_ubcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_ubcoefficientsum_body_steps_partial. fs_u_pfc_prefix_add_left_ubcoefficientsum = fs_q_pfc_prefix_add_left_ubcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_left_ubcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_ubcoefficientsum) + (fs_r_pfc_prefix_add_left_ubcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_ubcoefficientsum_body_steps_successor. fs_h_pfc_prefix_add_left_ubcoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_add_left_ubcoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_add_left_ubcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_ubcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_ubcoefficientsum_body_steps_successor. fs_u_pfc_prefix_add_left_ubcoefficientsum = fs_q_pfc_prefix_add_left_ubcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_left_ubcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_ubcoefficientsum) + (fs_s_pfc_prefix_add_left_ubcoefficientsum_body_steps))) /\ fs_s_pfc_prefix_add_left_ubcoefficientsum_body_steps = fs_r_pfc_prefix_add_left_ubcoefficientsum_body_steps + fs_a_pfc_prefix_add_left_ubcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_left_ubcoefficientresiduebound. pfa_gap_prefix_add_left_ubcoefficientresiduebound + S (pfc_value_prefix_add_left_ub) = (p)) /\ ((exists pfa_offset_left_prefix_add_left_ubcoefficientresiduecongruence pfa_offset_right_prefix_add_left_ubcoefficientresiduecongruence. (pfc_natural_sum_prefix_add_left_ubcoefficient) + (p) * pfa_offset_left_prefix_add_left_ubcoefficientresiduecongruence = (pfc_value_prefix_add_left_ub) + (p) * pfa_offset_right_prefix_add_left_ubcoefficientresiduecongruence)))))))))))) -> (forall pfc_index_prefix_add_left_vb. (exists pfa_gap_prefix_add_left_vbbound. pfa_gap_prefix_add_left_vbbound + S (pfc_index_prefix_add_left_vb) = (N)) -> exists pfc_value_prefix_add_left_vb. ((((exists ff_h_pfp_prefix_add_left_vbentry. ff_h_pfp_prefix_add_left_vbentry + S (pfc_value_prefix_add_left_vb) = S ((S (pfc_index_prefix_add_left_vb)) * vc)) /\ exists ff_q_pfp_prefix_add_left_vbentry. vb = ff_q_pfp_prefix_add_left_vbentry * S ((S (pfc_index_prefix_add_left_vb)) * vc) + (pfc_value_prefix_add_left_vb))) /\ ((exists pfc_terms_code_prefix_add_left_vbcoefficient pfc_terms_scale_prefix_add_left_vbcoefficient pfc_natural_sum_prefix_add_left_vbcoefficient. ((forall pfc_index_prefix_add_left_vbcoefficientdiagonal. (exists pfa_gap_prefix_add_left_vbcoefficientdiagonalbound. pfa_gap_prefix_add_left_vbcoefficientdiagonalbound + S (pfc_index_prefix_add_left_vbcoefficientdiagonal) = (S (pfc_index_prefix_add_left_vb))) -> exists pfc_value_prefix_add_left_vbcoefficientdiagonal. ((((exists ff_h_pfp_prefix_add_left_vbcoefficientdiagonalentry. ff_h_pfp_prefix_add_left_vbcoefficientdiagonalentry + S (pfc_value_prefix_add_left_vbcoefficientdiagonal) = S ((S (pfc_index_prefix_add_left_vbcoefficientdiagonal)) * pfc_terms_scale_prefix_add_left_vbcoefficient)) /\ exists ff_q_pfp_prefix_add_left_vbcoefficientdiagonalentry. pfc_terms_code_prefix_add_left_vbcoefficient = ff_q_pfp_prefix_add_left_vbcoefficientdiagonalentry * S ((S (pfc_index_prefix_add_left_vbcoefficientdiagonal)) * pfc_terms_scale_prefix_add_left_vbcoefficient) + (pfc_value_prefix_add_left_vbcoefficientdiagonal))) /\ ((exists pfc_complement_prefix_add_left_vbcoefficientdiagonalterm pfc_left_prefix_add_left_vbcoefficientdiagonalterm pfc_right_prefix_add_left_vbcoefficientdiagonalterm. (((pfc_index_prefix_add_left_vbcoefficientdiagonal)+pfc_complement_prefix_add_left_vbcoefficientdiagonalterm=(pfc_index_prefix_add_left_vb)) /\ ((((((exists pfa_gap_prefix_add_left_vbcoefficientdiagonaltermleftinside. pfa_gap_prefix_add_left_vbcoefficientdiagonaltermleftinside + S (pfc_index_prefix_add_left_vbcoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_prefix_add_left_vbcoefficientdiagonaltermleftentry. ff_h_pfp_prefix_add_left_vbcoefficientdiagonaltermleftentry + S (pfc_left_prefix_add_left_vbcoefficientdiagonalterm) = S ((S (pfc_index_prefix_add_left_vbcoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_prefix_add_left_vbcoefficientdiagonaltermleftentry. db = ff_q_pfp_prefix_add_left_vbcoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_add_left_vbcoefficientdiagonal)) * dc) + (pfc_left_prefix_add_left_vbcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_vbcoefficientdiagonaltermleftoutside. pfc_gap_prefix_add_left_vbcoefficientdiagonaltermleftoutside+(M)=(pfc_index_prefix_add_left_vbcoefficientdiagonal)) /\ (((pfc_left_prefix_add_left_vbcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_left_vbcoefficientdiagonaltermrightinside. pfa_gap_prefix_add_left_vbcoefficientdiagonaltermrightinside + S (pfc_complement_prefix_add_left_vbcoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_prefix_add_left_vbcoefficientdiagonaltermrightentry. ff_h_pfp_prefix_add_left_vbcoefficientdiagonaltermrightentry + S (pfc_right_prefix_add_left_vbcoefficientdiagonalterm) = S ((S (pfc_complement_prefix_add_left_vbcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_add_left_vbcoefficientdiagonaltermrightentry. bb = ff_q_pfp_prefix_add_left_vbcoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_add_left_vbcoefficientdiagonalterm)) * bc) + (pfc_right_prefix_add_left_vbcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_vbcoefficientdiagonaltermrightoutside. pfc_gap_prefix_add_left_vbcoefficientdiagonaltermrightoutside+(L)=(pfc_complement_prefix_add_left_vbcoefficientdiagonalterm)) /\ (((pfc_right_prefix_add_left_vbcoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_add_left_vbcoefficientdiagonal)=pfc_left_prefix_add_left_vbcoefficientdiagonalterm*pfc_right_prefix_add_left_vbcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_left_vbcoefficientsum fs_v_pfc_prefix_add_left_vbcoefficientsum. ((((exists fs_h_pfc_prefix_add_left_vbcoefficientsum_body_start. fs_h_pfc_prefix_add_left_vbcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_left_vbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_vbcoefficientsum_body_start. fs_u_pfc_prefix_add_left_vbcoefficientsum = fs_q_pfc_prefix_add_left_vbcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_left_vbcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_left_vbcoefficientsum_body_terminal. fs_h_pfc_prefix_add_left_vbcoefficientsum_body_terminal + S (pfc_natural_sum_prefix_add_left_vbcoefficient) = S ((S (S (pfc_index_prefix_add_left_vb))) * fs_v_pfc_prefix_add_left_vbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_vbcoefficientsum_body_terminal. fs_u_pfc_prefix_add_left_vbcoefficientsum = fs_q_pfc_prefix_add_left_vbcoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_add_left_vb))) * fs_v_pfc_prefix_add_left_vbcoefficientsum) + (pfc_natural_sum_prefix_add_left_vbcoefficient))) /\ forall fs_i_pfc_prefix_add_left_vbcoefficientsum_body_steps. (exists fs_lt_pfc_prefix_add_left_vbcoefficientsum_body_steps_bound. fs_lt_pfc_prefix_add_left_vbcoefficientsum_body_steps_bound + S fs_i_pfc_prefix_add_left_vbcoefficientsum_body_steps = S (pfc_index_prefix_add_left_vb)) -> exists fs_a_pfc_prefix_add_left_vbcoefficientsum_body_steps fs_r_pfc_prefix_add_left_vbcoefficientsum_body_steps fs_s_pfc_prefix_add_left_vbcoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_add_left_vbcoefficientsum_body_steps_summand. fs_h_pfc_prefix_add_left_vbcoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_add_left_vbcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_vbcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_left_vbcoefficient)) /\ exists fs_q_pfc_prefix_add_left_vbcoefficientsum_body_steps_summand. pfc_terms_code_prefix_add_left_vbcoefficient = fs_q_pfc_prefix_add_left_vbcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_left_vbcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_left_vbcoefficient) + (fs_a_pfc_prefix_add_left_vbcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_vbcoefficientsum_body_steps_partial. fs_h_pfc_prefix_add_left_vbcoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_add_left_vbcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_vbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_vbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_vbcoefficientsum_body_steps_partial. fs_u_pfc_prefix_add_left_vbcoefficientsum = fs_q_pfc_prefix_add_left_vbcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_left_vbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_vbcoefficientsum) + (fs_r_pfc_prefix_add_left_vbcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_vbcoefficientsum_body_steps_successor. fs_h_pfc_prefix_add_left_vbcoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_add_left_vbcoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_add_left_vbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_vbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_vbcoefficientsum_body_steps_successor. fs_u_pfc_prefix_add_left_vbcoefficientsum = fs_q_pfc_prefix_add_left_vbcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_left_vbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_vbcoefficientsum) + (fs_s_pfc_prefix_add_left_vbcoefficientsum_body_steps))) /\ fs_s_pfc_prefix_add_left_vbcoefficientsum_body_steps = fs_r_pfc_prefix_add_left_vbcoefficientsum_body_steps + fs_a_pfc_prefix_add_left_vbcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_left_vbcoefficientresiduebound. pfa_gap_prefix_add_left_vbcoefficientresiduebound + S (pfc_value_prefix_add_left_vb) = (p)) /\ ((exists pfa_offset_left_prefix_add_left_vbcoefficientresiduecongruence pfa_offset_right_prefix_add_left_vbcoefficientresiduecongruence. (pfc_natural_sum_prefix_add_left_vbcoefficient) + (p) * pfa_offset_left_prefix_add_left_vbcoefficientresiduecongruence = (pfc_value_prefix_add_left_vb) + (p) * pfa_offset_right_prefix_add_left_vbcoefficientresiduecongruence)))))))))))) -> (forall pfc_index_prefix_add_left_wb. (exists pfa_gap_prefix_add_left_wbbound. pfa_gap_prefix_add_left_wbbound + S (pfc_index_prefix_add_left_wb) = (N)) -> exists pfc_value_prefix_add_left_wb. ((((exists ff_h_pfp_prefix_add_left_wbentry. ff_h_pfp_prefix_add_left_wbentry + S (pfc_value_prefix_add_left_wb) = S ((S (pfc_index_prefix_add_left_wb)) * wc)) /\ exists ff_q_pfp_prefix_add_left_wbentry. wb = ff_q_pfp_prefix_add_left_wbentry * S ((S (pfc_index_prefix_add_left_wb)) * wc) + (pfc_value_prefix_add_left_wb))) /\ ((exists pfc_terms_code_prefix_add_left_wbcoefficient pfc_terms_scale_prefix_add_left_wbcoefficient pfc_natural_sum_prefix_add_left_wbcoefficient. ((forall pfc_index_prefix_add_left_wbcoefficientdiagonal. (exists pfa_gap_prefix_add_left_wbcoefficientdiagonalbound. pfa_gap_prefix_add_left_wbcoefficientdiagonalbound + S (pfc_index_prefix_add_left_wbcoefficientdiagonal) = (S (pfc_index_prefix_add_left_wb))) -> exists pfc_value_prefix_add_left_wbcoefficientdiagonal. ((((exists ff_h_pfp_prefix_add_left_wbcoefficientdiagonalentry. ff_h_pfp_prefix_add_left_wbcoefficientdiagonalentry + S (pfc_value_prefix_add_left_wbcoefficientdiagonal) = S ((S (pfc_index_prefix_add_left_wbcoefficientdiagonal)) * pfc_terms_scale_prefix_add_left_wbcoefficient)) /\ exists ff_q_pfp_prefix_add_left_wbcoefficientdiagonalentry. pfc_terms_code_prefix_add_left_wbcoefficient = ff_q_pfp_prefix_add_left_wbcoefficientdiagonalentry * S ((S (pfc_index_prefix_add_left_wbcoefficientdiagonal)) * pfc_terms_scale_prefix_add_left_wbcoefficient) + (pfc_value_prefix_add_left_wbcoefficientdiagonal))) /\ ((exists pfc_complement_prefix_add_left_wbcoefficientdiagonalterm pfc_left_prefix_add_left_wbcoefficientdiagonalterm pfc_right_prefix_add_left_wbcoefficientdiagonalterm. (((pfc_index_prefix_add_left_wbcoefficientdiagonal)+pfc_complement_prefix_add_left_wbcoefficientdiagonalterm=(pfc_index_prefix_add_left_wb)) /\ ((((((exists pfa_gap_prefix_add_left_wbcoefficientdiagonaltermleftinside. pfa_gap_prefix_add_left_wbcoefficientdiagonaltermleftinside + S (pfc_index_prefix_add_left_wbcoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_prefix_add_left_wbcoefficientdiagonaltermleftentry. ff_h_pfp_prefix_add_left_wbcoefficientdiagonaltermleftentry + S (pfc_left_prefix_add_left_wbcoefficientdiagonalterm) = S ((S (pfc_index_prefix_add_left_wbcoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_prefix_add_left_wbcoefficientdiagonaltermleftentry. db = ff_q_pfp_prefix_add_left_wbcoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_add_left_wbcoefficientdiagonal)) * dc) + (pfc_left_prefix_add_left_wbcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_wbcoefficientdiagonaltermleftoutside. pfc_gap_prefix_add_left_wbcoefficientdiagonaltermleftoutside+(M)=(pfc_index_prefix_add_left_wbcoefficientdiagonal)) /\ (((pfc_left_prefix_add_left_wbcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_left_wbcoefficientdiagonaltermrightinside. pfa_gap_prefix_add_left_wbcoefficientdiagonaltermrightinside + S (pfc_complement_prefix_add_left_wbcoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_prefix_add_left_wbcoefficientdiagonaltermrightentry. ff_h_pfp_prefix_add_left_wbcoefficientdiagonaltermrightentry + S (pfc_right_prefix_add_left_wbcoefficientdiagonalterm) = S ((S (pfc_complement_prefix_add_left_wbcoefficientdiagonalterm)) * cc)) /\ exists ff_q_pfp_prefix_add_left_wbcoefficientdiagonaltermrightentry. cb = ff_q_pfp_prefix_add_left_wbcoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_add_left_wbcoefficientdiagonalterm)) * cc) + (pfc_right_prefix_add_left_wbcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_wbcoefficientdiagonaltermrightoutside. pfc_gap_prefix_add_left_wbcoefficientdiagonaltermrightoutside+(L)=(pfc_complement_prefix_add_left_wbcoefficientdiagonalterm)) /\ (((pfc_right_prefix_add_left_wbcoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_add_left_wbcoefficientdiagonal)=pfc_left_prefix_add_left_wbcoefficientdiagonalterm*pfc_right_prefix_add_left_wbcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_left_wbcoefficientsum fs_v_pfc_prefix_add_left_wbcoefficientsum. ((((exists fs_h_pfc_prefix_add_left_wbcoefficientsum_body_start. fs_h_pfc_prefix_add_left_wbcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_left_wbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_wbcoefficientsum_body_start. fs_u_pfc_prefix_add_left_wbcoefficientsum = fs_q_pfc_prefix_add_left_wbcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_left_wbcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_left_wbcoefficientsum_body_terminal. fs_h_pfc_prefix_add_left_wbcoefficientsum_body_terminal + S (pfc_natural_sum_prefix_add_left_wbcoefficient) = S ((S (S (pfc_index_prefix_add_left_wb))) * fs_v_pfc_prefix_add_left_wbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_wbcoefficientsum_body_terminal. fs_u_pfc_prefix_add_left_wbcoefficientsum = fs_q_pfc_prefix_add_left_wbcoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_add_left_wb))) * fs_v_pfc_prefix_add_left_wbcoefficientsum) + (pfc_natural_sum_prefix_add_left_wbcoefficient))) /\ forall fs_i_pfc_prefix_add_left_wbcoefficientsum_body_steps. (exists fs_lt_pfc_prefix_add_left_wbcoefficientsum_body_steps_bound. fs_lt_pfc_prefix_add_left_wbcoefficientsum_body_steps_bound + S fs_i_pfc_prefix_add_left_wbcoefficientsum_body_steps = S (pfc_index_prefix_add_left_wb)) -> exists fs_a_pfc_prefix_add_left_wbcoefficientsum_body_steps fs_r_pfc_prefix_add_left_wbcoefficientsum_body_steps fs_s_pfc_prefix_add_left_wbcoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_add_left_wbcoefficientsum_body_steps_summand. fs_h_pfc_prefix_add_left_wbcoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_add_left_wbcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_wbcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_left_wbcoefficient)) /\ exists fs_q_pfc_prefix_add_left_wbcoefficientsum_body_steps_summand. pfc_terms_code_prefix_add_left_wbcoefficient = fs_q_pfc_prefix_add_left_wbcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_left_wbcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_left_wbcoefficient) + (fs_a_pfc_prefix_add_left_wbcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_wbcoefficientsum_body_steps_partial. fs_h_pfc_prefix_add_left_wbcoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_add_left_wbcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_wbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_wbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_wbcoefficientsum_body_steps_partial. fs_u_pfc_prefix_add_left_wbcoefficientsum = fs_q_pfc_prefix_add_left_wbcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_left_wbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_wbcoefficientsum) + (fs_r_pfc_prefix_add_left_wbcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_wbcoefficientsum_body_steps_successor. fs_h_pfc_prefix_add_left_wbcoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_add_left_wbcoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_add_left_wbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_wbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_left_wbcoefficientsum_body_steps_successor. fs_u_pfc_prefix_add_left_wbcoefficientsum = fs_q_pfc_prefix_add_left_wbcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_left_wbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_left_wbcoefficientsum) + (fs_s_pfc_prefix_add_left_wbcoefficientsum_body_steps))) /\ fs_s_pfc_prefix_add_left_wbcoefficientsum_body_steps = fs_r_pfc_prefix_add_left_wbcoefficientsum_body_steps + fs_a_pfc_prefix_add_left_wbcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_left_wbcoefficientresiduebound. pfa_gap_prefix_add_left_wbcoefficientresiduebound + S (pfc_value_prefix_add_left_wb) = (p)) /\ ((exists pfa_offset_left_prefix_add_left_wbcoefficientresiduecongruence pfa_offset_right_prefix_add_left_wbcoefficientresiduecongruence. (pfc_natural_sum_prefix_add_left_wbcoefficient) + (p) * pfa_offset_left_prefix_add_left_wbcoefficientresiduecongruence = (pfc_value_prefix_add_left_wb) + (p) * pfa_offset_right_prefix_add_left_wbcoefficientresiduecongruence)))))))))))) -> (forall pfp_index_prefix_add_left_result. (exists pfa_gap_prefix_add_left_resultindex. pfa_gap_prefix_add_left_resultindex + S (pfp_index_prefix_add_left_result) = (N)) -> exists pfp_left_prefix_add_left_result pfp_right_prefix_add_left_result pfp_value_prefix_add_left_result. ((((exists ff_h_pfp_prefix_add_left_resultleft. ff_h_pfp_prefix_add_left_resultleft + S (pfp_left_prefix_add_left_result) = S ((S (pfp_index_prefix_add_left_result)) * uc)) /\ exists ff_q_pfp_prefix_add_left_resultleft. ub = ff_q_pfp_prefix_add_left_resultleft * S ((S (pfp_index_prefix_add_left_result)) * uc) + (pfp_left_prefix_add_left_result))) /\ (((((exists ff_h_pfp_prefix_add_left_resultright. ff_h_pfp_prefix_add_left_resultright + S (pfp_right_prefix_add_left_result) = S ((S (pfp_index_prefix_add_left_result)) * vc)) /\ exists ff_q_pfp_prefix_add_left_resultright. vb = ff_q_pfp_prefix_add_left_resultright * S ((S (pfp_index_prefix_add_left_result)) * vc) + (pfp_right_prefix_add_left_result))) /\ (((((exists ff_h_pfp_prefix_add_left_resulttarget. ff_h_pfp_prefix_add_left_resulttarget + S (pfp_value_prefix_add_left_result) = S ((S (pfp_index_prefix_add_left_result)) * wc)) /\ exists ff_q_pfp_prefix_add_left_resulttarget. wb = ff_q_pfp_prefix_add_left_resulttarget * S ((S (pfp_index_prefix_add_left_result)) * wc) + (pfp_value_prefix_add_left_result))) /\ ((((exists pfa_gap_prefix_add_left_resultoperationleft. pfa_gap_prefix_add_left_resultoperationleft + S (pfp_left_prefix_add_left_result) = (p)) /\ (((exists pfa_gap_prefix_add_left_resultoperationright. pfa_gap_prefix_add_left_resultoperationright + S (pfp_right_prefix_add_left_result) = (p)) /\ ((((exists pfa_gap_prefix_add_left_resultoperationresultbound. pfa_gap_prefix_add_left_resultoperationresultbound + S (pfp_value_prefix_add_left_result) = (p)) /\ ((exists pfa_offset_left_prefix_add_left_resultoperationresultcongruence pfa_offset_right_prefix_add_left_resultoperationresultcongruence. ((pfp_left_prefix_add_left_result) + (pfp_right_prefix_add_left_result)) + (p) * pfa_offset_left_prefix_add_left_resultoperationresultcongruence = (pfp_value_prefix_add_left_result) + (p) * pfa_offset_right_prefix_add_left_resultoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro ubintro ucintro vbintro vcintro wbintro wcintro Nintro hsintro huintro hvintro hwintro iintro hihave hcu : exists r. ((((exists ff_h_pfp_prefix_add_left_hcu. ff_h_pfp_prefix_add_left_hcu + S (r) = S ((S (i)) * uc)) /\ exists ff_q_pfp_prefix_add_left_hcu. ub = ff_q_pfp_prefix_add_left_hcu * S ((S (i)) * uc) + (r))) /\ ((exists pfc_terms_code_prefix_add_left_value_hcu pfc_terms_scale_prefix_add_left_value_hcu pfc_natural_sum_prefix_add_left_value_hcu. ((forall pfc_index_prefix_add_left_value_hcudiagonal. (exists pfa_gap_prefix_add_left_value_hcudiagonalbound. pfa_gap_prefix_add_left_value_hcudiagonalbound + S (pfc_index_prefix_add_left_value_hcudiagonal) = (S (i))) -> exists pfc_value_prefix_add_left_value_hcudiagonal. ((((exists ff_h_pfp_prefix_add_left_value_hcudiagonalentry. ff_h_pfp_prefix_add_left_value_hcudiagonalentry + S (pfc_value_prefix_add_left_value_hcudiagonal) = S ((S (pfc_index_prefix_add_left_value_hcudiagonal)) * pfc_terms_scale_prefix_add_left_value_hcu)) /\ exists ff_q_pfp_prefix_add_left_value_hcudiagonalentry. pfc_terms_code_prefix_add_left_value_hcu = ff_q_pfp_prefix_add_left_value_hcudiagonalentry * S ((S (pfc_index_prefix_add_left_value_hcudiagonal)) * pfc_terms_scale_prefix_add_left_value_hcu) + (pfc_value_prefix_add_left_value_hcudiagonal))) /\ ((exists pfc_complement_prefix_add_left_value_hcudiagonalterm pfc_left_prefix_add_left_value_hcudiagonalterm pfc_right_prefix_add_left_value_hcudiagonalterm. (((pfc_index_prefix_add_left_value_hcudiagonal)+pfc_complement_prefix_add_left_value_hcudiagonalterm=(i)) /\ ((((((exists pfa_gap_prefix_add_left_value_hcudiagonaltermleftinside. pfa_gap_prefix_add_left_value_hcudiagonaltermleftinside + S (pfc_index_prefix_add_left_value_hcudiagonal) = (M)) /\ ((((exists ff_h_pfp_prefix_add_left_value_hcudiagonaltermleftentry. ff_h_pfp_prefix_add_left_value_hcudiagonaltermleftentry + S (pfc_left_prefix_add_left_value_hcudiagonalterm) = S ((S (pfc_index_prefix_add_left_value_hcudiagonal)) * dc)) /\ exists ff_q_pfp_prefix_add_left_value_hcudiagonaltermleftentry. db = ff_q_pfp_prefix_add_left_value_hcudiagonaltermleftentry * S ((S (pfc_index_prefix_add_left_value_hcudiagonal)) * dc) + (pfc_left_prefix_add_left_value_hcudiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_value_hcudiagonaltermleftoutside. pfc_gap_prefix_add_left_value_hcudiagonaltermleftoutside+(M)=(pfc_index_prefix_add_left_value_hcudiagonal)) /\ (((pfc_left_prefix_add_left_value_hcudiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_left_value_hcudiagonaltermrightinside. pfa_gap_prefix_add_left_value_hcudiagonaltermrightinside + S (pfc_complement_prefix_add_left_value_hcudiagonalterm) = (L)) /\ ((((exists ff_h_pfp_prefix_add_left_value_hcudiagonaltermrightentry. ff_h_pfp_prefix_add_left_value_hcudiagonaltermrightentry + S (pfc_right_prefix_add_left_value_hcudiagonalterm) = S ((S (pfc_complement_prefix_add_left_value_hcudiagonalterm)) * ac)) /\ exists ff_q_pfp_prefix_add_left_value_hcudiagonaltermrightentry. ab = ff_q_pfp_prefix_add_left_value_hcudiagonaltermrightentry * S ((S (pfc_complement_prefix_add_left_value_hcudiagonalterm)) * ac) + (pfc_right_prefix_add_left_value_hcudiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_value_hcudiagonaltermrightoutside. pfc_gap_prefix_add_left_value_hcudiagonaltermrightoutside+(L)=(pfc_complement_prefix_add_left_value_hcudiagonalterm)) /\ (((pfc_right_prefix_add_left_value_hcudiagonalterm)=0))))) /\ (((pfc_value_prefix_add_left_value_hcudiagonal)=pfc_left_prefix_add_left_value_hcudiagonalterm*pfc_right_prefix_add_left_value_hcudiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_left_value_hcusum fs_v_pfc_prefix_add_left_value_hcusum. ((((exists fs_h_pfc_prefix_add_left_value_hcusum_body_start. fs_h_pfc_prefix_add_left_value_hcusum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_left_value_hcusum)) /\ exists fs_q_pfc_prefix_add_left_value_hcusum_body_start. fs_u_pfc_prefix_add_left_value_hcusum = fs_q_pfc_prefix_add_left_value_hcusum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_left_value_hcusum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_left_value_hcusum_body_terminal. fs_h_pfc_prefix_add_left_value_hcusum_body_terminal + S (pfc_natural_sum_prefix_add_left_value_hcu) = S ((S (S (i))) * fs_v_pfc_prefix_add_left_value_hcusum)) /\ exists fs_q_pfc_prefix_add_left_value_hcusum_body_terminal. fs_u_pfc_prefix_add_left_value_hcusum = fs_q_pfc_prefix_add_left_value_hcusum_body_terminal * S ((S (S (i))) * fs_v_pfc_prefix_add_left_value_hcusum) + (pfc_natural_sum_prefix_add_left_value_hcu))) /\ forall fs_i_pfc_prefix_add_left_value_hcusum_body_steps. (exists fs_lt_pfc_prefix_add_left_value_hcusum_body_steps_bound. fs_lt_pfc_prefix_add_left_value_hcusum_body_steps_bound + S fs_i_pfc_prefix_add_left_value_hcusum_body_steps = S (i)) -> exists fs_a_pfc_prefix_add_left_value_hcusum_body_steps fs_r_pfc_prefix_add_left_value_hcusum_body_steps fs_s_pfc_prefix_add_left_value_hcusum_body_steps. ((((exists fs_h_pfc_prefix_add_left_value_hcusum_body_steps_summand. fs_h_pfc_prefix_add_left_value_hcusum_body_steps_summand + S (fs_a_pfc_prefix_add_left_value_hcusum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_value_hcusum_body_steps)) * pfc_terms_scale_prefix_add_left_value_hcu)) /\ exists fs_q_pfc_prefix_add_left_value_hcusum_body_steps_summand. pfc_terms_code_prefix_add_left_value_hcu = fs_q_pfc_prefix_add_left_value_hcusum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_left_value_hcusum_body_steps)) * pfc_terms_scale_prefix_add_left_value_hcu) + (fs_a_pfc_prefix_add_left_value_hcusum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_value_hcusum_body_steps_partial. fs_h_pfc_prefix_add_left_value_hcusum_body_steps_partial + S (fs_r_pfc_prefix_add_left_value_hcusum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_value_hcusum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcusum)) /\ exists fs_q_pfc_prefix_add_left_value_hcusum_body_steps_partial. fs_u_pfc_prefix_add_left_value_hcusum = fs_q_pfc_prefix_add_left_value_hcusum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_left_value_hcusum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcusum) + (fs_r_pfc_prefix_add_left_value_hcusum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_value_hcusum_body_steps_successor. fs_h_pfc_prefix_add_left_value_hcusum_body_steps_successor + S (fs_s_pfc_prefix_add_left_value_hcusum_body_steps) = S ((S (S fs_i_pfc_prefix_add_left_value_hcusum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcusum)) /\ exists fs_q_pfc_prefix_add_left_value_hcusum_body_steps_successor. fs_u_pfc_prefix_add_left_value_hcusum = fs_q_pfc_prefix_add_left_value_hcusum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_left_value_hcusum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcusum) + (fs_s_pfc_prefix_add_left_value_hcusum_body_steps))) /\ fs_s_pfc_prefix_add_left_value_hcusum_body_steps = fs_r_pfc_prefix_add_left_value_hcusum_body_steps + fs_a_pfc_prefix_add_left_value_hcusum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_left_value_hcuresiduebound. pfa_gap_prefix_add_left_value_hcuresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_prefix_add_left_value_hcuresiduecongruence pfa_offset_right_prefix_add_left_value_hcuresiduecongruence. (pfc_natural_sum_prefix_add_left_value_hcu) + (p) * pfa_offset_left_prefix_add_left_value_hcuresiduecongruence = (r) + (p) * pfa_offset_right_prefix_add_left_value_hcuresiduecongruence)))))))))))specialize hu (i)apply huexact hicases hcucases hcu_witnesshave hcv : exists r. ((((exists ff_h_pfp_prefix_add_left_hcv. ff_h_pfp_prefix_add_left_hcv + S (r) = S ((S (i)) * vc)) /\ exists ff_q_pfp_prefix_add_left_hcv. vb = ff_q_pfp_prefix_add_left_hcv * S ((S (i)) * vc) + (r))) /\ ((exists pfc_terms_code_prefix_add_left_value_hcv pfc_terms_scale_prefix_add_left_value_hcv pfc_natural_sum_prefix_add_left_value_hcv. ((forall pfc_index_prefix_add_left_value_hcvdiagonal. (exists pfa_gap_prefix_add_left_value_hcvdiagonalbound. pfa_gap_prefix_add_left_value_hcvdiagonalbound + S (pfc_index_prefix_add_left_value_hcvdiagonal) = (S (i))) -> exists pfc_value_prefix_add_left_value_hcvdiagonal. ((((exists ff_h_pfp_prefix_add_left_value_hcvdiagonalentry. ff_h_pfp_prefix_add_left_value_hcvdiagonalentry + S (pfc_value_prefix_add_left_value_hcvdiagonal) = S ((S (pfc_index_prefix_add_left_value_hcvdiagonal)) * pfc_terms_scale_prefix_add_left_value_hcv)) /\ exists ff_q_pfp_prefix_add_left_value_hcvdiagonalentry. pfc_terms_code_prefix_add_left_value_hcv = ff_q_pfp_prefix_add_left_value_hcvdiagonalentry * S ((S (pfc_index_prefix_add_left_value_hcvdiagonal)) * pfc_terms_scale_prefix_add_left_value_hcv) + (pfc_value_prefix_add_left_value_hcvdiagonal))) /\ ((exists pfc_complement_prefix_add_left_value_hcvdiagonalterm pfc_left_prefix_add_left_value_hcvdiagonalterm pfc_right_prefix_add_left_value_hcvdiagonalterm. (((pfc_index_prefix_add_left_value_hcvdiagonal)+pfc_complement_prefix_add_left_value_hcvdiagonalterm=(i)) /\ ((((((exists pfa_gap_prefix_add_left_value_hcvdiagonaltermleftinside. pfa_gap_prefix_add_left_value_hcvdiagonaltermleftinside + S (pfc_index_prefix_add_left_value_hcvdiagonal) = (M)) /\ ((((exists ff_h_pfp_prefix_add_left_value_hcvdiagonaltermleftentry. ff_h_pfp_prefix_add_left_value_hcvdiagonaltermleftentry + S (pfc_left_prefix_add_left_value_hcvdiagonalterm) = S ((S (pfc_index_prefix_add_left_value_hcvdiagonal)) * dc)) /\ exists ff_q_pfp_prefix_add_left_value_hcvdiagonaltermleftentry. db = ff_q_pfp_prefix_add_left_value_hcvdiagonaltermleftentry * S ((S (pfc_index_prefix_add_left_value_hcvdiagonal)) * dc) + (pfc_left_prefix_add_left_value_hcvdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_value_hcvdiagonaltermleftoutside. pfc_gap_prefix_add_left_value_hcvdiagonaltermleftoutside+(M)=(pfc_index_prefix_add_left_value_hcvdiagonal)) /\ (((pfc_left_prefix_add_left_value_hcvdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_left_value_hcvdiagonaltermrightinside. pfa_gap_prefix_add_left_value_hcvdiagonaltermrightinside + S (pfc_complement_prefix_add_left_value_hcvdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_prefix_add_left_value_hcvdiagonaltermrightentry. ff_h_pfp_prefix_add_left_value_hcvdiagonaltermrightentry + S (pfc_right_prefix_add_left_value_hcvdiagonalterm) = S ((S (pfc_complement_prefix_add_left_value_hcvdiagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_add_left_value_hcvdiagonaltermrightentry. bb = ff_q_pfp_prefix_add_left_value_hcvdiagonaltermrightentry * S ((S (pfc_complement_prefix_add_left_value_hcvdiagonalterm)) * bc) + (pfc_right_prefix_add_left_value_hcvdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_value_hcvdiagonaltermrightoutside. pfc_gap_prefix_add_left_value_hcvdiagonaltermrightoutside+(L)=(pfc_complement_prefix_add_left_value_hcvdiagonalterm)) /\ (((pfc_right_prefix_add_left_value_hcvdiagonalterm)=0))))) /\ (((pfc_value_prefix_add_left_value_hcvdiagonal)=pfc_left_prefix_add_left_value_hcvdiagonalterm*pfc_right_prefix_add_left_value_hcvdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_left_value_hcvsum fs_v_pfc_prefix_add_left_value_hcvsum. ((((exists fs_h_pfc_prefix_add_left_value_hcvsum_body_start. fs_h_pfc_prefix_add_left_value_hcvsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_left_value_hcvsum)) /\ exists fs_q_pfc_prefix_add_left_value_hcvsum_body_start. fs_u_pfc_prefix_add_left_value_hcvsum = fs_q_pfc_prefix_add_left_value_hcvsum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_left_value_hcvsum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_left_value_hcvsum_body_terminal. fs_h_pfc_prefix_add_left_value_hcvsum_body_terminal + S (pfc_natural_sum_prefix_add_left_value_hcv) = S ((S (S (i))) * fs_v_pfc_prefix_add_left_value_hcvsum)) /\ exists fs_q_pfc_prefix_add_left_value_hcvsum_body_terminal. fs_u_pfc_prefix_add_left_value_hcvsum = fs_q_pfc_prefix_add_left_value_hcvsum_body_terminal * S ((S (S (i))) * fs_v_pfc_prefix_add_left_value_hcvsum) + (pfc_natural_sum_prefix_add_left_value_hcv))) /\ forall fs_i_pfc_prefix_add_left_value_hcvsum_body_steps. (exists fs_lt_pfc_prefix_add_left_value_hcvsum_body_steps_bound. fs_lt_pfc_prefix_add_left_value_hcvsum_body_steps_bound + S fs_i_pfc_prefix_add_left_value_hcvsum_body_steps = S (i)) -> exists fs_a_pfc_prefix_add_left_value_hcvsum_body_steps fs_r_pfc_prefix_add_left_value_hcvsum_body_steps fs_s_pfc_prefix_add_left_value_hcvsum_body_steps. ((((exists fs_h_pfc_prefix_add_left_value_hcvsum_body_steps_summand. fs_h_pfc_prefix_add_left_value_hcvsum_body_steps_summand + S (fs_a_pfc_prefix_add_left_value_hcvsum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_value_hcvsum_body_steps)) * pfc_terms_scale_prefix_add_left_value_hcv)) /\ exists fs_q_pfc_prefix_add_left_value_hcvsum_body_steps_summand. pfc_terms_code_prefix_add_left_value_hcv = fs_q_pfc_prefix_add_left_value_hcvsum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_left_value_hcvsum_body_steps)) * pfc_terms_scale_prefix_add_left_value_hcv) + (fs_a_pfc_prefix_add_left_value_hcvsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_value_hcvsum_body_steps_partial. fs_h_pfc_prefix_add_left_value_hcvsum_body_steps_partial + S (fs_r_pfc_prefix_add_left_value_hcvsum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_value_hcvsum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcvsum)) /\ exists fs_q_pfc_prefix_add_left_value_hcvsum_body_steps_partial. fs_u_pfc_prefix_add_left_value_hcvsum = fs_q_pfc_prefix_add_left_value_hcvsum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_left_value_hcvsum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcvsum) + (fs_r_pfc_prefix_add_left_value_hcvsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_value_hcvsum_body_steps_successor. fs_h_pfc_prefix_add_left_value_hcvsum_body_steps_successor + S (fs_s_pfc_prefix_add_left_value_hcvsum_body_steps) = S ((S (S fs_i_pfc_prefix_add_left_value_hcvsum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcvsum)) /\ exists fs_q_pfc_prefix_add_left_value_hcvsum_body_steps_successor. fs_u_pfc_prefix_add_left_value_hcvsum = fs_q_pfc_prefix_add_left_value_hcvsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_left_value_hcvsum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcvsum) + (fs_s_pfc_prefix_add_left_value_hcvsum_body_steps))) /\ fs_s_pfc_prefix_add_left_value_hcvsum_body_steps = fs_r_pfc_prefix_add_left_value_hcvsum_body_steps + fs_a_pfc_prefix_add_left_value_hcvsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_left_value_hcvresiduebound. pfa_gap_prefix_add_left_value_hcvresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_prefix_add_left_value_hcvresiduecongruence pfa_offset_right_prefix_add_left_value_hcvresiduecongruence. (pfc_natural_sum_prefix_add_left_value_hcv) + (p) * pfa_offset_left_prefix_add_left_value_hcvresiduecongruence = (r) + (p) * pfa_offset_right_prefix_add_left_value_hcvresiduecongruence)))))))))))specialize hv (i)apply hvexact hicases hcvcases hcv_witnesshave hcw : exists r. ((((exists ff_h_pfp_prefix_add_left_hcw. ff_h_pfp_prefix_add_left_hcw + S (r) = S ((S (i)) * wc)) /\ exists ff_q_pfp_prefix_add_left_hcw. wb = ff_q_pfp_prefix_add_left_hcw * S ((S (i)) * wc) + (r))) /\ ((exists pfc_terms_code_prefix_add_left_value_hcw pfc_terms_scale_prefix_add_left_value_hcw pfc_natural_sum_prefix_add_left_value_hcw. ((forall pfc_index_prefix_add_left_value_hcwdiagonal. (exists pfa_gap_prefix_add_left_value_hcwdiagonalbound. pfa_gap_prefix_add_left_value_hcwdiagonalbound + S (pfc_index_prefix_add_left_value_hcwdiagonal) = (S (i))) -> exists pfc_value_prefix_add_left_value_hcwdiagonal. ((((exists ff_h_pfp_prefix_add_left_value_hcwdiagonalentry. ff_h_pfp_prefix_add_left_value_hcwdiagonalentry + S (pfc_value_prefix_add_left_value_hcwdiagonal) = S ((S (pfc_index_prefix_add_left_value_hcwdiagonal)) * pfc_terms_scale_prefix_add_left_value_hcw)) /\ exists ff_q_pfp_prefix_add_left_value_hcwdiagonalentry. pfc_terms_code_prefix_add_left_value_hcw = ff_q_pfp_prefix_add_left_value_hcwdiagonalentry * S ((S (pfc_index_prefix_add_left_value_hcwdiagonal)) * pfc_terms_scale_prefix_add_left_value_hcw) + (pfc_value_prefix_add_left_value_hcwdiagonal))) /\ ((exists pfc_complement_prefix_add_left_value_hcwdiagonalterm pfc_left_prefix_add_left_value_hcwdiagonalterm pfc_right_prefix_add_left_value_hcwdiagonalterm. (((pfc_index_prefix_add_left_value_hcwdiagonal)+pfc_complement_prefix_add_left_value_hcwdiagonalterm=(i)) /\ ((((((exists pfa_gap_prefix_add_left_value_hcwdiagonaltermleftinside. pfa_gap_prefix_add_left_value_hcwdiagonaltermleftinside + S (pfc_index_prefix_add_left_value_hcwdiagonal) = (M)) /\ ((((exists ff_h_pfp_prefix_add_left_value_hcwdiagonaltermleftentry. ff_h_pfp_prefix_add_left_value_hcwdiagonaltermleftentry + S (pfc_left_prefix_add_left_value_hcwdiagonalterm) = S ((S (pfc_index_prefix_add_left_value_hcwdiagonal)) * dc)) /\ exists ff_q_pfp_prefix_add_left_value_hcwdiagonaltermleftentry. db = ff_q_pfp_prefix_add_left_value_hcwdiagonaltermleftentry * S ((S (pfc_index_prefix_add_left_value_hcwdiagonal)) * dc) + (pfc_left_prefix_add_left_value_hcwdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_value_hcwdiagonaltermleftoutside. pfc_gap_prefix_add_left_value_hcwdiagonaltermleftoutside+(M)=(pfc_index_prefix_add_left_value_hcwdiagonal)) /\ (((pfc_left_prefix_add_left_value_hcwdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_left_value_hcwdiagonaltermrightinside. pfa_gap_prefix_add_left_value_hcwdiagonaltermrightinside + S (pfc_complement_prefix_add_left_value_hcwdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_prefix_add_left_value_hcwdiagonaltermrightentry. ff_h_pfp_prefix_add_left_value_hcwdiagonaltermrightentry + S (pfc_right_prefix_add_left_value_hcwdiagonalterm) = S ((S (pfc_complement_prefix_add_left_value_hcwdiagonalterm)) * cc)) /\ exists ff_q_pfp_prefix_add_left_value_hcwdiagonaltermrightentry. cb = ff_q_pfp_prefix_add_left_value_hcwdiagonaltermrightentry * S ((S (pfc_complement_prefix_add_left_value_hcwdiagonalterm)) * cc) + (pfc_right_prefix_add_left_value_hcwdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_left_value_hcwdiagonaltermrightoutside. pfc_gap_prefix_add_left_value_hcwdiagonaltermrightoutside+(L)=(pfc_complement_prefix_add_left_value_hcwdiagonalterm)) /\ (((pfc_right_prefix_add_left_value_hcwdiagonalterm)=0))))) /\ (((pfc_value_prefix_add_left_value_hcwdiagonal)=pfc_left_prefix_add_left_value_hcwdiagonalterm*pfc_right_prefix_add_left_value_hcwdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_left_value_hcwsum fs_v_pfc_prefix_add_left_value_hcwsum. ((((exists fs_h_pfc_prefix_add_left_value_hcwsum_body_start. fs_h_pfc_prefix_add_left_value_hcwsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_left_value_hcwsum)) /\ exists fs_q_pfc_prefix_add_left_value_hcwsum_body_start. fs_u_pfc_prefix_add_left_value_hcwsum = fs_q_pfc_prefix_add_left_value_hcwsum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_left_value_hcwsum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_left_value_hcwsum_body_terminal. fs_h_pfc_prefix_add_left_value_hcwsum_body_terminal + S (pfc_natural_sum_prefix_add_left_value_hcw) = S ((S (S (i))) * fs_v_pfc_prefix_add_left_value_hcwsum)) /\ exists fs_q_pfc_prefix_add_left_value_hcwsum_body_terminal. fs_u_pfc_prefix_add_left_value_hcwsum = fs_q_pfc_prefix_add_left_value_hcwsum_body_terminal * S ((S (S (i))) * fs_v_pfc_prefix_add_left_value_hcwsum) + (pfc_natural_sum_prefix_add_left_value_hcw))) /\ forall fs_i_pfc_prefix_add_left_value_hcwsum_body_steps. (exists fs_lt_pfc_prefix_add_left_value_hcwsum_body_steps_bound. fs_lt_pfc_prefix_add_left_value_hcwsum_body_steps_bound + S fs_i_pfc_prefix_add_left_value_hcwsum_body_steps = S (i)) -> exists fs_a_pfc_prefix_add_left_value_hcwsum_body_steps fs_r_pfc_prefix_add_left_value_hcwsum_body_steps fs_s_pfc_prefix_add_left_value_hcwsum_body_steps. ((((exists fs_h_pfc_prefix_add_left_value_hcwsum_body_steps_summand. fs_h_pfc_prefix_add_left_value_hcwsum_body_steps_summand + S (fs_a_pfc_prefix_add_left_value_hcwsum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_value_hcwsum_body_steps)) * pfc_terms_scale_prefix_add_left_value_hcw)) /\ exists fs_q_pfc_prefix_add_left_value_hcwsum_body_steps_summand. pfc_terms_code_prefix_add_left_value_hcw = fs_q_pfc_prefix_add_left_value_hcwsum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_left_value_hcwsum_body_steps)) * pfc_terms_scale_prefix_add_left_value_hcw) + (fs_a_pfc_prefix_add_left_value_hcwsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_value_hcwsum_body_steps_partial. fs_h_pfc_prefix_add_left_value_hcwsum_body_steps_partial + S (fs_r_pfc_prefix_add_left_value_hcwsum_body_steps) = S ((S (fs_i_pfc_prefix_add_left_value_hcwsum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcwsum)) /\ exists fs_q_pfc_prefix_add_left_value_hcwsum_body_steps_partial. fs_u_pfc_prefix_add_left_value_hcwsum = fs_q_pfc_prefix_add_left_value_hcwsum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_left_value_hcwsum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcwsum) + (fs_r_pfc_prefix_add_left_value_hcwsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_left_value_hcwsum_body_steps_successor. fs_h_pfc_prefix_add_left_value_hcwsum_body_steps_successor + S (fs_s_pfc_prefix_add_left_value_hcwsum_body_steps) = S ((S (S fs_i_pfc_prefix_add_left_value_hcwsum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcwsum)) /\ exists fs_q_pfc_prefix_add_left_value_hcwsum_body_steps_successor. fs_u_pfc_prefix_add_left_value_hcwsum = fs_q_pfc_prefix_add_left_value_hcwsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_left_value_hcwsum_body_steps)) * fs_v_pfc_prefix_add_left_value_hcwsum) + (fs_s_pfc_prefix_add_left_value_hcwsum_body_steps))) /\ fs_s_pfc_prefix_add_left_value_hcwsum_body_steps = fs_r_pfc_prefix_add_left_value_hcwsum_body_steps + fs_a_pfc_prefix_add_left_value_hcwsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_left_value_hcwresiduebound. pfa_gap_prefix_add_left_value_hcwresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_prefix_add_left_value_hcwresiduecongruence pfa_offset_right_prefix_add_left_value_hcwresiduecongruence. (pfc_natural_sum_prefix_add_left_value_hcw) + (p) * pfa_offset_left_prefix_add_left_value_hcwresiduecongruence = (r) + (p) * pfa_offset_right_prefix_add_left_value_hcwresiduecongruence)))))))))))specialize hw (i)apply hwexact hicases hcwcases hcw_witnessexists xexists x1exists x2splitexact hcu_witness_leftsplitexact hcv_witness_leftsplitexact hcw_witness_leftspecialize prime_field_convolution_coefficient_left_add (p)specialize prime_field_convolution_coefficient_left_add (ab)specialize prime_field_convolution_coefficient_left_add (ac)specialize prime_field_convolution_coefficient_left_add (bb)specialize prime_field_convolution_coefficient_left_add (bc)specialize prime_field_convolution_coefficient_left_add (cb)specialize prime_field_convolution_coefficient_left_add (cc)specialize prime_field_convolution_coefficient_left_add (L)specialize prime_field_convolution_coefficient_left_add (db)specialize prime_field_convolution_coefficient_left_add (dc)specialize prime_field_convolution_coefficient_left_add (M)specialize prime_field_convolution_coefficient_left_add (i)specialize prime_field_convolution_coefficient_left_add (x)specialize prime_field_convolution_coefficient_left_add (x1)specialize prime_field_convolution_coefficient_left_add (x2)apply prime_field_convolution_coefficient_left_addexact hsexact hcu_witness_rightexact hcv_witness_rightexact hcw_witness_right
prime_field_polynomial_convolution_left_add · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M ub uc vb vc wb wc N. (forall pfp_index_proper_left_add_source. (exists pfa_gap_proper_left_add_sourceindex. pfa_gap_proper_left_add_sourceindex + S (pfp_index_proper_left_add_source) = (L)) -> exists pfp_left_proper_left_add_source pfp_right_proper_left_add_source pfp_value_proper_left_add_source. ((((exists ff_h_pfp_proper_left_add_sourceleft. ff_h_pfp_proper_left_add_sourceleft + S (pfp_left_proper_left_add_source) = S ((S (pfp_index_proper_left_add_source)) * ac)) /\ exists ff_q_pfp_proper_left_add_sourceleft. ab = ff_q_pfp_proper_left_add_sourceleft * S ((S (pfp_index_proper_left_add_source)) * ac) + (pfp_left_proper_left_add_source))) /\ (((((exists ff_h_pfp_proper_left_add_sourceright. ff_h_pfp_proper_left_add_sourceright + S (pfp_right_proper_left_add_source) = S ((S (pfp_index_proper_left_add_source)) * bc)) /\ exists ff_q_pfp_proper_left_add_sourceright. bb = ff_q_pfp_proper_left_add_sourceright * S ((S (pfp_index_proper_left_add_source)) * bc) + (pfp_right_proper_left_add_source))) /\ (((((exists ff_h_pfp_proper_left_add_sourcetarget. ff_h_pfp_proper_left_add_sourcetarget + S (pfp_value_proper_left_add_source) = S ((S (pfp_index_proper_left_add_source)) * cc)) /\ exists ff_q_pfp_proper_left_add_sourcetarget. cb = ff_q_pfp_proper_left_add_sourcetarget * S ((S (pfp_index_proper_left_add_source)) * cc) + (pfp_value_proper_left_add_source))) /\ ((((exists pfa_gap_proper_left_add_sourceoperationleft. pfa_gap_proper_left_add_sourceoperationleft + S (pfp_left_proper_left_add_source) = (p)) /\ (((exists pfa_gap_proper_left_add_sourceoperationright. pfa_gap_proper_left_add_sourceoperationright + S (pfp_right_proper_left_add_source) = (p)) /\ ((((exists pfa_gap_proper_left_add_sourceoperationresultbound. pfa_gap_proper_left_add_sourceoperationresultbound + S (pfp_value_proper_left_add_source) = (p)) /\ ((exists pfa_offset_left_proper_left_add_sourceoperationresultcongruence pfa_offset_right_proper_left_add_sourceoperationresultcongruence. ((pfp_left_proper_left_add_source) + (pfp_right_proper_left_add_source)) + (p) * pfa_offset_left_proper_left_add_sourceoperationresultcongruence = (pfp_value_proper_left_add_source) + (p) * pfa_offset_right_proper_left_add_sourceoperationresultcongruence)))))))))))))))) -> (((forall fom_index_pfp_proper_left_add_ubleft. (exists fom_gap_pfp_proper_left_add_ubleft_index_bound. fom_gap_pfp_proper_left_add_ubleft_index_bound + S (fom_index_pfp_proper_left_add_ubleft) = M) -> exists fom_value_pfp_proper_left_add_ubleft. ((((exists fom_beta_height_pfp_proper_left_add_ubleft_entry. fom_beta_height_pfp_proper_left_add_ubleft_entry + S (fom_value_pfp_proper_left_add_ubleft) = S ((S (fom_index_pfp_proper_left_add_ubleft)) * dc)) /\ exists fom_beta_quotient_pfp_proper_left_add_ubleft_entry. db = fom_beta_quotient_pfp_proper_left_add_ubleft_entry * S ((S (fom_index_pfp_proper_left_add_ubleft)) * dc) + (fom_value_pfp_proper_left_add_ubleft))) /\ (exists fom_gap_pfp_proper_left_add_ubleft_value_bound. fom_gap_pfp_proper_left_add_ubleft_value_bound + S (fom_value_pfp_proper_left_add_ubleft) = p))) /\ (((forall fom_index_pfp_proper_left_add_ubright. (exists fom_gap_pfp_proper_left_add_ubright_index_bound. fom_gap_pfp_proper_left_add_ubright_index_bound + S (fom_index_pfp_proper_left_add_ubright) = L) -> exists fom_value_pfp_proper_left_add_ubright. ((((exists fom_beta_height_pfp_proper_left_add_ubright_entry. fom_beta_height_pfp_proper_left_add_ubright_entry + S (fom_value_pfp_proper_left_add_ubright) = S ((S (fom_index_pfp_proper_left_add_ubright)) * ac)) /\ exists fom_beta_quotient_pfp_proper_left_add_ubright_entry. ab = fom_beta_quotient_pfp_proper_left_add_ubright_entry * S ((S (fom_index_pfp_proper_left_add_ubright)) * ac) + (fom_value_pfp_proper_left_add_ubright))) /\ (exists fom_gap_pfp_proper_left_add_ubright_value_bound. fom_gap_pfp_proper_left_add_ubright_value_bound + S (fom_value_pfp_proper_left_add_ubright) = p))) /\ (((((((M)=0 \/ (L)=0) /\ (((N)=0)))) \/ (((~((M)=0)) /\ (((~((L)=0)) /\ (((M)+(L)=S (N)))))))) /\ ((forall pfc_index_proper_left_add_ubcoefficients. (exists pfa_gap_proper_left_add_ubcoefficientsbound. pfa_gap_proper_left_add_ubcoefficientsbound + S (pfc_index_proper_left_add_ubcoefficients) = (N)) -> exists pfc_value_proper_left_add_ubcoefficients. ((((exists ff_h_pfp_proper_left_add_ubcoefficientsentry. ff_h_pfp_proper_left_add_ubcoefficientsentry + S (pfc_value_proper_left_add_ubcoefficients) = S ((S (pfc_index_proper_left_add_ubcoefficients)) * uc)) /\ exists ff_q_pfp_proper_left_add_ubcoefficientsentry. ub = ff_q_pfp_proper_left_add_ubcoefficientsentry * S ((S (pfc_index_proper_left_add_ubcoefficients)) * uc) + (pfc_value_proper_left_add_ubcoefficients))) /\ ((exists pfc_terms_code_proper_left_add_ubcoefficientscoefficient pfc_terms_scale_proper_left_add_ubcoefficientscoefficient pfc_natural_sum_proper_left_add_ubcoefficientscoefficient. ((forall pfc_index_proper_left_add_ubcoefficientscoefficientdiagonal. (exists pfa_gap_proper_left_add_ubcoefficientscoefficientdiagonalbound. pfa_gap_proper_left_add_ubcoefficientscoefficientdiagonalbound + S (pfc_index_proper_left_add_ubcoefficientscoefficientdiagonal) = (S (pfc_index_proper_left_add_ubcoefficients))) -> exists pfc_value_proper_left_add_ubcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_proper_left_add_ubcoefficientscoefficientdiagonalentry. ff_h_pfp_proper_left_add_ubcoefficientscoefficientdiagonalentry + S (pfc_value_proper_left_add_ubcoefficientscoefficientdiagonal) = S ((S (pfc_index_proper_left_add_ubcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_left_add_ubcoefficientscoefficient)) /\ exists ff_q_pfp_proper_left_add_ubcoefficientscoefficientdiagonalentry. pfc_terms_code_proper_left_add_ubcoefficientscoefficient = ff_q_pfp_proper_left_add_ubcoefficientscoefficientdiagonalentry * S ((S (pfc_index_proper_left_add_ubcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_left_add_ubcoefficientscoefficient) + (pfc_value_proper_left_add_ubcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_proper_left_add_ubcoefficientscoefficientdiagonalterm pfc_left_proper_left_add_ubcoefficientscoefficientdiagonalterm pfc_right_proper_left_add_ubcoefficientscoefficientdiagonalterm. (((pfc_index_proper_left_add_ubcoefficientscoefficientdiagonal)+pfc_complement_proper_left_add_ubcoefficientscoefficientdiagonalterm=(pfc_index_proper_left_add_ubcoefficients)) /\ ((((((exists pfa_gap_proper_left_add_ubcoefficientscoefficientdiagonaltermleftinside. pfa_gap_proper_left_add_ubcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_proper_left_add_ubcoefficientscoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_proper_left_add_ubcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_proper_left_add_ubcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_proper_left_add_ubcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_proper_left_add_ubcoefficientscoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_proper_left_add_ubcoefficientscoefficientdiagonaltermleftentry. db = ff_q_pfp_proper_left_add_ubcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_proper_left_add_ubcoefficientscoefficientdiagonal)) * dc) + (pfc_left_proper_left_add_ubcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_left_add_ubcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_proper_left_add_ubcoefficientscoefficientdiagonaltermleftoutside+(M)=(pfc_index_proper_left_add_ubcoefficientscoefficientdiagonal)) /\ (((pfc_left_proper_left_add_ubcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_proper_left_add_ubcoefficientscoefficientdiagonaltermrightinside. pfa_gap_proper_left_add_ubcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_proper_left_add_ubcoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_proper_left_add_ubcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_proper_left_add_ubcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_proper_left_add_ubcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_proper_left_add_ubcoefficientscoefficientdiagonalterm)) * ac)) /\ exists ff_q_pfp_proper_left_add_ubcoefficientscoefficientdiagonaltermrightentry. ab = ff_q_pfp_proper_left_add_ubcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_proper_left_add_ubcoefficientscoefficientdiagonalterm)) * ac) + (pfc_right_proper_left_add_ubcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_left_add_ubcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_proper_left_add_ubcoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_proper_left_add_ubcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_proper_left_add_ubcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_proper_left_add_ubcoefficientscoefficientdiagonal)=pfc_left_proper_left_add_ubcoefficientscoefficientdiagonalterm*pfc_right_proper_left_add_ubcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_proper_left_add_ubcoefficientscoefficientsum fs_v_pfc_proper_left_add_ubcoefficientscoefficientsum. ((((exists fs_h_pfc_proper_left_add_ubcoefficientscoefficientsum_body_start. fs_h_pfc_proper_left_add_ubcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_proper_left_add_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_ubcoefficientscoefficientsum_body_start. fs_u_pfc_proper_left_add_ubcoefficientscoefficientsum = fs_q_pfc_proper_left_add_ubcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_proper_left_add_ubcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_proper_left_add_ubcoefficientscoefficientsum_body_terminal. fs_h_pfc_proper_left_add_ubcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_proper_left_add_ubcoefficientscoefficient) = S ((S (S (pfc_index_proper_left_add_ubcoefficients))) * fs_v_pfc_proper_left_add_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_ubcoefficientscoefficientsum_body_terminal. fs_u_pfc_proper_left_add_ubcoefficientscoefficientsum = fs_q_pfc_proper_left_add_ubcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_proper_left_add_ubcoefficients))) * fs_v_pfc_proper_left_add_ubcoefficientscoefficientsum) + (pfc_natural_sum_proper_left_add_ubcoefficientscoefficient))) /\ forall fs_i_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps = S (pfc_index_proper_left_add_ubcoefficients)) -> exists fs_a_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps fs_r_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps fs_s_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_left_add_ubcoefficientscoefficient)) /\ exists fs_q_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_proper_left_add_ubcoefficientscoefficient = fs_q_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_left_add_ubcoefficientscoefficient) + (fs_a_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_proper_left_add_ubcoefficientscoefficientsum = fs_q_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_ubcoefficientscoefficientsum) + (fs_r_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_proper_left_add_ubcoefficientscoefficientsum = fs_q_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_ubcoefficientscoefficientsum) + (fs_s_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps = fs_r_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps + fs_a_pfc_proper_left_add_ubcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_proper_left_add_ubcoefficientscoefficientresiduebound. pfa_gap_proper_left_add_ubcoefficientscoefficientresiduebound + S (pfc_value_proper_left_add_ubcoefficients) = (p)) /\ ((exists pfa_offset_left_proper_left_add_ubcoefficientscoefficientresiduecongruence pfa_offset_right_proper_left_add_ubcoefficientscoefficientresiduecongruence. (pfc_natural_sum_proper_left_add_ubcoefficientscoefficient) + (p) * pfa_offset_left_proper_left_add_ubcoefficientscoefficientresiduecongruence = (pfc_value_proper_left_add_ubcoefficients) + (p) * pfa_offset_right_proper_left_add_ubcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_proper_left_add_vbleft. (exists fom_gap_pfp_proper_left_add_vbleft_index_bound. fom_gap_pfp_proper_left_add_vbleft_index_bound + S (fom_index_pfp_proper_left_add_vbleft) = M) -> exists fom_value_pfp_proper_left_add_vbleft. ((((exists fom_beta_height_pfp_proper_left_add_vbleft_entry. fom_beta_height_pfp_proper_left_add_vbleft_entry + S (fom_value_pfp_proper_left_add_vbleft) = S ((S (fom_index_pfp_proper_left_add_vbleft)) * dc)) /\ exists fom_beta_quotient_pfp_proper_left_add_vbleft_entry. db = fom_beta_quotient_pfp_proper_left_add_vbleft_entry * S ((S (fom_index_pfp_proper_left_add_vbleft)) * dc) + (fom_value_pfp_proper_left_add_vbleft))) /\ (exists fom_gap_pfp_proper_left_add_vbleft_value_bound. fom_gap_pfp_proper_left_add_vbleft_value_bound + S (fom_value_pfp_proper_left_add_vbleft) = p))) /\ (((forall fom_index_pfp_proper_left_add_vbright. (exists fom_gap_pfp_proper_left_add_vbright_index_bound. fom_gap_pfp_proper_left_add_vbright_index_bound + S (fom_index_pfp_proper_left_add_vbright) = L) -> exists fom_value_pfp_proper_left_add_vbright. ((((exists fom_beta_height_pfp_proper_left_add_vbright_entry. fom_beta_height_pfp_proper_left_add_vbright_entry + S (fom_value_pfp_proper_left_add_vbright) = S ((S (fom_index_pfp_proper_left_add_vbright)) * bc)) /\ exists fom_beta_quotient_pfp_proper_left_add_vbright_entry. bb = fom_beta_quotient_pfp_proper_left_add_vbright_entry * S ((S (fom_index_pfp_proper_left_add_vbright)) * bc) + (fom_value_pfp_proper_left_add_vbright))) /\ (exists fom_gap_pfp_proper_left_add_vbright_value_bound. fom_gap_pfp_proper_left_add_vbright_value_bound + S (fom_value_pfp_proper_left_add_vbright) = p))) /\ (((((((M)=0 \/ (L)=0) /\ (((N)=0)))) \/ (((~((M)=0)) /\ (((~((L)=0)) /\ (((M)+(L)=S (N)))))))) /\ ((forall pfc_index_proper_left_add_vbcoefficients. (exists pfa_gap_proper_left_add_vbcoefficientsbound. pfa_gap_proper_left_add_vbcoefficientsbound + S (pfc_index_proper_left_add_vbcoefficients) = (N)) -> exists pfc_value_proper_left_add_vbcoefficients. ((((exists ff_h_pfp_proper_left_add_vbcoefficientsentry. ff_h_pfp_proper_left_add_vbcoefficientsentry + S (pfc_value_proper_left_add_vbcoefficients) = S ((S (pfc_index_proper_left_add_vbcoefficients)) * vc)) /\ exists ff_q_pfp_proper_left_add_vbcoefficientsentry. vb = ff_q_pfp_proper_left_add_vbcoefficientsentry * S ((S (pfc_index_proper_left_add_vbcoefficients)) * vc) + (pfc_value_proper_left_add_vbcoefficients))) /\ ((exists pfc_terms_code_proper_left_add_vbcoefficientscoefficient pfc_terms_scale_proper_left_add_vbcoefficientscoefficient pfc_natural_sum_proper_left_add_vbcoefficientscoefficient. ((forall pfc_index_proper_left_add_vbcoefficientscoefficientdiagonal. (exists pfa_gap_proper_left_add_vbcoefficientscoefficientdiagonalbound. pfa_gap_proper_left_add_vbcoefficientscoefficientdiagonalbound + S (pfc_index_proper_left_add_vbcoefficientscoefficientdiagonal) = (S (pfc_index_proper_left_add_vbcoefficients))) -> exists pfc_value_proper_left_add_vbcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_proper_left_add_vbcoefficientscoefficientdiagonalentry. ff_h_pfp_proper_left_add_vbcoefficientscoefficientdiagonalentry + S (pfc_value_proper_left_add_vbcoefficientscoefficientdiagonal) = S ((S (pfc_index_proper_left_add_vbcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_left_add_vbcoefficientscoefficient)) /\ exists ff_q_pfp_proper_left_add_vbcoefficientscoefficientdiagonalentry. pfc_terms_code_proper_left_add_vbcoefficientscoefficient = ff_q_pfp_proper_left_add_vbcoefficientscoefficientdiagonalentry * S ((S (pfc_index_proper_left_add_vbcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_left_add_vbcoefficientscoefficient) + (pfc_value_proper_left_add_vbcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_proper_left_add_vbcoefficientscoefficientdiagonalterm pfc_left_proper_left_add_vbcoefficientscoefficientdiagonalterm pfc_right_proper_left_add_vbcoefficientscoefficientdiagonalterm. (((pfc_index_proper_left_add_vbcoefficientscoefficientdiagonal)+pfc_complement_proper_left_add_vbcoefficientscoefficientdiagonalterm=(pfc_index_proper_left_add_vbcoefficients)) /\ ((((((exists pfa_gap_proper_left_add_vbcoefficientscoefficientdiagonaltermleftinside. pfa_gap_proper_left_add_vbcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_proper_left_add_vbcoefficientscoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_proper_left_add_vbcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_proper_left_add_vbcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_proper_left_add_vbcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_proper_left_add_vbcoefficientscoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_proper_left_add_vbcoefficientscoefficientdiagonaltermleftentry. db = ff_q_pfp_proper_left_add_vbcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_proper_left_add_vbcoefficientscoefficientdiagonal)) * dc) + (pfc_left_proper_left_add_vbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_left_add_vbcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_proper_left_add_vbcoefficientscoefficientdiagonaltermleftoutside+(M)=(pfc_index_proper_left_add_vbcoefficientscoefficientdiagonal)) /\ (((pfc_left_proper_left_add_vbcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_proper_left_add_vbcoefficientscoefficientdiagonaltermrightinside. pfa_gap_proper_left_add_vbcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_proper_left_add_vbcoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_proper_left_add_vbcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_proper_left_add_vbcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_proper_left_add_vbcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_proper_left_add_vbcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_proper_left_add_vbcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_proper_left_add_vbcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_proper_left_add_vbcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_proper_left_add_vbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_left_add_vbcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_proper_left_add_vbcoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_proper_left_add_vbcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_proper_left_add_vbcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_proper_left_add_vbcoefficientscoefficientdiagonal)=pfc_left_proper_left_add_vbcoefficientscoefficientdiagonalterm*pfc_right_proper_left_add_vbcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_proper_left_add_vbcoefficientscoefficientsum fs_v_pfc_proper_left_add_vbcoefficientscoefficientsum. ((((exists fs_h_pfc_proper_left_add_vbcoefficientscoefficientsum_body_start. fs_h_pfc_proper_left_add_vbcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_proper_left_add_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_vbcoefficientscoefficientsum_body_start. fs_u_pfc_proper_left_add_vbcoefficientscoefficientsum = fs_q_pfc_proper_left_add_vbcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_proper_left_add_vbcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_proper_left_add_vbcoefficientscoefficientsum_body_terminal. fs_h_pfc_proper_left_add_vbcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_proper_left_add_vbcoefficientscoefficient) = S ((S (S (pfc_index_proper_left_add_vbcoefficients))) * fs_v_pfc_proper_left_add_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_vbcoefficientscoefficientsum_body_terminal. fs_u_pfc_proper_left_add_vbcoefficientscoefficientsum = fs_q_pfc_proper_left_add_vbcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_proper_left_add_vbcoefficients))) * fs_v_pfc_proper_left_add_vbcoefficientscoefficientsum) + (pfc_natural_sum_proper_left_add_vbcoefficientscoefficient))) /\ forall fs_i_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps = S (pfc_index_proper_left_add_vbcoefficients)) -> exists fs_a_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps fs_r_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps fs_s_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_left_add_vbcoefficientscoefficient)) /\ exists fs_q_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_proper_left_add_vbcoefficientscoefficient = fs_q_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_left_add_vbcoefficientscoefficient) + (fs_a_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_proper_left_add_vbcoefficientscoefficientsum = fs_q_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_vbcoefficientscoefficientsum) + (fs_r_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_proper_left_add_vbcoefficientscoefficientsum = fs_q_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_vbcoefficientscoefficientsum) + (fs_s_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps = fs_r_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps + fs_a_pfc_proper_left_add_vbcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_proper_left_add_vbcoefficientscoefficientresiduebound. pfa_gap_proper_left_add_vbcoefficientscoefficientresiduebound + S (pfc_value_proper_left_add_vbcoefficients) = (p)) /\ ((exists pfa_offset_left_proper_left_add_vbcoefficientscoefficientresiduecongruence pfa_offset_right_proper_left_add_vbcoefficientscoefficientresiduecongruence. (pfc_natural_sum_proper_left_add_vbcoefficientscoefficient) + (p) * pfa_offset_left_proper_left_add_vbcoefficientscoefficientresiduecongruence = (pfc_value_proper_left_add_vbcoefficients) + (p) * pfa_offset_right_proper_left_add_vbcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_proper_left_add_wbleft. (exists fom_gap_pfp_proper_left_add_wbleft_index_bound. fom_gap_pfp_proper_left_add_wbleft_index_bound + S (fom_index_pfp_proper_left_add_wbleft) = M) -> exists fom_value_pfp_proper_left_add_wbleft. ((((exists fom_beta_height_pfp_proper_left_add_wbleft_entry. fom_beta_height_pfp_proper_left_add_wbleft_entry + S (fom_value_pfp_proper_left_add_wbleft) = S ((S (fom_index_pfp_proper_left_add_wbleft)) * dc)) /\ exists fom_beta_quotient_pfp_proper_left_add_wbleft_entry. db = fom_beta_quotient_pfp_proper_left_add_wbleft_entry * S ((S (fom_index_pfp_proper_left_add_wbleft)) * dc) + (fom_value_pfp_proper_left_add_wbleft))) /\ (exists fom_gap_pfp_proper_left_add_wbleft_value_bound. fom_gap_pfp_proper_left_add_wbleft_value_bound + S (fom_value_pfp_proper_left_add_wbleft) = p))) /\ (((forall fom_index_pfp_proper_left_add_wbright. (exists fom_gap_pfp_proper_left_add_wbright_index_bound. fom_gap_pfp_proper_left_add_wbright_index_bound + S (fom_index_pfp_proper_left_add_wbright) = L) -> exists fom_value_pfp_proper_left_add_wbright. ((((exists fom_beta_height_pfp_proper_left_add_wbright_entry. fom_beta_height_pfp_proper_left_add_wbright_entry + S (fom_value_pfp_proper_left_add_wbright) = S ((S (fom_index_pfp_proper_left_add_wbright)) * cc)) /\ exists fom_beta_quotient_pfp_proper_left_add_wbright_entry. cb = fom_beta_quotient_pfp_proper_left_add_wbright_entry * S ((S (fom_index_pfp_proper_left_add_wbright)) * cc) + (fom_value_pfp_proper_left_add_wbright))) /\ (exists fom_gap_pfp_proper_left_add_wbright_value_bound. fom_gap_pfp_proper_left_add_wbright_value_bound + S (fom_value_pfp_proper_left_add_wbright) = p))) /\ (((((((M)=0 \/ (L)=0) /\ (((N)=0)))) \/ (((~((M)=0)) /\ (((~((L)=0)) /\ (((M)+(L)=S (N)))))))) /\ ((forall pfc_index_proper_left_add_wbcoefficients. (exists pfa_gap_proper_left_add_wbcoefficientsbound. pfa_gap_proper_left_add_wbcoefficientsbound + S (pfc_index_proper_left_add_wbcoefficients) = (N)) -> exists pfc_value_proper_left_add_wbcoefficients. ((((exists ff_h_pfp_proper_left_add_wbcoefficientsentry. ff_h_pfp_proper_left_add_wbcoefficientsentry + S (pfc_value_proper_left_add_wbcoefficients) = S ((S (pfc_index_proper_left_add_wbcoefficients)) * wc)) /\ exists ff_q_pfp_proper_left_add_wbcoefficientsentry. wb = ff_q_pfp_proper_left_add_wbcoefficientsentry * S ((S (pfc_index_proper_left_add_wbcoefficients)) * wc) + (pfc_value_proper_left_add_wbcoefficients))) /\ ((exists pfc_terms_code_proper_left_add_wbcoefficientscoefficient pfc_terms_scale_proper_left_add_wbcoefficientscoefficient pfc_natural_sum_proper_left_add_wbcoefficientscoefficient. ((forall pfc_index_proper_left_add_wbcoefficientscoefficientdiagonal. (exists pfa_gap_proper_left_add_wbcoefficientscoefficientdiagonalbound. pfa_gap_proper_left_add_wbcoefficientscoefficientdiagonalbound + S (pfc_index_proper_left_add_wbcoefficientscoefficientdiagonal) = (S (pfc_index_proper_left_add_wbcoefficients))) -> exists pfc_value_proper_left_add_wbcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_proper_left_add_wbcoefficientscoefficientdiagonalentry. ff_h_pfp_proper_left_add_wbcoefficientscoefficientdiagonalentry + S (pfc_value_proper_left_add_wbcoefficientscoefficientdiagonal) = S ((S (pfc_index_proper_left_add_wbcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_left_add_wbcoefficientscoefficient)) /\ exists ff_q_pfp_proper_left_add_wbcoefficientscoefficientdiagonalentry. pfc_terms_code_proper_left_add_wbcoefficientscoefficient = ff_q_pfp_proper_left_add_wbcoefficientscoefficientdiagonalentry * S ((S (pfc_index_proper_left_add_wbcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_left_add_wbcoefficientscoefficient) + (pfc_value_proper_left_add_wbcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_proper_left_add_wbcoefficientscoefficientdiagonalterm pfc_left_proper_left_add_wbcoefficientscoefficientdiagonalterm pfc_right_proper_left_add_wbcoefficientscoefficientdiagonalterm. (((pfc_index_proper_left_add_wbcoefficientscoefficientdiagonal)+pfc_complement_proper_left_add_wbcoefficientscoefficientdiagonalterm=(pfc_index_proper_left_add_wbcoefficients)) /\ ((((((exists pfa_gap_proper_left_add_wbcoefficientscoefficientdiagonaltermleftinside. pfa_gap_proper_left_add_wbcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_proper_left_add_wbcoefficientscoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_proper_left_add_wbcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_proper_left_add_wbcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_proper_left_add_wbcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_proper_left_add_wbcoefficientscoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_proper_left_add_wbcoefficientscoefficientdiagonaltermleftentry. db = ff_q_pfp_proper_left_add_wbcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_proper_left_add_wbcoefficientscoefficientdiagonal)) * dc) + (pfc_left_proper_left_add_wbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_left_add_wbcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_proper_left_add_wbcoefficientscoefficientdiagonaltermleftoutside+(M)=(pfc_index_proper_left_add_wbcoefficientscoefficientdiagonal)) /\ (((pfc_left_proper_left_add_wbcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_proper_left_add_wbcoefficientscoefficientdiagonaltermrightinside. pfa_gap_proper_left_add_wbcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_proper_left_add_wbcoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_proper_left_add_wbcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_proper_left_add_wbcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_proper_left_add_wbcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_proper_left_add_wbcoefficientscoefficientdiagonalterm)) * cc)) /\ exists ff_q_pfp_proper_left_add_wbcoefficientscoefficientdiagonaltermrightentry. cb = ff_q_pfp_proper_left_add_wbcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_proper_left_add_wbcoefficientscoefficientdiagonalterm)) * cc) + (pfc_right_proper_left_add_wbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_left_add_wbcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_proper_left_add_wbcoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_proper_left_add_wbcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_proper_left_add_wbcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_proper_left_add_wbcoefficientscoefficientdiagonal)=pfc_left_proper_left_add_wbcoefficientscoefficientdiagonalterm*pfc_right_proper_left_add_wbcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_proper_left_add_wbcoefficientscoefficientsum fs_v_pfc_proper_left_add_wbcoefficientscoefficientsum. ((((exists fs_h_pfc_proper_left_add_wbcoefficientscoefficientsum_body_start. fs_h_pfc_proper_left_add_wbcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_proper_left_add_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_wbcoefficientscoefficientsum_body_start. fs_u_pfc_proper_left_add_wbcoefficientscoefficientsum = fs_q_pfc_proper_left_add_wbcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_proper_left_add_wbcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_proper_left_add_wbcoefficientscoefficientsum_body_terminal. fs_h_pfc_proper_left_add_wbcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_proper_left_add_wbcoefficientscoefficient) = S ((S (S (pfc_index_proper_left_add_wbcoefficients))) * fs_v_pfc_proper_left_add_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_wbcoefficientscoefficientsum_body_terminal. fs_u_pfc_proper_left_add_wbcoefficientscoefficientsum = fs_q_pfc_proper_left_add_wbcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_proper_left_add_wbcoefficients))) * fs_v_pfc_proper_left_add_wbcoefficientscoefficientsum) + (pfc_natural_sum_proper_left_add_wbcoefficientscoefficient))) /\ forall fs_i_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps = S (pfc_index_proper_left_add_wbcoefficients)) -> exists fs_a_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps fs_r_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps fs_s_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_left_add_wbcoefficientscoefficient)) /\ exists fs_q_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_proper_left_add_wbcoefficientscoefficient = fs_q_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_left_add_wbcoefficientscoefficient) + (fs_a_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_proper_left_add_wbcoefficientscoefficientsum = fs_q_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_wbcoefficientscoefficientsum) + (fs_r_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_proper_left_add_wbcoefficientscoefficientsum = fs_q_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_left_add_wbcoefficientscoefficientsum) + (fs_s_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps = fs_r_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps + fs_a_pfc_proper_left_add_wbcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_proper_left_add_wbcoefficientscoefficientresiduebound. pfa_gap_proper_left_add_wbcoefficientscoefficientresiduebound + S (pfc_value_proper_left_add_wbcoefficients) = (p)) /\ ((exists pfa_offset_left_proper_left_add_wbcoefficientscoefficientresiduecongruence pfa_offset_right_proper_left_add_wbcoefficientscoefficientresiduecongruence. (pfc_natural_sum_proper_left_add_wbcoefficientscoefficient) + (p) * pfa_offset_left_proper_left_add_wbcoefficientscoefficientresiduecongruence = (pfc_value_proper_left_add_wbcoefficients) + (p) * pfa_offset_right_proper_left_add_wbcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfp_index_proper_left_add_result. (exists pfa_gap_proper_left_add_resultindex. pfa_gap_proper_left_add_resultindex + S (pfp_index_proper_left_add_result) = (N)) -> exists pfp_left_proper_left_add_result pfp_right_proper_left_add_result pfp_value_proper_left_add_result. ((((exists ff_h_pfp_proper_left_add_resultleft. ff_h_pfp_proper_left_add_resultleft + S (pfp_left_proper_left_add_result) = S ((S (pfp_index_proper_left_add_result)) * uc)) /\ exists ff_q_pfp_proper_left_add_resultleft. ub = ff_q_pfp_proper_left_add_resultleft * S ((S (pfp_index_proper_left_add_result)) * uc) + (pfp_left_proper_left_add_result))) /\ (((((exists ff_h_pfp_proper_left_add_resultright. ff_h_pfp_proper_left_add_resultright + S (pfp_right_proper_left_add_result) = S ((S (pfp_index_proper_left_add_result)) * vc)) /\ exists ff_q_pfp_proper_left_add_resultright. vb = ff_q_pfp_proper_left_add_resultright * S ((S (pfp_index_proper_left_add_result)) * vc) + (pfp_right_proper_left_add_result))) /\ (((((exists ff_h_pfp_proper_left_add_resulttarget. ff_h_pfp_proper_left_add_resulttarget + S (pfp_value_proper_left_add_result) = S ((S (pfp_index_proper_left_add_result)) * wc)) /\ exists ff_q_pfp_proper_left_add_resulttarget. wb = ff_q_pfp_proper_left_add_resulttarget * S ((S (pfp_index_proper_left_add_result)) * wc) + (pfp_value_proper_left_add_result))) /\ ((((exists pfa_gap_proper_left_add_resultoperationleft. pfa_gap_proper_left_add_resultoperationleft + S (pfp_left_proper_left_add_result) = (p)) /\ (((exists pfa_gap_proper_left_add_resultoperationright. pfa_gap_proper_left_add_resultoperationright + S (pfp_right_proper_left_add_result) = (p)) /\ ((((exists pfa_gap_proper_left_add_resultoperationresultbound. pfa_gap_proper_left_add_resultoperationresultbound + S (pfp_value_proper_left_add_result) = (p)) /\ ((exists pfa_offset_left_proper_left_add_resultoperationresultcongruence pfa_offset_right_proper_left_add_resultoperationresultcongruence. ((pfp_left_proper_left_add_result) + (pfp_right_proper_left_add_result)) + (p) * pfa_offset_left_proper_left_add_resultoperationresultcongruence = (pfp_value_proper_left_add_result) + (p) * pfa_offset_right_proper_left_add_resultoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro ubintro ucintro vbintro vcintro wbintro wcintro Nintro hsintro huintro hvintro hwcases hucases hu_rightcases hu_right_rightcases hvcases hv_rightcases hv_right_rightcases hwcases hw_rightcases hw_right_rightspecialize prime_field_convolution_prefix_left_add (p)specialize prime_field_convolution_prefix_left_add (ab)specialize prime_field_convolution_prefix_left_add (ac)specialize prime_field_convolution_prefix_left_add (bb)specialize prime_field_convolution_prefix_left_add (bc)specialize prime_field_convolution_prefix_left_add (cb)specialize prime_field_convolution_prefix_left_add (cc)specialize prime_field_convolution_prefix_left_add (L)specialize prime_field_convolution_prefix_left_add (db)specialize prime_field_convolution_prefix_left_add (dc)specialize prime_field_convolution_prefix_left_add (M)specialize prime_field_convolution_prefix_left_add (ub)specialize prime_field_convolution_prefix_left_add (uc)specialize prime_field_convolution_prefix_left_add (vb)specialize prime_field_convolution_prefix_left_add (vc)specialize prime_field_convolution_prefix_left_add (wb)specialize prime_field_convolution_prefix_left_add (wc)specialize prime_field_convolution_prefix_left_add (N)apply prime_field_convolution_prefix_left_addexact hsexact hu_right_right_rightexact hv_right_right_rightexact hw_right_right_right
prime_field_polynomial_power_index_before_padding · unchanged support, not a new admission
forall t L i k. i+S k=t+L -> (exists pfrep_gap_power_before_outside. pfrep_gap_power_before_outside+(L)=(k)) -> (exists pfa_gap_power_before_result. pfa_gap_power_before_result + S (i) = (t))
intro tintro Lintro iintro kintro hiintro hkhave ho : (exists pfrep_gap_power_pad_ge. pfrep_gap_power_pad_ge+(t)=(i)) \/ (exists pfa_gap_power_pad_lt. pfa_gap_power_pad_lt + S (i) = (t))specialize le_or_lt (t)specialize le_or_lt (i)apply le_or_ltcases hocases ho_lefthave hbad : exists pfa_gap_power_pad_contradiction. pfa_gap_power_pad_contradiction + S (k) = (L)exists xspecialize add_left_cancel (t)specialize add_left_cancel (x+S k)specialize add_left_cancel (L)apply add_left_canceltrans (t+x)+S ksymmapply add_assochave heq : t+x=itrans x+tapply add_commexact ho_left_witnessrewrite heqexact hiexfalsospecialize lt_not_le (k)specialize lt_not_le (L)apply lt_not_leexact hbadexact hkexact ho_right
prime_field_polynomial_left_pad_power_coefficient · unchanged support, not a new admission
forall b c L t d e k a. (((forall pfp_repeat_index_pad_power_graphzeros. (exists pfa_gap_pad_power_graphzerosindex. pfa_gap_pad_power_graphzerosindex + S (pfp_repeat_index_pad_power_graphzeros) = (t)) -> (((exists ff_h_pfp_pad_power_graphzerosentry. ff_h_pfp_pad_power_graphzerosentry + S (0) = S ((S (pfp_repeat_index_pad_power_graphzeros)) * e)) /\ exists ff_q_pfp_pad_power_graphzerosentry. d = ff_q_pfp_pad_power_graphzerosentry * S ((S (pfp_repeat_index_pad_power_graphzeros)) * e) + (0)))) /\ ((forall pfrep_index_pad_power_graph pfrep_value_pad_power_graph. (exists pfa_gap_pad_power_graphbound. pfa_gap_pad_power_graphbound + S (pfrep_index_pad_power_graph) = (L)) -> (((exists ff_h_pfp_pad_power_graphinput. ff_h_pfp_pad_power_graphinput + S (pfrep_value_pad_power_graph) = S ((S (pfrep_index_pad_power_graph)) * c)) /\ exists ff_q_pfp_pad_power_graphinput. b = ff_q_pfp_pad_power_graphinput * S ((S (pfrep_index_pad_power_graph)) * c) + (pfrep_value_pad_power_graph))) -> (((exists ff_h_pfp_pad_power_graphoutput. ff_h_pfp_pad_power_graphoutput + S (pfrep_value_pad_power_graph) = S ((S ((t)+pfrep_index_pad_power_graph)) * e)) /\ exists ff_q_pfp_pad_power_graphoutput. d = ff_q_pfp_pad_power_graphoutput * S ((S ((t)+pfrep_index_pad_power_graph)) * e) + (pfrep_value_pad_power_graph))))))) -> ((exists pfrep_position_pad_power_source. ((pfrep_position_pad_power_source+S (k)=(L)) /\ ((((exists ff_h_pfp_pad_power_sourceentry. ff_h_pfp_pad_power_sourceentry + S (a) = S ((S (pfrep_position_pad_power_source)) * c)) /\ exists ff_q_pfp_pad_power_sourceentry. b = ff_q_pfp_pad_power_sourceentry * S ((S (pfrep_position_pad_power_source)) * c) + (a)))))) \/ (((exists pfrep_gap_pad_power_sourceoutside. pfrep_gap_pad_power_sourceoutside+(L)=(k)) /\ (((a)=0))))) -> ((exists pfrep_position_pad_power_result. ((pfrep_position_pad_power_result+S (k)=(t+L)) /\ ((((exists ff_h_pfp_pad_power_resultentry. ff_h_pfp_pad_power_resultentry + S (a) = S ((S (pfrep_position_pad_power_result)) * e)) /\ exists ff_q_pfp_pad_power_resultentry. d = ff_q_pfp_pad_power_resultentry * S ((S (pfrep_position_pad_power_result)) * e) + (a)))))) \/ (((exists pfrep_gap_pad_power_resultoutside. pfrep_gap_pad_power_resultoutside+(t+L)=(k)) /\ (((a)=0)))))
intro bintro cintro Lintro tintro dintro eintro kintro aintro hintro hacases hcases hacases ha_leftcases ha_left_witnessleftexists t+xsplittrans t+(x+S k)apply add_assocrewrite ha_left_witness_leftreflspecialize h_right (x)specialize h_right (a)apply h_rightspecialize prime_field_polynomial_power_index_bound (x)specialize prime_field_polynomial_power_index_bound (k)specialize prime_field_polynomial_power_index_bound (L)apply prime_field_polynomial_power_index_boundexact ha_left_witness_leftexact ha_left_witness_rightcases ha_righthave ho : (exists pfrep_gap_pad_power_outside. pfrep_gap_pad_power_outside+(t+L)=(k)) \/ (exists pfa_gap_pad_power_inside. pfa_gap_pad_power_inside + S (k) = (t+L))specialize le_or_lt (t+L)specialize le_or_lt (k)apply le_or_ltcases horightsplitexact ho_leftexact ha_right_rightcases ho_rightleftexists xsplitexact ho_right_witnessrewrite ha_right_rightrewrite ha_right_rightspecialize h_left (x)apply h_leftspecialize prime_field_polynomial_power_index_before_padding (t)specialize prime_field_polynomial_power_index_before_padding (L)specialize prime_field_polynomial_power_index_before_padding (x)specialize prime_field_polynomial_power_index_before_padding (k)apply prime_field_polynomial_power_index_before_paddingexact ho_right_witnessexact ha_right_left
prime_field_polynomial_left_pad_equivalent · unchanged support, not a new admission
forall b c L t d e. (((forall pfp_repeat_index_pad_equivalent_sourcezeros. (exists pfa_gap_pad_equivalent_sourcezerosindex. pfa_gap_pad_equivalent_sourcezerosindex + S (pfp_repeat_index_pad_equivalent_sourcezeros) = (t)) -> (((exists ff_h_pfp_pad_equivalent_sourcezerosentry. ff_h_pfp_pad_equivalent_sourcezerosentry + S (0) = S ((S (pfp_repeat_index_pad_equivalent_sourcezeros)) * e)) /\ exists ff_q_pfp_pad_equivalent_sourcezerosentry. d = ff_q_pfp_pad_equivalent_sourcezerosentry * S ((S (pfp_repeat_index_pad_equivalent_sourcezeros)) * e) + (0)))) /\ ((forall pfrep_index_pad_equivalent_source pfrep_value_pad_equivalent_source. (exists pfa_gap_pad_equivalent_sourcebound. pfa_gap_pad_equivalent_sourcebound + S (pfrep_index_pad_equivalent_source) = (L)) -> (((exists ff_h_pfp_pad_equivalent_sourceinput. ff_h_pfp_pad_equivalent_sourceinput + S (pfrep_value_pad_equivalent_source) = S ((S (pfrep_index_pad_equivalent_source)) * c)) /\ exists ff_q_pfp_pad_equivalent_sourceinput. b = ff_q_pfp_pad_equivalent_sourceinput * S ((S (pfrep_index_pad_equivalent_source)) * c) + (pfrep_value_pad_equivalent_source))) -> (((exists ff_h_pfp_pad_equivalent_sourceoutput. ff_h_pfp_pad_equivalent_sourceoutput + S (pfrep_value_pad_equivalent_source) = S ((S ((t)+pfrep_index_pad_equivalent_source)) * e)) /\ exists ff_q_pfp_pad_equivalent_sourceoutput. d = ff_q_pfp_pad_equivalent_sourceoutput * S ((S ((t)+pfrep_index_pad_equivalent_source)) * e) + (pfrep_value_pad_equivalent_source))))))) -> (forall pfrep_power_pad_equivalent_result pfrep_left_pad_equivalent_result pfrep_right_pad_equivalent_result. ((exists pfrep_position_pad_equivalent_resultfirst. ((pfrep_position_pad_equivalent_resultfirst+S (pfrep_power_pad_equivalent_result)=(L)) /\ ((((exists ff_h_pfp_pad_equivalent_resultfirstentry. ff_h_pfp_pad_equivalent_resultfirstentry + S (pfrep_left_pad_equivalent_result) = S ((S (pfrep_position_pad_equivalent_resultfirst)) * c)) /\ exists ff_q_pfp_pad_equivalent_resultfirstentry. b = ff_q_pfp_pad_equivalent_resultfirstentry * S ((S (pfrep_position_pad_equivalent_resultfirst)) * c) + (pfrep_left_pad_equivalent_result)))))) \/ (((exists pfrep_gap_pad_equivalent_resultfirstoutside. pfrep_gap_pad_equivalent_resultfirstoutside+(L)=(pfrep_power_pad_equivalent_result)) /\ (((pfrep_left_pad_equivalent_result)=0))))) -> ((exists pfrep_position_pad_equivalent_resultsecond. ((pfrep_position_pad_equivalent_resultsecond+S (pfrep_power_pad_equivalent_result)=(t+L)) /\ ((((exists ff_h_pfp_pad_equivalent_resultsecondentry. ff_h_pfp_pad_equivalent_resultsecondentry + S (pfrep_right_pad_equivalent_result) = S ((S (pfrep_position_pad_equivalent_resultsecond)) * e)) /\ exists ff_q_pfp_pad_equivalent_resultsecondentry. d = ff_q_pfp_pad_equivalent_resultsecondentry * S ((S (pfrep_position_pad_equivalent_resultsecond)) * e) + (pfrep_right_pad_equivalent_result)))))) \/ (((exists pfrep_gap_pad_equivalent_resultsecondoutside. pfrep_gap_pad_equivalent_resultsecondoutside+(t+L)=(pfrep_power_pad_equivalent_result)) /\ (((pfrep_right_pad_equivalent_result)=0))))) -> pfrep_left_pad_equivalent_result=pfrep_right_pad_equivalent_result)
intro bintro cintro Lintro tintro dintro eintro hintro kintro aintro rintro haintro hrspecialize prime_field_polynomial_power_coefficient_functional (d)specialize prime_field_polynomial_power_coefficient_functional (e)specialize prime_field_polynomial_power_coefficient_functional (t+L)specialize prime_field_polynomial_power_coefficient_functional (k)specialize prime_field_polynomial_power_coefficient_functional (a)specialize prime_field_polynomial_power_coefficient_functional (r)apply prime_field_polynomial_power_coefficient_functionalspecialize prime_field_polynomial_left_pad_power_coefficient (b)specialize prime_field_polynomial_left_pad_power_coefficient (c)specialize prime_field_polynomial_left_pad_power_coefficient (L)specialize prime_field_polynomial_left_pad_power_coefficient (t)specialize prime_field_polynomial_left_pad_power_coefficient (d)specialize prime_field_polynomial_left_pad_power_coefficient (e)specialize prime_field_polynomial_left_pad_power_coefficient (k)specialize prime_field_polynomial_left_pad_power_coefficient (a)apply prime_field_polynomial_left_pad_power_coefficientexact hexact haexact hr
polynomial_diagonal_left_prefix_transport · unchanged support, not a new admission
forall ab ac L AB AC K bb bc M N i j t. (exists pfc_gap_tri_term_old_length. pfc_gap_tri_term_old_length+(N)=(L)) -> (exists pfc_gap_tri_term_new_length. pfc_gap_tri_term_new_length+(N)=(K)) -> (forall mdr_i_pfp_tri_term_equal mdr_a_pfp_tri_term_equal. (exists mdr_gap_pfp_tri_term_equalb. mdr_gap_pfp_tri_term_equalb + S (mdr_i_pfp_tri_term_equal) = (N)) -> (((exists ff_h_mdr_pfp_tri_term_equalo. ff_h_mdr_pfp_tri_term_equalo + S (mdr_a_pfp_tri_term_equal) = S ((S (mdr_i_pfp_tri_term_equal)) * ac)) /\ exists ff_q_mdr_pfp_tri_term_equalo. ab = ff_q_mdr_pfp_tri_term_equalo * S ((S (mdr_i_pfp_tri_term_equal)) * ac) + (mdr_a_pfp_tri_term_equal))) -> (((exists ff_h_mdr_pfp_tri_term_equaln. ff_h_mdr_pfp_tri_term_equaln + S (mdr_a_pfp_tri_term_equal) = S ((S (mdr_i_pfp_tri_term_equal)) * AC)) /\ exists ff_q_mdr_pfp_tri_term_equaln. AB = ff_q_mdr_pfp_tri_term_equaln * S ((S (mdr_i_pfp_tri_term_equal)) * AC) + (mdr_a_pfp_tri_term_equal)))) -> (exists pfa_gap_tri_term_index. pfa_gap_tri_term_index + S (j) = (N)) -> (exists pfc_complement_tri_term_old pfc_left_tri_term_old pfc_right_tri_term_old. (((j)+pfc_complement_tri_term_old=(i)) /\ ((((((exists pfa_gap_tri_term_oldleftinside. pfa_gap_tri_term_oldleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_tri_term_oldleftentry. ff_h_pfp_tri_term_oldleftentry + S (pfc_left_tri_term_old) = S ((S (j)) * ac)) /\ exists ff_q_pfp_tri_term_oldleftentry. ab = ff_q_pfp_tri_term_oldleftentry * S ((S (j)) * ac) + (pfc_left_tri_term_old)))))) \/ (((exists pfc_gap_tri_term_oldleftoutside. pfc_gap_tri_term_oldleftoutside+(L)=(j)) /\ (((pfc_left_tri_term_old)=0))))) /\ ((((((exists pfa_gap_tri_term_oldrightinside. pfa_gap_tri_term_oldrightinside + S (pfc_complement_tri_term_old) = (M)) /\ ((((exists ff_h_pfp_tri_term_oldrightentry. ff_h_pfp_tri_term_oldrightentry + S (pfc_right_tri_term_old) = S ((S (pfc_complement_tri_term_old)) * bc)) /\ exists ff_q_pfp_tri_term_oldrightentry. bb = ff_q_pfp_tri_term_oldrightentry * S ((S (pfc_complement_tri_term_old)) * bc) + (pfc_right_tri_term_old)))))) \/ (((exists pfc_gap_tri_term_oldrightoutside. pfc_gap_tri_term_oldrightoutside+(M)=(pfc_complement_tri_term_old)) /\ (((pfc_right_tri_term_old)=0))))) /\ (((t)=pfc_left_tri_term_old*pfc_right_tri_term_old)))))))) -> (exists pfc_complement_tri_term_new pfc_left_tri_term_new pfc_right_tri_term_new. (((j)+pfc_complement_tri_term_new=(i)) /\ ((((((exists pfa_gap_tri_term_newleftinside. pfa_gap_tri_term_newleftinside + S (j) = (K)) /\ ((((exists ff_h_pfp_tri_term_newleftentry. ff_h_pfp_tri_term_newleftentry + S (pfc_left_tri_term_new) = S ((S (j)) * AC)) /\ exists ff_q_pfp_tri_term_newleftentry. AB = ff_q_pfp_tri_term_newleftentry * S ((S (j)) * AC) + (pfc_left_tri_term_new)))))) \/ (((exists pfc_gap_tri_term_newleftoutside. pfc_gap_tri_term_newleftoutside+(K)=(j)) /\ (((pfc_left_tri_term_new)=0))))) /\ ((((((exists pfa_gap_tri_term_newrightinside. pfa_gap_tri_term_newrightinside + S (pfc_complement_tri_term_new) = (M)) /\ ((((exists ff_h_pfp_tri_term_newrightentry. ff_h_pfp_tri_term_newrightentry + S (pfc_right_tri_term_new) = S ((S (pfc_complement_tri_term_new)) * bc)) /\ exists ff_q_pfp_tri_term_newrightentry. bb = ff_q_pfp_tri_term_newrightentry * S ((S (pfc_complement_tri_term_new)) * bc) + (pfc_right_tri_term_new)))))) \/ (((exists pfc_gap_tri_term_newrightoutside. pfc_gap_tri_term_newrightoutside+(M)=(pfc_complement_tri_term_new)) /\ (((pfc_right_tri_term_new)=0))))) /\ (((t)=pfc_left_tri_term_new*pfc_right_tri_term_new))))))))
intro abintro acintro Lintro ABintro ACintro Kintro bbintro bcintro Mintro Nintro iintro jintro tintro hlintro hkintro heintro hjintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_righthave hjl : exists pfa_gap_tri_term_inside_old. pfa_gap_tri_term_inside_old + S (j) = (L)specialize lt_of_lt_of_le (j)specialize lt_of_lt_of_le (N)specialize lt_of_lt_of_le (L)apply lt_of_lt_of_leexact hjexact hlhave hjk : exists pfa_gap_tri_term_inside_new. pfa_gap_tri_term_inside_new + S (j) = (K)specialize lt_of_lt_of_le (j)specialize lt_of_lt_of_le (N)specialize lt_of_lt_of_le (K)apply lt_of_lt_of_leexact hjexact hkhave ha : ((exists ff_h_pfp_tri_term_source_entry. ff_h_pfp_tri_term_source_entry + S (x1) = S ((S (j)) * ac)) /\ exists ff_q_pfp_tri_term_source_entry. ab = ff_q_pfp_tri_term_source_entry * S ((S (j)) * ac) + (x1))specialize polynomial_zero_extended_entry_inside (ab)specialize polynomial_zero_extended_entry_inside (ac)specialize polynomial_zero_extended_entry_inside (L)specialize polynomial_zero_extended_entry_inside (j)specialize polynomial_zero_extended_entry_inside (x1)apply polynomial_zero_extended_entry_insideexact hjlexact ht_witness_witness_witness_right_leftexists xexists x1exists x2splitexact ht_witness_witness_witness_leftsplitleftsplitexact hjkspecialize he (j)specialize he (x1)apply heexact hjexact hasplitexact ht_witness_witness_witness_right_right_leftexact ht_witness_witness_witness_right_right_right
prime_field_convolution_coefficient_prefix_transport · unchanged support, not a new admission
forall p ab ac L AB AC K bb bc M N i r. (exists pfc_gap_tri_coefficient_old_length. pfc_gap_tri_coefficient_old_length+(N)=(L)) -> (exists pfc_gap_tri_coefficient_new_length. pfc_gap_tri_coefficient_new_length+(N)=(K)) -> (forall mdr_i_pfp_tri_coefficient_equal mdr_a_pfp_tri_coefficient_equal. (exists mdr_gap_pfp_tri_coefficient_equalb. mdr_gap_pfp_tri_coefficient_equalb + S (mdr_i_pfp_tri_coefficient_equal) = (N)) -> (((exists ff_h_mdr_pfp_tri_coefficient_equalo. ff_h_mdr_pfp_tri_coefficient_equalo + S (mdr_a_pfp_tri_coefficient_equal) = S ((S (mdr_i_pfp_tri_coefficient_equal)) * ac)) /\ exists ff_q_mdr_pfp_tri_coefficient_equalo. ab = ff_q_mdr_pfp_tri_coefficient_equalo * S ((S (mdr_i_pfp_tri_coefficient_equal)) * ac) + (mdr_a_pfp_tri_coefficient_equal))) -> (((exists ff_h_mdr_pfp_tri_coefficient_equaln. ff_h_mdr_pfp_tri_coefficient_equaln + S (mdr_a_pfp_tri_coefficient_equal) = S ((S (mdr_i_pfp_tri_coefficient_equal)) * AC)) /\ exists ff_q_mdr_pfp_tri_coefficient_equaln. AB = ff_q_mdr_pfp_tri_coefficient_equaln * S ((S (mdr_i_pfp_tri_coefficient_equal)) * AC) + (mdr_a_pfp_tri_coefficient_equal)))) -> (exists pfa_gap_tri_coefficient_index. pfa_gap_tri_coefficient_index + S (i) = (N)) -> (exists pfc_terms_code_tri_coefficient_old pfc_terms_scale_tri_coefficient_old pfc_natural_sum_tri_coefficient_old. ((forall pfc_index_tri_coefficient_olddiagonal. (exists pfa_gap_tri_coefficient_olddiagonalbound. pfa_gap_tri_coefficient_olddiagonalbound + S (pfc_index_tri_coefficient_olddiagonal) = (S (i))) -> exists pfc_value_tri_coefficient_olddiagonal. ((((exists ff_h_pfp_tri_coefficient_olddiagonalentry. ff_h_pfp_tri_coefficient_olddiagonalentry + S (pfc_value_tri_coefficient_olddiagonal) = S ((S (pfc_index_tri_coefficient_olddiagonal)) * pfc_terms_scale_tri_coefficient_old)) /\ exists ff_q_pfp_tri_coefficient_olddiagonalentry. pfc_terms_code_tri_coefficient_old = ff_q_pfp_tri_coefficient_olddiagonalentry * S ((S (pfc_index_tri_coefficient_olddiagonal)) * pfc_terms_scale_tri_coefficient_old) + (pfc_value_tri_coefficient_olddiagonal))) /\ ((exists pfc_complement_tri_coefficient_olddiagonalterm pfc_left_tri_coefficient_olddiagonalterm pfc_right_tri_coefficient_olddiagonalterm. (((pfc_index_tri_coefficient_olddiagonal)+pfc_complement_tri_coefficient_olddiagonalterm=(i)) /\ ((((((exists pfa_gap_tri_coefficient_olddiagonaltermleftinside. pfa_gap_tri_coefficient_olddiagonaltermleftinside + S (pfc_index_tri_coefficient_olddiagonal) = (L)) /\ ((((exists ff_h_pfp_tri_coefficient_olddiagonaltermleftentry. ff_h_pfp_tri_coefficient_olddiagonaltermleftentry + S (pfc_left_tri_coefficient_olddiagonalterm) = S ((S (pfc_index_tri_coefficient_olddiagonal)) * ac)) /\ exists ff_q_pfp_tri_coefficient_olddiagonaltermleftentry. ab = ff_q_pfp_tri_coefficient_olddiagonaltermleftentry * S ((S (pfc_index_tri_coefficient_olddiagonal)) * ac) + (pfc_left_tri_coefficient_olddiagonalterm)))))) \/ (((exists pfc_gap_tri_coefficient_olddiagonaltermleftoutside. pfc_gap_tri_coefficient_olddiagonaltermleftoutside+(L)=(pfc_index_tri_coefficient_olddiagonal)) /\ (((pfc_left_tri_coefficient_olddiagonalterm)=0))))) /\ ((((((exists pfa_gap_tri_coefficient_olddiagonaltermrightinside. pfa_gap_tri_coefficient_olddiagonaltermrightinside + S (pfc_complement_tri_coefficient_olddiagonalterm) = (M)) /\ ((((exists ff_h_pfp_tri_coefficient_olddiagonaltermrightentry. ff_h_pfp_tri_coefficient_olddiagonaltermrightentry + S (pfc_right_tri_coefficient_olddiagonalterm) = S ((S (pfc_complement_tri_coefficient_olddiagonalterm)) * bc)) /\ exists ff_q_pfp_tri_coefficient_olddiagonaltermrightentry. bb = ff_q_pfp_tri_coefficient_olddiagonaltermrightentry * S ((S (pfc_complement_tri_coefficient_olddiagonalterm)) * bc) + (pfc_right_tri_coefficient_olddiagonalterm)))))) \/ (((exists pfc_gap_tri_coefficient_olddiagonaltermrightoutside. pfc_gap_tri_coefficient_olddiagonaltermrightoutside+(M)=(pfc_complement_tri_coefficient_olddiagonalterm)) /\ (((pfc_right_tri_coefficient_olddiagonalterm)=0))))) /\ (((pfc_value_tri_coefficient_olddiagonal)=pfc_left_tri_coefficient_olddiagonalterm*pfc_right_tri_coefficient_olddiagonalterm))))))))))) /\ (((exists fs_u_pfc_tri_coefficient_oldsum fs_v_pfc_tri_coefficient_oldsum. ((((exists fs_h_pfc_tri_coefficient_oldsum_body_start. fs_h_pfc_tri_coefficient_oldsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_tri_coefficient_oldsum)) /\ exists fs_q_pfc_tri_coefficient_oldsum_body_start. fs_u_pfc_tri_coefficient_oldsum = fs_q_pfc_tri_coefficient_oldsum_body_start * S ((S (0)) * fs_v_pfc_tri_coefficient_oldsum) + (0))) /\ ((((exists fs_h_pfc_tri_coefficient_oldsum_body_terminal. fs_h_pfc_tri_coefficient_oldsum_body_terminal + S (pfc_natural_sum_tri_coefficient_old) = S ((S (S (i))) * fs_v_pfc_tri_coefficient_oldsum)) /\ exists fs_q_pfc_tri_coefficient_oldsum_body_terminal. fs_u_pfc_tri_coefficient_oldsum = fs_q_pfc_tri_coefficient_oldsum_body_terminal * S ((S (S (i))) * fs_v_pfc_tri_coefficient_oldsum) + (pfc_natural_sum_tri_coefficient_old))) /\ forall fs_i_pfc_tri_coefficient_oldsum_body_steps. (exists fs_lt_pfc_tri_coefficient_oldsum_body_steps_bound. fs_lt_pfc_tri_coefficient_oldsum_body_steps_bound + S fs_i_pfc_tri_coefficient_oldsum_body_steps = S (i)) -> exists fs_a_pfc_tri_coefficient_oldsum_body_steps fs_r_pfc_tri_coefficient_oldsum_body_steps fs_s_pfc_tri_coefficient_oldsum_body_steps. ((((exists fs_h_pfc_tri_coefficient_oldsum_body_steps_summand. fs_h_pfc_tri_coefficient_oldsum_body_steps_summand + S (fs_a_pfc_tri_coefficient_oldsum_body_steps) = S ((S (fs_i_pfc_tri_coefficient_oldsum_body_steps)) * pfc_terms_scale_tri_coefficient_old)) /\ exists fs_q_pfc_tri_coefficient_oldsum_body_steps_summand. pfc_terms_code_tri_coefficient_old = fs_q_pfc_tri_coefficient_oldsum_body_steps_summand * S ((S (fs_i_pfc_tri_coefficient_oldsum_body_steps)) * pfc_terms_scale_tri_coefficient_old) + (fs_a_pfc_tri_coefficient_oldsum_body_steps))) /\ ((((exists fs_h_pfc_tri_coefficient_oldsum_body_steps_partial. fs_h_pfc_tri_coefficient_oldsum_body_steps_partial + S (fs_r_pfc_tri_coefficient_oldsum_body_steps) = S ((S (fs_i_pfc_tri_coefficient_oldsum_body_steps)) * fs_v_pfc_tri_coefficient_oldsum)) /\ exists fs_q_pfc_tri_coefficient_oldsum_body_steps_partial. fs_u_pfc_tri_coefficient_oldsum = fs_q_pfc_tri_coefficient_oldsum_body_steps_partial * S ((S (fs_i_pfc_tri_coefficient_oldsum_body_steps)) * fs_v_pfc_tri_coefficient_oldsum) + (fs_r_pfc_tri_coefficient_oldsum_body_steps))) /\ ((((exists fs_h_pfc_tri_coefficient_oldsum_body_steps_successor. fs_h_pfc_tri_coefficient_oldsum_body_steps_successor + S (fs_s_pfc_tri_coefficient_oldsum_body_steps) = S ((S (S fs_i_pfc_tri_coefficient_oldsum_body_steps)) * fs_v_pfc_tri_coefficient_oldsum)) /\ exists fs_q_pfc_tri_coefficient_oldsum_body_steps_successor. fs_u_pfc_tri_coefficient_oldsum = fs_q_pfc_tri_coefficient_oldsum_body_steps_successor * S ((S (S fs_i_pfc_tri_coefficient_oldsum_body_steps)) * fs_v_pfc_tri_coefficient_oldsum) + (fs_s_pfc_tri_coefficient_oldsum_body_steps))) /\ fs_s_pfc_tri_coefficient_oldsum_body_steps = fs_r_pfc_tri_coefficient_oldsum_body_steps + fs_a_pfc_tri_coefficient_oldsum_body_steps)))))) /\ ((((exists pfa_gap_tri_coefficient_oldresiduebound. pfa_gap_tri_coefficient_oldresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_tri_coefficient_oldresiduecongruence pfa_offset_right_tri_coefficient_oldresiduecongruence. (pfc_natural_sum_tri_coefficient_old) + (p) * pfa_offset_left_tri_coefficient_oldresiduecongruence = (r) + (p) * pfa_offset_right_tri_coefficient_oldresiduecongruence))))))))) -> (exists pfc_terms_code_tri_coefficient_new pfc_terms_scale_tri_coefficient_new pfc_natural_sum_tri_coefficient_new. ((forall pfc_index_tri_coefficient_newdiagonal. (exists pfa_gap_tri_coefficient_newdiagonalbound. pfa_gap_tri_coefficient_newdiagonalbound + S (pfc_index_tri_coefficient_newdiagonal) = (S (i))) -> exists pfc_value_tri_coefficient_newdiagonal. ((((exists ff_h_pfp_tri_coefficient_newdiagonalentry. ff_h_pfp_tri_coefficient_newdiagonalentry + S (pfc_value_tri_coefficient_newdiagonal) = S ((S (pfc_index_tri_coefficient_newdiagonal)) * pfc_terms_scale_tri_coefficient_new)) /\ exists ff_q_pfp_tri_coefficient_newdiagonalentry. pfc_terms_code_tri_coefficient_new = ff_q_pfp_tri_coefficient_newdiagonalentry * S ((S (pfc_index_tri_coefficient_newdiagonal)) * pfc_terms_scale_tri_coefficient_new) + (pfc_value_tri_coefficient_newdiagonal))) /\ ((exists pfc_complement_tri_coefficient_newdiagonalterm pfc_left_tri_coefficient_newdiagonalterm pfc_right_tri_coefficient_newdiagonalterm. (((pfc_index_tri_coefficient_newdiagonal)+pfc_complement_tri_coefficient_newdiagonalterm=(i)) /\ ((((((exists pfa_gap_tri_coefficient_newdiagonaltermleftinside. pfa_gap_tri_coefficient_newdiagonaltermleftinside + S (pfc_index_tri_coefficient_newdiagonal) = (K)) /\ ((((exists ff_h_pfp_tri_coefficient_newdiagonaltermleftentry. ff_h_pfp_tri_coefficient_newdiagonaltermleftentry + S (pfc_left_tri_coefficient_newdiagonalterm) = S ((S (pfc_index_tri_coefficient_newdiagonal)) * AC)) /\ exists ff_q_pfp_tri_coefficient_newdiagonaltermleftentry. AB = ff_q_pfp_tri_coefficient_newdiagonaltermleftentry * S ((S (pfc_index_tri_coefficient_newdiagonal)) * AC) + (pfc_left_tri_coefficient_newdiagonalterm)))))) \/ (((exists pfc_gap_tri_coefficient_newdiagonaltermleftoutside. pfc_gap_tri_coefficient_newdiagonaltermleftoutside+(K)=(pfc_index_tri_coefficient_newdiagonal)) /\ (((pfc_left_tri_coefficient_newdiagonalterm)=0))))) /\ ((((((exists pfa_gap_tri_coefficient_newdiagonaltermrightinside. pfa_gap_tri_coefficient_newdiagonaltermrightinside + S (pfc_complement_tri_coefficient_newdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_tri_coefficient_newdiagonaltermrightentry. ff_h_pfp_tri_coefficient_newdiagonaltermrightentry + S (pfc_right_tri_coefficient_newdiagonalterm) = S ((S (pfc_complement_tri_coefficient_newdiagonalterm)) * bc)) /\ exists ff_q_pfp_tri_coefficient_newdiagonaltermrightentry. bb = ff_q_pfp_tri_coefficient_newdiagonaltermrightentry * S ((S (pfc_complement_tri_coefficient_newdiagonalterm)) * bc) + (pfc_right_tri_coefficient_newdiagonalterm)))))) \/ (((exists pfc_gap_tri_coefficient_newdiagonaltermrightoutside. pfc_gap_tri_coefficient_newdiagonaltermrightoutside+(M)=(pfc_complement_tri_coefficient_newdiagonalterm)) /\ (((pfc_right_tri_coefficient_newdiagonalterm)=0))))) /\ (((pfc_value_tri_coefficient_newdiagonal)=pfc_left_tri_coefficient_newdiagonalterm*pfc_right_tri_coefficient_newdiagonalterm))))))))))) /\ (((exists fs_u_pfc_tri_coefficient_newsum fs_v_pfc_tri_coefficient_newsum. ((((exists fs_h_pfc_tri_coefficient_newsum_body_start. fs_h_pfc_tri_coefficient_newsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_tri_coefficient_newsum)) /\ exists fs_q_pfc_tri_coefficient_newsum_body_start. fs_u_pfc_tri_coefficient_newsum = fs_q_pfc_tri_coefficient_newsum_body_start * S ((S (0)) * fs_v_pfc_tri_coefficient_newsum) + (0))) /\ ((((exists fs_h_pfc_tri_coefficient_newsum_body_terminal. fs_h_pfc_tri_coefficient_newsum_body_terminal + S (pfc_natural_sum_tri_coefficient_new) = S ((S (S (i))) * fs_v_pfc_tri_coefficient_newsum)) /\ exists fs_q_pfc_tri_coefficient_newsum_body_terminal. fs_u_pfc_tri_coefficient_newsum = fs_q_pfc_tri_coefficient_newsum_body_terminal * S ((S (S (i))) * fs_v_pfc_tri_coefficient_newsum) + (pfc_natural_sum_tri_coefficient_new))) /\ forall fs_i_pfc_tri_coefficient_newsum_body_steps. (exists fs_lt_pfc_tri_coefficient_newsum_body_steps_bound. fs_lt_pfc_tri_coefficient_newsum_body_steps_bound + S fs_i_pfc_tri_coefficient_newsum_body_steps = S (i)) -> exists fs_a_pfc_tri_coefficient_newsum_body_steps fs_r_pfc_tri_coefficient_newsum_body_steps fs_s_pfc_tri_coefficient_newsum_body_steps. ((((exists fs_h_pfc_tri_coefficient_newsum_body_steps_summand. fs_h_pfc_tri_coefficient_newsum_body_steps_summand + S (fs_a_pfc_tri_coefficient_newsum_body_steps) = S ((S (fs_i_pfc_tri_coefficient_newsum_body_steps)) * pfc_terms_scale_tri_coefficient_new)) /\ exists fs_q_pfc_tri_coefficient_newsum_body_steps_summand. pfc_terms_code_tri_coefficient_new = fs_q_pfc_tri_coefficient_newsum_body_steps_summand * S ((S (fs_i_pfc_tri_coefficient_newsum_body_steps)) * pfc_terms_scale_tri_coefficient_new) + (fs_a_pfc_tri_coefficient_newsum_body_steps))) /\ ((((exists fs_h_pfc_tri_coefficient_newsum_body_steps_partial. fs_h_pfc_tri_coefficient_newsum_body_steps_partial + S (fs_r_pfc_tri_coefficient_newsum_body_steps) = S ((S (fs_i_pfc_tri_coefficient_newsum_body_steps)) * fs_v_pfc_tri_coefficient_newsum)) /\ exists fs_q_pfc_tri_coefficient_newsum_body_steps_partial. fs_u_pfc_tri_coefficient_newsum = fs_q_pfc_tri_coefficient_newsum_body_steps_partial * S ((S (fs_i_pfc_tri_coefficient_newsum_body_steps)) * fs_v_pfc_tri_coefficient_newsum) + (fs_r_pfc_tri_coefficient_newsum_body_steps))) /\ ((((exists fs_h_pfc_tri_coefficient_newsum_body_steps_successor. fs_h_pfc_tri_coefficient_newsum_body_steps_successor + S (fs_s_pfc_tri_coefficient_newsum_body_steps) = S ((S (S fs_i_pfc_tri_coefficient_newsum_body_steps)) * fs_v_pfc_tri_coefficient_newsum)) /\ exists fs_q_pfc_tri_coefficient_newsum_body_steps_successor. fs_u_pfc_tri_coefficient_newsum = fs_q_pfc_tri_coefficient_newsum_body_steps_successor * S ((S (S fs_i_pfc_tri_coefficient_newsum_body_steps)) * fs_v_pfc_tri_coefficient_newsum) + (fs_s_pfc_tri_coefficient_newsum_body_steps))) /\ fs_s_pfc_tri_coefficient_newsum_body_steps = fs_r_pfc_tri_coefficient_newsum_body_steps + fs_a_pfc_tri_coefficient_newsum_body_steps)))))) /\ ((((exists pfa_gap_tri_coefficient_newresiduebound. pfa_gap_tri_coefficient_newresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_tri_coefficient_newresiduecongruence pfa_offset_right_tri_coefficient_newresiduecongruence. (pfc_natural_sum_tri_coefficient_new) + (p) * pfa_offset_left_tri_coefficient_newresiduecongruence = (r) + (p) * pfa_offset_right_tri_coefficient_newresiduecongruence)))))))))
intro pintro abintro acintro Lintro ABintro ACintro Kintro bbintro bcintro Mintro Nintro iintro rintro hlintro hkintro heintro hiintro hrcases hrcases hr_witnesscases hr_witness_witnesscases hr_witness_witness_witnesscases hr_witness_witness_witness_rightexists xexists x1exists x2splitintro jintro hjhave ht : exists t. ((((exists ff_h_pfp_tri_coefficient_chosen_entry. ff_h_pfp_tri_coefficient_chosen_entry + S (t) = S ((S (j)) * x1)) /\ exists ff_q_pfp_tri_coefficient_chosen_entry. x = ff_q_pfp_tri_coefficient_chosen_entry * S ((S (j)) * x1) + (t))) /\ ((exists pfc_complement_tri_coefficient_chosen_term pfc_left_tri_coefficient_chosen_term pfc_right_tri_coefficient_chosen_term. (((j)+pfc_complement_tri_coefficient_chosen_term=(i)) /\ ((((((exists pfa_gap_tri_coefficient_chosen_termleftinside. pfa_gap_tri_coefficient_chosen_termleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_tri_coefficient_chosen_termleftentry. ff_h_pfp_tri_coefficient_chosen_termleftentry + S (pfc_left_tri_coefficient_chosen_term) = S ((S (j)) * ac)) /\ exists ff_q_pfp_tri_coefficient_chosen_termleftentry. ab = ff_q_pfp_tri_coefficient_chosen_termleftentry * S ((S (j)) * ac) + (pfc_left_tri_coefficient_chosen_term)))))) \/ (((exists pfc_gap_tri_coefficient_chosen_termleftoutside. pfc_gap_tri_coefficient_chosen_termleftoutside+(L)=(j)) /\ (((pfc_left_tri_coefficient_chosen_term)=0))))) /\ ((((((exists pfa_gap_tri_coefficient_chosen_termrightinside. pfa_gap_tri_coefficient_chosen_termrightinside + S (pfc_complement_tri_coefficient_chosen_term) = (M)) /\ ((((exists ff_h_pfp_tri_coefficient_chosen_termrightentry. ff_h_pfp_tri_coefficient_chosen_termrightentry + S (pfc_right_tri_coefficient_chosen_term) = S ((S (pfc_complement_tri_coefficient_chosen_term)) * bc)) /\ exists ff_q_pfp_tri_coefficient_chosen_termrightentry. bb = ff_q_pfp_tri_coefficient_chosen_termrightentry * S ((S (pfc_complement_tri_coefficient_chosen_term)) * bc) + (pfc_right_tri_coefficient_chosen_term)))))) \/ (((exists pfc_gap_tri_coefficient_chosen_termrightoutside. pfc_gap_tri_coefficient_chosen_termrightoutside+(M)=(pfc_complement_tri_coefficient_chosen_term)) /\ (((pfc_right_tri_coefficient_chosen_term)=0))))) /\ (((t)=pfc_left_tri_coefficient_chosen_term*pfc_right_tri_coefficient_chosen_term))))))))))specialize hr_witness_witness_witness_left (j)apply hr_witness_witness_witness_leftexact hjcases htcases ht_witnessexists x3splitexact ht_witness_leftspecialize polynomial_diagonal_left_prefix_transport (ab)specialize polynomial_diagonal_left_prefix_transport (ac)specialize polynomial_diagonal_left_prefix_transport (L)specialize polynomial_diagonal_left_prefix_transport (AB)specialize polynomial_diagonal_left_prefix_transport (AC)specialize polynomial_diagonal_left_prefix_transport (K)specialize polynomial_diagonal_left_prefix_transport (bb)specialize polynomial_diagonal_left_prefix_transport (bc)specialize polynomial_diagonal_left_prefix_transport (M)specialize polynomial_diagonal_left_prefix_transport (N)specialize polynomial_diagonal_left_prefix_transport (i)specialize polynomial_diagonal_left_prefix_transport (j)specialize polynomial_diagonal_left_prefix_transport (x3)apply polynomial_diagonal_left_prefix_transportexact hlexact hkexact hespecialize lt_of_lt_of_le (j)specialize lt_of_lt_of_le (S i)specialize lt_of_lt_of_le (N)apply lt_of_lt_of_leexact hjexact hiexact ht_witness_rightsplitexact hr_witness_witness_witness_right_leftexact hr_witness_witness_witness_right_right
prime_field_multiply_exists · unchanged support, not a new admission
forall p a b. (~((p) = 1) /\ forall pfa_factor_left_multiplydomain pfa_factor_right_multiplydomain. (p) = pfa_factor_left_multiplydomain * pfa_factor_right_multiplydomain -> pfa_factor_left_multiplydomain = 1 \/ pfa_factor_right_multiplydomain = 1) -> (exists pfa_gap_multiplyleft. pfa_gap_multiplyleft + S (a) = (p)) -> (exists pfa_gap_multiplyright. pfa_gap_multiplyright + S (b) = (p)) -> exists c. (((exists pfa_gap_multiplyexistsleft. pfa_gap_multiplyexistsleft + S (a) = (p)) /\ (((exists pfa_gap_multiplyexistsright. pfa_gap_multiplyexistsright + S (b) = (p)) /\ ((((exists pfa_gap_multiplyexistsresultbound. pfa_gap_multiplyexistsresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_multiplyexistsresultcongruence pfa_offset_right_multiplyexistsresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_multiplyexistsresultcongruence = (c) + (p) * pfa_offset_right_multiplyexistsresultcongruence)))))))))
intro pintro aintro bintro hpintro haintro hbhave hr : exists c. (((exists pfa_gap_multiplyresiduebound. pfa_gap_multiplyresiduebound + S (c) = (p)) /\ ((exists pfa_offset_left_multiplyresiduecongruence pfa_offset_right_multiplyresiduecongruence. (a * b) + (p) * pfa_offset_left_multiplyresiduecongruence = (c) + (p) * pfa_offset_right_multiplyresiduecongruence))))specialize hensel_canonical_residue_exists (p)specialize hensel_canonical_residue_exists (a * b)apply hensel_canonical_residue_existsintro hzspecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hzcases hrexists xsplitexact hasplitexact hbexact hr_witness
polynomial_diagonal_last_term_left_empty · unchanged support, not a new admission
forall ab ac bb bc M N t. (exists pfc_complement_tri_last_old pfc_left_tri_last_old pfc_right_tri_last_old. (((N)+pfc_complement_tri_last_old=(N)) /\ ((((((exists pfa_gap_tri_last_oldleftinside. pfa_gap_tri_last_oldleftinside + S (N) = (N)) /\ ((((exists ff_h_pfp_tri_last_oldleftentry. ff_h_pfp_tri_last_oldleftentry + S (pfc_left_tri_last_old) = S ((S (N)) * ac)) /\ exists ff_q_pfp_tri_last_oldleftentry. ab = ff_q_pfp_tri_last_oldleftentry * S ((S (N)) * ac) + (pfc_left_tri_last_old)))))) \/ (((exists pfc_gap_tri_last_oldleftoutside. pfc_gap_tri_last_oldleftoutside+(N)=(N)) /\ (((pfc_left_tri_last_old)=0))))) /\ ((((((exists pfa_gap_tri_last_oldrightinside. pfa_gap_tri_last_oldrightinside + S (pfc_complement_tri_last_old) = (M)) /\ ((((exists ff_h_pfp_tri_last_oldrightentry. ff_h_pfp_tri_last_oldrightentry + S (pfc_right_tri_last_old) = S ((S (pfc_complement_tri_last_old)) * bc)) /\ exists ff_q_pfp_tri_last_oldrightentry. bb = ff_q_pfp_tri_last_oldrightentry * S ((S (pfc_complement_tri_last_old)) * bc) + (pfc_right_tri_last_old)))))) \/ (((exists pfc_gap_tri_last_oldrightoutside. pfc_gap_tri_last_oldrightoutside+(M)=(pfc_complement_tri_last_old)) /\ (((pfc_right_tri_last_old)=0))))) /\ (((t)=pfc_left_tri_last_old*pfc_right_tri_last_old)))))))) -> t=0
intro abintro acintro bbintro bcintro Mintro Nintro tintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_rightcases ht_witness_witness_witness_right_leftcases ht_witness_witness_witness_right_left_leftexfalsospecialize lt_not_le (N)specialize lt_not_le (N)apply lt_not_leexact ht_witness_witness_witness_right_left_left_leftspecialize le_refl (N)apply le_reflcases ht_witness_witness_witness_right_left_righttrans x1*x2exact ht_witness_witness_witness_right_right_rightrewrite ht_witness_witness_witness_right_left_right_rightspecialize mul_zero_left (x2)apply mul_zero_left
polynomial_diagonal_last_term_left_append · unchanged support, not a new admission
forall ab ac bb bc d N a b t. (((exists ff_h_pfp_tri_last_new_entry. ff_h_pfp_tri_last_new_entry + S (a) = S ((S (N)) * ac)) /\ exists ff_q_pfp_tri_last_new_entry. ab = ff_q_pfp_tri_last_new_entry * S ((S (N)) * ac) + (a))) -> (((exists ff_h_pfp_tri_last_leading_entry. ff_h_pfp_tri_last_leading_entry + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_tri_last_leading_entry. bb = ff_q_pfp_tri_last_leading_entry * S ((S (0)) * bc) + (b))) -> (exists pfc_complement_tri_last_new pfc_left_tri_last_new pfc_right_tri_last_new. (((N)+pfc_complement_tri_last_new=(N)) /\ ((((((exists pfa_gap_tri_last_newleftinside. pfa_gap_tri_last_newleftinside + S (N) = (S N)) /\ ((((exists ff_h_pfp_tri_last_newleftentry. ff_h_pfp_tri_last_newleftentry + S (pfc_left_tri_last_new) = S ((S (N)) * ac)) /\ exists ff_q_pfp_tri_last_newleftentry. ab = ff_q_pfp_tri_last_newleftentry * S ((S (N)) * ac) + (pfc_left_tri_last_new)))))) \/ (((exists pfc_gap_tri_last_newleftoutside. pfc_gap_tri_last_newleftoutside+(S N)=(N)) /\ (((pfc_left_tri_last_new)=0))))) /\ ((((((exists pfa_gap_tri_last_newrightinside. pfa_gap_tri_last_newrightinside + S (pfc_complement_tri_last_new) = (S d)) /\ ((((exists ff_h_pfp_tri_last_newrightentry. ff_h_pfp_tri_last_newrightentry + S (pfc_right_tri_last_new) = S ((S (pfc_complement_tri_last_new)) * bc)) /\ exists ff_q_pfp_tri_last_newrightentry. bb = ff_q_pfp_tri_last_newrightentry * S ((S (pfc_complement_tri_last_new)) * bc) + (pfc_right_tri_last_new)))))) \/ (((exists pfc_gap_tri_last_newrightoutside. pfc_gap_tri_last_newrightoutside+(S d)=(pfc_complement_tri_last_new)) /\ (((pfc_right_tri_last_new)=0))))) /\ (((t)=pfc_left_tri_last_new*pfc_right_tri_last_new)))))))) -> t=a*b
intro abintro acintro bbintro bcintro dintro Nintro aintro bintro tintro haintro hbintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_righthave hk : x=0specialize add_left_cancel (N)specialize add_left_cancel (x)specialize add_left_cancel (0)apply add_left_canceltrans Nexact ht_witness_witness_witness_leftsimprewrite hk at ht_witness_witness_witness_right_right_leftrewrite hk at ht_witness_witness_witness_right_right_leftrewrite hk at ht_witness_witness_witness_right_right_leftrewrite hk at ht_witness_witness_witness_right_right_lefthave hleft : x1=aspecialize polynomial_zero_extended_entry_functional (ab)specialize polynomial_zero_extended_entry_functional (ac)specialize polynomial_zero_extended_entry_functional (S N)specialize polynomial_zero_extended_entry_functional (N)specialize polynomial_zero_extended_entry_functional (x1)specialize polynomial_zero_extended_entry_functional (a)apply polynomial_zero_extended_entry_functionalexact ht_witness_witness_witness_right_leftleftsplitexists 0apply zero_addexact hahave hright : x2=bspecialize polynomial_zero_extended_entry_functional (bb)specialize polynomial_zero_extended_entry_functional (bc)specialize polynomial_zero_extended_entry_functional (S d)specialize polynomial_zero_extended_entry_functional (0)specialize polynomial_zero_extended_entry_functional (x2)specialize polynomial_zero_extended_entry_functional (b)apply polynomial_zero_extended_entry_functionalexact ht_witness_witness_witness_right_right_leftleftsplitexists dsimpexact hbtrans x1*x2exact ht_witness_witness_witness_right_right_rightcongrexact hleftexact hright
polynomial_diagonal_prefix_left_transport · unchanged support, not a new admission
forall ab ac L AB AC K bb bc M N i db dc. (exists pfc_gap_tri_prefix_old_length. pfc_gap_tri_prefix_old_length+(N)=(L)) -> (exists pfc_gap_tri_prefix_new_length. pfc_gap_tri_prefix_new_length+(N)=(K)) -> (forall mdr_i_pfp_tri_prefix_equal mdr_a_pfp_tri_prefix_equal. (exists mdr_gap_pfp_tri_prefix_equalb. mdr_gap_pfp_tri_prefix_equalb + S (mdr_i_pfp_tri_prefix_equal) = (N)) -> (((exists ff_h_mdr_pfp_tri_prefix_equalo. ff_h_mdr_pfp_tri_prefix_equalo + S (mdr_a_pfp_tri_prefix_equal) = S ((S (mdr_i_pfp_tri_prefix_equal)) * ac)) /\ exists ff_q_mdr_pfp_tri_prefix_equalo. ab = ff_q_mdr_pfp_tri_prefix_equalo * S ((S (mdr_i_pfp_tri_prefix_equal)) * ac) + (mdr_a_pfp_tri_prefix_equal))) -> (((exists ff_h_mdr_pfp_tri_prefix_equaln. ff_h_mdr_pfp_tri_prefix_equaln + S (mdr_a_pfp_tri_prefix_equal) = S ((S (mdr_i_pfp_tri_prefix_equal)) * AC)) /\ exists ff_q_mdr_pfp_tri_prefix_equaln. AB = ff_q_mdr_pfp_tri_prefix_equaln * S ((S (mdr_i_pfp_tri_prefix_equal)) * AC) + (mdr_a_pfp_tri_prefix_equal)))) -> (forall pfc_index_tri_prefix_old. (exists pfa_gap_tri_prefix_oldbound. pfa_gap_tri_prefix_oldbound + S (pfc_index_tri_prefix_old) = (N)) -> exists pfc_value_tri_prefix_old. ((((exists ff_h_pfp_tri_prefix_oldentry. ff_h_pfp_tri_prefix_oldentry + S (pfc_value_tri_prefix_old) = S ((S (pfc_index_tri_prefix_old)) * dc)) /\ exists ff_q_pfp_tri_prefix_oldentry. db = ff_q_pfp_tri_prefix_oldentry * S ((S (pfc_index_tri_prefix_old)) * dc) + (pfc_value_tri_prefix_old))) /\ ((exists pfc_complement_tri_prefix_oldterm pfc_left_tri_prefix_oldterm pfc_right_tri_prefix_oldterm. (((pfc_index_tri_prefix_old)+pfc_complement_tri_prefix_oldterm=(i)) /\ ((((((exists pfa_gap_tri_prefix_oldtermleftinside. pfa_gap_tri_prefix_oldtermleftinside + S (pfc_index_tri_prefix_old) = (L)) /\ ((((exists ff_h_pfp_tri_prefix_oldtermleftentry. ff_h_pfp_tri_prefix_oldtermleftentry + S (pfc_left_tri_prefix_oldterm) = S ((S (pfc_index_tri_prefix_old)) * ac)) /\ exists ff_q_pfp_tri_prefix_oldtermleftentry. ab = ff_q_pfp_tri_prefix_oldtermleftentry * S ((S (pfc_index_tri_prefix_old)) * ac) + (pfc_left_tri_prefix_oldterm)))))) \/ (((exists pfc_gap_tri_prefix_oldtermleftoutside. pfc_gap_tri_prefix_oldtermleftoutside+(L)=(pfc_index_tri_prefix_old)) /\ (((pfc_left_tri_prefix_oldterm)=0))))) /\ ((((((exists pfa_gap_tri_prefix_oldtermrightinside. pfa_gap_tri_prefix_oldtermrightinside + S (pfc_complement_tri_prefix_oldterm) = (M)) /\ ((((exists ff_h_pfp_tri_prefix_oldtermrightentry. ff_h_pfp_tri_prefix_oldtermrightentry + S (pfc_right_tri_prefix_oldterm) = S ((S (pfc_complement_tri_prefix_oldterm)) * bc)) /\ exists ff_q_pfp_tri_prefix_oldtermrightentry. bb = ff_q_pfp_tri_prefix_oldtermrightentry * S ((S (pfc_complement_tri_prefix_oldterm)) * bc) + (pfc_right_tri_prefix_oldterm)))))) \/ (((exists pfc_gap_tri_prefix_oldtermrightoutside. pfc_gap_tri_prefix_oldtermrightoutside+(M)=(pfc_complement_tri_prefix_oldterm)) /\ (((pfc_right_tri_prefix_oldterm)=0))))) /\ (((pfc_value_tri_prefix_old)=pfc_left_tri_prefix_oldterm*pfc_right_tri_prefix_oldterm))))))))))) -> (forall pfc_index_tri_prefix_new. (exists pfa_gap_tri_prefix_newbound. pfa_gap_tri_prefix_newbound + S (pfc_index_tri_prefix_new) = (N)) -> exists pfc_value_tri_prefix_new. ((((exists ff_h_pfp_tri_prefix_newentry. ff_h_pfp_tri_prefix_newentry + S (pfc_value_tri_prefix_new) = S ((S (pfc_index_tri_prefix_new)) * dc)) /\ exists ff_q_pfp_tri_prefix_newentry. db = ff_q_pfp_tri_prefix_newentry * S ((S (pfc_index_tri_prefix_new)) * dc) + (pfc_value_tri_prefix_new))) /\ ((exists pfc_complement_tri_prefix_newterm pfc_left_tri_prefix_newterm pfc_right_tri_prefix_newterm. (((pfc_index_tri_prefix_new)+pfc_complement_tri_prefix_newterm=(i)) /\ ((((((exists pfa_gap_tri_prefix_newtermleftinside. pfa_gap_tri_prefix_newtermleftinside + S (pfc_index_tri_prefix_new) = (K)) /\ ((((exists ff_h_pfp_tri_prefix_newtermleftentry. ff_h_pfp_tri_prefix_newtermleftentry + S (pfc_left_tri_prefix_newterm) = S ((S (pfc_index_tri_prefix_new)) * AC)) /\ exists ff_q_pfp_tri_prefix_newtermleftentry. AB = ff_q_pfp_tri_prefix_newtermleftentry * S ((S (pfc_index_tri_prefix_new)) * AC) + (pfc_left_tri_prefix_newterm)))))) \/ (((exists pfc_gap_tri_prefix_newtermleftoutside. pfc_gap_tri_prefix_newtermleftoutside+(K)=(pfc_index_tri_prefix_new)) /\ (((pfc_left_tri_prefix_newterm)=0))))) /\ ((((((exists pfa_gap_tri_prefix_newtermrightinside. pfa_gap_tri_prefix_newtermrightinside + S (pfc_complement_tri_prefix_newterm) = (M)) /\ ((((exists ff_h_pfp_tri_prefix_newtermrightentry. ff_h_pfp_tri_prefix_newtermrightentry + S (pfc_right_tri_prefix_newterm) = S ((S (pfc_complement_tri_prefix_newterm)) * bc)) /\ exists ff_q_pfp_tri_prefix_newtermrightentry. bb = ff_q_pfp_tri_prefix_newtermrightentry * S ((S (pfc_complement_tri_prefix_newterm)) * bc) + (pfc_right_tri_prefix_newterm)))))) \/ (((exists pfc_gap_tri_prefix_newtermrightoutside. pfc_gap_tri_prefix_newtermrightoutside+(M)=(pfc_complement_tri_prefix_newterm)) /\ (((pfc_right_tri_prefix_newterm)=0))))) /\ (((pfc_value_tri_prefix_new)=pfc_left_tri_prefix_newterm*pfc_right_tri_prefix_newterm)))))))))))
intro abintro acintro Lintro ABintro ACintro Kintro bbintro bcintro Mintro Nintro iintro dbintro dcintro hlintro hkintro heintro hdintro jintro hjhave ht : exists t. ((((exists ff_h_pfp_tri_prefix_chosen_entry. ff_h_pfp_tri_prefix_chosen_entry + S (t) = S ((S (j)) * dc)) /\ exists ff_q_pfp_tri_prefix_chosen_entry. db = ff_q_pfp_tri_prefix_chosen_entry * S ((S (j)) * dc) + (t))) /\ ((exists pfc_complement_tri_prefix_chosen_term pfc_left_tri_prefix_chosen_term pfc_right_tri_prefix_chosen_term. (((j)+pfc_complement_tri_prefix_chosen_term=(i)) /\ ((((((exists pfa_gap_tri_prefix_chosen_termleftinside. pfa_gap_tri_prefix_chosen_termleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_tri_prefix_chosen_termleftentry. ff_h_pfp_tri_prefix_chosen_termleftentry + S (pfc_left_tri_prefix_chosen_term) = S ((S (j)) * ac)) /\ exists ff_q_pfp_tri_prefix_chosen_termleftentry. ab = ff_q_pfp_tri_prefix_chosen_termleftentry * S ((S (j)) * ac) + (pfc_left_tri_prefix_chosen_term)))))) \/ (((exists pfc_gap_tri_prefix_chosen_termleftoutside. pfc_gap_tri_prefix_chosen_termleftoutside+(L)=(j)) /\ (((pfc_left_tri_prefix_chosen_term)=0))))) /\ ((((((exists pfa_gap_tri_prefix_chosen_termrightinside. pfa_gap_tri_prefix_chosen_termrightinside + S (pfc_complement_tri_prefix_chosen_term) = (M)) /\ ((((exists ff_h_pfp_tri_prefix_chosen_termrightentry. ff_h_pfp_tri_prefix_chosen_termrightentry + S (pfc_right_tri_prefix_chosen_term) = S ((S (pfc_complement_tri_prefix_chosen_term)) * bc)) /\ exists ff_q_pfp_tri_prefix_chosen_termrightentry. bb = ff_q_pfp_tri_prefix_chosen_termrightentry * S ((S (pfc_complement_tri_prefix_chosen_term)) * bc) + (pfc_right_tri_prefix_chosen_term)))))) \/ (((exists pfc_gap_tri_prefix_chosen_termrightoutside. pfc_gap_tri_prefix_chosen_termrightoutside+(M)=(pfc_complement_tri_prefix_chosen_term)) /\ (((pfc_right_tri_prefix_chosen_term)=0))))) /\ (((t)=pfc_left_tri_prefix_chosen_term*pfc_right_tri_prefix_chosen_term))))))))))specialize hd (j)apply hdexact hjcases htcases ht_witnessexists xsplitexact ht_witness_leftspecialize polynomial_diagonal_left_prefix_transport (ab)specialize polynomial_diagonal_left_prefix_transport (ac)specialize polynomial_diagonal_left_prefix_transport (L)specialize polynomial_diagonal_left_prefix_transport (AB)specialize polynomial_diagonal_left_prefix_transport (AC)specialize polynomial_diagonal_left_prefix_transport (K)specialize polynomial_diagonal_left_prefix_transport (bb)specialize polynomial_diagonal_left_prefix_transport (bc)specialize polynomial_diagonal_left_prefix_transport (M)specialize polynomial_diagonal_left_prefix_transport (N)specialize polynomial_diagonal_left_prefix_transport (i)specialize polynomial_diagonal_left_prefix_transport (j)specialize polynomial_diagonal_left_prefix_transport (x)apply polynomial_diagonal_left_prefix_transportexact hlexact hkexact heexact hjexact ht_witness_right
polynomial_diagonal_sum_left_append · unchanged support, not a new admission
forall ab ac AB AC bb bc d N a b db dc eb ec u v. (forall mdr_i_pfp_tri_sum_equal mdr_a_pfp_tri_sum_equal. (exists mdr_gap_pfp_tri_sum_equalb. mdr_gap_pfp_tri_sum_equalb + S (mdr_i_pfp_tri_sum_equal) = (N)) -> (((exists ff_h_mdr_pfp_tri_sum_equalo. ff_h_mdr_pfp_tri_sum_equalo + S (mdr_a_pfp_tri_sum_equal) = S ((S (mdr_i_pfp_tri_sum_equal)) * ac)) /\ exists ff_q_mdr_pfp_tri_sum_equalo. ab = ff_q_mdr_pfp_tri_sum_equalo * S ((S (mdr_i_pfp_tri_sum_equal)) * ac) + (mdr_a_pfp_tri_sum_equal))) -> (((exists ff_h_mdr_pfp_tri_sum_equaln. ff_h_mdr_pfp_tri_sum_equaln + S (mdr_a_pfp_tri_sum_equal) = S ((S (mdr_i_pfp_tri_sum_equal)) * AC)) /\ exists ff_q_mdr_pfp_tri_sum_equaln. AB = ff_q_mdr_pfp_tri_sum_equaln * S ((S (mdr_i_pfp_tri_sum_equal)) * AC) + (mdr_a_pfp_tri_sum_equal)))) -> (((exists ff_h_pfp_tri_sum_appended. ff_h_pfp_tri_sum_appended + S (a) = S ((S (N)) * AC)) /\ exists ff_q_pfp_tri_sum_appended. AB = ff_q_pfp_tri_sum_appended * S ((S (N)) * AC) + (a))) -> (((exists ff_h_pfp_tri_sum_head. ff_h_pfp_tri_sum_head + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_tri_sum_head. bb = ff_q_pfp_tri_sum_head * S ((S (0)) * bc) + (b))) -> (forall pfc_index_tri_sum_old_table. (exists pfa_gap_tri_sum_old_tablebound. pfa_gap_tri_sum_old_tablebound + S (pfc_index_tri_sum_old_table) = (S N)) -> exists pfc_value_tri_sum_old_table. ((((exists ff_h_pfp_tri_sum_old_tableentry. ff_h_pfp_tri_sum_old_tableentry + S (pfc_value_tri_sum_old_table) = S ((S (pfc_index_tri_sum_old_table)) * dc)) /\ exists ff_q_pfp_tri_sum_old_tableentry. db = ff_q_pfp_tri_sum_old_tableentry * S ((S (pfc_index_tri_sum_old_table)) * dc) + (pfc_value_tri_sum_old_table))) /\ ((exists pfc_complement_tri_sum_old_tableterm pfc_left_tri_sum_old_tableterm pfc_right_tri_sum_old_tableterm. (((pfc_index_tri_sum_old_table)+pfc_complement_tri_sum_old_tableterm=(N)) /\ ((((((exists pfa_gap_tri_sum_old_tabletermleftinside. pfa_gap_tri_sum_old_tabletermleftinside + S (pfc_index_tri_sum_old_table) = (N)) /\ ((((exists ff_h_pfp_tri_sum_old_tabletermleftentry. ff_h_pfp_tri_sum_old_tabletermleftentry + S (pfc_left_tri_sum_old_tableterm) = S ((S (pfc_index_tri_sum_old_table)) * ac)) /\ exists ff_q_pfp_tri_sum_old_tabletermleftentry. ab = ff_q_pfp_tri_sum_old_tabletermleftentry * S ((S (pfc_index_tri_sum_old_table)) * ac) + (pfc_left_tri_sum_old_tableterm)))))) \/ (((exists pfc_gap_tri_sum_old_tabletermleftoutside. pfc_gap_tri_sum_old_tabletermleftoutside+(N)=(pfc_index_tri_sum_old_table)) /\ (((pfc_left_tri_sum_old_tableterm)=0))))) /\ ((((((exists pfa_gap_tri_sum_old_tabletermrightinside. pfa_gap_tri_sum_old_tabletermrightinside + S (pfc_complement_tri_sum_old_tableterm) = (S d)) /\ ((((exists ff_h_pfp_tri_sum_old_tabletermrightentry. ff_h_pfp_tri_sum_old_tabletermrightentry + S (pfc_right_tri_sum_old_tableterm) = S ((S (pfc_complement_tri_sum_old_tableterm)) * bc)) /\ exists ff_q_pfp_tri_sum_old_tabletermrightentry. bb = ff_q_pfp_tri_sum_old_tabletermrightentry * S ((S (pfc_complement_tri_sum_old_tableterm)) * bc) + (pfc_right_tri_sum_old_tableterm)))))) \/ (((exists pfc_gap_tri_sum_old_tabletermrightoutside. pfc_gap_tri_sum_old_tabletermrightoutside+(S d)=(pfc_complement_tri_sum_old_tableterm)) /\ (((pfc_right_tri_sum_old_tableterm)=0))))) /\ (((pfc_value_tri_sum_old_table)=pfc_left_tri_sum_old_tableterm*pfc_right_tri_sum_old_tableterm))))))))))) -> (exists fs_u_pfc_tri_sum_old_actual fs_v_pfc_tri_sum_old_actual. ((((exists fs_h_pfc_tri_sum_old_actual_body_start. fs_h_pfc_tri_sum_old_actual_body_start + S (0) = S ((S (0)) * fs_v_pfc_tri_sum_old_actual)) /\ exists fs_q_pfc_tri_sum_old_actual_body_start. fs_u_pfc_tri_sum_old_actual = fs_q_pfc_tri_sum_old_actual_body_start * S ((S (0)) * fs_v_pfc_tri_sum_old_actual) + (0))) /\ ((((exists fs_h_pfc_tri_sum_old_actual_body_terminal. fs_h_pfc_tri_sum_old_actual_body_terminal + S (u) = S ((S (S N)) * fs_v_pfc_tri_sum_old_actual)) /\ exists fs_q_pfc_tri_sum_old_actual_body_terminal. fs_u_pfc_tri_sum_old_actual = fs_q_pfc_tri_sum_old_actual_body_terminal * S ((S (S N)) * fs_v_pfc_tri_sum_old_actual) + (u))) /\ forall fs_i_pfc_tri_sum_old_actual_body_steps. (exists fs_lt_pfc_tri_sum_old_actual_body_steps_bound. fs_lt_pfc_tri_sum_old_actual_body_steps_bound + S fs_i_pfc_tri_sum_old_actual_body_steps = S N) -> exists fs_a_pfc_tri_sum_old_actual_body_steps fs_r_pfc_tri_sum_old_actual_body_steps fs_s_pfc_tri_sum_old_actual_body_steps. ((((exists fs_h_pfc_tri_sum_old_actual_body_steps_summand. fs_h_pfc_tri_sum_old_actual_body_steps_summand + S (fs_a_pfc_tri_sum_old_actual_body_steps) = S ((S (fs_i_pfc_tri_sum_old_actual_body_steps)) * dc)) /\ exists fs_q_pfc_tri_sum_old_actual_body_steps_summand. db = fs_q_pfc_tri_sum_old_actual_body_steps_summand * S ((S (fs_i_pfc_tri_sum_old_actual_body_steps)) * dc) + (fs_a_pfc_tri_sum_old_actual_body_steps))) /\ ((((exists fs_h_pfc_tri_sum_old_actual_body_steps_partial. fs_h_pfc_tri_sum_old_actual_body_steps_partial + S (fs_r_pfc_tri_sum_old_actual_body_steps) = S ((S (fs_i_pfc_tri_sum_old_actual_body_steps)) * fs_v_pfc_tri_sum_old_actual)) /\ exists fs_q_pfc_tri_sum_old_actual_body_steps_partial. fs_u_pfc_tri_sum_old_actual = fs_q_pfc_tri_sum_old_actual_body_steps_partial * S ((S (fs_i_pfc_tri_sum_old_actual_body_steps)) * fs_v_pfc_tri_sum_old_actual) + (fs_r_pfc_tri_sum_old_actual_body_steps))) /\ ((((exists fs_h_pfc_tri_sum_old_actual_body_steps_successor. fs_h_pfc_tri_sum_old_actual_body_steps_successor + S (fs_s_pfc_tri_sum_old_actual_body_steps) = S ((S (S fs_i_pfc_tri_sum_old_actual_body_steps)) * fs_v_pfc_tri_sum_old_actual)) /\ exists fs_q_pfc_tri_sum_old_actual_body_steps_successor. fs_u_pfc_tri_sum_old_actual = fs_q_pfc_tri_sum_old_actual_body_steps_successor * S ((S (S fs_i_pfc_tri_sum_old_actual_body_steps)) * fs_v_pfc_tri_sum_old_actual) + (fs_s_pfc_tri_sum_old_actual_body_steps))) /\ fs_s_pfc_tri_sum_old_actual_body_steps = fs_r_pfc_tri_sum_old_actual_body_steps + fs_a_pfc_tri_sum_old_actual_body_steps)))))) -> (forall pfc_index_tri_sum_new_table. (exists pfa_gap_tri_sum_new_tablebound. pfa_gap_tri_sum_new_tablebound + S (pfc_index_tri_sum_new_table) = (S N)) -> exists pfc_value_tri_sum_new_table. ((((exists ff_h_pfp_tri_sum_new_tableentry. ff_h_pfp_tri_sum_new_tableentry + S (pfc_value_tri_sum_new_table) = S ((S (pfc_index_tri_sum_new_table)) * ec)) /\ exists ff_q_pfp_tri_sum_new_tableentry. eb = ff_q_pfp_tri_sum_new_tableentry * S ((S (pfc_index_tri_sum_new_table)) * ec) + (pfc_value_tri_sum_new_table))) /\ ((exists pfc_complement_tri_sum_new_tableterm pfc_left_tri_sum_new_tableterm pfc_right_tri_sum_new_tableterm. (((pfc_index_tri_sum_new_table)+pfc_complement_tri_sum_new_tableterm=(N)) /\ ((((((exists pfa_gap_tri_sum_new_tabletermleftinside. pfa_gap_tri_sum_new_tabletermleftinside + S (pfc_index_tri_sum_new_table) = (S N)) /\ ((((exists ff_h_pfp_tri_sum_new_tabletermleftentry. ff_h_pfp_tri_sum_new_tabletermleftentry + S (pfc_left_tri_sum_new_tableterm) = S ((S (pfc_index_tri_sum_new_table)) * AC)) /\ exists ff_q_pfp_tri_sum_new_tabletermleftentry. AB = ff_q_pfp_tri_sum_new_tabletermleftentry * S ((S (pfc_index_tri_sum_new_table)) * AC) + (pfc_left_tri_sum_new_tableterm)))))) \/ (((exists pfc_gap_tri_sum_new_tabletermleftoutside. pfc_gap_tri_sum_new_tabletermleftoutside+(S N)=(pfc_index_tri_sum_new_table)) /\ (((pfc_left_tri_sum_new_tableterm)=0))))) /\ ((((((exists pfa_gap_tri_sum_new_tabletermrightinside. pfa_gap_tri_sum_new_tabletermrightinside + S (pfc_complement_tri_sum_new_tableterm) = (S d)) /\ ((((exists ff_h_pfp_tri_sum_new_tabletermrightentry. ff_h_pfp_tri_sum_new_tabletermrightentry + S (pfc_right_tri_sum_new_tableterm) = S ((S (pfc_complement_tri_sum_new_tableterm)) * bc)) /\ exists ff_q_pfp_tri_sum_new_tabletermrightentry. bb = ff_q_pfp_tri_sum_new_tabletermrightentry * S ((S (pfc_complement_tri_sum_new_tableterm)) * bc) + (pfc_right_tri_sum_new_tableterm)))))) \/ (((exists pfc_gap_tri_sum_new_tabletermrightoutside. pfc_gap_tri_sum_new_tabletermrightoutside+(S d)=(pfc_complement_tri_sum_new_tableterm)) /\ (((pfc_right_tri_sum_new_tableterm)=0))))) /\ (((pfc_value_tri_sum_new_table)=pfc_left_tri_sum_new_tableterm*pfc_right_tri_sum_new_tableterm))))))))))) -> (exists fs_u_pfc_tri_sum_new_actual fs_v_pfc_tri_sum_new_actual. ((((exists fs_h_pfc_tri_sum_new_actual_body_start. fs_h_pfc_tri_sum_new_actual_body_start + S (0) = S ((S (0)) * fs_v_pfc_tri_sum_new_actual)) /\ exists fs_q_pfc_tri_sum_new_actual_body_start. fs_u_pfc_tri_sum_new_actual = fs_q_pfc_tri_sum_new_actual_body_start * S ((S (0)) * fs_v_pfc_tri_sum_new_actual) + (0))) /\ ((((exists fs_h_pfc_tri_sum_new_actual_body_terminal. fs_h_pfc_tri_sum_new_actual_body_terminal + S (v) = S ((S (S N)) * fs_v_pfc_tri_sum_new_actual)) /\ exists fs_q_pfc_tri_sum_new_actual_body_terminal. fs_u_pfc_tri_sum_new_actual = fs_q_pfc_tri_sum_new_actual_body_terminal * S ((S (S N)) * fs_v_pfc_tri_sum_new_actual) + (v))) /\ forall fs_i_pfc_tri_sum_new_actual_body_steps. (exists fs_lt_pfc_tri_sum_new_actual_body_steps_bound. fs_lt_pfc_tri_sum_new_actual_body_steps_bound + S fs_i_pfc_tri_sum_new_actual_body_steps = S N) -> exists fs_a_pfc_tri_sum_new_actual_body_steps fs_r_pfc_tri_sum_new_actual_body_steps fs_s_pfc_tri_sum_new_actual_body_steps. ((((exists fs_h_pfc_tri_sum_new_actual_body_steps_summand. fs_h_pfc_tri_sum_new_actual_body_steps_summand + S (fs_a_pfc_tri_sum_new_actual_body_steps) = S ((S (fs_i_pfc_tri_sum_new_actual_body_steps)) * ec)) /\ exists fs_q_pfc_tri_sum_new_actual_body_steps_summand. eb = fs_q_pfc_tri_sum_new_actual_body_steps_summand * S ((S (fs_i_pfc_tri_sum_new_actual_body_steps)) * ec) + (fs_a_pfc_tri_sum_new_actual_body_steps))) /\ ((((exists fs_h_pfc_tri_sum_new_actual_body_steps_partial. fs_h_pfc_tri_sum_new_actual_body_steps_partial + S (fs_r_pfc_tri_sum_new_actual_body_steps) = S ((S (fs_i_pfc_tri_sum_new_actual_body_steps)) * fs_v_pfc_tri_sum_new_actual)) /\ exists fs_q_pfc_tri_sum_new_actual_body_steps_partial. fs_u_pfc_tri_sum_new_actual = fs_q_pfc_tri_sum_new_actual_body_steps_partial * S ((S (fs_i_pfc_tri_sum_new_actual_body_steps)) * fs_v_pfc_tri_sum_new_actual) + (fs_r_pfc_tri_sum_new_actual_body_steps))) /\ ((((exists fs_h_pfc_tri_sum_new_actual_body_steps_successor. fs_h_pfc_tri_sum_new_actual_body_steps_successor + S (fs_s_pfc_tri_sum_new_actual_body_steps) = S ((S (S fs_i_pfc_tri_sum_new_actual_body_steps)) * fs_v_pfc_tri_sum_new_actual)) /\ exists fs_q_pfc_tri_sum_new_actual_body_steps_successor. fs_u_pfc_tri_sum_new_actual = fs_q_pfc_tri_sum_new_actual_body_steps_successor * S ((S (S fs_i_pfc_tri_sum_new_actual_body_steps)) * fs_v_pfc_tri_sum_new_actual) + (fs_s_pfc_tri_sum_new_actual_body_steps))) /\ fs_s_pfc_tri_sum_new_actual_body_steps = fs_r_pfc_tri_sum_new_actual_body_steps + fs_a_pfc_tri_sum_new_actual_body_steps)))))) -> v=u+a*b
intro abintro acintro ABintro ACintro bbintro bcintro dintro Nintro aintro bintro dbintro dcintro ebintro ecintro uintro vintro heintro haintro hbintro hdintro huintro hetableintro hvhave hold : exists t s. ((((exists ff_h_pfp_tri_sum_old_last. ff_h_pfp_tri_sum_old_last + S (t) = S ((S (N)) * dc)) /\ exists ff_q_pfp_tri_sum_old_last. db = ff_q_pfp_tri_sum_old_last * S ((S (N)) * dc) + (t))) /\ (((exists fs_u_pfc_tri_sum_old_prefix fs_v_pfc_tri_sum_old_prefix. ((((exists fs_h_pfc_tri_sum_old_prefix_body_start. fs_h_pfc_tri_sum_old_prefix_body_start + S (0) = S ((S (0)) * fs_v_pfc_tri_sum_old_prefix)) /\ exists fs_q_pfc_tri_sum_old_prefix_body_start. fs_u_pfc_tri_sum_old_prefix = fs_q_pfc_tri_sum_old_prefix_body_start * S ((S (0)) * fs_v_pfc_tri_sum_old_prefix) + (0))) /\ ((((exists fs_h_pfc_tri_sum_old_prefix_body_terminal. fs_h_pfc_tri_sum_old_prefix_body_terminal + S (s) = S ((S (N)) * fs_v_pfc_tri_sum_old_prefix)) /\ exists fs_q_pfc_tri_sum_old_prefix_body_terminal. fs_u_pfc_tri_sum_old_prefix = fs_q_pfc_tri_sum_old_prefix_body_terminal * S ((S (N)) * fs_v_pfc_tri_sum_old_prefix) + (s))) /\ forall fs_i_pfc_tri_sum_old_prefix_body_steps. (exists fs_lt_pfc_tri_sum_old_prefix_body_steps_bound. fs_lt_pfc_tri_sum_old_prefix_body_steps_bound + S fs_i_pfc_tri_sum_old_prefix_body_steps = N) -> exists fs_a_pfc_tri_sum_old_prefix_body_steps fs_r_pfc_tri_sum_old_prefix_body_steps fs_s_pfc_tri_sum_old_prefix_body_steps. ((((exists fs_h_pfc_tri_sum_old_prefix_body_steps_summand. fs_h_pfc_tri_sum_old_prefix_body_steps_summand + S (fs_a_pfc_tri_sum_old_prefix_body_steps) = S ((S (fs_i_pfc_tri_sum_old_prefix_body_steps)) * dc)) /\ exists fs_q_pfc_tri_sum_old_prefix_body_steps_summand. db = fs_q_pfc_tri_sum_old_prefix_body_steps_summand * S ((S (fs_i_pfc_tri_sum_old_prefix_body_steps)) * dc) + (fs_a_pfc_tri_sum_old_prefix_body_steps))) /\ ((((exists fs_h_pfc_tri_sum_old_prefix_body_steps_partial. fs_h_pfc_tri_sum_old_prefix_body_steps_partial + S (fs_r_pfc_tri_sum_old_prefix_body_steps) = S ((S (fs_i_pfc_tri_sum_old_prefix_body_steps)) * fs_v_pfc_tri_sum_old_prefix)) /\ exists fs_q_pfc_tri_sum_old_prefix_body_steps_partial. fs_u_pfc_tri_sum_old_prefix = fs_q_pfc_tri_sum_old_prefix_body_steps_partial * S ((S (fs_i_pfc_tri_sum_old_prefix_body_steps)) * fs_v_pfc_tri_sum_old_prefix) + (fs_r_pfc_tri_sum_old_prefix_body_steps))) /\ ((((exists fs_h_pfc_tri_sum_old_prefix_body_steps_successor. fs_h_pfc_tri_sum_old_prefix_body_steps_successor + S (fs_s_pfc_tri_sum_old_prefix_body_steps) = S ((S (S fs_i_pfc_tri_sum_old_prefix_body_steps)) * fs_v_pfc_tri_sum_old_prefix)) /\ exists fs_q_pfc_tri_sum_old_prefix_body_steps_successor. fs_u_pfc_tri_sum_old_prefix = fs_q_pfc_tri_sum_old_prefix_body_steps_successor * S ((S (S fs_i_pfc_tri_sum_old_prefix_body_steps)) * fs_v_pfc_tri_sum_old_prefix) + (fs_s_pfc_tri_sum_old_prefix_body_steps))) /\ fs_s_pfc_tri_sum_old_prefix_body_steps = fs_r_pfc_tri_sum_old_prefix_body_steps + fs_a_pfc_tri_sum_old_prefix_body_steps)))))) /\ ((u=s+t)))))specialize beta_sum_succ_decompose (db)specialize beta_sum_succ_decompose (dc)specialize beta_sum_succ_decompose (N)specialize beta_sum_succ_decompose (u)apply beta_sum_succ_decomposeexact hucases holdcases hold_witnesscases hold_witness_witnesscases hold_witness_witness_righthave hnew : exists t s. ((((exists ff_h_pfp_tri_sum_new_last. ff_h_pfp_tri_sum_new_last + S (t) = S ((S (N)) * ec)) /\ exists ff_q_pfp_tri_sum_new_last. eb = ff_q_pfp_tri_sum_new_last * S ((S (N)) * ec) + (t))) /\ (((exists fs_u_pfc_tri_sum_new_prefix fs_v_pfc_tri_sum_new_prefix. ((((exists fs_h_pfc_tri_sum_new_prefix_body_start. fs_h_pfc_tri_sum_new_prefix_body_start + S (0) = S ((S (0)) * fs_v_pfc_tri_sum_new_prefix)) /\ exists fs_q_pfc_tri_sum_new_prefix_body_start. fs_u_pfc_tri_sum_new_prefix = fs_q_pfc_tri_sum_new_prefix_body_start * S ((S (0)) * fs_v_pfc_tri_sum_new_prefix) + (0))) /\ ((((exists fs_h_pfc_tri_sum_new_prefix_body_terminal. fs_h_pfc_tri_sum_new_prefix_body_terminal + S (s) = S ((S (N)) * fs_v_pfc_tri_sum_new_prefix)) /\ exists fs_q_pfc_tri_sum_new_prefix_body_terminal. fs_u_pfc_tri_sum_new_prefix = fs_q_pfc_tri_sum_new_prefix_body_terminal * S ((S (N)) * fs_v_pfc_tri_sum_new_prefix) + (s))) /\ forall fs_i_pfc_tri_sum_new_prefix_body_steps. (exists fs_lt_pfc_tri_sum_new_prefix_body_steps_bound. fs_lt_pfc_tri_sum_new_prefix_body_steps_bound + S fs_i_pfc_tri_sum_new_prefix_body_steps = N) -> exists fs_a_pfc_tri_sum_new_prefix_body_steps fs_r_pfc_tri_sum_new_prefix_body_steps fs_s_pfc_tri_sum_new_prefix_body_steps. ((((exists fs_h_pfc_tri_sum_new_prefix_body_steps_summand. fs_h_pfc_tri_sum_new_prefix_body_steps_summand + S (fs_a_pfc_tri_sum_new_prefix_body_steps) = S ((S (fs_i_pfc_tri_sum_new_prefix_body_steps)) * ec)) /\ exists fs_q_pfc_tri_sum_new_prefix_body_steps_summand. eb = fs_q_pfc_tri_sum_new_prefix_body_steps_summand * S ((S (fs_i_pfc_tri_sum_new_prefix_body_steps)) * ec) + (fs_a_pfc_tri_sum_new_prefix_body_steps))) /\ ((((exists fs_h_pfc_tri_sum_new_prefix_body_steps_partial. fs_h_pfc_tri_sum_new_prefix_body_steps_partial + S (fs_r_pfc_tri_sum_new_prefix_body_steps) = S ((S (fs_i_pfc_tri_sum_new_prefix_body_steps)) * fs_v_pfc_tri_sum_new_prefix)) /\ exists fs_q_pfc_tri_sum_new_prefix_body_steps_partial. fs_u_pfc_tri_sum_new_prefix = fs_q_pfc_tri_sum_new_prefix_body_steps_partial * S ((S (fs_i_pfc_tri_sum_new_prefix_body_steps)) * fs_v_pfc_tri_sum_new_prefix) + (fs_r_pfc_tri_sum_new_prefix_body_steps))) /\ ((((exists fs_h_pfc_tri_sum_new_prefix_body_steps_successor. fs_h_pfc_tri_sum_new_prefix_body_steps_successor + S (fs_s_pfc_tri_sum_new_prefix_body_steps) = S ((S (S fs_i_pfc_tri_sum_new_prefix_body_steps)) * fs_v_pfc_tri_sum_new_prefix)) /\ exists fs_q_pfc_tri_sum_new_prefix_body_steps_successor. fs_u_pfc_tri_sum_new_prefix = fs_q_pfc_tri_sum_new_prefix_body_steps_successor * S ((S (S fs_i_pfc_tri_sum_new_prefix_body_steps)) * fs_v_pfc_tri_sum_new_prefix) + (fs_s_pfc_tri_sum_new_prefix_body_steps))) /\ fs_s_pfc_tri_sum_new_prefix_body_steps = fs_r_pfc_tri_sum_new_prefix_body_steps + fs_a_pfc_tri_sum_new_prefix_body_steps)))))) /\ ((v=s+t)))))specialize beta_sum_succ_decompose (eb)specialize beta_sum_succ_decompose (ec)specialize beta_sum_succ_decompose (N)specialize beta_sum_succ_decompose (v)apply beta_sum_succ_decomposeexact hvcases hnewcases hnew_witnesscases hnew_witness_witnesscases hnew_witness_witness_righthave hz : x=0specialize polynomial_diagonal_last_term_left_empty (ab)specialize polynomial_diagonal_last_term_left_empty (ac)specialize polynomial_diagonal_last_term_left_empty (bb)specialize polynomial_diagonal_last_term_left_empty (bc)specialize polynomial_diagonal_last_term_left_empty (S d)specialize polynomial_diagonal_last_term_left_empty (N)specialize polynomial_diagonal_last_term_left_empty (x)apply polynomial_diagonal_last_term_left_emptyspecialize polynomial_diagonal_prefix_entry (ab)specialize polynomial_diagonal_prefix_entry (ac)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (bb)specialize polynomial_diagonal_prefix_entry (bc)specialize polynomial_diagonal_prefix_entry (S d)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (db)specialize polynomial_diagonal_prefix_entry (dc)specialize polynomial_diagonal_prefix_entry (S N)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (x)apply polynomial_diagonal_prefix_entryexact hdspecialize le_refl (S N)apply le_reflexact hold_witness_witness_lefthave ht : x2=a*bspecialize polynomial_diagonal_last_term_left_append (AB)specialize polynomial_diagonal_last_term_left_append (AC)specialize polynomial_diagonal_last_term_left_append (bb)specialize polynomial_diagonal_last_term_left_append (bc)specialize polynomial_diagonal_last_term_left_append (d)specialize polynomial_diagonal_last_term_left_append (N)specialize polynomial_diagonal_last_term_left_append (a)specialize polynomial_diagonal_last_term_left_append (b)specialize polynomial_diagonal_last_term_left_append (x2)apply polynomial_diagonal_last_term_left_appendexact haexact hbspecialize polynomial_diagonal_prefix_entry (AB)specialize polynomial_diagonal_prefix_entry (AC)specialize polynomial_diagonal_prefix_entry (S N)specialize polynomial_diagonal_prefix_entry (bb)specialize polynomial_diagonal_prefix_entry (bc)specialize polynomial_diagonal_prefix_entry (S d)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (eb)specialize polynomial_diagonal_prefix_entry (ec)specialize polynomial_diagonal_prefix_entry (S N)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (x2)apply polynomial_diagonal_prefix_entryexact hetablespecialize le_refl (S N)apply le_reflexact hnew_witness_witness_lefthave hprefix : forall pfc_index_tri_sum_transported. (exists pfa_gap_tri_sum_transportedbound. pfa_gap_tri_sum_transportedbound + S (pfc_index_tri_sum_transported) = (N)) -> exists pfc_value_tri_sum_transported. ((((exists ff_h_pfp_tri_sum_transportedentry. ff_h_pfp_tri_sum_transportedentry + S (pfc_value_tri_sum_transported) = S ((S (pfc_index_tri_sum_transported)) * dc)) /\ exists ff_q_pfp_tri_sum_transportedentry. db = ff_q_pfp_tri_sum_transportedentry * S ((S (pfc_index_tri_sum_transported)) * dc) + (pfc_value_tri_sum_transported))) /\ ((exists pfc_complement_tri_sum_transportedterm pfc_left_tri_sum_transportedterm pfc_right_tri_sum_transportedterm. (((pfc_index_tri_sum_transported)+pfc_complement_tri_sum_transportedterm=(N)) /\ ((((((exists pfa_gap_tri_sum_transportedtermleftinside. pfa_gap_tri_sum_transportedtermleftinside + S (pfc_index_tri_sum_transported) = (S N)) /\ ((((exists ff_h_pfp_tri_sum_transportedtermleftentry. ff_h_pfp_tri_sum_transportedtermleftentry + S (pfc_left_tri_sum_transportedterm) = S ((S (pfc_index_tri_sum_transported)) * AC)) /\ exists ff_q_pfp_tri_sum_transportedtermleftentry. AB = ff_q_pfp_tri_sum_transportedtermleftentry * S ((S (pfc_index_tri_sum_transported)) * AC) + (pfc_left_tri_sum_transportedterm)))))) \/ (((exists pfc_gap_tri_sum_transportedtermleftoutside. pfc_gap_tri_sum_transportedtermleftoutside+(S N)=(pfc_index_tri_sum_transported)) /\ (((pfc_left_tri_sum_transportedterm)=0))))) /\ ((((((exists pfa_gap_tri_sum_transportedtermrightinside. pfa_gap_tri_sum_transportedtermrightinside + S (pfc_complement_tri_sum_transportedterm) = (S d)) /\ ((((exists ff_h_pfp_tri_sum_transportedtermrightentry. ff_h_pfp_tri_sum_transportedtermrightentry + S (pfc_right_tri_sum_transportedterm) = S ((S (pfc_complement_tri_sum_transportedterm)) * bc)) /\ exists ff_q_pfp_tri_sum_transportedtermrightentry. bb = ff_q_pfp_tri_sum_transportedtermrightentry * S ((S (pfc_complement_tri_sum_transportedterm)) * bc) + (pfc_right_tri_sum_transportedterm)))))) \/ (((exists pfc_gap_tri_sum_transportedtermrightoutside. pfc_gap_tri_sum_transportedtermrightoutside+(S d)=(pfc_complement_tri_sum_transportedterm)) /\ (((pfc_right_tri_sum_transportedterm)=0))))) /\ (((pfc_value_tri_sum_transported)=pfc_left_tri_sum_transportedterm*pfc_right_tri_sum_transportedterm))))))))))specialize polynomial_diagonal_prefix_left_transport (ab)specialize polynomial_diagonal_prefix_left_transport (ac)specialize polynomial_diagonal_prefix_left_transport (N)specialize polynomial_diagonal_prefix_left_transport (AB)specialize polynomial_diagonal_prefix_left_transport (AC)specialize polynomial_diagonal_prefix_left_transport (S N)specialize polynomial_diagonal_prefix_left_transport (bb)specialize polynomial_diagonal_prefix_left_transport (bc)specialize polynomial_diagonal_prefix_left_transport (S d)specialize polynomial_diagonal_prefix_left_transport (N)specialize polynomial_diagonal_prefix_left_transport (N)specialize polynomial_diagonal_prefix_left_transport (db)specialize polynomial_diagonal_prefix_left_transport (dc)apply polynomial_diagonal_prefix_left_transportspecialize le_refl (N)apply le_reflspecialize le_succ (N)specialize le_succ (N)apply le_succspecialize le_refl (N)apply le_reflexact heintro jintro hjspecialize hd (j)apply hdspecialize le_succ (S j)specialize le_succ (N)apply le_succexact hjhave hs : exists fs_u_pfc_tri_sum_same_prefix fs_v_pfc_tri_sum_same_prefix. ((((exists fs_h_pfc_tri_sum_same_prefix_body_start. fs_h_pfc_tri_sum_same_prefix_body_start + S (0) = S ((S (0)) * fs_v_pfc_tri_sum_same_prefix)) /\ exists fs_q_pfc_tri_sum_same_prefix_body_start. fs_u_pfc_tri_sum_same_prefix = fs_q_pfc_tri_sum_same_prefix_body_start * S ((S (0)) * fs_v_pfc_tri_sum_same_prefix) + (0))) /\ ((((exists fs_h_pfc_tri_sum_same_prefix_body_terminal. fs_h_pfc_tri_sum_same_prefix_body_terminal + S (x1) = S ((S (N)) * fs_v_pfc_tri_sum_same_prefix)) /\ exists fs_q_pfc_tri_sum_same_prefix_body_terminal. fs_u_pfc_tri_sum_same_prefix = fs_q_pfc_tri_sum_same_prefix_body_terminal * S ((S (N)) * fs_v_pfc_tri_sum_same_prefix) + (x1))) /\ forall fs_i_pfc_tri_sum_same_prefix_body_steps. (exists fs_lt_pfc_tri_sum_same_prefix_body_steps_bound. fs_lt_pfc_tri_sum_same_prefix_body_steps_bound + S fs_i_pfc_tri_sum_same_prefix_body_steps = N) -> exists fs_a_pfc_tri_sum_same_prefix_body_steps fs_r_pfc_tri_sum_same_prefix_body_steps fs_s_pfc_tri_sum_same_prefix_body_steps. ((((exists fs_h_pfc_tri_sum_same_prefix_body_steps_summand. fs_h_pfc_tri_sum_same_prefix_body_steps_summand + S (fs_a_pfc_tri_sum_same_prefix_body_steps) = S ((S (fs_i_pfc_tri_sum_same_prefix_body_steps)) * ec)) /\ exists fs_q_pfc_tri_sum_same_prefix_body_steps_summand. eb = fs_q_pfc_tri_sum_same_prefix_body_steps_summand * S ((S (fs_i_pfc_tri_sum_same_prefix_body_steps)) * ec) + (fs_a_pfc_tri_sum_same_prefix_body_steps))) /\ ((((exists fs_h_pfc_tri_sum_same_prefix_body_steps_partial. fs_h_pfc_tri_sum_same_prefix_body_steps_partial + S (fs_r_pfc_tri_sum_same_prefix_body_steps) = S ((S (fs_i_pfc_tri_sum_same_prefix_body_steps)) * fs_v_pfc_tri_sum_same_prefix)) /\ exists fs_q_pfc_tri_sum_same_prefix_body_steps_partial. fs_u_pfc_tri_sum_same_prefix = fs_q_pfc_tri_sum_same_prefix_body_steps_partial * S ((S (fs_i_pfc_tri_sum_same_prefix_body_steps)) * fs_v_pfc_tri_sum_same_prefix) + (fs_r_pfc_tri_sum_same_prefix_body_steps))) /\ ((((exists fs_h_pfc_tri_sum_same_prefix_body_steps_successor. fs_h_pfc_tri_sum_same_prefix_body_steps_successor + S (fs_s_pfc_tri_sum_same_prefix_body_steps) = S ((S (S fs_i_pfc_tri_sum_same_prefix_body_steps)) * fs_v_pfc_tri_sum_same_prefix)) /\ exists fs_q_pfc_tri_sum_same_prefix_body_steps_successor. fs_u_pfc_tri_sum_same_prefix = fs_q_pfc_tri_sum_same_prefix_body_steps_successor * S ((S (S fs_i_pfc_tri_sum_same_prefix_body_steps)) * fs_v_pfc_tri_sum_same_prefix) + (fs_s_pfc_tri_sum_same_prefix_body_steps))) /\ fs_s_pfc_tri_sum_same_prefix_body_steps = fs_r_pfc_tri_sum_same_prefix_body_steps + fs_a_pfc_tri_sum_same_prefix_body_steps)))))specialize beta_sum_transport_prefix (db)specialize beta_sum_transport_prefix (dc)specialize beta_sum_transport_prefix (eb)specialize beta_sum_transport_prefix (ec)specialize beta_sum_transport_prefix (N)specialize beta_sum_transport_prefix (x1)apply beta_sum_transport_prefixexact hold_witness_witness_right_leftspecialize polynomial_diagonal_prefix_functional (AB)specialize polynomial_diagonal_prefix_functional (AC)specialize polynomial_diagonal_prefix_functional (S N)specialize polynomial_diagonal_prefix_functional (bb)specialize polynomial_diagonal_prefix_functional (bc)specialize polynomial_diagonal_prefix_functional (S d)specialize polynomial_diagonal_prefix_functional (N)specialize polynomial_diagonal_prefix_functional (db)specialize polynomial_diagonal_prefix_functional (dc)specialize polynomial_diagonal_prefix_functional (eb)specialize polynomial_diagonal_prefix_functional (ec)specialize polynomial_diagonal_prefix_functional (N)apply polynomial_diagonal_prefix_functionalexact hprefixintro jintro hjspecialize hetable (j)apply hetablespecialize le_succ (S j)specialize le_succ (N)apply le_succexact hjhave hbase : x1=x3specialize beta_sum_functional (eb)specialize beta_sum_functional (ec)specialize beta_sum_functional (N)specialize beta_sum_functional (x1)specialize beta_sum_functional (x3)apply beta_sum_functionalexact hsexact hnew_witness_witness_right_lefthave huvalue : u=x1trans x1+xexact hold_witness_witness_right_rightrewrite hzsimptrans x3+x2exact hnew_witness_witness_right_rightcongrtrans x1symmexact hbasesymmexact huvalueexact ht
prime_field_convolution_coefficient_append · unchanged support, not a new admission
forall p ab ac AB AC bb bc d N a b c t r. (forall mdr_i_pfp_tri_append_prefix mdr_a_pfp_tri_append_prefix. (exists mdr_gap_pfp_tri_append_prefixb. mdr_gap_pfp_tri_append_prefixb + S (mdr_i_pfp_tri_append_prefix) = (N)) -> (((exists ff_h_mdr_pfp_tri_append_prefixo. ff_h_mdr_pfp_tri_append_prefixo + S (mdr_a_pfp_tri_append_prefix) = S ((S (mdr_i_pfp_tri_append_prefix)) * ac)) /\ exists ff_q_mdr_pfp_tri_append_prefixo. ab = ff_q_mdr_pfp_tri_append_prefixo * S ((S (mdr_i_pfp_tri_append_prefix)) * ac) + (mdr_a_pfp_tri_append_prefix))) -> (((exists ff_h_mdr_pfp_tri_append_prefixn. ff_h_mdr_pfp_tri_append_prefixn + S (mdr_a_pfp_tri_append_prefix) = S ((S (mdr_i_pfp_tri_append_prefix)) * AC)) /\ exists ff_q_mdr_pfp_tri_append_prefixn. AB = ff_q_mdr_pfp_tri_append_prefixn * S ((S (mdr_i_pfp_tri_append_prefix)) * AC) + (mdr_a_pfp_tri_append_prefix)))) -> (((exists ff_h_pfp_tri_append_actual_entry. ff_h_pfp_tri_append_actual_entry + S (a) = S ((S (N)) * AC)) /\ exists ff_q_pfp_tri_append_actual_entry. AB = ff_q_pfp_tri_append_actual_entry * S ((S (N)) * AC) + (a))) -> (((exists ff_h_pfp_tri_append_actual_head. ff_h_pfp_tri_append_actual_head + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_tri_append_actual_head. bb = ff_q_pfp_tri_append_actual_head * S ((S (0)) * bc) + (b))) -> (exists pfc_terms_code_tri_append_previous_coefficient pfc_terms_scale_tri_append_previous_coefficient pfc_natural_sum_tri_append_previous_coefficient. ((forall pfc_index_tri_append_previous_coefficientdiagonal. (exists pfa_gap_tri_append_previous_coefficientdiagonalbound. pfa_gap_tri_append_previous_coefficientdiagonalbound + S (pfc_index_tri_append_previous_coefficientdiagonal) = (S (N))) -> exists pfc_value_tri_append_previous_coefficientdiagonal. ((((exists ff_h_pfp_tri_append_previous_coefficientdiagonalentry. ff_h_pfp_tri_append_previous_coefficientdiagonalentry + S (pfc_value_tri_append_previous_coefficientdiagonal) = S ((S (pfc_index_tri_append_previous_coefficientdiagonal)) * pfc_terms_scale_tri_append_previous_coefficient)) /\ exists ff_q_pfp_tri_append_previous_coefficientdiagonalentry. pfc_terms_code_tri_append_previous_coefficient = ff_q_pfp_tri_append_previous_coefficientdiagonalentry * S ((S (pfc_index_tri_append_previous_coefficientdiagonal)) * pfc_terms_scale_tri_append_previous_coefficient) + (pfc_value_tri_append_previous_coefficientdiagonal))) /\ ((exists pfc_complement_tri_append_previous_coefficientdiagonalterm pfc_left_tri_append_previous_coefficientdiagonalterm pfc_right_tri_append_previous_coefficientdiagonalterm. (((pfc_index_tri_append_previous_coefficientdiagonal)+pfc_complement_tri_append_previous_coefficientdiagonalterm=(N)) /\ ((((((exists pfa_gap_tri_append_previous_coefficientdiagonaltermleftinside. pfa_gap_tri_append_previous_coefficientdiagonaltermleftinside + S (pfc_index_tri_append_previous_coefficientdiagonal) = (N)) /\ ((((exists ff_h_pfp_tri_append_previous_coefficientdiagonaltermleftentry. ff_h_pfp_tri_append_previous_coefficientdiagonaltermleftentry + S (pfc_left_tri_append_previous_coefficientdiagonalterm) = S ((S (pfc_index_tri_append_previous_coefficientdiagonal)) * ac)) /\ exists ff_q_pfp_tri_append_previous_coefficientdiagonaltermleftentry. ab = ff_q_pfp_tri_append_previous_coefficientdiagonaltermleftentry * S ((S (pfc_index_tri_append_previous_coefficientdiagonal)) * ac) + (pfc_left_tri_append_previous_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_tri_append_previous_coefficientdiagonaltermleftoutside. pfc_gap_tri_append_previous_coefficientdiagonaltermleftoutside+(N)=(pfc_index_tri_append_previous_coefficientdiagonal)) /\ (((pfc_left_tri_append_previous_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_tri_append_previous_coefficientdiagonaltermrightinside. pfa_gap_tri_append_previous_coefficientdiagonaltermrightinside + S (pfc_complement_tri_append_previous_coefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_tri_append_previous_coefficientdiagonaltermrightentry. ff_h_pfp_tri_append_previous_coefficientdiagonaltermrightentry + S (pfc_right_tri_append_previous_coefficientdiagonalterm) = S ((S (pfc_complement_tri_append_previous_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_tri_append_previous_coefficientdiagonaltermrightentry. bb = ff_q_pfp_tri_append_previous_coefficientdiagonaltermrightentry * S ((S (pfc_complement_tri_append_previous_coefficientdiagonalterm)) * bc) + (pfc_right_tri_append_previous_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_tri_append_previous_coefficientdiagonaltermrightoutside. pfc_gap_tri_append_previous_coefficientdiagonaltermrightoutside+(S d)=(pfc_complement_tri_append_previous_coefficientdiagonalterm)) /\ (((pfc_right_tri_append_previous_coefficientdiagonalterm)=0))))) /\ (((pfc_value_tri_append_previous_coefficientdiagonal)=pfc_left_tri_append_previous_coefficientdiagonalterm*pfc_right_tri_append_previous_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_tri_append_previous_coefficientsum fs_v_pfc_tri_append_previous_coefficientsum. ((((exists fs_h_pfc_tri_append_previous_coefficientsum_body_start. fs_h_pfc_tri_append_previous_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_tri_append_previous_coefficientsum)) /\ exists fs_q_pfc_tri_append_previous_coefficientsum_body_start. fs_u_pfc_tri_append_previous_coefficientsum = fs_q_pfc_tri_append_previous_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_tri_append_previous_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_tri_append_previous_coefficientsum_body_terminal. fs_h_pfc_tri_append_previous_coefficientsum_body_terminal + S (pfc_natural_sum_tri_append_previous_coefficient) = S ((S (S (N))) * fs_v_pfc_tri_append_previous_coefficientsum)) /\ exists fs_q_pfc_tri_append_previous_coefficientsum_body_terminal. fs_u_pfc_tri_append_previous_coefficientsum = fs_q_pfc_tri_append_previous_coefficientsum_body_terminal * S ((S (S (N))) * fs_v_pfc_tri_append_previous_coefficientsum) + (pfc_natural_sum_tri_append_previous_coefficient))) /\ forall fs_i_pfc_tri_append_previous_coefficientsum_body_steps. (exists fs_lt_pfc_tri_append_previous_coefficientsum_body_steps_bound. fs_lt_pfc_tri_append_previous_coefficientsum_body_steps_bound + S fs_i_pfc_tri_append_previous_coefficientsum_body_steps = S (N)) -> exists fs_a_pfc_tri_append_previous_coefficientsum_body_steps fs_r_pfc_tri_append_previous_coefficientsum_body_steps fs_s_pfc_tri_append_previous_coefficientsum_body_steps. ((((exists fs_h_pfc_tri_append_previous_coefficientsum_body_steps_summand. fs_h_pfc_tri_append_previous_coefficientsum_body_steps_summand + S (fs_a_pfc_tri_append_previous_coefficientsum_body_steps) = S ((S (fs_i_pfc_tri_append_previous_coefficientsum_body_steps)) * pfc_terms_scale_tri_append_previous_coefficient)) /\ exists fs_q_pfc_tri_append_previous_coefficientsum_body_steps_summand. pfc_terms_code_tri_append_previous_coefficient = fs_q_pfc_tri_append_previous_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_tri_append_previous_coefficientsum_body_steps)) * pfc_terms_scale_tri_append_previous_coefficient) + (fs_a_pfc_tri_append_previous_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_tri_append_previous_coefficientsum_body_steps_partial. fs_h_pfc_tri_append_previous_coefficientsum_body_steps_partial + S (fs_r_pfc_tri_append_previous_coefficientsum_body_steps) = S ((S (fs_i_pfc_tri_append_previous_coefficientsum_body_steps)) * fs_v_pfc_tri_append_previous_coefficientsum)) /\ exists fs_q_pfc_tri_append_previous_coefficientsum_body_steps_partial. fs_u_pfc_tri_append_previous_coefficientsum = fs_q_pfc_tri_append_previous_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_tri_append_previous_coefficientsum_body_steps)) * fs_v_pfc_tri_append_previous_coefficientsum) + (fs_r_pfc_tri_append_previous_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_tri_append_previous_coefficientsum_body_steps_successor. fs_h_pfc_tri_append_previous_coefficientsum_body_steps_successor + S (fs_s_pfc_tri_append_previous_coefficientsum_body_steps) = S ((S (S fs_i_pfc_tri_append_previous_coefficientsum_body_steps)) * fs_v_pfc_tri_append_previous_coefficientsum)) /\ exists fs_q_pfc_tri_append_previous_coefficientsum_body_steps_successor. fs_u_pfc_tri_append_previous_coefficientsum = fs_q_pfc_tri_append_previous_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_tri_append_previous_coefficientsum_body_steps)) * fs_v_pfc_tri_append_previous_coefficientsum) + (fs_s_pfc_tri_append_previous_coefficientsum_body_steps))) /\ fs_s_pfc_tri_append_previous_coefficientsum_body_steps = fs_r_pfc_tri_append_previous_coefficientsum_body_steps + fs_a_pfc_tri_append_previous_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_tri_append_previous_coefficientresiduebound. pfa_gap_tri_append_previous_coefficientresiduebound + S (c) = (p)) /\ ((exists pfa_offset_left_tri_append_previous_coefficientresiduecongruence pfa_offset_right_tri_append_previous_coefficientresiduecongruence. (pfc_natural_sum_tri_append_previous_coefficient) + (p) * pfa_offset_left_tri_append_previous_coefficientresiduecongruence = (c) + (p) * pfa_offset_right_tri_append_previous_coefficientresiduecongruence))))))))) -> (exists pfc_terms_code_tri_append_actual_coefficient pfc_terms_scale_tri_append_actual_coefficient pfc_natural_sum_tri_append_actual_coefficient. ((forall pfc_index_tri_append_actual_coefficientdiagonal. (exists pfa_gap_tri_append_actual_coefficientdiagonalbound. pfa_gap_tri_append_actual_coefficientdiagonalbound + S (pfc_index_tri_append_actual_coefficientdiagonal) = (S (N))) -> exists pfc_value_tri_append_actual_coefficientdiagonal. ((((exists ff_h_pfp_tri_append_actual_coefficientdiagonalentry. ff_h_pfp_tri_append_actual_coefficientdiagonalentry + S (pfc_value_tri_append_actual_coefficientdiagonal) = S ((S (pfc_index_tri_append_actual_coefficientdiagonal)) * pfc_terms_scale_tri_append_actual_coefficient)) /\ exists ff_q_pfp_tri_append_actual_coefficientdiagonalentry. pfc_terms_code_tri_append_actual_coefficient = ff_q_pfp_tri_append_actual_coefficientdiagonalentry * S ((S (pfc_index_tri_append_actual_coefficientdiagonal)) * pfc_terms_scale_tri_append_actual_coefficient) + (pfc_value_tri_append_actual_coefficientdiagonal))) /\ ((exists pfc_complement_tri_append_actual_coefficientdiagonalterm pfc_left_tri_append_actual_coefficientdiagonalterm pfc_right_tri_append_actual_coefficientdiagonalterm. (((pfc_index_tri_append_actual_coefficientdiagonal)+pfc_complement_tri_append_actual_coefficientdiagonalterm=(N)) /\ ((((((exists pfa_gap_tri_append_actual_coefficientdiagonaltermleftinside. pfa_gap_tri_append_actual_coefficientdiagonaltermleftinside + S (pfc_index_tri_append_actual_coefficientdiagonal) = (S N)) /\ ((((exists ff_h_pfp_tri_append_actual_coefficientdiagonaltermleftentry. ff_h_pfp_tri_append_actual_coefficientdiagonaltermleftentry + S (pfc_left_tri_append_actual_coefficientdiagonalterm) = S ((S (pfc_index_tri_append_actual_coefficientdiagonal)) * AC)) /\ exists ff_q_pfp_tri_append_actual_coefficientdiagonaltermleftentry. AB = ff_q_pfp_tri_append_actual_coefficientdiagonaltermleftentry * S ((S (pfc_index_tri_append_actual_coefficientdiagonal)) * AC) + (pfc_left_tri_append_actual_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_tri_append_actual_coefficientdiagonaltermleftoutside. pfc_gap_tri_append_actual_coefficientdiagonaltermleftoutside+(S N)=(pfc_index_tri_append_actual_coefficientdiagonal)) /\ (((pfc_left_tri_append_actual_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_tri_append_actual_coefficientdiagonaltermrightinside. pfa_gap_tri_append_actual_coefficientdiagonaltermrightinside + S (pfc_complement_tri_append_actual_coefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_tri_append_actual_coefficientdiagonaltermrightentry. ff_h_pfp_tri_append_actual_coefficientdiagonaltermrightentry + S (pfc_right_tri_append_actual_coefficientdiagonalterm) = S ((S (pfc_complement_tri_append_actual_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_tri_append_actual_coefficientdiagonaltermrightentry. bb = ff_q_pfp_tri_append_actual_coefficientdiagonaltermrightentry * S ((S (pfc_complement_tri_append_actual_coefficientdiagonalterm)) * bc) + (pfc_right_tri_append_actual_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_tri_append_actual_coefficientdiagonaltermrightoutside. pfc_gap_tri_append_actual_coefficientdiagonaltermrightoutside+(S d)=(pfc_complement_tri_append_actual_coefficientdiagonalterm)) /\ (((pfc_right_tri_append_actual_coefficientdiagonalterm)=0))))) /\ (((pfc_value_tri_append_actual_coefficientdiagonal)=pfc_left_tri_append_actual_coefficientdiagonalterm*pfc_right_tri_append_actual_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_tri_append_actual_coefficientsum fs_v_pfc_tri_append_actual_coefficientsum. ((((exists fs_h_pfc_tri_append_actual_coefficientsum_body_start. fs_h_pfc_tri_append_actual_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_tri_append_actual_coefficientsum)) /\ exists fs_q_pfc_tri_append_actual_coefficientsum_body_start. fs_u_pfc_tri_append_actual_coefficientsum = fs_q_pfc_tri_append_actual_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_tri_append_actual_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_tri_append_actual_coefficientsum_body_terminal. fs_h_pfc_tri_append_actual_coefficientsum_body_terminal + S (pfc_natural_sum_tri_append_actual_coefficient) = S ((S (S (N))) * fs_v_pfc_tri_append_actual_coefficientsum)) /\ exists fs_q_pfc_tri_append_actual_coefficientsum_body_terminal. fs_u_pfc_tri_append_actual_coefficientsum = fs_q_pfc_tri_append_actual_coefficientsum_body_terminal * S ((S (S (N))) * fs_v_pfc_tri_append_actual_coefficientsum) + (pfc_natural_sum_tri_append_actual_coefficient))) /\ forall fs_i_pfc_tri_append_actual_coefficientsum_body_steps. (exists fs_lt_pfc_tri_append_actual_coefficientsum_body_steps_bound. fs_lt_pfc_tri_append_actual_coefficientsum_body_steps_bound + S fs_i_pfc_tri_append_actual_coefficientsum_body_steps = S (N)) -> exists fs_a_pfc_tri_append_actual_coefficientsum_body_steps fs_r_pfc_tri_append_actual_coefficientsum_body_steps fs_s_pfc_tri_append_actual_coefficientsum_body_steps. ((((exists fs_h_pfc_tri_append_actual_coefficientsum_body_steps_summand. fs_h_pfc_tri_append_actual_coefficientsum_body_steps_summand + S (fs_a_pfc_tri_append_actual_coefficientsum_body_steps) = S ((S (fs_i_pfc_tri_append_actual_coefficientsum_body_steps)) * pfc_terms_scale_tri_append_actual_coefficient)) /\ exists fs_q_pfc_tri_append_actual_coefficientsum_body_steps_summand. pfc_terms_code_tri_append_actual_coefficient = fs_q_pfc_tri_append_actual_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_tri_append_actual_coefficientsum_body_steps)) * pfc_terms_scale_tri_append_actual_coefficient) + (fs_a_pfc_tri_append_actual_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_tri_append_actual_coefficientsum_body_steps_partial. fs_h_pfc_tri_append_actual_coefficientsum_body_steps_partial + S (fs_r_pfc_tri_append_actual_coefficientsum_body_steps) = S ((S (fs_i_pfc_tri_append_actual_coefficientsum_body_steps)) * fs_v_pfc_tri_append_actual_coefficientsum)) /\ exists fs_q_pfc_tri_append_actual_coefficientsum_body_steps_partial. fs_u_pfc_tri_append_actual_coefficientsum = fs_q_pfc_tri_append_actual_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_tri_append_actual_coefficientsum_body_steps)) * fs_v_pfc_tri_append_actual_coefficientsum) + (fs_r_pfc_tri_append_actual_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_tri_append_actual_coefficientsum_body_steps_successor. fs_h_pfc_tri_append_actual_coefficientsum_body_steps_successor + S (fs_s_pfc_tri_append_actual_coefficientsum_body_steps) = S ((S (S fs_i_pfc_tri_append_actual_coefficientsum_body_steps)) * fs_v_pfc_tri_append_actual_coefficientsum)) /\ exists fs_q_pfc_tri_append_actual_coefficientsum_body_steps_successor. fs_u_pfc_tri_append_actual_coefficientsum = fs_q_pfc_tri_append_actual_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_tri_append_actual_coefficientsum_body_steps)) * fs_v_pfc_tri_append_actual_coefficientsum) + (fs_s_pfc_tri_append_actual_coefficientsum_body_steps))) /\ fs_s_pfc_tri_append_actual_coefficientsum_body_steps = fs_r_pfc_tri_append_actual_coefficientsum_body_steps + fs_a_pfc_tri_append_actual_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_tri_append_actual_coefficientresiduebound. pfa_gap_tri_append_actual_coefficientresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_tri_append_actual_coefficientresiduecongruence pfa_offset_right_tri_append_actual_coefficientresiduecongruence. (pfc_natural_sum_tri_append_actual_coefficient) + (p) * pfa_offset_left_tri_append_actual_coefficientresiduecongruence = (r) + (p) * pfa_offset_right_tri_append_actual_coefficientresiduecongruence))))))))) -> (((exists pfa_gap_tri_append_actual_productleft. pfa_gap_tri_append_actual_productleft + S (a) = (p)) /\ (((exists pfa_gap_tri_append_actual_productright. pfa_gap_tri_append_actual_productright + S (b) = (p)) /\ ((((exists pfa_gap_tri_append_actual_productresultbound. pfa_gap_tri_append_actual_productresultbound + S (t) = (p)) /\ ((exists pfa_offset_left_tri_append_actual_productresultcongruence pfa_offset_right_tri_append_actual_productresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_tri_append_actual_productresultcongruence = (t) + (p) * pfa_offset_right_tri_append_actual_productresultcongruence))))))))) -> (((exists pfa_gap_tri_append_resultleft. pfa_gap_tri_append_resultleft + S (c) = (p)) /\ (((exists pfa_gap_tri_append_resultright. pfa_gap_tri_append_resultright + S (t) = (p)) /\ ((((exists pfa_gap_tri_append_resultresultbound. pfa_gap_tri_append_resultresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_tri_append_resultresultcongruence pfa_offset_right_tri_append_resultresultcongruence. ((c) + (t)) + (p) * pfa_offset_left_tri_append_resultresultcongruence = (r) + (p) * pfa_offset_right_tri_append_resultresultcongruence)))))))))
intro pintro abintro acintro ABintro ACintro bbintro bcintro dintro Nintro aintro bintro cintro tintro rintro heintro haintro hbintro hcintro hrintro hmcases hccases hc_witnesscases hc_witness_witnesscases hc_witness_witness_witnesscases hc_witness_witness_witness_rightcases hrcases hr_witnesscases hr_witness_witnesscases hr_witness_witness_witnesscases hr_witness_witness_witness_righthave hn : x5=x2+a*bspecialize polynomial_diagonal_sum_left_append (ab)specialize polynomial_diagonal_sum_left_append (ac)specialize polynomial_diagonal_sum_left_append (AB)specialize polynomial_diagonal_sum_left_append (AC)specialize polynomial_diagonal_sum_left_append (bb)specialize polynomial_diagonal_sum_left_append (bc)specialize polynomial_diagonal_sum_left_append (d)specialize polynomial_diagonal_sum_left_append (N)specialize polynomial_diagonal_sum_left_append (a)specialize polynomial_diagonal_sum_left_append (b)specialize polynomial_diagonal_sum_left_append (x)specialize polynomial_diagonal_sum_left_append (x1)specialize polynomial_diagonal_sum_left_append (x3)specialize polynomial_diagonal_sum_left_append (x4)specialize polynomial_diagonal_sum_left_append (x2)specialize polynomial_diagonal_sum_left_append (x5)apply polynomial_diagonal_sum_left_appendexact heexact haexact hbexact hc_witness_witness_witness_leftexact hc_witness_witness_witness_right_leftexact hr_witness_witness_witness_leftexact hr_witness_witness_witness_right_leftcases hc_witness_witness_witness_right_rightcases hr_witness_witness_witness_right_rightcases hmcases hm_rightcases hm_right_rightrewrite hn at hr_witness_witness_witness_right_right_rightsplitexact hc_witness_witness_witness_right_right_leftsplitexact hm_right_right_leftsplitexact hr_witness_witness_witness_right_right_leftspecialize mod_eq_trans (p)specialize mod_eq_trans (c+t)specialize mod_eq_trans (x2+a*b)specialize mod_eq_trans (r)apply mod_eq_transspecialize mod_eq_symm (p)specialize mod_eq_symm (x2+a*b)specialize mod_eq_symm (c+t)apply mod_eq_symmspecialize mod_eq_add (p)specialize mod_eq_add (x2)specialize mod_eq_add (c)specialize mod_eq_add (a*b)specialize mod_eq_add (t)apply mod_eq_addexact hc_witness_witness_witness_right_right_rightexact hm_right_right_rightexact hr_witness_witness_witness_right_right_right
prime_field_add_functional · unchanged support, not a new admission
forall p a b c d. (((exists pfa_gap_addfirstleft. pfa_gap_addfirstleft + S (a) = (p)) /\ (((exists pfa_gap_addfirstright. pfa_gap_addfirstright + S (b) = (p)) /\ ((((exists pfa_gap_addfirstresultbound. pfa_gap_addfirstresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_addfirstresultcongruence pfa_offset_right_addfirstresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_addfirstresultcongruence = (c) + (p) * pfa_offset_right_addfirstresultcongruence))))))))) -> (((exists pfa_gap_addsecondleft. pfa_gap_addsecondleft + S (a) = (p)) /\ (((exists pfa_gap_addsecondright. pfa_gap_addsecondright + S (b) = (p)) /\ ((((exists pfa_gap_addsecondresultbound. pfa_gap_addsecondresultbound + S (d) = (p)) /\ ((exists pfa_offset_left_addsecondresultcongruence pfa_offset_right_addsecondresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_addsecondresultcongruence = (d) + (p) * pfa_offset_right_addsecondresultcongruence))))))))) -> c = d
intro pintro aintro bintro cintro dintro hcintro hdcases hccases hc_rightcases hdcases hd_rightspecialize binary_canonical_residue_functional (p)specialize binary_canonical_residue_functional (a + b)specialize binary_canonical_residue_functional (c)specialize binary_canonical_residue_functional (d)apply binary_canonical_residue_functionalexact hc_right_rightexact hd_right_right
prime_field_multiply_commutative · unchanged support, not a new admission
forall p a b c. (((exists pfa_gap_multiplycomm_sourceleft. pfa_gap_multiplycomm_sourceleft + S (a) = (p)) /\ (((exists pfa_gap_multiplycomm_sourceright. pfa_gap_multiplycomm_sourceright + S (b) = (p)) /\ ((((exists pfa_gap_multiplycomm_sourceresultbound. pfa_gap_multiplycomm_sourceresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_multiplycomm_sourceresultcongruence pfa_offset_right_multiplycomm_sourceresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_multiplycomm_sourceresultcongruence = (c) + (p) * pfa_offset_right_multiplycomm_sourceresultcongruence))))))))) -> (((exists pfa_gap_multiplycomm_targetleft. pfa_gap_multiplycomm_targetleft + S (b) = (p)) /\ (((exists pfa_gap_multiplycomm_targetright. pfa_gap_multiplycomm_targetright + S (a) = (p)) /\ ((((exists pfa_gap_multiplycomm_targetresultbound. pfa_gap_multiplycomm_targetresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_multiplycomm_targetresultcongruence pfa_offset_right_multiplycomm_targetresultcongruence. ((b) * (a)) + (p) * pfa_offset_left_multiplycomm_targetresultcongruence = (c) + (p) * pfa_offset_right_multiplycomm_targetresultcongruence)))))))))
intro pintro aintro bintro cintro hcases hcases h_rightsplitexact h_right_leftsplitexact h_leftspecialize prime_field_residue_input_equal (p)specialize prime_field_residue_input_equal (b * a)specialize prime_field_residue_input_equal (a * b)specialize prime_field_residue_input_equal (c)apply prime_field_residue_input_equalspecialize mul_comm (b)specialize mul_comm (a)apply mul_commexact h_right_right
prime_field_polynomial_constant_right_coefficient · unchanged support, not a new admission
forall p ab ac L bb bc k i a r. (~((p) = 1) /\ forall pfa_factor_left_constant_coefficient_prime pfa_factor_right_constant_coefficient_prime. (p) = pfa_factor_left_constant_coefficient_prime * pfa_factor_right_constant_coefficient_prime -> pfa_factor_left_constant_coefficient_prime = 1 \/ pfa_factor_right_constant_coefficient_prime = 1) -> (forall fom_index_pfp_constant_coefficient_A. (exists fom_gap_pfp_constant_coefficient_A_index_bound. fom_gap_pfp_constant_coefficient_A_index_bound + S (fom_index_pfp_constant_coefficient_A) = L) -> exists fom_value_pfp_constant_coefficient_A. ((((exists fom_beta_height_pfp_constant_coefficient_A_entry. fom_beta_height_pfp_constant_coefficient_A_entry + S (fom_value_pfp_constant_coefficient_A) = S ((S (fom_index_pfp_constant_coefficient_A)) * ac)) /\ exists fom_beta_quotient_pfp_constant_coefficient_A_entry. ab = fom_beta_quotient_pfp_constant_coefficient_A_entry * S ((S (fom_index_pfp_constant_coefficient_A)) * ac) + (fom_value_pfp_constant_coefficient_A))) /\ (exists fom_gap_pfp_constant_coefficient_A_value_bound. fom_gap_pfp_constant_coefficient_A_value_bound + S (fom_value_pfp_constant_coefficient_A) = p))) -> (forall fom_index_pfp_constant_coefficient_B. (exists fom_gap_pfp_constant_coefficient_B_index_bound. fom_gap_pfp_constant_coefficient_B_index_bound + S (fom_index_pfp_constant_coefficient_B) = 1) -> exists fom_value_pfp_constant_coefficient_B. ((((exists fom_beta_height_pfp_constant_coefficient_B_entry. fom_beta_height_pfp_constant_coefficient_B_entry + S (fom_value_pfp_constant_coefficient_B) = S ((S (fom_index_pfp_constant_coefficient_B)) * bc)) /\ exists fom_beta_quotient_pfp_constant_coefficient_B_entry. bb = fom_beta_quotient_pfp_constant_coefficient_B_entry * S ((S (fom_index_pfp_constant_coefficient_B)) * bc) + (fom_value_pfp_constant_coefficient_B))) /\ (exists fom_gap_pfp_constant_coefficient_B_value_bound. fom_gap_pfp_constant_coefficient_B_value_bound + S (fom_value_pfp_constant_coefficient_B) = p))) -> (((exists ff_h_pfp_constant_coefficient_constant. ff_h_pfp_constant_coefficient_constant + S (k) = S ((S (0)) * bc)) /\ exists ff_q_pfp_constant_coefficient_constant. bb = ff_q_pfp_constant_coefficient_constant * S ((S (0)) * bc) + (k))) -> (exists pfa_gap_constant_coefficient_index. pfa_gap_constant_coefficient_index + S (i) = (L)) -> (((exists ff_h_pfp_constant_coefficient_entry. ff_h_pfp_constant_coefficient_entry + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_constant_coefficient_entry. ab = ff_q_pfp_constant_coefficient_entry * S ((S (i)) * ac) + (a))) -> (exists pfc_terms_code_constant_coefficient_actual pfc_terms_scale_constant_coefficient_actual pfc_natural_sum_constant_coefficient_actual. ((forall pfc_index_constant_coefficient_actualdiagonal. (exists pfa_gap_constant_coefficient_actualdiagonalbound. pfa_gap_constant_coefficient_actualdiagonalbound + S (pfc_index_constant_coefficient_actualdiagonal) = (S (i))) -> exists pfc_value_constant_coefficient_actualdiagonal. ((((exists ff_h_pfp_constant_coefficient_actualdiagonalentry. ff_h_pfp_constant_coefficient_actualdiagonalentry + S (pfc_value_constant_coefficient_actualdiagonal) = S ((S (pfc_index_constant_coefficient_actualdiagonal)) * pfc_terms_scale_constant_coefficient_actual)) /\ exists ff_q_pfp_constant_coefficient_actualdiagonalentry. pfc_terms_code_constant_coefficient_actual = ff_q_pfp_constant_coefficient_actualdiagonalentry * S ((S (pfc_index_constant_coefficient_actualdiagonal)) * pfc_terms_scale_constant_coefficient_actual) + (pfc_value_constant_coefficient_actualdiagonal))) /\ ((exists pfc_complement_constant_coefficient_actualdiagonalterm pfc_left_constant_coefficient_actualdiagonalterm pfc_right_constant_coefficient_actualdiagonalterm. (((pfc_index_constant_coefficient_actualdiagonal)+pfc_complement_constant_coefficient_actualdiagonalterm=(i)) /\ ((((((exists pfa_gap_constant_coefficient_actualdiagonaltermleftinside. pfa_gap_constant_coefficient_actualdiagonaltermleftinside + S (pfc_index_constant_coefficient_actualdiagonal) = (L)) /\ ((((exists ff_h_pfp_constant_coefficient_actualdiagonaltermleftentry. ff_h_pfp_constant_coefficient_actualdiagonaltermleftentry + S (pfc_left_constant_coefficient_actualdiagonalterm) = S ((S (pfc_index_constant_coefficient_actualdiagonal)) * ac)) /\ exists ff_q_pfp_constant_coefficient_actualdiagonaltermleftentry. ab = ff_q_pfp_constant_coefficient_actualdiagonaltermleftentry * S ((S (pfc_index_constant_coefficient_actualdiagonal)) * ac) + (pfc_left_constant_coefficient_actualdiagonalterm)))))) \/ (((exists pfc_gap_constant_coefficient_actualdiagonaltermleftoutside. pfc_gap_constant_coefficient_actualdiagonaltermleftoutside+(L)=(pfc_index_constant_coefficient_actualdiagonal)) /\ (((pfc_left_constant_coefficient_actualdiagonalterm)=0))))) /\ ((((((exists pfa_gap_constant_coefficient_actualdiagonaltermrightinside. pfa_gap_constant_coefficient_actualdiagonaltermrightinside + S (pfc_complement_constant_coefficient_actualdiagonalterm) = (1)) /\ ((((exists ff_h_pfp_constant_coefficient_actualdiagonaltermrightentry. ff_h_pfp_constant_coefficient_actualdiagonaltermrightentry + S (pfc_right_constant_coefficient_actualdiagonalterm) = S ((S (pfc_complement_constant_coefficient_actualdiagonalterm)) * bc)) /\ exists ff_q_pfp_constant_coefficient_actualdiagonaltermrightentry. bb = ff_q_pfp_constant_coefficient_actualdiagonaltermrightentry * S ((S (pfc_complement_constant_coefficient_actualdiagonalterm)) * bc) + (pfc_right_constant_coefficient_actualdiagonalterm)))))) \/ (((exists pfc_gap_constant_coefficient_actualdiagonaltermrightoutside. pfc_gap_constant_coefficient_actualdiagonaltermrightoutside+(1)=(pfc_complement_constant_coefficient_actualdiagonalterm)) /\ (((pfc_right_constant_coefficient_actualdiagonalterm)=0))))) /\ (((pfc_value_constant_coefficient_actualdiagonal)=pfc_left_constant_coefficient_actualdiagonalterm*pfc_right_constant_coefficient_actualdiagonalterm))))))))))) /\ (((exists fs_u_pfc_constant_coefficient_actualsum fs_v_pfc_constant_coefficient_actualsum. ((((exists fs_h_pfc_constant_coefficient_actualsum_body_start. fs_h_pfc_constant_coefficient_actualsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_constant_coefficient_actualsum)) /\ exists fs_q_pfc_constant_coefficient_actualsum_body_start. fs_u_pfc_constant_coefficient_actualsum = fs_q_pfc_constant_coefficient_actualsum_body_start * S ((S (0)) * fs_v_pfc_constant_coefficient_actualsum) + (0))) /\ ((((exists fs_h_pfc_constant_coefficient_actualsum_body_terminal. fs_h_pfc_constant_coefficient_actualsum_body_terminal + S (pfc_natural_sum_constant_coefficient_actual) = S ((S (S (i))) * fs_v_pfc_constant_coefficient_actualsum)) /\ exists fs_q_pfc_constant_coefficient_actualsum_body_terminal. fs_u_pfc_constant_coefficient_actualsum = fs_q_pfc_constant_coefficient_actualsum_body_terminal * S ((S (S (i))) * fs_v_pfc_constant_coefficient_actualsum) + (pfc_natural_sum_constant_coefficient_actual))) /\ forall fs_i_pfc_constant_coefficient_actualsum_body_steps. (exists fs_lt_pfc_constant_coefficient_actualsum_body_steps_bound. fs_lt_pfc_constant_coefficient_actualsum_body_steps_bound + S fs_i_pfc_constant_coefficient_actualsum_body_steps = S (i)) -> exists fs_a_pfc_constant_coefficient_actualsum_body_steps fs_r_pfc_constant_coefficient_actualsum_body_steps fs_s_pfc_constant_coefficient_actualsum_body_steps. ((((exists fs_h_pfc_constant_coefficient_actualsum_body_steps_summand. fs_h_pfc_constant_coefficient_actualsum_body_steps_summand + S (fs_a_pfc_constant_coefficient_actualsum_body_steps) = S ((S (fs_i_pfc_constant_coefficient_actualsum_body_steps)) * pfc_terms_scale_constant_coefficient_actual)) /\ exists fs_q_pfc_constant_coefficient_actualsum_body_steps_summand. pfc_terms_code_constant_coefficient_actual = fs_q_pfc_constant_coefficient_actualsum_body_steps_summand * S ((S (fs_i_pfc_constant_coefficient_actualsum_body_steps)) * pfc_terms_scale_constant_coefficient_actual) + (fs_a_pfc_constant_coefficient_actualsum_body_steps))) /\ ((((exists fs_h_pfc_constant_coefficient_actualsum_body_steps_partial. fs_h_pfc_constant_coefficient_actualsum_body_steps_partial + S (fs_r_pfc_constant_coefficient_actualsum_body_steps) = S ((S (fs_i_pfc_constant_coefficient_actualsum_body_steps)) * fs_v_pfc_constant_coefficient_actualsum)) /\ exists fs_q_pfc_constant_coefficient_actualsum_body_steps_partial. fs_u_pfc_constant_coefficient_actualsum = fs_q_pfc_constant_coefficient_actualsum_body_steps_partial * S ((S (fs_i_pfc_constant_coefficient_actualsum_body_steps)) * fs_v_pfc_constant_coefficient_actualsum) + (fs_r_pfc_constant_coefficient_actualsum_body_steps))) /\ ((((exists fs_h_pfc_constant_coefficient_actualsum_body_steps_successor. fs_h_pfc_constant_coefficient_actualsum_body_steps_successor + S (fs_s_pfc_constant_coefficient_actualsum_body_steps) = S ((S (S fs_i_pfc_constant_coefficient_actualsum_body_steps)) * fs_v_pfc_constant_coefficient_actualsum)) /\ exists fs_q_pfc_constant_coefficient_actualsum_body_steps_successor. fs_u_pfc_constant_coefficient_actualsum = fs_q_pfc_constant_coefficient_actualsum_body_steps_successor * S ((S (S fs_i_pfc_constant_coefficient_actualsum_body_steps)) * fs_v_pfc_constant_coefficient_actualsum) + (fs_s_pfc_constant_coefficient_actualsum_body_steps))) /\ fs_s_pfc_constant_coefficient_actualsum_body_steps = fs_r_pfc_constant_coefficient_actualsum_body_steps + fs_a_pfc_constant_coefficient_actualsum_body_steps)))))) /\ ((((exists pfa_gap_constant_coefficient_actualresiduebound. pfa_gap_constant_coefficient_actualresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_constant_coefficient_actualresiduecongruence pfa_offset_right_constant_coefficient_actualresiduecongruence. (pfc_natural_sum_constant_coefficient_actual) + (p) * pfa_offset_left_constant_coefficient_actualresiduecongruence = (r) + (p) * pfa_offset_right_constant_coefficient_actualresiduecongruence))))))))) -> (((exists pfa_gap_constant_coefficient_resultleft. pfa_gap_constant_coefficient_resultleft + S (k) = (p)) /\ (((exists pfa_gap_constant_coefficient_resultright. pfa_gap_constant_coefficient_resultright + S (a) = (p)) /\ ((((exists pfa_gap_constant_coefficient_resultresultbound. pfa_gap_constant_coefficient_resultresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_constant_coefficient_resultresultcongruence pfa_offset_right_constant_coefficient_resultresultcongruence. ((k) * (a)) + (p) * pfa_offset_left_constant_coefficient_resultresultcongruence = (r) + (p) * pfa_offset_right_constant_coefficient_resultresultcongruence)))))))))
intro pintro abintro acintro Lintro bbintro bcintro kintro iintro aintro rintro hpintro hAintro hBintro hkintro hiintro haintro hrhave hp0 : ~(p=0)intro hpzerospecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hpzerohave hc : exists c. (exists pfc_terms_code_constant_old_coefficient pfc_terms_scale_constant_old_coefficient pfc_natural_sum_constant_old_coefficient. ((forall pfc_index_constant_old_coefficientdiagonal. (exists pfa_gap_constant_old_coefficientdiagonalbound. pfa_gap_constant_old_coefficientdiagonalbound + S (pfc_index_constant_old_coefficientdiagonal) = (S (i))) -> exists pfc_value_constant_old_coefficientdiagonal. ((((exists ff_h_pfp_constant_old_coefficientdiagonalentry. ff_h_pfp_constant_old_coefficientdiagonalentry + S (pfc_value_constant_old_coefficientdiagonal) = S ((S (pfc_index_constant_old_coefficientdiagonal)) * pfc_terms_scale_constant_old_coefficient)) /\ exists ff_q_pfp_constant_old_coefficientdiagonalentry. pfc_terms_code_constant_old_coefficient = ff_q_pfp_constant_old_coefficientdiagonalentry * S ((S (pfc_index_constant_old_coefficientdiagonal)) * pfc_terms_scale_constant_old_coefficient) + (pfc_value_constant_old_coefficientdiagonal))) /\ ((exists pfc_complement_constant_old_coefficientdiagonalterm pfc_left_constant_old_coefficientdiagonalterm pfc_right_constant_old_coefficientdiagonalterm. (((pfc_index_constant_old_coefficientdiagonal)+pfc_complement_constant_old_coefficientdiagonalterm=(i)) /\ ((((((exists pfa_gap_constant_old_coefficientdiagonaltermleftinside. pfa_gap_constant_old_coefficientdiagonaltermleftinside + S (pfc_index_constant_old_coefficientdiagonal) = (i)) /\ ((((exists ff_h_pfp_constant_old_coefficientdiagonaltermleftentry. ff_h_pfp_constant_old_coefficientdiagonaltermleftentry + S (pfc_left_constant_old_coefficientdiagonalterm) = S ((S (pfc_index_constant_old_coefficientdiagonal)) * ac)) /\ exists ff_q_pfp_constant_old_coefficientdiagonaltermleftentry. ab = ff_q_pfp_constant_old_coefficientdiagonaltermleftentry * S ((S (pfc_index_constant_old_coefficientdiagonal)) * ac) + (pfc_left_constant_old_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_constant_old_coefficientdiagonaltermleftoutside. pfc_gap_constant_old_coefficientdiagonaltermleftoutside+(i)=(pfc_index_constant_old_coefficientdiagonal)) /\ (((pfc_left_constant_old_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_constant_old_coefficientdiagonaltermrightinside. pfa_gap_constant_old_coefficientdiagonaltermrightinside + S (pfc_complement_constant_old_coefficientdiagonalterm) = (1)) /\ ((((exists ff_h_pfp_constant_old_coefficientdiagonaltermrightentry. ff_h_pfp_constant_old_coefficientdiagonaltermrightentry + S (pfc_right_constant_old_coefficientdiagonalterm) = S ((S (pfc_complement_constant_old_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_constant_old_coefficientdiagonaltermrightentry. bb = ff_q_pfp_constant_old_coefficientdiagonaltermrightentry * S ((S (pfc_complement_constant_old_coefficientdiagonalterm)) * bc) + (pfc_right_constant_old_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_constant_old_coefficientdiagonaltermrightoutside. pfc_gap_constant_old_coefficientdiagonaltermrightoutside+(1)=(pfc_complement_constant_old_coefficientdiagonalterm)) /\ (((pfc_right_constant_old_coefficientdiagonalterm)=0))))) /\ (((pfc_value_constant_old_coefficientdiagonal)=pfc_left_constant_old_coefficientdiagonalterm*pfc_right_constant_old_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_constant_old_coefficientsum fs_v_pfc_constant_old_coefficientsum. ((((exists fs_h_pfc_constant_old_coefficientsum_body_start. fs_h_pfc_constant_old_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_constant_old_coefficientsum)) /\ exists fs_q_pfc_constant_old_coefficientsum_body_start. fs_u_pfc_constant_old_coefficientsum = fs_q_pfc_constant_old_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_constant_old_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_constant_old_coefficientsum_body_terminal. fs_h_pfc_constant_old_coefficientsum_body_terminal + S (pfc_natural_sum_constant_old_coefficient) = S ((S (S (i))) * fs_v_pfc_constant_old_coefficientsum)) /\ exists fs_q_pfc_constant_old_coefficientsum_body_terminal. fs_u_pfc_constant_old_coefficientsum = fs_q_pfc_constant_old_coefficientsum_body_terminal * S ((S (S (i))) * fs_v_pfc_constant_old_coefficientsum) + (pfc_natural_sum_constant_old_coefficient))) /\ forall fs_i_pfc_constant_old_coefficientsum_body_steps. (exists fs_lt_pfc_constant_old_coefficientsum_body_steps_bound. fs_lt_pfc_constant_old_coefficientsum_body_steps_bound + S fs_i_pfc_constant_old_coefficientsum_body_steps = S (i)) -> exists fs_a_pfc_constant_old_coefficientsum_body_steps fs_r_pfc_constant_old_coefficientsum_body_steps fs_s_pfc_constant_old_coefficientsum_body_steps. ((((exists fs_h_pfc_constant_old_coefficientsum_body_steps_summand. fs_h_pfc_constant_old_coefficientsum_body_steps_summand + S (fs_a_pfc_constant_old_coefficientsum_body_steps) = S ((S (fs_i_pfc_constant_old_coefficientsum_body_steps)) * pfc_terms_scale_constant_old_coefficient)) /\ exists fs_q_pfc_constant_old_coefficientsum_body_steps_summand. pfc_terms_code_constant_old_coefficient = fs_q_pfc_constant_old_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_constant_old_coefficientsum_body_steps)) * pfc_terms_scale_constant_old_coefficient) + (fs_a_pfc_constant_old_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_constant_old_coefficientsum_body_steps_partial. fs_h_pfc_constant_old_coefficientsum_body_steps_partial + S (fs_r_pfc_constant_old_coefficientsum_body_steps) = S ((S (fs_i_pfc_constant_old_coefficientsum_body_steps)) * fs_v_pfc_constant_old_coefficientsum)) /\ exists fs_q_pfc_constant_old_coefficientsum_body_steps_partial. fs_u_pfc_constant_old_coefficientsum = fs_q_pfc_constant_old_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_constant_old_coefficientsum_body_steps)) * fs_v_pfc_constant_old_coefficientsum) + (fs_r_pfc_constant_old_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_constant_old_coefficientsum_body_steps_successor. fs_h_pfc_constant_old_coefficientsum_body_steps_successor + S (fs_s_pfc_constant_old_coefficientsum_body_steps) = S ((S (S fs_i_pfc_constant_old_coefficientsum_body_steps)) * fs_v_pfc_constant_old_coefficientsum)) /\ exists fs_q_pfc_constant_old_coefficientsum_body_steps_successor. fs_u_pfc_constant_old_coefficientsum = fs_q_pfc_constant_old_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_constant_old_coefficientsum_body_steps)) * fs_v_pfc_constant_old_coefficientsum) + (fs_s_pfc_constant_old_coefficientsum_body_steps))) /\ fs_s_pfc_constant_old_coefficientsum_body_steps = fs_r_pfc_constant_old_coefficientsum_body_steps + fs_a_pfc_constant_old_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_constant_old_coefficientresiduebound. pfa_gap_constant_old_coefficientresiduebound + S (c) = (p)) /\ ((exists pfa_offset_left_constant_old_coefficientresiduecongruence pfa_offset_right_constant_old_coefficientresiduecongruence. (pfc_natural_sum_constant_old_coefficient) + (p) * pfa_offset_left_constant_old_coefficientresiduecongruence = (c) + (p) * pfa_offset_right_constant_old_coefficientresiduecongruence)))))))))specialize prime_field_convolution_coefficient_exists (p)specialize prime_field_convolution_coefficient_exists (ab)specialize prime_field_convolution_coefficient_exists (ac)specialize prime_field_convolution_coefficient_exists (i)specialize prime_field_convolution_coefficient_exists (bb)specialize prime_field_convolution_coefficient_exists (bc)specialize prime_field_convolution_coefficient_exists (1)specialize prime_field_convolution_coefficient_exists (i)apply prime_field_convolution_coefficient_existsexact hp0cases hchave hc0 : x=0specialize prime_field_convolution_coefficient_zero_past_support (p)specialize prime_field_convolution_coefficient_zero_past_support (ab)specialize prime_field_convolution_coefficient_zero_past_support (ac)specialize prime_field_convolution_coefficient_zero_past_support (i)specialize prime_field_convolution_coefficient_zero_past_support (bb)specialize prime_field_convolution_coefficient_zero_past_support (bc)specialize prime_field_convolution_coefficient_zero_past_support (1)specialize prime_field_convolution_coefficient_zero_past_support (i)specialize prime_field_convolution_coefficient_zero_past_support (x)apply prime_field_convolution_coefficient_zero_past_supportexact hp0exists 0simp [zero_add]exact hc_witnesshave hshort : exists pfc_terms_code_constant_short_coefficient pfc_terms_scale_constant_short_coefficient pfc_natural_sum_constant_short_coefficient. ((forall pfc_index_constant_short_coefficientdiagonal. (exists pfa_gap_constant_short_coefficientdiagonalbound. pfa_gap_constant_short_coefficientdiagonalbound + S (pfc_index_constant_short_coefficientdiagonal) = (S (i))) -> exists pfc_value_constant_short_coefficientdiagonal. ((((exists ff_h_pfp_constant_short_coefficientdiagonalentry. ff_h_pfp_constant_short_coefficientdiagonalentry + S (pfc_value_constant_short_coefficientdiagonal) = S ((S (pfc_index_constant_short_coefficientdiagonal)) * pfc_terms_scale_constant_short_coefficient)) /\ exists ff_q_pfp_constant_short_coefficientdiagonalentry. pfc_terms_code_constant_short_coefficient = ff_q_pfp_constant_short_coefficientdiagonalentry * S ((S (pfc_index_constant_short_coefficientdiagonal)) * pfc_terms_scale_constant_short_coefficient) + (pfc_value_constant_short_coefficientdiagonal))) /\ ((exists pfc_complement_constant_short_coefficientdiagonalterm pfc_left_constant_short_coefficientdiagonalterm pfc_right_constant_short_coefficientdiagonalterm. (((pfc_index_constant_short_coefficientdiagonal)+pfc_complement_constant_short_coefficientdiagonalterm=(i)) /\ ((((((exists pfa_gap_constant_short_coefficientdiagonaltermleftinside. pfa_gap_constant_short_coefficientdiagonaltermleftinside + S (pfc_index_constant_short_coefficientdiagonal) = (S i)) /\ ((((exists ff_h_pfp_constant_short_coefficientdiagonaltermleftentry. ff_h_pfp_constant_short_coefficientdiagonaltermleftentry + S (pfc_left_constant_short_coefficientdiagonalterm) = S ((S (pfc_index_constant_short_coefficientdiagonal)) * ac)) /\ exists ff_q_pfp_constant_short_coefficientdiagonaltermleftentry. ab = ff_q_pfp_constant_short_coefficientdiagonaltermleftentry * S ((S (pfc_index_constant_short_coefficientdiagonal)) * ac) + (pfc_left_constant_short_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_constant_short_coefficientdiagonaltermleftoutside. pfc_gap_constant_short_coefficientdiagonaltermleftoutside+(S i)=(pfc_index_constant_short_coefficientdiagonal)) /\ (((pfc_left_constant_short_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_constant_short_coefficientdiagonaltermrightinside. pfa_gap_constant_short_coefficientdiagonaltermrightinside + S (pfc_complement_constant_short_coefficientdiagonalterm) = (1)) /\ ((((exists ff_h_pfp_constant_short_coefficientdiagonaltermrightentry. ff_h_pfp_constant_short_coefficientdiagonaltermrightentry + S (pfc_right_constant_short_coefficientdiagonalterm) = S ((S (pfc_complement_constant_short_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_constant_short_coefficientdiagonaltermrightentry. bb = ff_q_pfp_constant_short_coefficientdiagonaltermrightentry * S ((S (pfc_complement_constant_short_coefficientdiagonalterm)) * bc) + (pfc_right_constant_short_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_constant_short_coefficientdiagonaltermrightoutside. pfc_gap_constant_short_coefficientdiagonaltermrightoutside+(1)=(pfc_complement_constant_short_coefficientdiagonalterm)) /\ (((pfc_right_constant_short_coefficientdiagonalterm)=0))))) /\ (((pfc_value_constant_short_coefficientdiagonal)=pfc_left_constant_short_coefficientdiagonalterm*pfc_right_constant_short_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_constant_short_coefficientsum fs_v_pfc_constant_short_coefficientsum. ((((exists fs_h_pfc_constant_short_coefficientsum_body_start. fs_h_pfc_constant_short_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_constant_short_coefficientsum)) /\ exists fs_q_pfc_constant_short_coefficientsum_body_start. fs_u_pfc_constant_short_coefficientsum = fs_q_pfc_constant_short_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_constant_short_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_constant_short_coefficientsum_body_terminal. fs_h_pfc_constant_short_coefficientsum_body_terminal + S (pfc_natural_sum_constant_short_coefficient) = S ((S (S (i))) * fs_v_pfc_constant_short_coefficientsum)) /\ exists fs_q_pfc_constant_short_coefficientsum_body_terminal. fs_u_pfc_constant_short_coefficientsum = fs_q_pfc_constant_short_coefficientsum_body_terminal * S ((S (S (i))) * fs_v_pfc_constant_short_coefficientsum) + (pfc_natural_sum_constant_short_coefficient))) /\ forall fs_i_pfc_constant_short_coefficientsum_body_steps. (exists fs_lt_pfc_constant_short_coefficientsum_body_steps_bound. fs_lt_pfc_constant_short_coefficientsum_body_steps_bound + S fs_i_pfc_constant_short_coefficientsum_body_steps = S (i)) -> exists fs_a_pfc_constant_short_coefficientsum_body_steps fs_r_pfc_constant_short_coefficientsum_body_steps fs_s_pfc_constant_short_coefficientsum_body_steps. ((((exists fs_h_pfc_constant_short_coefficientsum_body_steps_summand. fs_h_pfc_constant_short_coefficientsum_body_steps_summand + S (fs_a_pfc_constant_short_coefficientsum_body_steps) = S ((S (fs_i_pfc_constant_short_coefficientsum_body_steps)) * pfc_terms_scale_constant_short_coefficient)) /\ exists fs_q_pfc_constant_short_coefficientsum_body_steps_summand. pfc_terms_code_constant_short_coefficient = fs_q_pfc_constant_short_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_constant_short_coefficientsum_body_steps)) * pfc_terms_scale_constant_short_coefficient) + (fs_a_pfc_constant_short_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_constant_short_coefficientsum_body_steps_partial. fs_h_pfc_constant_short_coefficientsum_body_steps_partial + S (fs_r_pfc_constant_short_coefficientsum_body_steps) = S ((S (fs_i_pfc_constant_short_coefficientsum_body_steps)) * fs_v_pfc_constant_short_coefficientsum)) /\ exists fs_q_pfc_constant_short_coefficientsum_body_steps_partial. fs_u_pfc_constant_short_coefficientsum = fs_q_pfc_constant_short_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_constant_short_coefficientsum_body_steps)) * fs_v_pfc_constant_short_coefficientsum) + (fs_r_pfc_constant_short_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_constant_short_coefficientsum_body_steps_successor. fs_h_pfc_constant_short_coefficientsum_body_steps_successor + S (fs_s_pfc_constant_short_coefficientsum_body_steps) = S ((S (S fs_i_pfc_constant_short_coefficientsum_body_steps)) * fs_v_pfc_constant_short_coefficientsum)) /\ exists fs_q_pfc_constant_short_coefficientsum_body_steps_successor. fs_u_pfc_constant_short_coefficientsum = fs_q_pfc_constant_short_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_constant_short_coefficientsum_body_steps)) * fs_v_pfc_constant_short_coefficientsum) + (fs_s_pfc_constant_short_coefficientsum_body_steps))) /\ fs_s_pfc_constant_short_coefficientsum_body_steps = fs_r_pfc_constant_short_coefficientsum_body_steps + fs_a_pfc_constant_short_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_constant_short_coefficientresiduebound. pfa_gap_constant_short_coefficientresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_constant_short_coefficientresiduecongruence pfa_offset_right_constant_short_coefficientresiduecongruence. (pfc_natural_sum_constant_short_coefficient) + (p) * pfa_offset_left_constant_short_coefficientresiduecongruence = (r) + (p) * pfa_offset_right_constant_short_coefficientresiduecongruence))))))))specialize prime_field_convolution_coefficient_prefix_transport (p)specialize prime_field_convolution_coefficient_prefix_transport (ab)specialize prime_field_convolution_coefficient_prefix_transport (ac)specialize prime_field_convolution_coefficient_prefix_transport (L)specialize prime_field_convolution_coefficient_prefix_transport (ab)specialize prime_field_convolution_coefficient_prefix_transport (ac)specialize prime_field_convolution_coefficient_prefix_transport (S i)specialize prime_field_convolution_coefficient_prefix_transport (bb)specialize prime_field_convolution_coefficient_prefix_transport (bc)specialize prime_field_convolution_coefficient_prefix_transport (1)specialize prime_field_convolution_coefficient_prefix_transport (S i)specialize prime_field_convolution_coefficient_prefix_transport (i)specialize prime_field_convolution_coefficient_prefix_transport (r)apply prime_field_convolution_coefficient_prefix_transportexact hispecialize le_refl (S i)apply le_reflintro jintro zintro hjintro hzexact hzspecialize le_refl (S i)apply le_reflexact hrhave hm : exists z. (((exists pfa_gap_constant_chosen_productleft. pfa_gap_constant_chosen_productleft + S (a) = (p)) /\ (((exists pfa_gap_constant_chosen_productright. pfa_gap_constant_chosen_productright + S (k) = (p)) /\ ((((exists pfa_gap_constant_chosen_productresultbound. pfa_gap_constant_chosen_productresultbound + S (z) = (p)) /\ ((exists pfa_offset_left_constant_chosen_productresultcongruence pfa_offset_right_constant_chosen_productresultcongruence. ((a) * (k)) + (p) * pfa_offset_left_constant_chosen_productresultcongruence = (z) + (p) * pfa_offset_right_constant_chosen_productresultcongruence)))))))))specialize prime_field_multiply_exists (p)specialize prime_field_multiply_exists (a)specialize prime_field_multiply_exists (k)apply prime_field_multiply_existsexact hpspecialize matrix_rank_bounded_prefix_value (ab)specialize matrix_rank_bounded_prefix_value (ac)specialize matrix_rank_bounded_prefix_value (L)specialize matrix_rank_bounded_prefix_value (p)specialize matrix_rank_bounded_prefix_value (i)specialize matrix_rank_bounded_prefix_value (a)apply matrix_rank_bounded_prefix_valueexact hAexact hiexact haspecialize matrix_rank_bounded_prefix_value (bb)specialize matrix_rank_bounded_prefix_value (bc)specialize matrix_rank_bounded_prefix_value (1)specialize matrix_rank_bounded_prefix_value (p)specialize matrix_rank_bounded_prefix_value (0)specialize matrix_rank_bounded_prefix_value (k)apply matrix_rank_bounded_prefix_valueexact hBexists 0simp [zero_add]exact hkcases hmhave hs : ((exists pfa_gap_constant_actual_sumleft. pfa_gap_constant_actual_sumleft + S (x) = (p)) /\ (((exists pfa_gap_constant_actual_sumright. pfa_gap_constant_actual_sumright + S (x1) = (p)) /\ ((((exists pfa_gap_constant_actual_sumresultbound. pfa_gap_constant_actual_sumresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_constant_actual_sumresultcongruence pfa_offset_right_constant_actual_sumresultcongruence. ((x) + (x1)) + (p) * pfa_offset_left_constant_actual_sumresultcongruence = (r) + (p) * pfa_offset_right_constant_actual_sumresultcongruence))))))))specialize prime_field_convolution_coefficient_append (p)specialize prime_field_convolution_coefficient_append (ab)specialize prime_field_convolution_coefficient_append (ac)specialize prime_field_convolution_coefficient_append (ab)specialize prime_field_convolution_coefficient_append (ac)specialize prime_field_convolution_coefficient_append (bb)specialize prime_field_convolution_coefficient_append (bc)specialize prime_field_convolution_coefficient_append (0)specialize prime_field_convolution_coefficient_append (i)specialize prime_field_convolution_coefficient_append (a)specialize prime_field_convolution_coefficient_append (k)specialize prime_field_convolution_coefficient_append (x)specialize prime_field_convolution_coefficient_append (x1)specialize prime_field_convolution_coefficient_append (r)apply prime_field_convolution_coefficient_appendintro jintro zintro hjintro hzexact hzexact haexact hkexact hc_witnessexact hshortexact hm_witnessrewrite hc0 at hsrewrite hc0 at hshave heq : r=x1specialize prime_field_add_functional (p)specialize prime_field_add_functional (0)specialize prime_field_add_functional (x1)specialize prime_field_add_functional (r)specialize prime_field_add_functional (x1)apply prime_field_add_functionalexact hsspecialize prime_field_add_zero_left (p)specialize prime_field_add_zero_left (x1)apply prime_field_add_zero_leftexact hphave hmc : ((exists pfa_gap_constant_product_copyleft. pfa_gap_constant_product_copyleft + S (a) = (p)) /\ (((exists pfa_gap_constant_product_copyright. pfa_gap_constant_product_copyright + S (k) = (p)) /\ ((((exists pfa_gap_constant_product_copyresultbound. pfa_gap_constant_product_copyresultbound + S (x1) = (p)) /\ ((exists pfa_offset_left_constant_product_copyresultcongruence pfa_offset_right_constant_product_copyresultcongruence. ((a) * (k)) + (p) * pfa_offset_left_constant_product_copyresultcongruence = (x1) + (p) * pfa_offset_right_constant_product_copyresultcongruence))))))))exact hm_witnesscases hmccases hmc_rightcases hmc_right_rightexact hmc_right_right_leftrewrite heqrewrite heqspecialize prime_field_multiply_commutative (p)specialize prime_field_multiply_commutative (a)specialize prime_field_multiply_commutative (k)specialize prime_field_multiply_commutative (x1)apply prime_field_multiply_commutativeexact hm_witness
prime_field_polynomial_scale_to_constant_product · unchanged support, not a new admission
forall p k ab ac bb bc cb cc L. (~((p) = 1) /\ forall pfa_factor_left_constant_recover_prime pfa_factor_right_constant_recover_prime. (p) = pfa_factor_left_constant_recover_prime * pfa_factor_right_constant_recover_prime -> pfa_factor_left_constant_recover_prime = 1 \/ pfa_factor_right_constant_recover_prime = 1) -> (forall fom_index_pfp_constant_recover_constant. (exists fom_gap_pfp_constant_recover_constant_index_bound. fom_gap_pfp_constant_recover_constant_index_bound + S (fom_index_pfp_constant_recover_constant) = 1) -> exists fom_value_pfp_constant_recover_constant. ((((exists fom_beta_height_pfp_constant_recover_constant_entry. fom_beta_height_pfp_constant_recover_constant_entry + S (fom_value_pfp_constant_recover_constant) = S ((S (fom_index_pfp_constant_recover_constant)) * bc)) /\ exists fom_beta_quotient_pfp_constant_recover_constant_entry. bb = fom_beta_quotient_pfp_constant_recover_constant_entry * S ((S (fom_index_pfp_constant_recover_constant)) * bc) + (fom_value_pfp_constant_recover_constant))) /\ (exists fom_gap_pfp_constant_recover_constant_value_bound. fom_gap_pfp_constant_recover_constant_value_bound + S (fom_value_pfp_constant_recover_constant) = p))) -> (((exists ff_h_pfp_constant_recover_value. ff_h_pfp_constant_recover_value + S (k) = S ((S (0)) * bc)) /\ exists ff_q_pfp_constant_recover_value. bb = ff_q_pfp_constant_recover_value * S ((S (0)) * bc) + (k))) -> (((exists pfa_gap_constant_recover_scalescalar. pfa_gap_constant_recover_scalescalar + S (k) = (p)) /\ ((forall pfp_index_constant_recover_scale. (exists pfa_gap_constant_recover_scaleindex. pfa_gap_constant_recover_scaleindex + S (pfp_index_constant_recover_scale) = (L)) -> exists pfp_source_constant_recover_scale pfp_value_constant_recover_scale. ((((exists ff_h_pfp_constant_recover_scalesource. ff_h_pfp_constant_recover_scalesource + S (pfp_source_constant_recover_scale) = S ((S (pfp_index_constant_recover_scale)) * ac)) /\ exists ff_q_pfp_constant_recover_scalesource. ab = ff_q_pfp_constant_recover_scalesource * S ((S (pfp_index_constant_recover_scale)) * ac) + (pfp_source_constant_recover_scale))) /\ (((((exists ff_h_pfp_constant_recover_scaletarget. ff_h_pfp_constant_recover_scaletarget + S (pfp_value_constant_recover_scale) = S ((S (pfp_index_constant_recover_scale)) * cc)) /\ exists ff_q_pfp_constant_recover_scaletarget. cb = ff_q_pfp_constant_recover_scaletarget * S ((S (pfp_index_constant_recover_scale)) * cc) + (pfp_value_constant_recover_scale))) /\ ((((exists pfa_gap_constant_recover_scaleoperationleft. pfa_gap_constant_recover_scaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_constant_recover_scaleoperationright. pfa_gap_constant_recover_scaleoperationright + S (pfp_source_constant_recover_scale) = (p)) /\ ((((exists pfa_gap_constant_recover_scaleoperationresultbound. pfa_gap_constant_recover_scaleoperationresultbound + S (pfp_value_constant_recover_scale) = (p)) /\ ((exists pfa_offset_left_constant_recover_scaleoperationresultcongruence pfa_offset_right_constant_recover_scaleoperationresultcongruence. ((k) * (pfp_source_constant_recover_scale)) + (p) * pfa_offset_left_constant_recover_scaleoperationresultcongruence = (pfp_value_constant_recover_scale) + (p) * pfa_offset_right_constant_recover_scaleoperationresultcongruence))))))))))))))))) -> (((forall fom_index_pfp_constant_recover_productleft. (exists fom_gap_pfp_constant_recover_productleft_index_bound. fom_gap_pfp_constant_recover_productleft_index_bound + S (fom_index_pfp_constant_recover_productleft) = L) -> exists fom_value_pfp_constant_recover_productleft. ((((exists fom_beta_height_pfp_constant_recover_productleft_entry. fom_beta_height_pfp_constant_recover_productleft_entry + S (fom_value_pfp_constant_recover_productleft) = S ((S (fom_index_pfp_constant_recover_productleft)) * ac)) /\ exists fom_beta_quotient_pfp_constant_recover_productleft_entry. ab = fom_beta_quotient_pfp_constant_recover_productleft_entry * S ((S (fom_index_pfp_constant_recover_productleft)) * ac) + (fom_value_pfp_constant_recover_productleft))) /\ (exists fom_gap_pfp_constant_recover_productleft_value_bound. fom_gap_pfp_constant_recover_productleft_value_bound + S (fom_value_pfp_constant_recover_productleft) = p))) /\ (((forall fom_index_pfp_constant_recover_productright. (exists fom_gap_pfp_constant_recover_productright_index_bound. fom_gap_pfp_constant_recover_productright_index_bound + S (fom_index_pfp_constant_recover_productright) = 1) -> exists fom_value_pfp_constant_recover_productright. ((((exists fom_beta_height_pfp_constant_recover_productright_entry. fom_beta_height_pfp_constant_recover_productright_entry + S (fom_value_pfp_constant_recover_productright) = S ((S (fom_index_pfp_constant_recover_productright)) * bc)) /\ exists fom_beta_quotient_pfp_constant_recover_productright_entry. bb = fom_beta_quotient_pfp_constant_recover_productright_entry * S ((S (fom_index_pfp_constant_recover_productright)) * bc) + (fom_value_pfp_constant_recover_productright))) /\ (exists fom_gap_pfp_constant_recover_productright_value_bound. fom_gap_pfp_constant_recover_productright_value_bound + S (fom_value_pfp_constant_recover_productright) = p))) /\ (((((((L)=0 \/ (1)=0) /\ (((L)=0)))) \/ (((~((L)=0)) /\ (((~((1)=0)) /\ (((L)+(1)=S (L)))))))) /\ ((forall pfc_index_constant_recover_productcoefficients. (exists pfa_gap_constant_recover_productcoefficientsbound. pfa_gap_constant_recover_productcoefficientsbound + S (pfc_index_constant_recover_productcoefficients) = (L)) -> exists pfc_value_constant_recover_productcoefficients. ((((exists ff_h_pfp_constant_recover_productcoefficientsentry. ff_h_pfp_constant_recover_productcoefficientsentry + S (pfc_value_constant_recover_productcoefficients) = S ((S (pfc_index_constant_recover_productcoefficients)) * cc)) /\ exists ff_q_pfp_constant_recover_productcoefficientsentry. cb = ff_q_pfp_constant_recover_productcoefficientsentry * S ((S (pfc_index_constant_recover_productcoefficients)) * cc) + (pfc_value_constant_recover_productcoefficients))) /\ ((exists pfc_terms_code_constant_recover_productcoefficientscoefficient pfc_terms_scale_constant_recover_productcoefficientscoefficient pfc_natural_sum_constant_recover_productcoefficientscoefficient. ((forall pfc_index_constant_recover_productcoefficientscoefficientdiagonal. (exists pfa_gap_constant_recover_productcoefficientscoefficientdiagonalbound. pfa_gap_constant_recover_productcoefficientscoefficientdiagonalbound + S (pfc_index_constant_recover_productcoefficientscoefficientdiagonal) = (S (pfc_index_constant_recover_productcoefficients))) -> exists pfc_value_constant_recover_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_constant_recover_productcoefficientscoefficientdiagonalentry. ff_h_pfp_constant_recover_productcoefficientscoefficientdiagonalentry + S (pfc_value_constant_recover_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_constant_recover_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_constant_recover_productcoefficientscoefficient)) /\ exists ff_q_pfp_constant_recover_productcoefficientscoefficientdiagonalentry. pfc_terms_code_constant_recover_productcoefficientscoefficient = ff_q_pfp_constant_recover_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_constant_recover_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_constant_recover_productcoefficientscoefficient) + (pfc_value_constant_recover_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_constant_recover_productcoefficientscoefficientdiagonalterm pfc_left_constant_recover_productcoefficientscoefficientdiagonalterm pfc_right_constant_recover_productcoefficientscoefficientdiagonalterm. (((pfc_index_constant_recover_productcoefficientscoefficientdiagonal)+pfc_complement_constant_recover_productcoefficientscoefficientdiagonalterm=(pfc_index_constant_recover_productcoefficients)) /\ ((((((exists pfa_gap_constant_recover_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_constant_recover_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_constant_recover_productcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_constant_recover_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_constant_recover_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_constant_recover_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_constant_recover_productcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_constant_recover_productcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_constant_recover_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_constant_recover_productcoefficientscoefficientdiagonal)) * ac) + (pfc_left_constant_recover_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_constant_recover_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_constant_recover_productcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_constant_recover_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_constant_recover_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_constant_recover_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_constant_recover_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_constant_recover_productcoefficientscoefficientdiagonalterm) = (1)) /\ ((((exists ff_h_pfp_constant_recover_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_constant_recover_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_constant_recover_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_constant_recover_productcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_constant_recover_productcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_constant_recover_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_constant_recover_productcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_constant_recover_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_constant_recover_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_constant_recover_productcoefficientscoefficientdiagonaltermrightoutside+(1)=(pfc_complement_constant_recover_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_constant_recover_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_constant_recover_productcoefficientscoefficientdiagonal)=pfc_left_constant_recover_productcoefficientscoefficientdiagonalterm*pfc_right_constant_recover_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_constant_recover_productcoefficientscoefficientsum fs_v_pfc_constant_recover_productcoefficientscoefficientsum. ((((exists fs_h_pfc_constant_recover_productcoefficientscoefficientsum_body_start. fs_h_pfc_constant_recover_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_constant_recover_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_constant_recover_productcoefficientscoefficientsum_body_start. fs_u_pfc_constant_recover_productcoefficientscoefficientsum = fs_q_pfc_constant_recover_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_constant_recover_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_constant_recover_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_constant_recover_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_constant_recover_productcoefficientscoefficient) = S ((S (S (pfc_index_constant_recover_productcoefficients))) * fs_v_pfc_constant_recover_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_constant_recover_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_constant_recover_productcoefficientscoefficientsum = fs_q_pfc_constant_recover_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_constant_recover_productcoefficients))) * fs_v_pfc_constant_recover_productcoefficientscoefficientsum) + (pfc_natural_sum_constant_recover_productcoefficientscoefficient))) /\ forall fs_i_pfc_constant_recover_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_constant_recover_productcoefficientscoefficientsum_body_steps = S (pfc_index_constant_recover_productcoefficients)) -> exists fs_a_pfc_constant_recover_productcoefficientscoefficientsum_body_steps fs_r_pfc_constant_recover_productcoefficientscoefficientsum_body_steps fs_s_pfc_constant_recover_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_constant_recover_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_constant_recover_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_constant_recover_productcoefficientscoefficient)) /\ exists fs_q_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_constant_recover_productcoefficientscoefficient = fs_q_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_constant_recover_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_constant_recover_productcoefficientscoefficient) + (fs_a_pfc_constant_recover_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_constant_recover_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_constant_recover_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_constant_recover_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_constant_recover_productcoefficientscoefficientsum = fs_q_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_constant_recover_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_constant_recover_productcoefficientscoefficientsum) + (fs_r_pfc_constant_recover_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_constant_recover_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_constant_recover_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_constant_recover_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_constant_recover_productcoefficientscoefficientsum = fs_q_pfc_constant_recover_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_constant_recover_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_constant_recover_productcoefficientscoefficientsum) + (fs_s_pfc_constant_recover_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_constant_recover_productcoefficientscoefficientsum_body_steps = fs_r_pfc_constant_recover_productcoefficientscoefficientsum_body_steps + fs_a_pfc_constant_recover_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_constant_recover_productcoefficientscoefficientresiduebound. pfa_gap_constant_recover_productcoefficientscoefficientresiduebound + S (pfc_value_constant_recover_productcoefficients) = (p)) /\ ((exists pfa_offset_left_constant_recover_productcoefficientscoefficientresiduecongruence pfa_offset_right_constant_recover_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_constant_recover_productcoefficientscoefficient) + (p) * pfa_offset_left_constant_recover_productcoefficientscoefficientresiduecongruence = (pfc_value_constant_recover_productcoefficients) + (p) * pfa_offset_right_constant_recover_productcoefficientscoefficientresiduecongruence)))))))))))))))))))
intro pintro kintro abintro acintro bbintro bcintro cbintro ccintro Lintro hpintro hBintro hkintro hshave hb : ((forall fom_index_pfp_constant_recover_A. (exists fom_gap_pfp_constant_recover_A_index_bound. fom_gap_pfp_constant_recover_A_index_bound + S (fom_index_pfp_constant_recover_A) = L) -> exists fom_value_pfp_constant_recover_A. ((((exists fom_beta_height_pfp_constant_recover_A_entry. fom_beta_height_pfp_constant_recover_A_entry + S (fom_value_pfp_constant_recover_A) = S ((S (fom_index_pfp_constant_recover_A)) * ac)) /\ exists fom_beta_quotient_pfp_constant_recover_A_entry. ab = fom_beta_quotient_pfp_constant_recover_A_entry * S ((S (fom_index_pfp_constant_recover_A)) * ac) + (fom_value_pfp_constant_recover_A))) /\ (exists fom_gap_pfp_constant_recover_A_value_bound. fom_gap_pfp_constant_recover_A_value_bound + S (fom_value_pfp_constant_recover_A) = p))) /\ ((forall fom_index_pfp_constant_recover_C. (exists fom_gap_pfp_constant_recover_C_index_bound. fom_gap_pfp_constant_recover_C_index_bound + S (fom_index_pfp_constant_recover_C) = L) -> exists fom_value_pfp_constant_recover_C. ((((exists fom_beta_height_pfp_constant_recover_C_entry. fom_beta_height_pfp_constant_recover_C_entry + S (fom_value_pfp_constant_recover_C) = S ((S (fom_index_pfp_constant_recover_C)) * cc)) /\ exists fom_beta_quotient_pfp_constant_recover_C_entry. cb = fom_beta_quotient_pfp_constant_recover_C_entry * S ((S (fom_index_pfp_constant_recover_C)) * cc) + (fom_value_pfp_constant_recover_C))) /\ (exists fom_gap_pfp_constant_recover_C_value_bound. fom_gap_pfp_constant_recover_C_value_bound + S (fom_value_pfp_constant_recover_C) = p)))))specialize prime_field_polynomial_scale_bounded (p)specialize prime_field_polynomial_scale_bounded (k)specialize prime_field_polynomial_scale_bounded (ab)specialize prime_field_polynomial_scale_bounded (ac)specialize prime_field_polynomial_scale_bounded (cb)specialize prime_field_polynomial_scale_bounded (cc)specialize prime_field_polynomial_scale_bounded (L)apply prime_field_polynomial_scale_boundedexact hscases hbsplitexact hb_leftsplitexact hBsplithave hz : L=0 \/ ~(L=0)specialize eq_decidable (L)specialize eq_decidable (0)apply eq_decidablecases hzleftsplitleftexact hz_leftexact hz_leftrightsplitexact hz_rightsplitintro hbadspecialize succ_ne_zero (0)apply succ_ne_zeroexact hbadsimpintro iintro hihave hv : exists a r. (((((exists ff_h_pfp_constant_recover_source. ff_h_pfp_constant_recover_source + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_constant_recover_source. ab = ff_q_pfp_constant_recover_source * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_constant_recover_target. ff_h_pfp_constant_recover_target + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_constant_recover_target. cb = ff_q_pfp_constant_recover_target * S ((S (i)) * cc) + (r))) /\ ((((exists pfa_gap_constant_recover_mulleft. pfa_gap_constant_recover_mulleft + S (k) = (p)) /\ (((exists pfa_gap_constant_recover_mulright. pfa_gap_constant_recover_mulright + S (a) = (p)) /\ ((((exists pfa_gap_constant_recover_mulresultbound. pfa_gap_constant_recover_mulresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_constant_recover_mulresultcongruence pfa_offset_right_constant_recover_mulresultcongruence. ((k) * (a)) + (p) * pfa_offset_left_constant_recover_mulresultcongruence = (r) + (p) * pfa_offset_right_constant_recover_mulresultcongruence))))))))))))))cases hsspecialize hs_right (i)apply hs_rightexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_righthave hc : exists r. (exists pfc_terms_code_constant_recover_actual pfc_terms_scale_constant_recover_actual pfc_natural_sum_constant_recover_actual. ((forall pfc_index_constant_recover_actualdiagonal. (exists pfa_gap_constant_recover_actualdiagonalbound. pfa_gap_constant_recover_actualdiagonalbound + S (pfc_index_constant_recover_actualdiagonal) = (S (i))) -> exists pfc_value_constant_recover_actualdiagonal. ((((exists ff_h_pfp_constant_recover_actualdiagonalentry. ff_h_pfp_constant_recover_actualdiagonalentry + S (pfc_value_constant_recover_actualdiagonal) = S ((S (pfc_index_constant_recover_actualdiagonal)) * pfc_terms_scale_constant_recover_actual)) /\ exists ff_q_pfp_constant_recover_actualdiagonalentry. pfc_terms_code_constant_recover_actual = ff_q_pfp_constant_recover_actualdiagonalentry * S ((S (pfc_index_constant_recover_actualdiagonal)) * pfc_terms_scale_constant_recover_actual) + (pfc_value_constant_recover_actualdiagonal))) /\ ((exists pfc_complement_constant_recover_actualdiagonalterm pfc_left_constant_recover_actualdiagonalterm pfc_right_constant_recover_actualdiagonalterm. (((pfc_index_constant_recover_actualdiagonal)+pfc_complement_constant_recover_actualdiagonalterm=(i)) /\ ((((((exists pfa_gap_constant_recover_actualdiagonaltermleftinside. pfa_gap_constant_recover_actualdiagonaltermleftinside + S (pfc_index_constant_recover_actualdiagonal) = (L)) /\ ((((exists ff_h_pfp_constant_recover_actualdiagonaltermleftentry. ff_h_pfp_constant_recover_actualdiagonaltermleftentry + S (pfc_left_constant_recover_actualdiagonalterm) = S ((S (pfc_index_constant_recover_actualdiagonal)) * ac)) /\ exists ff_q_pfp_constant_recover_actualdiagonaltermleftentry. ab = ff_q_pfp_constant_recover_actualdiagonaltermleftentry * S ((S (pfc_index_constant_recover_actualdiagonal)) * ac) + (pfc_left_constant_recover_actualdiagonalterm)))))) \/ (((exists pfc_gap_constant_recover_actualdiagonaltermleftoutside. pfc_gap_constant_recover_actualdiagonaltermleftoutside+(L)=(pfc_index_constant_recover_actualdiagonal)) /\ (((pfc_left_constant_recover_actualdiagonalterm)=0))))) /\ ((((((exists pfa_gap_constant_recover_actualdiagonaltermrightinside. pfa_gap_constant_recover_actualdiagonaltermrightinside + S (pfc_complement_constant_recover_actualdiagonalterm) = (1)) /\ ((((exists ff_h_pfp_constant_recover_actualdiagonaltermrightentry. ff_h_pfp_constant_recover_actualdiagonaltermrightentry + S (pfc_right_constant_recover_actualdiagonalterm) = S ((S (pfc_complement_constant_recover_actualdiagonalterm)) * bc)) /\ exists ff_q_pfp_constant_recover_actualdiagonaltermrightentry. bb = ff_q_pfp_constant_recover_actualdiagonaltermrightentry * S ((S (pfc_complement_constant_recover_actualdiagonalterm)) * bc) + (pfc_right_constant_recover_actualdiagonalterm)))))) \/ (((exists pfc_gap_constant_recover_actualdiagonaltermrightoutside. pfc_gap_constant_recover_actualdiagonaltermrightoutside+(1)=(pfc_complement_constant_recover_actualdiagonalterm)) /\ (((pfc_right_constant_recover_actualdiagonalterm)=0))))) /\ (((pfc_value_constant_recover_actualdiagonal)=pfc_left_constant_recover_actualdiagonalterm*pfc_right_constant_recover_actualdiagonalterm))))))))))) /\ (((exists fs_u_pfc_constant_recover_actualsum fs_v_pfc_constant_recover_actualsum. ((((exists fs_h_pfc_constant_recover_actualsum_body_start. fs_h_pfc_constant_recover_actualsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_constant_recover_actualsum)) /\ exists fs_q_pfc_constant_recover_actualsum_body_start. fs_u_pfc_constant_recover_actualsum = fs_q_pfc_constant_recover_actualsum_body_start * S ((S (0)) * fs_v_pfc_constant_recover_actualsum) + (0))) /\ ((((exists fs_h_pfc_constant_recover_actualsum_body_terminal. fs_h_pfc_constant_recover_actualsum_body_terminal + S (pfc_natural_sum_constant_recover_actual) = S ((S (S (i))) * fs_v_pfc_constant_recover_actualsum)) /\ exists fs_q_pfc_constant_recover_actualsum_body_terminal. fs_u_pfc_constant_recover_actualsum = fs_q_pfc_constant_recover_actualsum_body_terminal * S ((S (S (i))) * fs_v_pfc_constant_recover_actualsum) + (pfc_natural_sum_constant_recover_actual))) /\ forall fs_i_pfc_constant_recover_actualsum_body_steps. (exists fs_lt_pfc_constant_recover_actualsum_body_steps_bound. fs_lt_pfc_constant_recover_actualsum_body_steps_bound + S fs_i_pfc_constant_recover_actualsum_body_steps = S (i)) -> exists fs_a_pfc_constant_recover_actualsum_body_steps fs_r_pfc_constant_recover_actualsum_body_steps fs_s_pfc_constant_recover_actualsum_body_steps. ((((exists fs_h_pfc_constant_recover_actualsum_body_steps_summand. fs_h_pfc_constant_recover_actualsum_body_steps_summand + S (fs_a_pfc_constant_recover_actualsum_body_steps) = S ((S (fs_i_pfc_constant_recover_actualsum_body_steps)) * pfc_terms_scale_constant_recover_actual)) /\ exists fs_q_pfc_constant_recover_actualsum_body_steps_summand. pfc_terms_code_constant_recover_actual = fs_q_pfc_constant_recover_actualsum_body_steps_summand * S ((S (fs_i_pfc_constant_recover_actualsum_body_steps)) * pfc_terms_scale_constant_recover_actual) + (fs_a_pfc_constant_recover_actualsum_body_steps))) /\ ((((exists fs_h_pfc_constant_recover_actualsum_body_steps_partial. fs_h_pfc_constant_recover_actualsum_body_steps_partial + S (fs_r_pfc_constant_recover_actualsum_body_steps) = S ((S (fs_i_pfc_constant_recover_actualsum_body_steps)) * fs_v_pfc_constant_recover_actualsum)) /\ exists fs_q_pfc_constant_recover_actualsum_body_steps_partial. fs_u_pfc_constant_recover_actualsum = fs_q_pfc_constant_recover_actualsum_body_steps_partial * S ((S (fs_i_pfc_constant_recover_actualsum_body_steps)) * fs_v_pfc_constant_recover_actualsum) + (fs_r_pfc_constant_recover_actualsum_body_steps))) /\ ((((exists fs_h_pfc_constant_recover_actualsum_body_steps_successor. fs_h_pfc_constant_recover_actualsum_body_steps_successor + S (fs_s_pfc_constant_recover_actualsum_body_steps) = S ((S (S fs_i_pfc_constant_recover_actualsum_body_steps)) * fs_v_pfc_constant_recover_actualsum)) /\ exists fs_q_pfc_constant_recover_actualsum_body_steps_successor. fs_u_pfc_constant_recover_actualsum = fs_q_pfc_constant_recover_actualsum_body_steps_successor * S ((S (S fs_i_pfc_constant_recover_actualsum_body_steps)) * fs_v_pfc_constant_recover_actualsum) + (fs_s_pfc_constant_recover_actualsum_body_steps))) /\ fs_s_pfc_constant_recover_actualsum_body_steps = fs_r_pfc_constant_recover_actualsum_body_steps + fs_a_pfc_constant_recover_actualsum_body_steps)))))) /\ ((((exists pfa_gap_constant_recover_actualresiduebound. pfa_gap_constant_recover_actualresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_constant_recover_actualresiduecongruence pfa_offset_right_constant_recover_actualresiduecongruence. (pfc_natural_sum_constant_recover_actual) + (p) * pfa_offset_left_constant_recover_actualresiduecongruence = (r) + (p) * pfa_offset_right_constant_recover_actualresiduecongruence)))))))))specialize prime_field_convolution_coefficient_exists (p)specialize prime_field_convolution_coefficient_exists (ab)specialize prime_field_convolution_coefficient_exists (ac)specialize prime_field_convolution_coefficient_exists (L)specialize prime_field_convolution_coefficient_exists (bb)specialize prime_field_convolution_coefficient_exists (bc)specialize prime_field_convolution_coefficient_exists (1)specialize prime_field_convolution_coefficient_exists (i)apply prime_field_convolution_coefficient_existsintro hpzerospecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hpzerocases hchave heq : x2=x1specialize prime_field_multiply_functional (p)specialize prime_field_multiply_functional (k)specialize prime_field_multiply_functional (x)specialize prime_field_multiply_functional (x2)specialize prime_field_multiply_functional (x1)apply prime_field_multiply_functionalspecialize prime_field_polynomial_constant_right_coefficient (p)specialize prime_field_polynomial_constant_right_coefficient (ab)specialize prime_field_polynomial_constant_right_coefficient (ac)specialize prime_field_polynomial_constant_right_coefficient (L)specialize prime_field_polynomial_constant_right_coefficient (bb)specialize prime_field_polynomial_constant_right_coefficient (bc)specialize prime_field_polynomial_constant_right_coefficient (k)specialize prime_field_polynomial_constant_right_coefficient (i)specialize prime_field_polynomial_constant_right_coefficient (x)specialize prime_field_polynomial_constant_right_coefficient (x2)apply prime_field_polynomial_constant_right_coefficientexact hpexact hb_leftexact hBexact hkexact hiexact hv_witness_witness_leftexact hc_witnessexact hv_witness_witness_right_rightexists x1splitexact hv_witness_witness_right_leftrewrite heq at hc_witnessrewrite heq at hc_witnessexact hc_witness
polynomial_left_pad_zero_prefix · unchanged support, not a new admission
forall b c L t B C. (forall pfp_repeat_index_padded_zero_original. (exists pfa_gap_padded_zero_originalindex. pfa_gap_padded_zero_originalindex + S (pfp_repeat_index_padded_zero_original) = (L)) -> (((exists ff_h_pfp_padded_zero_originalentry. ff_h_pfp_padded_zero_originalentry + S (0) = S ((S (pfp_repeat_index_padded_zero_original)) * c)) /\ exists ff_q_pfp_padded_zero_originalentry. b = ff_q_pfp_padded_zero_originalentry * S ((S (pfp_repeat_index_padded_zero_original)) * c) + (0)))) -> (((forall pfp_repeat_index_padded_zero_datazeros. (exists pfa_gap_padded_zero_datazerosindex. pfa_gap_padded_zero_datazerosindex + S (pfp_repeat_index_padded_zero_datazeros) = (t)) -> (((exists ff_h_pfp_padded_zero_datazerosentry. ff_h_pfp_padded_zero_datazerosentry + S (0) = S ((S (pfp_repeat_index_padded_zero_datazeros)) * C)) /\ exists ff_q_pfp_padded_zero_datazerosentry. B = ff_q_pfp_padded_zero_datazerosentry * S ((S (pfp_repeat_index_padded_zero_datazeros)) * C) + (0)))) /\ ((forall pfrep_index_padded_zero_data pfrep_value_padded_zero_data. (exists pfa_gap_padded_zero_databound. pfa_gap_padded_zero_databound + S (pfrep_index_padded_zero_data) = (L)) -> (((exists ff_h_pfp_padded_zero_datainput. ff_h_pfp_padded_zero_datainput + S (pfrep_value_padded_zero_data) = S ((S (pfrep_index_padded_zero_data)) * c)) /\ exists ff_q_pfp_padded_zero_datainput. b = ff_q_pfp_padded_zero_datainput * S ((S (pfrep_index_padded_zero_data)) * c) + (pfrep_value_padded_zero_data))) -> (((exists ff_h_pfp_padded_zero_dataoutput. ff_h_pfp_padded_zero_dataoutput + S (pfrep_value_padded_zero_data) = S ((S ((t)+pfrep_index_padded_zero_data)) * C)) /\ exists ff_q_pfp_padded_zero_dataoutput. B = ff_q_pfp_padded_zero_dataoutput * S ((S ((t)+pfrep_index_padded_zero_data)) * C) + (pfrep_value_padded_zero_data))))))) -> (forall pfp_repeat_index_padded_zero_result. (exists pfa_gap_padded_zero_resultindex. pfa_gap_padded_zero_resultindex + S (pfp_repeat_index_padded_zero_result) = (t+L)) -> (((exists ff_h_pfp_padded_zero_resultentry. ff_h_pfp_padded_zero_resultentry + S (0) = S ((S (pfp_repeat_index_padded_zero_result)) * C)) /\ exists ff_q_pfp_padded_zero_resultentry. B = ff_q_pfp_padded_zero_resultentry * S ((S (pfp_repeat_index_padded_zero_result)) * C) + (0))))
intro bintro cintro Lintro tintro Bintro Cintro hzintro hpadintro iintro hicases hpadhave hc : (exists pfa_gap_padded_zero_before. pfa_gap_padded_zero_before + S (i) = (t)) \/ exists j. (((exists pfa_gap_padded_zero_inside. pfa_gap_padded_zero_inside + S (j) = (L)) /\ ((i=t+j))))specialize prime_field_polynomial_left_pad_index_cases (t)specialize prime_field_polynomial_left_pad_index_cases (L)specialize prime_field_polynomial_left_pad_index_cases (i)apply prime_field_polynomial_left_pad_index_casesexact hicases hcspecialize hpad_left (i)apply hpad_leftexact hc_leftcases hc_rightcases hc_right_witnessrewrite hc_right_witness_rightrewrite hc_right_witness_rightspecialize hpad_right (x)specialize hpad_right (0)apply hpad_rightexact hc_right_witness_leftspecialize hz (x)apply hzexact hc_right_witness_left
polynomial_product_length_left_padding_right · unchanged support, not a new admission
forall L M N t K. (((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) -> (~(L=0)) -> (~(M=0)) -> (((((L)=0 \/ (t+M)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((t+M)=0)) /\ (((L)+(t+M)=S (K)))))))) -> (K=t+N)
intro Lintro Mintro Nintro tintro Kintro holdintro hLintro hMintro hnewcases holdcases hold_leftcases hold_left_leftexfalsoapply hLexact hold_left_left_leftexfalsoapply hMexact hold_left_left_rightcases hold_rightcases hold_right_rightcases hnewcases hnew_leftcases hnew_left_leftexfalsoapply hLexact hnew_left_left_leftexfalsoapply hMspecialize add_eq_zero_right (t)specialize add_eq_zero_right (M)apply add_eq_zero_rightexact hnew_left_left_rightcases hnew_rightcases hnew_right_rightspecialize succ_injective (K)specialize succ_injective (t+N)apply succ_injectivetrans (L)+(t+M)symmexact hnew_right_right_righttrans t+(L+M)simp [add_assoc,add_comm]rewrite hold_right_right_rightsimp
polynomial_zero_extended_left_pad_before · unchanged support, not a new admission
forall b c L t B C i. (((forall pfp_repeat_index_before_paddingzeros. (exists pfa_gap_before_paddingzerosindex. pfa_gap_before_paddingzerosindex + S (pfp_repeat_index_before_paddingzeros) = (t)) -> (((exists ff_h_pfp_before_paddingzerosentry. ff_h_pfp_before_paddingzerosentry + S (0) = S ((S (pfp_repeat_index_before_paddingzeros)) * C)) /\ exists ff_q_pfp_before_paddingzerosentry. B = ff_q_pfp_before_paddingzerosentry * S ((S (pfp_repeat_index_before_paddingzeros)) * C) + (0)))) /\ ((forall pfrep_index_before_padding pfrep_value_before_padding. (exists pfa_gap_before_paddingbound. pfa_gap_before_paddingbound + S (pfrep_index_before_padding) = (L)) -> (((exists ff_h_pfp_before_paddinginput. ff_h_pfp_before_paddinginput + S (pfrep_value_before_padding) = S ((S (pfrep_index_before_padding)) * c)) /\ exists ff_q_pfp_before_paddinginput. b = ff_q_pfp_before_paddinginput * S ((S (pfrep_index_before_padding)) * c) + (pfrep_value_before_padding))) -> (((exists ff_h_pfp_before_paddingoutput. ff_h_pfp_before_paddingoutput + S (pfrep_value_before_padding) = S ((S ((t)+pfrep_index_before_padding)) * C)) /\ exists ff_q_pfp_before_paddingoutput. B = ff_q_pfp_before_paddingoutput * S ((S ((t)+pfrep_index_before_padding)) * C) + (pfrep_value_before_padding))))))) -> (exists pfa_gap_before_bound. pfa_gap_before_bound + S (i) = (t)) -> ((((exists pfa_gap_before_zeroinside. pfa_gap_before_zeroinside + S (i) = (t+L)) /\ ((((exists ff_h_pfp_before_zeroentry. ff_h_pfp_before_zeroentry + S (0) = S ((S (i)) * C)) /\ exists ff_q_pfp_before_zeroentry. B = ff_q_pfp_before_zeroentry * S ((S (i)) * C) + (0)))))) \/ (((exists pfc_gap_before_zerooutside. pfc_gap_before_zerooutside+(t+L)=(i)) /\ (((0)=0)))))
intro bintro cintro Lintro tintro Bintro Cintro iintro hpadintro hicases hpadleftsplitcases hiexists x+Ltrans (x+S i)+Lsimp [add_assoc,add_comm,add_succ_left]congrexact hi_witnessreflspecialize hpad_left (i)apply hpad_leftexact hi
polynomial_diagonal_term_left_padding_zero_right · unchanged support, not a new admission
forall ab ac L bb bc M BB BC t i j z. (((forall pfp_repeat_index_zero_term_pad_rightzeros. (exists pfa_gap_zero_term_pad_rightzerosindex. pfa_gap_zero_term_pad_rightzerosindex + S (pfp_repeat_index_zero_term_pad_rightzeros) = (t)) -> (((exists ff_h_pfp_zero_term_pad_rightzerosentry. ff_h_pfp_zero_term_pad_rightzerosentry + S (0) = S ((S (pfp_repeat_index_zero_term_pad_rightzeros)) * BC)) /\ exists ff_q_pfp_zero_term_pad_rightzerosentry. BB = ff_q_pfp_zero_term_pad_rightzerosentry * S ((S (pfp_repeat_index_zero_term_pad_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_zero_term_pad_right pfrep_value_zero_term_pad_right. (exists pfa_gap_zero_term_pad_rightbound. pfa_gap_zero_term_pad_rightbound + S (pfrep_index_zero_term_pad_right) = (M)) -> (((exists ff_h_pfp_zero_term_pad_rightinput. ff_h_pfp_zero_term_pad_rightinput + S (pfrep_value_zero_term_pad_right) = S ((S (pfrep_index_zero_term_pad_right)) * bc)) /\ exists ff_q_pfp_zero_term_pad_rightinput. bb = ff_q_pfp_zero_term_pad_rightinput * S ((S (pfrep_index_zero_term_pad_right)) * bc) + (pfrep_value_zero_term_pad_right))) -> (((exists ff_h_pfp_zero_term_pad_rightoutput. ff_h_pfp_zero_term_pad_rightoutput + S (pfrep_value_zero_term_pad_right) = S ((S ((t)+pfrep_index_zero_term_pad_right)) * BC)) /\ exists ff_q_pfp_zero_term_pad_rightoutput. BB = ff_q_pfp_zero_term_pad_rightoutput * S ((S ((t)+pfrep_index_zero_term_pad_right)) * BC) + (pfrep_value_zero_term_pad_right))))))) -> (exists pfa_gap_term_zero_right_bound. pfa_gap_term_zero_right_bound + S (i) = (t+j)) -> (exists pfc_complement_zero_term_actual_right pfc_left_zero_term_actual_right pfc_right_zero_term_actual_right. (((j)+pfc_complement_zero_term_actual_right=(i)) /\ ((((((exists pfa_gap_zero_term_actual_rightleftinside. pfa_gap_zero_term_actual_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_zero_term_actual_rightleftentry. ff_h_pfp_zero_term_actual_rightleftentry + S (pfc_left_zero_term_actual_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_zero_term_actual_rightleftentry. ab = ff_q_pfp_zero_term_actual_rightleftentry * S ((S (j)) * ac) + (pfc_left_zero_term_actual_right)))))) \/ (((exists pfc_gap_zero_term_actual_rightleftoutside. pfc_gap_zero_term_actual_rightleftoutside+(L)=(j)) /\ (((pfc_left_zero_term_actual_right)=0))))) /\ ((((((exists pfa_gap_zero_term_actual_rightrightinside. pfa_gap_zero_term_actual_rightrightinside + S (pfc_complement_zero_term_actual_right) = (t+M)) /\ ((((exists ff_h_pfp_zero_term_actual_rightrightentry. ff_h_pfp_zero_term_actual_rightrightentry + S (pfc_right_zero_term_actual_right) = S ((S (pfc_complement_zero_term_actual_right)) * BC)) /\ exists ff_q_pfp_zero_term_actual_rightrightentry. BB = ff_q_pfp_zero_term_actual_rightrightentry * S ((S (pfc_complement_zero_term_actual_right)) * BC) + (pfc_right_zero_term_actual_right)))))) \/ (((exists pfc_gap_zero_term_actual_rightrightoutside. pfc_gap_zero_term_actual_rightrightoutside+(t+M)=(pfc_complement_zero_term_actual_right)) /\ (((pfc_right_zero_term_actual_right)=0))))) /\ (((z)=pfc_left_zero_term_actual_right*pfc_right_zero_term_actual_right)))))))) -> (z=0)
intro abintro acintro Lintro bbintro bcintro Mintro BBintro BCintro tintro iintro jintro zintro hpadintro hboundintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_righthave hindex : exists pfa_gap_term_zero_complement. pfa_gap_term_zero_complement + S (x) = (t)cases hboundexists x3specialize add_right_cancel (x3+S x)specialize add_right_cancel (t)specialize add_right_cancel (j)apply add_right_canceltrans x3+S (j+x)simp [add_assoc,add_comm,add_succ_left]trans x3+S icongrreflcongrexact ht_witness_witness_witness_leftexact hbound_witnesshave hzero : x2=0specialize polynomial_zero_extended_entry_functional (BB)specialize polynomial_zero_extended_entry_functional (BC)specialize polynomial_zero_extended_entry_functional (t+M)specialize polynomial_zero_extended_entry_functional (x)specialize polynomial_zero_extended_entry_functional (x2)specialize polynomial_zero_extended_entry_functional (0)apply polynomial_zero_extended_entry_functionalexact ht_witness_witness_witness_right_right_leftspecialize polynomial_zero_extended_left_pad_before (bb)specialize polynomial_zero_extended_left_pad_before (bc)specialize polynomial_zero_extended_left_pad_before (M)specialize polynomial_zero_extended_left_pad_before (t)specialize polynomial_zero_extended_left_pad_before (BB)specialize polynomial_zero_extended_left_pad_before (BC)specialize polynomial_zero_extended_left_pad_before (x)apply polynomial_zero_extended_left_pad_beforeexact hpadexact hindextrans x1*x2exact ht_witness_witness_witness_right_right_rightrewrite hzerosimp
prime_field_convolution_coefficient_before_left_padding_right · unchanged support, not a new admission
forall p ab ac L bb bc M BB BC t i r. (~(p=0)) -> (((forall pfp_repeat_index_before_coefficient_pad_rightzeros. (exists pfa_gap_before_coefficient_pad_rightzerosindex. pfa_gap_before_coefficient_pad_rightzerosindex + S (pfp_repeat_index_before_coefficient_pad_rightzeros) = (t)) -> (((exists ff_h_pfp_before_coefficient_pad_rightzerosentry. ff_h_pfp_before_coefficient_pad_rightzerosentry + S (0) = S ((S (pfp_repeat_index_before_coefficient_pad_rightzeros)) * BC)) /\ exists ff_q_pfp_before_coefficient_pad_rightzerosentry. BB = ff_q_pfp_before_coefficient_pad_rightzerosentry * S ((S (pfp_repeat_index_before_coefficient_pad_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_before_coefficient_pad_right pfrep_value_before_coefficient_pad_right. (exists pfa_gap_before_coefficient_pad_rightbound. pfa_gap_before_coefficient_pad_rightbound + S (pfrep_index_before_coefficient_pad_right) = (M)) -> (((exists ff_h_pfp_before_coefficient_pad_rightinput. ff_h_pfp_before_coefficient_pad_rightinput + S (pfrep_value_before_coefficient_pad_right) = S ((S (pfrep_index_before_coefficient_pad_right)) * bc)) /\ exists ff_q_pfp_before_coefficient_pad_rightinput. bb = ff_q_pfp_before_coefficient_pad_rightinput * S ((S (pfrep_index_before_coefficient_pad_right)) * bc) + (pfrep_value_before_coefficient_pad_right))) -> (((exists ff_h_pfp_before_coefficient_pad_rightoutput. ff_h_pfp_before_coefficient_pad_rightoutput + S (pfrep_value_before_coefficient_pad_right) = S ((S ((t)+pfrep_index_before_coefficient_pad_right)) * BC)) /\ exists ff_q_pfp_before_coefficient_pad_rightoutput. BB = ff_q_pfp_before_coefficient_pad_rightoutput * S ((S ((t)+pfrep_index_before_coefficient_pad_right)) * BC) + (pfrep_value_before_coefficient_pad_right))))))) -> (exists pfa_gap_before_coefficient_index_right. pfa_gap_before_coefficient_index_right + S (i) = (t)) -> (exists pfc_terms_code_before_coefficient_actual_right pfc_terms_scale_before_coefficient_actual_right pfc_natural_sum_before_coefficient_actual_right. ((forall pfc_index_before_coefficient_actual_rightdiagonal. (exists pfa_gap_before_coefficient_actual_rightdiagonalbound. pfa_gap_before_coefficient_actual_rightdiagonalbound + S (pfc_index_before_coefficient_actual_rightdiagonal) = (S (i))) -> exists pfc_value_before_coefficient_actual_rightdiagonal. ((((exists ff_h_pfp_before_coefficient_actual_rightdiagonalentry. ff_h_pfp_before_coefficient_actual_rightdiagonalentry + S (pfc_value_before_coefficient_actual_rightdiagonal) = S ((S (pfc_index_before_coefficient_actual_rightdiagonal)) * pfc_terms_scale_before_coefficient_actual_right)) /\ exists ff_q_pfp_before_coefficient_actual_rightdiagonalentry. pfc_terms_code_before_coefficient_actual_right = ff_q_pfp_before_coefficient_actual_rightdiagonalentry * S ((S (pfc_index_before_coefficient_actual_rightdiagonal)) * pfc_terms_scale_before_coefficient_actual_right) + (pfc_value_before_coefficient_actual_rightdiagonal))) /\ ((exists pfc_complement_before_coefficient_actual_rightdiagonalterm pfc_left_before_coefficient_actual_rightdiagonalterm pfc_right_before_coefficient_actual_rightdiagonalterm. (((pfc_index_before_coefficient_actual_rightdiagonal)+pfc_complement_before_coefficient_actual_rightdiagonalterm=(i)) /\ ((((((exists pfa_gap_before_coefficient_actual_rightdiagonaltermleftinside. pfa_gap_before_coefficient_actual_rightdiagonaltermleftinside + S (pfc_index_before_coefficient_actual_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_before_coefficient_actual_rightdiagonaltermleftentry. ff_h_pfp_before_coefficient_actual_rightdiagonaltermleftentry + S (pfc_left_before_coefficient_actual_rightdiagonalterm) = S ((S (pfc_index_before_coefficient_actual_rightdiagonal)) * ac)) /\ exists ff_q_pfp_before_coefficient_actual_rightdiagonaltermleftentry. ab = ff_q_pfp_before_coefficient_actual_rightdiagonaltermleftentry * S ((S (pfc_index_before_coefficient_actual_rightdiagonal)) * ac) + (pfc_left_before_coefficient_actual_rightdiagonalterm)))))) \/ (((exists pfc_gap_before_coefficient_actual_rightdiagonaltermleftoutside. pfc_gap_before_coefficient_actual_rightdiagonaltermleftoutside+(L)=(pfc_index_before_coefficient_actual_rightdiagonal)) /\ (((pfc_left_before_coefficient_actual_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_before_coefficient_actual_rightdiagonaltermrightinside. pfa_gap_before_coefficient_actual_rightdiagonaltermrightinside + S (pfc_complement_before_coefficient_actual_rightdiagonalterm) = (t+M)) /\ ((((exists ff_h_pfp_before_coefficient_actual_rightdiagonaltermrightentry. ff_h_pfp_before_coefficient_actual_rightdiagonaltermrightentry + S (pfc_right_before_coefficient_actual_rightdiagonalterm) = S ((S (pfc_complement_before_coefficient_actual_rightdiagonalterm)) * BC)) /\ exists ff_q_pfp_before_coefficient_actual_rightdiagonaltermrightentry. BB = ff_q_pfp_before_coefficient_actual_rightdiagonaltermrightentry * S ((S (pfc_complement_before_coefficient_actual_rightdiagonalterm)) * BC) + (pfc_right_before_coefficient_actual_rightdiagonalterm)))))) \/ (((exists pfc_gap_before_coefficient_actual_rightdiagonaltermrightoutside. pfc_gap_before_coefficient_actual_rightdiagonaltermrightoutside+(t+M)=(pfc_complement_before_coefficient_actual_rightdiagonalterm)) /\ (((pfc_right_before_coefficient_actual_rightdiagonalterm)=0))))) /\ (((pfc_value_before_coefficient_actual_rightdiagonal)=pfc_left_before_coefficient_actual_rightdiagonalterm*pfc_right_before_coefficient_actual_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_before_coefficient_actual_rightsum fs_v_pfc_before_coefficient_actual_rightsum. ((((exists fs_h_pfc_before_coefficient_actual_rightsum_body_start. fs_h_pfc_before_coefficient_actual_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_before_coefficient_actual_rightsum)) /\ exists fs_q_pfc_before_coefficient_actual_rightsum_body_start. fs_u_pfc_before_coefficient_actual_rightsum = fs_q_pfc_before_coefficient_actual_rightsum_body_start * S ((S (0)) * fs_v_pfc_before_coefficient_actual_rightsum) + (0))) /\ ((((exists fs_h_pfc_before_coefficient_actual_rightsum_body_terminal. fs_h_pfc_before_coefficient_actual_rightsum_body_terminal + S (pfc_natural_sum_before_coefficient_actual_right) = S ((S (S (i))) * fs_v_pfc_before_coefficient_actual_rightsum)) /\ exists fs_q_pfc_before_coefficient_actual_rightsum_body_terminal. fs_u_pfc_before_coefficient_actual_rightsum = fs_q_pfc_before_coefficient_actual_rightsum_body_terminal * S ((S (S (i))) * fs_v_pfc_before_coefficient_actual_rightsum) + (pfc_natural_sum_before_coefficient_actual_right))) /\ forall fs_i_pfc_before_coefficient_actual_rightsum_body_steps. (exists fs_lt_pfc_before_coefficient_actual_rightsum_body_steps_bound. fs_lt_pfc_before_coefficient_actual_rightsum_body_steps_bound + S fs_i_pfc_before_coefficient_actual_rightsum_body_steps = S (i)) -> exists fs_a_pfc_before_coefficient_actual_rightsum_body_steps fs_r_pfc_before_coefficient_actual_rightsum_body_steps fs_s_pfc_before_coefficient_actual_rightsum_body_steps. ((((exists fs_h_pfc_before_coefficient_actual_rightsum_body_steps_summand. fs_h_pfc_before_coefficient_actual_rightsum_body_steps_summand + S (fs_a_pfc_before_coefficient_actual_rightsum_body_steps) = S ((S (fs_i_pfc_before_coefficient_actual_rightsum_body_steps)) * pfc_terms_scale_before_coefficient_actual_right)) /\ exists fs_q_pfc_before_coefficient_actual_rightsum_body_steps_summand. pfc_terms_code_before_coefficient_actual_right = fs_q_pfc_before_coefficient_actual_rightsum_body_steps_summand * S ((S (fs_i_pfc_before_coefficient_actual_rightsum_body_steps)) * pfc_terms_scale_before_coefficient_actual_right) + (fs_a_pfc_before_coefficient_actual_rightsum_body_steps))) /\ ((((exists fs_h_pfc_before_coefficient_actual_rightsum_body_steps_partial. fs_h_pfc_before_coefficient_actual_rightsum_body_steps_partial + S (fs_r_pfc_before_coefficient_actual_rightsum_body_steps) = S ((S (fs_i_pfc_before_coefficient_actual_rightsum_body_steps)) * fs_v_pfc_before_coefficient_actual_rightsum)) /\ exists fs_q_pfc_before_coefficient_actual_rightsum_body_steps_partial. fs_u_pfc_before_coefficient_actual_rightsum = fs_q_pfc_before_coefficient_actual_rightsum_body_steps_partial * S ((S (fs_i_pfc_before_coefficient_actual_rightsum_body_steps)) * fs_v_pfc_before_coefficient_actual_rightsum) + (fs_r_pfc_before_coefficient_actual_rightsum_body_steps))) /\ ((((exists fs_h_pfc_before_coefficient_actual_rightsum_body_steps_successor. fs_h_pfc_before_coefficient_actual_rightsum_body_steps_successor + S (fs_s_pfc_before_coefficient_actual_rightsum_body_steps) = S ((S (S fs_i_pfc_before_coefficient_actual_rightsum_body_steps)) * fs_v_pfc_before_coefficient_actual_rightsum)) /\ exists fs_q_pfc_before_coefficient_actual_rightsum_body_steps_successor. fs_u_pfc_before_coefficient_actual_rightsum = fs_q_pfc_before_coefficient_actual_rightsum_body_steps_successor * S ((S (S fs_i_pfc_before_coefficient_actual_rightsum_body_steps)) * fs_v_pfc_before_coefficient_actual_rightsum) + (fs_s_pfc_before_coefficient_actual_rightsum_body_steps))) /\ fs_s_pfc_before_coefficient_actual_rightsum_body_steps = fs_r_pfc_before_coefficient_actual_rightsum_body_steps + fs_a_pfc_before_coefficient_actual_rightsum_body_steps)))))) /\ ((((exists pfa_gap_before_coefficient_actual_rightresiduebound. pfa_gap_before_coefficient_actual_rightresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_before_coefficient_actual_rightresiduecongruence pfa_offset_right_before_coefficient_actual_rightresiduecongruence. (pfc_natural_sum_before_coefficient_actual_right) + (p) * pfa_offset_left_before_coefficient_actual_rightresiduecongruence = (r) + (p) * pfa_offset_right_before_coefficient_actual_rightresiduecongruence))))))))) -> (r=0)
intro pintro abintro acintro Lintro bbintro bcintro Mintro BBintro BCintro tintro iintro rintro hpintro hpadintro hiintro hccases hccases hc_witnesscases hc_witness_witnesscases hc_witness_witness_witnesscases hc_witness_witness_witness_righthave hz : forall pfp_repeat_index_before_coefficient_zero_diagonal_right. (exists pfa_gap_before_coefficient_zero_diagonal_rightindex. pfa_gap_before_coefficient_zero_diagonal_rightindex + S (pfp_repeat_index_before_coefficient_zero_diagonal_right) = (S i)) -> (((exists ff_h_pfp_before_coefficient_zero_diagonal_rightentry. ff_h_pfp_before_coefficient_zero_diagonal_rightentry + S (0) = S ((S (pfp_repeat_index_before_coefficient_zero_diagonal_right)) * x1)) /\ exists ff_q_pfp_before_coefficient_zero_diagonal_rightentry. x = ff_q_pfp_before_coefficient_zero_diagonal_rightentry * S ((S (pfp_repeat_index_before_coefficient_zero_diagonal_right)) * x1) + (0)))intro jintro hjhave ht : exists z. ((((exists ff_h_pfp_before_coefficient_entry_right. ff_h_pfp_before_coefficient_entry_right + S (z) = S ((S (j)) * x1)) /\ exists ff_q_pfp_before_coefficient_entry_right. x = ff_q_pfp_before_coefficient_entry_right * S ((S (j)) * x1) + (z))) /\ ((exists pfc_complement_before_coefficient_term_right pfc_left_before_coefficient_term_right pfc_right_before_coefficient_term_right. (((j)+pfc_complement_before_coefficient_term_right=(i)) /\ ((((((exists pfa_gap_before_coefficient_term_rightleftinside. pfa_gap_before_coefficient_term_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_before_coefficient_term_rightleftentry. ff_h_pfp_before_coefficient_term_rightleftentry + S (pfc_left_before_coefficient_term_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_before_coefficient_term_rightleftentry. ab = ff_q_pfp_before_coefficient_term_rightleftentry * S ((S (j)) * ac) + (pfc_left_before_coefficient_term_right)))))) \/ (((exists pfc_gap_before_coefficient_term_rightleftoutside. pfc_gap_before_coefficient_term_rightleftoutside+(L)=(j)) /\ (((pfc_left_before_coefficient_term_right)=0))))) /\ ((((((exists pfa_gap_before_coefficient_term_rightrightinside. pfa_gap_before_coefficient_term_rightrightinside + S (pfc_complement_before_coefficient_term_right) = (t+M)) /\ ((((exists ff_h_pfp_before_coefficient_term_rightrightentry. ff_h_pfp_before_coefficient_term_rightrightentry + S (pfc_right_before_coefficient_term_right) = S ((S (pfc_complement_before_coefficient_term_right)) * BC)) /\ exists ff_q_pfp_before_coefficient_term_rightrightentry. BB = ff_q_pfp_before_coefficient_term_rightrightentry * S ((S (pfc_complement_before_coefficient_term_right)) * BC) + (pfc_right_before_coefficient_term_right)))))) \/ (((exists pfc_gap_before_coefficient_term_rightrightoutside. pfc_gap_before_coefficient_term_rightrightoutside+(t+M)=(pfc_complement_before_coefficient_term_right)) /\ (((pfc_right_before_coefficient_term_right)=0))))) /\ (((z)=pfc_left_before_coefficient_term_right*pfc_right_before_coefficient_term_right))))))))))specialize hc_witness_witness_witness_left (j)apply hc_witness_witness_witness_leftexact hjcases htcases ht_witnesshave heq : x3=0specialize polynomial_diagonal_term_left_padding_zero_right (ab)specialize polynomial_diagonal_term_left_padding_zero_right (ac)specialize polynomial_diagonal_term_left_padding_zero_right (L)specialize polynomial_diagonal_term_left_padding_zero_right (bb)specialize polynomial_diagonal_term_left_padding_zero_right (bc)specialize polynomial_diagonal_term_left_padding_zero_right (M)specialize polynomial_diagonal_term_left_padding_zero_right (BB)specialize polynomial_diagonal_term_left_padding_zero_right (BC)specialize polynomial_diagonal_term_left_padding_zero_right (t)specialize polynomial_diagonal_term_left_padding_zero_right (i)specialize polynomial_diagonal_term_left_padding_zero_right (j)specialize polynomial_diagonal_term_left_padding_zero_right (x3)apply polynomial_diagonal_term_left_padding_zero_rightexact hpadspecialize le_trans (S i)specialize le_trans (t)specialize le_trans (t+j)apply le_transexact hispecialize le_add_right (t)specialize le_add_right (j)apply le_add_rightexact ht_witness_rightrewrite heq at ht_witness_leftrewrite heq at ht_witness_leftexact ht_witness_lefthave hsum : x2=0trans (S i)*0specialize beta_repeat_sum_exact (x)specialize beta_repeat_sum_exact (x1)specialize beta_repeat_sum_exact (0)specialize beta_repeat_sum_exact (S i)specialize beta_repeat_sum_exact (x2)apply beta_repeat_sum_exactexact hzexact hc_witness_witness_witness_right_leftsimprewrite hsum at hc_witness_witness_witness_right_rightspecialize prime_field_residue_bounded_value (p)specialize prime_field_residue_bounded_value (0)specialize prime_field_residue_bounded_value (r)apply prime_field_residue_bounded_valuespecialize one_le_of_ne_zero (p)apply one_le_of_ne_zeroexact hpexact hc_witness_witness_witness_right_right
polynomial_zero_extended_left_pad_shift · unchanged support, not a new admission
forall b c L t B C i a. (((forall pfp_repeat_index_shift_paddingzeros. (exists pfa_gap_shift_paddingzerosindex. pfa_gap_shift_paddingzerosindex + S (pfp_repeat_index_shift_paddingzeros) = (t)) -> (((exists ff_h_pfp_shift_paddingzerosentry. ff_h_pfp_shift_paddingzerosentry + S (0) = S ((S (pfp_repeat_index_shift_paddingzeros)) * C)) /\ exists ff_q_pfp_shift_paddingzerosentry. B = ff_q_pfp_shift_paddingzerosentry * S ((S (pfp_repeat_index_shift_paddingzeros)) * C) + (0)))) /\ ((forall pfrep_index_shift_padding pfrep_value_shift_padding. (exists pfa_gap_shift_paddingbound. pfa_gap_shift_paddingbound + S (pfrep_index_shift_padding) = (L)) -> (((exists ff_h_pfp_shift_paddinginput. ff_h_pfp_shift_paddinginput + S (pfrep_value_shift_padding) = S ((S (pfrep_index_shift_padding)) * c)) /\ exists ff_q_pfp_shift_paddinginput. b = ff_q_pfp_shift_paddinginput * S ((S (pfrep_index_shift_padding)) * c) + (pfrep_value_shift_padding))) -> (((exists ff_h_pfp_shift_paddingoutput. ff_h_pfp_shift_paddingoutput + S (pfrep_value_shift_padding) = S ((S ((t)+pfrep_index_shift_padding)) * C)) /\ exists ff_q_pfp_shift_paddingoutput. B = ff_q_pfp_shift_paddingoutput * S ((S ((t)+pfrep_index_shift_padding)) * C) + (pfrep_value_shift_padding))))))) -> ((((exists pfa_gap_shift_originalinside. pfa_gap_shift_originalinside + S (i) = (L)) /\ ((((exists ff_h_pfp_shift_originalentry. ff_h_pfp_shift_originalentry + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_shift_originalentry. b = ff_q_pfp_shift_originalentry * S ((S (i)) * c) + (a)))))) \/ (((exists pfc_gap_shift_originaloutside. pfc_gap_shift_originaloutside+(L)=(i)) /\ (((a)=0))))) -> ((((exists pfa_gap_shift_resultinside. pfa_gap_shift_resultinside + S (t+i) = (t+L)) /\ ((((exists ff_h_pfp_shift_resultentry. ff_h_pfp_shift_resultentry + S (a) = S ((S (t+i)) * C)) /\ exists ff_q_pfp_shift_resultentry. B = ff_q_pfp_shift_resultentry * S ((S (t+i)) * C) + (a)))))) \/ (((exists pfc_gap_shift_resultoutside. pfc_gap_shift_resultoutside+(t+L)=(t+i)) /\ (((a)=0)))))
intro bintro cintro Lintro tintro Bintro Cintro iintro aintro hpadintro hvaluecases hpadcases hvaluecases hvalue_leftleftsplitspecialize matrix_recursive_lt_add_left (i)specialize matrix_recursive_lt_add_left (L)specialize matrix_recursive_lt_add_left (t)apply matrix_recursive_lt_add_leftexact hvalue_left_leftspecialize hpad_right (i)specialize hpad_right (a)apply hpad_rightexact hvalue_left_leftexact hvalue_left_rightcases hvalue_rightrightsplitspecialize add_le_add_left (L)specialize add_le_add_left (i)specialize add_le_add_left (t)apply add_le_add_leftexact hvalue_right_leftexact hvalue_right_right
polynomial_diagonal_term_left_padding_right · unchanged support, not a new admission
forall ab ac L bb bc M BB BC t i j z. (((forall pfp_repeat_index_term_padding_rightzeros. (exists pfa_gap_term_padding_rightzerosindex. pfa_gap_term_padding_rightzerosindex + S (pfp_repeat_index_term_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_term_padding_rightzerosentry. ff_h_pfp_term_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_term_padding_rightzeros)) * BC)) /\ exists ff_q_pfp_term_padding_rightzerosentry. BB = ff_q_pfp_term_padding_rightzerosentry * S ((S (pfp_repeat_index_term_padding_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_term_padding_right pfrep_value_term_padding_right. (exists pfa_gap_term_padding_rightbound. pfa_gap_term_padding_rightbound + S (pfrep_index_term_padding_right) = (M)) -> (((exists ff_h_pfp_term_padding_rightinput. ff_h_pfp_term_padding_rightinput + S (pfrep_value_term_padding_right) = S ((S (pfrep_index_term_padding_right)) * bc)) /\ exists ff_q_pfp_term_padding_rightinput. bb = ff_q_pfp_term_padding_rightinput * S ((S (pfrep_index_term_padding_right)) * bc) + (pfrep_value_term_padding_right))) -> (((exists ff_h_pfp_term_padding_rightoutput. ff_h_pfp_term_padding_rightoutput + S (pfrep_value_term_padding_right) = S ((S ((t)+pfrep_index_term_padding_right)) * BC)) /\ exists ff_q_pfp_term_padding_rightoutput. BB = ff_q_pfp_term_padding_rightoutput * S ((S ((t)+pfrep_index_term_padding_right)) * BC) + (pfrep_value_term_padding_right))))))) -> (exists pfc_complement_term_original_right pfc_left_term_original_right pfc_right_term_original_right. (((j)+pfc_complement_term_original_right=(i)) /\ ((((((exists pfa_gap_term_original_rightleftinside. pfa_gap_term_original_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_original_rightleftentry. ff_h_pfp_term_original_rightleftentry + S (pfc_left_term_original_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_original_rightleftentry. ab = ff_q_pfp_term_original_rightleftentry * S ((S (j)) * ac) + (pfc_left_term_original_right)))))) \/ (((exists pfc_gap_term_original_rightleftoutside. pfc_gap_term_original_rightleftoutside+(L)=(j)) /\ (((pfc_left_term_original_right)=0))))) /\ ((((((exists pfa_gap_term_original_rightrightinside. pfa_gap_term_original_rightrightinside + S (pfc_complement_term_original_right) = (M)) /\ ((((exists ff_h_pfp_term_original_rightrightentry. ff_h_pfp_term_original_rightrightentry + S (pfc_right_term_original_right) = S ((S (pfc_complement_term_original_right)) * bc)) /\ exists ff_q_pfp_term_original_rightrightentry. bb = ff_q_pfp_term_original_rightrightentry * S ((S (pfc_complement_term_original_right)) * bc) + (pfc_right_term_original_right)))))) \/ (((exists pfc_gap_term_original_rightrightoutside. pfc_gap_term_original_rightrightoutside+(M)=(pfc_complement_term_original_right)) /\ (((pfc_right_term_original_right)=0))))) /\ (((z)=pfc_left_term_original_right*pfc_right_term_original_right)))))))) -> (exists pfc_complement_term_shifted_right pfc_left_term_shifted_right pfc_right_term_shifted_right. (((j)+pfc_complement_term_shifted_right=(t+i)) /\ ((((((exists pfa_gap_term_shifted_rightleftinside. pfa_gap_term_shifted_rightleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_shifted_rightleftentry. ff_h_pfp_term_shifted_rightleftentry + S (pfc_left_term_shifted_right) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_shifted_rightleftentry. ab = ff_q_pfp_term_shifted_rightleftentry * S ((S (j)) * ac) + (pfc_left_term_shifted_right)))))) \/ (((exists pfc_gap_term_shifted_rightleftoutside. pfc_gap_term_shifted_rightleftoutside+(L)=(j)) /\ (((pfc_left_term_shifted_right)=0))))) /\ ((((((exists pfa_gap_term_shifted_rightrightinside. pfa_gap_term_shifted_rightrightinside + S (pfc_complement_term_shifted_right) = (t+M)) /\ ((((exists ff_h_pfp_term_shifted_rightrightentry. ff_h_pfp_term_shifted_rightrightentry + S (pfc_right_term_shifted_right) = S ((S (pfc_complement_term_shifted_right)) * BC)) /\ exists ff_q_pfp_term_shifted_rightrightentry. BB = ff_q_pfp_term_shifted_rightrightentry * S ((S (pfc_complement_term_shifted_right)) * BC) + (pfc_right_term_shifted_right)))))) \/ (((exists pfc_gap_term_shifted_rightrightoutside. pfc_gap_term_shifted_rightrightoutside+(t+M)=(pfc_complement_term_shifted_right)) /\ (((pfc_right_term_shifted_right)=0))))) /\ (((z)=pfc_left_term_shifted_right*pfc_right_term_shifted_right))))))))
intro abintro acintro Lintro bbintro bcintro Mintro BBintro BCintro tintro iintro jintro zintro hpintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_rightexists t+xexists x1exists x2splittrans t+(j+x)simp [add_assoc,add_comm]congrreflexact ht_witness_witness_witness_leftsplitexact ht_witness_witness_witness_right_leftsplitspecialize polynomial_zero_extended_left_pad_shift (bb)specialize polynomial_zero_extended_left_pad_shift (bc)specialize polynomial_zero_extended_left_pad_shift (M)specialize polynomial_zero_extended_left_pad_shift (t)specialize polynomial_zero_extended_left_pad_shift (BB)specialize polynomial_zero_extended_left_pad_shift (BC)specialize polynomial_zero_extended_left_pad_shift (x)specialize polynomial_zero_extended_left_pad_shift (x2)apply polynomial_zero_extended_left_pad_shiftexact hpexact ht_witness_witness_witness_right_right_leftexact ht_witness_witness_witness_right_right_right
polynomial_diagonal_left_padding_right · unchanged support, not a new admission
forall ab ac L bb bc M BB BC t i db dc eb ec. (((forall pfp_repeat_index_diagonal_actual_padding_rightzeros. (exists pfa_gap_diagonal_actual_padding_rightzerosindex. pfa_gap_diagonal_actual_padding_rightzerosindex + S (pfp_repeat_index_diagonal_actual_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_diagonal_actual_padding_rightzerosentry. ff_h_pfp_diagonal_actual_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_diagonal_actual_padding_rightzeros)) * BC)) /\ exists ff_q_pfp_diagonal_actual_padding_rightzerosentry. BB = ff_q_pfp_diagonal_actual_padding_rightzerosentry * S ((S (pfp_repeat_index_diagonal_actual_padding_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_diagonal_actual_padding_right pfrep_value_diagonal_actual_padding_right. (exists pfa_gap_diagonal_actual_padding_rightbound. pfa_gap_diagonal_actual_padding_rightbound + S (pfrep_index_diagonal_actual_padding_right) = (M)) -> (((exists ff_h_pfp_diagonal_actual_padding_rightinput. ff_h_pfp_diagonal_actual_padding_rightinput + S (pfrep_value_diagonal_actual_padding_right) = S ((S (pfrep_index_diagonal_actual_padding_right)) * bc)) /\ exists ff_q_pfp_diagonal_actual_padding_rightinput. bb = ff_q_pfp_diagonal_actual_padding_rightinput * S ((S (pfrep_index_diagonal_actual_padding_right)) * bc) + (pfrep_value_diagonal_actual_padding_right))) -> (((exists ff_h_pfp_diagonal_actual_padding_rightoutput. ff_h_pfp_diagonal_actual_padding_rightoutput + S (pfrep_value_diagonal_actual_padding_right) = S ((S ((t)+pfrep_index_diagonal_actual_padding_right)) * BC)) /\ exists ff_q_pfp_diagonal_actual_padding_rightoutput. BB = ff_q_pfp_diagonal_actual_padding_rightoutput * S ((S ((t)+pfrep_index_diagonal_actual_padding_right)) * BC) + (pfrep_value_diagonal_actual_padding_right))))))) -> (forall pfc_index_diagonal_pad_old_right. (exists pfa_gap_diagonal_pad_old_rightbound. pfa_gap_diagonal_pad_old_rightbound + S (pfc_index_diagonal_pad_old_right) = (S i)) -> exists pfc_value_diagonal_pad_old_right. ((((exists ff_h_pfp_diagonal_pad_old_rightentry. ff_h_pfp_diagonal_pad_old_rightentry + S (pfc_value_diagonal_pad_old_right) = S ((S (pfc_index_diagonal_pad_old_right)) * dc)) /\ exists ff_q_pfp_diagonal_pad_old_rightentry. db = ff_q_pfp_diagonal_pad_old_rightentry * S ((S (pfc_index_diagonal_pad_old_right)) * dc) + (pfc_value_diagonal_pad_old_right))) /\ ((exists pfc_complement_diagonal_pad_old_rightterm pfc_left_diagonal_pad_old_rightterm pfc_right_diagonal_pad_old_rightterm. (((pfc_index_diagonal_pad_old_right)+pfc_complement_diagonal_pad_old_rightterm=(i)) /\ ((((((exists pfa_gap_diagonal_pad_old_righttermleftinside. pfa_gap_diagonal_pad_old_righttermleftinside + S (pfc_index_diagonal_pad_old_right) = (L)) /\ ((((exists ff_h_pfp_diagonal_pad_old_righttermleftentry. ff_h_pfp_diagonal_pad_old_righttermleftentry + S (pfc_left_diagonal_pad_old_rightterm) = S ((S (pfc_index_diagonal_pad_old_right)) * ac)) /\ exists ff_q_pfp_diagonal_pad_old_righttermleftentry. ab = ff_q_pfp_diagonal_pad_old_righttermleftentry * S ((S (pfc_index_diagonal_pad_old_right)) * ac) + (pfc_left_diagonal_pad_old_rightterm)))))) \/ (((exists pfc_gap_diagonal_pad_old_righttermleftoutside. pfc_gap_diagonal_pad_old_righttermleftoutside+(L)=(pfc_index_diagonal_pad_old_right)) /\ (((pfc_left_diagonal_pad_old_rightterm)=0))))) /\ ((((((exists pfa_gap_diagonal_pad_old_righttermrightinside. pfa_gap_diagonal_pad_old_righttermrightinside + S (pfc_complement_diagonal_pad_old_rightterm) = (M)) /\ ((((exists ff_h_pfp_diagonal_pad_old_righttermrightentry. ff_h_pfp_diagonal_pad_old_righttermrightentry + S (pfc_right_diagonal_pad_old_rightterm) = S ((S (pfc_complement_diagonal_pad_old_rightterm)) * bc)) /\ exists ff_q_pfp_diagonal_pad_old_righttermrightentry. bb = ff_q_pfp_diagonal_pad_old_righttermrightentry * S ((S (pfc_complement_diagonal_pad_old_rightterm)) * bc) + (pfc_right_diagonal_pad_old_rightterm)))))) \/ (((exists pfc_gap_diagonal_pad_old_righttermrightoutside. pfc_gap_diagonal_pad_old_righttermrightoutside+(M)=(pfc_complement_diagonal_pad_old_rightterm)) /\ (((pfc_right_diagonal_pad_old_rightterm)=0))))) /\ (((pfc_value_diagonal_pad_old_right)=pfc_left_diagonal_pad_old_rightterm*pfc_right_diagonal_pad_old_rightterm))))))))))) -> (forall pfc_index_diagonal_pad_new_right. (exists pfa_gap_diagonal_pad_new_rightbound. pfa_gap_diagonal_pad_new_rightbound + S (pfc_index_diagonal_pad_new_right) = (S (t+i))) -> exists pfc_value_diagonal_pad_new_right. ((((exists ff_h_pfp_diagonal_pad_new_rightentry. ff_h_pfp_diagonal_pad_new_rightentry + S (pfc_value_diagonal_pad_new_right) = S ((S (pfc_index_diagonal_pad_new_right)) * ec)) /\ exists ff_q_pfp_diagonal_pad_new_rightentry. eb = ff_q_pfp_diagonal_pad_new_rightentry * S ((S (pfc_index_diagonal_pad_new_right)) * ec) + (pfc_value_diagonal_pad_new_right))) /\ ((exists pfc_complement_diagonal_pad_new_rightterm pfc_left_diagonal_pad_new_rightterm pfc_right_diagonal_pad_new_rightterm. (((pfc_index_diagonal_pad_new_right)+pfc_complement_diagonal_pad_new_rightterm=(t+i)) /\ ((((((exists pfa_gap_diagonal_pad_new_righttermleftinside. pfa_gap_diagonal_pad_new_righttermleftinside + S (pfc_index_diagonal_pad_new_right) = (L)) /\ ((((exists ff_h_pfp_diagonal_pad_new_righttermleftentry. ff_h_pfp_diagonal_pad_new_righttermleftentry + S (pfc_left_diagonal_pad_new_rightterm) = S ((S (pfc_index_diagonal_pad_new_right)) * ac)) /\ exists ff_q_pfp_diagonal_pad_new_righttermleftentry. ab = ff_q_pfp_diagonal_pad_new_righttermleftentry * S ((S (pfc_index_diagonal_pad_new_right)) * ac) + (pfc_left_diagonal_pad_new_rightterm)))))) \/ (((exists pfc_gap_diagonal_pad_new_righttermleftoutside. pfc_gap_diagonal_pad_new_righttermleftoutside+(L)=(pfc_index_diagonal_pad_new_right)) /\ (((pfc_left_diagonal_pad_new_rightterm)=0))))) /\ ((((((exists pfa_gap_diagonal_pad_new_righttermrightinside. pfa_gap_diagonal_pad_new_righttermrightinside + S (pfc_complement_diagonal_pad_new_rightterm) = (t+M)) /\ ((((exists ff_h_pfp_diagonal_pad_new_righttermrightentry. ff_h_pfp_diagonal_pad_new_righttermrightentry + S (pfc_right_diagonal_pad_new_rightterm) = S ((S (pfc_complement_diagonal_pad_new_rightterm)) * BC)) /\ exists ff_q_pfp_diagonal_pad_new_righttermrightentry. BB = ff_q_pfp_diagonal_pad_new_righttermrightentry * S ((S (pfc_complement_diagonal_pad_new_rightterm)) * BC) + (pfc_right_diagonal_pad_new_rightterm)))))) \/ (((exists pfc_gap_diagonal_pad_new_righttermrightoutside. pfc_gap_diagonal_pad_new_righttermrightoutside+(t+M)=(pfc_complement_diagonal_pad_new_rightterm)) /\ (((pfc_right_diagonal_pad_new_rightterm)=0))))) /\ (((pfc_value_diagonal_pad_new_right)=pfc_left_diagonal_pad_new_rightterm*pfc_right_diagonal_pad_new_rightterm))))))))))) -> (((forall mdr_i_pfp_diagonal_pad_result_equal mdr_a_pfp_diagonal_pad_result_equal. (exists mdr_gap_pfp_diagonal_pad_result_equalb. mdr_gap_pfp_diagonal_pad_result_equalb + S (mdr_i_pfp_diagonal_pad_result_equal) = (S i)) -> (((exists ff_h_mdr_pfp_diagonal_pad_result_equalo. ff_h_mdr_pfp_diagonal_pad_result_equalo + S (mdr_a_pfp_diagonal_pad_result_equal) = S ((S (mdr_i_pfp_diagonal_pad_result_equal)) * dc)) /\ exists ff_q_mdr_pfp_diagonal_pad_result_equalo. db = ff_q_mdr_pfp_diagonal_pad_result_equalo * S ((S (mdr_i_pfp_diagonal_pad_result_equal)) * dc) + (mdr_a_pfp_diagonal_pad_result_equal))) -> (((exists ff_h_mdr_pfp_diagonal_pad_result_equaln. ff_h_mdr_pfp_diagonal_pad_result_equaln + S (mdr_a_pfp_diagonal_pad_result_equal) = S ((S (mdr_i_pfp_diagonal_pad_result_equal)) * ec)) /\ exists ff_q_mdr_pfp_diagonal_pad_result_equaln. eb = ff_q_mdr_pfp_diagonal_pad_result_equaln * S ((S (mdr_i_pfp_diagonal_pad_result_equal)) * ec) + (mdr_a_pfp_diagonal_pad_result_equal)))) /\ ((forall pfpad_tail_index_diagonal_pad_result_tail. (exists pfa_gap_diagonal_pad_result_tailbound. pfa_gap_diagonal_pad_result_tailbound + S (pfpad_tail_index_diagonal_pad_result_tail) = (t)) -> (((exists ff_h_pfp_diagonal_pad_result_tailzero. ff_h_pfp_diagonal_pad_result_tailzero + S (0) = S ((S ((S i)+pfpad_tail_index_diagonal_pad_result_tail)) * ec)) /\ exists ff_q_pfp_diagonal_pad_result_tailzero. eb = ff_q_pfp_diagonal_pad_result_tailzero * S ((S ((S i)+pfpad_tail_index_diagonal_pad_result_tail)) * ec) + (0)))))))
intro abintro acintro Lintro bbintro bcintro Mintro BBintro BCintro tintro iintro dbintro dcintro ebintro ecintro hpadintro holdintro hnewsplitintro jintro aintro hjintro hahave hterm : exists pfc_complement_diagonal_copy_old pfc_left_diagonal_copy_old pfc_right_diagonal_copy_old. (((j)+pfc_complement_diagonal_copy_old=(i)) /\ ((((((exists pfa_gap_diagonal_copy_oldleftinside. pfa_gap_diagonal_copy_oldleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_diagonal_copy_oldleftentry. ff_h_pfp_diagonal_copy_oldleftentry + S (pfc_left_diagonal_copy_old) = S ((S (j)) * ac)) /\ exists ff_q_pfp_diagonal_copy_oldleftentry. ab = ff_q_pfp_diagonal_copy_oldleftentry * S ((S (j)) * ac) + (pfc_left_diagonal_copy_old)))))) \/ (((exists pfc_gap_diagonal_copy_oldleftoutside. pfc_gap_diagonal_copy_oldleftoutside+(L)=(j)) /\ (((pfc_left_diagonal_copy_old)=0))))) /\ ((((((exists pfa_gap_diagonal_copy_oldrightinside. pfa_gap_diagonal_copy_oldrightinside + S (pfc_complement_diagonal_copy_old) = (M)) /\ ((((exists ff_h_pfp_diagonal_copy_oldrightentry. ff_h_pfp_diagonal_copy_oldrightentry + S (pfc_right_diagonal_copy_old) = S ((S (pfc_complement_diagonal_copy_old)) * bc)) /\ exists ff_q_pfp_diagonal_copy_oldrightentry. bb = ff_q_pfp_diagonal_copy_oldrightentry * S ((S (pfc_complement_diagonal_copy_old)) * bc) + (pfc_right_diagonal_copy_old)))))) \/ (((exists pfc_gap_diagonal_copy_oldrightoutside. pfc_gap_diagonal_copy_oldrightoutside+(M)=(pfc_complement_diagonal_copy_old)) /\ (((pfc_right_diagonal_copy_old)=0))))) /\ (((a)=pfc_left_diagonal_copy_old*pfc_right_diagonal_copy_old)))))))specialize polynomial_diagonal_prefix_entry (ab)specialize polynomial_diagonal_prefix_entry (ac)specialize polynomial_diagonal_prefix_entry (L)specialize polynomial_diagonal_prefix_entry (bb)specialize polynomial_diagonal_prefix_entry (bc)specialize polynomial_diagonal_prefix_entry (M)specialize polynomial_diagonal_prefix_entry (i)specialize polynomial_diagonal_prefix_entry (db)specialize polynomial_diagonal_prefix_entry (dc)specialize polynomial_diagonal_prefix_entry (S i)specialize polynomial_diagonal_prefix_entry (j)specialize polynomial_diagonal_prefix_entry (a)apply polynomial_diagonal_prefix_entryexact holdexact hjexact hahave hv : exists z. ((((exists ff_h_pfp_diagonal_copy_entry. ff_h_pfp_diagonal_copy_entry + S (z) = S ((S (j)) * ec)) /\ exists ff_q_pfp_diagonal_copy_entry. eb = ff_q_pfp_diagonal_copy_entry * S ((S (j)) * ec) + (z))) /\ ((exists pfc_complement_diagonal_copy_actual pfc_left_diagonal_copy_actual pfc_right_diagonal_copy_actual. (((j)+pfc_complement_diagonal_copy_actual=(t+i)) /\ ((((((exists pfa_gap_diagonal_copy_actualleftinside. pfa_gap_diagonal_copy_actualleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_diagonal_copy_actualleftentry. ff_h_pfp_diagonal_copy_actualleftentry + S (pfc_left_diagonal_copy_actual) = S ((S (j)) * ac)) /\ exists ff_q_pfp_diagonal_copy_actualleftentry. ab = ff_q_pfp_diagonal_copy_actualleftentry * S ((S (j)) * ac) + (pfc_left_diagonal_copy_actual)))))) \/ (((exists pfc_gap_diagonal_copy_actualleftoutside. pfc_gap_diagonal_copy_actualleftoutside+(L)=(j)) /\ (((pfc_left_diagonal_copy_actual)=0))))) /\ ((((((exists pfa_gap_diagonal_copy_actualrightinside. pfa_gap_diagonal_copy_actualrightinside + S (pfc_complement_diagonal_copy_actual) = (t+M)) /\ ((((exists ff_h_pfp_diagonal_copy_actualrightentry. ff_h_pfp_diagonal_copy_actualrightentry + S (pfc_right_diagonal_copy_actual) = S ((S (pfc_complement_diagonal_copy_actual)) * BC)) /\ exists ff_q_pfp_diagonal_copy_actualrightentry. BB = ff_q_pfp_diagonal_copy_actualrightentry * S ((S (pfc_complement_diagonal_copy_actual)) * BC) + (pfc_right_diagonal_copy_actual)))))) \/ (((exists pfc_gap_diagonal_copy_actualrightoutside. pfc_gap_diagonal_copy_actualrightoutside+(t+M)=(pfc_complement_diagonal_copy_actual)) /\ (((pfc_right_diagonal_copy_actual)=0))))) /\ (((z)=pfc_left_diagonal_copy_actual*pfc_right_diagonal_copy_actual))))))))))specialize hnew (j)apply hnewspecialize le_trans (S j)specialize le_trans (S i)specialize le_trans (S (t+i))apply le_transexact hjspecialize succ_le_succ (i)specialize succ_le_succ (t+i)apply succ_le_succspecialize le_add_left (i)specialize le_add_left (t)apply le_add_leftcases hvcases hv_witnesshave heq : x=aspecialize polynomial_diagonal_term_functional (ab)specialize polynomial_diagonal_term_functional (ac)specialize polynomial_diagonal_term_functional (L)specialize polynomial_diagonal_term_functional (BB)specialize polynomial_diagonal_term_functional (BC)specialize polynomial_diagonal_term_functional (t+M)specialize polynomial_diagonal_term_functional (t+i)specialize polynomial_diagonal_term_functional (j)specialize polynomial_diagonal_term_functional (x)specialize polynomial_diagonal_term_functional (a)apply polynomial_diagonal_term_functionalexact hv_witness_rightspecialize polynomial_diagonal_term_left_padding_right (ab)specialize polynomial_diagonal_term_left_padding_right (ac)specialize polynomial_diagonal_term_left_padding_right (L)specialize polynomial_diagonal_term_left_padding_right (bb)specialize polynomial_diagonal_term_left_padding_right (bc)specialize polynomial_diagonal_term_left_padding_right (M)specialize polynomial_diagonal_term_left_padding_right (BB)specialize polynomial_diagonal_term_left_padding_right (BC)specialize polynomial_diagonal_term_left_padding_right (t)specialize polynomial_diagonal_term_left_padding_right (i)specialize polynomial_diagonal_term_left_padding_right (j)specialize polynomial_diagonal_term_left_padding_right (a)apply polynomial_diagonal_term_left_padding_rightexact hpadexact htermrewrite heq at hv_witness_leftrewrite heq at hv_witness_leftexact hv_witness_leftintro jintro hjhave hv : exists z. ((((exists ff_h_pfp_diagonal_tail_entry. ff_h_pfp_diagonal_tail_entry + S (z) = S ((S (S i+j)) * ec)) /\ exists ff_q_pfp_diagonal_tail_entry. eb = ff_q_pfp_diagonal_tail_entry * S ((S (S i+j)) * ec) + (z))) /\ ((exists pfc_complement_diagonal_tail_actual pfc_left_diagonal_tail_actual pfc_right_diagonal_tail_actual. (((S i+j)+pfc_complement_diagonal_tail_actual=(t+i)) /\ ((((((exists pfa_gap_diagonal_tail_actualleftinside. pfa_gap_diagonal_tail_actualleftinside + S (S i+j) = (L)) /\ ((((exists ff_h_pfp_diagonal_tail_actualleftentry. ff_h_pfp_diagonal_tail_actualleftentry + S (pfc_left_diagonal_tail_actual) = S ((S (S i+j)) * ac)) /\ exists ff_q_pfp_diagonal_tail_actualleftentry. ab = ff_q_pfp_diagonal_tail_actualleftentry * S ((S (S i+j)) * ac) + (pfc_left_diagonal_tail_actual)))))) \/ (((exists pfc_gap_diagonal_tail_actualleftoutside. pfc_gap_diagonal_tail_actualleftoutside+(L)=(S i+j)) /\ (((pfc_left_diagonal_tail_actual)=0))))) /\ ((((((exists pfa_gap_diagonal_tail_actualrightinside. pfa_gap_diagonal_tail_actualrightinside + S (pfc_complement_diagonal_tail_actual) = (t+M)) /\ ((((exists ff_h_pfp_diagonal_tail_actualrightentry. ff_h_pfp_diagonal_tail_actualrightentry + S (pfc_right_diagonal_tail_actual) = S ((S (pfc_complement_diagonal_tail_actual)) * BC)) /\ exists ff_q_pfp_diagonal_tail_actualrightentry. BB = ff_q_pfp_diagonal_tail_actualrightentry * S ((S (pfc_complement_diagonal_tail_actual)) * BC) + (pfc_right_diagonal_tail_actual)))))) \/ (((exists pfc_gap_diagonal_tail_actualrightoutside. pfc_gap_diagonal_tail_actualrightoutside+(t+M)=(pfc_complement_diagonal_tail_actual)) /\ (((pfc_right_diagonal_tail_actual)=0))))) /\ (((z)=pfc_left_diagonal_tail_actual*pfc_right_diagonal_tail_actual))))))))))specialize hnew (S i+j)apply hnewhave hlength : S i+t=S (t+i)simp [add_succ_left,add_comm]have hbound : exists pfa_gap_diagonal_tail_bound. pfa_gap_diagonal_tail_bound + S (S i+j) = (S i+t)specialize matrix_recursive_lt_add_left (j)specialize matrix_recursive_lt_add_left (t)specialize matrix_recursive_lt_add_left (S i)apply matrix_recursive_lt_add_leftexact hjrewrite hlength at hboundexact hboundcases hvcases hv_witnesshave hz : x=0specialize polynomial_diagonal_term_left_padding_zero_right (ab)specialize polynomial_diagonal_term_left_padding_zero_right (ac)specialize polynomial_diagonal_term_left_padding_zero_right (L)specialize polynomial_diagonal_term_left_padding_zero_right (bb)specialize polynomial_diagonal_term_left_padding_zero_right (bc)specialize polynomial_diagonal_term_left_padding_zero_right (M)specialize polynomial_diagonal_term_left_padding_zero_right (BB)specialize polynomial_diagonal_term_left_padding_zero_right (BC)specialize polynomial_diagonal_term_left_padding_zero_right (t)specialize polynomial_diagonal_term_left_padding_zero_right (t+i)specialize polynomial_diagonal_term_left_padding_zero_right (S i+j)specialize polynomial_diagonal_term_left_padding_zero_right (x)apply polynomial_diagonal_term_left_padding_zero_rightexact hpadspecialize matrix_recursive_lt_add_left (i)specialize matrix_recursive_lt_add_left (S i+j)specialize matrix_recursive_lt_add_left (t)apply matrix_recursive_lt_add_leftexists jspecialize add_comm (j)specialize add_comm (S i)apply add_commexact hv_witness_rightrewrite hz at hv_witness_leftrewrite hz at hv_witness_leftexact hv_witness_left
polynomial_zero_tail_natural_sum_invariant · unchanged support, not a new admission
forall b c B C L t n m. (forall mdr_i_pfp_sum_tail_equal mdr_a_pfp_sum_tail_equal. (exists mdr_gap_pfp_sum_tail_equalb. mdr_gap_pfp_sum_tail_equalb + S (mdr_i_pfp_sum_tail_equal) = (L)) -> (((exists ff_h_mdr_pfp_sum_tail_equalo. ff_h_mdr_pfp_sum_tail_equalo + S (mdr_a_pfp_sum_tail_equal) = S ((S (mdr_i_pfp_sum_tail_equal)) * c)) /\ exists ff_q_mdr_pfp_sum_tail_equalo. b = ff_q_mdr_pfp_sum_tail_equalo * S ((S (mdr_i_pfp_sum_tail_equal)) * c) + (mdr_a_pfp_sum_tail_equal))) -> (((exists ff_h_mdr_pfp_sum_tail_equaln. ff_h_mdr_pfp_sum_tail_equaln + S (mdr_a_pfp_sum_tail_equal) = S ((S (mdr_i_pfp_sum_tail_equal)) * C)) /\ exists ff_q_mdr_pfp_sum_tail_equaln. B = ff_q_mdr_pfp_sum_tail_equaln * S ((S (mdr_i_pfp_sum_tail_equal)) * C) + (mdr_a_pfp_sum_tail_equal)))) -> (forall pfpad_tail_index_sum_tail_zero. (exists pfa_gap_sum_tail_zerobound. pfa_gap_sum_tail_zerobound + S (pfpad_tail_index_sum_tail_zero) = (t)) -> (((exists ff_h_pfp_sum_tail_zerozero. ff_h_pfp_sum_tail_zerozero + S (0) = S ((S ((L)+pfpad_tail_index_sum_tail_zero)) * C)) /\ exists ff_q_pfp_sum_tail_zerozero. B = ff_q_pfp_sum_tail_zerozero * S ((S ((L)+pfpad_tail_index_sum_tail_zero)) * C) + (0)))) -> (exists fs_u_pfc_sum_tail_original fs_v_pfc_sum_tail_original. ((((exists fs_h_pfc_sum_tail_original_body_start. fs_h_pfc_sum_tail_original_body_start + S (0) = S ((S (0)) * fs_v_pfc_sum_tail_original)) /\ exists fs_q_pfc_sum_tail_original_body_start. fs_u_pfc_sum_tail_original = fs_q_pfc_sum_tail_original_body_start * S ((S (0)) * fs_v_pfc_sum_tail_original) + (0))) /\ ((((exists fs_h_pfc_sum_tail_original_body_terminal. fs_h_pfc_sum_tail_original_body_terminal + S (n) = S ((S (L)) * fs_v_pfc_sum_tail_original)) /\ exists fs_q_pfc_sum_tail_original_body_terminal. fs_u_pfc_sum_tail_original = fs_q_pfc_sum_tail_original_body_terminal * S ((S (L)) * fs_v_pfc_sum_tail_original) + (n))) /\ forall fs_i_pfc_sum_tail_original_body_steps. (exists fs_lt_pfc_sum_tail_original_body_steps_bound. fs_lt_pfc_sum_tail_original_body_steps_bound + S fs_i_pfc_sum_tail_original_body_steps = L) -> exists fs_a_pfc_sum_tail_original_body_steps fs_r_pfc_sum_tail_original_body_steps fs_s_pfc_sum_tail_original_body_steps. ((((exists fs_h_pfc_sum_tail_original_body_steps_summand. fs_h_pfc_sum_tail_original_body_steps_summand + S (fs_a_pfc_sum_tail_original_body_steps) = S ((S (fs_i_pfc_sum_tail_original_body_steps)) * c)) /\ exists fs_q_pfc_sum_tail_original_body_steps_summand. b = fs_q_pfc_sum_tail_original_body_steps_summand * S ((S (fs_i_pfc_sum_tail_original_body_steps)) * c) + (fs_a_pfc_sum_tail_original_body_steps))) /\ ((((exists fs_h_pfc_sum_tail_original_body_steps_partial. fs_h_pfc_sum_tail_original_body_steps_partial + S (fs_r_pfc_sum_tail_original_body_steps) = S ((S (fs_i_pfc_sum_tail_original_body_steps)) * fs_v_pfc_sum_tail_original)) /\ exists fs_q_pfc_sum_tail_original_body_steps_partial. fs_u_pfc_sum_tail_original = fs_q_pfc_sum_tail_original_body_steps_partial * S ((S (fs_i_pfc_sum_tail_original_body_steps)) * fs_v_pfc_sum_tail_original) + (fs_r_pfc_sum_tail_original_body_steps))) /\ ((((exists fs_h_pfc_sum_tail_original_body_steps_successor. fs_h_pfc_sum_tail_original_body_steps_successor + S (fs_s_pfc_sum_tail_original_body_steps) = S ((S (S fs_i_pfc_sum_tail_original_body_steps)) * fs_v_pfc_sum_tail_original)) /\ exists fs_q_pfc_sum_tail_original_body_steps_successor. fs_u_pfc_sum_tail_original = fs_q_pfc_sum_tail_original_body_steps_successor * S ((S (S fs_i_pfc_sum_tail_original_body_steps)) * fs_v_pfc_sum_tail_original) + (fs_s_pfc_sum_tail_original_body_steps))) /\ fs_s_pfc_sum_tail_original_body_steps = fs_r_pfc_sum_tail_original_body_steps + fs_a_pfc_sum_tail_original_body_steps)))))) -> (exists fs_u_pfc_sum_tail_actual fs_v_pfc_sum_tail_actual. ((((exists fs_h_pfc_sum_tail_actual_body_start. fs_h_pfc_sum_tail_actual_body_start + S (0) = S ((S (0)) * fs_v_pfc_sum_tail_actual)) /\ exists fs_q_pfc_sum_tail_actual_body_start. fs_u_pfc_sum_tail_actual = fs_q_pfc_sum_tail_actual_body_start * S ((S (0)) * fs_v_pfc_sum_tail_actual) + (0))) /\ ((((exists fs_h_pfc_sum_tail_actual_body_terminal. fs_h_pfc_sum_tail_actual_body_terminal + S (m) = S ((S (L+t)) * fs_v_pfc_sum_tail_actual)) /\ exists fs_q_pfc_sum_tail_actual_body_terminal. fs_u_pfc_sum_tail_actual = fs_q_pfc_sum_tail_actual_body_terminal * S ((S (L+t)) * fs_v_pfc_sum_tail_actual) + (m))) /\ forall fs_i_pfc_sum_tail_actual_body_steps. (exists fs_lt_pfc_sum_tail_actual_body_steps_bound. fs_lt_pfc_sum_tail_actual_body_steps_bound + S fs_i_pfc_sum_tail_actual_body_steps = L+t) -> exists fs_a_pfc_sum_tail_actual_body_steps fs_r_pfc_sum_tail_actual_body_steps fs_s_pfc_sum_tail_actual_body_steps. ((((exists fs_h_pfc_sum_tail_actual_body_steps_summand. fs_h_pfc_sum_tail_actual_body_steps_summand + S (fs_a_pfc_sum_tail_actual_body_steps) = S ((S (fs_i_pfc_sum_tail_actual_body_steps)) * C)) /\ exists fs_q_pfc_sum_tail_actual_body_steps_summand. B = fs_q_pfc_sum_tail_actual_body_steps_summand * S ((S (fs_i_pfc_sum_tail_actual_body_steps)) * C) + (fs_a_pfc_sum_tail_actual_body_steps))) /\ ((((exists fs_h_pfc_sum_tail_actual_body_steps_partial. fs_h_pfc_sum_tail_actual_body_steps_partial + S (fs_r_pfc_sum_tail_actual_body_steps) = S ((S (fs_i_pfc_sum_tail_actual_body_steps)) * fs_v_pfc_sum_tail_actual)) /\ exists fs_q_pfc_sum_tail_actual_body_steps_partial. fs_u_pfc_sum_tail_actual = fs_q_pfc_sum_tail_actual_body_steps_partial * S ((S (fs_i_pfc_sum_tail_actual_body_steps)) * fs_v_pfc_sum_tail_actual) + (fs_r_pfc_sum_tail_actual_body_steps))) /\ ((((exists fs_h_pfc_sum_tail_actual_body_steps_successor. fs_h_pfc_sum_tail_actual_body_steps_successor + S (fs_s_pfc_sum_tail_actual_body_steps) = S ((S (S fs_i_pfc_sum_tail_actual_body_steps)) * fs_v_pfc_sum_tail_actual)) /\ exists fs_q_pfc_sum_tail_actual_body_steps_successor. fs_u_pfc_sum_tail_actual = fs_q_pfc_sum_tail_actual_body_steps_successor * S ((S (S fs_i_pfc_sum_tail_actual_body_steps)) * fs_v_pfc_sum_tail_actual) + (fs_s_pfc_sum_tail_actual_body_steps))) /\ fs_s_pfc_sum_tail_actual_body_steps = fs_r_pfc_sum_tail_actual_body_steps + fs_a_pfc_sum_tail_actual_body_steps)))))) -> (m=n)
intro bintro cintro Bintro Cintro Linduction tintro nintro mintro heintro hzintro hsintro hthave hlength : L+0=Lsimprewrite hlength at htrewrite hlength at htrewrite hlength at htspecialize beta_sum_functional (B)specialize beta_sum_functional (C)specialize beta_sum_functional (L)specialize beta_sum_functional (m)specialize beta_sum_functional (n)apply beta_sum_functionalexact htspecialize beta_sum_transport_prefix (b)specialize beta_sum_transport_prefix (c)specialize beta_sum_transport_prefix (B)specialize beta_sum_transport_prefix (C)specialize beta_sum_transport_prefix (L)specialize beta_sum_transport_prefix (n)apply beta_sum_transport_prefixexact hsexact heintro nintro mintro heintro hzintro hsintro hthave hlength : L+S t=S (L+t)simprewrite hlength at htrewrite hlength at htrewrite hlength at hthave hd : exists a u. ((((exists ff_h_pfp_sum_tail_decompositionentry. ff_h_pfp_sum_tail_decompositionentry + S (a) = S ((S (L+t)) * C)) /\ exists ff_q_pfp_sum_tail_decompositionentry. B = ff_q_pfp_sum_tail_decompositionentry * S ((S (L+t)) * C) + (a))) /\ (((exists fs_u_pfc_sum_tail_decompositionprefix fs_v_pfc_sum_tail_decompositionprefix. ((((exists fs_h_pfc_sum_tail_decompositionprefix_body_start. fs_h_pfc_sum_tail_decompositionprefix_body_start + S (0) = S ((S (0)) * fs_v_pfc_sum_tail_decompositionprefix)) /\ exists fs_q_pfc_sum_tail_decompositionprefix_body_start. fs_u_pfc_sum_tail_decompositionprefix = fs_q_pfc_sum_tail_decompositionprefix_body_start * S ((S (0)) * fs_v_pfc_sum_tail_decompositionprefix) + (0))) /\ ((((exists fs_h_pfc_sum_tail_decompositionprefix_body_terminal. fs_h_pfc_sum_tail_decompositionprefix_body_terminal + S (u) = S ((S (L+t)) * fs_v_pfc_sum_tail_decompositionprefix)) /\ exists fs_q_pfc_sum_tail_decompositionprefix_body_terminal. fs_u_pfc_sum_tail_decompositionprefix = fs_q_pfc_sum_tail_decompositionprefix_body_terminal * S ((S (L+t)) * fs_v_pfc_sum_tail_decompositionprefix) + (u))) /\ forall fs_i_pfc_sum_tail_decompositionprefix_body_steps. (exists fs_lt_pfc_sum_tail_decompositionprefix_body_steps_bound. fs_lt_pfc_sum_tail_decompositionprefix_body_steps_bound + S fs_i_pfc_sum_tail_decompositionprefix_body_steps = L+t) -> exists fs_a_pfc_sum_tail_decompositionprefix_body_steps fs_r_pfc_sum_tail_decompositionprefix_body_steps fs_s_pfc_sum_tail_decompositionprefix_body_steps. ((((exists fs_h_pfc_sum_tail_decompositionprefix_body_steps_summand. fs_h_pfc_sum_tail_decompositionprefix_body_steps_summand + S (fs_a_pfc_sum_tail_decompositionprefix_body_steps) = S ((S (fs_i_pfc_sum_tail_decompositionprefix_body_steps)) * C)) /\ exists fs_q_pfc_sum_tail_decompositionprefix_body_steps_summand. B = fs_q_pfc_sum_tail_decompositionprefix_body_steps_summand * S ((S (fs_i_pfc_sum_tail_decompositionprefix_body_steps)) * C) + (fs_a_pfc_sum_tail_decompositionprefix_body_steps))) /\ ((((exists fs_h_pfc_sum_tail_decompositionprefix_body_steps_partial. fs_h_pfc_sum_tail_decompositionprefix_body_steps_partial + S (fs_r_pfc_sum_tail_decompositionprefix_body_steps) = S ((S (fs_i_pfc_sum_tail_decompositionprefix_body_steps)) * fs_v_pfc_sum_tail_decompositionprefix)) /\ exists fs_q_pfc_sum_tail_decompositionprefix_body_steps_partial. fs_u_pfc_sum_tail_decompositionprefix = fs_q_pfc_sum_tail_decompositionprefix_body_steps_partial * S ((S (fs_i_pfc_sum_tail_decompositionprefix_body_steps)) * fs_v_pfc_sum_tail_decompositionprefix) + (fs_r_pfc_sum_tail_decompositionprefix_body_steps))) /\ ((((exists fs_h_pfc_sum_tail_decompositionprefix_body_steps_successor. fs_h_pfc_sum_tail_decompositionprefix_body_steps_successor + S (fs_s_pfc_sum_tail_decompositionprefix_body_steps) = S ((S (S fs_i_pfc_sum_tail_decompositionprefix_body_steps)) * fs_v_pfc_sum_tail_decompositionprefix)) /\ exists fs_q_pfc_sum_tail_decompositionprefix_body_steps_successor. fs_u_pfc_sum_tail_decompositionprefix = fs_q_pfc_sum_tail_decompositionprefix_body_steps_successor * S ((S (S fs_i_pfc_sum_tail_decompositionprefix_body_steps)) * fs_v_pfc_sum_tail_decompositionprefix) + (fs_s_pfc_sum_tail_decompositionprefix_body_steps))) /\ fs_s_pfc_sum_tail_decompositionprefix_body_steps = fs_r_pfc_sum_tail_decompositionprefix_body_steps + fs_a_pfc_sum_tail_decompositionprefix_body_steps)))))) /\ (((m)=u+a)))))specialize beta_sum_succ_decompose (B)specialize beta_sum_succ_decompose (C)specialize beta_sum_succ_decompose (L+t)specialize beta_sum_succ_decompose (m)apply beta_sum_succ_decomposeexact htcases hdcases hd_witnesscases hd_witness_witnesscases hd_witness_witness_righthave hprefix : x1=nspecialize IH (n)specialize IH (x1)apply IHexact heintro iintro hispecialize hz (i)apply hzspecialize le_succ (S i)specialize le_succ (t)apply le_succexact hiexact hsexact hd_witness_witness_right_lefthave hzero : x=0specialize beta_at_unique (B)specialize beta_at_unique (C)specialize beta_at_unique (L+t)specialize beta_at_unique (x)specialize beta_at_unique (0)apply beta_at_uniqueexact hd_witness_witness_leftspecialize hz (t)apply hzspecialize le_refl (S t)apply le_refltrans x1+xexact hd_witness_witness_right_righttrans x1rewrite hzerosimpexact hprefix
prime_field_convolution_coefficient_left_padding_right · unchanged support, not a new admission
forall p ab ac L bb bc M BB BC t i r. (((forall pfp_repeat_index_coefficient_padding_rightzeros. (exists pfa_gap_coefficient_padding_rightzerosindex. pfa_gap_coefficient_padding_rightzerosindex + S (pfp_repeat_index_coefficient_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_coefficient_padding_rightzerosentry. ff_h_pfp_coefficient_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_coefficient_padding_rightzeros)) * BC)) /\ exists ff_q_pfp_coefficient_padding_rightzerosentry. BB = ff_q_pfp_coefficient_padding_rightzerosentry * S ((S (pfp_repeat_index_coefficient_padding_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_coefficient_padding_right pfrep_value_coefficient_padding_right. (exists pfa_gap_coefficient_padding_rightbound. pfa_gap_coefficient_padding_rightbound + S (pfrep_index_coefficient_padding_right) = (M)) -> (((exists ff_h_pfp_coefficient_padding_rightinput. ff_h_pfp_coefficient_padding_rightinput + S (pfrep_value_coefficient_padding_right) = S ((S (pfrep_index_coefficient_padding_right)) * bc)) /\ exists ff_q_pfp_coefficient_padding_rightinput. bb = ff_q_pfp_coefficient_padding_rightinput * S ((S (pfrep_index_coefficient_padding_right)) * bc) + (pfrep_value_coefficient_padding_right))) -> (((exists ff_h_pfp_coefficient_padding_rightoutput. ff_h_pfp_coefficient_padding_rightoutput + S (pfrep_value_coefficient_padding_right) = S ((S ((t)+pfrep_index_coefficient_padding_right)) * BC)) /\ exists ff_q_pfp_coefficient_padding_rightoutput. BB = ff_q_pfp_coefficient_padding_rightoutput * S ((S ((t)+pfrep_index_coefficient_padding_right)) * BC) + (pfrep_value_coefficient_padding_right))))))) -> (exists pfc_terms_code_coefficient_original_right pfc_terms_scale_coefficient_original_right pfc_natural_sum_coefficient_original_right. ((forall pfc_index_coefficient_original_rightdiagonal. (exists pfa_gap_coefficient_original_rightdiagonalbound. pfa_gap_coefficient_original_rightdiagonalbound + S (pfc_index_coefficient_original_rightdiagonal) = (S (i))) -> exists pfc_value_coefficient_original_rightdiagonal. ((((exists ff_h_pfp_coefficient_original_rightdiagonalentry. ff_h_pfp_coefficient_original_rightdiagonalentry + S (pfc_value_coefficient_original_rightdiagonal) = S ((S (pfc_index_coefficient_original_rightdiagonal)) * pfc_terms_scale_coefficient_original_right)) /\ exists ff_q_pfp_coefficient_original_rightdiagonalentry. pfc_terms_code_coefficient_original_right = ff_q_pfp_coefficient_original_rightdiagonalentry * S ((S (pfc_index_coefficient_original_rightdiagonal)) * pfc_terms_scale_coefficient_original_right) + (pfc_value_coefficient_original_rightdiagonal))) /\ ((exists pfc_complement_coefficient_original_rightdiagonalterm pfc_left_coefficient_original_rightdiagonalterm pfc_right_coefficient_original_rightdiagonalterm. (((pfc_index_coefficient_original_rightdiagonal)+pfc_complement_coefficient_original_rightdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_original_rightdiagonaltermleftinside. pfa_gap_coefficient_original_rightdiagonaltermleftinside + S (pfc_index_coefficient_original_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_original_rightdiagonaltermleftentry. ff_h_pfp_coefficient_original_rightdiagonaltermleftentry + S (pfc_left_coefficient_original_rightdiagonalterm) = S ((S (pfc_index_coefficient_original_rightdiagonal)) * ac)) /\ exists ff_q_pfp_coefficient_original_rightdiagonaltermleftentry. ab = ff_q_pfp_coefficient_original_rightdiagonaltermleftentry * S ((S (pfc_index_coefficient_original_rightdiagonal)) * ac) + (pfc_left_coefficient_original_rightdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_original_rightdiagonaltermleftoutside. pfc_gap_coefficient_original_rightdiagonaltermleftoutside+(L)=(pfc_index_coefficient_original_rightdiagonal)) /\ (((pfc_left_coefficient_original_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_original_rightdiagonaltermrightinside. pfa_gap_coefficient_original_rightdiagonaltermrightinside + S (pfc_complement_coefficient_original_rightdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_original_rightdiagonaltermrightentry. ff_h_pfp_coefficient_original_rightdiagonaltermrightentry + S (pfc_right_coefficient_original_rightdiagonalterm) = S ((S (pfc_complement_coefficient_original_rightdiagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_original_rightdiagonaltermrightentry. bb = ff_q_pfp_coefficient_original_rightdiagonaltermrightentry * S ((S (pfc_complement_coefficient_original_rightdiagonalterm)) * bc) + (pfc_right_coefficient_original_rightdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_original_rightdiagonaltermrightoutside. pfc_gap_coefficient_original_rightdiagonaltermrightoutside+(M)=(pfc_complement_coefficient_original_rightdiagonalterm)) /\ (((pfc_right_coefficient_original_rightdiagonalterm)=0))))) /\ (((pfc_value_coefficient_original_rightdiagonal)=pfc_left_coefficient_original_rightdiagonalterm*pfc_right_coefficient_original_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_original_rightsum fs_v_pfc_coefficient_original_rightsum. ((((exists fs_h_pfc_coefficient_original_rightsum_body_start. fs_h_pfc_coefficient_original_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_original_rightsum)) /\ exists fs_q_pfc_coefficient_original_rightsum_body_start. fs_u_pfc_coefficient_original_rightsum = fs_q_pfc_coefficient_original_rightsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_original_rightsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_original_rightsum_body_terminal. fs_h_pfc_coefficient_original_rightsum_body_terminal + S (pfc_natural_sum_coefficient_original_right) = S ((S (S (i))) * fs_v_pfc_coefficient_original_rightsum)) /\ exists fs_q_pfc_coefficient_original_rightsum_body_terminal. fs_u_pfc_coefficient_original_rightsum = fs_q_pfc_coefficient_original_rightsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_original_rightsum) + (pfc_natural_sum_coefficient_original_right))) /\ forall fs_i_pfc_coefficient_original_rightsum_body_steps. (exists fs_lt_pfc_coefficient_original_rightsum_body_steps_bound. fs_lt_pfc_coefficient_original_rightsum_body_steps_bound + S fs_i_pfc_coefficient_original_rightsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_original_rightsum_body_steps fs_r_pfc_coefficient_original_rightsum_body_steps fs_s_pfc_coefficient_original_rightsum_body_steps. ((((exists fs_h_pfc_coefficient_original_rightsum_body_steps_summand. fs_h_pfc_coefficient_original_rightsum_body_steps_summand + S (fs_a_pfc_coefficient_original_rightsum_body_steps) = S ((S (fs_i_pfc_coefficient_original_rightsum_body_steps)) * pfc_terms_scale_coefficient_original_right)) /\ exists fs_q_pfc_coefficient_original_rightsum_body_steps_summand. pfc_terms_code_coefficient_original_right = fs_q_pfc_coefficient_original_rightsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_original_rightsum_body_steps)) * pfc_terms_scale_coefficient_original_right) + (fs_a_pfc_coefficient_original_rightsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_original_rightsum_body_steps_partial. fs_h_pfc_coefficient_original_rightsum_body_steps_partial + S (fs_r_pfc_coefficient_original_rightsum_body_steps) = S ((S (fs_i_pfc_coefficient_original_rightsum_body_steps)) * fs_v_pfc_coefficient_original_rightsum)) /\ exists fs_q_pfc_coefficient_original_rightsum_body_steps_partial. fs_u_pfc_coefficient_original_rightsum = fs_q_pfc_coefficient_original_rightsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_original_rightsum_body_steps)) * fs_v_pfc_coefficient_original_rightsum) + (fs_r_pfc_coefficient_original_rightsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_original_rightsum_body_steps_successor. fs_h_pfc_coefficient_original_rightsum_body_steps_successor + S (fs_s_pfc_coefficient_original_rightsum_body_steps) = S ((S (S fs_i_pfc_coefficient_original_rightsum_body_steps)) * fs_v_pfc_coefficient_original_rightsum)) /\ exists fs_q_pfc_coefficient_original_rightsum_body_steps_successor. fs_u_pfc_coefficient_original_rightsum = fs_q_pfc_coefficient_original_rightsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_original_rightsum_body_steps)) * fs_v_pfc_coefficient_original_rightsum) + (fs_s_pfc_coefficient_original_rightsum_body_steps))) /\ fs_s_pfc_coefficient_original_rightsum_body_steps = fs_r_pfc_coefficient_original_rightsum_body_steps + fs_a_pfc_coefficient_original_rightsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_original_rightresiduebound. pfa_gap_coefficient_original_rightresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_coefficient_original_rightresiduecongruence pfa_offset_right_coefficient_original_rightresiduecongruence. (pfc_natural_sum_coefficient_original_right) + (p) * pfa_offset_left_coefficient_original_rightresiduecongruence = (r) + (p) * pfa_offset_right_coefficient_original_rightresiduecongruence))))))))) -> (exists pfc_terms_code_coefficient_shifted_right pfc_terms_scale_coefficient_shifted_right pfc_natural_sum_coefficient_shifted_right. ((forall pfc_index_coefficient_shifted_rightdiagonal. (exists pfa_gap_coefficient_shifted_rightdiagonalbound. pfa_gap_coefficient_shifted_rightdiagonalbound + S (pfc_index_coefficient_shifted_rightdiagonal) = (S (t+i))) -> exists pfc_value_coefficient_shifted_rightdiagonal. ((((exists ff_h_pfp_coefficient_shifted_rightdiagonalentry. ff_h_pfp_coefficient_shifted_rightdiagonalentry + S (pfc_value_coefficient_shifted_rightdiagonal) = S ((S (pfc_index_coefficient_shifted_rightdiagonal)) * pfc_terms_scale_coefficient_shifted_right)) /\ exists ff_q_pfp_coefficient_shifted_rightdiagonalentry. pfc_terms_code_coefficient_shifted_right = ff_q_pfp_coefficient_shifted_rightdiagonalentry * S ((S (pfc_index_coefficient_shifted_rightdiagonal)) * pfc_terms_scale_coefficient_shifted_right) + (pfc_value_coefficient_shifted_rightdiagonal))) /\ ((exists pfc_complement_coefficient_shifted_rightdiagonalterm pfc_left_coefficient_shifted_rightdiagonalterm pfc_right_coefficient_shifted_rightdiagonalterm. (((pfc_index_coefficient_shifted_rightdiagonal)+pfc_complement_coefficient_shifted_rightdiagonalterm=(t+i)) /\ ((((((exists pfa_gap_coefficient_shifted_rightdiagonaltermleftinside. pfa_gap_coefficient_shifted_rightdiagonaltermleftinside + S (pfc_index_coefficient_shifted_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_shifted_rightdiagonaltermleftentry. ff_h_pfp_coefficient_shifted_rightdiagonaltermleftentry + S (pfc_left_coefficient_shifted_rightdiagonalterm) = S ((S (pfc_index_coefficient_shifted_rightdiagonal)) * ac)) /\ exists ff_q_pfp_coefficient_shifted_rightdiagonaltermleftentry. ab = ff_q_pfp_coefficient_shifted_rightdiagonaltermleftentry * S ((S (pfc_index_coefficient_shifted_rightdiagonal)) * ac) + (pfc_left_coefficient_shifted_rightdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_shifted_rightdiagonaltermleftoutside. pfc_gap_coefficient_shifted_rightdiagonaltermleftoutside+(L)=(pfc_index_coefficient_shifted_rightdiagonal)) /\ (((pfc_left_coefficient_shifted_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_shifted_rightdiagonaltermrightinside. pfa_gap_coefficient_shifted_rightdiagonaltermrightinside + S (pfc_complement_coefficient_shifted_rightdiagonalterm) = (t+M)) /\ ((((exists ff_h_pfp_coefficient_shifted_rightdiagonaltermrightentry. ff_h_pfp_coefficient_shifted_rightdiagonaltermrightentry + S (pfc_right_coefficient_shifted_rightdiagonalterm) = S ((S (pfc_complement_coefficient_shifted_rightdiagonalterm)) * BC)) /\ exists ff_q_pfp_coefficient_shifted_rightdiagonaltermrightentry. BB = ff_q_pfp_coefficient_shifted_rightdiagonaltermrightentry * S ((S (pfc_complement_coefficient_shifted_rightdiagonalterm)) * BC) + (pfc_right_coefficient_shifted_rightdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_shifted_rightdiagonaltermrightoutside. pfc_gap_coefficient_shifted_rightdiagonaltermrightoutside+(t+M)=(pfc_complement_coefficient_shifted_rightdiagonalterm)) /\ (((pfc_right_coefficient_shifted_rightdiagonalterm)=0))))) /\ (((pfc_value_coefficient_shifted_rightdiagonal)=pfc_left_coefficient_shifted_rightdiagonalterm*pfc_right_coefficient_shifted_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_shifted_rightsum fs_v_pfc_coefficient_shifted_rightsum. ((((exists fs_h_pfc_coefficient_shifted_rightsum_body_start. fs_h_pfc_coefficient_shifted_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_shifted_rightsum)) /\ exists fs_q_pfc_coefficient_shifted_rightsum_body_start. fs_u_pfc_coefficient_shifted_rightsum = fs_q_pfc_coefficient_shifted_rightsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_shifted_rightsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_shifted_rightsum_body_terminal. fs_h_pfc_coefficient_shifted_rightsum_body_terminal + S (pfc_natural_sum_coefficient_shifted_right) = S ((S (S (t+i))) * fs_v_pfc_coefficient_shifted_rightsum)) /\ exists fs_q_pfc_coefficient_shifted_rightsum_body_terminal. fs_u_pfc_coefficient_shifted_rightsum = fs_q_pfc_coefficient_shifted_rightsum_body_terminal * S ((S (S (t+i))) * fs_v_pfc_coefficient_shifted_rightsum) + (pfc_natural_sum_coefficient_shifted_right))) /\ forall fs_i_pfc_coefficient_shifted_rightsum_body_steps. (exists fs_lt_pfc_coefficient_shifted_rightsum_body_steps_bound. fs_lt_pfc_coefficient_shifted_rightsum_body_steps_bound + S fs_i_pfc_coefficient_shifted_rightsum_body_steps = S (t+i)) -> exists fs_a_pfc_coefficient_shifted_rightsum_body_steps fs_r_pfc_coefficient_shifted_rightsum_body_steps fs_s_pfc_coefficient_shifted_rightsum_body_steps. ((((exists fs_h_pfc_coefficient_shifted_rightsum_body_steps_summand. fs_h_pfc_coefficient_shifted_rightsum_body_steps_summand + S (fs_a_pfc_coefficient_shifted_rightsum_body_steps) = S ((S (fs_i_pfc_coefficient_shifted_rightsum_body_steps)) * pfc_terms_scale_coefficient_shifted_right)) /\ exists fs_q_pfc_coefficient_shifted_rightsum_body_steps_summand. pfc_terms_code_coefficient_shifted_right = fs_q_pfc_coefficient_shifted_rightsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_shifted_rightsum_body_steps)) * pfc_terms_scale_coefficient_shifted_right) + (fs_a_pfc_coefficient_shifted_rightsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_shifted_rightsum_body_steps_partial. fs_h_pfc_coefficient_shifted_rightsum_body_steps_partial + S (fs_r_pfc_coefficient_shifted_rightsum_body_steps) = S ((S (fs_i_pfc_coefficient_shifted_rightsum_body_steps)) * fs_v_pfc_coefficient_shifted_rightsum)) /\ exists fs_q_pfc_coefficient_shifted_rightsum_body_steps_partial. fs_u_pfc_coefficient_shifted_rightsum = fs_q_pfc_coefficient_shifted_rightsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_shifted_rightsum_body_steps)) * fs_v_pfc_coefficient_shifted_rightsum) + (fs_r_pfc_coefficient_shifted_rightsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_shifted_rightsum_body_steps_successor. fs_h_pfc_coefficient_shifted_rightsum_body_steps_successor + S (fs_s_pfc_coefficient_shifted_rightsum_body_steps) = S ((S (S fs_i_pfc_coefficient_shifted_rightsum_body_steps)) * fs_v_pfc_coefficient_shifted_rightsum)) /\ exists fs_q_pfc_coefficient_shifted_rightsum_body_steps_successor. fs_u_pfc_coefficient_shifted_rightsum = fs_q_pfc_coefficient_shifted_rightsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_shifted_rightsum_body_steps)) * fs_v_pfc_coefficient_shifted_rightsum) + (fs_s_pfc_coefficient_shifted_rightsum_body_steps))) /\ fs_s_pfc_coefficient_shifted_rightsum_body_steps = fs_r_pfc_coefficient_shifted_rightsum_body_steps + fs_a_pfc_coefficient_shifted_rightsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_shifted_rightresiduebound. pfa_gap_coefficient_shifted_rightresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_coefficient_shifted_rightresiduecongruence pfa_offset_right_coefficient_shifted_rightresiduecongruence. (pfc_natural_sum_coefficient_shifted_right) + (p) * pfa_offset_left_coefficient_shifted_rightresiduecongruence = (r) + (p) * pfa_offset_right_coefficient_shifted_rightresiduecongruence)))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro BBintro BCintro tintro iintro rintro hpadintro hccases hccases hc_witnesscases hc_witness_witnesscases hc_witness_witness_witnesscases hc_witness_witness_witness_righthave hd : exists eb ec. forall pfc_index_coefficient_padded_diagonal_right. (exists pfa_gap_coefficient_padded_diagonal_rightbound. pfa_gap_coefficient_padded_diagonal_rightbound + S (pfc_index_coefficient_padded_diagonal_right) = (S (t+i))) -> exists pfc_value_coefficient_padded_diagonal_right. ((((exists ff_h_pfp_coefficient_padded_diagonal_rightentry. ff_h_pfp_coefficient_padded_diagonal_rightentry + S (pfc_value_coefficient_padded_diagonal_right) = S ((S (pfc_index_coefficient_padded_diagonal_right)) * ec)) /\ exists ff_q_pfp_coefficient_padded_diagonal_rightentry. eb = ff_q_pfp_coefficient_padded_diagonal_rightentry * S ((S (pfc_index_coefficient_padded_diagonal_right)) * ec) + (pfc_value_coefficient_padded_diagonal_right))) /\ ((exists pfc_complement_coefficient_padded_diagonal_rightterm pfc_left_coefficient_padded_diagonal_rightterm pfc_right_coefficient_padded_diagonal_rightterm. (((pfc_index_coefficient_padded_diagonal_right)+pfc_complement_coefficient_padded_diagonal_rightterm=(t+i)) /\ ((((((exists pfa_gap_coefficient_padded_diagonal_righttermleftinside. pfa_gap_coefficient_padded_diagonal_righttermleftinside + S (pfc_index_coefficient_padded_diagonal_right) = (L)) /\ ((((exists ff_h_pfp_coefficient_padded_diagonal_righttermleftentry. ff_h_pfp_coefficient_padded_diagonal_righttermleftentry + S (pfc_left_coefficient_padded_diagonal_rightterm) = S ((S (pfc_index_coefficient_padded_diagonal_right)) * ac)) /\ exists ff_q_pfp_coefficient_padded_diagonal_righttermleftentry. ab = ff_q_pfp_coefficient_padded_diagonal_righttermleftentry * S ((S (pfc_index_coefficient_padded_diagonal_right)) * ac) + (pfc_left_coefficient_padded_diagonal_rightterm)))))) \/ (((exists pfc_gap_coefficient_padded_diagonal_righttermleftoutside. pfc_gap_coefficient_padded_diagonal_righttermleftoutside+(L)=(pfc_index_coefficient_padded_diagonal_right)) /\ (((pfc_left_coefficient_padded_diagonal_rightterm)=0))))) /\ ((((((exists pfa_gap_coefficient_padded_diagonal_righttermrightinside. pfa_gap_coefficient_padded_diagonal_righttermrightinside + S (pfc_complement_coefficient_padded_diagonal_rightterm) = (t+M)) /\ ((((exists ff_h_pfp_coefficient_padded_diagonal_righttermrightentry. ff_h_pfp_coefficient_padded_diagonal_righttermrightentry + S (pfc_right_coefficient_padded_diagonal_rightterm) = S ((S (pfc_complement_coefficient_padded_diagonal_rightterm)) * BC)) /\ exists ff_q_pfp_coefficient_padded_diagonal_righttermrightentry. BB = ff_q_pfp_coefficient_padded_diagonal_righttermrightentry * S ((S (pfc_complement_coefficient_padded_diagonal_rightterm)) * BC) + (pfc_right_coefficient_padded_diagonal_rightterm)))))) \/ (((exists pfc_gap_coefficient_padded_diagonal_righttermrightoutside. pfc_gap_coefficient_padded_diagonal_righttermrightoutside+(t+M)=(pfc_complement_coefficient_padded_diagonal_rightterm)) /\ (((pfc_right_coefficient_padded_diagonal_rightterm)=0))))) /\ (((pfc_value_coefficient_padded_diagonal_right)=pfc_left_coefficient_padded_diagonal_rightterm*pfc_right_coefficient_padded_diagonal_rightterm))))))))))specialize polynomial_diagonal_prefix_exists (ab)specialize polynomial_diagonal_prefix_exists (ac)specialize polynomial_diagonal_prefix_exists (L)specialize polynomial_diagonal_prefix_exists (BB)specialize polynomial_diagonal_prefix_exists (BC)specialize polynomial_diagonal_prefix_exists (t+M)specialize polynomial_diagonal_prefix_exists (t+i)apply polynomial_diagonal_prefix_existscases hdcases hd_witnesshave hs : exists n. exists fs_u_pfc_coefficient_padded_sum_right fs_v_pfc_coefficient_padded_sum_right. ((((exists fs_h_pfc_coefficient_padded_sum_right_body_start. fs_h_pfc_coefficient_padded_sum_right_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_padded_sum_right)) /\ exists fs_q_pfc_coefficient_padded_sum_right_body_start. fs_u_pfc_coefficient_padded_sum_right = fs_q_pfc_coefficient_padded_sum_right_body_start * S ((S (0)) * fs_v_pfc_coefficient_padded_sum_right) + (0))) /\ ((((exists fs_h_pfc_coefficient_padded_sum_right_body_terminal. fs_h_pfc_coefficient_padded_sum_right_body_terminal + S (n) = S ((S (S (t+i))) * fs_v_pfc_coefficient_padded_sum_right)) /\ exists fs_q_pfc_coefficient_padded_sum_right_body_terminal. fs_u_pfc_coefficient_padded_sum_right = fs_q_pfc_coefficient_padded_sum_right_body_terminal * S ((S (S (t+i))) * fs_v_pfc_coefficient_padded_sum_right) + (n))) /\ forall fs_i_pfc_coefficient_padded_sum_right_body_steps. (exists fs_lt_pfc_coefficient_padded_sum_right_body_steps_bound. fs_lt_pfc_coefficient_padded_sum_right_body_steps_bound + S fs_i_pfc_coefficient_padded_sum_right_body_steps = S (t+i)) -> exists fs_a_pfc_coefficient_padded_sum_right_body_steps fs_r_pfc_coefficient_padded_sum_right_body_steps fs_s_pfc_coefficient_padded_sum_right_body_steps. ((((exists fs_h_pfc_coefficient_padded_sum_right_body_steps_summand. fs_h_pfc_coefficient_padded_sum_right_body_steps_summand + S (fs_a_pfc_coefficient_padded_sum_right_body_steps) = S ((S (fs_i_pfc_coefficient_padded_sum_right_body_steps)) * x4)) /\ exists fs_q_pfc_coefficient_padded_sum_right_body_steps_summand. x3 = fs_q_pfc_coefficient_padded_sum_right_body_steps_summand * S ((S (fs_i_pfc_coefficient_padded_sum_right_body_steps)) * x4) + (fs_a_pfc_coefficient_padded_sum_right_body_steps))) /\ ((((exists fs_h_pfc_coefficient_padded_sum_right_body_steps_partial. fs_h_pfc_coefficient_padded_sum_right_body_steps_partial + S (fs_r_pfc_coefficient_padded_sum_right_body_steps) = S ((S (fs_i_pfc_coefficient_padded_sum_right_body_steps)) * fs_v_pfc_coefficient_padded_sum_right)) /\ exists fs_q_pfc_coefficient_padded_sum_right_body_steps_partial. fs_u_pfc_coefficient_padded_sum_right = fs_q_pfc_coefficient_padded_sum_right_body_steps_partial * S ((S (fs_i_pfc_coefficient_padded_sum_right_body_steps)) * fs_v_pfc_coefficient_padded_sum_right) + (fs_r_pfc_coefficient_padded_sum_right_body_steps))) /\ ((((exists fs_h_pfc_coefficient_padded_sum_right_body_steps_successor. fs_h_pfc_coefficient_padded_sum_right_body_steps_successor + S (fs_s_pfc_coefficient_padded_sum_right_body_steps) = S ((S (S fs_i_pfc_coefficient_padded_sum_right_body_steps)) * fs_v_pfc_coefficient_padded_sum_right)) /\ exists fs_q_pfc_coefficient_padded_sum_right_body_steps_successor. fs_u_pfc_coefficient_padded_sum_right = fs_q_pfc_coefficient_padded_sum_right_body_steps_successor * S ((S (S fs_i_pfc_coefficient_padded_sum_right_body_steps)) * fs_v_pfc_coefficient_padded_sum_right) + (fs_s_pfc_coefficient_padded_sum_right_body_steps))) /\ fs_s_pfc_coefficient_padded_sum_right_body_steps = fs_r_pfc_coefficient_padded_sum_right_body_steps + fs_a_pfc_coefficient_padded_sum_right_body_steps)))))specialize beta_sum_exists (x3)specialize beta_sum_exists (x4)specialize beta_sum_exists (S (t+i))apply beta_sum_existscases hshave hdata : ((forall mdr_i_pfp_coefficient_diagonal_equal mdr_a_pfp_coefficient_diagonal_equal. (exists mdr_gap_pfp_coefficient_diagonal_equalb. mdr_gap_pfp_coefficient_diagonal_equalb + S (mdr_i_pfp_coefficient_diagonal_equal) = (S i)) -> (((exists ff_h_mdr_pfp_coefficient_diagonal_equalo. ff_h_mdr_pfp_coefficient_diagonal_equalo + S (mdr_a_pfp_coefficient_diagonal_equal) = S ((S (mdr_i_pfp_coefficient_diagonal_equal)) * x1)) /\ exists ff_q_mdr_pfp_coefficient_diagonal_equalo. x = ff_q_mdr_pfp_coefficient_diagonal_equalo * S ((S (mdr_i_pfp_coefficient_diagonal_equal)) * x1) + (mdr_a_pfp_coefficient_diagonal_equal))) -> (((exists ff_h_mdr_pfp_coefficient_diagonal_equaln. ff_h_mdr_pfp_coefficient_diagonal_equaln + S (mdr_a_pfp_coefficient_diagonal_equal) = S ((S (mdr_i_pfp_coefficient_diagonal_equal)) * x4)) /\ exists ff_q_mdr_pfp_coefficient_diagonal_equaln. x3 = ff_q_mdr_pfp_coefficient_diagonal_equaln * S ((S (mdr_i_pfp_coefficient_diagonal_equal)) * x4) + (mdr_a_pfp_coefficient_diagonal_equal)))) /\ ((forall pfpad_tail_index_coefficient_diagonal_tail. (exists pfa_gap_coefficient_diagonal_tailbound. pfa_gap_coefficient_diagonal_tailbound + S (pfpad_tail_index_coefficient_diagonal_tail) = (t)) -> (((exists ff_h_pfp_coefficient_diagonal_tailzero. ff_h_pfp_coefficient_diagonal_tailzero + S (0) = S ((S ((S i)+pfpad_tail_index_coefficient_diagonal_tail)) * x4)) /\ exists ff_q_pfp_coefficient_diagonal_tailzero. x3 = ff_q_pfp_coefficient_diagonal_tailzero * S ((S ((S i)+pfpad_tail_index_coefficient_diagonal_tail)) * x4) + (0))))))specialize polynomial_diagonal_left_padding_right (ab)specialize polynomial_diagonal_left_padding_right (ac)specialize polynomial_diagonal_left_padding_right (L)specialize polynomial_diagonal_left_padding_right (bb)specialize polynomial_diagonal_left_padding_right (bc)specialize polynomial_diagonal_left_padding_right (M)specialize polynomial_diagonal_left_padding_right (BB)specialize polynomial_diagonal_left_padding_right (BC)specialize polynomial_diagonal_left_padding_right (t)specialize polynomial_diagonal_left_padding_right (i)specialize polynomial_diagonal_left_padding_right (x)specialize polynomial_diagonal_left_padding_right (x1)specialize polynomial_diagonal_left_padding_right (x3)specialize polynomial_diagonal_left_padding_right (x4)apply polynomial_diagonal_left_padding_rightexact hpadexact hc_witness_witness_witness_leftexact hd_witness_witnesshave heq : x5=x2cases hdataspecialize polynomial_zero_tail_natural_sum_invariant (x)specialize polynomial_zero_tail_natural_sum_invariant (x1)specialize polynomial_zero_tail_natural_sum_invariant (x3)specialize polynomial_zero_tail_natural_sum_invariant (x4)specialize polynomial_zero_tail_natural_sum_invariant (S i)specialize polynomial_zero_tail_natural_sum_invariant (t)specialize polynomial_zero_tail_natural_sum_invariant (x2)specialize polynomial_zero_tail_natural_sum_invariant (x5)apply polynomial_zero_tail_natural_sum_invariantexact hdata_leftexact hdata_rightexact hc_witness_witness_witness_right_lefthave hlength : S i+t=S (t+i)simp [add_succ_left,add_comm]rewrite hlengthrewrite hlengthrewrite hlengthexact hs_witnessexists x3exists x4exists x2splitexact hd_witness_witnesssplitrewrite heq at hs_witnessrewrite heq at hs_witnessexact hs_witnessexact hc_witness_witness_witness_right_right
prime_field_polynomial_convolution_left_padding_nonempty_right · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N BB BC t CB CC K. (~(p=0)) -> (~(L=0)) -> (~(M=0)) -> (((forall pfp_repeat_index_nonempty_factor_padding_rightzeros. (exists pfa_gap_nonempty_factor_padding_rightzerosindex. pfa_gap_nonempty_factor_padding_rightzerosindex + S (pfp_repeat_index_nonempty_factor_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_nonempty_factor_padding_rightzerosentry. ff_h_pfp_nonempty_factor_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_nonempty_factor_padding_rightzeros)) * BC)) /\ exists ff_q_pfp_nonempty_factor_padding_rightzerosentry. BB = ff_q_pfp_nonempty_factor_padding_rightzerosentry * S ((S (pfp_repeat_index_nonempty_factor_padding_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_nonempty_factor_padding_right pfrep_value_nonempty_factor_padding_right. (exists pfa_gap_nonempty_factor_padding_rightbound. pfa_gap_nonempty_factor_padding_rightbound + S (pfrep_index_nonempty_factor_padding_right) = (M)) -> (((exists ff_h_pfp_nonempty_factor_padding_rightinput. ff_h_pfp_nonempty_factor_padding_rightinput + S (pfrep_value_nonempty_factor_padding_right) = S ((S (pfrep_index_nonempty_factor_padding_right)) * bc)) /\ exists ff_q_pfp_nonempty_factor_padding_rightinput. bb = ff_q_pfp_nonempty_factor_padding_rightinput * S ((S (pfrep_index_nonempty_factor_padding_right)) * bc) + (pfrep_value_nonempty_factor_padding_right))) -> (((exists ff_h_pfp_nonempty_factor_padding_rightoutput. ff_h_pfp_nonempty_factor_padding_rightoutput + S (pfrep_value_nonempty_factor_padding_right) = S ((S ((t)+pfrep_index_nonempty_factor_padding_right)) * BC)) /\ exists ff_q_pfp_nonempty_factor_padding_rightoutput. BB = ff_q_pfp_nonempty_factor_padding_rightoutput * S ((S ((t)+pfrep_index_nonempty_factor_padding_right)) * BC) + (pfrep_value_nonempty_factor_padding_right))))))) -> (((forall fom_index_pfp_nonempty_old_rightleft. (exists fom_gap_pfp_nonempty_old_rightleft_index_bound. fom_gap_pfp_nonempty_old_rightleft_index_bound + S (fom_index_pfp_nonempty_old_rightleft) = L) -> exists fom_value_pfp_nonempty_old_rightleft. ((((exists fom_beta_height_pfp_nonempty_old_rightleft_entry. fom_beta_height_pfp_nonempty_old_rightleft_entry + S (fom_value_pfp_nonempty_old_rightleft) = S ((S (fom_index_pfp_nonempty_old_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_nonempty_old_rightleft_entry. ab = fom_beta_quotient_pfp_nonempty_old_rightleft_entry * S ((S (fom_index_pfp_nonempty_old_rightleft)) * ac) + (fom_value_pfp_nonempty_old_rightleft))) /\ (exists fom_gap_pfp_nonempty_old_rightleft_value_bound. fom_gap_pfp_nonempty_old_rightleft_value_bound + S (fom_value_pfp_nonempty_old_rightleft) = p))) /\ (((forall fom_index_pfp_nonempty_old_rightright. (exists fom_gap_pfp_nonempty_old_rightright_index_bound. fom_gap_pfp_nonempty_old_rightright_index_bound + S (fom_index_pfp_nonempty_old_rightright) = M) -> exists fom_value_pfp_nonempty_old_rightright. ((((exists fom_beta_height_pfp_nonempty_old_rightright_entry. fom_beta_height_pfp_nonempty_old_rightright_entry + S (fom_value_pfp_nonempty_old_rightright) = S ((S (fom_index_pfp_nonempty_old_rightright)) * bc)) /\ exists fom_beta_quotient_pfp_nonempty_old_rightright_entry. bb = fom_beta_quotient_pfp_nonempty_old_rightright_entry * S ((S (fom_index_pfp_nonempty_old_rightright)) * bc) + (fom_value_pfp_nonempty_old_rightright))) /\ (exists fom_gap_pfp_nonempty_old_rightright_value_bound. fom_gap_pfp_nonempty_old_rightright_value_bound + S (fom_value_pfp_nonempty_old_rightright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_nonempty_old_rightcoefficients. (exists pfa_gap_nonempty_old_rightcoefficientsbound. pfa_gap_nonempty_old_rightcoefficientsbound + S (pfc_index_nonempty_old_rightcoefficients) = (N)) -> exists pfc_value_nonempty_old_rightcoefficients. ((((exists ff_h_pfp_nonempty_old_rightcoefficientsentry. ff_h_pfp_nonempty_old_rightcoefficientsentry + S (pfc_value_nonempty_old_rightcoefficients) = S ((S (pfc_index_nonempty_old_rightcoefficients)) * cc)) /\ exists ff_q_pfp_nonempty_old_rightcoefficientsentry. cb = ff_q_pfp_nonempty_old_rightcoefficientsentry * S ((S (pfc_index_nonempty_old_rightcoefficients)) * cc) + (pfc_value_nonempty_old_rightcoefficients))) /\ ((exists pfc_terms_code_nonempty_old_rightcoefficientscoefficient pfc_terms_scale_nonempty_old_rightcoefficientscoefficient pfc_natural_sum_nonempty_old_rightcoefficientscoefficient. ((forall pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal. (exists pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonalbound. pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonalbound + S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal) = (S (pfc_index_nonempty_old_rightcoefficients))) -> exists pfc_value_nonempty_old_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonalentry + S (pfc_value_nonempty_old_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_old_rightcoefficientscoefficient)) /\ exists ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_nonempty_old_rightcoefficientscoefficient = ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_old_rightcoefficientscoefficient) + (pfc_value_nonempty_old_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm pfc_left_nonempty_old_rightcoefficientscoefficientdiagonalterm pfc_right_nonempty_old_rightcoefficientscoefficientdiagonalterm. (((pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)+pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm=(pfc_index_nonempty_old_rightcoefficients)) /\ ((((((exists pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_nonempty_old_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_nonempty_old_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_nonempty_old_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_nonempty_old_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_nonempty_old_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_nonempty_old_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_nonempty_old_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_nonempty_old_rightcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_nonempty_old_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_nonempty_old_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_nonempty_old_rightcoefficientscoefficientdiagonal)=pfc_left_nonempty_old_rightcoefficientscoefficientdiagonalterm*pfc_right_nonempty_old_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_old_rightcoefficientscoefficientsum fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_start. fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_start. fs_u_pfc_nonempty_old_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_nonempty_old_rightcoefficientscoefficient) = S ((S (S (pfc_index_nonempty_old_rightcoefficients))) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_nonempty_old_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_nonempty_old_rightcoefficients))) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum) + (pfc_natural_sum_nonempty_old_rightcoefficientscoefficient))) /\ forall fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps = S (pfc_index_nonempty_old_rightcoefficients)) -> exists fs_a_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps fs_r_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps fs_s_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_old_rightcoefficientscoefficient)) /\ exists fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_nonempty_old_rightcoefficientscoefficient = fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_old_rightcoefficientscoefficient) + (fs_a_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_nonempty_old_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum) + (fs_r_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_nonempty_old_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_rightcoefficientscoefficientsum) + (fs_s_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_nonempty_old_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_old_rightcoefficientscoefficientresiduebound. pfa_gap_nonempty_old_rightcoefficientscoefficientresiduebound + S (pfc_value_nonempty_old_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_nonempty_old_rightcoefficientscoefficientresiduecongruence pfa_offset_right_nonempty_old_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_nonempty_old_rightcoefficientscoefficient) + (p) * pfa_offset_left_nonempty_old_rightcoefficientscoefficientresiduecongruence = (pfc_value_nonempty_old_rightcoefficients) + (p) * pfa_offset_right_nonempty_old_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_nonempty_new_rightleft. (exists fom_gap_pfp_nonempty_new_rightleft_index_bound. fom_gap_pfp_nonempty_new_rightleft_index_bound + S (fom_index_pfp_nonempty_new_rightleft) = L) -> exists fom_value_pfp_nonempty_new_rightleft. ((((exists fom_beta_height_pfp_nonempty_new_rightleft_entry. fom_beta_height_pfp_nonempty_new_rightleft_entry + S (fom_value_pfp_nonempty_new_rightleft) = S ((S (fom_index_pfp_nonempty_new_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_nonempty_new_rightleft_entry. ab = fom_beta_quotient_pfp_nonempty_new_rightleft_entry * S ((S (fom_index_pfp_nonempty_new_rightleft)) * ac) + (fom_value_pfp_nonempty_new_rightleft))) /\ (exists fom_gap_pfp_nonempty_new_rightleft_value_bound. fom_gap_pfp_nonempty_new_rightleft_value_bound + S (fom_value_pfp_nonempty_new_rightleft) = p))) /\ (((forall fom_index_pfp_nonempty_new_rightright. (exists fom_gap_pfp_nonempty_new_rightright_index_bound. fom_gap_pfp_nonempty_new_rightright_index_bound + S (fom_index_pfp_nonempty_new_rightright) = t+M) -> exists fom_value_pfp_nonempty_new_rightright. ((((exists fom_beta_height_pfp_nonempty_new_rightright_entry. fom_beta_height_pfp_nonempty_new_rightright_entry + S (fom_value_pfp_nonempty_new_rightright) = S ((S (fom_index_pfp_nonempty_new_rightright)) * BC)) /\ exists fom_beta_quotient_pfp_nonempty_new_rightright_entry. BB = fom_beta_quotient_pfp_nonempty_new_rightright_entry * S ((S (fom_index_pfp_nonempty_new_rightright)) * BC) + (fom_value_pfp_nonempty_new_rightright))) /\ (exists fom_gap_pfp_nonempty_new_rightright_value_bound. fom_gap_pfp_nonempty_new_rightright_value_bound + S (fom_value_pfp_nonempty_new_rightright) = p))) /\ (((((((L)=0 \/ (t+M)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((t+M)=0)) /\ (((L)+(t+M)=S (K)))))))) /\ ((forall pfc_index_nonempty_new_rightcoefficients. (exists pfa_gap_nonempty_new_rightcoefficientsbound. pfa_gap_nonempty_new_rightcoefficientsbound + S (pfc_index_nonempty_new_rightcoefficients) = (K)) -> exists pfc_value_nonempty_new_rightcoefficients. ((((exists ff_h_pfp_nonempty_new_rightcoefficientsentry. ff_h_pfp_nonempty_new_rightcoefficientsentry + S (pfc_value_nonempty_new_rightcoefficients) = S ((S (pfc_index_nonempty_new_rightcoefficients)) * CC)) /\ exists ff_q_pfp_nonempty_new_rightcoefficientsentry. CB = ff_q_pfp_nonempty_new_rightcoefficientsentry * S ((S (pfc_index_nonempty_new_rightcoefficients)) * CC) + (pfc_value_nonempty_new_rightcoefficients))) /\ ((exists pfc_terms_code_nonempty_new_rightcoefficientscoefficient pfc_terms_scale_nonempty_new_rightcoefficientscoefficient pfc_natural_sum_nonempty_new_rightcoefficientscoefficient. ((forall pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal. (exists pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonalbound. pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonalbound + S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal) = (S (pfc_index_nonempty_new_rightcoefficients))) -> exists pfc_value_nonempty_new_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonalentry + S (pfc_value_nonempty_new_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_new_rightcoefficientscoefficient)) /\ exists ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_nonempty_new_rightcoefficientscoefficient = ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_new_rightcoefficientscoefficient) + (pfc_value_nonempty_new_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm pfc_left_nonempty_new_rightcoefficientscoefficientdiagonalterm pfc_right_nonempty_new_rightcoefficientscoefficientdiagonalterm. (((pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)+pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm=(pfc_index_nonempty_new_rightcoefficients)) /\ ((((((exists pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_nonempty_new_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_nonempty_new_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_nonempty_new_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_nonempty_new_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm) = (t+M)) /\ ((((exists ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_nonempty_new_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm)) * BC)) /\ exists ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermrightentry. BB = ff_q_pfp_nonempty_new_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm)) * BC) + (pfc_right_nonempty_new_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_nonempty_new_rightcoefficientscoefficientdiagonaltermrightoutside+(t+M)=(pfc_complement_nonempty_new_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_nonempty_new_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_nonempty_new_rightcoefficientscoefficientdiagonal)=pfc_left_nonempty_new_rightcoefficientscoefficientdiagonalterm*pfc_right_nonempty_new_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_new_rightcoefficientscoefficientsum fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_start. fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_start. fs_u_pfc_nonempty_new_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_nonempty_new_rightcoefficientscoefficient) = S ((S (S (pfc_index_nonempty_new_rightcoefficients))) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_nonempty_new_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_nonempty_new_rightcoefficients))) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum) + (pfc_natural_sum_nonempty_new_rightcoefficientscoefficient))) /\ forall fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps = S (pfc_index_nonempty_new_rightcoefficients)) -> exists fs_a_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps fs_r_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps fs_s_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_new_rightcoefficientscoefficient)) /\ exists fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_nonempty_new_rightcoefficientscoefficient = fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_new_rightcoefficientscoefficient) + (fs_a_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_nonempty_new_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum) + (fs_r_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_nonempty_new_rightcoefficientscoefficientsum = fs_q_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_rightcoefficientscoefficientsum) + (fs_s_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_nonempty_new_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_new_rightcoefficientscoefficientresiduebound. pfa_gap_nonempty_new_rightcoefficientscoefficientresiduebound + S (pfc_value_nonempty_new_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_nonempty_new_rightcoefficientscoefficientresiduecongruence pfa_offset_right_nonempty_new_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_nonempty_new_rightcoefficientscoefficient) + (p) * pfa_offset_left_nonempty_new_rightcoefficientscoefficientresiduecongruence = (pfc_value_nonempty_new_rightcoefficients) + (p) * pfa_offset_right_nonempty_new_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((K=t+N) /\ ((((forall pfp_repeat_index_nonempty_product_padding_rightzeros. (exists pfa_gap_nonempty_product_padding_rightzerosindex. pfa_gap_nonempty_product_padding_rightzerosindex + S (pfp_repeat_index_nonempty_product_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_nonempty_product_padding_rightzerosentry. ff_h_pfp_nonempty_product_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_nonempty_product_padding_rightzeros)) * CC)) /\ exists ff_q_pfp_nonempty_product_padding_rightzerosentry. CB = ff_q_pfp_nonempty_product_padding_rightzerosentry * S ((S (pfp_repeat_index_nonempty_product_padding_rightzeros)) * CC) + (0)))) /\ ((forall pfrep_index_nonempty_product_padding_right pfrep_value_nonempty_product_padding_right. (exists pfa_gap_nonempty_product_padding_rightbound. pfa_gap_nonempty_product_padding_rightbound + S (pfrep_index_nonempty_product_padding_right) = (N)) -> (((exists ff_h_pfp_nonempty_product_padding_rightinput. ff_h_pfp_nonempty_product_padding_rightinput + S (pfrep_value_nonempty_product_padding_right) = S ((S (pfrep_index_nonempty_product_padding_right)) * cc)) /\ exists ff_q_pfp_nonempty_product_padding_rightinput. cb = ff_q_pfp_nonempty_product_padding_rightinput * S ((S (pfrep_index_nonempty_product_padding_right)) * cc) + (pfrep_value_nonempty_product_padding_right))) -> (((exists ff_h_pfp_nonempty_product_padding_rightoutput. ff_h_pfp_nonempty_product_padding_rightoutput + S (pfrep_value_nonempty_product_padding_right) = S ((S ((t)+pfrep_index_nonempty_product_padding_right)) * CC)) /\ exists ff_q_pfp_nonempty_product_padding_rightoutput. CB = ff_q_pfp_nonempty_product_padding_rightoutput * S ((S ((t)+pfrep_index_nonempty_product_padding_right)) * CC) + (pfrep_value_nonempty_product_padding_right))))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro BBintro BCintro tintro CBintro CCintro Kintro hpintro hLintro hMintro hpadintro hcintro hncases hccases hc_rightcases hc_right_rightcases hncases hn_rightcases hn_right_righthave hlength : K=t+Nspecialize polynomial_product_length_left_padding_right (L)specialize polynomial_product_length_left_padding_right (M)specialize polynomial_product_length_left_padding_right (N)specialize polynomial_product_length_left_padding_right (t)specialize polynomial_product_length_left_padding_right (K)apply polynomial_product_length_left_padding_rightexact hc_right_right_leftexact hLexact hMexact hn_right_right_leftsplitexact hlengthsplitintro iintro hihave hv : exists r. ((((exists ff_h_pfp_nonempty_zero_entry_right. ff_h_pfp_nonempty_zero_entry_right + S (r) = S ((S (i)) * CC)) /\ exists ff_q_pfp_nonempty_zero_entry_right. CB = ff_q_pfp_nonempty_zero_entry_right * S ((S (i)) * CC) + (r))) /\ ((exists pfc_terms_code_nonempty_zero_coefficient_right pfc_terms_scale_nonempty_zero_coefficient_right pfc_natural_sum_nonempty_zero_coefficient_right. ((forall pfc_index_nonempty_zero_coefficient_rightdiagonal. (exists pfa_gap_nonempty_zero_coefficient_rightdiagonalbound. pfa_gap_nonempty_zero_coefficient_rightdiagonalbound + S (pfc_index_nonempty_zero_coefficient_rightdiagonal) = (S (i))) -> exists pfc_value_nonempty_zero_coefficient_rightdiagonal. ((((exists ff_h_pfp_nonempty_zero_coefficient_rightdiagonalentry. ff_h_pfp_nonempty_zero_coefficient_rightdiagonalentry + S (pfc_value_nonempty_zero_coefficient_rightdiagonal) = S ((S (pfc_index_nonempty_zero_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_zero_coefficient_right)) /\ exists ff_q_pfp_nonempty_zero_coefficient_rightdiagonalentry. pfc_terms_code_nonempty_zero_coefficient_right = ff_q_pfp_nonempty_zero_coefficient_rightdiagonalentry * S ((S (pfc_index_nonempty_zero_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_zero_coefficient_right) + (pfc_value_nonempty_zero_coefficient_rightdiagonal))) /\ ((exists pfc_complement_nonempty_zero_coefficient_rightdiagonalterm pfc_left_nonempty_zero_coefficient_rightdiagonalterm pfc_right_nonempty_zero_coefficient_rightdiagonalterm. (((pfc_index_nonempty_zero_coefficient_rightdiagonal)+pfc_complement_nonempty_zero_coefficient_rightdiagonalterm=(i)) /\ ((((((exists pfa_gap_nonempty_zero_coefficient_rightdiagonaltermleftinside. pfa_gap_nonempty_zero_coefficient_rightdiagonaltermleftinside + S (pfc_index_nonempty_zero_coefficient_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_zero_coefficient_rightdiagonaltermleftentry. ff_h_pfp_nonempty_zero_coefficient_rightdiagonaltermleftentry + S (pfc_left_nonempty_zero_coefficient_rightdiagonalterm) = S ((S (pfc_index_nonempty_zero_coefficient_rightdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_zero_coefficient_rightdiagonaltermleftentry. ab = ff_q_pfp_nonempty_zero_coefficient_rightdiagonaltermleftentry * S ((S (pfc_index_nonempty_zero_coefficient_rightdiagonal)) * ac) + (pfc_left_nonempty_zero_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_zero_coefficient_rightdiagonaltermleftoutside. pfc_gap_nonempty_zero_coefficient_rightdiagonaltermleftoutside+(L)=(pfc_index_nonempty_zero_coefficient_rightdiagonal)) /\ (((pfc_left_nonempty_zero_coefficient_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_zero_coefficient_rightdiagonaltermrightinside. pfa_gap_nonempty_zero_coefficient_rightdiagonaltermrightinside + S (pfc_complement_nonempty_zero_coefficient_rightdiagonalterm) = (t+M)) /\ ((((exists ff_h_pfp_nonempty_zero_coefficient_rightdiagonaltermrightentry. ff_h_pfp_nonempty_zero_coefficient_rightdiagonaltermrightentry + S (pfc_right_nonempty_zero_coefficient_rightdiagonalterm) = S ((S (pfc_complement_nonempty_zero_coefficient_rightdiagonalterm)) * BC)) /\ exists ff_q_pfp_nonempty_zero_coefficient_rightdiagonaltermrightentry. BB = ff_q_pfp_nonempty_zero_coefficient_rightdiagonaltermrightentry * S ((S (pfc_complement_nonempty_zero_coefficient_rightdiagonalterm)) * BC) + (pfc_right_nonempty_zero_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_zero_coefficient_rightdiagonaltermrightoutside. pfc_gap_nonempty_zero_coefficient_rightdiagonaltermrightoutside+(t+M)=(pfc_complement_nonempty_zero_coefficient_rightdiagonalterm)) /\ (((pfc_right_nonempty_zero_coefficient_rightdiagonalterm)=0))))) /\ (((pfc_value_nonempty_zero_coefficient_rightdiagonal)=pfc_left_nonempty_zero_coefficient_rightdiagonalterm*pfc_right_nonempty_zero_coefficient_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_zero_coefficient_rightsum fs_v_pfc_nonempty_zero_coefficient_rightsum. ((((exists fs_h_pfc_nonempty_zero_coefficient_rightsum_body_start. fs_h_pfc_nonempty_zero_coefficient_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_zero_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_rightsum_body_start. fs_u_pfc_nonempty_zero_coefficient_rightsum = fs_q_pfc_nonempty_zero_coefficient_rightsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_zero_coefficient_rightsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_zero_coefficient_rightsum_body_terminal. fs_h_pfc_nonempty_zero_coefficient_rightsum_body_terminal + S (pfc_natural_sum_nonempty_zero_coefficient_right) = S ((S (S (i))) * fs_v_pfc_nonempty_zero_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_rightsum_body_terminal. fs_u_pfc_nonempty_zero_coefficient_rightsum = fs_q_pfc_nonempty_zero_coefficient_rightsum_body_terminal * S ((S (S (i))) * fs_v_pfc_nonempty_zero_coefficient_rightsum) + (pfc_natural_sum_nonempty_zero_coefficient_right))) /\ forall fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps. (exists fs_lt_pfc_nonempty_zero_coefficient_rightsum_body_steps_bound. fs_lt_pfc_nonempty_zero_coefficient_rightsum_body_steps_bound + S fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps = S (i)) -> exists fs_a_pfc_nonempty_zero_coefficient_rightsum_body_steps fs_r_pfc_nonempty_zero_coefficient_rightsum_body_steps fs_s_pfc_nonempty_zero_coefficient_rightsum_body_steps. ((((exists fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_summand. fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_summand + S (fs_a_pfc_nonempty_zero_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_zero_coefficient_right)) /\ exists fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_summand. pfc_terms_code_nonempty_zero_coefficient_right = fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_zero_coefficient_right) + (fs_a_pfc_nonempty_zero_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_partial. fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_partial + S (fs_r_pfc_nonempty_zero_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_partial. fs_u_pfc_nonempty_zero_coefficient_rightsum = fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_rightsum) + (fs_r_pfc_nonempty_zero_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_successor. fs_h_pfc_nonempty_zero_coefficient_rightsum_body_steps_successor + S (fs_s_pfc_nonempty_zero_coefficient_rightsum_body_steps) = S ((S (S fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_successor. fs_u_pfc_nonempty_zero_coefficient_rightsum = fs_q_pfc_nonempty_zero_coefficient_rightsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_zero_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_rightsum) + (fs_s_pfc_nonempty_zero_coefficient_rightsum_body_steps))) /\ fs_s_pfc_nonempty_zero_coefficient_rightsum_body_steps = fs_r_pfc_nonempty_zero_coefficient_rightsum_body_steps + fs_a_pfc_nonempty_zero_coefficient_rightsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_zero_coefficient_rightresiduebound. pfa_gap_nonempty_zero_coefficient_rightresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_nonempty_zero_coefficient_rightresiduecongruence pfa_offset_right_nonempty_zero_coefficient_rightresiduecongruence. (pfc_natural_sum_nonempty_zero_coefficient_right) + (p) * pfa_offset_left_nonempty_zero_coefficient_rightresiduecongruence = (r) + (p) * pfa_offset_right_nonempty_zero_coefficient_rightresiduecongruence)))))))))))specialize hn_right_right_right (i)apply hn_right_right_rightspecialize le_trans (S i)specialize le_trans (t)specialize le_trans (K)apply le_transexact hirewrite hlengthspecialize le_add_right (t)specialize le_add_right (N)apply le_add_rightcases hvcases hv_witnesshave hzero : x=0specialize prime_field_convolution_coefficient_before_left_padding_right (p)specialize prime_field_convolution_coefficient_before_left_padding_right (ab)specialize prime_field_convolution_coefficient_before_left_padding_right (ac)specialize prime_field_convolution_coefficient_before_left_padding_right (L)specialize prime_field_convolution_coefficient_before_left_padding_right (bb)specialize prime_field_convolution_coefficient_before_left_padding_right (bc)specialize prime_field_convolution_coefficient_before_left_padding_right (M)specialize prime_field_convolution_coefficient_before_left_padding_right (BB)specialize prime_field_convolution_coefficient_before_left_padding_right (BC)specialize prime_field_convolution_coefficient_before_left_padding_right (t)specialize prime_field_convolution_coefficient_before_left_padding_right (i)specialize prime_field_convolution_coefficient_before_left_padding_right (x)apply prime_field_convolution_coefficient_before_left_padding_rightexact hpexact hpadexact hiexact hv_witness_rightrewrite hzero at hv_witness_leftrewrite hzero at hv_witness_leftexact hv_witness_leftintro iintro aintro hiintro hahave hcoefficient : exists pfc_terms_code_nonempty_original_coefficient_right pfc_terms_scale_nonempty_original_coefficient_right pfc_natural_sum_nonempty_original_coefficient_right. ((forall pfc_index_nonempty_original_coefficient_rightdiagonal. (exists pfa_gap_nonempty_original_coefficient_rightdiagonalbound. pfa_gap_nonempty_original_coefficient_rightdiagonalbound + S (pfc_index_nonempty_original_coefficient_rightdiagonal) = (S (i))) -> exists pfc_value_nonempty_original_coefficient_rightdiagonal. ((((exists ff_h_pfp_nonempty_original_coefficient_rightdiagonalentry. ff_h_pfp_nonempty_original_coefficient_rightdiagonalentry + S (pfc_value_nonempty_original_coefficient_rightdiagonal) = S ((S (pfc_index_nonempty_original_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_original_coefficient_right)) /\ exists ff_q_pfp_nonempty_original_coefficient_rightdiagonalentry. pfc_terms_code_nonempty_original_coefficient_right = ff_q_pfp_nonempty_original_coefficient_rightdiagonalentry * S ((S (pfc_index_nonempty_original_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_original_coefficient_right) + (pfc_value_nonempty_original_coefficient_rightdiagonal))) /\ ((exists pfc_complement_nonempty_original_coefficient_rightdiagonalterm pfc_left_nonempty_original_coefficient_rightdiagonalterm pfc_right_nonempty_original_coefficient_rightdiagonalterm. (((pfc_index_nonempty_original_coefficient_rightdiagonal)+pfc_complement_nonempty_original_coefficient_rightdiagonalterm=(i)) /\ ((((((exists pfa_gap_nonempty_original_coefficient_rightdiagonaltermleftinside. pfa_gap_nonempty_original_coefficient_rightdiagonaltermleftinside + S (pfc_index_nonempty_original_coefficient_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_original_coefficient_rightdiagonaltermleftentry. ff_h_pfp_nonempty_original_coefficient_rightdiagonaltermleftentry + S (pfc_left_nonempty_original_coefficient_rightdiagonalterm) = S ((S (pfc_index_nonempty_original_coefficient_rightdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_original_coefficient_rightdiagonaltermleftentry. ab = ff_q_pfp_nonempty_original_coefficient_rightdiagonaltermleftentry * S ((S (pfc_index_nonempty_original_coefficient_rightdiagonal)) * ac) + (pfc_left_nonempty_original_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_original_coefficient_rightdiagonaltermleftoutside. pfc_gap_nonempty_original_coefficient_rightdiagonaltermleftoutside+(L)=(pfc_index_nonempty_original_coefficient_rightdiagonal)) /\ (((pfc_left_nonempty_original_coefficient_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_original_coefficient_rightdiagonaltermrightinside. pfa_gap_nonempty_original_coefficient_rightdiagonaltermrightinside + S (pfc_complement_nonempty_original_coefficient_rightdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_nonempty_original_coefficient_rightdiagonaltermrightentry. ff_h_pfp_nonempty_original_coefficient_rightdiagonaltermrightentry + S (pfc_right_nonempty_original_coefficient_rightdiagonalterm) = S ((S (pfc_complement_nonempty_original_coefficient_rightdiagonalterm)) * bc)) /\ exists ff_q_pfp_nonempty_original_coefficient_rightdiagonaltermrightentry. bb = ff_q_pfp_nonempty_original_coefficient_rightdiagonaltermrightentry * S ((S (pfc_complement_nonempty_original_coefficient_rightdiagonalterm)) * bc) + (pfc_right_nonempty_original_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_original_coefficient_rightdiagonaltermrightoutside. pfc_gap_nonempty_original_coefficient_rightdiagonaltermrightoutside+(M)=(pfc_complement_nonempty_original_coefficient_rightdiagonalterm)) /\ (((pfc_right_nonempty_original_coefficient_rightdiagonalterm)=0))))) /\ (((pfc_value_nonempty_original_coefficient_rightdiagonal)=pfc_left_nonempty_original_coefficient_rightdiagonalterm*pfc_right_nonempty_original_coefficient_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_original_coefficient_rightsum fs_v_pfc_nonempty_original_coefficient_rightsum. ((((exists fs_h_pfc_nonempty_original_coefficient_rightsum_body_start. fs_h_pfc_nonempty_original_coefficient_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_original_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_rightsum_body_start. fs_u_pfc_nonempty_original_coefficient_rightsum = fs_q_pfc_nonempty_original_coefficient_rightsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_original_coefficient_rightsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_original_coefficient_rightsum_body_terminal. fs_h_pfc_nonempty_original_coefficient_rightsum_body_terminal + S (pfc_natural_sum_nonempty_original_coefficient_right) = S ((S (S (i))) * fs_v_pfc_nonempty_original_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_rightsum_body_terminal. fs_u_pfc_nonempty_original_coefficient_rightsum = fs_q_pfc_nonempty_original_coefficient_rightsum_body_terminal * S ((S (S (i))) * fs_v_pfc_nonempty_original_coefficient_rightsum) + (pfc_natural_sum_nonempty_original_coefficient_right))) /\ forall fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps. (exists fs_lt_pfc_nonempty_original_coefficient_rightsum_body_steps_bound. fs_lt_pfc_nonempty_original_coefficient_rightsum_body_steps_bound + S fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps = S (i)) -> exists fs_a_pfc_nonempty_original_coefficient_rightsum_body_steps fs_r_pfc_nonempty_original_coefficient_rightsum_body_steps fs_s_pfc_nonempty_original_coefficient_rightsum_body_steps. ((((exists fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_summand. fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_summand + S (fs_a_pfc_nonempty_original_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_original_coefficient_right)) /\ exists fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_summand. pfc_terms_code_nonempty_original_coefficient_right = fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_original_coefficient_right) + (fs_a_pfc_nonempty_original_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_partial. fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_partial + S (fs_r_pfc_nonempty_original_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_partial. fs_u_pfc_nonempty_original_coefficient_rightsum = fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_rightsum) + (fs_r_pfc_nonempty_original_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_successor. fs_h_pfc_nonempty_original_coefficient_rightsum_body_steps_successor + S (fs_s_pfc_nonempty_original_coefficient_rightsum_body_steps) = S ((S (S fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_successor. fs_u_pfc_nonempty_original_coefficient_rightsum = fs_q_pfc_nonempty_original_coefficient_rightsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_original_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_rightsum) + (fs_s_pfc_nonempty_original_coefficient_rightsum_body_steps))) /\ fs_s_pfc_nonempty_original_coefficient_rightsum_body_steps = fs_r_pfc_nonempty_original_coefficient_rightsum_body_steps + fs_a_pfc_nonempty_original_coefficient_rightsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_original_coefficient_rightresiduebound. pfa_gap_nonempty_original_coefficient_rightresiduebound + S (a) = (p)) /\ ((exists pfa_offset_left_nonempty_original_coefficient_rightresiduecongruence pfa_offset_right_nonempty_original_coefficient_rightresiduecongruence. (pfc_natural_sum_nonempty_original_coefficient_right) + (p) * pfa_offset_left_nonempty_original_coefficient_rightresiduecongruence = (a) + (p) * pfa_offset_right_nonempty_original_coefficient_rightresiduecongruence))))))))specialize prime_field_convolution_prefix_entry (p)specialize prime_field_convolution_prefix_entry (ab)specialize prime_field_convolution_prefix_entry (ac)specialize prime_field_convolution_prefix_entry (L)specialize prime_field_convolution_prefix_entry (bb)specialize prime_field_convolution_prefix_entry (bc)specialize prime_field_convolution_prefix_entry (M)specialize prime_field_convolution_prefix_entry (cb)specialize prime_field_convolution_prefix_entry (cc)specialize prime_field_convolution_prefix_entry (N)specialize prime_field_convolution_prefix_entry (i)specialize prime_field_convolution_prefix_entry (a)apply prime_field_convolution_prefix_entryexact hc_right_right_rightexact hiexact hahave hv : exists r. ((((exists ff_h_pfp_nonempty_shifted_entry_right. ff_h_pfp_nonempty_shifted_entry_right + S (r) = S ((S (t+i)) * CC)) /\ exists ff_q_pfp_nonempty_shifted_entry_right. CB = ff_q_pfp_nonempty_shifted_entry_right * S ((S (t+i)) * CC) + (r))) /\ ((exists pfc_terms_code_nonempty_shifted_coefficient_right pfc_terms_scale_nonempty_shifted_coefficient_right pfc_natural_sum_nonempty_shifted_coefficient_right. ((forall pfc_index_nonempty_shifted_coefficient_rightdiagonal. (exists pfa_gap_nonempty_shifted_coefficient_rightdiagonalbound. pfa_gap_nonempty_shifted_coefficient_rightdiagonalbound + S (pfc_index_nonempty_shifted_coefficient_rightdiagonal) = (S (t+i))) -> exists pfc_value_nonempty_shifted_coefficient_rightdiagonal. ((((exists ff_h_pfp_nonempty_shifted_coefficient_rightdiagonalentry. ff_h_pfp_nonempty_shifted_coefficient_rightdiagonalentry + S (pfc_value_nonempty_shifted_coefficient_rightdiagonal) = S ((S (pfc_index_nonempty_shifted_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_shifted_coefficient_right)) /\ exists ff_q_pfp_nonempty_shifted_coefficient_rightdiagonalentry. pfc_terms_code_nonempty_shifted_coefficient_right = ff_q_pfp_nonempty_shifted_coefficient_rightdiagonalentry * S ((S (pfc_index_nonempty_shifted_coefficient_rightdiagonal)) * pfc_terms_scale_nonempty_shifted_coefficient_right) + (pfc_value_nonempty_shifted_coefficient_rightdiagonal))) /\ ((exists pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm pfc_left_nonempty_shifted_coefficient_rightdiagonalterm pfc_right_nonempty_shifted_coefficient_rightdiagonalterm. (((pfc_index_nonempty_shifted_coefficient_rightdiagonal)+pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm=(t+i)) /\ ((((((exists pfa_gap_nonempty_shifted_coefficient_rightdiagonaltermleftinside. pfa_gap_nonempty_shifted_coefficient_rightdiagonaltermleftinside + S (pfc_index_nonempty_shifted_coefficient_rightdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_shifted_coefficient_rightdiagonaltermleftentry. ff_h_pfp_nonempty_shifted_coefficient_rightdiagonaltermleftentry + S (pfc_left_nonempty_shifted_coefficient_rightdiagonalterm) = S ((S (pfc_index_nonempty_shifted_coefficient_rightdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_shifted_coefficient_rightdiagonaltermleftentry. ab = ff_q_pfp_nonempty_shifted_coefficient_rightdiagonaltermleftentry * S ((S (pfc_index_nonempty_shifted_coefficient_rightdiagonal)) * ac) + (pfc_left_nonempty_shifted_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_shifted_coefficient_rightdiagonaltermleftoutside. pfc_gap_nonempty_shifted_coefficient_rightdiagonaltermleftoutside+(L)=(pfc_index_nonempty_shifted_coefficient_rightdiagonal)) /\ (((pfc_left_nonempty_shifted_coefficient_rightdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_shifted_coefficient_rightdiagonaltermrightinside. pfa_gap_nonempty_shifted_coefficient_rightdiagonaltermrightinside + S (pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm) = (t+M)) /\ ((((exists ff_h_pfp_nonempty_shifted_coefficient_rightdiagonaltermrightentry. ff_h_pfp_nonempty_shifted_coefficient_rightdiagonaltermrightentry + S (pfc_right_nonempty_shifted_coefficient_rightdiagonalterm) = S ((S (pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm)) * BC)) /\ exists ff_q_pfp_nonempty_shifted_coefficient_rightdiagonaltermrightentry. BB = ff_q_pfp_nonempty_shifted_coefficient_rightdiagonaltermrightentry * S ((S (pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm)) * BC) + (pfc_right_nonempty_shifted_coefficient_rightdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_shifted_coefficient_rightdiagonaltermrightoutside. pfc_gap_nonempty_shifted_coefficient_rightdiagonaltermrightoutside+(t+M)=(pfc_complement_nonempty_shifted_coefficient_rightdiagonalterm)) /\ (((pfc_right_nonempty_shifted_coefficient_rightdiagonalterm)=0))))) /\ (((pfc_value_nonempty_shifted_coefficient_rightdiagonal)=pfc_left_nonempty_shifted_coefficient_rightdiagonalterm*pfc_right_nonempty_shifted_coefficient_rightdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_shifted_coefficient_rightsum fs_v_pfc_nonempty_shifted_coefficient_rightsum. ((((exists fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_start. fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_start. fs_u_pfc_nonempty_shifted_coefficient_rightsum = fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_terminal. fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_terminal + S (pfc_natural_sum_nonempty_shifted_coefficient_right) = S ((S (S (t+i))) * fs_v_pfc_nonempty_shifted_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_terminal. fs_u_pfc_nonempty_shifted_coefficient_rightsum = fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_terminal * S ((S (S (t+i))) * fs_v_pfc_nonempty_shifted_coefficient_rightsum) + (pfc_natural_sum_nonempty_shifted_coefficient_right))) /\ forall fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps. (exists fs_lt_pfc_nonempty_shifted_coefficient_rightsum_body_steps_bound. fs_lt_pfc_nonempty_shifted_coefficient_rightsum_body_steps_bound + S fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps = S (t+i)) -> exists fs_a_pfc_nonempty_shifted_coefficient_rightsum_body_steps fs_r_pfc_nonempty_shifted_coefficient_rightsum_body_steps fs_s_pfc_nonempty_shifted_coefficient_rightsum_body_steps. ((((exists fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_summand. fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_summand + S (fs_a_pfc_nonempty_shifted_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_shifted_coefficient_right)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_summand. pfc_terms_code_nonempty_shifted_coefficient_right = fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * pfc_terms_scale_nonempty_shifted_coefficient_right) + (fs_a_pfc_nonempty_shifted_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_partial. fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_partial + S (fs_r_pfc_nonempty_shifted_coefficient_rightsum_body_steps) = S ((S (fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_partial. fs_u_pfc_nonempty_shifted_coefficient_rightsum = fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum) + (fs_r_pfc_nonempty_shifted_coefficient_rightsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_successor. fs_h_pfc_nonempty_shifted_coefficient_rightsum_body_steps_successor + S (fs_s_pfc_nonempty_shifted_coefficient_rightsum_body_steps) = S ((S (S fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_successor. fs_u_pfc_nonempty_shifted_coefficient_rightsum = fs_q_pfc_nonempty_shifted_coefficient_rightsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_shifted_coefficient_rightsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_rightsum) + (fs_s_pfc_nonempty_shifted_coefficient_rightsum_body_steps))) /\ fs_s_pfc_nonempty_shifted_coefficient_rightsum_body_steps = fs_r_pfc_nonempty_shifted_coefficient_rightsum_body_steps + fs_a_pfc_nonempty_shifted_coefficient_rightsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_shifted_coefficient_rightresiduebound. pfa_gap_nonempty_shifted_coefficient_rightresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_nonempty_shifted_coefficient_rightresiduecongruence pfa_offset_right_nonempty_shifted_coefficient_rightresiduecongruence. (pfc_natural_sum_nonempty_shifted_coefficient_right) + (p) * pfa_offset_left_nonempty_shifted_coefficient_rightresiduecongruence = (r) + (p) * pfa_offset_right_nonempty_shifted_coefficient_rightresiduecongruence)))))))))))specialize hn_right_right_right (t+i)apply hn_right_right_rightrewrite hlengthspecialize matrix_recursive_lt_add_left (i)specialize matrix_recursive_lt_add_left (N)specialize matrix_recursive_lt_add_left (t)apply matrix_recursive_lt_add_leftexact hicases hvcases hv_witnesshave heq : x=aspecialize prime_field_convolution_coefficient_functional (p)specialize prime_field_convolution_coefficient_functional (ab)specialize prime_field_convolution_coefficient_functional (ac)specialize prime_field_convolution_coefficient_functional (L)specialize prime_field_convolution_coefficient_functional (BB)specialize prime_field_convolution_coefficient_functional (BC)specialize prime_field_convolution_coefficient_functional (t+M)specialize prime_field_convolution_coefficient_functional (t+i)specialize prime_field_convolution_coefficient_functional (x)specialize prime_field_convolution_coefficient_functional (a)apply prime_field_convolution_coefficient_functionalexact hv_witness_rightspecialize prime_field_convolution_coefficient_left_padding_right (p)specialize prime_field_convolution_coefficient_left_padding_right (ab)specialize prime_field_convolution_coefficient_left_padding_right (ac)specialize prime_field_convolution_coefficient_left_padding_right (L)specialize prime_field_convolution_coefficient_left_padding_right (bb)specialize prime_field_convolution_coefficient_left_padding_right (bc)specialize prime_field_convolution_coefficient_left_padding_right (M)specialize prime_field_convolution_coefficient_left_padding_right (BB)specialize prime_field_convolution_coefficient_left_padding_right (BC)specialize prime_field_convolution_coefficient_left_padding_right (t)specialize prime_field_convolution_coefficient_left_padding_right (i)specialize prime_field_convolution_coefficient_left_padding_right (a)apply prime_field_convolution_coefficient_left_padding_rightexact hpadexact hcoefficientrewrite heq at hv_witness_leftrewrite heq at hv_witness_leftexact hv_witness_left
prime_field_polynomial_convolution_left_padding_equivalent_right · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N BB BC t CB CC K. (~(p=0)) -> (((forall pfp_repeat_index_product_factor_padding_rightzeros. (exists pfa_gap_product_factor_padding_rightzerosindex. pfa_gap_product_factor_padding_rightzerosindex + S (pfp_repeat_index_product_factor_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_product_factor_padding_rightzerosentry. ff_h_pfp_product_factor_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_product_factor_padding_rightzeros)) * BC)) /\ exists ff_q_pfp_product_factor_padding_rightzerosentry. BB = ff_q_pfp_product_factor_padding_rightzerosentry * S ((S (pfp_repeat_index_product_factor_padding_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_product_factor_padding_right pfrep_value_product_factor_padding_right. (exists pfa_gap_product_factor_padding_rightbound. pfa_gap_product_factor_padding_rightbound + S (pfrep_index_product_factor_padding_right) = (M)) -> (((exists ff_h_pfp_product_factor_padding_rightinput. ff_h_pfp_product_factor_padding_rightinput + S (pfrep_value_product_factor_padding_right) = S ((S (pfrep_index_product_factor_padding_right)) * bc)) /\ exists ff_q_pfp_product_factor_padding_rightinput. bb = ff_q_pfp_product_factor_padding_rightinput * S ((S (pfrep_index_product_factor_padding_right)) * bc) + (pfrep_value_product_factor_padding_right))) -> (((exists ff_h_pfp_product_factor_padding_rightoutput. ff_h_pfp_product_factor_padding_rightoutput + S (pfrep_value_product_factor_padding_right) = S ((S ((t)+pfrep_index_product_factor_padding_right)) * BC)) /\ exists ff_q_pfp_product_factor_padding_rightoutput. BB = ff_q_pfp_product_factor_padding_rightoutput * S ((S ((t)+pfrep_index_product_factor_padding_right)) * BC) + (pfrep_value_product_factor_padding_right))))))) -> (((forall fom_index_pfp_product_original_rightleft. (exists fom_gap_pfp_product_original_rightleft_index_bound. fom_gap_pfp_product_original_rightleft_index_bound + S (fom_index_pfp_product_original_rightleft) = L) -> exists fom_value_pfp_product_original_rightleft. ((((exists fom_beta_height_pfp_product_original_rightleft_entry. fom_beta_height_pfp_product_original_rightleft_entry + S (fom_value_pfp_product_original_rightleft) = S ((S (fom_index_pfp_product_original_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_product_original_rightleft_entry. ab = fom_beta_quotient_pfp_product_original_rightleft_entry * S ((S (fom_index_pfp_product_original_rightleft)) * ac) + (fom_value_pfp_product_original_rightleft))) /\ (exists fom_gap_pfp_product_original_rightleft_value_bound. fom_gap_pfp_product_original_rightleft_value_bound + S (fom_value_pfp_product_original_rightleft) = p))) /\ (((forall fom_index_pfp_product_original_rightright. (exists fom_gap_pfp_product_original_rightright_index_bound. fom_gap_pfp_product_original_rightright_index_bound + S (fom_index_pfp_product_original_rightright) = M) -> exists fom_value_pfp_product_original_rightright. ((((exists fom_beta_height_pfp_product_original_rightright_entry. fom_beta_height_pfp_product_original_rightright_entry + S (fom_value_pfp_product_original_rightright) = S ((S (fom_index_pfp_product_original_rightright)) * bc)) /\ exists fom_beta_quotient_pfp_product_original_rightright_entry. bb = fom_beta_quotient_pfp_product_original_rightright_entry * S ((S (fom_index_pfp_product_original_rightright)) * bc) + (fom_value_pfp_product_original_rightright))) /\ (exists fom_gap_pfp_product_original_rightright_value_bound. fom_gap_pfp_product_original_rightright_value_bound + S (fom_value_pfp_product_original_rightright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_product_original_rightcoefficients. (exists pfa_gap_product_original_rightcoefficientsbound. pfa_gap_product_original_rightcoefficientsbound + S (pfc_index_product_original_rightcoefficients) = (N)) -> exists pfc_value_product_original_rightcoefficients. ((((exists ff_h_pfp_product_original_rightcoefficientsentry. ff_h_pfp_product_original_rightcoefficientsentry + S (pfc_value_product_original_rightcoefficients) = S ((S (pfc_index_product_original_rightcoefficients)) * cc)) /\ exists ff_q_pfp_product_original_rightcoefficientsentry. cb = ff_q_pfp_product_original_rightcoefficientsentry * S ((S (pfc_index_product_original_rightcoefficients)) * cc) + (pfc_value_product_original_rightcoefficients))) /\ ((exists pfc_terms_code_product_original_rightcoefficientscoefficient pfc_terms_scale_product_original_rightcoefficientscoefficient pfc_natural_sum_product_original_rightcoefficientscoefficient. ((forall pfc_index_product_original_rightcoefficientscoefficientdiagonal. (exists pfa_gap_product_original_rightcoefficientscoefficientdiagonalbound. pfa_gap_product_original_rightcoefficientscoefficientdiagonalbound + S (pfc_index_product_original_rightcoefficientscoefficientdiagonal) = (S (pfc_index_product_original_rightcoefficients))) -> exists pfc_value_product_original_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_product_original_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_product_original_rightcoefficientscoefficientdiagonalentry + S (pfc_value_product_original_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_product_original_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_original_rightcoefficientscoefficient)) /\ exists ff_q_pfp_product_original_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_product_original_rightcoefficientscoefficient = ff_q_pfp_product_original_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_product_original_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_original_rightcoefficientscoefficient) + (pfc_value_product_original_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm pfc_left_product_original_rightcoefficientscoefficientdiagonalterm pfc_right_product_original_rightcoefficientscoefficientdiagonalterm. (((pfc_index_product_original_rightcoefficientscoefficientdiagonal)+pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm=(pfc_index_product_original_rightcoefficients)) /\ ((((((exists pfa_gap_product_original_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_product_original_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_product_original_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_product_original_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_product_original_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_product_original_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_product_original_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_product_original_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_product_original_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_product_original_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_product_original_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_original_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_product_original_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_product_original_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_product_original_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_product_original_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_product_original_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_product_original_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_product_original_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_product_original_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_product_original_rightcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_product_original_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_product_original_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_original_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_product_original_rightcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_product_original_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_product_original_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_product_original_rightcoefficientscoefficientdiagonal)=pfc_left_product_original_rightcoefficientscoefficientdiagonalterm*pfc_right_product_original_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_product_original_rightcoefficientscoefficientsum fs_v_pfc_product_original_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_start. fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_start. fs_u_pfc_product_original_rightcoefficientscoefficientsum = fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_product_original_rightcoefficientscoefficient) = S ((S (S (pfc_index_product_original_rightcoefficients))) * fs_v_pfc_product_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_product_original_rightcoefficientscoefficientsum = fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_product_original_rightcoefficients))) * fs_v_pfc_product_original_rightcoefficientscoefficientsum) + (pfc_natural_sum_product_original_rightcoefficientscoefficient))) /\ forall fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_product_original_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_product_original_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps = S (pfc_index_product_original_rightcoefficients)) -> exists fs_a_pfc_product_original_rightcoefficientscoefficientsum_body_steps fs_r_pfc_product_original_rightcoefficientscoefficientsum_body_steps fs_s_pfc_product_original_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_product_original_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_original_rightcoefficientscoefficient)) /\ exists fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_product_original_rightcoefficientscoefficient = fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_original_rightcoefficientscoefficient) + (fs_a_pfc_product_original_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_product_original_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_product_original_rightcoefficientscoefficientsum = fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum) + (fs_r_pfc_product_original_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_product_original_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_product_original_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_product_original_rightcoefficientscoefficientsum = fs_q_pfc_product_original_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_product_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_rightcoefficientscoefficientsum) + (fs_s_pfc_product_original_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_product_original_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_product_original_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_product_original_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_product_original_rightcoefficientscoefficientresiduebound. pfa_gap_product_original_rightcoefficientscoefficientresiduebound + S (pfc_value_product_original_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_product_original_rightcoefficientscoefficientresiduecongruence pfa_offset_right_product_original_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_product_original_rightcoefficientscoefficient) + (p) * pfa_offset_left_product_original_rightcoefficientscoefficientresiduecongruence = (pfc_value_product_original_rightcoefficients) + (p) * pfa_offset_right_product_original_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_product_padded_rightleft. (exists fom_gap_pfp_product_padded_rightleft_index_bound. fom_gap_pfp_product_padded_rightleft_index_bound + S (fom_index_pfp_product_padded_rightleft) = L) -> exists fom_value_pfp_product_padded_rightleft. ((((exists fom_beta_height_pfp_product_padded_rightleft_entry. fom_beta_height_pfp_product_padded_rightleft_entry + S (fom_value_pfp_product_padded_rightleft) = S ((S (fom_index_pfp_product_padded_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_product_padded_rightleft_entry. ab = fom_beta_quotient_pfp_product_padded_rightleft_entry * S ((S (fom_index_pfp_product_padded_rightleft)) * ac) + (fom_value_pfp_product_padded_rightleft))) /\ (exists fom_gap_pfp_product_padded_rightleft_value_bound. fom_gap_pfp_product_padded_rightleft_value_bound + S (fom_value_pfp_product_padded_rightleft) = p))) /\ (((forall fom_index_pfp_product_padded_rightright. (exists fom_gap_pfp_product_padded_rightright_index_bound. fom_gap_pfp_product_padded_rightright_index_bound + S (fom_index_pfp_product_padded_rightright) = t+M) -> exists fom_value_pfp_product_padded_rightright. ((((exists fom_beta_height_pfp_product_padded_rightright_entry. fom_beta_height_pfp_product_padded_rightright_entry + S (fom_value_pfp_product_padded_rightright) = S ((S (fom_index_pfp_product_padded_rightright)) * BC)) /\ exists fom_beta_quotient_pfp_product_padded_rightright_entry. BB = fom_beta_quotient_pfp_product_padded_rightright_entry * S ((S (fom_index_pfp_product_padded_rightright)) * BC) + (fom_value_pfp_product_padded_rightright))) /\ (exists fom_gap_pfp_product_padded_rightright_value_bound. fom_gap_pfp_product_padded_rightright_value_bound + S (fom_value_pfp_product_padded_rightright) = p))) /\ (((((((L)=0 \/ (t+M)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((t+M)=0)) /\ (((L)+(t+M)=S (K)))))))) /\ ((forall pfc_index_product_padded_rightcoefficients. (exists pfa_gap_product_padded_rightcoefficientsbound. pfa_gap_product_padded_rightcoefficientsbound + S (pfc_index_product_padded_rightcoefficients) = (K)) -> exists pfc_value_product_padded_rightcoefficients. ((((exists ff_h_pfp_product_padded_rightcoefficientsentry. ff_h_pfp_product_padded_rightcoefficientsentry + S (pfc_value_product_padded_rightcoefficients) = S ((S (pfc_index_product_padded_rightcoefficients)) * CC)) /\ exists ff_q_pfp_product_padded_rightcoefficientsentry. CB = ff_q_pfp_product_padded_rightcoefficientsentry * S ((S (pfc_index_product_padded_rightcoefficients)) * CC) + (pfc_value_product_padded_rightcoefficients))) /\ ((exists pfc_terms_code_product_padded_rightcoefficientscoefficient pfc_terms_scale_product_padded_rightcoefficientscoefficient pfc_natural_sum_product_padded_rightcoefficientscoefficient. ((forall pfc_index_product_padded_rightcoefficientscoefficientdiagonal. (exists pfa_gap_product_padded_rightcoefficientscoefficientdiagonalbound. pfa_gap_product_padded_rightcoefficientscoefficientdiagonalbound + S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal) = (S (pfc_index_product_padded_rightcoefficients))) -> exists pfc_value_product_padded_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonalentry + S (pfc_value_product_padded_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_padded_rightcoefficientscoefficient)) /\ exists ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_product_padded_rightcoefficientscoefficient = ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_padded_rightcoefficientscoefficient) + (pfc_value_product_padded_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm pfc_left_product_padded_rightcoefficientscoefficientdiagonalterm pfc_right_product_padded_rightcoefficientscoefficientdiagonalterm. (((pfc_index_product_padded_rightcoefficientscoefficientdiagonal)+pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm=(pfc_index_product_padded_rightcoefficients)) /\ ((((((exists pfa_gap_product_padded_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_product_padded_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_product_padded_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_product_padded_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_product_padded_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_padded_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_product_padded_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_product_padded_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_product_padded_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_product_padded_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_product_padded_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm) = (t+M)) /\ ((((exists ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_product_padded_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_product_padded_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm)) * BC)) /\ exists ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonaltermrightentry. BB = ff_q_pfp_product_padded_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm)) * BC) + (pfc_right_product_padded_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_padded_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_product_padded_rightcoefficientscoefficientdiagonaltermrightoutside+(t+M)=(pfc_complement_product_padded_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_product_padded_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_product_padded_rightcoefficientscoefficientdiagonal)=pfc_left_product_padded_rightcoefficientscoefficientdiagonalterm*pfc_right_product_padded_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_product_padded_rightcoefficientscoefficientsum fs_v_pfc_product_padded_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_start. fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_start. fs_u_pfc_product_padded_rightcoefficientscoefficientsum = fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_product_padded_rightcoefficientscoefficient) = S ((S (S (pfc_index_product_padded_rightcoefficients))) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_product_padded_rightcoefficientscoefficientsum = fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_product_padded_rightcoefficients))) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum) + (pfc_natural_sum_product_padded_rightcoefficientscoefficient))) /\ forall fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps = S (pfc_index_product_padded_rightcoefficients)) -> exists fs_a_pfc_product_padded_rightcoefficientscoefficientsum_body_steps fs_r_pfc_product_padded_rightcoefficientscoefficientsum_body_steps fs_s_pfc_product_padded_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_product_padded_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_padded_rightcoefficientscoefficient)) /\ exists fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_product_padded_rightcoefficientscoefficient = fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_padded_rightcoefficientscoefficient) + (fs_a_pfc_product_padded_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_product_padded_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_product_padded_rightcoefficientscoefficientsum = fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum) + (fs_r_pfc_product_padded_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_product_padded_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_product_padded_rightcoefficientscoefficientsum = fs_q_pfc_product_padded_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_rightcoefficientscoefficientsum) + (fs_s_pfc_product_padded_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_product_padded_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_product_padded_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_product_padded_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_product_padded_rightcoefficientscoefficientresiduebound. pfa_gap_product_padded_rightcoefficientscoefficientresiduebound + S (pfc_value_product_padded_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_product_padded_rightcoefficientscoefficientresiduecongruence pfa_offset_right_product_padded_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_product_padded_rightcoefficientscoefficient) + (p) * pfa_offset_left_product_padded_rightcoefficientscoefficientresiduecongruence = (pfc_value_product_padded_rightcoefficients) + (p) * pfa_offset_right_product_padded_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfrep_power_product_equivalent_right pfrep_left_product_equivalent_right pfrep_right_product_equivalent_right. ((exists pfrep_position_product_equivalent_rightfirst. ((pfrep_position_product_equivalent_rightfirst+S (pfrep_power_product_equivalent_right)=(N)) /\ ((((exists ff_h_pfp_product_equivalent_rightfirstentry. ff_h_pfp_product_equivalent_rightfirstentry + S (pfrep_left_product_equivalent_right) = S ((S (pfrep_position_product_equivalent_rightfirst)) * cc)) /\ exists ff_q_pfp_product_equivalent_rightfirstentry. cb = ff_q_pfp_product_equivalent_rightfirstentry * S ((S (pfrep_position_product_equivalent_rightfirst)) * cc) + (pfrep_left_product_equivalent_right)))))) \/ (((exists pfrep_gap_product_equivalent_rightfirstoutside. pfrep_gap_product_equivalent_rightfirstoutside+(N)=(pfrep_power_product_equivalent_right)) /\ (((pfrep_left_product_equivalent_right)=0))))) -> ((exists pfrep_position_product_equivalent_rightsecond. ((pfrep_position_product_equivalent_rightsecond+S (pfrep_power_product_equivalent_right)=(K)) /\ ((((exists ff_h_pfp_product_equivalent_rightsecondentry. ff_h_pfp_product_equivalent_rightsecondentry + S (pfrep_right_product_equivalent_right) = S ((S (pfrep_position_product_equivalent_rightsecond)) * CC)) /\ exists ff_q_pfp_product_equivalent_rightsecondentry. CB = ff_q_pfp_product_equivalent_rightsecondentry * S ((S (pfrep_position_product_equivalent_rightsecond)) * CC) + (pfrep_right_product_equivalent_right)))))) \/ (((exists pfrep_gap_product_equivalent_rightsecondoutside. pfrep_gap_product_equivalent_rightsecondoutside+(K)=(pfrep_power_product_equivalent_right)) /\ (((pfrep_right_product_equivalent_right)=0))))) -> pfrep_left_product_equivalent_right=pfrep_right_product_equivalent_right)
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro BBintro BCintro tintro CBintro CCintro Kintro hpintro hpadintro hcintro hnhave hL : L=0 \/ ~(L=0)specialize eq_decidable (L)specialize eq_decidable (0)apply eq_decidablecases hLhave hz : forall pfp_repeat_index_empty_factor_zero_rightleft. (exists pfa_gap_empty_factor_zero_rightleftindex. pfa_gap_empty_factor_zero_rightleftindex + S (pfp_repeat_index_empty_factor_zero_rightleft) = (L)) -> (((exists ff_h_pfp_empty_factor_zero_rightleftentry. ff_h_pfp_empty_factor_zero_rightleftentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_rightleft)) * ac)) /\ exists ff_q_pfp_empty_factor_zero_rightleftentry. ab = ff_q_pfp_empty_factor_zero_rightleftentry * S ((S (pfp_repeat_index_empty_factor_zero_rightleft)) * ac) + (0)))intro jintro hjrewrite hL_left at hjexfalsospecialize matrix_rank_no_index_below_zero (j)apply matrix_rank_no_index_below_zeroexact hjhave hc0 : forall pfp_repeat_index_empty_original_product_rightleft. (exists pfa_gap_empty_original_product_rightleftindex. pfa_gap_empty_original_product_rightleftindex + S (pfp_repeat_index_empty_original_product_rightleft) = (N)) -> (((exists ff_h_pfp_empty_original_product_rightleftentry. ff_h_pfp_empty_original_product_rightleftentry + S (0) = S ((S (pfp_repeat_index_empty_original_product_rightleft)) * cc)) /\ exists ff_q_pfp_empty_original_product_rightleftentry. cb = ff_q_pfp_empty_original_product_rightleftentry * S ((S (pfp_repeat_index_empty_original_product_rightleft)) * cc) + (0)))specialize prime_field_polynomial_convolution_zero_left (p)specialize prime_field_polynomial_convolution_zero_left (ab)specialize prime_field_polynomial_convolution_zero_left (ac)specialize prime_field_polynomial_convolution_zero_left (L)specialize prime_field_polynomial_convolution_zero_left (bb)specialize prime_field_polynomial_convolution_zero_left (bc)specialize prime_field_polynomial_convolution_zero_left (M)specialize prime_field_polynomial_convolution_zero_left (cb)specialize prime_field_polynomial_convolution_zero_left (cc)specialize prime_field_polynomial_convolution_zero_left (N)apply prime_field_polynomial_convolution_zero_leftexact hpexact hzexact hchave hn0 : forall pfp_repeat_index_empty_padded_product_rightleft. (exists pfa_gap_empty_padded_product_rightleftindex. pfa_gap_empty_padded_product_rightleftindex + S (pfp_repeat_index_empty_padded_product_rightleft) = (K)) -> (((exists ff_h_pfp_empty_padded_product_rightleftentry. ff_h_pfp_empty_padded_product_rightleftentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_rightleft)) * CC)) /\ exists ff_q_pfp_empty_padded_product_rightleftentry. CB = ff_q_pfp_empty_padded_product_rightleftentry * S ((S (pfp_repeat_index_empty_padded_product_rightleft)) * CC) + (0)))specialize prime_field_polynomial_convolution_zero_left (p)specialize prime_field_polynomial_convolution_zero_left (ab)specialize prime_field_polynomial_convolution_zero_left (ac)specialize prime_field_polynomial_convolution_zero_left (L)specialize prime_field_polynomial_convolution_zero_left (BB)specialize prime_field_polynomial_convolution_zero_left (BC)specialize prime_field_polynomial_convolution_zero_left (t+M)specialize prime_field_polynomial_convolution_zero_left (CB)specialize prime_field_polynomial_convolution_zero_left (CC)specialize prime_field_polynomial_convolution_zero_left (K)apply prime_field_polynomial_convolution_zero_leftexact hpexact hzexact hnhave hec : forall pfrep_power_empty_first_equivalence_rightleft pfrep_left_empty_first_equivalence_rightleft pfrep_right_empty_first_equivalence_rightleft. ((exists pfrep_position_empty_first_equivalence_rightleftfirst. ((pfrep_position_empty_first_equivalence_rightleftfirst+S (pfrep_power_empty_first_equivalence_rightleft)=(N)) /\ ((((exists ff_h_pfp_empty_first_equivalence_rightleftfirstentry. ff_h_pfp_empty_first_equivalence_rightleftfirstentry + S (pfrep_left_empty_first_equivalence_rightleft) = S ((S (pfrep_position_empty_first_equivalence_rightleftfirst)) * cc)) /\ exists ff_q_pfp_empty_first_equivalence_rightleftfirstentry. cb = ff_q_pfp_empty_first_equivalence_rightleftfirstentry * S ((S (pfrep_position_empty_first_equivalence_rightleftfirst)) * cc) + (pfrep_left_empty_first_equivalence_rightleft)))))) \/ (((exists pfrep_gap_empty_first_equivalence_rightleftfirstoutside. pfrep_gap_empty_first_equivalence_rightleftfirstoutside+(N)=(pfrep_power_empty_first_equivalence_rightleft)) /\ (((pfrep_left_empty_first_equivalence_rightleft)=0))))) -> ((exists pfrep_position_empty_first_equivalence_rightleftsecond. ((pfrep_position_empty_first_equivalence_rightleftsecond+S (pfrep_power_empty_first_equivalence_rightleft)=(0)) /\ ((((exists ff_h_pfp_empty_first_equivalence_rightleftsecondentry. ff_h_pfp_empty_first_equivalence_rightleftsecondentry + S (pfrep_right_empty_first_equivalence_rightleft) = S ((S (pfrep_position_empty_first_equivalence_rightleftsecond)) * 0)) /\ exists ff_q_pfp_empty_first_equivalence_rightleftsecondentry. 0 = ff_q_pfp_empty_first_equivalence_rightleftsecondentry * S ((S (pfrep_position_empty_first_equivalence_rightleftsecond)) * 0) + (pfrep_right_empty_first_equivalence_rightleft)))))) \/ (((exists pfrep_gap_empty_first_equivalence_rightleftsecondoutside. pfrep_gap_empty_first_equivalence_rightleftsecondoutside+(0)=(pfrep_power_empty_first_equivalence_rightleft)) /\ (((pfrep_right_empty_first_equivalence_rightleft)=0))))) -> pfrep_left_empty_first_equivalence_rightleft=pfrep_right_empty_first_equivalence_rightleftspecialize prime_field_polynomial_zero_prefix_equivalent_empty (cb)specialize prime_field_polynomial_zero_prefix_equivalent_empty (cc)specialize prime_field_polynomial_zero_prefix_equivalent_empty (N)apply prime_field_polynomial_zero_prefix_equivalent_emptyexact hc0have hen : forall pfrep_power_empty_second_equivalence_rightleft pfrep_left_empty_second_equivalence_rightleft pfrep_right_empty_second_equivalence_rightleft. ((exists pfrep_position_empty_second_equivalence_rightleftfirst. ((pfrep_position_empty_second_equivalence_rightleftfirst+S (pfrep_power_empty_second_equivalence_rightleft)=(K)) /\ ((((exists ff_h_pfp_empty_second_equivalence_rightleftfirstentry. ff_h_pfp_empty_second_equivalence_rightleftfirstentry + S (pfrep_left_empty_second_equivalence_rightleft) = S ((S (pfrep_position_empty_second_equivalence_rightleftfirst)) * CC)) /\ exists ff_q_pfp_empty_second_equivalence_rightleftfirstentry. CB = ff_q_pfp_empty_second_equivalence_rightleftfirstentry * S ((S (pfrep_position_empty_second_equivalence_rightleftfirst)) * CC) + (pfrep_left_empty_second_equivalence_rightleft)))))) \/ (((exists pfrep_gap_empty_second_equivalence_rightleftfirstoutside. pfrep_gap_empty_second_equivalence_rightleftfirstoutside+(K)=(pfrep_power_empty_second_equivalence_rightleft)) /\ (((pfrep_left_empty_second_equivalence_rightleft)=0))))) -> ((exists pfrep_position_empty_second_equivalence_rightleftsecond. ((pfrep_position_empty_second_equivalence_rightleftsecond+S (pfrep_power_empty_second_equivalence_rightleft)=(0)) /\ ((((exists ff_h_pfp_empty_second_equivalence_rightleftsecondentry. ff_h_pfp_empty_second_equivalence_rightleftsecondentry + S (pfrep_right_empty_second_equivalence_rightleft) = S ((S (pfrep_position_empty_second_equivalence_rightleftsecond)) * 0)) /\ exists ff_q_pfp_empty_second_equivalence_rightleftsecondentry. 0 = ff_q_pfp_empty_second_equivalence_rightleftsecondentry * S ((S (pfrep_position_empty_second_equivalence_rightleftsecond)) * 0) + (pfrep_right_empty_second_equivalence_rightleft)))))) \/ (((exists pfrep_gap_empty_second_equivalence_rightleftsecondoutside. pfrep_gap_empty_second_equivalence_rightleftsecondoutside+(0)=(pfrep_power_empty_second_equivalence_rightleft)) /\ (((pfrep_right_empty_second_equivalence_rightleft)=0))))) -> pfrep_left_empty_second_equivalence_rightleft=pfrep_right_empty_second_equivalence_rightleftspecialize prime_field_polynomial_zero_prefix_equivalent_empty (CB)specialize prime_field_polynomial_zero_prefix_equivalent_empty (CC)specialize prime_field_polynomial_zero_prefix_equivalent_empty (K)apply prime_field_polynomial_zero_prefix_equivalent_emptyexact hn0specialize prime_field_polynomial_equivalent_transitive (cb)specialize prime_field_polynomial_equivalent_transitive (cc)specialize prime_field_polynomial_equivalent_transitive (N)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (CB)specialize prime_field_polynomial_equivalent_transitive (CC)specialize prime_field_polynomial_equivalent_transitive (K)apply prime_field_polynomial_equivalent_transitiveexact hecspecialize prime_field_polynomial_equivalent_symmetric (CB)specialize prime_field_polynomial_equivalent_symmetric (CC)specialize prime_field_polynomial_equivalent_symmetric (K)specialize prime_field_polynomial_equivalent_symmetric (0)specialize prime_field_polynomial_equivalent_symmetric (0)specialize prime_field_polynomial_equivalent_symmetric (0)apply prime_field_polynomial_equivalent_symmetricexact henhave hM : M=0 \/ ~(M=0)specialize eq_decidable (M)specialize eq_decidable (0)apply eq_decidablecases hMhave hz : forall pfp_repeat_index_empty_factor_zero_rightright. (exists pfa_gap_empty_factor_zero_rightrightindex. pfa_gap_empty_factor_zero_rightrightindex + S (pfp_repeat_index_empty_factor_zero_rightright) = (M)) -> (((exists ff_h_pfp_empty_factor_zero_rightrightentry. ff_h_pfp_empty_factor_zero_rightrightentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_rightright)) * bc)) /\ exists ff_q_pfp_empty_factor_zero_rightrightentry. bb = ff_q_pfp_empty_factor_zero_rightrightentry * S ((S (pfp_repeat_index_empty_factor_zero_rightright)) * bc) + (0)))intro jintro hjrewrite hM_left at hjexfalsospecialize matrix_rank_no_index_below_zero (j)apply matrix_rank_no_index_below_zeroexact hjhave hc0 : forall pfp_repeat_index_empty_original_product_rightright. (exists pfa_gap_empty_original_product_rightrightindex. pfa_gap_empty_original_product_rightrightindex + S (pfp_repeat_index_empty_original_product_rightright) = (N)) -> (((exists ff_h_pfp_empty_original_product_rightrightentry. ff_h_pfp_empty_original_product_rightrightentry + S (0) = S ((S (pfp_repeat_index_empty_original_product_rightright)) * cc)) /\ exists ff_q_pfp_empty_original_product_rightrightentry. cb = ff_q_pfp_empty_original_product_rightrightentry * S ((S (pfp_repeat_index_empty_original_product_rightright)) * cc) + (0)))specialize prime_field_polynomial_convolution_zero_right (p)specialize prime_field_polynomial_convolution_zero_right (ab)specialize prime_field_polynomial_convolution_zero_right (ac)specialize prime_field_polynomial_convolution_zero_right (L)specialize prime_field_polynomial_convolution_zero_right (bb)specialize prime_field_polynomial_convolution_zero_right (bc)specialize prime_field_polynomial_convolution_zero_right (M)specialize prime_field_polynomial_convolution_zero_right (cb)specialize prime_field_polynomial_convolution_zero_right (cc)specialize prime_field_polynomial_convolution_zero_right (N)apply prime_field_polynomial_convolution_zero_rightexact hpexact hzexact hchave hn0 : forall pfp_repeat_index_empty_padded_product_rightright. (exists pfa_gap_empty_padded_product_rightrightindex. pfa_gap_empty_padded_product_rightrightindex + S (pfp_repeat_index_empty_padded_product_rightright) = (K)) -> (((exists ff_h_pfp_empty_padded_product_rightrightentry. ff_h_pfp_empty_padded_product_rightrightentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_rightright)) * CC)) /\ exists ff_q_pfp_empty_padded_product_rightrightentry. CB = ff_q_pfp_empty_padded_product_rightrightentry * S ((S (pfp_repeat_index_empty_padded_product_rightright)) * CC) + (0)))specialize prime_field_polynomial_convolution_zero_right (p)specialize prime_field_polynomial_convolution_zero_right (ab)specialize prime_field_polynomial_convolution_zero_right (ac)specialize prime_field_polynomial_convolution_zero_right (L)specialize prime_field_polynomial_convolution_zero_right (BB)specialize prime_field_polynomial_convolution_zero_right (BC)specialize prime_field_polynomial_convolution_zero_right (t+M)specialize prime_field_polynomial_convolution_zero_right (CB)specialize prime_field_polynomial_convolution_zero_right (CC)specialize prime_field_polynomial_convolution_zero_right (K)apply prime_field_polynomial_convolution_zero_rightexact hpspecialize polynomial_left_pad_zero_prefix (bb)specialize polynomial_left_pad_zero_prefix (bc)specialize polynomial_left_pad_zero_prefix (M)specialize polynomial_left_pad_zero_prefix (t)specialize polynomial_left_pad_zero_prefix (BB)specialize polynomial_left_pad_zero_prefix (BC)apply polynomial_left_pad_zero_prefixexact hzexact hpadexact hnhave hec : forall pfrep_power_empty_first_equivalence_rightright pfrep_left_empty_first_equivalence_rightright pfrep_right_empty_first_equivalence_rightright. ((exists pfrep_position_empty_first_equivalence_rightrightfirst. ((pfrep_position_empty_first_equivalence_rightrightfirst+S (pfrep_power_empty_first_equivalence_rightright)=(N)) /\ ((((exists ff_h_pfp_empty_first_equivalence_rightrightfirstentry. ff_h_pfp_empty_first_equivalence_rightrightfirstentry + S (pfrep_left_empty_first_equivalence_rightright) = S ((S (pfrep_position_empty_first_equivalence_rightrightfirst)) * cc)) /\ exists ff_q_pfp_empty_first_equivalence_rightrightfirstentry. cb = ff_q_pfp_empty_first_equivalence_rightrightfirstentry * S ((S (pfrep_position_empty_first_equivalence_rightrightfirst)) * cc) + (pfrep_left_empty_first_equivalence_rightright)))))) \/ (((exists pfrep_gap_empty_first_equivalence_rightrightfirstoutside. pfrep_gap_empty_first_equivalence_rightrightfirstoutside+(N)=(pfrep_power_empty_first_equivalence_rightright)) /\ (((pfrep_left_empty_first_equivalence_rightright)=0))))) -> ((exists pfrep_position_empty_first_equivalence_rightrightsecond. ((pfrep_position_empty_first_equivalence_rightrightsecond+S (pfrep_power_empty_first_equivalence_rightright)=(0)) /\ ((((exists ff_h_pfp_empty_first_equivalence_rightrightsecondentry. ff_h_pfp_empty_first_equivalence_rightrightsecondentry + S (pfrep_right_empty_first_equivalence_rightright) = S ((S (pfrep_position_empty_first_equivalence_rightrightsecond)) * 0)) /\ exists ff_q_pfp_empty_first_equivalence_rightrightsecondentry. 0 = ff_q_pfp_empty_first_equivalence_rightrightsecondentry * S ((S (pfrep_position_empty_first_equivalence_rightrightsecond)) * 0) + (pfrep_right_empty_first_equivalence_rightright)))))) \/ (((exists pfrep_gap_empty_first_equivalence_rightrightsecondoutside. pfrep_gap_empty_first_equivalence_rightrightsecondoutside+(0)=(pfrep_power_empty_first_equivalence_rightright)) /\ (((pfrep_right_empty_first_equivalence_rightright)=0))))) -> pfrep_left_empty_first_equivalence_rightright=pfrep_right_empty_first_equivalence_rightrightspecialize prime_field_polynomial_zero_prefix_equivalent_empty (cb)specialize prime_field_polynomial_zero_prefix_equivalent_empty (cc)specialize prime_field_polynomial_zero_prefix_equivalent_empty (N)apply prime_field_polynomial_zero_prefix_equivalent_emptyexact hc0have hen : forall pfrep_power_empty_second_equivalence_rightright pfrep_left_empty_second_equivalence_rightright pfrep_right_empty_second_equivalence_rightright. ((exists pfrep_position_empty_second_equivalence_rightrightfirst. ((pfrep_position_empty_second_equivalence_rightrightfirst+S (pfrep_power_empty_second_equivalence_rightright)=(K)) /\ ((((exists ff_h_pfp_empty_second_equivalence_rightrightfirstentry. ff_h_pfp_empty_second_equivalence_rightrightfirstentry + S (pfrep_left_empty_second_equivalence_rightright) = S ((S (pfrep_position_empty_second_equivalence_rightrightfirst)) * CC)) /\ exists ff_q_pfp_empty_second_equivalence_rightrightfirstentry. CB = ff_q_pfp_empty_second_equivalence_rightrightfirstentry * S ((S (pfrep_position_empty_second_equivalence_rightrightfirst)) * CC) + (pfrep_left_empty_second_equivalence_rightright)))))) \/ (((exists pfrep_gap_empty_second_equivalence_rightrightfirstoutside. pfrep_gap_empty_second_equivalence_rightrightfirstoutside+(K)=(pfrep_power_empty_second_equivalence_rightright)) /\ (((pfrep_left_empty_second_equivalence_rightright)=0))))) -> ((exists pfrep_position_empty_second_equivalence_rightrightsecond. ((pfrep_position_empty_second_equivalence_rightrightsecond+S (pfrep_power_empty_second_equivalence_rightright)=(0)) /\ ((((exists ff_h_pfp_empty_second_equivalence_rightrightsecondentry. ff_h_pfp_empty_second_equivalence_rightrightsecondentry + S (pfrep_right_empty_second_equivalence_rightright) = S ((S (pfrep_position_empty_second_equivalence_rightrightsecond)) * 0)) /\ exists ff_q_pfp_empty_second_equivalence_rightrightsecondentry. 0 = ff_q_pfp_empty_second_equivalence_rightrightsecondentry * S ((S (pfrep_position_empty_second_equivalence_rightrightsecond)) * 0) + (pfrep_right_empty_second_equivalence_rightright)))))) \/ (((exists pfrep_gap_empty_second_equivalence_rightrightsecondoutside. pfrep_gap_empty_second_equivalence_rightrightsecondoutside+(0)=(pfrep_power_empty_second_equivalence_rightright)) /\ (((pfrep_right_empty_second_equivalence_rightright)=0))))) -> pfrep_left_empty_second_equivalence_rightright=pfrep_right_empty_second_equivalence_rightrightspecialize prime_field_polynomial_zero_prefix_equivalent_empty (CB)specialize prime_field_polynomial_zero_prefix_equivalent_empty (CC)specialize prime_field_polynomial_zero_prefix_equivalent_empty (K)apply prime_field_polynomial_zero_prefix_equivalent_emptyexact hn0specialize prime_field_polynomial_equivalent_transitive (cb)specialize prime_field_polynomial_equivalent_transitive (cc)specialize prime_field_polynomial_equivalent_transitive (N)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (CB)specialize prime_field_polynomial_equivalent_transitive (CC)specialize prime_field_polynomial_equivalent_transitive (K)apply prime_field_polynomial_equivalent_transitiveexact hecspecialize prime_field_polynomial_equivalent_symmetric (CB)specialize prime_field_polynomial_equivalent_symmetric (CC)specialize prime_field_polynomial_equivalent_symmetric (K)specialize prime_field_polynomial_equivalent_symmetric (0)specialize prime_field_polynomial_equivalent_symmetric (0)specialize prime_field_polynomial_equivalent_symmetric (0)apply prime_field_polynomial_equivalent_symmetricexact henhave hd : ((K=t+N) /\ ((((forall pfp_repeat_index_product_equivalent_padding_rightzeros. (exists pfa_gap_product_equivalent_padding_rightzerosindex. pfa_gap_product_equivalent_padding_rightzerosindex + S (pfp_repeat_index_product_equivalent_padding_rightzeros) = (t)) -> (((exists ff_h_pfp_product_equivalent_padding_rightzerosentry. ff_h_pfp_product_equivalent_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_product_equivalent_padding_rightzeros)) * CC)) /\ exists ff_q_pfp_product_equivalent_padding_rightzerosentry. CB = ff_q_pfp_product_equivalent_padding_rightzerosentry * S ((S (pfp_repeat_index_product_equivalent_padding_rightzeros)) * CC) + (0)))) /\ ((forall pfrep_index_product_equivalent_padding_right pfrep_value_product_equivalent_padding_right. (exists pfa_gap_product_equivalent_padding_rightbound. pfa_gap_product_equivalent_padding_rightbound + S (pfrep_index_product_equivalent_padding_right) = (N)) -> (((exists ff_h_pfp_product_equivalent_padding_rightinput. ff_h_pfp_product_equivalent_padding_rightinput + S (pfrep_value_product_equivalent_padding_right) = S ((S (pfrep_index_product_equivalent_padding_right)) * cc)) /\ exists ff_q_pfp_product_equivalent_padding_rightinput. cb = ff_q_pfp_product_equivalent_padding_rightinput * S ((S (pfrep_index_product_equivalent_padding_right)) * cc) + (pfrep_value_product_equivalent_padding_right))) -> (((exists ff_h_pfp_product_equivalent_padding_rightoutput. ff_h_pfp_product_equivalent_padding_rightoutput + S (pfrep_value_product_equivalent_padding_right) = S ((S ((t)+pfrep_index_product_equivalent_padding_right)) * CC)) /\ exists ff_q_pfp_product_equivalent_padding_rightoutput. CB = ff_q_pfp_product_equivalent_padding_rightoutput * S ((S ((t)+pfrep_index_product_equivalent_padding_right)) * CC) + (pfrep_value_product_equivalent_padding_right)))))))))specialize prime_field_polynomial_convolution_left_padding_nonempty_right (p)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (ab)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (ac)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (L)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (bb)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (bc)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (M)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (cb)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (cc)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (N)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (BB)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (BC)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (t)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (CB)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (CC)specialize prime_field_polynomial_convolution_left_padding_nonempty_right (K)apply prime_field_polynomial_convolution_left_padding_nonempty_rightexact hpexact hL_rightexact hM_rightexact hpadexact hcexact hncases hdrewrite hd_leftrewrite hd_leftspecialize prime_field_polynomial_left_pad_equivalent (cb)specialize prime_field_polynomial_left_pad_equivalent (cc)specialize prime_field_polynomial_left_pad_equivalent (N)specialize prime_field_polynomial_left_pad_equivalent (t)specialize prime_field_polynomial_left_pad_equivalent (CB)specialize prime_field_polynomial_left_pad_equivalent (CC)apply prime_field_polynomial_left_pad_equivalentexact hd_right
prime_field_polynomial_equivalent_implies_equal_same_length · unchanged support, not a new admission
forall b c d e L. (forall pfrep_power_equivalent_to_equal_input pfrep_left_equivalent_to_equal_input pfrep_right_equivalent_to_equal_input. ((exists pfrep_position_equivalent_to_equal_inputfirst. ((pfrep_position_equivalent_to_equal_inputfirst+S (pfrep_power_equivalent_to_equal_input)=(L)) /\ ((((exists ff_h_pfp_equivalent_to_equal_inputfirstentry. ff_h_pfp_equivalent_to_equal_inputfirstentry + S (pfrep_left_equivalent_to_equal_input) = S ((S (pfrep_position_equivalent_to_equal_inputfirst)) * c)) /\ exists ff_q_pfp_equivalent_to_equal_inputfirstentry. b = ff_q_pfp_equivalent_to_equal_inputfirstentry * S ((S (pfrep_position_equivalent_to_equal_inputfirst)) * c) + (pfrep_left_equivalent_to_equal_input)))))) \/ (((exists pfrep_gap_equivalent_to_equal_inputfirstoutside. pfrep_gap_equivalent_to_equal_inputfirstoutside+(L)=(pfrep_power_equivalent_to_equal_input)) /\ (((pfrep_left_equivalent_to_equal_input)=0))))) -> ((exists pfrep_position_equivalent_to_equal_inputsecond. ((pfrep_position_equivalent_to_equal_inputsecond+S (pfrep_power_equivalent_to_equal_input)=(L)) /\ ((((exists ff_h_pfp_equivalent_to_equal_inputsecondentry. ff_h_pfp_equivalent_to_equal_inputsecondentry + S (pfrep_right_equivalent_to_equal_input) = S ((S (pfrep_position_equivalent_to_equal_inputsecond)) * e)) /\ exists ff_q_pfp_equivalent_to_equal_inputsecondentry. d = ff_q_pfp_equivalent_to_equal_inputsecondentry * S ((S (pfrep_position_equivalent_to_equal_inputsecond)) * e) + (pfrep_right_equivalent_to_equal_input)))))) \/ (((exists pfrep_gap_equivalent_to_equal_inputsecondoutside. pfrep_gap_equivalent_to_equal_inputsecondoutside+(L)=(pfrep_power_equivalent_to_equal_input)) /\ (((pfrep_right_equivalent_to_equal_input)=0))))) -> pfrep_left_equivalent_to_equal_input=pfrep_right_equivalent_to_equal_input) -> (forall mdr_i_pfp_equivalent_to_equal_result mdr_a_pfp_equivalent_to_equal_result. (exists mdr_gap_pfp_equivalent_to_equal_resultb. mdr_gap_pfp_equivalent_to_equal_resultb + S (mdr_i_pfp_equivalent_to_equal_result) = (L)) -> (((exists ff_h_mdr_pfp_equivalent_to_equal_resulto. ff_h_mdr_pfp_equivalent_to_equal_resulto + S (mdr_a_pfp_equivalent_to_equal_result) = S ((S (mdr_i_pfp_equivalent_to_equal_result)) * c)) /\ exists ff_q_mdr_pfp_equivalent_to_equal_resulto. b = ff_q_mdr_pfp_equivalent_to_equal_resulto * S ((S (mdr_i_pfp_equivalent_to_equal_result)) * c) + (mdr_a_pfp_equivalent_to_equal_result))) -> (((exists ff_h_mdr_pfp_equivalent_to_equal_resultn. ff_h_mdr_pfp_equivalent_to_equal_resultn + S (mdr_a_pfp_equivalent_to_equal_result) = S ((S (mdr_i_pfp_equivalent_to_equal_result)) * e)) /\ exists ff_q_mdr_pfp_equivalent_to_equal_resultn. d = ff_q_mdr_pfp_equivalent_to_equal_resultn * S ((S (mdr_i_pfp_equivalent_to_equal_result)) * e) + (mdr_a_pfp_equivalent_to_equal_result))))
intro bintro cintro dintro eintro Lintro heintro iintro aintro hiintro hacases hihave hs : i+S x=Ltrans x+S isimp [add_comm]exact hi_witnesshave hv : exists r. (((exists ff_h_pfp_equivalent_to_equal_lookup. ff_h_pfp_equivalent_to_equal_lookup + S (r) = S ((S (i)) * e)) /\ exists ff_q_pfp_equivalent_to_equal_lookup. d = ff_q_pfp_equivalent_to_equal_lookup * S ((S (i)) * e) + (r)))specialize beta_at_exists (d)specialize beta_at_exists (e)specialize beta_at_exists (i)apply beta_at_existscases hvhave heq : a=x1specialize he (x)specialize he (a)specialize he (x1)apply heleftexists isplitexact hsexact haleftexists isplitexact hsexact hv_witnessrewrite heqrewrite heqexact hv_witness
prime_field_polynomial_left_pad_transport · unchanged support, not a new admission
forall b c B C L t d e D E. (forall mdr_i_pfp_pad_transport_input mdr_a_pfp_pad_transport_input. (exists mdr_gap_pfp_pad_transport_inputb. mdr_gap_pfp_pad_transport_inputb + S (mdr_i_pfp_pad_transport_input) = (L)) -> (((exists ff_h_mdr_pfp_pad_transport_inputo. ff_h_mdr_pfp_pad_transport_inputo + S (mdr_a_pfp_pad_transport_input) = S ((S (mdr_i_pfp_pad_transport_input)) * c)) /\ exists ff_q_mdr_pfp_pad_transport_inputo. b = ff_q_mdr_pfp_pad_transport_inputo * S ((S (mdr_i_pfp_pad_transport_input)) * c) + (mdr_a_pfp_pad_transport_input))) -> (((exists ff_h_mdr_pfp_pad_transport_inputn. ff_h_mdr_pfp_pad_transport_inputn + S (mdr_a_pfp_pad_transport_input) = S ((S (mdr_i_pfp_pad_transport_input)) * C)) /\ exists ff_q_mdr_pfp_pad_transport_inputn. B = ff_q_mdr_pfp_pad_transport_inputn * S ((S (mdr_i_pfp_pad_transport_input)) * C) + (mdr_a_pfp_pad_transport_input)))) -> (forall mdr_i_pfp_pad_transport_output mdr_a_pfp_pad_transport_output. (exists mdr_gap_pfp_pad_transport_outputb. mdr_gap_pfp_pad_transport_outputb + S (mdr_i_pfp_pad_transport_output) = (t+L)) -> (((exists ff_h_mdr_pfp_pad_transport_outputo. ff_h_mdr_pfp_pad_transport_outputo + S (mdr_a_pfp_pad_transport_output) = S ((S (mdr_i_pfp_pad_transport_output)) * e)) /\ exists ff_q_mdr_pfp_pad_transport_outputo. d = ff_q_mdr_pfp_pad_transport_outputo * S ((S (mdr_i_pfp_pad_transport_output)) * e) + (mdr_a_pfp_pad_transport_output))) -> (((exists ff_h_mdr_pfp_pad_transport_outputn. ff_h_mdr_pfp_pad_transport_outputn + S (mdr_a_pfp_pad_transport_output) = S ((S (mdr_i_pfp_pad_transport_output)) * E)) /\ exists ff_q_mdr_pfp_pad_transport_outputn. D = ff_q_mdr_pfp_pad_transport_outputn * S ((S (mdr_i_pfp_pad_transport_output)) * E) + (mdr_a_pfp_pad_transport_output)))) -> (((forall pfp_repeat_index_pad_transport_oldzeros. (exists pfa_gap_pad_transport_oldzerosindex. pfa_gap_pad_transport_oldzerosindex + S (pfp_repeat_index_pad_transport_oldzeros) = (t)) -> (((exists ff_h_pfp_pad_transport_oldzerosentry. ff_h_pfp_pad_transport_oldzerosentry + S (0) = S ((S (pfp_repeat_index_pad_transport_oldzeros)) * e)) /\ exists ff_q_pfp_pad_transport_oldzerosentry. d = ff_q_pfp_pad_transport_oldzerosentry * S ((S (pfp_repeat_index_pad_transport_oldzeros)) * e) + (0)))) /\ ((forall pfrep_index_pad_transport_old pfrep_value_pad_transport_old. (exists pfa_gap_pad_transport_oldbound. pfa_gap_pad_transport_oldbound + S (pfrep_index_pad_transport_old) = (L)) -> (((exists ff_h_pfp_pad_transport_oldinput. ff_h_pfp_pad_transport_oldinput + S (pfrep_value_pad_transport_old) = S ((S (pfrep_index_pad_transport_old)) * c)) /\ exists ff_q_pfp_pad_transport_oldinput. b = ff_q_pfp_pad_transport_oldinput * S ((S (pfrep_index_pad_transport_old)) * c) + (pfrep_value_pad_transport_old))) -> (((exists ff_h_pfp_pad_transport_oldoutput. ff_h_pfp_pad_transport_oldoutput + S (pfrep_value_pad_transport_old) = S ((S ((t)+pfrep_index_pad_transport_old)) * e)) /\ exists ff_q_pfp_pad_transport_oldoutput. d = ff_q_pfp_pad_transport_oldoutput * S ((S ((t)+pfrep_index_pad_transport_old)) * e) + (pfrep_value_pad_transport_old))))))) -> (((forall pfp_repeat_index_pad_transport_newzeros. (exists pfa_gap_pad_transport_newzerosindex. pfa_gap_pad_transport_newzerosindex + S (pfp_repeat_index_pad_transport_newzeros) = (t)) -> (((exists ff_h_pfp_pad_transport_newzerosentry. ff_h_pfp_pad_transport_newzerosentry + S (0) = S ((S (pfp_repeat_index_pad_transport_newzeros)) * E)) /\ exists ff_q_pfp_pad_transport_newzerosentry. D = ff_q_pfp_pad_transport_newzerosentry * S ((S (pfp_repeat_index_pad_transport_newzeros)) * E) + (0)))) /\ ((forall pfrep_index_pad_transport_new pfrep_value_pad_transport_new. (exists pfa_gap_pad_transport_newbound. pfa_gap_pad_transport_newbound + S (pfrep_index_pad_transport_new) = (L)) -> (((exists ff_h_pfp_pad_transport_newinput. ff_h_pfp_pad_transport_newinput + S (pfrep_value_pad_transport_new) = S ((S (pfrep_index_pad_transport_new)) * C)) /\ exists ff_q_pfp_pad_transport_newinput. B = ff_q_pfp_pad_transport_newinput * S ((S (pfrep_index_pad_transport_new)) * C) + (pfrep_value_pad_transport_new))) -> (((exists ff_h_pfp_pad_transport_newoutput. ff_h_pfp_pad_transport_newoutput + S (pfrep_value_pad_transport_new) = S ((S ((t)+pfrep_index_pad_transport_new)) * E)) /\ exists ff_q_pfp_pad_transport_newoutput. D = ff_q_pfp_pad_transport_newoutput * S ((S ((t)+pfrep_index_pad_transport_new)) * E) + (pfrep_value_pad_transport_new)))))))
intro bintro cintro Bintro Cintro Lintro tintro dintro eintro Dintro Eintro hiintro hointro hcases hhave hr : forall mdr_i_pfp_pad_transport_reverse mdr_a_pfp_pad_transport_reverse. (exists mdr_gap_pfp_pad_transport_reverseb. mdr_gap_pfp_pad_transport_reverseb + S (mdr_i_pfp_pad_transport_reverse) = (L)) -> (((exists ff_h_mdr_pfp_pad_transport_reverseo. ff_h_mdr_pfp_pad_transport_reverseo + S (mdr_a_pfp_pad_transport_reverse) = S ((S (mdr_i_pfp_pad_transport_reverse)) * C)) /\ exists ff_q_mdr_pfp_pad_transport_reverseo. B = ff_q_mdr_pfp_pad_transport_reverseo * S ((S (mdr_i_pfp_pad_transport_reverse)) * C) + (mdr_a_pfp_pad_transport_reverse))) -> (((exists ff_h_mdr_pfp_pad_transport_reversen. ff_h_mdr_pfp_pad_transport_reversen + S (mdr_a_pfp_pad_transport_reverse) = S ((S (mdr_i_pfp_pad_transport_reverse)) * c)) /\ exists ff_q_mdr_pfp_pad_transport_reversen. b = ff_q_mdr_pfp_pad_transport_reversen * S ((S (mdr_i_pfp_pad_transport_reverse)) * c) + (mdr_a_pfp_pad_transport_reverse)))specialize matrix_rank_prefix_equality_symmetric (b)specialize matrix_rank_prefix_equality_symmetric (c)specialize matrix_rank_prefix_equality_symmetric (B)specialize matrix_rank_prefix_equality_symmetric (C)specialize matrix_rank_prefix_equality_symmetric (L)apply matrix_rank_prefix_equality_symmetricexact hisplitintro iintro hindexspecialize ho (i)specialize ho (0)apply hospecialize lt_of_lt_of_le (i)specialize lt_of_lt_of_le (t)specialize lt_of_lt_of_le (t+L)apply lt_of_lt_of_leexact hindexspecialize le_add_right (t)specialize le_add_right (L)apply le_add_rightspecialize h_left (i)apply h_leftexact hindexintro iintro aintro hindexintro haspecialize ho (t+i)specialize ho (a)apply hospecialize matrix_recursive_lt_add_left (i)specialize matrix_recursive_lt_add_left (L)specialize matrix_recursive_lt_add_left (t)apply matrix_recursive_lt_add_leftexact hindexspecialize h_right (i)specialize h_right (a)apply h_rightexact hindexspecialize hr (i)specialize hr (a)apply hrexact hindexexact ha
prime_field_polynomial_equivalent_implies_left_pad · unchanged support, not a new admission
forall b c L t d e. (forall pfrep_power_converse_input pfrep_left_converse_input pfrep_right_converse_input. ((exists pfrep_position_converse_inputfirst. ((pfrep_position_converse_inputfirst+S (pfrep_power_converse_input)=(L)) /\ ((((exists ff_h_pfp_converse_inputfirstentry. ff_h_pfp_converse_inputfirstentry + S (pfrep_left_converse_input) = S ((S (pfrep_position_converse_inputfirst)) * c)) /\ exists ff_q_pfp_converse_inputfirstentry. b = ff_q_pfp_converse_inputfirstentry * S ((S (pfrep_position_converse_inputfirst)) * c) + (pfrep_left_converse_input)))))) \/ (((exists pfrep_gap_converse_inputfirstoutside. pfrep_gap_converse_inputfirstoutside+(L)=(pfrep_power_converse_input)) /\ (((pfrep_left_converse_input)=0))))) -> ((exists pfrep_position_converse_inputsecond. ((pfrep_position_converse_inputsecond+S (pfrep_power_converse_input)=(t+L)) /\ ((((exists ff_h_pfp_converse_inputsecondentry. ff_h_pfp_converse_inputsecondentry + S (pfrep_right_converse_input) = S ((S (pfrep_position_converse_inputsecond)) * e)) /\ exists ff_q_pfp_converse_inputsecondentry. d = ff_q_pfp_converse_inputsecondentry * S ((S (pfrep_position_converse_inputsecond)) * e) + (pfrep_right_converse_input)))))) \/ (((exists pfrep_gap_converse_inputsecondoutside. pfrep_gap_converse_inputsecondoutside+(t+L)=(pfrep_power_converse_input)) /\ (((pfrep_right_converse_input)=0))))) -> pfrep_left_converse_input=pfrep_right_converse_input) -> (((forall pfp_repeat_index_converse_resultzeros. (exists pfa_gap_converse_resultzerosindex. pfa_gap_converse_resultzerosindex + S (pfp_repeat_index_converse_resultzeros) = (t)) -> (((exists ff_h_pfp_converse_resultzerosentry. ff_h_pfp_converse_resultzerosentry + S (0) = S ((S (pfp_repeat_index_converse_resultzeros)) * e)) /\ exists ff_q_pfp_converse_resultzerosentry. d = ff_q_pfp_converse_resultzerosentry * S ((S (pfp_repeat_index_converse_resultzeros)) * e) + (0)))) /\ ((forall pfrep_index_converse_result pfrep_value_converse_result. (exists pfa_gap_converse_resultbound. pfa_gap_converse_resultbound + S (pfrep_index_converse_result) = (L)) -> (((exists ff_h_pfp_converse_resultinput. ff_h_pfp_converse_resultinput + S (pfrep_value_converse_result) = S ((S (pfrep_index_converse_result)) * c)) /\ exists ff_q_pfp_converse_resultinput. b = ff_q_pfp_converse_resultinput * S ((S (pfrep_index_converse_result)) * c) + (pfrep_value_converse_result))) -> (((exists ff_h_pfp_converse_resultoutput. ff_h_pfp_converse_resultoutput + S (pfrep_value_converse_result) = S ((S ((t)+pfrep_index_converse_result)) * e)) /\ exists ff_q_pfp_converse_resultoutput. d = ff_q_pfp_converse_resultoutput * S ((S ((t)+pfrep_index_converse_result)) * e) + (pfrep_value_converse_result)))))))
intro bintro cintro Lintro tintro dintro eintro hehave hp : exists B C. (((forall pfp_repeat_index_converse_constructedzeros. (exists pfa_gap_converse_constructedzerosindex. pfa_gap_converse_constructedzerosindex + S (pfp_repeat_index_converse_constructedzeros) = (t)) -> (((exists ff_h_pfp_converse_constructedzerosentry. ff_h_pfp_converse_constructedzerosentry + S (0) = S ((S (pfp_repeat_index_converse_constructedzeros)) * C)) /\ exists ff_q_pfp_converse_constructedzerosentry. B = ff_q_pfp_converse_constructedzerosentry * S ((S (pfp_repeat_index_converse_constructedzeros)) * C) + (0)))) /\ ((forall pfrep_index_converse_constructed pfrep_value_converse_constructed. (exists pfa_gap_converse_constructedbound. pfa_gap_converse_constructedbound + S (pfrep_index_converse_constructed) = (L)) -> (((exists ff_h_pfp_converse_constructedinput. ff_h_pfp_converse_constructedinput + S (pfrep_value_converse_constructed) = S ((S (pfrep_index_converse_constructed)) * c)) /\ exists ff_q_pfp_converse_constructedinput. b = ff_q_pfp_converse_constructedinput * S ((S (pfrep_index_converse_constructed)) * c) + (pfrep_value_converse_constructed))) -> (((exists ff_h_pfp_converse_constructedoutput. ff_h_pfp_converse_constructedoutput + S (pfrep_value_converse_constructed) = S ((S ((t)+pfrep_index_converse_constructed)) * C)) /\ exists ff_q_pfp_converse_constructedoutput. B = ff_q_pfp_converse_constructedoutput * S ((S ((t)+pfrep_index_converse_constructed)) * C) + (pfrep_value_converse_constructed)))))))specialize prime_field_polynomial_left_pad_exists (b)specialize prime_field_polynomial_left_pad_exists (c)specialize prime_field_polynomial_left_pad_exists (t)specialize prime_field_polynomial_left_pad_exists (L)apply prime_field_polynomial_left_pad_existscases hpcases hp_witnesshave hs : forall pfrep_power_converse_source pfrep_left_converse_source pfrep_right_converse_source. ((exists pfrep_position_converse_sourcefirst. ((pfrep_position_converse_sourcefirst+S (pfrep_power_converse_source)=(L)) /\ ((((exists ff_h_pfp_converse_sourcefirstentry. ff_h_pfp_converse_sourcefirstentry + S (pfrep_left_converse_source) = S ((S (pfrep_position_converse_sourcefirst)) * c)) /\ exists ff_q_pfp_converse_sourcefirstentry. b = ff_q_pfp_converse_sourcefirstentry * S ((S (pfrep_position_converse_sourcefirst)) * c) + (pfrep_left_converse_source)))))) \/ (((exists pfrep_gap_converse_sourcefirstoutside. pfrep_gap_converse_sourcefirstoutside+(L)=(pfrep_power_converse_source)) /\ (((pfrep_left_converse_source)=0))))) -> ((exists pfrep_position_converse_sourcesecond. ((pfrep_position_converse_sourcesecond+S (pfrep_power_converse_source)=(t+L)) /\ ((((exists ff_h_pfp_converse_sourcesecondentry. ff_h_pfp_converse_sourcesecondentry + S (pfrep_right_converse_source) = S ((S (pfrep_position_converse_sourcesecond)) * x1)) /\ exists ff_q_pfp_converse_sourcesecondentry. x = ff_q_pfp_converse_sourcesecondentry * S ((S (pfrep_position_converse_sourcesecond)) * x1) + (pfrep_right_converse_source)))))) \/ (((exists pfrep_gap_converse_sourcesecondoutside. pfrep_gap_converse_sourcesecondoutside+(t+L)=(pfrep_power_converse_source)) /\ (((pfrep_right_converse_source)=0))))) -> pfrep_left_converse_source=pfrep_right_converse_sourcespecialize prime_field_polynomial_left_pad_equivalent (b)specialize prime_field_polynomial_left_pad_equivalent (c)specialize prime_field_polynomial_left_pad_equivalent (L)specialize prime_field_polynomial_left_pad_equivalent (t)specialize prime_field_polynomial_left_pad_equivalent (x)specialize prime_field_polynomial_left_pad_equivalent (x1)apply prime_field_polynomial_left_pad_equivalentexact hp_witness_witnesshave hr : forall pfrep_power_converse_reverse pfrep_left_converse_reverse pfrep_right_converse_reverse. ((exists pfrep_position_converse_reversefirst. ((pfrep_position_converse_reversefirst+S (pfrep_power_converse_reverse)=(t+L)) /\ ((((exists ff_h_pfp_converse_reversefirstentry. ff_h_pfp_converse_reversefirstentry + S (pfrep_left_converse_reverse) = S ((S (pfrep_position_converse_reversefirst)) * x1)) /\ exists ff_q_pfp_converse_reversefirstentry. x = ff_q_pfp_converse_reversefirstentry * S ((S (pfrep_position_converse_reversefirst)) * x1) + (pfrep_left_converse_reverse)))))) \/ (((exists pfrep_gap_converse_reversefirstoutside. pfrep_gap_converse_reversefirstoutside+(t+L)=(pfrep_power_converse_reverse)) /\ (((pfrep_left_converse_reverse)=0))))) -> ((exists pfrep_position_converse_reversesecond. ((pfrep_position_converse_reversesecond+S (pfrep_power_converse_reverse)=(L)) /\ ((((exists ff_h_pfp_converse_reversesecondentry. ff_h_pfp_converse_reversesecondentry + S (pfrep_right_converse_reverse) = S ((S (pfrep_position_converse_reversesecond)) * c)) /\ exists ff_q_pfp_converse_reversesecondentry. b = ff_q_pfp_converse_reversesecondentry * S ((S (pfrep_position_converse_reversesecond)) * c) + (pfrep_right_converse_reverse)))))) \/ (((exists pfrep_gap_converse_reversesecondoutside. pfrep_gap_converse_reversesecondoutside+(L)=(pfrep_power_converse_reverse)) /\ (((pfrep_right_converse_reverse)=0))))) -> pfrep_left_converse_reverse=pfrep_right_converse_reversespecialize prime_field_polynomial_equivalent_symmetric (b)specialize prime_field_polynomial_equivalent_symmetric (c)specialize prime_field_polynomial_equivalent_symmetric (L)specialize prime_field_polynomial_equivalent_symmetric (x)specialize prime_field_polynomial_equivalent_symmetric (x1)specialize prime_field_polynomial_equivalent_symmetric (t+L)apply prime_field_polynomial_equivalent_symmetricexact hshave ht : forall pfrep_power_converse_target pfrep_left_converse_target pfrep_right_converse_target. ((exists pfrep_position_converse_targetfirst. ((pfrep_position_converse_targetfirst+S (pfrep_power_converse_target)=(t+L)) /\ ((((exists ff_h_pfp_converse_targetfirstentry. ff_h_pfp_converse_targetfirstentry + S (pfrep_left_converse_target) = S ((S (pfrep_position_converse_targetfirst)) * x1)) /\ exists ff_q_pfp_converse_targetfirstentry. x = ff_q_pfp_converse_targetfirstentry * S ((S (pfrep_position_converse_targetfirst)) * x1) + (pfrep_left_converse_target)))))) \/ (((exists pfrep_gap_converse_targetfirstoutside. pfrep_gap_converse_targetfirstoutside+(t+L)=(pfrep_power_converse_target)) /\ (((pfrep_left_converse_target)=0))))) -> ((exists pfrep_position_converse_targetsecond. ((pfrep_position_converse_targetsecond+S (pfrep_power_converse_target)=(t+L)) /\ ((((exists ff_h_pfp_converse_targetsecondentry. ff_h_pfp_converse_targetsecondentry + S (pfrep_right_converse_target) = S ((S (pfrep_position_converse_targetsecond)) * e)) /\ exists ff_q_pfp_converse_targetsecondentry. d = ff_q_pfp_converse_targetsecondentry * S ((S (pfrep_position_converse_targetsecond)) * e) + (pfrep_right_converse_target)))))) \/ (((exists pfrep_gap_converse_targetsecondoutside. pfrep_gap_converse_targetsecondoutside+(t+L)=(pfrep_power_converse_target)) /\ (((pfrep_right_converse_target)=0))))) -> pfrep_left_converse_target=pfrep_right_converse_targetspecialize prime_field_polynomial_equivalent_transitive (x)specialize prime_field_polynomial_equivalent_transitive (x1)specialize prime_field_polynomial_equivalent_transitive (t+L)specialize prime_field_polynomial_equivalent_transitive (b)specialize prime_field_polynomial_equivalent_transitive (c)specialize prime_field_polynomial_equivalent_transitive (L)specialize prime_field_polynomial_equivalent_transitive (d)specialize prime_field_polynomial_equivalent_transitive (e)specialize prime_field_polynomial_equivalent_transitive (t+L)apply prime_field_polynomial_equivalent_transitiveexact hrexact hehave hv : forall mdr_i_pfp_converse_values mdr_a_pfp_converse_values. (exists mdr_gap_pfp_converse_valuesb. mdr_gap_pfp_converse_valuesb + S (mdr_i_pfp_converse_values) = (t+L)) -> (((exists ff_h_mdr_pfp_converse_valueso. ff_h_mdr_pfp_converse_valueso + S (mdr_a_pfp_converse_values) = S ((S (mdr_i_pfp_converse_values)) * x1)) /\ exists ff_q_mdr_pfp_converse_valueso. x = ff_q_mdr_pfp_converse_valueso * S ((S (mdr_i_pfp_converse_values)) * x1) + (mdr_a_pfp_converse_values))) -> (((exists ff_h_mdr_pfp_converse_valuesn. ff_h_mdr_pfp_converse_valuesn + S (mdr_a_pfp_converse_values) = S ((S (mdr_i_pfp_converse_values)) * e)) /\ exists ff_q_mdr_pfp_converse_valuesn. d = ff_q_mdr_pfp_converse_valuesn * S ((S (mdr_i_pfp_converse_values)) * e) + (mdr_a_pfp_converse_values)))specialize prime_field_polynomial_equivalent_implies_equal_same_length (x)specialize prime_field_polynomial_equivalent_implies_equal_same_length (x1)specialize prime_field_polynomial_equivalent_implies_equal_same_length (d)specialize prime_field_polynomial_equivalent_implies_equal_same_length (e)specialize prime_field_polynomial_equivalent_implies_equal_same_length (t+L)apply prime_field_polynomial_equivalent_implies_equal_same_lengthexact htspecialize prime_field_polynomial_left_pad_transport (b)specialize prime_field_polynomial_left_pad_transport (c)specialize prime_field_polynomial_left_pad_transport (b)specialize prime_field_polynomial_left_pad_transport (c)specialize prime_field_polynomial_left_pad_transport (L)specialize prime_field_polynomial_left_pad_transport (t)specialize prime_field_polynomial_left_pad_transport (x)specialize prime_field_polynomial_left_pad_transport (x1)specialize prime_field_polynomial_left_pad_transport (d)specialize prime_field_polynomial_left_pad_transport (e)apply prime_field_polynomial_left_pad_transportintro iintro aintro hiintro haexact haexact hvexact hp_witness_witness
prime_field_polynomial_add_left_pad_transport · unchanged support, not a new admission
forall p ab ac bb bc cb cc L t AB AC BB BC CB CC. (~((p) = 1) /\ forall pfa_factor_left_pad_operation_prime pfa_factor_right_pad_operation_prime. (p) = pfa_factor_left_pad_operation_prime * pfa_factor_right_pad_operation_prime -> pfa_factor_left_pad_operation_prime = 1 \/ pfa_factor_right_pad_operation_prime = 1) -> (forall pfp_index_pad_operation_old. (exists pfa_gap_pad_operation_oldindex. pfa_gap_pad_operation_oldindex + S (pfp_index_pad_operation_old) = (L)) -> exists pfp_left_pad_operation_old pfp_right_pad_operation_old pfp_value_pad_operation_old. ((((exists ff_h_pfp_pad_operation_oldleft. ff_h_pfp_pad_operation_oldleft + S (pfp_left_pad_operation_old) = S ((S (pfp_index_pad_operation_old)) * ac)) /\ exists ff_q_pfp_pad_operation_oldleft. ab = ff_q_pfp_pad_operation_oldleft * S ((S (pfp_index_pad_operation_old)) * ac) + (pfp_left_pad_operation_old))) /\ (((((exists ff_h_pfp_pad_operation_oldright. ff_h_pfp_pad_operation_oldright + S (pfp_right_pad_operation_old) = S ((S (pfp_index_pad_operation_old)) * bc)) /\ exists ff_q_pfp_pad_operation_oldright. bb = ff_q_pfp_pad_operation_oldright * S ((S (pfp_index_pad_operation_old)) * bc) + (pfp_right_pad_operation_old))) /\ (((((exists ff_h_pfp_pad_operation_oldtarget. ff_h_pfp_pad_operation_oldtarget + S (pfp_value_pad_operation_old) = S ((S (pfp_index_pad_operation_old)) * cc)) /\ exists ff_q_pfp_pad_operation_oldtarget. cb = ff_q_pfp_pad_operation_oldtarget * S ((S (pfp_index_pad_operation_old)) * cc) + (pfp_value_pad_operation_old))) /\ ((((exists pfa_gap_pad_operation_oldoperationleft. pfa_gap_pad_operation_oldoperationleft + S (pfp_left_pad_operation_old) = (p)) /\ (((exists pfa_gap_pad_operation_oldoperationright. pfa_gap_pad_operation_oldoperationright + S (pfp_right_pad_operation_old) = (p)) /\ ((((exists pfa_gap_pad_operation_oldoperationresultbound. pfa_gap_pad_operation_oldoperationresultbound + S (pfp_value_pad_operation_old) = (p)) /\ ((exists pfa_offset_left_pad_operation_oldoperationresultcongruence pfa_offset_right_pad_operation_oldoperationresultcongruence. ((pfp_left_pad_operation_old) + (pfp_right_pad_operation_old)) + (p) * pfa_offset_left_pad_operation_oldoperationresultcongruence = (pfp_value_pad_operation_old) + (p) * pfa_offset_right_pad_operation_oldoperationresultcongruence)))))))))))))))) -> (((forall pfp_repeat_index_pad_operation_abzeros. (exists pfa_gap_pad_operation_abzerosindex. pfa_gap_pad_operation_abzerosindex + S (pfp_repeat_index_pad_operation_abzeros) = (t)) -> (((exists ff_h_pfp_pad_operation_abzerosentry. ff_h_pfp_pad_operation_abzerosentry + S (0) = S ((S (pfp_repeat_index_pad_operation_abzeros)) * AC)) /\ exists ff_q_pfp_pad_operation_abzerosentry. AB = ff_q_pfp_pad_operation_abzerosentry * S ((S (pfp_repeat_index_pad_operation_abzeros)) * AC) + (0)))) /\ ((forall pfrep_index_pad_operation_ab pfrep_value_pad_operation_ab. (exists pfa_gap_pad_operation_abbound. pfa_gap_pad_operation_abbound + S (pfrep_index_pad_operation_ab) = (L)) -> (((exists ff_h_pfp_pad_operation_abinput. ff_h_pfp_pad_operation_abinput + S (pfrep_value_pad_operation_ab) = S ((S (pfrep_index_pad_operation_ab)) * ac)) /\ exists ff_q_pfp_pad_operation_abinput. ab = ff_q_pfp_pad_operation_abinput * S ((S (pfrep_index_pad_operation_ab)) * ac) + (pfrep_value_pad_operation_ab))) -> (((exists ff_h_pfp_pad_operation_aboutput. ff_h_pfp_pad_operation_aboutput + S (pfrep_value_pad_operation_ab) = S ((S ((t)+pfrep_index_pad_operation_ab)) * AC)) /\ exists ff_q_pfp_pad_operation_aboutput. AB = ff_q_pfp_pad_operation_aboutput * S ((S ((t)+pfrep_index_pad_operation_ab)) * AC) + (pfrep_value_pad_operation_ab))))))) -> (((forall pfp_repeat_index_pad_operation_bbzeros. (exists pfa_gap_pad_operation_bbzerosindex. pfa_gap_pad_operation_bbzerosindex + S (pfp_repeat_index_pad_operation_bbzeros) = (t)) -> (((exists ff_h_pfp_pad_operation_bbzerosentry. ff_h_pfp_pad_operation_bbzerosentry + S (0) = S ((S (pfp_repeat_index_pad_operation_bbzeros)) * BC)) /\ exists ff_q_pfp_pad_operation_bbzerosentry. BB = ff_q_pfp_pad_operation_bbzerosentry * S ((S (pfp_repeat_index_pad_operation_bbzeros)) * BC) + (0)))) /\ ((forall pfrep_index_pad_operation_bb pfrep_value_pad_operation_bb. (exists pfa_gap_pad_operation_bbbound. pfa_gap_pad_operation_bbbound + S (pfrep_index_pad_operation_bb) = (L)) -> (((exists ff_h_pfp_pad_operation_bbinput. ff_h_pfp_pad_operation_bbinput + S (pfrep_value_pad_operation_bb) = S ((S (pfrep_index_pad_operation_bb)) * bc)) /\ exists ff_q_pfp_pad_operation_bbinput. bb = ff_q_pfp_pad_operation_bbinput * S ((S (pfrep_index_pad_operation_bb)) * bc) + (pfrep_value_pad_operation_bb))) -> (((exists ff_h_pfp_pad_operation_bboutput. ff_h_pfp_pad_operation_bboutput + S (pfrep_value_pad_operation_bb) = S ((S ((t)+pfrep_index_pad_operation_bb)) * BC)) /\ exists ff_q_pfp_pad_operation_bboutput. BB = ff_q_pfp_pad_operation_bboutput * S ((S ((t)+pfrep_index_pad_operation_bb)) * BC) + (pfrep_value_pad_operation_bb))))))) -> (((forall pfp_repeat_index_pad_operation_cbzeros. (exists pfa_gap_pad_operation_cbzerosindex. pfa_gap_pad_operation_cbzerosindex + S (pfp_repeat_index_pad_operation_cbzeros) = (t)) -> (((exists ff_h_pfp_pad_operation_cbzerosentry. ff_h_pfp_pad_operation_cbzerosentry + S (0) = S ((S (pfp_repeat_index_pad_operation_cbzeros)) * CC)) /\ exists ff_q_pfp_pad_operation_cbzerosentry. CB = ff_q_pfp_pad_operation_cbzerosentry * S ((S (pfp_repeat_index_pad_operation_cbzeros)) * CC) + (0)))) /\ ((forall pfrep_index_pad_operation_cb pfrep_value_pad_operation_cb. (exists pfa_gap_pad_operation_cbbound. pfa_gap_pad_operation_cbbound + S (pfrep_index_pad_operation_cb) = (L)) -> (((exists ff_h_pfp_pad_operation_cbinput. ff_h_pfp_pad_operation_cbinput + S (pfrep_value_pad_operation_cb) = S ((S (pfrep_index_pad_operation_cb)) * cc)) /\ exists ff_q_pfp_pad_operation_cbinput. cb = ff_q_pfp_pad_operation_cbinput * S ((S (pfrep_index_pad_operation_cb)) * cc) + (pfrep_value_pad_operation_cb))) -> (((exists ff_h_pfp_pad_operation_cboutput. ff_h_pfp_pad_operation_cboutput + S (pfrep_value_pad_operation_cb) = S ((S ((t)+pfrep_index_pad_operation_cb)) * CC)) /\ exists ff_q_pfp_pad_operation_cboutput. CB = ff_q_pfp_pad_operation_cboutput * S ((S ((t)+pfrep_index_pad_operation_cb)) * CC) + (pfrep_value_pad_operation_cb))))))) -> (forall pfp_index_pad_operation_new. (exists pfa_gap_pad_operation_newindex. pfa_gap_pad_operation_newindex + S (pfp_index_pad_operation_new) = (t+L)) -> exists pfp_left_pad_operation_new pfp_right_pad_operation_new pfp_value_pad_operation_new. ((((exists ff_h_pfp_pad_operation_newleft. ff_h_pfp_pad_operation_newleft + S (pfp_left_pad_operation_new) = S ((S (pfp_index_pad_operation_new)) * AC)) /\ exists ff_q_pfp_pad_operation_newleft. AB = ff_q_pfp_pad_operation_newleft * S ((S (pfp_index_pad_operation_new)) * AC) + (pfp_left_pad_operation_new))) /\ (((((exists ff_h_pfp_pad_operation_newright. ff_h_pfp_pad_operation_newright + S (pfp_right_pad_operation_new) = S ((S (pfp_index_pad_operation_new)) * BC)) /\ exists ff_q_pfp_pad_operation_newright. BB = ff_q_pfp_pad_operation_newright * S ((S (pfp_index_pad_operation_new)) * BC) + (pfp_right_pad_operation_new))) /\ (((((exists ff_h_pfp_pad_operation_newtarget. ff_h_pfp_pad_operation_newtarget + S (pfp_value_pad_operation_new) = S ((S (pfp_index_pad_operation_new)) * CC)) /\ exists ff_q_pfp_pad_operation_newtarget. CB = ff_q_pfp_pad_operation_newtarget * S ((S (pfp_index_pad_operation_new)) * CC) + (pfp_value_pad_operation_new))) /\ ((((exists pfa_gap_pad_operation_newoperationleft. pfa_gap_pad_operation_newoperationleft + S (pfp_left_pad_operation_new) = (p)) /\ (((exists pfa_gap_pad_operation_newoperationright. pfa_gap_pad_operation_newoperationright + S (pfp_right_pad_operation_new) = (p)) /\ ((((exists pfa_gap_pad_operation_newoperationresultbound. pfa_gap_pad_operation_newoperationresultbound + S (pfp_value_pad_operation_new) = (p)) /\ ((exists pfa_offset_left_pad_operation_newoperationresultcongruence pfa_offset_right_pad_operation_newoperationresultcongruence. ((pfp_left_pad_operation_new) + (pfp_right_pad_operation_new)) + (p) * pfa_offset_left_pad_operation_newoperationresultcongruence = (pfp_value_pad_operation_new) + (p) * pfa_offset_right_pad_operation_newoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro tintro ABintro ACintro BBintro BCintro CBintro CCintro hpintro hopintro h0intro h1intro h2cases h0cases h1cases h2intro iintro hihave hc : (exists pfa_gap_pad_operation_zero. pfa_gap_pad_operation_zero + S (i) = (t)) \/ exists j. (((exists pfa_gap_pad_operation_source. pfa_gap_pad_operation_source + S (j) = (L)) /\ ((i=t+j))))specialize prime_field_polynomial_left_pad_index_cases (t)specialize prime_field_polynomial_left_pad_index_cases (L)specialize prime_field_polynomial_left_pad_index_cases (i)apply prime_field_polynomial_left_pad_index_casesexact hicases hcexists 0exists 0exists 0splitspecialize h0_left (i)apply h0_leftexact hc_leftsplitspecialize h1_left (i)apply h1_leftexact hc_leftsplitspecialize h2_left (i)apply h2_leftexact hc_leftspecialize prime_field_add_zero_right (p)specialize prime_field_add_zero_right (0)apply prime_field_add_zero_rightexact hpspecialize prime_field_zero_below_prime (p)apply prime_field_zero_below_primeexact hpcases hc_rightcases hc_right_witnesshave hv : exists a b r. (((((exists ff_h_pfp_pad_operation_a. ff_h_pfp_pad_operation_a + S (a) = S ((S (x)) * ac)) /\ exists ff_q_pfp_pad_operation_a. ab = ff_q_pfp_pad_operation_a * S ((S (x)) * ac) + (a))) /\ (((((exists ff_h_pfp_pad_operation_b. ff_h_pfp_pad_operation_b + S (b) = S ((S (x)) * bc)) /\ exists ff_q_pfp_pad_operation_b. bb = ff_q_pfp_pad_operation_b * S ((S (x)) * bc) + (b))) /\ (((((exists ff_h_pfp_pad_operation_r. ff_h_pfp_pad_operation_r + S (r) = S ((S (x)) * cc)) /\ exists ff_q_pfp_pad_operation_r. cb = ff_q_pfp_pad_operation_r * S ((S (x)) * cc) + (r))) /\ ((((exists pfa_gap_pad_operation_pointleft. pfa_gap_pad_operation_pointleft + S (a) = (p)) /\ (((exists pfa_gap_pad_operation_pointright. pfa_gap_pad_operation_pointright + S (b) = (p)) /\ ((((exists pfa_gap_pad_operation_pointresultbound. pfa_gap_pad_operation_pointresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_pad_operation_pointresultcongruence pfa_offset_right_pad_operation_pointresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_pad_operation_pointresultcongruence = (r) + (p) * pfa_offset_right_pad_operation_pointresultcongruence))))))))))))))))specialize hop (x)apply hopexact hc_right_witness_leftcases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightexists x1exists x2exists x3splitrewrite hc_right_witness_rightrewrite hc_right_witness_rightspecialize h0_right (x)specialize h0_right (x1)apply h0_rightexact hc_right_witness_leftexact hv_witness_witness_witness_leftsplitrewrite hc_right_witness_rightrewrite hc_right_witness_rightspecialize h1_right (x)specialize h1_right (x2)apply h1_rightexact hc_right_witness_leftexact hv_witness_witness_witness_right_leftsplitrewrite hc_right_witness_rightrewrite hc_right_witness_rightspecialize h2_right (x)specialize h2_right (x3)apply h2_rightexact hc_right_witness_leftexact hv_witness_witness_witness_right_right_leftexact hv_witness_witness_witness_right_right_right
prime_field_polynomial_add_functional · unchanged support, not a new admission
forall p ab ac bb bc cb cc db dc l. (forall pfp_index_add_functional_first. (exists pfa_gap_add_functional_firstindex. pfa_gap_add_functional_firstindex + S (pfp_index_add_functional_first) = (l)) -> exists pfp_left_add_functional_first pfp_right_add_functional_first pfp_value_add_functional_first. ((((exists ff_h_pfp_add_functional_firstleft. ff_h_pfp_add_functional_firstleft + S (pfp_left_add_functional_first) = S ((S (pfp_index_add_functional_first)) * ac)) /\ exists ff_q_pfp_add_functional_firstleft. ab = ff_q_pfp_add_functional_firstleft * S ((S (pfp_index_add_functional_first)) * ac) + (pfp_left_add_functional_first))) /\ (((((exists ff_h_pfp_add_functional_firstright. ff_h_pfp_add_functional_firstright + S (pfp_right_add_functional_first) = S ((S (pfp_index_add_functional_first)) * bc)) /\ exists ff_q_pfp_add_functional_firstright. bb = ff_q_pfp_add_functional_firstright * S ((S (pfp_index_add_functional_first)) * bc) + (pfp_right_add_functional_first))) /\ (((((exists ff_h_pfp_add_functional_firsttarget. ff_h_pfp_add_functional_firsttarget + S (pfp_value_add_functional_first) = S ((S (pfp_index_add_functional_first)) * cc)) /\ exists ff_q_pfp_add_functional_firsttarget. cb = ff_q_pfp_add_functional_firsttarget * S ((S (pfp_index_add_functional_first)) * cc) + (pfp_value_add_functional_first))) /\ ((((exists pfa_gap_add_functional_firstoperationleft. pfa_gap_add_functional_firstoperationleft + S (pfp_left_add_functional_first) = (p)) /\ (((exists pfa_gap_add_functional_firstoperationright. pfa_gap_add_functional_firstoperationright + S (pfp_right_add_functional_first) = (p)) /\ ((((exists pfa_gap_add_functional_firstoperationresultbound. pfa_gap_add_functional_firstoperationresultbound + S (pfp_value_add_functional_first) = (p)) /\ ((exists pfa_offset_left_add_functional_firstoperationresultcongruence pfa_offset_right_add_functional_firstoperationresultcongruence. ((pfp_left_add_functional_first) + (pfp_right_add_functional_first)) + (p) * pfa_offset_left_add_functional_firstoperationresultcongruence = (pfp_value_add_functional_first) + (p) * pfa_offset_right_add_functional_firstoperationresultcongruence)))))))))))))))) -> (forall pfp_index_add_functional_second. (exists pfa_gap_add_functional_secondindex. pfa_gap_add_functional_secondindex + S (pfp_index_add_functional_second) = (l)) -> exists pfp_left_add_functional_second pfp_right_add_functional_second pfp_value_add_functional_second. ((((exists ff_h_pfp_add_functional_secondleft. ff_h_pfp_add_functional_secondleft + S (pfp_left_add_functional_second) = S ((S (pfp_index_add_functional_second)) * ac)) /\ exists ff_q_pfp_add_functional_secondleft. ab = ff_q_pfp_add_functional_secondleft * S ((S (pfp_index_add_functional_second)) * ac) + (pfp_left_add_functional_second))) /\ (((((exists ff_h_pfp_add_functional_secondright. ff_h_pfp_add_functional_secondright + S (pfp_right_add_functional_second) = S ((S (pfp_index_add_functional_second)) * bc)) /\ exists ff_q_pfp_add_functional_secondright. bb = ff_q_pfp_add_functional_secondright * S ((S (pfp_index_add_functional_second)) * bc) + (pfp_right_add_functional_second))) /\ (((((exists ff_h_pfp_add_functional_secondtarget. ff_h_pfp_add_functional_secondtarget + S (pfp_value_add_functional_second) = S ((S (pfp_index_add_functional_second)) * dc)) /\ exists ff_q_pfp_add_functional_secondtarget. db = ff_q_pfp_add_functional_secondtarget * S ((S (pfp_index_add_functional_second)) * dc) + (pfp_value_add_functional_second))) /\ ((((exists pfa_gap_add_functional_secondoperationleft. pfa_gap_add_functional_secondoperationleft + S (pfp_left_add_functional_second) = (p)) /\ (((exists pfa_gap_add_functional_secondoperationright. pfa_gap_add_functional_secondoperationright + S (pfp_right_add_functional_second) = (p)) /\ ((((exists pfa_gap_add_functional_secondoperationresultbound. pfa_gap_add_functional_secondoperationresultbound + S (pfp_value_add_functional_second) = (p)) /\ ((exists pfa_offset_left_add_functional_secondoperationresultcongruence pfa_offset_right_add_functional_secondoperationresultcongruence. ((pfp_left_add_functional_second) + (pfp_right_add_functional_second)) + (p) * pfa_offset_left_add_functional_secondoperationresultcongruence = (pfp_value_add_functional_second) + (p) * pfa_offset_right_add_functional_secondoperationresultcongruence)))))))))))))))) -> (forall mdr_i_pfp_add_functional_result mdr_a_pfp_add_functional_result. (exists mdr_gap_pfp_add_functional_resultb. mdr_gap_pfp_add_functional_resultb + S (mdr_i_pfp_add_functional_result) = (l)) -> (((exists ff_h_mdr_pfp_add_functional_resulto. ff_h_mdr_pfp_add_functional_resulto + S (mdr_a_pfp_add_functional_result) = S ((S (mdr_i_pfp_add_functional_result)) * cc)) /\ exists ff_q_mdr_pfp_add_functional_resulto. cb = ff_q_mdr_pfp_add_functional_resulto * S ((S (mdr_i_pfp_add_functional_result)) * cc) + (mdr_a_pfp_add_functional_result))) -> (((exists ff_h_mdr_pfp_add_functional_resultn. ff_h_mdr_pfp_add_functional_resultn + S (mdr_a_pfp_add_functional_result) = S ((S (mdr_i_pfp_add_functional_result)) * dc)) /\ exists ff_q_mdr_pfp_add_functional_resultn. db = ff_q_mdr_pfp_add_functional_resultn * S ((S (mdr_i_pfp_add_functional_result)) * dc) + (mdr_a_pfp_add_functional_result))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro dbintro dcintro lintro hcintro hdintro iintro rintro hiintro hrhave ha : exists a. (((exists ff_h_pfp_add_functional_a. ff_h_pfp_add_functional_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_functional_a. ab = ff_q_pfp_add_functional_a * S ((S (i)) * ac) + (a)))specialize beta_at_exists (ab)specialize beta_at_exists (ac)specialize beta_at_exists (i)apply beta_at_existscases hahave hb : exists b. (((exists ff_h_pfp_add_functional_b. ff_h_pfp_add_functional_b + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_functional_b. bb = ff_q_pfp_add_functional_b * S ((S (i)) * bc) + (b)))specialize beta_at_exists (bb)specialize beta_at_exists (bc)specialize beta_at_exists (i)apply beta_at_existscases hbhave hs : exists s. (((exists ff_h_pfp_add_functional_s. ff_h_pfp_add_functional_s + S (s) = S ((S (i)) * dc)) /\ exists ff_q_pfp_add_functional_s. db = ff_q_pfp_add_functional_s * S ((S (i)) * dc) + (s)))specialize beta_at_exists (db)specialize beta_at_exists (dc)specialize beta_at_exists (i)apply beta_at_existscases hshave heq : r=x2specialize prime_field_add_functional (p)specialize prime_field_add_functional (x)specialize prime_field_add_functional (x1)specialize prime_field_add_functional (r)specialize prime_field_add_functional (x2)apply prime_field_add_functionalspecialize prime_field_polynomial_add_entry (p)specialize prime_field_polynomial_add_entry (ab)specialize prime_field_polynomial_add_entry (ac)specialize prime_field_polynomial_add_entry (bb)specialize prime_field_polynomial_add_entry (bc)specialize prime_field_polynomial_add_entry (cb)specialize prime_field_polynomial_add_entry (cc)specialize prime_field_polynomial_add_entry (l)specialize prime_field_polynomial_add_entry (i)specialize prime_field_polynomial_add_entry (x)specialize prime_field_polynomial_add_entry (x1)specialize prime_field_polynomial_add_entry (r)apply prime_field_polynomial_add_entryexact hcexact hiexact ha_witnessexact hb_witnessexact hrspecialize prime_field_polynomial_add_entry (p)specialize prime_field_polynomial_add_entry (ab)specialize prime_field_polynomial_add_entry (ac)specialize prime_field_polynomial_add_entry (bb)specialize prime_field_polynomial_add_entry (bc)specialize prime_field_polynomial_add_entry (db)specialize prime_field_polynomial_add_entry (dc)specialize prime_field_polynomial_add_entry (l)specialize prime_field_polynomial_add_entry (i)specialize prime_field_polynomial_add_entry (x)specialize prime_field_polynomial_add_entry (x1)specialize prime_field_polynomial_add_entry (x2)apply prime_field_polynomial_add_entryexact hdexact hiexact ha_witnessexact hb_witnessexact hs_witnessrewrite heqrewrite heqexact hs_witness
prime_field_polynomial_add_left_pad_output · unchanged support, not a new admission
forall p ab ac bb bc cb cc L t AB AC BB BC CB CC. (~((p) = 1) /\ forall pfa_factor_left_add_output_prime pfa_factor_right_add_output_prime. (p) = pfa_factor_left_add_output_prime * pfa_factor_right_add_output_prime -> pfa_factor_left_add_output_prime = 1 \/ pfa_factor_right_add_output_prime = 1) -> (forall pfp_index_add_output_original. (exists pfa_gap_add_output_originalindex. pfa_gap_add_output_originalindex + S (pfp_index_add_output_original) = (L)) -> exists pfp_left_add_output_original pfp_right_add_output_original pfp_value_add_output_original. ((((exists ff_h_pfp_add_output_originalleft. ff_h_pfp_add_output_originalleft + S (pfp_left_add_output_original) = S ((S (pfp_index_add_output_original)) * ac)) /\ exists ff_q_pfp_add_output_originalleft. ab = ff_q_pfp_add_output_originalleft * S ((S (pfp_index_add_output_original)) * ac) + (pfp_left_add_output_original))) /\ (((((exists ff_h_pfp_add_output_originalright. ff_h_pfp_add_output_originalright + S (pfp_right_add_output_original) = S ((S (pfp_index_add_output_original)) * bc)) /\ exists ff_q_pfp_add_output_originalright. bb = ff_q_pfp_add_output_originalright * S ((S (pfp_index_add_output_original)) * bc) + (pfp_right_add_output_original))) /\ (((((exists ff_h_pfp_add_output_originaltarget. ff_h_pfp_add_output_originaltarget + S (pfp_value_add_output_original) = S ((S (pfp_index_add_output_original)) * cc)) /\ exists ff_q_pfp_add_output_originaltarget. cb = ff_q_pfp_add_output_originaltarget * S ((S (pfp_index_add_output_original)) * cc) + (pfp_value_add_output_original))) /\ ((((exists pfa_gap_add_output_originaloperationleft. pfa_gap_add_output_originaloperationleft + S (pfp_left_add_output_original) = (p)) /\ (((exists pfa_gap_add_output_originaloperationright. pfa_gap_add_output_originaloperationright + S (pfp_right_add_output_original) = (p)) /\ ((((exists pfa_gap_add_output_originaloperationresultbound. pfa_gap_add_output_originaloperationresultbound + S (pfp_value_add_output_original) = (p)) /\ ((exists pfa_offset_left_add_output_originaloperationresultcongruence pfa_offset_right_add_output_originaloperationresultcongruence. ((pfp_left_add_output_original) + (pfp_right_add_output_original)) + (p) * pfa_offset_left_add_output_originaloperationresultcongruence = (pfp_value_add_output_original) + (p) * pfa_offset_right_add_output_originaloperationresultcongruence)))))))))))))))) -> (((forall pfp_repeat_index_add_output_leftzeros. (exists pfa_gap_add_output_leftzerosindex. pfa_gap_add_output_leftzerosindex + S (pfp_repeat_index_add_output_leftzeros) = (t)) -> (((exists ff_h_pfp_add_output_leftzerosentry. ff_h_pfp_add_output_leftzerosentry + S (0) = S ((S (pfp_repeat_index_add_output_leftzeros)) * AC)) /\ exists ff_q_pfp_add_output_leftzerosentry. AB = ff_q_pfp_add_output_leftzerosentry * S ((S (pfp_repeat_index_add_output_leftzeros)) * AC) + (0)))) /\ ((forall pfrep_index_add_output_left pfrep_value_add_output_left. (exists pfa_gap_add_output_leftbound. pfa_gap_add_output_leftbound + S (pfrep_index_add_output_left) = (L)) -> (((exists ff_h_pfp_add_output_leftinput. ff_h_pfp_add_output_leftinput + S (pfrep_value_add_output_left) = S ((S (pfrep_index_add_output_left)) * ac)) /\ exists ff_q_pfp_add_output_leftinput. ab = ff_q_pfp_add_output_leftinput * S ((S (pfrep_index_add_output_left)) * ac) + (pfrep_value_add_output_left))) -> (((exists ff_h_pfp_add_output_leftoutput. ff_h_pfp_add_output_leftoutput + S (pfrep_value_add_output_left) = S ((S ((t)+pfrep_index_add_output_left)) * AC)) /\ exists ff_q_pfp_add_output_leftoutput. AB = ff_q_pfp_add_output_leftoutput * S ((S ((t)+pfrep_index_add_output_left)) * AC) + (pfrep_value_add_output_left))))))) -> (((forall pfp_repeat_index_add_output_rightzeros. (exists pfa_gap_add_output_rightzerosindex. pfa_gap_add_output_rightzerosindex + S (pfp_repeat_index_add_output_rightzeros) = (t)) -> (((exists ff_h_pfp_add_output_rightzerosentry. ff_h_pfp_add_output_rightzerosentry + S (0) = S ((S (pfp_repeat_index_add_output_rightzeros)) * BC)) /\ exists ff_q_pfp_add_output_rightzerosentry. BB = ff_q_pfp_add_output_rightzerosentry * S ((S (pfp_repeat_index_add_output_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_add_output_right pfrep_value_add_output_right. (exists pfa_gap_add_output_rightbound. pfa_gap_add_output_rightbound + S (pfrep_index_add_output_right) = (L)) -> (((exists ff_h_pfp_add_output_rightinput. ff_h_pfp_add_output_rightinput + S (pfrep_value_add_output_right) = S ((S (pfrep_index_add_output_right)) * bc)) /\ exists ff_q_pfp_add_output_rightinput. bb = ff_q_pfp_add_output_rightinput * S ((S (pfrep_index_add_output_right)) * bc) + (pfrep_value_add_output_right))) -> (((exists ff_h_pfp_add_output_rightoutput. ff_h_pfp_add_output_rightoutput + S (pfrep_value_add_output_right) = S ((S ((t)+pfrep_index_add_output_right)) * BC)) /\ exists ff_q_pfp_add_output_rightoutput. BB = ff_q_pfp_add_output_rightoutput * S ((S ((t)+pfrep_index_add_output_right)) * BC) + (pfrep_value_add_output_right))))))) -> (forall pfp_index_add_output_padded. (exists pfa_gap_add_output_paddedindex. pfa_gap_add_output_paddedindex + S (pfp_index_add_output_padded) = (t+L)) -> exists pfp_left_add_output_padded pfp_right_add_output_padded pfp_value_add_output_padded. ((((exists ff_h_pfp_add_output_paddedleft. ff_h_pfp_add_output_paddedleft + S (pfp_left_add_output_padded) = S ((S (pfp_index_add_output_padded)) * AC)) /\ exists ff_q_pfp_add_output_paddedleft. AB = ff_q_pfp_add_output_paddedleft * S ((S (pfp_index_add_output_padded)) * AC) + (pfp_left_add_output_padded))) /\ (((((exists ff_h_pfp_add_output_paddedright. ff_h_pfp_add_output_paddedright + S (pfp_right_add_output_padded) = S ((S (pfp_index_add_output_padded)) * BC)) /\ exists ff_q_pfp_add_output_paddedright. BB = ff_q_pfp_add_output_paddedright * S ((S (pfp_index_add_output_padded)) * BC) + (pfp_right_add_output_padded))) /\ (((((exists ff_h_pfp_add_output_paddedtarget. ff_h_pfp_add_output_paddedtarget + S (pfp_value_add_output_padded) = S ((S (pfp_index_add_output_padded)) * CC)) /\ exists ff_q_pfp_add_output_paddedtarget. CB = ff_q_pfp_add_output_paddedtarget * S ((S (pfp_index_add_output_padded)) * CC) + (pfp_value_add_output_padded))) /\ ((((exists pfa_gap_add_output_paddedoperationleft. pfa_gap_add_output_paddedoperationleft + S (pfp_left_add_output_padded) = (p)) /\ (((exists pfa_gap_add_output_paddedoperationright. pfa_gap_add_output_paddedoperationright + S (pfp_right_add_output_padded) = (p)) /\ ((((exists pfa_gap_add_output_paddedoperationresultbound. pfa_gap_add_output_paddedoperationresultbound + S (pfp_value_add_output_padded) = (p)) /\ ((exists pfa_offset_left_add_output_paddedoperationresultcongruence pfa_offset_right_add_output_paddedoperationresultcongruence. ((pfp_left_add_output_padded) + (pfp_right_add_output_padded)) + (p) * pfa_offset_left_add_output_paddedoperationresultcongruence = (pfp_value_add_output_padded) + (p) * pfa_offset_right_add_output_paddedoperationresultcongruence)))))))))))))))) -> (((forall pfp_repeat_index_add_output_resultzeros. (exists pfa_gap_add_output_resultzerosindex. pfa_gap_add_output_resultzerosindex + S (pfp_repeat_index_add_output_resultzeros) = (t)) -> (((exists ff_h_pfp_add_output_resultzerosentry. ff_h_pfp_add_output_resultzerosentry + S (0) = S ((S (pfp_repeat_index_add_output_resultzeros)) * CC)) /\ exists ff_q_pfp_add_output_resultzerosentry. CB = ff_q_pfp_add_output_resultzerosentry * S ((S (pfp_repeat_index_add_output_resultzeros)) * CC) + (0)))) /\ ((forall pfrep_index_add_output_result pfrep_value_add_output_result. (exists pfa_gap_add_output_resultbound. pfa_gap_add_output_resultbound + S (pfrep_index_add_output_result) = (L)) -> (((exists ff_h_pfp_add_output_resultinput. ff_h_pfp_add_output_resultinput + S (pfrep_value_add_output_result) = S ((S (pfrep_index_add_output_result)) * cc)) /\ exists ff_q_pfp_add_output_resultinput. cb = ff_q_pfp_add_output_resultinput * S ((S (pfrep_index_add_output_result)) * cc) + (pfrep_value_add_output_result))) -> (((exists ff_h_pfp_add_output_resultoutput. ff_h_pfp_add_output_resultoutput + S (pfrep_value_add_output_result) = S ((S ((t)+pfrep_index_add_output_result)) * CC)) /\ exists ff_q_pfp_add_output_resultoutput. CB = ff_q_pfp_add_output_resultoutput * S ((S ((t)+pfrep_index_add_output_result)) * CC) + (pfrep_value_add_output_result)))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro tintro ABintro ACintro BBintro BCintro CBintro CCintro hpintro hointro hAintro hBintro hnhave hd : exists db dc. (((forall pfp_repeat_index_add_output_constructedzeros. (exists pfa_gap_add_output_constructedzerosindex. pfa_gap_add_output_constructedzerosindex + S (pfp_repeat_index_add_output_constructedzeros) = (t)) -> (((exists ff_h_pfp_add_output_constructedzerosentry. ff_h_pfp_add_output_constructedzerosentry + S (0) = S ((S (pfp_repeat_index_add_output_constructedzeros)) * dc)) /\ exists ff_q_pfp_add_output_constructedzerosentry. db = ff_q_pfp_add_output_constructedzerosentry * S ((S (pfp_repeat_index_add_output_constructedzeros)) * dc) + (0)))) /\ ((forall pfrep_index_add_output_constructed pfrep_value_add_output_constructed. (exists pfa_gap_add_output_constructedbound. pfa_gap_add_output_constructedbound + S (pfrep_index_add_output_constructed) = (L)) -> (((exists ff_h_pfp_add_output_constructedinput. ff_h_pfp_add_output_constructedinput + S (pfrep_value_add_output_constructed) = S ((S (pfrep_index_add_output_constructed)) * cc)) /\ exists ff_q_pfp_add_output_constructedinput. cb = ff_q_pfp_add_output_constructedinput * S ((S (pfrep_index_add_output_constructed)) * cc) + (pfrep_value_add_output_constructed))) -> (((exists ff_h_pfp_add_output_constructedoutput. ff_h_pfp_add_output_constructedoutput + S (pfrep_value_add_output_constructed) = S ((S ((t)+pfrep_index_add_output_constructed)) * dc)) /\ exists ff_q_pfp_add_output_constructedoutput. db = ff_q_pfp_add_output_constructedoutput * S ((S ((t)+pfrep_index_add_output_constructed)) * dc) + (pfrep_value_add_output_constructed)))))))specialize prime_field_polynomial_left_pad_exists (cb)specialize prime_field_polynomial_left_pad_exists (cc)specialize prime_field_polynomial_left_pad_exists (t)specialize prime_field_polynomial_left_pad_exists (L)apply prime_field_polynomial_left_pad_existscases hdcases hd_witnesshave hm : forall pfp_index_add_output_middle. (exists pfa_gap_add_output_middleindex. pfa_gap_add_output_middleindex + S (pfp_index_add_output_middle) = (t+L)) -> exists pfp_left_add_output_middle pfp_right_add_output_middle pfp_value_add_output_middle. ((((exists ff_h_pfp_add_output_middleleft. ff_h_pfp_add_output_middleleft + S (pfp_left_add_output_middle) = S ((S (pfp_index_add_output_middle)) * AC)) /\ exists ff_q_pfp_add_output_middleleft. AB = ff_q_pfp_add_output_middleleft * S ((S (pfp_index_add_output_middle)) * AC) + (pfp_left_add_output_middle))) /\ (((((exists ff_h_pfp_add_output_middleright. ff_h_pfp_add_output_middleright + S (pfp_right_add_output_middle) = S ((S (pfp_index_add_output_middle)) * BC)) /\ exists ff_q_pfp_add_output_middleright. BB = ff_q_pfp_add_output_middleright * S ((S (pfp_index_add_output_middle)) * BC) + (pfp_right_add_output_middle))) /\ (((((exists ff_h_pfp_add_output_middletarget. ff_h_pfp_add_output_middletarget + S (pfp_value_add_output_middle) = S ((S (pfp_index_add_output_middle)) * x1)) /\ exists ff_q_pfp_add_output_middletarget. x = ff_q_pfp_add_output_middletarget * S ((S (pfp_index_add_output_middle)) * x1) + (pfp_value_add_output_middle))) /\ ((((exists pfa_gap_add_output_middleoperationleft. pfa_gap_add_output_middleoperationleft + S (pfp_left_add_output_middle) = (p)) /\ (((exists pfa_gap_add_output_middleoperationright. pfa_gap_add_output_middleoperationright + S (pfp_right_add_output_middle) = (p)) /\ ((((exists pfa_gap_add_output_middleoperationresultbound. pfa_gap_add_output_middleoperationresultbound + S (pfp_value_add_output_middle) = (p)) /\ ((exists pfa_offset_left_add_output_middleoperationresultcongruence pfa_offset_right_add_output_middleoperationresultcongruence. ((pfp_left_add_output_middle) + (pfp_right_add_output_middle)) + (p) * pfa_offset_left_add_output_middleoperationresultcongruence = (pfp_value_add_output_middle) + (p) * pfa_offset_right_add_output_middleoperationresultcongruence)))))))))))))))specialize prime_field_polynomial_add_left_pad_transport (p)specialize prime_field_polynomial_add_left_pad_transport (ab)specialize prime_field_polynomial_add_left_pad_transport (ac)specialize prime_field_polynomial_add_left_pad_transport (bb)specialize prime_field_polynomial_add_left_pad_transport (bc)specialize prime_field_polynomial_add_left_pad_transport (cb)specialize prime_field_polynomial_add_left_pad_transport (cc)specialize prime_field_polynomial_add_left_pad_transport (L)specialize prime_field_polynomial_add_left_pad_transport (t)specialize prime_field_polynomial_add_left_pad_transport (AB)specialize prime_field_polynomial_add_left_pad_transport (AC)specialize prime_field_polynomial_add_left_pad_transport (BB)specialize prime_field_polynomial_add_left_pad_transport (BC)specialize prime_field_polynomial_add_left_pad_transport (x)specialize prime_field_polynomial_add_left_pad_transport (x1)apply prime_field_polynomial_add_left_pad_transportexact hpexact hoexact hAexact hBexact hd_witness_witnesshave he : forall mdr_i_pfp_add_output_values mdr_a_pfp_add_output_values. (exists mdr_gap_pfp_add_output_valuesb. mdr_gap_pfp_add_output_valuesb + S (mdr_i_pfp_add_output_values) = (t+L)) -> (((exists ff_h_mdr_pfp_add_output_valueso. ff_h_mdr_pfp_add_output_valueso + S (mdr_a_pfp_add_output_values) = S ((S (mdr_i_pfp_add_output_values)) * x1)) /\ exists ff_q_mdr_pfp_add_output_valueso. x = ff_q_mdr_pfp_add_output_valueso * S ((S (mdr_i_pfp_add_output_values)) * x1) + (mdr_a_pfp_add_output_values))) -> (((exists ff_h_mdr_pfp_add_output_valuesn. ff_h_mdr_pfp_add_output_valuesn + S (mdr_a_pfp_add_output_values) = S ((S (mdr_i_pfp_add_output_values)) * CC)) /\ exists ff_q_mdr_pfp_add_output_valuesn. CB = ff_q_mdr_pfp_add_output_valuesn * S ((S (mdr_i_pfp_add_output_values)) * CC) + (mdr_a_pfp_add_output_values)))specialize prime_field_polynomial_add_functional (p)specialize prime_field_polynomial_add_functional (AB)specialize prime_field_polynomial_add_functional (AC)specialize prime_field_polynomial_add_functional (BB)specialize prime_field_polynomial_add_functional (BC)specialize prime_field_polynomial_add_functional (x)specialize prime_field_polynomial_add_functional (x1)specialize prime_field_polynomial_add_functional (CB)specialize prime_field_polynomial_add_functional (CC)specialize prime_field_polynomial_add_functional (t+L)apply prime_field_polynomial_add_functionalexact hmexact hnspecialize prime_field_polynomial_left_pad_transport (cb)specialize prime_field_polynomial_left_pad_transport (cc)specialize prime_field_polynomial_left_pad_transport (cb)specialize prime_field_polynomial_left_pad_transport (cc)specialize prime_field_polynomial_left_pad_transport (L)specialize prime_field_polynomial_left_pad_transport (t)specialize prime_field_polynomial_left_pad_transport (x)specialize prime_field_polynomial_left_pad_transport (x1)specialize prime_field_polynomial_left_pad_transport (CB)specialize prime_field_polynomial_left_pad_transport (CC)apply prime_field_polynomial_left_pad_transportintro iintro aintro hiintro haexact haexact heexact hd_witness_witness
prime_field_polynomial_add_equivalent_congruent · unchanged support, not a new admission
forall p ab ac bb bc cb cc L AB AC BB BC CB CC K. (~((p) = 1) /\ forall pfa_factor_left_add_congruent_prime pfa_factor_right_add_congruent_prime. (p) = pfa_factor_left_add_congruent_prime * pfa_factor_right_add_congruent_prime -> pfa_factor_left_add_congruent_prime = 1 \/ pfa_factor_right_add_congruent_prime = 1) -> (forall pfrep_power_add_congruent_first pfrep_left_add_congruent_first pfrep_right_add_congruent_first. ((exists pfrep_position_add_congruent_firstfirst. ((pfrep_position_add_congruent_firstfirst+S (pfrep_power_add_congruent_first)=(L)) /\ ((((exists ff_h_pfp_add_congruent_firstfirstentry. ff_h_pfp_add_congruent_firstfirstentry + S (pfrep_left_add_congruent_first) = S ((S (pfrep_position_add_congruent_firstfirst)) * ac)) /\ exists ff_q_pfp_add_congruent_firstfirstentry. ab = ff_q_pfp_add_congruent_firstfirstentry * S ((S (pfrep_position_add_congruent_firstfirst)) * ac) + (pfrep_left_add_congruent_first)))))) \/ (((exists pfrep_gap_add_congruent_firstfirstoutside. pfrep_gap_add_congruent_firstfirstoutside+(L)=(pfrep_power_add_congruent_first)) /\ (((pfrep_left_add_congruent_first)=0))))) -> ((exists pfrep_position_add_congruent_firstsecond. ((pfrep_position_add_congruent_firstsecond+S (pfrep_power_add_congruent_first)=(K)) /\ ((((exists ff_h_pfp_add_congruent_firstsecondentry. ff_h_pfp_add_congruent_firstsecondentry + S (pfrep_right_add_congruent_first) = S ((S (pfrep_position_add_congruent_firstsecond)) * AC)) /\ exists ff_q_pfp_add_congruent_firstsecondentry. AB = ff_q_pfp_add_congruent_firstsecondentry * S ((S (pfrep_position_add_congruent_firstsecond)) * AC) + (pfrep_right_add_congruent_first)))))) \/ (((exists pfrep_gap_add_congruent_firstsecondoutside. pfrep_gap_add_congruent_firstsecondoutside+(K)=(pfrep_power_add_congruent_first)) /\ (((pfrep_right_add_congruent_first)=0))))) -> pfrep_left_add_congruent_first=pfrep_right_add_congruent_first) -> (forall pfrep_power_add_congruent_second pfrep_left_add_congruent_second pfrep_right_add_congruent_second. ((exists pfrep_position_add_congruent_secondfirst. ((pfrep_position_add_congruent_secondfirst+S (pfrep_power_add_congruent_second)=(L)) /\ ((((exists ff_h_pfp_add_congruent_secondfirstentry. ff_h_pfp_add_congruent_secondfirstentry + S (pfrep_left_add_congruent_second) = S ((S (pfrep_position_add_congruent_secondfirst)) * bc)) /\ exists ff_q_pfp_add_congruent_secondfirstentry. bb = ff_q_pfp_add_congruent_secondfirstentry * S ((S (pfrep_position_add_congruent_secondfirst)) * bc) + (pfrep_left_add_congruent_second)))))) \/ (((exists pfrep_gap_add_congruent_secondfirstoutside. pfrep_gap_add_congruent_secondfirstoutside+(L)=(pfrep_power_add_congruent_second)) /\ (((pfrep_left_add_congruent_second)=0))))) -> ((exists pfrep_position_add_congruent_secondsecond. ((pfrep_position_add_congruent_secondsecond+S (pfrep_power_add_congruent_second)=(K)) /\ ((((exists ff_h_pfp_add_congruent_secondsecondentry. ff_h_pfp_add_congruent_secondsecondentry + S (pfrep_right_add_congruent_second) = S ((S (pfrep_position_add_congruent_secondsecond)) * BC)) /\ exists ff_q_pfp_add_congruent_secondsecondentry. BB = ff_q_pfp_add_congruent_secondsecondentry * S ((S (pfrep_position_add_congruent_secondsecond)) * BC) + (pfrep_right_add_congruent_second)))))) \/ (((exists pfrep_gap_add_congruent_secondsecondoutside. pfrep_gap_add_congruent_secondsecondoutside+(K)=(pfrep_power_add_congruent_second)) /\ (((pfrep_right_add_congruent_second)=0))))) -> pfrep_left_add_congruent_second=pfrep_right_add_congruent_second) -> (forall pfp_index_add_congruent_original. (exists pfa_gap_add_congruent_originalindex. pfa_gap_add_congruent_originalindex + S (pfp_index_add_congruent_original) = (L)) -> exists pfp_left_add_congruent_original pfp_right_add_congruent_original pfp_value_add_congruent_original. ((((exists ff_h_pfp_add_congruent_originalleft. ff_h_pfp_add_congruent_originalleft + S (pfp_left_add_congruent_original) = S ((S (pfp_index_add_congruent_original)) * ac)) /\ exists ff_q_pfp_add_congruent_originalleft. ab = ff_q_pfp_add_congruent_originalleft * S ((S (pfp_index_add_congruent_original)) * ac) + (pfp_left_add_congruent_original))) /\ (((((exists ff_h_pfp_add_congruent_originalright. ff_h_pfp_add_congruent_originalright + S (pfp_right_add_congruent_original) = S ((S (pfp_index_add_congruent_original)) * bc)) /\ exists ff_q_pfp_add_congruent_originalright. bb = ff_q_pfp_add_congruent_originalright * S ((S (pfp_index_add_congruent_original)) * bc) + (pfp_right_add_congruent_original))) /\ (((((exists ff_h_pfp_add_congruent_originaltarget. ff_h_pfp_add_congruent_originaltarget + S (pfp_value_add_congruent_original) = S ((S (pfp_index_add_congruent_original)) * cc)) /\ exists ff_q_pfp_add_congruent_originaltarget. cb = ff_q_pfp_add_congruent_originaltarget * S ((S (pfp_index_add_congruent_original)) * cc) + (pfp_value_add_congruent_original))) /\ ((((exists pfa_gap_add_congruent_originaloperationleft. pfa_gap_add_congruent_originaloperationleft + S (pfp_left_add_congruent_original) = (p)) /\ (((exists pfa_gap_add_congruent_originaloperationright. pfa_gap_add_congruent_originaloperationright + S (pfp_right_add_congruent_original) = (p)) /\ ((((exists pfa_gap_add_congruent_originaloperationresultbound. pfa_gap_add_congruent_originaloperationresultbound + S (pfp_value_add_congruent_original) = (p)) /\ ((exists pfa_offset_left_add_congruent_originaloperationresultcongruence pfa_offset_right_add_congruent_originaloperationresultcongruence. ((pfp_left_add_congruent_original) + (pfp_right_add_congruent_original)) + (p) * pfa_offset_left_add_congruent_originaloperationresultcongruence = (pfp_value_add_congruent_original) + (p) * pfa_offset_right_add_congruent_originaloperationresultcongruence)))))))))))))))) -> (forall pfp_index_add_congruent_other. (exists pfa_gap_add_congruent_otherindex. pfa_gap_add_congruent_otherindex + S (pfp_index_add_congruent_other) = (K)) -> exists pfp_left_add_congruent_other pfp_right_add_congruent_other pfp_value_add_congruent_other. ((((exists ff_h_pfp_add_congruent_otherleft. ff_h_pfp_add_congruent_otherleft + S (pfp_left_add_congruent_other) = S ((S (pfp_index_add_congruent_other)) * AC)) /\ exists ff_q_pfp_add_congruent_otherleft. AB = ff_q_pfp_add_congruent_otherleft * S ((S (pfp_index_add_congruent_other)) * AC) + (pfp_left_add_congruent_other))) /\ (((((exists ff_h_pfp_add_congruent_otherright. ff_h_pfp_add_congruent_otherright + S (pfp_right_add_congruent_other) = S ((S (pfp_index_add_congruent_other)) * BC)) /\ exists ff_q_pfp_add_congruent_otherright. BB = ff_q_pfp_add_congruent_otherright * S ((S (pfp_index_add_congruent_other)) * BC) + (pfp_right_add_congruent_other))) /\ (((((exists ff_h_pfp_add_congruent_othertarget. ff_h_pfp_add_congruent_othertarget + S (pfp_value_add_congruent_other) = S ((S (pfp_index_add_congruent_other)) * CC)) /\ exists ff_q_pfp_add_congruent_othertarget. CB = ff_q_pfp_add_congruent_othertarget * S ((S (pfp_index_add_congruent_other)) * CC) + (pfp_value_add_congruent_other))) /\ ((((exists pfa_gap_add_congruent_otheroperationleft. pfa_gap_add_congruent_otheroperationleft + S (pfp_left_add_congruent_other) = (p)) /\ (((exists pfa_gap_add_congruent_otheroperationright. pfa_gap_add_congruent_otheroperationright + S (pfp_right_add_congruent_other) = (p)) /\ ((((exists pfa_gap_add_congruent_otheroperationresultbound. pfa_gap_add_congruent_otheroperationresultbound + S (pfp_value_add_congruent_other) = (p)) /\ ((exists pfa_offset_left_add_congruent_otheroperationresultcongruence pfa_offset_right_add_congruent_otheroperationresultcongruence. ((pfp_left_add_congruent_other) + (pfp_right_add_congruent_other)) + (p) * pfa_offset_left_add_congruent_otheroperationresultcongruence = (pfp_value_add_congruent_other) + (p) * pfa_offset_right_add_congruent_otheroperationresultcongruence)))))))))))))))) -> (forall pfrep_power_add_congruent_result pfrep_left_add_congruent_result pfrep_right_add_congruent_result. ((exists pfrep_position_add_congruent_resultfirst. ((pfrep_position_add_congruent_resultfirst+S (pfrep_power_add_congruent_result)=(L)) /\ ((((exists ff_h_pfp_add_congruent_resultfirstentry. ff_h_pfp_add_congruent_resultfirstentry + S (pfrep_left_add_congruent_result) = S ((S (pfrep_position_add_congruent_resultfirst)) * cc)) /\ exists ff_q_pfp_add_congruent_resultfirstentry. cb = ff_q_pfp_add_congruent_resultfirstentry * S ((S (pfrep_position_add_congruent_resultfirst)) * cc) + (pfrep_left_add_congruent_result)))))) \/ (((exists pfrep_gap_add_congruent_resultfirstoutside. pfrep_gap_add_congruent_resultfirstoutside+(L)=(pfrep_power_add_congruent_result)) /\ (((pfrep_left_add_congruent_result)=0))))) -> ((exists pfrep_position_add_congruent_resultsecond. ((pfrep_position_add_congruent_resultsecond+S (pfrep_power_add_congruent_result)=(K)) /\ ((((exists ff_h_pfp_add_congruent_resultsecondentry. ff_h_pfp_add_congruent_resultsecondentry + S (pfrep_right_add_congruent_result) = S ((S (pfrep_position_add_congruent_resultsecond)) * CC)) /\ exists ff_q_pfp_add_congruent_resultsecondentry. CB = ff_q_pfp_add_congruent_resultsecondentry * S ((S (pfrep_position_add_congruent_resultsecond)) * CC) + (pfrep_right_add_congruent_result)))))) \/ (((exists pfrep_gap_add_congruent_resultsecondoutside. pfrep_gap_add_congruent_resultsecondoutside+(K)=(pfrep_power_add_congruent_result)) /\ (((pfrep_right_add_congruent_result)=0))))) -> pfrep_left_add_congruent_result=pfrep_right_add_congruent_result)
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro ABintro ACintro BBintro BCintro CBintro CCintro Kintro hpintro hAintro hBintro hointro hnhave horder : L<=K \/ K<=Lspecialize le_total (L)specialize le_total (K)apply le_totalcases hordercases horder_leftrewrite <- horder_left_witness at hArewrite <- horder_left_witness at hArewrite <- horder_left_witness at hBrewrite <- horder_left_witness at hBrewrite <- horder_left_witness at hnrewrite <- horder_left_witnessrewrite <- horder_left_witnesshave hpadA : ((forall pfp_repeat_index_add_congruent_forward_hpadAzeros. (exists pfa_gap_add_congruent_forward_hpadAzerosindex. pfa_gap_add_congruent_forward_hpadAzerosindex + S (pfp_repeat_index_add_congruent_forward_hpadAzeros) = (x)) -> (((exists ff_h_pfp_add_congruent_forward_hpadAzerosentry. ff_h_pfp_add_congruent_forward_hpadAzerosentry + S (0) = S ((S (pfp_repeat_index_add_congruent_forward_hpadAzeros)) * AC)) /\ exists ff_q_pfp_add_congruent_forward_hpadAzerosentry. AB = ff_q_pfp_add_congruent_forward_hpadAzerosentry * S ((S (pfp_repeat_index_add_congruent_forward_hpadAzeros)) * AC) + (0)))) /\ ((forall pfrep_index_add_congruent_forward_hpadA pfrep_value_add_congruent_forward_hpadA. (exists pfa_gap_add_congruent_forward_hpadAbound. pfa_gap_add_congruent_forward_hpadAbound + S (pfrep_index_add_congruent_forward_hpadA) = (L)) -> (((exists ff_h_pfp_add_congruent_forward_hpadAinput. ff_h_pfp_add_congruent_forward_hpadAinput + S (pfrep_value_add_congruent_forward_hpadA) = S ((S (pfrep_index_add_congruent_forward_hpadA)) * ac)) /\ exists ff_q_pfp_add_congruent_forward_hpadAinput. ab = ff_q_pfp_add_congruent_forward_hpadAinput * S ((S (pfrep_index_add_congruent_forward_hpadA)) * ac) + (pfrep_value_add_congruent_forward_hpadA))) -> (((exists ff_h_pfp_add_congruent_forward_hpadAoutput. ff_h_pfp_add_congruent_forward_hpadAoutput + S (pfrep_value_add_congruent_forward_hpadA) = S ((S ((x)+pfrep_index_add_congruent_forward_hpadA)) * AC)) /\ exists ff_q_pfp_add_congruent_forward_hpadAoutput. AB = ff_q_pfp_add_congruent_forward_hpadAoutput * S ((S ((x)+pfrep_index_add_congruent_forward_hpadA)) * AC) + (pfrep_value_add_congruent_forward_hpadA))))))specialize prime_field_polynomial_equivalent_implies_left_pad (ab)specialize prime_field_polynomial_equivalent_implies_left_pad (ac)specialize prime_field_polynomial_equivalent_implies_left_pad (L)specialize prime_field_polynomial_equivalent_implies_left_pad (x)specialize prime_field_polynomial_equivalent_implies_left_pad (AB)specialize prime_field_polynomial_equivalent_implies_left_pad (AC)apply prime_field_polynomial_equivalent_implies_left_padexact hAhave hpadB : ((forall pfp_repeat_index_add_congruent_forward_hpadBzeros. (exists pfa_gap_add_congruent_forward_hpadBzerosindex. pfa_gap_add_congruent_forward_hpadBzerosindex + S (pfp_repeat_index_add_congruent_forward_hpadBzeros) = (x)) -> (((exists ff_h_pfp_add_congruent_forward_hpadBzerosentry. ff_h_pfp_add_congruent_forward_hpadBzerosentry + S (0) = S ((S (pfp_repeat_index_add_congruent_forward_hpadBzeros)) * BC)) /\ exists ff_q_pfp_add_congruent_forward_hpadBzerosentry. BB = ff_q_pfp_add_congruent_forward_hpadBzerosentry * S ((S (pfp_repeat_index_add_congruent_forward_hpadBzeros)) * BC) + (0)))) /\ ((forall pfrep_index_add_congruent_forward_hpadB pfrep_value_add_congruent_forward_hpadB. (exists pfa_gap_add_congruent_forward_hpadBbound. pfa_gap_add_congruent_forward_hpadBbound + S (pfrep_index_add_congruent_forward_hpadB) = (L)) -> (((exists ff_h_pfp_add_congruent_forward_hpadBinput. ff_h_pfp_add_congruent_forward_hpadBinput + S (pfrep_value_add_congruent_forward_hpadB) = S ((S (pfrep_index_add_congruent_forward_hpadB)) * bc)) /\ exists ff_q_pfp_add_congruent_forward_hpadBinput. bb = ff_q_pfp_add_congruent_forward_hpadBinput * S ((S (pfrep_index_add_congruent_forward_hpadB)) * bc) + (pfrep_value_add_congruent_forward_hpadB))) -> (((exists ff_h_pfp_add_congruent_forward_hpadBoutput. ff_h_pfp_add_congruent_forward_hpadBoutput + S (pfrep_value_add_congruent_forward_hpadB) = S ((S ((x)+pfrep_index_add_congruent_forward_hpadB)) * BC)) /\ exists ff_q_pfp_add_congruent_forward_hpadBoutput. BB = ff_q_pfp_add_congruent_forward_hpadBoutput * S ((S ((x)+pfrep_index_add_congruent_forward_hpadB)) * BC) + (pfrep_value_add_congruent_forward_hpadB))))))specialize prime_field_polynomial_equivalent_implies_left_pad (bb)specialize prime_field_polynomial_equivalent_implies_left_pad (bc)specialize prime_field_polynomial_equivalent_implies_left_pad (L)specialize prime_field_polynomial_equivalent_implies_left_pad (x)specialize prime_field_polynomial_equivalent_implies_left_pad (BB)specialize prime_field_polynomial_equivalent_implies_left_pad (BC)apply prime_field_polynomial_equivalent_implies_left_padexact hBspecialize prime_field_polynomial_left_pad_equivalent (cb)specialize prime_field_polynomial_left_pad_equivalent (cc)specialize prime_field_polynomial_left_pad_equivalent (L)specialize prime_field_polynomial_left_pad_equivalent (x)specialize prime_field_polynomial_left_pad_equivalent (CB)specialize prime_field_polynomial_left_pad_equivalent (CC)apply prime_field_polynomial_left_pad_equivalentspecialize prime_field_polynomial_add_left_pad_output (p)specialize prime_field_polynomial_add_left_pad_output (ab)specialize prime_field_polynomial_add_left_pad_output (ac)specialize prime_field_polynomial_add_left_pad_output (bb)specialize prime_field_polynomial_add_left_pad_output (bc)specialize prime_field_polynomial_add_left_pad_output (cb)specialize prime_field_polynomial_add_left_pad_output (cc)specialize prime_field_polynomial_add_left_pad_output (L)specialize prime_field_polynomial_add_left_pad_output (x)specialize prime_field_polynomial_add_left_pad_output (AB)specialize prime_field_polynomial_add_left_pad_output (AC)specialize prime_field_polynomial_add_left_pad_output (BB)specialize prime_field_polynomial_add_left_pad_output (BC)specialize prime_field_polynomial_add_left_pad_output (CB)specialize prime_field_polynomial_add_left_pad_output (CC)apply prime_field_polynomial_add_left_pad_outputexact hpexact hoexact hpadAexact hpadBexact hncases horder_rightrewrite <- horder_right_witness at hArewrite <- horder_right_witness at hArewrite <- horder_right_witness at hBrewrite <- horder_right_witness at hBrewrite <- horder_right_witness at horewrite <- horder_right_witnessrewrite <- horder_right_witnesshave hpadA : ((forall pfp_repeat_index_add_congruent_reverse_hpadAzeros. (exists pfa_gap_add_congruent_reverse_hpadAzerosindex. pfa_gap_add_congruent_reverse_hpadAzerosindex + S (pfp_repeat_index_add_congruent_reverse_hpadAzeros) = (x)) -> (((exists ff_h_pfp_add_congruent_reverse_hpadAzerosentry. ff_h_pfp_add_congruent_reverse_hpadAzerosentry + S (0) = S ((S (pfp_repeat_index_add_congruent_reverse_hpadAzeros)) * ac)) /\ exists ff_q_pfp_add_congruent_reverse_hpadAzerosentry. ab = ff_q_pfp_add_congruent_reverse_hpadAzerosentry * S ((S (pfp_repeat_index_add_congruent_reverse_hpadAzeros)) * ac) + (0)))) /\ ((forall pfrep_index_add_congruent_reverse_hpadA pfrep_value_add_congruent_reverse_hpadA. (exists pfa_gap_add_congruent_reverse_hpadAbound. pfa_gap_add_congruent_reverse_hpadAbound + S (pfrep_index_add_congruent_reverse_hpadA) = (K)) -> (((exists ff_h_pfp_add_congruent_reverse_hpadAinput. ff_h_pfp_add_congruent_reverse_hpadAinput + S (pfrep_value_add_congruent_reverse_hpadA) = S ((S (pfrep_index_add_congruent_reverse_hpadA)) * AC)) /\ exists ff_q_pfp_add_congruent_reverse_hpadAinput. AB = ff_q_pfp_add_congruent_reverse_hpadAinput * S ((S (pfrep_index_add_congruent_reverse_hpadA)) * AC) + (pfrep_value_add_congruent_reverse_hpadA))) -> (((exists ff_h_pfp_add_congruent_reverse_hpadAoutput. ff_h_pfp_add_congruent_reverse_hpadAoutput + S (pfrep_value_add_congruent_reverse_hpadA) = S ((S ((x)+pfrep_index_add_congruent_reverse_hpadA)) * ac)) /\ exists ff_q_pfp_add_congruent_reverse_hpadAoutput. ab = ff_q_pfp_add_congruent_reverse_hpadAoutput * S ((S ((x)+pfrep_index_add_congruent_reverse_hpadA)) * ac) + (pfrep_value_add_congruent_reverse_hpadA))))))specialize prime_field_polynomial_equivalent_implies_left_pad (AB)specialize prime_field_polynomial_equivalent_implies_left_pad (AC)specialize prime_field_polynomial_equivalent_implies_left_pad (K)specialize prime_field_polynomial_equivalent_implies_left_pad (x)specialize prime_field_polynomial_equivalent_implies_left_pad (ab)specialize prime_field_polynomial_equivalent_implies_left_pad (ac)apply prime_field_polynomial_equivalent_implies_left_padspecialize prime_field_polynomial_equivalent_symmetric (ab)specialize prime_field_polynomial_equivalent_symmetric (ac)specialize prime_field_polynomial_equivalent_symmetric (x+K)specialize prime_field_polynomial_equivalent_symmetric (AB)specialize prime_field_polynomial_equivalent_symmetric (AC)specialize prime_field_polynomial_equivalent_symmetric (K)apply prime_field_polynomial_equivalent_symmetricexact hAhave hpadB : ((forall pfp_repeat_index_add_congruent_reverse_hpadBzeros. (exists pfa_gap_add_congruent_reverse_hpadBzerosindex. pfa_gap_add_congruent_reverse_hpadBzerosindex + S (pfp_repeat_index_add_congruent_reverse_hpadBzeros) = (x)) -> (((exists ff_h_pfp_add_congruent_reverse_hpadBzerosentry. ff_h_pfp_add_congruent_reverse_hpadBzerosentry + S (0) = S ((S (pfp_repeat_index_add_congruent_reverse_hpadBzeros)) * bc)) /\ exists ff_q_pfp_add_congruent_reverse_hpadBzerosentry. bb = ff_q_pfp_add_congruent_reverse_hpadBzerosentry * S ((S (pfp_repeat_index_add_congruent_reverse_hpadBzeros)) * bc) + (0)))) /\ ((forall pfrep_index_add_congruent_reverse_hpadB pfrep_value_add_congruent_reverse_hpadB. (exists pfa_gap_add_congruent_reverse_hpadBbound. pfa_gap_add_congruent_reverse_hpadBbound + S (pfrep_index_add_congruent_reverse_hpadB) = (K)) -> (((exists ff_h_pfp_add_congruent_reverse_hpadBinput. ff_h_pfp_add_congruent_reverse_hpadBinput + S (pfrep_value_add_congruent_reverse_hpadB) = S ((S (pfrep_index_add_congruent_reverse_hpadB)) * BC)) /\ exists ff_q_pfp_add_congruent_reverse_hpadBinput. BB = ff_q_pfp_add_congruent_reverse_hpadBinput * S ((S (pfrep_index_add_congruent_reverse_hpadB)) * BC) + (pfrep_value_add_congruent_reverse_hpadB))) -> (((exists ff_h_pfp_add_congruent_reverse_hpadBoutput. ff_h_pfp_add_congruent_reverse_hpadBoutput + S (pfrep_value_add_congruent_reverse_hpadB) = S ((S ((x)+pfrep_index_add_congruent_reverse_hpadB)) * bc)) /\ exists ff_q_pfp_add_congruent_reverse_hpadBoutput. bb = ff_q_pfp_add_congruent_reverse_hpadBoutput * S ((S ((x)+pfrep_index_add_congruent_reverse_hpadB)) * bc) + (pfrep_value_add_congruent_reverse_hpadB))))))specialize prime_field_polynomial_equivalent_implies_left_pad (BB)specialize prime_field_polynomial_equivalent_implies_left_pad (BC)specialize prime_field_polynomial_equivalent_implies_left_pad (K)specialize prime_field_polynomial_equivalent_implies_left_pad (x)specialize prime_field_polynomial_equivalent_implies_left_pad (bb)specialize prime_field_polynomial_equivalent_implies_left_pad (bc)apply prime_field_polynomial_equivalent_implies_left_padspecialize prime_field_polynomial_equivalent_symmetric (bb)specialize prime_field_polynomial_equivalent_symmetric (bc)specialize prime_field_polynomial_equivalent_symmetric (x+K)specialize prime_field_polynomial_equivalent_symmetric (BB)specialize prime_field_polynomial_equivalent_symmetric (BC)specialize prime_field_polynomial_equivalent_symmetric (K)apply prime_field_polynomial_equivalent_symmetricexact hBspecialize prime_field_polynomial_equivalent_symmetric (CB)specialize prime_field_polynomial_equivalent_symmetric (CC)specialize prime_field_polynomial_equivalent_symmetric (K)specialize prime_field_polynomial_equivalent_symmetric (cb)specialize prime_field_polynomial_equivalent_symmetric (cc)specialize prime_field_polynomial_equivalent_symmetric (x+K)apply prime_field_polynomial_equivalent_symmetricspecialize prime_field_polynomial_left_pad_equivalent (CB)specialize prime_field_polynomial_left_pad_equivalent (CC)specialize prime_field_polynomial_left_pad_equivalent (K)specialize prime_field_polynomial_left_pad_equivalent (x)specialize prime_field_polynomial_left_pad_equivalent (cb)specialize prime_field_polynomial_left_pad_equivalent (cc)apply prime_field_polynomial_left_pad_equivalentspecialize prime_field_polynomial_add_left_pad_output (p)specialize prime_field_polynomial_add_left_pad_output (AB)specialize prime_field_polynomial_add_left_pad_output (AC)specialize prime_field_polynomial_add_left_pad_output (BB)specialize prime_field_polynomial_add_left_pad_output (BC)specialize prime_field_polynomial_add_left_pad_output (CB)specialize prime_field_polynomial_add_left_pad_output (CC)specialize prime_field_polynomial_add_left_pad_output (K)specialize prime_field_polynomial_add_left_pad_output (x)specialize prime_field_polynomial_add_left_pad_output (ab)specialize prime_field_polynomial_add_left_pad_output (ac)specialize prime_field_polynomial_add_left_pad_output (bb)specialize prime_field_polynomial_add_left_pad_output (bc)specialize prime_field_polynomial_add_left_pad_output (cb)specialize prime_field_polynomial_add_left_pad_output (cc)apply prime_field_polynomial_add_left_pad_outputexact hpexact hnexact hpadAexact hpadBexact ho
prime_field_polynomial_convolution_equivalent_congruent_right · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N BB BC H CB CC K. (~(p=0)) -> (forall pfrep_power_congruent_factor_right pfrep_left_congruent_factor_right pfrep_right_congruent_factor_right. ((exists pfrep_position_congruent_factor_rightfirst. ((pfrep_position_congruent_factor_rightfirst+S (pfrep_power_congruent_factor_right)=(M)) /\ ((((exists ff_h_pfp_congruent_factor_rightfirstentry. ff_h_pfp_congruent_factor_rightfirstentry + S (pfrep_left_congruent_factor_right) = S ((S (pfrep_position_congruent_factor_rightfirst)) * bc)) /\ exists ff_q_pfp_congruent_factor_rightfirstentry. bb = ff_q_pfp_congruent_factor_rightfirstentry * S ((S (pfrep_position_congruent_factor_rightfirst)) * bc) + (pfrep_left_congruent_factor_right)))))) \/ (((exists pfrep_gap_congruent_factor_rightfirstoutside. pfrep_gap_congruent_factor_rightfirstoutside+(M)=(pfrep_power_congruent_factor_right)) /\ (((pfrep_left_congruent_factor_right)=0))))) -> ((exists pfrep_position_congruent_factor_rightsecond. ((pfrep_position_congruent_factor_rightsecond+S (pfrep_power_congruent_factor_right)=(H)) /\ ((((exists ff_h_pfp_congruent_factor_rightsecondentry. ff_h_pfp_congruent_factor_rightsecondentry + S (pfrep_right_congruent_factor_right) = S ((S (pfrep_position_congruent_factor_rightsecond)) * BC)) /\ exists ff_q_pfp_congruent_factor_rightsecondentry. BB = ff_q_pfp_congruent_factor_rightsecondentry * S ((S (pfrep_position_congruent_factor_rightsecond)) * BC) + (pfrep_right_congruent_factor_right)))))) \/ (((exists pfrep_gap_congruent_factor_rightsecondoutside. pfrep_gap_congruent_factor_rightsecondoutside+(H)=(pfrep_power_congruent_factor_right)) /\ (((pfrep_right_congruent_factor_right)=0))))) -> pfrep_left_congruent_factor_right=pfrep_right_congruent_factor_right) -> (((forall fom_index_pfp_congruent_original_rightleft. (exists fom_gap_pfp_congruent_original_rightleft_index_bound. fom_gap_pfp_congruent_original_rightleft_index_bound + S (fom_index_pfp_congruent_original_rightleft) = L) -> exists fom_value_pfp_congruent_original_rightleft. ((((exists fom_beta_height_pfp_congruent_original_rightleft_entry. fom_beta_height_pfp_congruent_original_rightleft_entry + S (fom_value_pfp_congruent_original_rightleft) = S ((S (fom_index_pfp_congruent_original_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_congruent_original_rightleft_entry. ab = fom_beta_quotient_pfp_congruent_original_rightleft_entry * S ((S (fom_index_pfp_congruent_original_rightleft)) * ac) + (fom_value_pfp_congruent_original_rightleft))) /\ (exists fom_gap_pfp_congruent_original_rightleft_value_bound. fom_gap_pfp_congruent_original_rightleft_value_bound + S (fom_value_pfp_congruent_original_rightleft) = p))) /\ (((forall fom_index_pfp_congruent_original_rightright. (exists fom_gap_pfp_congruent_original_rightright_index_bound. fom_gap_pfp_congruent_original_rightright_index_bound + S (fom_index_pfp_congruent_original_rightright) = M) -> exists fom_value_pfp_congruent_original_rightright. ((((exists fom_beta_height_pfp_congruent_original_rightright_entry. fom_beta_height_pfp_congruent_original_rightright_entry + S (fom_value_pfp_congruent_original_rightright) = S ((S (fom_index_pfp_congruent_original_rightright)) * bc)) /\ exists fom_beta_quotient_pfp_congruent_original_rightright_entry. bb = fom_beta_quotient_pfp_congruent_original_rightright_entry * S ((S (fom_index_pfp_congruent_original_rightright)) * bc) + (fom_value_pfp_congruent_original_rightright))) /\ (exists fom_gap_pfp_congruent_original_rightright_value_bound. fom_gap_pfp_congruent_original_rightright_value_bound + S (fom_value_pfp_congruent_original_rightright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_congruent_original_rightcoefficients. (exists pfa_gap_congruent_original_rightcoefficientsbound. pfa_gap_congruent_original_rightcoefficientsbound + S (pfc_index_congruent_original_rightcoefficients) = (N)) -> exists pfc_value_congruent_original_rightcoefficients. ((((exists ff_h_pfp_congruent_original_rightcoefficientsentry. ff_h_pfp_congruent_original_rightcoefficientsentry + S (pfc_value_congruent_original_rightcoefficients) = S ((S (pfc_index_congruent_original_rightcoefficients)) * cc)) /\ exists ff_q_pfp_congruent_original_rightcoefficientsentry. cb = ff_q_pfp_congruent_original_rightcoefficientsentry * S ((S (pfc_index_congruent_original_rightcoefficients)) * cc) + (pfc_value_congruent_original_rightcoefficients))) /\ ((exists pfc_terms_code_congruent_original_rightcoefficientscoefficient pfc_terms_scale_congruent_original_rightcoefficientscoefficient pfc_natural_sum_congruent_original_rightcoefficientscoefficient. ((forall pfc_index_congruent_original_rightcoefficientscoefficientdiagonal. (exists pfa_gap_congruent_original_rightcoefficientscoefficientdiagonalbound. pfa_gap_congruent_original_rightcoefficientscoefficientdiagonalbound + S (pfc_index_congruent_original_rightcoefficientscoefficientdiagonal) = (S (pfc_index_congruent_original_rightcoefficients))) -> exists pfc_value_congruent_original_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_congruent_original_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_congruent_original_rightcoefficientscoefficientdiagonalentry + S (pfc_value_congruent_original_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_congruent_original_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_congruent_original_rightcoefficientscoefficient)) /\ exists ff_q_pfp_congruent_original_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_congruent_original_rightcoefficientscoefficient = ff_q_pfp_congruent_original_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_congruent_original_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_congruent_original_rightcoefficientscoefficient) + (pfc_value_congruent_original_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_congruent_original_rightcoefficientscoefficientdiagonalterm pfc_left_congruent_original_rightcoefficientscoefficientdiagonalterm pfc_right_congruent_original_rightcoefficientscoefficientdiagonalterm. (((pfc_index_congruent_original_rightcoefficientscoefficientdiagonal)+pfc_complement_congruent_original_rightcoefficientscoefficientdiagonalterm=(pfc_index_congruent_original_rightcoefficients)) /\ ((((((exists pfa_gap_congruent_original_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_congruent_original_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_congruent_original_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_congruent_original_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_congruent_original_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_congruent_original_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_congruent_original_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_congruent_original_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_congruent_original_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_congruent_original_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_congruent_original_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_congruent_original_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_congruent_original_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_congruent_original_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_congruent_original_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_congruent_original_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_congruent_original_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_congruent_original_rightcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_congruent_original_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_congruent_original_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_congruent_original_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_congruent_original_rightcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_congruent_original_rightcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_congruent_original_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_congruent_original_rightcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_congruent_original_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_congruent_original_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_congruent_original_rightcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_congruent_original_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_congruent_original_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_congruent_original_rightcoefficientscoefficientdiagonal)=pfc_left_congruent_original_rightcoefficientscoefficientdiagonalterm*pfc_right_congruent_original_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_congruent_original_rightcoefficientscoefficientsum fs_v_pfc_congruent_original_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_congruent_original_rightcoefficientscoefficientsum_body_start. fs_h_pfc_congruent_original_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_congruent_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_original_rightcoefficientscoefficientsum_body_start. fs_u_pfc_congruent_original_rightcoefficientscoefficientsum = fs_q_pfc_congruent_original_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_congruent_original_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_congruent_original_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_congruent_original_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_congruent_original_rightcoefficientscoefficient) = S ((S (S (pfc_index_congruent_original_rightcoefficients))) * fs_v_pfc_congruent_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_original_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_congruent_original_rightcoefficientscoefficientsum = fs_q_pfc_congruent_original_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_congruent_original_rightcoefficients))) * fs_v_pfc_congruent_original_rightcoefficientscoefficientsum) + (pfc_natural_sum_congruent_original_rightcoefficientscoefficient))) /\ forall fs_i_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps = S (pfc_index_congruent_original_rightcoefficients)) -> exists fs_a_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps fs_r_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps fs_s_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_congruent_original_rightcoefficientscoefficient)) /\ exists fs_q_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_congruent_original_rightcoefficientscoefficient = fs_q_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_congruent_original_rightcoefficientscoefficient) + (fs_a_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_congruent_original_rightcoefficientscoefficientsum = fs_q_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_original_rightcoefficientscoefficientsum) + (fs_r_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_original_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_congruent_original_rightcoefficientscoefficientsum = fs_q_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_original_rightcoefficientscoefficientsum) + (fs_s_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_congruent_original_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_congruent_original_rightcoefficientscoefficientresiduebound. pfa_gap_congruent_original_rightcoefficientscoefficientresiduebound + S (pfc_value_congruent_original_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_congruent_original_rightcoefficientscoefficientresiduecongruence pfa_offset_right_congruent_original_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_congruent_original_rightcoefficientscoefficient) + (p) * pfa_offset_left_congruent_original_rightcoefficientscoefficientresiduecongruence = (pfc_value_congruent_original_rightcoefficients) + (p) * pfa_offset_right_congruent_original_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_congruent_other_rightleft. (exists fom_gap_pfp_congruent_other_rightleft_index_bound. fom_gap_pfp_congruent_other_rightleft_index_bound + S (fom_index_pfp_congruent_other_rightleft) = L) -> exists fom_value_pfp_congruent_other_rightleft. ((((exists fom_beta_height_pfp_congruent_other_rightleft_entry. fom_beta_height_pfp_congruent_other_rightleft_entry + S (fom_value_pfp_congruent_other_rightleft) = S ((S (fom_index_pfp_congruent_other_rightleft)) * ac)) /\ exists fom_beta_quotient_pfp_congruent_other_rightleft_entry. ab = fom_beta_quotient_pfp_congruent_other_rightleft_entry * S ((S (fom_index_pfp_congruent_other_rightleft)) * ac) + (fom_value_pfp_congruent_other_rightleft))) /\ (exists fom_gap_pfp_congruent_other_rightleft_value_bound. fom_gap_pfp_congruent_other_rightleft_value_bound + S (fom_value_pfp_congruent_other_rightleft) = p))) /\ (((forall fom_index_pfp_congruent_other_rightright. (exists fom_gap_pfp_congruent_other_rightright_index_bound. fom_gap_pfp_congruent_other_rightright_index_bound + S (fom_index_pfp_congruent_other_rightright) = H) -> exists fom_value_pfp_congruent_other_rightright. ((((exists fom_beta_height_pfp_congruent_other_rightright_entry. fom_beta_height_pfp_congruent_other_rightright_entry + S (fom_value_pfp_congruent_other_rightright) = S ((S (fom_index_pfp_congruent_other_rightright)) * BC)) /\ exists fom_beta_quotient_pfp_congruent_other_rightright_entry. BB = fom_beta_quotient_pfp_congruent_other_rightright_entry * S ((S (fom_index_pfp_congruent_other_rightright)) * BC) + (fom_value_pfp_congruent_other_rightright))) /\ (exists fom_gap_pfp_congruent_other_rightright_value_bound. fom_gap_pfp_congruent_other_rightright_value_bound + S (fom_value_pfp_congruent_other_rightright) = p))) /\ (((((((L)=0 \/ (H)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((H)=0)) /\ (((L)+(H)=S (K)))))))) /\ ((forall pfc_index_congruent_other_rightcoefficients. (exists pfa_gap_congruent_other_rightcoefficientsbound. pfa_gap_congruent_other_rightcoefficientsbound + S (pfc_index_congruent_other_rightcoefficients) = (K)) -> exists pfc_value_congruent_other_rightcoefficients. ((((exists ff_h_pfp_congruent_other_rightcoefficientsentry. ff_h_pfp_congruent_other_rightcoefficientsentry + S (pfc_value_congruent_other_rightcoefficients) = S ((S (pfc_index_congruent_other_rightcoefficients)) * CC)) /\ exists ff_q_pfp_congruent_other_rightcoefficientsentry. CB = ff_q_pfp_congruent_other_rightcoefficientsentry * S ((S (pfc_index_congruent_other_rightcoefficients)) * CC) + (pfc_value_congruent_other_rightcoefficients))) /\ ((exists pfc_terms_code_congruent_other_rightcoefficientscoefficient pfc_terms_scale_congruent_other_rightcoefficientscoefficient pfc_natural_sum_congruent_other_rightcoefficientscoefficient. ((forall pfc_index_congruent_other_rightcoefficientscoefficientdiagonal. (exists pfa_gap_congruent_other_rightcoefficientscoefficientdiagonalbound. pfa_gap_congruent_other_rightcoefficientscoefficientdiagonalbound + S (pfc_index_congruent_other_rightcoefficientscoefficientdiagonal) = (S (pfc_index_congruent_other_rightcoefficients))) -> exists pfc_value_congruent_other_rightcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_congruent_other_rightcoefficientscoefficientdiagonalentry. ff_h_pfp_congruent_other_rightcoefficientscoefficientdiagonalentry + S (pfc_value_congruent_other_rightcoefficientscoefficientdiagonal) = S ((S (pfc_index_congruent_other_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_congruent_other_rightcoefficientscoefficient)) /\ exists ff_q_pfp_congruent_other_rightcoefficientscoefficientdiagonalentry. pfc_terms_code_congruent_other_rightcoefficientscoefficient = ff_q_pfp_congruent_other_rightcoefficientscoefficientdiagonalentry * S ((S (pfc_index_congruent_other_rightcoefficientscoefficientdiagonal)) * pfc_terms_scale_congruent_other_rightcoefficientscoefficient) + (pfc_value_congruent_other_rightcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_congruent_other_rightcoefficientscoefficientdiagonalterm pfc_left_congruent_other_rightcoefficientscoefficientdiagonalterm pfc_right_congruent_other_rightcoefficientscoefficientdiagonalterm. (((pfc_index_congruent_other_rightcoefficientscoefficientdiagonal)+pfc_complement_congruent_other_rightcoefficientscoefficientdiagonalterm=(pfc_index_congruent_other_rightcoefficients)) /\ ((((((exists pfa_gap_congruent_other_rightcoefficientscoefficientdiagonaltermleftinside. pfa_gap_congruent_other_rightcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_congruent_other_rightcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_congruent_other_rightcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_congruent_other_rightcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_congruent_other_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_congruent_other_rightcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_congruent_other_rightcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_congruent_other_rightcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_congruent_other_rightcoefficientscoefficientdiagonal)) * ac) + (pfc_left_congruent_other_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_congruent_other_rightcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_congruent_other_rightcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_congruent_other_rightcoefficientscoefficientdiagonal)) /\ (((pfc_left_congruent_other_rightcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_congruent_other_rightcoefficientscoefficientdiagonaltermrightinside. pfa_gap_congruent_other_rightcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_congruent_other_rightcoefficientscoefficientdiagonalterm) = (H)) /\ ((((exists ff_h_pfp_congruent_other_rightcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_congruent_other_rightcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_congruent_other_rightcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_congruent_other_rightcoefficientscoefficientdiagonalterm)) * BC)) /\ exists ff_q_pfp_congruent_other_rightcoefficientscoefficientdiagonaltermrightentry. BB = ff_q_pfp_congruent_other_rightcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_congruent_other_rightcoefficientscoefficientdiagonalterm)) * BC) + (pfc_right_congruent_other_rightcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_congruent_other_rightcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_congruent_other_rightcoefficientscoefficientdiagonaltermrightoutside+(H)=(pfc_complement_congruent_other_rightcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_congruent_other_rightcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_congruent_other_rightcoefficientscoefficientdiagonal)=pfc_left_congruent_other_rightcoefficientscoefficientdiagonalterm*pfc_right_congruent_other_rightcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_congruent_other_rightcoefficientscoefficientsum fs_v_pfc_congruent_other_rightcoefficientscoefficientsum. ((((exists fs_h_pfc_congruent_other_rightcoefficientscoefficientsum_body_start. fs_h_pfc_congruent_other_rightcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_congruent_other_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_other_rightcoefficientscoefficientsum_body_start. fs_u_pfc_congruent_other_rightcoefficientscoefficientsum = fs_q_pfc_congruent_other_rightcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_congruent_other_rightcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_congruent_other_rightcoefficientscoefficientsum_body_terminal. fs_h_pfc_congruent_other_rightcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_congruent_other_rightcoefficientscoefficient) = S ((S (S (pfc_index_congruent_other_rightcoefficients))) * fs_v_pfc_congruent_other_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_other_rightcoefficientscoefficientsum_body_terminal. fs_u_pfc_congruent_other_rightcoefficientscoefficientsum = fs_q_pfc_congruent_other_rightcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_congruent_other_rightcoefficients))) * fs_v_pfc_congruent_other_rightcoefficientscoefficientsum) + (pfc_natural_sum_congruent_other_rightcoefficientscoefficient))) /\ forall fs_i_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps = S (pfc_index_congruent_other_rightcoefficients)) -> exists fs_a_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps fs_r_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps fs_s_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_congruent_other_rightcoefficientscoefficient)) /\ exists fs_q_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_congruent_other_rightcoefficientscoefficient = fs_q_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_congruent_other_rightcoefficientscoefficient) + (fs_a_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_other_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_congruent_other_rightcoefficientscoefficientsum = fs_q_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_other_rightcoefficientscoefficientsum) + (fs_r_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_other_rightcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_congruent_other_rightcoefficientscoefficientsum = fs_q_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_other_rightcoefficientscoefficientsum) + (fs_s_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps = fs_r_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps + fs_a_pfc_congruent_other_rightcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_congruent_other_rightcoefficientscoefficientresiduebound. pfa_gap_congruent_other_rightcoefficientscoefficientresiduebound + S (pfc_value_congruent_other_rightcoefficients) = (p)) /\ ((exists pfa_offset_left_congruent_other_rightcoefficientscoefficientresiduecongruence pfa_offset_right_congruent_other_rightcoefficientscoefficientresiduecongruence. (pfc_natural_sum_congruent_other_rightcoefficientscoefficient) + (p) * pfa_offset_left_congruent_other_rightcoefficientscoefficientresiduecongruence = (pfc_value_congruent_other_rightcoefficients) + (p) * pfa_offset_right_congruent_other_rightcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfrep_power_congruent_output_right pfrep_left_congruent_output_right pfrep_right_congruent_output_right. ((exists pfrep_position_congruent_output_rightfirst. ((pfrep_position_congruent_output_rightfirst+S (pfrep_power_congruent_output_right)=(N)) /\ ((((exists ff_h_pfp_congruent_output_rightfirstentry. ff_h_pfp_congruent_output_rightfirstentry + S (pfrep_left_congruent_output_right) = S ((S (pfrep_position_congruent_output_rightfirst)) * cc)) /\ exists ff_q_pfp_congruent_output_rightfirstentry. cb = ff_q_pfp_congruent_output_rightfirstentry * S ((S (pfrep_position_congruent_output_rightfirst)) * cc) + (pfrep_left_congruent_output_right)))))) \/ (((exists pfrep_gap_congruent_output_rightfirstoutside. pfrep_gap_congruent_output_rightfirstoutside+(N)=(pfrep_power_congruent_output_right)) /\ (((pfrep_left_congruent_output_right)=0))))) -> ((exists pfrep_position_congruent_output_rightsecond. ((pfrep_position_congruent_output_rightsecond+S (pfrep_power_congruent_output_right)=(K)) /\ ((((exists ff_h_pfp_congruent_output_rightsecondentry. ff_h_pfp_congruent_output_rightsecondentry + S (pfrep_right_congruent_output_right) = S ((S (pfrep_position_congruent_output_rightsecond)) * CC)) /\ exists ff_q_pfp_congruent_output_rightsecondentry. CB = ff_q_pfp_congruent_output_rightsecondentry * S ((S (pfrep_position_congruent_output_rightsecond)) * CC) + (pfrep_right_congruent_output_right)))))) \/ (((exists pfrep_gap_congruent_output_rightsecondoutside. pfrep_gap_congruent_output_rightsecondoutside+(K)=(pfrep_power_congruent_output_right)) /\ (((pfrep_right_congruent_output_right)=0))))) -> pfrep_left_congruent_output_right=pfrep_right_congruent_output_right)
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro BBintro BCintro Hintro CBintro CCintro Kintro hpintro heintro hcintro hdhave horder : (exists pfc_gap_congruent_forward_right. pfc_gap_congruent_forward_right+(M)=(H)) \/ (exists pfc_gap_congruent_backward_right. pfc_gap_congruent_backward_right+(H)=(M))specialize le_total (M)specialize le_total (H)apply le_totalcases hordercases horder_lefthave hpadding : ((forall pfp_repeat_index_congruent_padding_rightzeros. (exists pfa_gap_congruent_padding_rightzerosindex. pfa_gap_congruent_padding_rightzerosindex + S (pfp_repeat_index_congruent_padding_rightzeros) = (x)) -> (((exists ff_h_pfp_congruent_padding_rightzerosentry. ff_h_pfp_congruent_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_congruent_padding_rightzeros)) * BC)) /\ exists ff_q_pfp_congruent_padding_rightzerosentry. BB = ff_q_pfp_congruent_padding_rightzerosentry * S ((S (pfp_repeat_index_congruent_padding_rightzeros)) * BC) + (0)))) /\ ((forall pfrep_index_congruent_padding_right pfrep_value_congruent_padding_right. (exists pfa_gap_congruent_padding_rightbound. pfa_gap_congruent_padding_rightbound + S (pfrep_index_congruent_padding_right) = (M)) -> (((exists ff_h_pfp_congruent_padding_rightinput. ff_h_pfp_congruent_padding_rightinput + S (pfrep_value_congruent_padding_right) = S ((S (pfrep_index_congruent_padding_right)) * bc)) /\ exists ff_q_pfp_congruent_padding_rightinput. bb = ff_q_pfp_congruent_padding_rightinput * S ((S (pfrep_index_congruent_padding_right)) * bc) + (pfrep_value_congruent_padding_right))) -> (((exists ff_h_pfp_congruent_padding_rightoutput. ff_h_pfp_congruent_padding_rightoutput + S (pfrep_value_congruent_padding_right) = S ((S ((x)+pfrep_index_congruent_padding_right)) * BC)) /\ exists ff_q_pfp_congruent_padding_rightoutput. BB = ff_q_pfp_congruent_padding_rightoutput * S ((S ((x)+pfrep_index_congruent_padding_right)) * BC) + (pfrep_value_congruent_padding_right))))))specialize prime_field_polynomial_equivalent_implies_left_pad (bb)specialize prime_field_polynomial_equivalent_implies_left_pad (bc)specialize prime_field_polynomial_equivalent_implies_left_pad (M)specialize prime_field_polynomial_equivalent_implies_left_pad (x)specialize prime_field_polynomial_equivalent_implies_left_pad (BB)specialize prime_field_polynomial_equivalent_implies_left_pad (BC)apply prime_field_polynomial_equivalent_implies_left_padrewrite horder_left_witnessrewrite horder_left_witnessexact hespecialize prime_field_polynomial_convolution_left_padding_equivalent_right (p)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ab)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ac)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (L)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (bb)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (bc)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (M)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (cb)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (cc)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (N)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (BB)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (BC)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (CB)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (CC)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (K)apply prime_field_polynomial_convolution_left_padding_equivalent_rightexact hpexact hpaddingexact hcrewrite horder_left_witnessrewrite horder_left_witnessrewrite horder_left_witnessrewrite horder_left_witnessrewrite horder_left_witnessrewrite horder_left_witnessexact hdcases horder_righthave hpadding : ((forall pfp_repeat_index_congruent_padding_rightzeros. (exists pfa_gap_congruent_padding_rightzerosindex. pfa_gap_congruent_padding_rightzerosindex + S (pfp_repeat_index_congruent_padding_rightzeros) = (x)) -> (((exists ff_h_pfp_congruent_padding_rightzerosentry. ff_h_pfp_congruent_padding_rightzerosentry + S (0) = S ((S (pfp_repeat_index_congruent_padding_rightzeros)) * bc)) /\ exists ff_q_pfp_congruent_padding_rightzerosentry. bb = ff_q_pfp_congruent_padding_rightzerosentry * S ((S (pfp_repeat_index_congruent_padding_rightzeros)) * bc) + (0)))) /\ ((forall pfrep_index_congruent_padding_right pfrep_value_congruent_padding_right. (exists pfa_gap_congruent_padding_rightbound. pfa_gap_congruent_padding_rightbound + S (pfrep_index_congruent_padding_right) = (H)) -> (((exists ff_h_pfp_congruent_padding_rightinput. ff_h_pfp_congruent_padding_rightinput + S (pfrep_value_congruent_padding_right) = S ((S (pfrep_index_congruent_padding_right)) * BC)) /\ exists ff_q_pfp_congruent_padding_rightinput. BB = ff_q_pfp_congruent_padding_rightinput * S ((S (pfrep_index_congruent_padding_right)) * BC) + (pfrep_value_congruent_padding_right))) -> (((exists ff_h_pfp_congruent_padding_rightoutput. ff_h_pfp_congruent_padding_rightoutput + S (pfrep_value_congruent_padding_right) = S ((S ((x)+pfrep_index_congruent_padding_right)) * bc)) /\ exists ff_q_pfp_congruent_padding_rightoutput. bb = ff_q_pfp_congruent_padding_rightoutput * S ((S ((x)+pfrep_index_congruent_padding_right)) * bc) + (pfrep_value_congruent_padding_right))))))specialize prime_field_polynomial_equivalent_implies_left_pad (BB)specialize prime_field_polynomial_equivalent_implies_left_pad (BC)specialize prime_field_polynomial_equivalent_implies_left_pad (H)specialize prime_field_polynomial_equivalent_implies_left_pad (x)specialize prime_field_polynomial_equivalent_implies_left_pad (bb)specialize prime_field_polynomial_equivalent_implies_left_pad (bc)apply prime_field_polynomial_equivalent_implies_left_padrewrite horder_right_witnessrewrite horder_right_witnessspecialize prime_field_polynomial_equivalent_symmetric (bb)specialize prime_field_polynomial_equivalent_symmetric (bc)specialize prime_field_polynomial_equivalent_symmetric (M)specialize prime_field_polynomial_equivalent_symmetric (BB)specialize prime_field_polynomial_equivalent_symmetric (BC)specialize prime_field_polynomial_equivalent_symmetric (H)apply prime_field_polynomial_equivalent_symmetricexact hespecialize prime_field_polynomial_equivalent_symmetric (CB)specialize prime_field_polynomial_equivalent_symmetric (CC)specialize prime_field_polynomial_equivalent_symmetric (K)specialize prime_field_polynomial_equivalent_symmetric (cb)specialize prime_field_polynomial_equivalent_symmetric (cc)specialize prime_field_polynomial_equivalent_symmetric (N)apply prime_field_polynomial_equivalent_symmetricspecialize prime_field_polynomial_convolution_left_padding_equivalent_right (p)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ab)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (ac)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (L)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (BB)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (BC)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (H)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (CB)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (CC)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (K)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (bb)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (bc)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (x)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (cb)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (cc)specialize prime_field_polynomial_convolution_left_padding_equivalent_right (N)apply prime_field_polynomial_convolution_left_padding_equivalent_rightexact hpexact hpaddingexact hdrewrite horder_right_witnessrewrite horder_right_witnessrewrite horder_right_witnessrewrite horder_right_witnessrewrite horder_right_witnessrewrite horder_right_witnessexact hc
prime_field_polynomial_convolution_empty · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc. (forall fom_index_pfp_convolution_empty_left. (exists fom_gap_pfp_convolution_empty_left_index_bound. fom_gap_pfp_convolution_empty_left_index_bound + S (fom_index_pfp_convolution_empty_left) = L) -> exists fom_value_pfp_convolution_empty_left. ((((exists fom_beta_height_pfp_convolution_empty_left_entry. fom_beta_height_pfp_convolution_empty_left_entry + S (fom_value_pfp_convolution_empty_left) = S ((S (fom_index_pfp_convolution_empty_left)) * ac)) /\ exists fom_beta_quotient_pfp_convolution_empty_left_entry. ab = fom_beta_quotient_pfp_convolution_empty_left_entry * S ((S (fom_index_pfp_convolution_empty_left)) * ac) + (fom_value_pfp_convolution_empty_left))) /\ (exists fom_gap_pfp_convolution_empty_left_value_bound. fom_gap_pfp_convolution_empty_left_value_bound + S (fom_value_pfp_convolution_empty_left) = p))) -> (forall fom_index_pfp_convolution_empty_right. (exists fom_gap_pfp_convolution_empty_right_index_bound. fom_gap_pfp_convolution_empty_right_index_bound + S (fom_index_pfp_convolution_empty_right) = M) -> exists fom_value_pfp_convolution_empty_right. ((((exists fom_beta_height_pfp_convolution_empty_right_entry. fom_beta_height_pfp_convolution_empty_right_entry + S (fom_value_pfp_convolution_empty_right) = S ((S (fom_index_pfp_convolution_empty_right)) * bc)) /\ exists fom_beta_quotient_pfp_convolution_empty_right_entry. bb = fom_beta_quotient_pfp_convolution_empty_right_entry * S ((S (fom_index_pfp_convolution_empty_right)) * bc) + (fom_value_pfp_convolution_empty_right))) /\ (exists fom_gap_pfp_convolution_empty_right_value_bound. fom_gap_pfp_convolution_empty_right_value_bound + S (fom_value_pfp_convolution_empty_right) = p))) -> (L=0 \/ M=0) -> (((forall fom_index_pfp_convolution_empty_resultleft. (exists fom_gap_pfp_convolution_empty_resultleft_index_bound. fom_gap_pfp_convolution_empty_resultleft_index_bound + S (fom_index_pfp_convolution_empty_resultleft) = L) -> exists fom_value_pfp_convolution_empty_resultleft. ((((exists fom_beta_height_pfp_convolution_empty_resultleft_entry. fom_beta_height_pfp_convolution_empty_resultleft_entry + S (fom_value_pfp_convolution_empty_resultleft) = S ((S (fom_index_pfp_convolution_empty_resultleft)) * ac)) /\ exists fom_beta_quotient_pfp_convolution_empty_resultleft_entry. ab = fom_beta_quotient_pfp_convolution_empty_resultleft_entry * S ((S (fom_index_pfp_convolution_empty_resultleft)) * ac) + (fom_value_pfp_convolution_empty_resultleft))) /\ (exists fom_gap_pfp_convolution_empty_resultleft_value_bound. fom_gap_pfp_convolution_empty_resultleft_value_bound + S (fom_value_pfp_convolution_empty_resultleft) = p))) /\ (((forall fom_index_pfp_convolution_empty_resultright. (exists fom_gap_pfp_convolution_empty_resultright_index_bound. fom_gap_pfp_convolution_empty_resultright_index_bound + S (fom_index_pfp_convolution_empty_resultright) = M) -> exists fom_value_pfp_convolution_empty_resultright. ((((exists fom_beta_height_pfp_convolution_empty_resultright_entry. fom_beta_height_pfp_convolution_empty_resultright_entry + S (fom_value_pfp_convolution_empty_resultright) = S ((S (fom_index_pfp_convolution_empty_resultright)) * bc)) /\ exists fom_beta_quotient_pfp_convolution_empty_resultright_entry. bb = fom_beta_quotient_pfp_convolution_empty_resultright_entry * S ((S (fom_index_pfp_convolution_empty_resultright)) * bc) + (fom_value_pfp_convolution_empty_resultright))) /\ (exists fom_gap_pfp_convolution_empty_resultright_value_bound. fom_gap_pfp_convolution_empty_resultright_value_bound + S (fom_value_pfp_convolution_empty_resultright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((0)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (0)))))))) /\ ((forall pfc_index_convolution_empty_resultcoefficients. (exists pfa_gap_convolution_empty_resultcoefficientsbound. pfa_gap_convolution_empty_resultcoefficientsbound + S (pfc_index_convolution_empty_resultcoefficients) = (0)) -> exists pfc_value_convolution_empty_resultcoefficients. ((((exists ff_h_pfp_convolution_empty_resultcoefficientsentry. ff_h_pfp_convolution_empty_resultcoefficientsentry + S (pfc_value_convolution_empty_resultcoefficients) = S ((S (pfc_index_convolution_empty_resultcoefficients)) * cc)) /\ exists ff_q_pfp_convolution_empty_resultcoefficientsentry. cb = ff_q_pfp_convolution_empty_resultcoefficientsentry * S ((S (pfc_index_convolution_empty_resultcoefficients)) * cc) + (pfc_value_convolution_empty_resultcoefficients))) /\ ((exists pfc_terms_code_convolution_empty_resultcoefficientscoefficient pfc_terms_scale_convolution_empty_resultcoefficientscoefficient pfc_natural_sum_convolution_empty_resultcoefficientscoefficient. ((forall pfc_index_convolution_empty_resultcoefficientscoefficientdiagonal. (exists pfa_gap_convolution_empty_resultcoefficientscoefficientdiagonalbound. pfa_gap_convolution_empty_resultcoefficientscoefficientdiagonalbound + S (pfc_index_convolution_empty_resultcoefficientscoefficientdiagonal) = (S (pfc_index_convolution_empty_resultcoefficients))) -> exists pfc_value_convolution_empty_resultcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_convolution_empty_resultcoefficientscoefficientdiagonalentry. ff_h_pfp_convolution_empty_resultcoefficientscoefficientdiagonalentry + S (pfc_value_convolution_empty_resultcoefficientscoefficientdiagonal) = S ((S (pfc_index_convolution_empty_resultcoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_empty_resultcoefficientscoefficient)) /\ exists ff_q_pfp_convolution_empty_resultcoefficientscoefficientdiagonalentry. pfc_terms_code_convolution_empty_resultcoefficientscoefficient = ff_q_pfp_convolution_empty_resultcoefficientscoefficientdiagonalentry * S ((S (pfc_index_convolution_empty_resultcoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_empty_resultcoefficientscoefficient) + (pfc_value_convolution_empty_resultcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_convolution_empty_resultcoefficientscoefficientdiagonalterm pfc_left_convolution_empty_resultcoefficientscoefficientdiagonalterm pfc_right_convolution_empty_resultcoefficientscoefficientdiagonalterm. (((pfc_index_convolution_empty_resultcoefficientscoefficientdiagonal)+pfc_complement_convolution_empty_resultcoefficientscoefficientdiagonalterm=(pfc_index_convolution_empty_resultcoefficients)) /\ ((((((exists pfa_gap_convolution_empty_resultcoefficientscoefficientdiagonaltermleftinside. pfa_gap_convolution_empty_resultcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_convolution_empty_resultcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_empty_resultcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_convolution_empty_resultcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_convolution_empty_resultcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_convolution_empty_resultcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_empty_resultcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_convolution_empty_resultcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_convolution_empty_resultcoefficientscoefficientdiagonal)) * ac) + (pfc_left_convolution_empty_resultcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_empty_resultcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_convolution_empty_resultcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_convolution_empty_resultcoefficientscoefficientdiagonal)) /\ (((pfc_left_convolution_empty_resultcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_empty_resultcoefficientscoefficientdiagonaltermrightinside. pfa_gap_convolution_empty_resultcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_convolution_empty_resultcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_empty_resultcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_convolution_empty_resultcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_convolution_empty_resultcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_convolution_empty_resultcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_empty_resultcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_convolution_empty_resultcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_convolution_empty_resultcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_convolution_empty_resultcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_empty_resultcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_convolution_empty_resultcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_convolution_empty_resultcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_convolution_empty_resultcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_convolution_empty_resultcoefficientscoefficientdiagonal)=pfc_left_convolution_empty_resultcoefficientscoefficientdiagonalterm*pfc_right_convolution_empty_resultcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_empty_resultcoefficientscoefficientsum fs_v_pfc_convolution_empty_resultcoefficientscoefficientsum. ((((exists fs_h_pfc_convolution_empty_resultcoefficientscoefficientsum_body_start. fs_h_pfc_convolution_empty_resultcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_empty_resultcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_empty_resultcoefficientscoefficientsum_body_start. fs_u_pfc_convolution_empty_resultcoefficientscoefficientsum = fs_q_pfc_convolution_empty_resultcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_convolution_empty_resultcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_convolution_empty_resultcoefficientscoefficientsum_body_terminal. fs_h_pfc_convolution_empty_resultcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_convolution_empty_resultcoefficientscoefficient) = S ((S (S (pfc_index_convolution_empty_resultcoefficients))) * fs_v_pfc_convolution_empty_resultcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_empty_resultcoefficientscoefficientsum_body_terminal. fs_u_pfc_convolution_empty_resultcoefficientscoefficientsum = fs_q_pfc_convolution_empty_resultcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_convolution_empty_resultcoefficients))) * fs_v_pfc_convolution_empty_resultcoefficientscoefficientsum) + (pfc_natural_sum_convolution_empty_resultcoefficientscoefficient))) /\ forall fs_i_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps = S (pfc_index_convolution_empty_resultcoefficients)) -> exists fs_a_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps fs_r_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps fs_s_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_empty_resultcoefficientscoefficient)) /\ exists fs_q_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_convolution_empty_resultcoefficientscoefficient = fs_q_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_empty_resultcoefficientscoefficient) + (fs_a_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_empty_resultcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_convolution_empty_resultcoefficientscoefficientsum = fs_q_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_empty_resultcoefficientscoefficientsum) + (fs_r_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_empty_resultcoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_convolution_empty_resultcoefficientscoefficientsum = fs_q_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_empty_resultcoefficientscoefficientsum) + (fs_s_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps = fs_r_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps + fs_a_pfc_convolution_empty_resultcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_empty_resultcoefficientscoefficientresiduebound. pfa_gap_convolution_empty_resultcoefficientscoefficientresiduebound + S (pfc_value_convolution_empty_resultcoefficients) = (p)) /\ ((exists pfa_offset_left_convolution_empty_resultcoefficientscoefficientresiduecongruence pfa_offset_right_convolution_empty_resultcoefficientscoefficientresiduecongruence. (pfc_natural_sum_convolution_empty_resultcoefficientscoefficient) + (p) * pfa_offset_left_convolution_empty_resultcoefficientscoefficientresiduecongruence = (pfc_value_convolution_empty_resultcoefficients) + (p) * pfa_offset_right_convolution_empty_resultcoefficientscoefficientresiduecongruence)))))))))))))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro haintro hbintro hemptysplitexact hasplitexact hbsplitleftsplitexact hemptyreflintro iintro hiexfalsospecialize lt_not_le (i)specialize lt_not_le (0)apply lt_not_leexact hispecialize zero_le (i)apply zero_le
prime_field_polynomial_convolution_entry · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N i r. (((forall fom_index_pfp_convolution_entry_sourceleft. (exists fom_gap_pfp_convolution_entry_sourceleft_index_bound. fom_gap_pfp_convolution_entry_sourceleft_index_bound + S (fom_index_pfp_convolution_entry_sourceleft) = L) -> exists fom_value_pfp_convolution_entry_sourceleft. ((((exists fom_beta_height_pfp_convolution_entry_sourceleft_entry. fom_beta_height_pfp_convolution_entry_sourceleft_entry + S (fom_value_pfp_convolution_entry_sourceleft) = S ((S (fom_index_pfp_convolution_entry_sourceleft)) * ac)) /\ exists fom_beta_quotient_pfp_convolution_entry_sourceleft_entry. ab = fom_beta_quotient_pfp_convolution_entry_sourceleft_entry * S ((S (fom_index_pfp_convolution_entry_sourceleft)) * ac) + (fom_value_pfp_convolution_entry_sourceleft))) /\ (exists fom_gap_pfp_convolution_entry_sourceleft_value_bound. fom_gap_pfp_convolution_entry_sourceleft_value_bound + S (fom_value_pfp_convolution_entry_sourceleft) = p))) /\ (((forall fom_index_pfp_convolution_entry_sourceright. (exists fom_gap_pfp_convolution_entry_sourceright_index_bound. fom_gap_pfp_convolution_entry_sourceright_index_bound + S (fom_index_pfp_convolution_entry_sourceright) = M) -> exists fom_value_pfp_convolution_entry_sourceright. ((((exists fom_beta_height_pfp_convolution_entry_sourceright_entry. fom_beta_height_pfp_convolution_entry_sourceright_entry + S (fom_value_pfp_convolution_entry_sourceright) = S ((S (fom_index_pfp_convolution_entry_sourceright)) * bc)) /\ exists fom_beta_quotient_pfp_convolution_entry_sourceright_entry. bb = fom_beta_quotient_pfp_convolution_entry_sourceright_entry * S ((S (fom_index_pfp_convolution_entry_sourceright)) * bc) + (fom_value_pfp_convolution_entry_sourceright))) /\ (exists fom_gap_pfp_convolution_entry_sourceright_value_bound. fom_gap_pfp_convolution_entry_sourceright_value_bound + S (fom_value_pfp_convolution_entry_sourceright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_convolution_entry_sourcecoefficients. (exists pfa_gap_convolution_entry_sourcecoefficientsbound. pfa_gap_convolution_entry_sourcecoefficientsbound + S (pfc_index_convolution_entry_sourcecoefficients) = (N)) -> exists pfc_value_convolution_entry_sourcecoefficients. ((((exists ff_h_pfp_convolution_entry_sourcecoefficientsentry. ff_h_pfp_convolution_entry_sourcecoefficientsentry + S (pfc_value_convolution_entry_sourcecoefficients) = S ((S (pfc_index_convolution_entry_sourcecoefficients)) * cc)) /\ exists ff_q_pfp_convolution_entry_sourcecoefficientsentry. cb = ff_q_pfp_convolution_entry_sourcecoefficientsentry * S ((S (pfc_index_convolution_entry_sourcecoefficients)) * cc) + (pfc_value_convolution_entry_sourcecoefficients))) /\ ((exists pfc_terms_code_convolution_entry_sourcecoefficientscoefficient pfc_terms_scale_convolution_entry_sourcecoefficientscoefficient pfc_natural_sum_convolution_entry_sourcecoefficientscoefficient. ((forall pfc_index_convolution_entry_sourcecoefficientscoefficientdiagonal. (exists pfa_gap_convolution_entry_sourcecoefficientscoefficientdiagonalbound. pfa_gap_convolution_entry_sourcecoefficientscoefficientdiagonalbound + S (pfc_index_convolution_entry_sourcecoefficientscoefficientdiagonal) = (S (pfc_index_convolution_entry_sourcecoefficients))) -> exists pfc_value_convolution_entry_sourcecoefficientscoefficientdiagonal. ((((exists ff_h_pfp_convolution_entry_sourcecoefficientscoefficientdiagonalentry. ff_h_pfp_convolution_entry_sourcecoefficientscoefficientdiagonalentry + S (pfc_value_convolution_entry_sourcecoefficientscoefficientdiagonal) = S ((S (pfc_index_convolution_entry_sourcecoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_entry_sourcecoefficientscoefficient)) /\ exists ff_q_pfp_convolution_entry_sourcecoefficientscoefficientdiagonalentry. pfc_terms_code_convolution_entry_sourcecoefficientscoefficient = ff_q_pfp_convolution_entry_sourcecoefficientscoefficientdiagonalentry * S ((S (pfc_index_convolution_entry_sourcecoefficientscoefficientdiagonal)) * pfc_terms_scale_convolution_entry_sourcecoefficientscoefficient) + (pfc_value_convolution_entry_sourcecoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_convolution_entry_sourcecoefficientscoefficientdiagonalterm pfc_left_convolution_entry_sourcecoefficientscoefficientdiagonalterm pfc_right_convolution_entry_sourcecoefficientscoefficientdiagonalterm. (((pfc_index_convolution_entry_sourcecoefficientscoefficientdiagonal)+pfc_complement_convolution_entry_sourcecoefficientscoefficientdiagonalterm=(pfc_index_convolution_entry_sourcecoefficients)) /\ ((((((exists pfa_gap_convolution_entry_sourcecoefficientscoefficientdiagonaltermleftinside. pfa_gap_convolution_entry_sourcecoefficientscoefficientdiagonaltermleftinside + S (pfc_index_convolution_entry_sourcecoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_entry_sourcecoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_convolution_entry_sourcecoefficientscoefficientdiagonaltermleftentry + S (pfc_left_convolution_entry_sourcecoefficientscoefficientdiagonalterm) = S ((S (pfc_index_convolution_entry_sourcecoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_entry_sourcecoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_convolution_entry_sourcecoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_convolution_entry_sourcecoefficientscoefficientdiagonal)) * ac) + (pfc_left_convolution_entry_sourcecoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_entry_sourcecoefficientscoefficientdiagonaltermleftoutside. pfc_gap_convolution_entry_sourcecoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_convolution_entry_sourcecoefficientscoefficientdiagonal)) /\ (((pfc_left_convolution_entry_sourcecoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_entry_sourcecoefficientscoefficientdiagonaltermrightinside. pfa_gap_convolution_entry_sourcecoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_convolution_entry_sourcecoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_entry_sourcecoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_convolution_entry_sourcecoefficientscoefficientdiagonaltermrightentry + S (pfc_right_convolution_entry_sourcecoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_convolution_entry_sourcecoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_entry_sourcecoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_convolution_entry_sourcecoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_convolution_entry_sourcecoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_convolution_entry_sourcecoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_convolution_entry_sourcecoefficientscoefficientdiagonaltermrightoutside. pfc_gap_convolution_entry_sourcecoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_convolution_entry_sourcecoefficientscoefficientdiagonalterm)) /\ (((pfc_right_convolution_entry_sourcecoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_convolution_entry_sourcecoefficientscoefficientdiagonal)=pfc_left_convolution_entry_sourcecoefficientscoefficientdiagonalterm*pfc_right_convolution_entry_sourcecoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_entry_sourcecoefficientscoefficientsum fs_v_pfc_convolution_entry_sourcecoefficientscoefficientsum. ((((exists fs_h_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_start. fs_h_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_entry_sourcecoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_start. fs_u_pfc_convolution_entry_sourcecoefficientscoefficientsum = fs_q_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_convolution_entry_sourcecoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_terminal. fs_h_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_convolution_entry_sourcecoefficientscoefficient) = S ((S (S (pfc_index_convolution_entry_sourcecoefficients))) * fs_v_pfc_convolution_entry_sourcecoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_terminal. fs_u_pfc_convolution_entry_sourcecoefficientscoefficientsum = fs_q_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_convolution_entry_sourcecoefficients))) * fs_v_pfc_convolution_entry_sourcecoefficientscoefficientsum) + (pfc_natural_sum_convolution_entry_sourcecoefficientscoefficient))) /\ forall fs_i_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps = S (pfc_index_convolution_entry_sourcecoefficients)) -> exists fs_a_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps fs_r_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps fs_s_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_summand. fs_h_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_entry_sourcecoefficientscoefficient)) /\ exists fs_q_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_summand. pfc_terms_code_convolution_entry_sourcecoefficientscoefficient = fs_q_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps)) * pfc_terms_scale_convolution_entry_sourcecoefficientscoefficient) + (fs_a_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_partial. fs_h_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_entry_sourcecoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_partial. fs_u_pfc_convolution_entry_sourcecoefficientscoefficientsum = fs_q_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_entry_sourcecoefficientscoefficientsum) + (fs_r_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_successor. fs_h_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_entry_sourcecoefficientscoefficientsum)) /\ exists fs_q_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_successor. fs_u_pfc_convolution_entry_sourcecoefficientscoefficientsum = fs_q_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps)) * fs_v_pfc_convolution_entry_sourcecoefficientscoefficientsum) + (fs_s_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps = fs_r_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps + fs_a_pfc_convolution_entry_sourcecoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_entry_sourcecoefficientscoefficientresiduebound. pfa_gap_convolution_entry_sourcecoefficientscoefficientresiduebound + S (pfc_value_convolution_entry_sourcecoefficients) = (p)) /\ ((exists pfa_offset_left_convolution_entry_sourcecoefficientscoefficientresiduecongruence pfa_offset_right_convolution_entry_sourcecoefficientscoefficientresiduecongruence. (pfc_natural_sum_convolution_entry_sourcecoefficientscoefficient) + (p) * pfa_offset_left_convolution_entry_sourcecoefficientscoefficientresiduecongruence = (pfc_value_convolution_entry_sourcecoefficients) + (p) * pfa_offset_right_convolution_entry_sourcecoefficientscoefficientresiduecongruence))))))))))))))))))) -> (exists pfa_gap_convolution_entry_bound. pfa_gap_convolution_entry_bound + S (i) = (N)) -> (((exists ff_h_pfp_convolution_entry_given. ff_h_pfp_convolution_entry_given + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_convolution_entry_given. cb = ff_q_pfp_convolution_entry_given * S ((S (i)) * cc) + (r))) -> (exists pfc_terms_code_convolution_entry_result pfc_terms_scale_convolution_entry_result pfc_natural_sum_convolution_entry_result. ((forall pfc_index_convolution_entry_resultdiagonal. (exists pfa_gap_convolution_entry_resultdiagonalbound. pfa_gap_convolution_entry_resultdiagonalbound + S (pfc_index_convolution_entry_resultdiagonal) = (S (i))) -> exists pfc_value_convolution_entry_resultdiagonal. ((((exists ff_h_pfp_convolution_entry_resultdiagonalentry. ff_h_pfp_convolution_entry_resultdiagonalentry + S (pfc_value_convolution_entry_resultdiagonal) = S ((S (pfc_index_convolution_entry_resultdiagonal)) * pfc_terms_scale_convolution_entry_result)) /\ exists ff_q_pfp_convolution_entry_resultdiagonalentry. pfc_terms_code_convolution_entry_result = ff_q_pfp_convolution_entry_resultdiagonalentry * S ((S (pfc_index_convolution_entry_resultdiagonal)) * pfc_terms_scale_convolution_entry_result) + (pfc_value_convolution_entry_resultdiagonal))) /\ ((exists pfc_complement_convolution_entry_resultdiagonalterm pfc_left_convolution_entry_resultdiagonalterm pfc_right_convolution_entry_resultdiagonalterm. (((pfc_index_convolution_entry_resultdiagonal)+pfc_complement_convolution_entry_resultdiagonalterm=(i)) /\ ((((((exists pfa_gap_convolution_entry_resultdiagonaltermleftinside. pfa_gap_convolution_entry_resultdiagonaltermleftinside + S (pfc_index_convolution_entry_resultdiagonal) = (L)) /\ ((((exists ff_h_pfp_convolution_entry_resultdiagonaltermleftentry. ff_h_pfp_convolution_entry_resultdiagonaltermleftentry + S (pfc_left_convolution_entry_resultdiagonalterm) = S ((S (pfc_index_convolution_entry_resultdiagonal)) * ac)) /\ exists ff_q_pfp_convolution_entry_resultdiagonaltermleftentry. ab = ff_q_pfp_convolution_entry_resultdiagonaltermleftentry * S ((S (pfc_index_convolution_entry_resultdiagonal)) * ac) + (pfc_left_convolution_entry_resultdiagonalterm)))))) \/ (((exists pfc_gap_convolution_entry_resultdiagonaltermleftoutside. pfc_gap_convolution_entry_resultdiagonaltermleftoutside+(L)=(pfc_index_convolution_entry_resultdiagonal)) /\ (((pfc_left_convolution_entry_resultdiagonalterm)=0))))) /\ ((((((exists pfa_gap_convolution_entry_resultdiagonaltermrightinside. pfa_gap_convolution_entry_resultdiagonaltermrightinside + S (pfc_complement_convolution_entry_resultdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_convolution_entry_resultdiagonaltermrightentry. ff_h_pfp_convolution_entry_resultdiagonaltermrightentry + S (pfc_right_convolution_entry_resultdiagonalterm) = S ((S (pfc_complement_convolution_entry_resultdiagonalterm)) * bc)) /\ exists ff_q_pfp_convolution_entry_resultdiagonaltermrightentry. bb = ff_q_pfp_convolution_entry_resultdiagonaltermrightentry * S ((S (pfc_complement_convolution_entry_resultdiagonalterm)) * bc) + (pfc_right_convolution_entry_resultdiagonalterm)))))) \/ (((exists pfc_gap_convolution_entry_resultdiagonaltermrightoutside. pfc_gap_convolution_entry_resultdiagonaltermrightoutside+(M)=(pfc_complement_convolution_entry_resultdiagonalterm)) /\ (((pfc_right_convolution_entry_resultdiagonalterm)=0))))) /\ (((pfc_value_convolution_entry_resultdiagonal)=pfc_left_convolution_entry_resultdiagonalterm*pfc_right_convolution_entry_resultdiagonalterm))))))))))) /\ (((exists fs_u_pfc_convolution_entry_resultsum fs_v_pfc_convolution_entry_resultsum. ((((exists fs_h_pfc_convolution_entry_resultsum_body_start. fs_h_pfc_convolution_entry_resultsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_convolution_entry_resultsum)) /\ exists fs_q_pfc_convolution_entry_resultsum_body_start. fs_u_pfc_convolution_entry_resultsum = fs_q_pfc_convolution_entry_resultsum_body_start * S ((S (0)) * fs_v_pfc_convolution_entry_resultsum) + (0))) /\ ((((exists fs_h_pfc_convolution_entry_resultsum_body_terminal. fs_h_pfc_convolution_entry_resultsum_body_terminal + S (pfc_natural_sum_convolution_entry_result) = S ((S (S (i))) * fs_v_pfc_convolution_entry_resultsum)) /\ exists fs_q_pfc_convolution_entry_resultsum_body_terminal. fs_u_pfc_convolution_entry_resultsum = fs_q_pfc_convolution_entry_resultsum_body_terminal * S ((S (S (i))) * fs_v_pfc_convolution_entry_resultsum) + (pfc_natural_sum_convolution_entry_result))) /\ forall fs_i_pfc_convolution_entry_resultsum_body_steps. (exists fs_lt_pfc_convolution_entry_resultsum_body_steps_bound. fs_lt_pfc_convolution_entry_resultsum_body_steps_bound + S fs_i_pfc_convolution_entry_resultsum_body_steps = S (i)) -> exists fs_a_pfc_convolution_entry_resultsum_body_steps fs_r_pfc_convolution_entry_resultsum_body_steps fs_s_pfc_convolution_entry_resultsum_body_steps. ((((exists fs_h_pfc_convolution_entry_resultsum_body_steps_summand. fs_h_pfc_convolution_entry_resultsum_body_steps_summand + S (fs_a_pfc_convolution_entry_resultsum_body_steps) = S ((S (fs_i_pfc_convolution_entry_resultsum_body_steps)) * pfc_terms_scale_convolution_entry_result)) /\ exists fs_q_pfc_convolution_entry_resultsum_body_steps_summand. pfc_terms_code_convolution_entry_result = fs_q_pfc_convolution_entry_resultsum_body_steps_summand * S ((S (fs_i_pfc_convolution_entry_resultsum_body_steps)) * pfc_terms_scale_convolution_entry_result) + (fs_a_pfc_convolution_entry_resultsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_entry_resultsum_body_steps_partial. fs_h_pfc_convolution_entry_resultsum_body_steps_partial + S (fs_r_pfc_convolution_entry_resultsum_body_steps) = S ((S (fs_i_pfc_convolution_entry_resultsum_body_steps)) * fs_v_pfc_convolution_entry_resultsum)) /\ exists fs_q_pfc_convolution_entry_resultsum_body_steps_partial. fs_u_pfc_convolution_entry_resultsum = fs_q_pfc_convolution_entry_resultsum_body_steps_partial * S ((S (fs_i_pfc_convolution_entry_resultsum_body_steps)) * fs_v_pfc_convolution_entry_resultsum) + (fs_r_pfc_convolution_entry_resultsum_body_steps))) /\ ((((exists fs_h_pfc_convolution_entry_resultsum_body_steps_successor. fs_h_pfc_convolution_entry_resultsum_body_steps_successor + S (fs_s_pfc_convolution_entry_resultsum_body_steps) = S ((S (S fs_i_pfc_convolution_entry_resultsum_body_steps)) * fs_v_pfc_convolution_entry_resultsum)) /\ exists fs_q_pfc_convolution_entry_resultsum_body_steps_successor. fs_u_pfc_convolution_entry_resultsum = fs_q_pfc_convolution_entry_resultsum_body_steps_successor * S ((S (S fs_i_pfc_convolution_entry_resultsum_body_steps)) * fs_v_pfc_convolution_entry_resultsum) + (fs_s_pfc_convolution_entry_resultsum_body_steps))) /\ fs_s_pfc_convolution_entry_resultsum_body_steps = fs_r_pfc_convolution_entry_resultsum_body_steps + fs_a_pfc_convolution_entry_resultsum_body_steps)))))) /\ ((((exists pfa_gap_convolution_entry_resultresiduebound. pfa_gap_convolution_entry_resultresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_convolution_entry_resultresiduecongruence pfa_offset_right_convolution_entry_resultresiduecongruence. (pfc_natural_sum_convolution_entry_result) + (p) * pfa_offset_left_convolution_entry_resultresiduecongruence = (r) + (p) * pfa_offset_right_convolution_entry_resultresiduecongruence)))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro iintro rintro hintro hiintro hrcases hcases h_rightcases h_right_rightspecialize prime_field_convolution_prefix_entry (p)specialize prime_field_convolution_prefix_entry (ab)specialize prime_field_convolution_prefix_entry (ac)specialize prime_field_convolution_prefix_entry (L)specialize prime_field_convolution_prefix_entry (bb)specialize prime_field_convolution_prefix_entry (bc)specialize prime_field_convolution_prefix_entry (M)specialize prime_field_convolution_prefix_entry (cb)specialize prime_field_convolution_prefix_entry (cc)specialize prime_field_convolution_prefix_entry (N)specialize prime_field_convolution_prefix_entry (i)specialize prime_field_convolution_prefix_entry (r)apply prime_field_convolution_prefix_entryexact h_right_right_rightexact hiexact hr
prime_field_polynomial_repeat_coefficients · unchanged support, not a new admission
forall p b c a l. (exists pfa_gap_constant_bound. pfa_gap_constant_bound + S (a) = (p)) -> (forall pfp_repeat_index_constant_repeat. (exists pfa_gap_constant_repeatindex. pfa_gap_constant_repeatindex + S (pfp_repeat_index_constant_repeat) = (l)) -> (((exists ff_h_pfp_constant_repeatentry. ff_h_pfp_constant_repeatentry + S (a) = S ((S (pfp_repeat_index_constant_repeat)) * c)) /\ exists ff_q_pfp_constant_repeatentry. b = ff_q_pfp_constant_repeatentry * S ((S (pfp_repeat_index_constant_repeat)) * c) + (a)))) -> (forall fom_index_pfp_constant_result. (exists fom_gap_pfp_constant_result_index_bound. fom_gap_pfp_constant_result_index_bound + S (fom_index_pfp_constant_result) = l) -> exists fom_value_pfp_constant_result. ((((exists fom_beta_height_pfp_constant_result_entry. fom_beta_height_pfp_constant_result_entry + S (fom_value_pfp_constant_result) = S ((S (fom_index_pfp_constant_result)) * c)) /\ exists fom_beta_quotient_pfp_constant_result_entry. b = fom_beta_quotient_pfp_constant_result_entry * S ((S (fom_index_pfp_constant_result)) * c) + (fom_value_pfp_constant_result))) /\ (exists fom_gap_pfp_constant_result_value_bound. fom_gap_pfp_constant_result_value_bound + S (fom_value_pfp_constant_result) = p)))
intro pintro bintro cintro aintro lintro haintro hrintro iintro hiexists asplitspecialize hr (i)apply hrexact hiexact ha
prime_field_polynomial_repeat_exists · unchanged support, not a new admission
forall p a l. (exists pfa_gap_repeat_domain. pfa_gap_repeat_domain + S (a) = (p)) -> exists b c. ((forall fom_index_pfp_repeat_table. (exists fom_gap_pfp_repeat_table_index_bound. fom_gap_pfp_repeat_table_index_bound + S (fom_index_pfp_repeat_table) = l) -> exists fom_value_pfp_repeat_table. ((((exists fom_beta_height_pfp_repeat_table_entry. fom_beta_height_pfp_repeat_table_entry + S (fom_value_pfp_repeat_table) = S ((S (fom_index_pfp_repeat_table)) * c)) /\ exists fom_beta_quotient_pfp_repeat_table_entry. b = fom_beta_quotient_pfp_repeat_table_entry * S ((S (fom_index_pfp_repeat_table)) * c) + (fom_value_pfp_repeat_table))) /\ (exists fom_gap_pfp_repeat_table_value_bound. fom_gap_pfp_repeat_table_value_bound + S (fom_value_pfp_repeat_table) = p))) /\ ((forall pfp_repeat_index_repeat_value. (exists pfa_gap_repeat_valueindex. pfa_gap_repeat_valueindex + S (pfp_repeat_index_repeat_value) = (l)) -> (((exists ff_h_pfp_repeat_valueentry. ff_h_pfp_repeat_valueentry + S (a) = S ((S (pfp_repeat_index_repeat_value)) * c)) /\ exists ff_q_pfp_repeat_valueentry. b = ff_q_pfp_repeat_valueentry * S ((S (pfp_repeat_index_repeat_value)) * c) + (a))))))
intro pintro aintro lintro hahave hr : exists b c. (forall pfp_repeat_index_repeat_chosen. (exists pfa_gap_repeat_chosenindex. pfa_gap_repeat_chosenindex + S (pfp_repeat_index_repeat_chosen) = (l)) -> (((exists ff_h_pfp_repeat_chosenentry. ff_h_pfp_repeat_chosenentry + S (a) = S ((S (pfp_repeat_index_repeat_chosen)) * c)) /\ exists ff_q_pfp_repeat_chosenentry. b = ff_q_pfp_repeat_chosenentry * S ((S (pfp_repeat_index_repeat_chosen)) * c) + (a))))specialize beta_repeat_exists (a)specialize beta_repeat_exists (l)apply beta_repeat_existscases hrcases hr_witnessexists xexists x1splitspecialize prime_field_polynomial_repeat_coefficients (p)specialize prime_field_polynomial_repeat_coefficients (x)specialize prime_field_polynomial_repeat_coefficients (x1)specialize prime_field_polynomial_repeat_coefficients (a)specialize prime_field_polynomial_repeat_coefficients (l)apply prime_field_polynomial_repeat_coefficientsexact haexact hr_witness_witnessexact hr_witness_witness
prime_field_polynomial_add_commutative · unchanged support, not a new admission
forall p ab ac bb bc cb cc l. (forall pfp_index_add_comm_old. (exists pfa_gap_add_comm_oldindex. pfa_gap_add_comm_oldindex + S (pfp_index_add_comm_old) = (l)) -> exists pfp_left_add_comm_old pfp_right_add_comm_old pfp_value_add_comm_old. ((((exists ff_h_pfp_add_comm_oldleft. ff_h_pfp_add_comm_oldleft + S (pfp_left_add_comm_old) = S ((S (pfp_index_add_comm_old)) * ac)) /\ exists ff_q_pfp_add_comm_oldleft. ab = ff_q_pfp_add_comm_oldleft * S ((S (pfp_index_add_comm_old)) * ac) + (pfp_left_add_comm_old))) /\ (((((exists ff_h_pfp_add_comm_oldright. ff_h_pfp_add_comm_oldright + S (pfp_right_add_comm_old) = S ((S (pfp_index_add_comm_old)) * bc)) /\ exists ff_q_pfp_add_comm_oldright. bb = ff_q_pfp_add_comm_oldright * S ((S (pfp_index_add_comm_old)) * bc) + (pfp_right_add_comm_old))) /\ (((((exists ff_h_pfp_add_comm_oldtarget. ff_h_pfp_add_comm_oldtarget + S (pfp_value_add_comm_old) = S ((S (pfp_index_add_comm_old)) * cc)) /\ exists ff_q_pfp_add_comm_oldtarget. cb = ff_q_pfp_add_comm_oldtarget * S ((S (pfp_index_add_comm_old)) * cc) + (pfp_value_add_comm_old))) /\ ((((exists pfa_gap_add_comm_oldoperationleft. pfa_gap_add_comm_oldoperationleft + S (pfp_left_add_comm_old) = (p)) /\ (((exists pfa_gap_add_comm_oldoperationright. pfa_gap_add_comm_oldoperationright + S (pfp_right_add_comm_old) = (p)) /\ ((((exists pfa_gap_add_comm_oldoperationresultbound. pfa_gap_add_comm_oldoperationresultbound + S (pfp_value_add_comm_old) = (p)) /\ ((exists pfa_offset_left_add_comm_oldoperationresultcongruence pfa_offset_right_add_comm_oldoperationresultcongruence. ((pfp_left_add_comm_old) + (pfp_right_add_comm_old)) + (p) * pfa_offset_left_add_comm_oldoperationresultcongruence = (pfp_value_add_comm_old) + (p) * pfa_offset_right_add_comm_oldoperationresultcongruence)))))))))))))))) -> (forall pfp_index_add_comm_new. (exists pfa_gap_add_comm_newindex. pfa_gap_add_comm_newindex + S (pfp_index_add_comm_new) = (l)) -> exists pfp_left_add_comm_new pfp_right_add_comm_new pfp_value_add_comm_new. ((((exists ff_h_pfp_add_comm_newleft. ff_h_pfp_add_comm_newleft + S (pfp_left_add_comm_new) = S ((S (pfp_index_add_comm_new)) * bc)) /\ exists ff_q_pfp_add_comm_newleft. bb = ff_q_pfp_add_comm_newleft * S ((S (pfp_index_add_comm_new)) * bc) + (pfp_left_add_comm_new))) /\ (((((exists ff_h_pfp_add_comm_newright. ff_h_pfp_add_comm_newright + S (pfp_right_add_comm_new) = S ((S (pfp_index_add_comm_new)) * ac)) /\ exists ff_q_pfp_add_comm_newright. ab = ff_q_pfp_add_comm_newright * S ((S (pfp_index_add_comm_new)) * ac) + (pfp_right_add_comm_new))) /\ (((((exists ff_h_pfp_add_comm_newtarget. ff_h_pfp_add_comm_newtarget + S (pfp_value_add_comm_new) = S ((S (pfp_index_add_comm_new)) * cc)) /\ exists ff_q_pfp_add_comm_newtarget. cb = ff_q_pfp_add_comm_newtarget * S ((S (pfp_index_add_comm_new)) * cc) + (pfp_value_add_comm_new))) /\ ((((exists pfa_gap_add_comm_newoperationleft. pfa_gap_add_comm_newoperationleft + S (pfp_left_add_comm_new) = (p)) /\ (((exists pfa_gap_add_comm_newoperationright. pfa_gap_add_comm_newoperationright + S (pfp_right_add_comm_new) = (p)) /\ ((((exists pfa_gap_add_comm_newoperationresultbound. pfa_gap_add_comm_newoperationresultbound + S (pfp_value_add_comm_new) = (p)) /\ ((exists pfa_offset_left_add_comm_newoperationresultcongruence pfa_offset_right_add_comm_newoperationresultcongruence. ((pfp_left_add_comm_new) + (pfp_right_add_comm_new)) + (p) * pfa_offset_left_add_comm_newoperationresultcongruence = (pfp_value_add_comm_new) + (p) * pfa_offset_right_add_comm_newoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro lintro hintro iintro hihave hv : exists a b r. ((((exists ff_h_pfp_add_comm_chosen_a. ff_h_pfp_add_comm_chosen_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_comm_chosen_a. ab = ff_q_pfp_add_comm_chosen_a * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_add_comm_chosen_b. ff_h_pfp_add_comm_chosen_b + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_comm_chosen_b. bb = ff_q_pfp_add_comm_chosen_b * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_add_comm_chosen_r. ff_h_pfp_add_comm_chosen_r + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_add_comm_chosen_r. cb = ff_q_pfp_add_comm_chosen_r * S ((S (i)) * cc) + (r))) /\ ((((exists pfa_gap_add_comm_operationleft. pfa_gap_add_comm_operationleft + S (a) = (p)) /\ (((exists pfa_gap_add_comm_operationright. pfa_gap_add_comm_operationright + S (b) = (p)) /\ ((((exists pfa_gap_add_comm_operationresultbound. pfa_gap_add_comm_operationresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_add_comm_operationresultcongruence pfa_offset_right_add_comm_operationresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_add_comm_operationresultcongruence = (r) + (p) * pfa_offset_right_add_comm_operationresultcongruence)))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightexists x1exists xexists x2splitexact hv_witness_witness_witness_right_leftsplitexact hv_witness_witness_witness_leftsplitexact hv_witness_witness_witness_right_right_leftspecialize prime_field_add_commutative (p)specialize prime_field_add_commutative (x)specialize prime_field_add_commutative (x1)specialize prime_field_add_commutative (x2)apply prime_field_add_commutativeexact hv_witness_witness_witness_right_right_right
prime_field_polynomial_add_transport · unchanged support, not a new admission
forall p ab ac bb bc cb cc AB AC BB BC CB CC l. (forall mdr_i_pfp_add_transport_a mdr_a_pfp_add_transport_a. (exists mdr_gap_pfp_add_transport_ab. mdr_gap_pfp_add_transport_ab + S (mdr_i_pfp_add_transport_a) = (l)) -> (((exists ff_h_mdr_pfp_add_transport_ao. ff_h_mdr_pfp_add_transport_ao + S (mdr_a_pfp_add_transport_a) = S ((S (mdr_i_pfp_add_transport_a)) * ac)) /\ exists ff_q_mdr_pfp_add_transport_ao. ab = ff_q_mdr_pfp_add_transport_ao * S ((S (mdr_i_pfp_add_transport_a)) * ac) + (mdr_a_pfp_add_transport_a))) -> (((exists ff_h_mdr_pfp_add_transport_an. ff_h_mdr_pfp_add_transport_an + S (mdr_a_pfp_add_transport_a) = S ((S (mdr_i_pfp_add_transport_a)) * AC)) /\ exists ff_q_mdr_pfp_add_transport_an. AB = ff_q_mdr_pfp_add_transport_an * S ((S (mdr_i_pfp_add_transport_a)) * AC) + (mdr_a_pfp_add_transport_a)))) -> (forall mdr_i_pfp_add_transport_b mdr_a_pfp_add_transport_b. (exists mdr_gap_pfp_add_transport_bb. mdr_gap_pfp_add_transport_bb + S (mdr_i_pfp_add_transport_b) = (l)) -> (((exists ff_h_mdr_pfp_add_transport_bo. ff_h_mdr_pfp_add_transport_bo + S (mdr_a_pfp_add_transport_b) = S ((S (mdr_i_pfp_add_transport_b)) * bc)) /\ exists ff_q_mdr_pfp_add_transport_bo. bb = ff_q_mdr_pfp_add_transport_bo * S ((S (mdr_i_pfp_add_transport_b)) * bc) + (mdr_a_pfp_add_transport_b))) -> (((exists ff_h_mdr_pfp_add_transport_bn. ff_h_mdr_pfp_add_transport_bn + S (mdr_a_pfp_add_transport_b) = S ((S (mdr_i_pfp_add_transport_b)) * BC)) /\ exists ff_q_mdr_pfp_add_transport_bn. BB = ff_q_mdr_pfp_add_transport_bn * S ((S (mdr_i_pfp_add_transport_b)) * BC) + (mdr_a_pfp_add_transport_b)))) -> (forall mdr_i_pfp_add_transport_c mdr_a_pfp_add_transport_c. (exists mdr_gap_pfp_add_transport_cb. mdr_gap_pfp_add_transport_cb + S (mdr_i_pfp_add_transport_c) = (l)) -> (((exists ff_h_mdr_pfp_add_transport_co. ff_h_mdr_pfp_add_transport_co + S (mdr_a_pfp_add_transport_c) = S ((S (mdr_i_pfp_add_transport_c)) * cc)) /\ exists ff_q_mdr_pfp_add_transport_co. cb = ff_q_mdr_pfp_add_transport_co * S ((S (mdr_i_pfp_add_transport_c)) * cc) + (mdr_a_pfp_add_transport_c))) -> (((exists ff_h_mdr_pfp_add_transport_cn. ff_h_mdr_pfp_add_transport_cn + S (mdr_a_pfp_add_transport_c) = S ((S (mdr_i_pfp_add_transport_c)) * CC)) /\ exists ff_q_mdr_pfp_add_transport_cn. CB = ff_q_mdr_pfp_add_transport_cn * S ((S (mdr_i_pfp_add_transport_c)) * CC) + (mdr_a_pfp_add_transport_c)))) -> (forall pfp_index_add_transport_old. (exists pfa_gap_add_transport_oldindex. pfa_gap_add_transport_oldindex + S (pfp_index_add_transport_old) = (l)) -> exists pfp_left_add_transport_old pfp_right_add_transport_old pfp_value_add_transport_old. ((((exists ff_h_pfp_add_transport_oldleft. ff_h_pfp_add_transport_oldleft + S (pfp_left_add_transport_old) = S ((S (pfp_index_add_transport_old)) * ac)) /\ exists ff_q_pfp_add_transport_oldleft. ab = ff_q_pfp_add_transport_oldleft * S ((S (pfp_index_add_transport_old)) * ac) + (pfp_left_add_transport_old))) /\ (((((exists ff_h_pfp_add_transport_oldright. ff_h_pfp_add_transport_oldright + S (pfp_right_add_transport_old) = S ((S (pfp_index_add_transport_old)) * bc)) /\ exists ff_q_pfp_add_transport_oldright. bb = ff_q_pfp_add_transport_oldright * S ((S (pfp_index_add_transport_old)) * bc) + (pfp_right_add_transport_old))) /\ (((((exists ff_h_pfp_add_transport_oldtarget. ff_h_pfp_add_transport_oldtarget + S (pfp_value_add_transport_old) = S ((S (pfp_index_add_transport_old)) * cc)) /\ exists ff_q_pfp_add_transport_oldtarget. cb = ff_q_pfp_add_transport_oldtarget * S ((S (pfp_index_add_transport_old)) * cc) + (pfp_value_add_transport_old))) /\ ((((exists pfa_gap_add_transport_oldoperationleft. pfa_gap_add_transport_oldoperationleft + S (pfp_left_add_transport_old) = (p)) /\ (((exists pfa_gap_add_transport_oldoperationright. pfa_gap_add_transport_oldoperationright + S (pfp_right_add_transport_old) = (p)) /\ ((((exists pfa_gap_add_transport_oldoperationresultbound. pfa_gap_add_transport_oldoperationresultbound + S (pfp_value_add_transport_old) = (p)) /\ ((exists pfa_offset_left_add_transport_oldoperationresultcongruence pfa_offset_right_add_transport_oldoperationresultcongruence. ((pfp_left_add_transport_old) + (pfp_right_add_transport_old)) + (p) * pfa_offset_left_add_transport_oldoperationresultcongruence = (pfp_value_add_transport_old) + (p) * pfa_offset_right_add_transport_oldoperationresultcongruence)))))))))))))))) -> (forall pfp_index_add_transport_new. (exists pfa_gap_add_transport_newindex. pfa_gap_add_transport_newindex + S (pfp_index_add_transport_new) = (l)) -> exists pfp_left_add_transport_new pfp_right_add_transport_new pfp_value_add_transport_new. ((((exists ff_h_pfp_add_transport_newleft. ff_h_pfp_add_transport_newleft + S (pfp_left_add_transport_new) = S ((S (pfp_index_add_transport_new)) * AC)) /\ exists ff_q_pfp_add_transport_newleft. AB = ff_q_pfp_add_transport_newleft * S ((S (pfp_index_add_transport_new)) * AC) + (pfp_left_add_transport_new))) /\ (((((exists ff_h_pfp_add_transport_newright. ff_h_pfp_add_transport_newright + S (pfp_right_add_transport_new) = S ((S (pfp_index_add_transport_new)) * BC)) /\ exists ff_q_pfp_add_transport_newright. BB = ff_q_pfp_add_transport_newright * S ((S (pfp_index_add_transport_new)) * BC) + (pfp_right_add_transport_new))) /\ (((((exists ff_h_pfp_add_transport_newtarget. ff_h_pfp_add_transport_newtarget + S (pfp_value_add_transport_new) = S ((S (pfp_index_add_transport_new)) * CC)) /\ exists ff_q_pfp_add_transport_newtarget. CB = ff_q_pfp_add_transport_newtarget * S ((S (pfp_index_add_transport_new)) * CC) + (pfp_value_add_transport_new))) /\ ((((exists pfa_gap_add_transport_newoperationleft. pfa_gap_add_transport_newoperationleft + S (pfp_left_add_transport_new) = (p)) /\ (((exists pfa_gap_add_transport_newoperationright. pfa_gap_add_transport_newoperationright + S (pfp_right_add_transport_new) = (p)) /\ ((((exists pfa_gap_add_transport_newoperationresultbound. pfa_gap_add_transport_newoperationresultbound + S (pfp_value_add_transport_new) = (p)) /\ ((exists pfa_offset_left_add_transport_newoperationresultcongruence pfa_offset_right_add_transport_newoperationresultcongruence. ((pfp_left_add_transport_new) + (pfp_right_add_transport_new)) + (p) * pfa_offset_left_add_transport_newoperationresultcongruence = (pfp_value_add_transport_new) + (p) * pfa_offset_right_add_transport_newoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro ABintro ACintro BBintro BCintro CBintro CCintro lintro haintro hbintro hcintro hintro iintro hihave hv : exists a b r. ((((exists ff_h_pfp_add_transport_chosen_a. ff_h_pfp_add_transport_chosen_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_add_transport_chosen_a. ab = ff_q_pfp_add_transport_chosen_a * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_add_transport_chosen_b. ff_h_pfp_add_transport_chosen_b + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_add_transport_chosen_b. bb = ff_q_pfp_add_transport_chosen_b * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_add_transport_chosen_r. ff_h_pfp_add_transport_chosen_r + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_add_transport_chosen_r. cb = ff_q_pfp_add_transport_chosen_r * S ((S (i)) * cc) + (r))) /\ ((((exists pfa_gap_add_transport_operationleft. pfa_gap_add_transport_operationleft + S (a) = (p)) /\ (((exists pfa_gap_add_transport_operationright. pfa_gap_add_transport_operationright + S (b) = (p)) /\ ((((exists pfa_gap_add_transport_operationresultbound. pfa_gap_add_transport_operationresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_add_transport_operationresultcongruence pfa_offset_right_add_transport_operationresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_add_transport_operationresultcongruence = (r) + (p) * pfa_offset_right_add_transport_operationresultcongruence)))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightexists xexists x1exists x2splitspecialize ha (i)specialize ha (x)apply haexact hiexact hv_witness_witness_witness_leftsplitspecialize hb (i)specialize hb (x1)apply hbexact hiexact hv_witness_witness_witness_right_leftsplitspecialize hc (i)specialize hc (x2)apply hcexact hiexact hv_witness_witness_witness_right_right_leftexact hv_witness_witness_witness_right_right_right
prime_field_polynomial_subtract_recover_add · unchanged support, not a new admission
forall p ab ac bb bc rb rc l. (forall pfs_index_sub_bridge_old_recover_add. (exists pfa_gap_sub_bridge_old_recover_addindex. pfa_gap_sub_bridge_old_recover_addindex + S (pfs_index_sub_bridge_old_recover_add) = (l)) -> exists pfs_left_sub_bridge_old_recover_add pfs_right_sub_bridge_old_recover_add pfs_result_sub_bridge_old_recover_add. ((((exists ff_h_pfp_sub_bridge_old_recover_addleft. ff_h_pfp_sub_bridge_old_recover_addleft + S (pfs_left_sub_bridge_old_recover_add) = S ((S (pfs_index_sub_bridge_old_recover_add)) * ac)) /\ exists ff_q_pfp_sub_bridge_old_recover_addleft. ab = ff_q_pfp_sub_bridge_old_recover_addleft * S ((S (pfs_index_sub_bridge_old_recover_add)) * ac) + (pfs_left_sub_bridge_old_recover_add))) /\ (((((exists ff_h_pfp_sub_bridge_old_recover_addright. ff_h_pfp_sub_bridge_old_recover_addright + S (pfs_right_sub_bridge_old_recover_add) = S ((S (pfs_index_sub_bridge_old_recover_add)) * bc)) /\ exists ff_q_pfp_sub_bridge_old_recover_addright. bb = ff_q_pfp_sub_bridge_old_recover_addright * S ((S (pfs_index_sub_bridge_old_recover_add)) * bc) + (pfs_right_sub_bridge_old_recover_add))) /\ (((((exists ff_h_pfp_sub_bridge_old_recover_addresult. ff_h_pfp_sub_bridge_old_recover_addresult + S (pfs_result_sub_bridge_old_recover_add) = S ((S (pfs_index_sub_bridge_old_recover_add)) * rc)) /\ exists ff_q_pfp_sub_bridge_old_recover_addresult. rb = ff_q_pfp_sub_bridge_old_recover_addresult * S ((S (pfs_index_sub_bridge_old_recover_add)) * rc) + (pfs_result_sub_bridge_old_recover_add))) /\ ((((exists pfa_gap_sub_bridge_old_recover_addoperationleft. pfa_gap_sub_bridge_old_recover_addoperationleft + S (pfs_right_sub_bridge_old_recover_add) = (p)) /\ (((exists pfa_gap_sub_bridge_old_recover_addoperationright. pfa_gap_sub_bridge_old_recover_addoperationright + S (pfs_result_sub_bridge_old_recover_add) = (p)) /\ ((((exists pfa_gap_sub_bridge_old_recover_addoperationresultbound. pfa_gap_sub_bridge_old_recover_addoperationresultbound + S (pfs_left_sub_bridge_old_recover_add) = (p)) /\ ((exists pfa_offset_left_sub_bridge_old_recover_addoperationresultcongruence pfa_offset_right_sub_bridge_old_recover_addoperationresultcongruence. ((pfs_right_sub_bridge_old_recover_add) + (pfs_result_sub_bridge_old_recover_add)) + (p) * pfa_offset_left_sub_bridge_old_recover_addoperationresultcongruence = (pfs_left_sub_bridge_old_recover_add) + (p) * pfa_offset_right_sub_bridge_old_recover_addoperationresultcongruence)))))))))))))))) -> (forall pfp_index_sub_bridge_new_recover_add. (exists pfa_gap_sub_bridge_new_recover_addindex. pfa_gap_sub_bridge_new_recover_addindex + S (pfp_index_sub_bridge_new_recover_add) = (l)) -> exists pfp_left_sub_bridge_new_recover_add pfp_right_sub_bridge_new_recover_add pfp_value_sub_bridge_new_recover_add. ((((exists ff_h_pfp_sub_bridge_new_recover_addleft. ff_h_pfp_sub_bridge_new_recover_addleft + S (pfp_left_sub_bridge_new_recover_add) = S ((S (pfp_index_sub_bridge_new_recover_add)) * bc)) /\ exists ff_q_pfp_sub_bridge_new_recover_addleft. bb = ff_q_pfp_sub_bridge_new_recover_addleft * S ((S (pfp_index_sub_bridge_new_recover_add)) * bc) + (pfp_left_sub_bridge_new_recover_add))) /\ (((((exists ff_h_pfp_sub_bridge_new_recover_addright. ff_h_pfp_sub_bridge_new_recover_addright + S (pfp_right_sub_bridge_new_recover_add) = S ((S (pfp_index_sub_bridge_new_recover_add)) * rc)) /\ exists ff_q_pfp_sub_bridge_new_recover_addright. rb = ff_q_pfp_sub_bridge_new_recover_addright * S ((S (pfp_index_sub_bridge_new_recover_add)) * rc) + (pfp_right_sub_bridge_new_recover_add))) /\ (((((exists ff_h_pfp_sub_bridge_new_recover_addtarget. ff_h_pfp_sub_bridge_new_recover_addtarget + S (pfp_value_sub_bridge_new_recover_add) = S ((S (pfp_index_sub_bridge_new_recover_add)) * ac)) /\ exists ff_q_pfp_sub_bridge_new_recover_addtarget. ab = ff_q_pfp_sub_bridge_new_recover_addtarget * S ((S (pfp_index_sub_bridge_new_recover_add)) * ac) + (pfp_value_sub_bridge_new_recover_add))) /\ ((((exists pfa_gap_sub_bridge_new_recover_addoperationleft. pfa_gap_sub_bridge_new_recover_addoperationleft + S (pfp_left_sub_bridge_new_recover_add) = (p)) /\ (((exists pfa_gap_sub_bridge_new_recover_addoperationright. pfa_gap_sub_bridge_new_recover_addoperationright + S (pfp_right_sub_bridge_new_recover_add) = (p)) /\ ((((exists pfa_gap_sub_bridge_new_recover_addoperationresultbound. pfa_gap_sub_bridge_new_recover_addoperationresultbound + S (pfp_value_sub_bridge_new_recover_add) = (p)) /\ ((exists pfa_offset_left_sub_bridge_new_recover_addoperationresultcongruence pfa_offset_right_sub_bridge_new_recover_addoperationresultcongruence. ((pfp_left_sub_bridge_new_recover_add) + (pfp_right_sub_bridge_new_recover_add)) + (p) * pfa_offset_left_sub_bridge_new_recover_addoperationresultcongruence = (pfp_value_sub_bridge_new_recover_add) + (p) * pfa_offset_right_sub_bridge_new_recover_addoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro rbintro rcintro lintro hintro iintro hihave hv : exists a b r. (((((exists ff_h_pfp_sub_bridge_recover_adda. ff_h_pfp_sub_bridge_recover_adda + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_sub_bridge_recover_adda. ab = ff_q_pfp_sub_bridge_recover_adda * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_sub_bridge_recover_addb. ff_h_pfp_sub_bridge_recover_addb + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_sub_bridge_recover_addb. bb = ff_q_pfp_sub_bridge_recover_addb * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_sub_bridge_recover_addr. ff_h_pfp_sub_bridge_recover_addr + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_sub_bridge_recover_addr. rb = ff_q_pfp_sub_bridge_recover_addr * S ((S (i)) * rc) + (r))) /\ ((((exists pfa_gap_sub_bridge_recover_addvalueleft. pfa_gap_sub_bridge_recover_addvalueleft + S (b) = (p)) /\ (((exists pfa_gap_sub_bridge_recover_addvalueright. pfa_gap_sub_bridge_recover_addvalueright + S (r) = (p)) /\ ((((exists pfa_gap_sub_bridge_recover_addvalueresultbound. pfa_gap_sub_bridge_recover_addvalueresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_sub_bridge_recover_addvalueresultcongruence pfa_offset_right_sub_bridge_recover_addvalueresultcongruence. ((b) + (r)) + (p) * pfa_offset_left_sub_bridge_recover_addvalueresultcongruence = (a) + (p) * pfa_offset_right_sub_bridge_recover_addvalueresultcongruence))))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightexists x1exists x2exists xsplitexact hv_witness_witness_witness_right_leftsplitexact hv_witness_witness_witness_right_right_leftsplitexact hv_witness_witness_witness_leftexact hv_witness_witness_witness_right_right_right
prime_field_polynomial_subtract_empty · unchanged support, not a new admission
forall p ab ac bb bc rb rc. forall pfs_index_subtract_empty. (exists pfa_gap_subtract_emptyindex. pfa_gap_subtract_emptyindex + S (pfs_index_subtract_empty) = (0)) -> exists pfs_left_subtract_empty pfs_right_subtract_empty pfs_result_subtract_empty. ((((exists ff_h_pfp_subtract_emptyleft. ff_h_pfp_subtract_emptyleft + S (pfs_left_subtract_empty) = S ((S (pfs_index_subtract_empty)) * ac)) /\ exists ff_q_pfp_subtract_emptyleft. ab = ff_q_pfp_subtract_emptyleft * S ((S (pfs_index_subtract_empty)) * ac) + (pfs_left_subtract_empty))) /\ (((((exists ff_h_pfp_subtract_emptyright. ff_h_pfp_subtract_emptyright + S (pfs_right_subtract_empty) = S ((S (pfs_index_subtract_empty)) * bc)) /\ exists ff_q_pfp_subtract_emptyright. bb = ff_q_pfp_subtract_emptyright * S ((S (pfs_index_subtract_empty)) * bc) + (pfs_right_subtract_empty))) /\ (((((exists ff_h_pfp_subtract_emptyresult. ff_h_pfp_subtract_emptyresult + S (pfs_result_subtract_empty) = S ((S (pfs_index_subtract_empty)) * rc)) /\ exists ff_q_pfp_subtract_emptyresult. rb = ff_q_pfp_subtract_emptyresult * S ((S (pfs_index_subtract_empty)) * rc) + (pfs_result_subtract_empty))) /\ ((((exists pfa_gap_subtract_emptyoperationleft. pfa_gap_subtract_emptyoperationleft + S (pfs_right_subtract_empty) = (p)) /\ (((exists pfa_gap_subtract_emptyoperationright. pfa_gap_subtract_emptyoperationright + S (pfs_result_subtract_empty) = (p)) /\ ((((exists pfa_gap_subtract_emptyoperationresultbound. pfa_gap_subtract_emptyoperationresultbound + S (pfs_left_subtract_empty) = (p)) /\ ((exists pfa_offset_left_subtract_emptyoperationresultcongruence pfa_offset_right_subtract_emptyoperationresultcongruence. ((pfs_right_subtract_empty) + (pfs_result_subtract_empty)) + (p) * pfa_offset_left_subtract_emptyoperationresultcongruence = (pfs_left_subtract_empty) + (p) * pfa_offset_right_subtract_emptyoperationresultcongruence)))))))))))))))
intro pintro abintro acintro bbintro bcintro rbintro rcintro iintro hiexfalsospecialize lt_not_le (i)specialize lt_not_le (0)apply lt_not_leexact hispecialize zero_le (i)apply zero_le
prime_field_negate_exists · unchanged support, not a new admission
forall p a. (~((p) = 1) /\ forall pfa_factor_left_negate_domain pfa_factor_right_negate_domain. (p) = pfa_factor_left_negate_domain * pfa_factor_right_negate_domain -> pfa_factor_left_negate_domain = 1 \/ pfa_factor_right_negate_domain = 1) -> (exists pfa_gap_negate_input. pfa_gap_negate_input + S (a) = (p)) -> exists b. (((exists pfa_gap_negate_existsadditionleft. pfa_gap_negate_existsadditionleft + S (a) = (p)) /\ (((exists pfa_gap_negate_existsadditionright. pfa_gap_negate_existsadditionright + S (b) = (p)) /\ ((((exists pfa_gap_negate_existsadditionresultbound. pfa_gap_negate_existsadditionresultbound + S (0) = (p)) /\ ((exists pfa_offset_left_negate_existsadditionresultcongruence pfa_offset_right_negate_existsadditionresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_negate_existsadditionresultcongruence = (0) + (p) * pfa_offset_right_negate_existsadditionresultcongruence)))))))))
intro pintro aintro hpintro hahave hf : exists q n r. (0 + p * n = (a + p * q) + r /\ (exists pfa_gap_negate_floor. pfa_gap_negate_floor + S (r) = (p)))specialize signed_integer_floor_exists (0)specialize signed_integer_floor_exists (a)specialize signed_integer_floor_exists (p)apply signed_integer_floor_existsintro hzspecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hzcases hfcases hf_witnesscases hf_witness_witnesscases hf_witness_witness_witnessexists x2splitexact hasplitexact hf_witness_witness_witness_rightsplitspecialize prime_field_zero_below_prime (p)apply prime_field_zero_below_primeexact hpexists xexists x1trans (a + p * x) + x2simp [add_assoc, add_comm]symmexact hf_witness_witness_witness_left
prime_field_add_exists · unchanged support, not a new admission
forall p a b. (~((p) = 1) /\ forall pfa_factor_left_adddomain pfa_factor_right_adddomain. (p) = pfa_factor_left_adddomain * pfa_factor_right_adddomain -> pfa_factor_left_adddomain = 1 \/ pfa_factor_right_adddomain = 1) -> (exists pfa_gap_addleft. pfa_gap_addleft + S (a) = (p)) -> (exists pfa_gap_addright. pfa_gap_addright + S (b) = (p)) -> exists c. (((exists pfa_gap_addexistsleft. pfa_gap_addexistsleft + S (a) = (p)) /\ (((exists pfa_gap_addexistsright. pfa_gap_addexistsright + S (b) = (p)) /\ ((((exists pfa_gap_addexistsresultbound. pfa_gap_addexistsresultbound + S (c) = (p)) /\ ((exists pfa_offset_left_addexistsresultcongruence pfa_offset_right_addexistsresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_addexistsresultcongruence = (c) + (p) * pfa_offset_right_addexistsresultcongruence)))))))))
intro pintro aintro bintro hpintro haintro hbhave hr : exists c. (((exists pfa_gap_addresiduebound. pfa_gap_addresiduebound + S (c) = (p)) /\ ((exists pfa_offset_left_addresiduecongruence pfa_offset_right_addresiduecongruence. (a + b) + (p) * pfa_offset_left_addresiduecongruence = (c) + (p) * pfa_offset_right_addresiduecongruence))))specialize hensel_canonical_residue_exists (p)specialize hensel_canonical_residue_exists (a + b)apply hensel_canonical_residue_existsintro hzspecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hzcases hrexists xsplitexact hasplitexact hbexact hr_witness
prime_field_add_associative · unchanged support, not a new admission
forall p a b c x y u v. (((exists pfa_gap_addassoc_firstleft. pfa_gap_addassoc_firstleft + S (a) = (p)) /\ (((exists pfa_gap_addassoc_firstright. pfa_gap_addassoc_firstright + S (b) = (p)) /\ ((((exists pfa_gap_addassoc_firstresultbound. pfa_gap_addassoc_firstresultbound + S (x) = (p)) /\ ((exists pfa_offset_left_addassoc_firstresultcongruence pfa_offset_right_addassoc_firstresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_addassoc_firstresultcongruence = (x) + (p) * pfa_offset_right_addassoc_firstresultcongruence))))))))) -> (((exists pfa_gap_addassoc_leftleft. pfa_gap_addassoc_leftleft + S (x) = (p)) /\ (((exists pfa_gap_addassoc_leftright. pfa_gap_addassoc_leftright + S (c) = (p)) /\ ((((exists pfa_gap_addassoc_leftresultbound. pfa_gap_addassoc_leftresultbound + S (u) = (p)) /\ ((exists pfa_offset_left_addassoc_leftresultcongruence pfa_offset_right_addassoc_leftresultcongruence. ((x) + (c)) + (p) * pfa_offset_left_addassoc_leftresultcongruence = (u) + (p) * pfa_offset_right_addassoc_leftresultcongruence))))))))) -> (((exists pfa_gap_addassoc_secondleft. pfa_gap_addassoc_secondleft + S (b) = (p)) /\ (((exists pfa_gap_addassoc_secondright. pfa_gap_addassoc_secondright + S (c) = (p)) /\ ((((exists pfa_gap_addassoc_secondresultbound. pfa_gap_addassoc_secondresultbound + S (y) = (p)) /\ ((exists pfa_offset_left_addassoc_secondresultcongruence pfa_offset_right_addassoc_secondresultcongruence. ((b) + (c)) + (p) * pfa_offset_left_addassoc_secondresultcongruence = (y) + (p) * pfa_offset_right_addassoc_secondresultcongruence))))))))) -> (((exists pfa_gap_addassoc_rightleft. pfa_gap_addassoc_rightleft + S (a) = (p)) /\ (((exists pfa_gap_addassoc_rightright. pfa_gap_addassoc_rightright + S (y) = (p)) /\ ((((exists pfa_gap_addassoc_rightresultbound. pfa_gap_addassoc_rightresultbound + S (v) = (p)) /\ ((exists pfa_offset_left_addassoc_rightresultcongruence pfa_offset_right_addassoc_rightresultcongruence. ((a) + (y)) + (p) * pfa_offset_left_addassoc_rightresultcongruence = (v) + (p) * pfa_offset_right_addassoc_rightresultcongruence))))))))) -> u = v
intro pintro aintro bintro cintro xintro yintro uintro vintro hfirstintro hleftintro hsecondintro hrightcases hfirstcases hfirst_rightcases hfirst_right_rightcases hleftcases hleft_rightcases hleft_right_rightcases hsecondcases hsecond_rightcases hsecond_right_rightcases hrightcases hright_rightcases hright_right_righthave hl : ((exists pfa_gap_addassoc_raw_leftbound. pfa_gap_addassoc_raw_leftbound + S (u) = (p)) /\ ((exists pfa_offset_left_addassoc_raw_leftcongruence pfa_offset_right_addassoc_raw_leftcongruence. ((a + b) + c) + (p) * pfa_offset_left_addassoc_raw_leftcongruence = (u) + (p) * pfa_offset_right_addassoc_raw_leftcongruence)))splitexact hleft_right_right_leftspecialize mod_eq_trans (p)specialize mod_eq_trans ((a + b) + c)specialize mod_eq_trans (x + c)specialize mod_eq_trans (u)apply mod_eq_transspecialize mod_eq_add (p)specialize mod_eq_add (a + b)specialize mod_eq_add (x)specialize mod_eq_add (c)specialize mod_eq_add (c)apply mod_eq_addexact hfirst_right_right_rightspecialize mod_eq_refl (p)specialize mod_eq_refl (c)apply mod_eq_reflexact hleft_right_right_righthave hr : ((exists pfa_gap_addassoc_raw_rightbound. pfa_gap_addassoc_raw_rightbound + S (v) = (p)) /\ ((exists pfa_offset_left_addassoc_raw_rightcongruence pfa_offset_right_addassoc_raw_rightcongruence. (a + (b + c)) + (p) * pfa_offset_left_addassoc_raw_rightcongruence = (v) + (p) * pfa_offset_right_addassoc_raw_rightcongruence)))splitexact hright_right_right_leftspecialize mod_eq_trans (p)specialize mod_eq_trans (a + (b + c))specialize mod_eq_trans (a + y)specialize mod_eq_trans (v)apply mod_eq_transspecialize mod_eq_add (p)specialize mod_eq_add (a)specialize mod_eq_add (a)specialize mod_eq_add (b + c)specialize mod_eq_add (y)apply mod_eq_addspecialize mod_eq_refl (p)specialize mod_eq_refl (a)apply mod_eq_reflexact hsecond_right_right_rightexact hright_right_right_rightspecialize binary_canonical_residue_functional (p)specialize binary_canonical_residue_functional ((a + b) + c)specialize binary_canonical_residue_functional (u)specialize binary_canonical_residue_functional (v)apply binary_canonical_residue_functionalexact hlspecialize prime_field_residue_input_equal (p)specialize prime_field_residue_input_equal ((a + b) + c)specialize prime_field_residue_input_equal (a + (b + c))specialize prime_field_residue_input_equal (v)apply prime_field_residue_input_equalspecialize add_assoc (a)specialize add_assoc (b)specialize add_assoc (c)apply add_assocexact hr
prime_field_subtract_exists · unchanged support, not a new admission
forall p a b. (~((p) = 1) /\ forall pfa_factor_left_scalar_prime pfa_factor_right_scalar_prime. (p) = pfa_factor_left_scalar_prime * pfa_factor_right_scalar_prime -> pfa_factor_left_scalar_prime = 1 \/ pfa_factor_right_scalar_prime = 1) -> (exists pfa_gap_scalar_left. pfa_gap_scalar_left + S (a) = (p)) -> (exists pfa_gap_scalar_right. pfa_gap_scalar_right + S (b) = (p)) -> exists r. (((exists pfa_gap_scalar_subtractleft. pfa_gap_scalar_subtractleft + S (b) = (p)) /\ (((exists pfa_gap_scalar_subtractright. pfa_gap_scalar_subtractright + S (r) = (p)) /\ ((((exists pfa_gap_scalar_subtractresultbound. pfa_gap_scalar_subtractresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_scalar_subtractresultcongruence pfa_offset_right_scalar_subtractresultcongruence. ((b) + (r)) + (p) * pfa_offset_left_scalar_subtractresultcongruence = (a) + (p) * pfa_offset_right_scalar_subtractresultcongruence)))))))))
intro pintro aintro bintro hpintro haintro hbhave hn : exists n. (((exists pfa_gap_scalar_negadditionleft. pfa_gap_scalar_negadditionleft + S (b) = (p)) /\ (((exists pfa_gap_scalar_negadditionright. pfa_gap_scalar_negadditionright + S (n) = (p)) /\ ((((exists pfa_gap_scalar_negadditionresultbound. pfa_gap_scalar_negadditionresultbound + S (0) = (p)) /\ ((exists pfa_offset_left_scalar_negadditionresultcongruence pfa_offset_right_scalar_negadditionresultcongruence. ((b) + (n)) + (p) * pfa_offset_left_scalar_negadditionresultcongruence = (0) + (p) * pfa_offset_right_scalar_negadditionresultcongruence)))))))))specialize prime_field_negate_exists (p)specialize prime_field_negate_exists (b)apply prime_field_negate_existsexact hpexact hbcases hnhave hnb : exists pfa_gap_scalar_neg_bound. pfa_gap_scalar_neg_bound + S (x) = (p)cases hn_witnesscases hn_witness_rightexact hn_witness_right_lefthave hr : exists r. (((exists pfa_gap_scalar_resultleft. pfa_gap_scalar_resultleft + S (x) = (p)) /\ (((exists pfa_gap_scalar_resultright. pfa_gap_scalar_resultright + S (a) = (p)) /\ ((((exists pfa_gap_scalar_resultresultbound. pfa_gap_scalar_resultresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_scalar_resultresultcongruence pfa_offset_right_scalar_resultresultcongruence. ((x) + (a)) + (p) * pfa_offset_left_scalar_resultresultcongruence = (r) + (p) * pfa_offset_right_scalar_resultresultcongruence)))))))))specialize prime_field_add_exists (p)specialize prime_field_add_exists (x)specialize prime_field_add_exists (a)apply prime_field_add_existsexact hpexact hnbexact hacases hrhave hrb : exists pfa_gap_scalar_result_bound. pfa_gap_scalar_result_bound + S (x1) = (p)cases hr_witnesscases hr_witness_rightcases hr_witness_right_rightexact hr_witness_right_right_lefthave ht : exists t. (((exists pfa_gap_scalar_check_sumleft. pfa_gap_scalar_check_sumleft + S (b) = (p)) /\ (((exists pfa_gap_scalar_check_sumright. pfa_gap_scalar_check_sumright + S (x1) = (p)) /\ ((((exists pfa_gap_scalar_check_sumresultbound. pfa_gap_scalar_check_sumresultbound + S (t) = (p)) /\ ((exists pfa_offset_left_scalar_check_sumresultcongruence pfa_offset_right_scalar_check_sumresultcongruence. ((b) + (x1)) + (p) * pfa_offset_left_scalar_check_sumresultcongruence = (t) + (p) * pfa_offset_right_scalar_check_sumresultcongruence)))))))))specialize prime_field_add_exists (p)specialize prime_field_add_exists (b)specialize prime_field_add_exists (x1)apply prime_field_add_existsexact hpexact hbexact hrbcases hthave heq : a=x2specialize prime_field_add_associative (p)specialize prime_field_add_associative (b)specialize prime_field_add_associative (x)specialize prime_field_add_associative (a)specialize prime_field_add_associative (0)specialize prime_field_add_associative (x1)specialize prime_field_add_associative (a)specialize prime_field_add_associative (x2)apply prime_field_add_associativeexact hn_witnessspecialize prime_field_add_zero_left (p)specialize prime_field_add_zero_left (a)apply prime_field_add_zero_leftexact hpexact haexact hr_witnessexact ht_witnessexists x1rewrite heqrewrite heqexact ht_witness
prime_field_polynomial_subtract_exists · unchanged support, not a new admission
forall p ab ac bb bc l. (~((p) = 1) /\ forall pfa_factor_left_subtract_exists_prime pfa_factor_right_subtract_exists_prime. (p) = pfa_factor_left_subtract_exists_prime * pfa_factor_right_subtract_exists_prime -> pfa_factor_left_subtract_exists_prime = 1 \/ pfa_factor_right_subtract_exists_prime = 1) -> (forall fom_index_pfp_subtract_exists_ab. (exists fom_gap_pfp_subtract_exists_ab_index_bound. fom_gap_pfp_subtract_exists_ab_index_bound + S (fom_index_pfp_subtract_exists_ab) = l) -> exists fom_value_pfp_subtract_exists_ab. ((((exists fom_beta_height_pfp_subtract_exists_ab_entry. fom_beta_height_pfp_subtract_exists_ab_entry + S (fom_value_pfp_subtract_exists_ab) = S ((S (fom_index_pfp_subtract_exists_ab)) * ac)) /\ exists fom_beta_quotient_pfp_subtract_exists_ab_entry. ab = fom_beta_quotient_pfp_subtract_exists_ab_entry * S ((S (fom_index_pfp_subtract_exists_ab)) * ac) + (fom_value_pfp_subtract_exists_ab))) /\ (exists fom_gap_pfp_subtract_exists_ab_value_bound. fom_gap_pfp_subtract_exists_ab_value_bound + S (fom_value_pfp_subtract_exists_ab) = p))) -> (forall fom_index_pfp_subtract_exists_bb. (exists fom_gap_pfp_subtract_exists_bb_index_bound. fom_gap_pfp_subtract_exists_bb_index_bound + S (fom_index_pfp_subtract_exists_bb) = l) -> exists fom_value_pfp_subtract_exists_bb. ((((exists fom_beta_height_pfp_subtract_exists_bb_entry. fom_beta_height_pfp_subtract_exists_bb_entry + S (fom_value_pfp_subtract_exists_bb) = S ((S (fom_index_pfp_subtract_exists_bb)) * bc)) /\ exists fom_beta_quotient_pfp_subtract_exists_bb_entry. bb = fom_beta_quotient_pfp_subtract_exists_bb_entry * S ((S (fom_index_pfp_subtract_exists_bb)) * bc) + (fom_value_pfp_subtract_exists_bb))) /\ (exists fom_gap_pfp_subtract_exists_bb_value_bound. fom_gap_pfp_subtract_exists_bb_value_bound + S (fom_value_pfp_subtract_exists_bb) = p))) -> exists rb rc. (forall pfs_index_subtract_exists_result. (exists pfa_gap_subtract_exists_resultindex. pfa_gap_subtract_exists_resultindex + S (pfs_index_subtract_exists_result) = (l)) -> exists pfs_left_subtract_exists_result pfs_right_subtract_exists_result pfs_result_subtract_exists_result. ((((exists ff_h_pfp_subtract_exists_resultleft. ff_h_pfp_subtract_exists_resultleft + S (pfs_left_subtract_exists_result) = S ((S (pfs_index_subtract_exists_result)) * ac)) /\ exists ff_q_pfp_subtract_exists_resultleft. ab = ff_q_pfp_subtract_exists_resultleft * S ((S (pfs_index_subtract_exists_result)) * ac) + (pfs_left_subtract_exists_result))) /\ (((((exists ff_h_pfp_subtract_exists_resultright. ff_h_pfp_subtract_exists_resultright + S (pfs_right_subtract_exists_result) = S ((S (pfs_index_subtract_exists_result)) * bc)) /\ exists ff_q_pfp_subtract_exists_resultright. bb = ff_q_pfp_subtract_exists_resultright * S ((S (pfs_index_subtract_exists_result)) * bc) + (pfs_right_subtract_exists_result))) /\ (((((exists ff_h_pfp_subtract_exists_resultresult. ff_h_pfp_subtract_exists_resultresult + S (pfs_result_subtract_exists_result) = S ((S (pfs_index_subtract_exists_result)) * rc)) /\ exists ff_q_pfp_subtract_exists_resultresult. rb = ff_q_pfp_subtract_exists_resultresult * S ((S (pfs_index_subtract_exists_result)) * rc) + (pfs_result_subtract_exists_result))) /\ ((((exists pfa_gap_subtract_exists_resultoperationleft. pfa_gap_subtract_exists_resultoperationleft + S (pfs_right_subtract_exists_result) = (p)) /\ (((exists pfa_gap_subtract_exists_resultoperationright. pfa_gap_subtract_exists_resultoperationright + S (pfs_result_subtract_exists_result) = (p)) /\ ((((exists pfa_gap_subtract_exists_resultoperationresultbound. pfa_gap_subtract_exists_resultoperationresultbound + S (pfs_left_subtract_exists_result) = (p)) /\ ((exists pfa_offset_left_subtract_exists_resultoperationresultcongruence pfa_offset_right_subtract_exists_resultoperationresultcongruence. ((pfs_right_subtract_exists_result) + (pfs_result_subtract_exists_result)) + (p) * pfa_offset_left_subtract_exists_resultoperationresultcongruence = (pfs_left_subtract_exists_result) + (p) * pfa_offset_right_subtract_exists_resultoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro lintro hpinduction lintro haintro hbexists 0exists 0specialize prime_field_polynomial_subtract_empty (p)specialize prime_field_polynomial_subtract_empty (ab)specialize prime_field_polynomial_subtract_empty (ac)specialize prime_field_polynomial_subtract_empty (bb)specialize prime_field_polynomial_subtract_empty (bc)specialize prime_field_polynomial_subtract_empty (0)specialize prime_field_polynomial_subtract_empty (0)apply prime_field_polynomial_subtract_emptyintro haintro hbhave hold : exists rb rc. (forall pfs_index_subtract_old. (exists pfa_gap_subtract_oldindex. pfa_gap_subtract_oldindex + S (pfs_index_subtract_old) = (l)) -> exists pfs_left_subtract_old pfs_right_subtract_old pfs_result_subtract_old. ((((exists ff_h_pfp_subtract_oldleft. ff_h_pfp_subtract_oldleft + S (pfs_left_subtract_old) = S ((S (pfs_index_subtract_old)) * ac)) /\ exists ff_q_pfp_subtract_oldleft. ab = ff_q_pfp_subtract_oldleft * S ((S (pfs_index_subtract_old)) * ac) + (pfs_left_subtract_old))) /\ (((((exists ff_h_pfp_subtract_oldright. ff_h_pfp_subtract_oldright + S (pfs_right_subtract_old) = S ((S (pfs_index_subtract_old)) * bc)) /\ exists ff_q_pfp_subtract_oldright. bb = ff_q_pfp_subtract_oldright * S ((S (pfs_index_subtract_old)) * bc) + (pfs_right_subtract_old))) /\ (((((exists ff_h_pfp_subtract_oldresult. ff_h_pfp_subtract_oldresult + S (pfs_result_subtract_old) = S ((S (pfs_index_subtract_old)) * rc)) /\ exists ff_q_pfp_subtract_oldresult. rb = ff_q_pfp_subtract_oldresult * S ((S (pfs_index_subtract_old)) * rc) + (pfs_result_subtract_old))) /\ ((((exists pfa_gap_subtract_oldoperationleft. pfa_gap_subtract_oldoperationleft + S (pfs_right_subtract_old) = (p)) /\ (((exists pfa_gap_subtract_oldoperationright. pfa_gap_subtract_oldoperationright + S (pfs_result_subtract_old) = (p)) /\ ((((exists pfa_gap_subtract_oldoperationresultbound. pfa_gap_subtract_oldoperationresultbound + S (pfs_left_subtract_old) = (p)) /\ ((exists pfa_offset_left_subtract_oldoperationresultcongruence pfa_offset_right_subtract_oldoperationresultcongruence. ((pfs_right_subtract_old) + (pfs_result_subtract_old)) + (p) * pfa_offset_left_subtract_oldoperationresultcongruence = (pfs_left_subtract_old) + (p) * pfa_offset_right_subtract_oldoperationresultcongruence))))))))))))))))apply IHintro jintro hjspecialize ha (j)apply haspecialize le_succ (S j)specialize le_succ (l)apply le_succexact hjintro jintro hjspecialize hb (j)apply hbspecialize le_succ (S j)specialize le_succ (l)apply le_succexact hjcases holdcases hold_witnesshave hsource0 : exists a. ((((exists ff_h_pfp_subtract_last_source0. ff_h_pfp_subtract_last_source0 + S (a) = S ((S (l)) * ac)) /\ exists ff_q_pfp_subtract_last_source0. ab = ff_q_pfp_subtract_last_source0 * S ((S (l)) * ac) + (a))) /\ ((exists pfa_gap_subtract_last_bound0. pfa_gap_subtract_last_bound0 + S (a) = (p))))specialize ha (l)apply haexists 0apply zero_addcases hsource0cases hsource0_witnesshave hsource1 : exists a. ((((exists ff_h_pfp_subtract_last_source1. ff_h_pfp_subtract_last_source1 + S (a) = S ((S (l)) * bc)) /\ exists ff_q_pfp_subtract_last_source1. bb = ff_q_pfp_subtract_last_source1 * S ((S (l)) * bc) + (a))) /\ ((exists pfa_gap_subtract_last_bound1. pfa_gap_subtract_last_bound1 + S (a) = (p))))specialize hb (l)apply hbexists 0apply zero_addcases hsource1cases hsource1_witnesshave hvalue : exists r. (((exists pfa_gap_subtract_last_valueleft. pfa_gap_subtract_last_valueleft + S (x3) = (p)) /\ (((exists pfa_gap_subtract_last_valueright. pfa_gap_subtract_last_valueright + S (r) = (p)) /\ ((((exists pfa_gap_subtract_last_valueresultbound. pfa_gap_subtract_last_valueresultbound + S (x2) = (p)) /\ ((exists pfa_offset_left_subtract_last_valueresultcongruence pfa_offset_right_subtract_last_valueresultcongruence. ((x3) + (r)) + (p) * pfa_offset_left_subtract_last_valueresultcongruence = (x2) + (p) * pfa_offset_right_subtract_last_valueresultcongruence)))))))))specialize prime_field_subtract_exists (p)specialize prime_field_subtract_exists (x2)specialize prime_field_subtract_exists (x3)apply prime_field_subtract_existsexact hpexact hsource0_witness_rightexact hsource1_witness_rightcases hvaluehave hnew : exists db dc. (((((exists ff_h_pfp_subtract_append. ff_h_pfp_subtract_append + S (x4) = S ((S (l)) * dc)) /\ exists ff_q_pfp_subtract_append. db = ff_q_pfp_subtract_append * S ((S (l)) * dc) + (x4))) /\ ((forall mdr_i_pfp_subtract_preserve mdr_a_pfp_subtract_preserve. (exists mdr_gap_pfp_subtract_preserveb. mdr_gap_pfp_subtract_preserveb + S (mdr_i_pfp_subtract_preserve) = (l)) -> (((exists ff_h_mdr_pfp_subtract_preserveo. ff_h_mdr_pfp_subtract_preserveo + S (mdr_a_pfp_subtract_preserve) = S ((S (mdr_i_pfp_subtract_preserve)) * x1)) /\ exists ff_q_mdr_pfp_subtract_preserveo. x = ff_q_mdr_pfp_subtract_preserveo * S ((S (mdr_i_pfp_subtract_preserve)) * x1) + (mdr_a_pfp_subtract_preserve))) -> (((exists ff_h_mdr_pfp_subtract_preserven. ff_h_mdr_pfp_subtract_preserven + S (mdr_a_pfp_subtract_preserve) = S ((S (mdr_i_pfp_subtract_preserve)) * dc)) /\ exists ff_q_mdr_pfp_subtract_preserven. db = ff_q_mdr_pfp_subtract_preserven * S ((S (mdr_i_pfp_subtract_preserve)) * dc) + (mdr_a_pfp_subtract_preserve)))))))specialize beta_prefix_extend (l)specialize beta_prefix_extend (x)specialize beta_prefix_extend (x1)specialize beta_prefix_extend (x4)apply beta_prefix_extendcases hnewcases hnew_witnesscases hnew_witness_witnessexists x5exists x6intro jintro hjhave hcase : j=l \/ (exists pfa_gap_subtract_index_case. pfa_gap_subtract_index_case + S (j) = (l))specialize finite_lt_succ_eq_or_lt (l)specialize finite_lt_succ_eq_or_lt (j)apply finite_lt_succ_eq_or_ltexact hjcases hcaseexists x2exists x3exists x4splitrewrite hcase_leftrewrite hcase_leftexact hsource0_witness_leftsplitrewrite hcase_leftrewrite hcase_leftexact hsource1_witness_leftsplitrewrite hcase_leftrewrite hcase_leftexact hnew_witness_witness_leftexact hvalue_witnesshave hprevious : exists v0 v1 v2. (((((exists ff_h_pfp_subtract_previous0. ff_h_pfp_subtract_previous0 + S (v0) = S ((S (j)) * ac)) /\ exists ff_q_pfp_subtract_previous0. ab = ff_q_pfp_subtract_previous0 * S ((S (j)) * ac) + (v0))) /\ (((((exists ff_h_pfp_subtract_previous1. ff_h_pfp_subtract_previous1 + S (v1) = S ((S (j)) * bc)) /\ exists ff_q_pfp_subtract_previous1. bb = ff_q_pfp_subtract_previous1 * S ((S (j)) * bc) + (v1))) /\ (((((exists ff_h_pfp_subtract_previous2. ff_h_pfp_subtract_previous2 + S (v2) = S ((S (j)) * x1)) /\ exists ff_q_pfp_subtract_previous2. x = ff_q_pfp_subtract_previous2 * S ((S (j)) * x1) + (v2))) /\ ((((exists pfa_gap_subtract_previousoperationleft. pfa_gap_subtract_previousoperationleft + S (v1) = (p)) /\ (((exists pfa_gap_subtract_previousoperationright. pfa_gap_subtract_previousoperationright + S (v2) = (p)) /\ ((((exists pfa_gap_subtract_previousoperationresultbound. pfa_gap_subtract_previousoperationresultbound + S (v0) = (p)) /\ ((exists pfa_offset_left_subtract_previousoperationresultcongruence pfa_offset_right_subtract_previousoperationresultcongruence. ((v1) + (v2)) + (p) * pfa_offset_left_subtract_previousoperationresultcongruence = (v0) + (p) * pfa_offset_right_subtract_previousoperationresultcongruence))))))))))))))))specialize hold_witness_witness (j)apply hold_witness_witnessexact hcase_rightcases hpreviouscases hprevious_witnesscases hprevious_witness_witnesscases hprevious_witness_witness_witnesscases hprevious_witness_witness_witness_rightcases hprevious_witness_witness_witness_right_rightexists x7exists x8exists x9splitexact hprevious_witness_witness_witness_leftsplitexact hprevious_witness_witness_witness_right_leftsplitspecialize hnew_witness_witness_right (j)specialize hnew_witness_witness_right (x9)apply hnew_witness_witness_rightexact hcase_rightexact hprevious_witness_witness_witness_right_right_leftexact hprevious_witness_witness_witness_right_right_right
prime_field_add_cancel_left · unchanged support, not a new admission
forall p a b c z. (((exists pfa_gap_cancel_add_firstleft. pfa_gap_cancel_add_firstleft + S (a) = (p)) /\ (((exists pfa_gap_cancel_add_firstright. pfa_gap_cancel_add_firstright + S (b) = (p)) /\ ((((exists pfa_gap_cancel_add_firstresultbound. pfa_gap_cancel_add_firstresultbound + S (z) = (p)) /\ ((exists pfa_offset_left_cancel_add_firstresultcongruence pfa_offset_right_cancel_add_firstresultcongruence. ((a) + (b)) + (p) * pfa_offset_left_cancel_add_firstresultcongruence = (z) + (p) * pfa_offset_right_cancel_add_firstresultcongruence))))))))) -> (((exists pfa_gap_cancel_add_secondleft. pfa_gap_cancel_add_secondleft + S (a) = (p)) /\ (((exists pfa_gap_cancel_add_secondright. pfa_gap_cancel_add_secondright + S (c) = (p)) /\ ((((exists pfa_gap_cancel_add_secondresultbound. pfa_gap_cancel_add_secondresultbound + S (z) = (p)) /\ ((exists pfa_offset_left_cancel_add_secondresultcongruence pfa_offset_right_cancel_add_secondresultcongruence. ((a) + (c)) + (p) * pfa_offset_left_cancel_add_secondresultcongruence = (z) + (p) * pfa_offset_right_cancel_add_secondresultcongruence))))))))) -> b = c
intro pintro aintro bintro cintro zintro hbintro hccases hbcases hb_rightcases hb_right_rightcases hccases hc_rightcases hc_right_rightspecialize mod_eq_bounded_unique (p)specialize mod_eq_bounded_unique (b)specialize mod_eq_bounded_unique (c)apply mod_eq_bounded_uniqueexact hb_right_leftexact hc_right_leftspecialize mod_eq_add_cancel_left (p)specialize mod_eq_add_cancel_left (a)specialize mod_eq_add_cancel_left (b)specialize mod_eq_add_cancel_left (c)apply mod_eq_add_cancel_leftspecialize mod_eq_trans (p)specialize mod_eq_trans (a + b)specialize mod_eq_trans (z)specialize mod_eq_trans (a + c)apply mod_eq_transexact hb_right_right_rightspecialize mod_eq_symm (p)specialize mod_eq_symm (a + c)specialize mod_eq_symm (z)apply mod_eq_symmexact hc_right_right_right
prime_field_polynomial_subtract_entry · unchanged support, not a new admission
forall p ab ac bb bc rb rc l i a b r. (forall pfs_index_subtract_entry_graph. (exists pfa_gap_subtract_entry_graphindex. pfa_gap_subtract_entry_graphindex + S (pfs_index_subtract_entry_graph) = (l)) -> exists pfs_left_subtract_entry_graph pfs_right_subtract_entry_graph pfs_result_subtract_entry_graph. ((((exists ff_h_pfp_subtract_entry_graphleft. ff_h_pfp_subtract_entry_graphleft + S (pfs_left_subtract_entry_graph) = S ((S (pfs_index_subtract_entry_graph)) * ac)) /\ exists ff_q_pfp_subtract_entry_graphleft. ab = ff_q_pfp_subtract_entry_graphleft * S ((S (pfs_index_subtract_entry_graph)) * ac) + (pfs_left_subtract_entry_graph))) /\ (((((exists ff_h_pfp_subtract_entry_graphright. ff_h_pfp_subtract_entry_graphright + S (pfs_right_subtract_entry_graph) = S ((S (pfs_index_subtract_entry_graph)) * bc)) /\ exists ff_q_pfp_subtract_entry_graphright. bb = ff_q_pfp_subtract_entry_graphright * S ((S (pfs_index_subtract_entry_graph)) * bc) + (pfs_right_subtract_entry_graph))) /\ (((((exists ff_h_pfp_subtract_entry_graphresult. ff_h_pfp_subtract_entry_graphresult + S (pfs_result_subtract_entry_graph) = S ((S (pfs_index_subtract_entry_graph)) * rc)) /\ exists ff_q_pfp_subtract_entry_graphresult. rb = ff_q_pfp_subtract_entry_graphresult * S ((S (pfs_index_subtract_entry_graph)) * rc) + (pfs_result_subtract_entry_graph))) /\ ((((exists pfa_gap_subtract_entry_graphoperationleft. pfa_gap_subtract_entry_graphoperationleft + S (pfs_right_subtract_entry_graph) = (p)) /\ (((exists pfa_gap_subtract_entry_graphoperationright. pfa_gap_subtract_entry_graphoperationright + S (pfs_result_subtract_entry_graph) = (p)) /\ ((((exists pfa_gap_subtract_entry_graphoperationresultbound. pfa_gap_subtract_entry_graphoperationresultbound + S (pfs_left_subtract_entry_graph) = (p)) /\ ((exists pfa_offset_left_subtract_entry_graphoperationresultcongruence pfa_offset_right_subtract_entry_graphoperationresultcongruence. ((pfs_right_subtract_entry_graph) + (pfs_result_subtract_entry_graph)) + (p) * pfa_offset_left_subtract_entry_graphoperationresultcongruence = (pfs_left_subtract_entry_graph) + (p) * pfa_offset_right_subtract_entry_graphoperationresultcongruence)))))))))))))))) -> (exists pfa_gap_subtract_entry_index. pfa_gap_subtract_entry_index + S (i) = (l)) -> (((exists ff_h_pfp_subtract_entry_a. ff_h_pfp_subtract_entry_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_subtract_entry_a. ab = ff_q_pfp_subtract_entry_a * S ((S (i)) * ac) + (a))) -> (((exists ff_h_pfp_subtract_entry_b. ff_h_pfp_subtract_entry_b + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_subtract_entry_b. bb = ff_q_pfp_subtract_entry_b * S ((S (i)) * bc) + (b))) -> (((exists ff_h_pfp_subtract_entry_r. ff_h_pfp_subtract_entry_r + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_subtract_entry_r. rb = ff_q_pfp_subtract_entry_r * S ((S (i)) * rc) + (r))) -> (((exists pfa_gap_subtract_entry_resultleft. pfa_gap_subtract_entry_resultleft + S (b) = (p)) /\ (((exists pfa_gap_subtract_entry_resultright. pfa_gap_subtract_entry_resultright + S (r) = (p)) /\ ((((exists pfa_gap_subtract_entry_resultresultbound. pfa_gap_subtract_entry_resultresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_subtract_entry_resultresultcongruence pfa_offset_right_subtract_entry_resultresultcongruence. ((b) + (r)) + (p) * pfa_offset_left_subtract_entry_resultresultcongruence = (a) + (p) * pfa_offset_right_subtract_entry_resultresultcongruence)))))))))
intro pintro abintro acintro bbintro bcintro rbintro rcintro lintro iintro aintro bintro rintro hintro hiintro haintro hbintro hrhave hv : exists u0 u1 u2. (((((exists ff_h_pfp_subtract_entry_chosen0. ff_h_pfp_subtract_entry_chosen0 + S (u0) = S ((S (i)) * ac)) /\ exists ff_q_pfp_subtract_entry_chosen0. ab = ff_q_pfp_subtract_entry_chosen0 * S ((S (i)) * ac) + (u0))) /\ (((((exists ff_h_pfp_subtract_entry_chosen1. ff_h_pfp_subtract_entry_chosen1 + S (u1) = S ((S (i)) * bc)) /\ exists ff_q_pfp_subtract_entry_chosen1. bb = ff_q_pfp_subtract_entry_chosen1 * S ((S (i)) * bc) + (u1))) /\ (((((exists ff_h_pfp_subtract_entry_chosen2. ff_h_pfp_subtract_entry_chosen2 + S (u2) = S ((S (i)) * rc)) /\ exists ff_q_pfp_subtract_entry_chosen2. rb = ff_q_pfp_subtract_entry_chosen2 * S ((S (i)) * rc) + (u2))) /\ ((((exists pfa_gap_subtract_entry_chosenoperationleft. pfa_gap_subtract_entry_chosenoperationleft + S (u1) = (p)) /\ (((exists pfa_gap_subtract_entry_chosenoperationright. pfa_gap_subtract_entry_chosenoperationright + S (u2) = (p)) /\ ((((exists pfa_gap_subtract_entry_chosenoperationresultbound. pfa_gap_subtract_entry_chosenoperationresultbound + S (u0) = (p)) /\ ((exists pfa_offset_left_subtract_entry_chosenoperationresultcongruence pfa_offset_right_subtract_entry_chosenoperationresultcongruence. ((u1) + (u2)) + (p) * pfa_offset_left_subtract_entry_chosenoperationresultcongruence = (u0) + (p) * pfa_offset_right_subtract_entry_chosenoperationresultcongruence))))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_righthave heq0 : x=aspecialize beta_at_unique (ab)specialize beta_at_unique (ac)specialize beta_at_unique (i)specialize beta_at_unique (x)specialize beta_at_unique (a)apply beta_at_uniqueexact hv_witness_witness_witness_leftexact harewrite heq0 at hv_witness_witness_witness_right_right_rightrewrite heq0 at hv_witness_witness_witness_right_right_righthave heq1 : x1=bspecialize beta_at_unique (bb)specialize beta_at_unique (bc)specialize beta_at_unique (i)specialize beta_at_unique (x1)specialize beta_at_unique (b)apply beta_at_uniqueexact hv_witness_witness_witness_right_leftexact hbrewrite heq1 at hv_witness_witness_witness_right_right_rightrewrite heq1 at hv_witness_witness_witness_right_right_righthave heq2 : x2=rspecialize beta_at_unique (rb)specialize beta_at_unique (rc)specialize beta_at_unique (i)specialize beta_at_unique (x2)specialize beta_at_unique (r)apply beta_at_uniqueexact hv_witness_witness_witness_right_right_leftexact hrrewrite heq2 at hv_witness_witness_witness_right_right_rightrewrite heq2 at hv_witness_witness_witness_right_right_rightexact hv_witness_witness_witness_right_right_right
prime_field_polynomial_subtract_functional · unchanged support, not a new admission
forall p ab ac bb bc rb rc db dc l. (forall pfs_index_subtract_functional_first. (exists pfa_gap_subtract_functional_firstindex. pfa_gap_subtract_functional_firstindex + S (pfs_index_subtract_functional_first) = (l)) -> exists pfs_left_subtract_functional_first pfs_right_subtract_functional_first pfs_result_subtract_functional_first. ((((exists ff_h_pfp_subtract_functional_firstleft. ff_h_pfp_subtract_functional_firstleft + S (pfs_left_subtract_functional_first) = S ((S (pfs_index_subtract_functional_first)) * ac)) /\ exists ff_q_pfp_subtract_functional_firstleft. ab = ff_q_pfp_subtract_functional_firstleft * S ((S (pfs_index_subtract_functional_first)) * ac) + (pfs_left_subtract_functional_first))) /\ (((((exists ff_h_pfp_subtract_functional_firstright. ff_h_pfp_subtract_functional_firstright + S (pfs_right_subtract_functional_first) = S ((S (pfs_index_subtract_functional_first)) * bc)) /\ exists ff_q_pfp_subtract_functional_firstright. bb = ff_q_pfp_subtract_functional_firstright * S ((S (pfs_index_subtract_functional_first)) * bc) + (pfs_right_subtract_functional_first))) /\ (((((exists ff_h_pfp_subtract_functional_firstresult. ff_h_pfp_subtract_functional_firstresult + S (pfs_result_subtract_functional_first) = S ((S (pfs_index_subtract_functional_first)) * rc)) /\ exists ff_q_pfp_subtract_functional_firstresult. rb = ff_q_pfp_subtract_functional_firstresult * S ((S (pfs_index_subtract_functional_first)) * rc) + (pfs_result_subtract_functional_first))) /\ ((((exists pfa_gap_subtract_functional_firstoperationleft. pfa_gap_subtract_functional_firstoperationleft + S (pfs_right_subtract_functional_first) = (p)) /\ (((exists pfa_gap_subtract_functional_firstoperationright. pfa_gap_subtract_functional_firstoperationright + S (pfs_result_subtract_functional_first) = (p)) /\ ((((exists pfa_gap_subtract_functional_firstoperationresultbound. pfa_gap_subtract_functional_firstoperationresultbound + S (pfs_left_subtract_functional_first) = (p)) /\ ((exists pfa_offset_left_subtract_functional_firstoperationresultcongruence pfa_offset_right_subtract_functional_firstoperationresultcongruence. ((pfs_right_subtract_functional_first) + (pfs_result_subtract_functional_first)) + (p) * pfa_offset_left_subtract_functional_firstoperationresultcongruence = (pfs_left_subtract_functional_first) + (p) * pfa_offset_right_subtract_functional_firstoperationresultcongruence)))))))))))))))) -> (forall pfs_index_subtract_functional_second. (exists pfa_gap_subtract_functional_secondindex. pfa_gap_subtract_functional_secondindex + S (pfs_index_subtract_functional_second) = (l)) -> exists pfs_left_subtract_functional_second pfs_right_subtract_functional_second pfs_result_subtract_functional_second. ((((exists ff_h_pfp_subtract_functional_secondleft. ff_h_pfp_subtract_functional_secondleft + S (pfs_left_subtract_functional_second) = S ((S (pfs_index_subtract_functional_second)) * ac)) /\ exists ff_q_pfp_subtract_functional_secondleft. ab = ff_q_pfp_subtract_functional_secondleft * S ((S (pfs_index_subtract_functional_second)) * ac) + (pfs_left_subtract_functional_second))) /\ (((((exists ff_h_pfp_subtract_functional_secondright. ff_h_pfp_subtract_functional_secondright + S (pfs_right_subtract_functional_second) = S ((S (pfs_index_subtract_functional_second)) * bc)) /\ exists ff_q_pfp_subtract_functional_secondright. bb = ff_q_pfp_subtract_functional_secondright * S ((S (pfs_index_subtract_functional_second)) * bc) + (pfs_right_subtract_functional_second))) /\ (((((exists ff_h_pfp_subtract_functional_secondresult. ff_h_pfp_subtract_functional_secondresult + S (pfs_result_subtract_functional_second) = S ((S (pfs_index_subtract_functional_second)) * dc)) /\ exists ff_q_pfp_subtract_functional_secondresult. db = ff_q_pfp_subtract_functional_secondresult * S ((S (pfs_index_subtract_functional_second)) * dc) + (pfs_result_subtract_functional_second))) /\ ((((exists pfa_gap_subtract_functional_secondoperationleft. pfa_gap_subtract_functional_secondoperationleft + S (pfs_right_subtract_functional_second) = (p)) /\ (((exists pfa_gap_subtract_functional_secondoperationright. pfa_gap_subtract_functional_secondoperationright + S (pfs_result_subtract_functional_second) = (p)) /\ ((((exists pfa_gap_subtract_functional_secondoperationresultbound. pfa_gap_subtract_functional_secondoperationresultbound + S (pfs_left_subtract_functional_second) = (p)) /\ ((exists pfa_offset_left_subtract_functional_secondoperationresultcongruence pfa_offset_right_subtract_functional_secondoperationresultcongruence. ((pfs_right_subtract_functional_second) + (pfs_result_subtract_functional_second)) + (p) * pfa_offset_left_subtract_functional_secondoperationresultcongruence = (pfs_left_subtract_functional_second) + (p) * pfa_offset_right_subtract_functional_secondoperationresultcongruence)))))))))))))))) -> (forall mdr_i_pfp_subtract_functional_result mdr_a_pfp_subtract_functional_result. (exists mdr_gap_pfp_subtract_functional_resultb. mdr_gap_pfp_subtract_functional_resultb + S (mdr_i_pfp_subtract_functional_result) = (l)) -> (((exists ff_h_mdr_pfp_subtract_functional_resulto. ff_h_mdr_pfp_subtract_functional_resulto + S (mdr_a_pfp_subtract_functional_result) = S ((S (mdr_i_pfp_subtract_functional_result)) * rc)) /\ exists ff_q_mdr_pfp_subtract_functional_resulto. rb = ff_q_mdr_pfp_subtract_functional_resulto * S ((S (mdr_i_pfp_subtract_functional_result)) * rc) + (mdr_a_pfp_subtract_functional_result))) -> (((exists ff_h_mdr_pfp_subtract_functional_resultn. ff_h_mdr_pfp_subtract_functional_resultn + S (mdr_a_pfp_subtract_functional_result) = S ((S (mdr_i_pfp_subtract_functional_result)) * dc)) /\ exists ff_q_mdr_pfp_subtract_functional_resultn. db = ff_q_mdr_pfp_subtract_functional_resultn * S ((S (mdr_i_pfp_subtract_functional_result)) * dc) + (mdr_a_pfp_subtract_functional_result))))
intro pintro abintro acintro bbintro bcintro rbintro rcintro dbintro dcintro lintro hfirstintro hsecondintro iintro rintro hiintro hrhave hchosen0 : exists v. (((exists ff_h_pfp_subtract_functional0. ff_h_pfp_subtract_functional0 + S (v) = S ((S (i)) * ac)) /\ exists ff_q_pfp_subtract_functional0. ab = ff_q_pfp_subtract_functional0 * S ((S (i)) * ac) + (v)))specialize beta_at_exists (ab)specialize beta_at_exists (ac)specialize beta_at_exists (i)apply beta_at_existscases hchosen0have hchosen1 : exists v. (((exists ff_h_pfp_subtract_functional1. ff_h_pfp_subtract_functional1 + S (v) = S ((S (i)) * bc)) /\ exists ff_q_pfp_subtract_functional1. bb = ff_q_pfp_subtract_functional1 * S ((S (i)) * bc) + (v)))specialize beta_at_exists (bb)specialize beta_at_exists (bc)specialize beta_at_exists (i)apply beta_at_existscases hchosen1have hchosen2 : exists v. (((exists ff_h_pfp_subtract_functional2. ff_h_pfp_subtract_functional2 + S (v) = S ((S (i)) * dc)) /\ exists ff_q_pfp_subtract_functional2. db = ff_q_pfp_subtract_functional2 * S ((S (i)) * dc) + (v)))specialize beta_at_exists (db)specialize beta_at_exists (dc)specialize beta_at_exists (i)apply beta_at_existscases hchosen2have heq : r=x2specialize prime_field_add_cancel_left (p)specialize prime_field_add_cancel_left (x1)specialize prime_field_add_cancel_left (r)specialize prime_field_add_cancel_left (x2)specialize prime_field_add_cancel_left (x)apply prime_field_add_cancel_leftspecialize prime_field_polynomial_subtract_entry (p)specialize prime_field_polynomial_subtract_entry (ab)specialize prime_field_polynomial_subtract_entry (ac)specialize prime_field_polynomial_subtract_entry (bb)specialize prime_field_polynomial_subtract_entry (bc)specialize prime_field_polynomial_subtract_entry (rb)specialize prime_field_polynomial_subtract_entry (rc)specialize prime_field_polynomial_subtract_entry (l)specialize prime_field_polynomial_subtract_entry (i)specialize prime_field_polynomial_subtract_entry (x)specialize prime_field_polynomial_subtract_entry (x1)specialize prime_field_polynomial_subtract_entry (r)apply prime_field_polynomial_subtract_entryexact hfirstexact hiexact hchosen0_witnessexact hchosen1_witnessexact hrspecialize prime_field_polynomial_subtract_entry (p)specialize prime_field_polynomial_subtract_entry (ab)specialize prime_field_polynomial_subtract_entry (ac)specialize prime_field_polynomial_subtract_entry (bb)specialize prime_field_polynomial_subtract_entry (bc)specialize prime_field_polynomial_subtract_entry (db)specialize prime_field_polynomial_subtract_entry (dc)specialize prime_field_polynomial_subtract_entry (l)specialize prime_field_polynomial_subtract_entry (i)specialize prime_field_polynomial_subtract_entry (x)specialize prime_field_polynomial_subtract_entry (x1)specialize prime_field_polynomial_subtract_entry (x2)apply prime_field_polynomial_subtract_entryexact hsecondexact hiexact hchosen0_witnessexact hchosen1_witnessexact hchosen2_witnessrewrite heqrewrite heqexact hchosen2_witness
prime_field_polynomial_subtract_from_add · unchanged support, not a new admission
forall p ab ac bb bc rb rc l. (forall pfp_index_sub_bridge_old_from_add. (exists pfa_gap_sub_bridge_old_from_addindex. pfa_gap_sub_bridge_old_from_addindex + S (pfp_index_sub_bridge_old_from_add) = (l)) -> exists pfp_left_sub_bridge_old_from_add pfp_right_sub_bridge_old_from_add pfp_value_sub_bridge_old_from_add. ((((exists ff_h_pfp_sub_bridge_old_from_addleft. ff_h_pfp_sub_bridge_old_from_addleft + S (pfp_left_sub_bridge_old_from_add) = S ((S (pfp_index_sub_bridge_old_from_add)) * bc)) /\ exists ff_q_pfp_sub_bridge_old_from_addleft. bb = ff_q_pfp_sub_bridge_old_from_addleft * S ((S (pfp_index_sub_bridge_old_from_add)) * bc) + (pfp_left_sub_bridge_old_from_add))) /\ (((((exists ff_h_pfp_sub_bridge_old_from_addright. ff_h_pfp_sub_bridge_old_from_addright + S (pfp_right_sub_bridge_old_from_add) = S ((S (pfp_index_sub_bridge_old_from_add)) * rc)) /\ exists ff_q_pfp_sub_bridge_old_from_addright. rb = ff_q_pfp_sub_bridge_old_from_addright * S ((S (pfp_index_sub_bridge_old_from_add)) * rc) + (pfp_right_sub_bridge_old_from_add))) /\ (((((exists ff_h_pfp_sub_bridge_old_from_addtarget. ff_h_pfp_sub_bridge_old_from_addtarget + S (pfp_value_sub_bridge_old_from_add) = S ((S (pfp_index_sub_bridge_old_from_add)) * ac)) /\ exists ff_q_pfp_sub_bridge_old_from_addtarget. ab = ff_q_pfp_sub_bridge_old_from_addtarget * S ((S (pfp_index_sub_bridge_old_from_add)) * ac) + (pfp_value_sub_bridge_old_from_add))) /\ ((((exists pfa_gap_sub_bridge_old_from_addoperationleft. pfa_gap_sub_bridge_old_from_addoperationleft + S (pfp_left_sub_bridge_old_from_add) = (p)) /\ (((exists pfa_gap_sub_bridge_old_from_addoperationright. pfa_gap_sub_bridge_old_from_addoperationright + S (pfp_right_sub_bridge_old_from_add) = (p)) /\ ((((exists pfa_gap_sub_bridge_old_from_addoperationresultbound. pfa_gap_sub_bridge_old_from_addoperationresultbound + S (pfp_value_sub_bridge_old_from_add) = (p)) /\ ((exists pfa_offset_left_sub_bridge_old_from_addoperationresultcongruence pfa_offset_right_sub_bridge_old_from_addoperationresultcongruence. ((pfp_left_sub_bridge_old_from_add) + (pfp_right_sub_bridge_old_from_add)) + (p) * pfa_offset_left_sub_bridge_old_from_addoperationresultcongruence = (pfp_value_sub_bridge_old_from_add) + (p) * pfa_offset_right_sub_bridge_old_from_addoperationresultcongruence)))))))))))))))) -> (forall pfs_index_sub_bridge_new_from_add. (exists pfa_gap_sub_bridge_new_from_addindex. pfa_gap_sub_bridge_new_from_addindex + S (pfs_index_sub_bridge_new_from_add) = (l)) -> exists pfs_left_sub_bridge_new_from_add pfs_right_sub_bridge_new_from_add pfs_result_sub_bridge_new_from_add. ((((exists ff_h_pfp_sub_bridge_new_from_addleft. ff_h_pfp_sub_bridge_new_from_addleft + S (pfs_left_sub_bridge_new_from_add) = S ((S (pfs_index_sub_bridge_new_from_add)) * ac)) /\ exists ff_q_pfp_sub_bridge_new_from_addleft. ab = ff_q_pfp_sub_bridge_new_from_addleft * S ((S (pfs_index_sub_bridge_new_from_add)) * ac) + (pfs_left_sub_bridge_new_from_add))) /\ (((((exists ff_h_pfp_sub_bridge_new_from_addright. ff_h_pfp_sub_bridge_new_from_addright + S (pfs_right_sub_bridge_new_from_add) = S ((S (pfs_index_sub_bridge_new_from_add)) * bc)) /\ exists ff_q_pfp_sub_bridge_new_from_addright. bb = ff_q_pfp_sub_bridge_new_from_addright * S ((S (pfs_index_sub_bridge_new_from_add)) * bc) + (pfs_right_sub_bridge_new_from_add))) /\ (((((exists ff_h_pfp_sub_bridge_new_from_addresult. ff_h_pfp_sub_bridge_new_from_addresult + S (pfs_result_sub_bridge_new_from_add) = S ((S (pfs_index_sub_bridge_new_from_add)) * rc)) /\ exists ff_q_pfp_sub_bridge_new_from_addresult. rb = ff_q_pfp_sub_bridge_new_from_addresult * S ((S (pfs_index_sub_bridge_new_from_add)) * rc) + (pfs_result_sub_bridge_new_from_add))) /\ ((((exists pfa_gap_sub_bridge_new_from_addoperationleft. pfa_gap_sub_bridge_new_from_addoperationleft + S (pfs_right_sub_bridge_new_from_add) = (p)) /\ (((exists pfa_gap_sub_bridge_new_from_addoperationright. pfa_gap_sub_bridge_new_from_addoperationright + S (pfs_result_sub_bridge_new_from_add) = (p)) /\ ((((exists pfa_gap_sub_bridge_new_from_addoperationresultbound. pfa_gap_sub_bridge_new_from_addoperationresultbound + S (pfs_left_sub_bridge_new_from_add) = (p)) /\ ((exists pfa_offset_left_sub_bridge_new_from_addoperationresultcongruence pfa_offset_right_sub_bridge_new_from_addoperationresultcongruence. ((pfs_right_sub_bridge_new_from_add) + (pfs_result_sub_bridge_new_from_add)) + (p) * pfa_offset_left_sub_bridge_new_from_addoperationresultcongruence = (pfs_left_sub_bridge_new_from_add) + (p) * pfa_offset_right_sub_bridge_new_from_addoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro rbintro rcintro lintro hintro iintro hihave hv : exists b r a. (((((exists ff_h_pfp_sub_bridge_from_addb. ff_h_pfp_sub_bridge_from_addb + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_sub_bridge_from_addb. bb = ff_q_pfp_sub_bridge_from_addb * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_sub_bridge_from_addr. ff_h_pfp_sub_bridge_from_addr + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_sub_bridge_from_addr. rb = ff_q_pfp_sub_bridge_from_addr * S ((S (i)) * rc) + (r))) /\ (((((exists ff_h_pfp_sub_bridge_from_adda. ff_h_pfp_sub_bridge_from_adda + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_sub_bridge_from_adda. ab = ff_q_pfp_sub_bridge_from_adda * S ((S (i)) * ac) + (a))) /\ ((((exists pfa_gap_sub_bridge_from_addvalueleft. pfa_gap_sub_bridge_from_addvalueleft + S (b) = (p)) /\ (((exists pfa_gap_sub_bridge_from_addvalueright. pfa_gap_sub_bridge_from_addvalueright + S (r) = (p)) /\ ((((exists pfa_gap_sub_bridge_from_addvalueresultbound. pfa_gap_sub_bridge_from_addvalueresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_sub_bridge_from_addvalueresultcongruence pfa_offset_right_sub_bridge_from_addvalueresultcongruence. ((b) + (r)) + (p) * pfa_offset_left_sub_bridge_from_addvalueresultcongruence = (a) + (p) * pfa_offset_right_sub_bridge_from_addvalueresultcongruence))))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightexists x2exists xexists x1splitexact hv_witness_witness_witness_right_right_leftsplitexact hv_witness_witness_witness_leftsplitexact hv_witness_witness_witness_right_leftexact hv_witness_witness_witness_right_right_right
prime_field_polynomial_add_associative · unchanged support, not a new admission
forall p ab ac bb bc cb cc xb xc yb yc ub uc vb vc l. (forall pfp_index_assoc_ab. (exists pfa_gap_assoc_abindex. pfa_gap_assoc_abindex + S (pfp_index_assoc_ab) = (l)) -> exists pfp_left_assoc_ab pfp_right_assoc_ab pfp_value_assoc_ab. ((((exists ff_h_pfp_assoc_ableft. ff_h_pfp_assoc_ableft + S (pfp_left_assoc_ab) = S ((S (pfp_index_assoc_ab)) * ac)) /\ exists ff_q_pfp_assoc_ableft. ab = ff_q_pfp_assoc_ableft * S ((S (pfp_index_assoc_ab)) * ac) + (pfp_left_assoc_ab))) /\ (((((exists ff_h_pfp_assoc_abright. ff_h_pfp_assoc_abright + S (pfp_right_assoc_ab) = S ((S (pfp_index_assoc_ab)) * bc)) /\ exists ff_q_pfp_assoc_abright. bb = ff_q_pfp_assoc_abright * S ((S (pfp_index_assoc_ab)) * bc) + (pfp_right_assoc_ab))) /\ (((((exists ff_h_pfp_assoc_abtarget. ff_h_pfp_assoc_abtarget + S (pfp_value_assoc_ab) = S ((S (pfp_index_assoc_ab)) * xc)) /\ exists ff_q_pfp_assoc_abtarget. xb = ff_q_pfp_assoc_abtarget * S ((S (pfp_index_assoc_ab)) * xc) + (pfp_value_assoc_ab))) /\ ((((exists pfa_gap_assoc_aboperationleft. pfa_gap_assoc_aboperationleft + S (pfp_left_assoc_ab) = (p)) /\ (((exists pfa_gap_assoc_aboperationright. pfa_gap_assoc_aboperationright + S (pfp_right_assoc_ab) = (p)) /\ ((((exists pfa_gap_assoc_aboperationresultbound. pfa_gap_assoc_aboperationresultbound + S (pfp_value_assoc_ab) = (p)) /\ ((exists pfa_offset_left_assoc_aboperationresultcongruence pfa_offset_right_assoc_aboperationresultcongruence. ((pfp_left_assoc_ab) + (pfp_right_assoc_ab)) + (p) * pfa_offset_left_assoc_aboperationresultcongruence = (pfp_value_assoc_ab) + (p) * pfa_offset_right_assoc_aboperationresultcongruence)))))))))))))))) -> (forall pfp_index_assoc_left. (exists pfa_gap_assoc_leftindex. pfa_gap_assoc_leftindex + S (pfp_index_assoc_left) = (l)) -> exists pfp_left_assoc_left pfp_right_assoc_left pfp_value_assoc_left. ((((exists ff_h_pfp_assoc_leftleft. ff_h_pfp_assoc_leftleft + S (pfp_left_assoc_left) = S ((S (pfp_index_assoc_left)) * xc)) /\ exists ff_q_pfp_assoc_leftleft. xb = ff_q_pfp_assoc_leftleft * S ((S (pfp_index_assoc_left)) * xc) + (pfp_left_assoc_left))) /\ (((((exists ff_h_pfp_assoc_leftright. ff_h_pfp_assoc_leftright + S (pfp_right_assoc_left) = S ((S (pfp_index_assoc_left)) * cc)) /\ exists ff_q_pfp_assoc_leftright. cb = ff_q_pfp_assoc_leftright * S ((S (pfp_index_assoc_left)) * cc) + (pfp_right_assoc_left))) /\ (((((exists ff_h_pfp_assoc_lefttarget. ff_h_pfp_assoc_lefttarget + S (pfp_value_assoc_left) = S ((S (pfp_index_assoc_left)) * uc)) /\ exists ff_q_pfp_assoc_lefttarget. ub = ff_q_pfp_assoc_lefttarget * S ((S (pfp_index_assoc_left)) * uc) + (pfp_value_assoc_left))) /\ ((((exists pfa_gap_assoc_leftoperationleft. pfa_gap_assoc_leftoperationleft + S (pfp_left_assoc_left) = (p)) /\ (((exists pfa_gap_assoc_leftoperationright. pfa_gap_assoc_leftoperationright + S (pfp_right_assoc_left) = (p)) /\ ((((exists pfa_gap_assoc_leftoperationresultbound. pfa_gap_assoc_leftoperationresultbound + S (pfp_value_assoc_left) = (p)) /\ ((exists pfa_offset_left_assoc_leftoperationresultcongruence pfa_offset_right_assoc_leftoperationresultcongruence. ((pfp_left_assoc_left) + (pfp_right_assoc_left)) + (p) * pfa_offset_left_assoc_leftoperationresultcongruence = (pfp_value_assoc_left) + (p) * pfa_offset_right_assoc_leftoperationresultcongruence)))))))))))))))) -> (forall pfp_index_assoc_bc. (exists pfa_gap_assoc_bcindex. pfa_gap_assoc_bcindex + S (pfp_index_assoc_bc) = (l)) -> exists pfp_left_assoc_bc pfp_right_assoc_bc pfp_value_assoc_bc. ((((exists ff_h_pfp_assoc_bcleft. ff_h_pfp_assoc_bcleft + S (pfp_left_assoc_bc) = S ((S (pfp_index_assoc_bc)) * bc)) /\ exists ff_q_pfp_assoc_bcleft. bb = ff_q_pfp_assoc_bcleft * S ((S (pfp_index_assoc_bc)) * bc) + (pfp_left_assoc_bc))) /\ (((((exists ff_h_pfp_assoc_bcright. ff_h_pfp_assoc_bcright + S (pfp_right_assoc_bc) = S ((S (pfp_index_assoc_bc)) * cc)) /\ exists ff_q_pfp_assoc_bcright. cb = ff_q_pfp_assoc_bcright * S ((S (pfp_index_assoc_bc)) * cc) + (pfp_right_assoc_bc))) /\ (((((exists ff_h_pfp_assoc_bctarget. ff_h_pfp_assoc_bctarget + S (pfp_value_assoc_bc) = S ((S (pfp_index_assoc_bc)) * yc)) /\ exists ff_q_pfp_assoc_bctarget. yb = ff_q_pfp_assoc_bctarget * S ((S (pfp_index_assoc_bc)) * yc) + (pfp_value_assoc_bc))) /\ ((((exists pfa_gap_assoc_bcoperationleft. pfa_gap_assoc_bcoperationleft + S (pfp_left_assoc_bc) = (p)) /\ (((exists pfa_gap_assoc_bcoperationright. pfa_gap_assoc_bcoperationright + S (pfp_right_assoc_bc) = (p)) /\ ((((exists pfa_gap_assoc_bcoperationresultbound. pfa_gap_assoc_bcoperationresultbound + S (pfp_value_assoc_bc) = (p)) /\ ((exists pfa_offset_left_assoc_bcoperationresultcongruence pfa_offset_right_assoc_bcoperationresultcongruence. ((pfp_left_assoc_bc) + (pfp_right_assoc_bc)) + (p) * pfa_offset_left_assoc_bcoperationresultcongruence = (pfp_value_assoc_bc) + (p) * pfa_offset_right_assoc_bcoperationresultcongruence)))))))))))))))) -> (forall pfp_index_assoc_right. (exists pfa_gap_assoc_rightindex. pfa_gap_assoc_rightindex + S (pfp_index_assoc_right) = (l)) -> exists pfp_left_assoc_right pfp_right_assoc_right pfp_value_assoc_right. ((((exists ff_h_pfp_assoc_rightleft. ff_h_pfp_assoc_rightleft + S (pfp_left_assoc_right) = S ((S (pfp_index_assoc_right)) * ac)) /\ exists ff_q_pfp_assoc_rightleft. ab = ff_q_pfp_assoc_rightleft * S ((S (pfp_index_assoc_right)) * ac) + (pfp_left_assoc_right))) /\ (((((exists ff_h_pfp_assoc_rightright. ff_h_pfp_assoc_rightright + S (pfp_right_assoc_right) = S ((S (pfp_index_assoc_right)) * yc)) /\ exists ff_q_pfp_assoc_rightright. yb = ff_q_pfp_assoc_rightright * S ((S (pfp_index_assoc_right)) * yc) + (pfp_right_assoc_right))) /\ (((((exists ff_h_pfp_assoc_righttarget. ff_h_pfp_assoc_righttarget + S (pfp_value_assoc_right) = S ((S (pfp_index_assoc_right)) * vc)) /\ exists ff_q_pfp_assoc_righttarget. vb = ff_q_pfp_assoc_righttarget * S ((S (pfp_index_assoc_right)) * vc) + (pfp_value_assoc_right))) /\ ((((exists pfa_gap_assoc_rightoperationleft. pfa_gap_assoc_rightoperationleft + S (pfp_left_assoc_right) = (p)) /\ (((exists pfa_gap_assoc_rightoperationright. pfa_gap_assoc_rightoperationright + S (pfp_right_assoc_right) = (p)) /\ ((((exists pfa_gap_assoc_rightoperationresultbound. pfa_gap_assoc_rightoperationresultbound + S (pfp_value_assoc_right) = (p)) /\ ((exists pfa_offset_left_assoc_rightoperationresultcongruence pfa_offset_right_assoc_rightoperationresultcongruence. ((pfp_left_assoc_right) + (pfp_right_assoc_right)) + (p) * pfa_offset_left_assoc_rightoperationresultcongruence = (pfp_value_assoc_right) + (p) * pfa_offset_right_assoc_rightoperationresultcongruence)))))))))))))))) -> (forall mdr_i_pfp_assoc_result mdr_a_pfp_assoc_result. (exists mdr_gap_pfp_assoc_resultb. mdr_gap_pfp_assoc_resultb + S (mdr_i_pfp_assoc_result) = (l)) -> (((exists ff_h_mdr_pfp_assoc_resulto. ff_h_mdr_pfp_assoc_resulto + S (mdr_a_pfp_assoc_result) = S ((S (mdr_i_pfp_assoc_result)) * uc)) /\ exists ff_q_mdr_pfp_assoc_resulto. ub = ff_q_mdr_pfp_assoc_resulto * S ((S (mdr_i_pfp_assoc_result)) * uc) + (mdr_a_pfp_assoc_result))) -> (((exists ff_h_mdr_pfp_assoc_resultn. ff_h_mdr_pfp_assoc_resultn + S (mdr_a_pfp_assoc_result) = S ((S (mdr_i_pfp_assoc_result)) * vc)) /\ exists ff_q_mdr_pfp_assoc_resultn. vb = ff_q_mdr_pfp_assoc_resultn * S ((S (mdr_i_pfp_assoc_result)) * vc) + (mdr_a_pfp_assoc_result))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro xbintro xcintro ybintro ycintro ubintro ucintro vbintro vcintro lintro habintro hleftintro hbcintro hrightintro iintro rintro hiintro hrhave entry_a : exists z. (((exists ff_h_pfp_assoc_choicea. ff_h_pfp_assoc_choicea + S (z) = S ((S (i)) * ac)) /\ exists ff_q_pfp_assoc_choicea. ab = ff_q_pfp_assoc_choicea * S ((S (i)) * ac) + (z)))specialize beta_at_exists (ab)specialize beta_at_exists (ac)specialize beta_at_exists (i)apply beta_at_existscases entry_ahave entry_b : exists z. (((exists ff_h_pfp_assoc_choiceb. ff_h_pfp_assoc_choiceb + S (z) = S ((S (i)) * bc)) /\ exists ff_q_pfp_assoc_choiceb. bb = ff_q_pfp_assoc_choiceb * S ((S (i)) * bc) + (z)))specialize beta_at_exists (bb)specialize beta_at_exists (bc)specialize beta_at_exists (i)apply beta_at_existscases entry_bhave entry_c : exists z. (((exists ff_h_pfp_assoc_choicec. ff_h_pfp_assoc_choicec + S (z) = S ((S (i)) * cc)) /\ exists ff_q_pfp_assoc_choicec. cb = ff_q_pfp_assoc_choicec * S ((S (i)) * cc) + (z)))specialize beta_at_exists (cb)specialize beta_at_exists (cc)specialize beta_at_exists (i)apply beta_at_existscases entry_chave entry_x : exists z. (((exists ff_h_pfp_assoc_choicex. ff_h_pfp_assoc_choicex + S (z) = S ((S (i)) * xc)) /\ exists ff_q_pfp_assoc_choicex. xb = ff_q_pfp_assoc_choicex * S ((S (i)) * xc) + (z)))specialize beta_at_exists (xb)specialize beta_at_exists (xc)specialize beta_at_exists (i)apply beta_at_existscases entry_xhave entry_y : exists z. (((exists ff_h_pfp_assoc_choicey. ff_h_pfp_assoc_choicey + S (z) = S ((S (i)) * yc)) /\ exists ff_q_pfp_assoc_choicey. yb = ff_q_pfp_assoc_choicey * S ((S (i)) * yc) + (z)))specialize beta_at_exists (yb)specialize beta_at_exists (yc)specialize beta_at_exists (i)apply beta_at_existscases entry_yhave entry_v : exists z. (((exists ff_h_pfp_assoc_choicev. ff_h_pfp_assoc_choicev + S (z) = S ((S (i)) * vc)) /\ exists ff_q_pfp_assoc_choicev. vb = ff_q_pfp_assoc_choicev * S ((S (i)) * vc) + (z)))specialize beta_at_exists (vb)specialize beta_at_exists (vc)specialize beta_at_exists (i)apply beta_at_existscases entry_vhave heq : r=x5specialize prime_field_add_associative (p)specialize prime_field_add_associative (x)specialize prime_field_add_associative (x1)specialize prime_field_add_associative (x2)specialize prime_field_add_associative (x3)specialize prime_field_add_associative (x4)specialize prime_field_add_associative (r)specialize prime_field_add_associative (x5)apply prime_field_add_associativespecialize prime_field_polynomial_add_entry (p)specialize prime_field_polynomial_add_entry (ab)specialize prime_field_polynomial_add_entry (ac)specialize prime_field_polynomial_add_entry (bb)specialize prime_field_polynomial_add_entry (bc)specialize prime_field_polynomial_add_entry (xb)specialize prime_field_polynomial_add_entry (xc)specialize prime_field_polynomial_add_entry (l)specialize prime_field_polynomial_add_entry (i)specialize prime_field_polynomial_add_entry (x)specialize prime_field_polynomial_add_entry (x1)specialize prime_field_polynomial_add_entry (x3)apply prime_field_polynomial_add_entryexact habexact hiexact entry_a_witnessexact entry_b_witnessexact entry_x_witnessspecialize prime_field_polynomial_add_entry (p)specialize prime_field_polynomial_add_entry (xb)specialize prime_field_polynomial_add_entry (xc)specialize prime_field_polynomial_add_entry (cb)specialize prime_field_polynomial_add_entry (cc)specialize prime_field_polynomial_add_entry (ub)specialize prime_field_polynomial_add_entry (uc)specialize prime_field_polynomial_add_entry (l)specialize prime_field_polynomial_add_entry (i)specialize prime_field_polynomial_add_entry (x3)specialize prime_field_polynomial_add_entry (x2)specialize prime_field_polynomial_add_entry (r)apply prime_field_polynomial_add_entryexact hleftexact hiexact entry_x_witnessexact entry_c_witnessexact hrspecialize prime_field_polynomial_add_entry (p)specialize prime_field_polynomial_add_entry (bb)specialize prime_field_polynomial_add_entry (bc)specialize prime_field_polynomial_add_entry (cb)specialize prime_field_polynomial_add_entry (cc)specialize prime_field_polynomial_add_entry (yb)specialize prime_field_polynomial_add_entry (yc)specialize prime_field_polynomial_add_entry (l)specialize prime_field_polynomial_add_entry (i)specialize prime_field_polynomial_add_entry (x1)specialize prime_field_polynomial_add_entry (x2)specialize prime_field_polynomial_add_entry (x4)apply prime_field_polynomial_add_entryexact hbcexact hiexact entry_b_witnessexact entry_c_witnessexact entry_y_witnessspecialize prime_field_polynomial_add_entry (p)specialize prime_field_polynomial_add_entry (ab)specialize prime_field_polynomial_add_entry (ac)specialize prime_field_polynomial_add_entry (yb)specialize prime_field_polynomial_add_entry (yc)specialize prime_field_polynomial_add_entry (vb)specialize prime_field_polynomial_add_entry (vc)specialize prime_field_polynomial_add_entry (l)specialize prime_field_polynomial_add_entry (i)specialize prime_field_polynomial_add_entry (x)specialize prime_field_polynomial_add_entry (x4)specialize prime_field_polynomial_add_entry (x5)apply prime_field_polynomial_add_entryexact hrightexact hiexact entry_a_witnessexact entry_y_witnessexact entry_v_witnessrewrite heqrewrite heqexact entry_v_witness
prime_field_polynomial_suffix_bounded · unchanged support, not a new admission
forall p b c L t d e M. L=t+M -> (forall fom_index_pfp_suffix_input_coefficients. (exists fom_gap_pfp_suffix_input_coefficients_index_bound. fom_gap_pfp_suffix_input_coefficients_index_bound + S (fom_index_pfp_suffix_input_coefficients) = L) -> exists fom_value_pfp_suffix_input_coefficients. ((((exists fom_beta_height_pfp_suffix_input_coefficients_entry. fom_beta_height_pfp_suffix_input_coefficients_entry + S (fom_value_pfp_suffix_input_coefficients) = S ((S (fom_index_pfp_suffix_input_coefficients)) * c)) /\ exists fom_beta_quotient_pfp_suffix_input_coefficients_entry. b = fom_beta_quotient_pfp_suffix_input_coefficients_entry * S ((S (fom_index_pfp_suffix_input_coefficients)) * c) + (fom_value_pfp_suffix_input_coefficients))) /\ (exists fom_gap_pfp_suffix_input_coefficients_value_bound. fom_gap_pfp_suffix_input_coefficients_value_bound + S (fom_value_pfp_suffix_input_coefficients) = p))) -> (forall pftrim_index_suffix_bounded pftrim_value_suffix_bounded. (exists pfa_gap_suffix_boundedbound. pfa_gap_suffix_boundedbound + S (pftrim_index_suffix_bounded) = (M)) -> (((exists ff_h_pfp_suffix_boundedsource. ff_h_pfp_suffix_boundedsource + S (pftrim_value_suffix_bounded) = S ((S ((t)+pftrim_index_suffix_bounded)) * c)) /\ exists ff_q_pfp_suffix_boundedsource. b = ff_q_pfp_suffix_boundedsource * S ((S ((t)+pftrim_index_suffix_bounded)) * c) + (pftrim_value_suffix_bounded))) -> (((exists ff_h_pfp_suffix_boundedoutput. ff_h_pfp_suffix_boundedoutput + S (pftrim_value_suffix_bounded) = S ((S (pftrim_index_suffix_bounded)) * e)) /\ exists ff_q_pfp_suffix_boundedoutput. d = ff_q_pfp_suffix_boundedoutput * S ((S (pftrim_index_suffix_bounded)) * e) + (pftrim_value_suffix_bounded)))) -> (forall fom_index_pfp_suffix_output_coefficients. (exists fom_gap_pfp_suffix_output_coefficients_index_bound. fom_gap_pfp_suffix_output_coefficients_index_bound + S (fom_index_pfp_suffix_output_coefficients) = M) -> exists fom_value_pfp_suffix_output_coefficients. ((((exists fom_beta_height_pfp_suffix_output_coefficients_entry. fom_beta_height_pfp_suffix_output_coefficients_entry + S (fom_value_pfp_suffix_output_coefficients) = S ((S (fom_index_pfp_suffix_output_coefficients)) * e)) /\ exists fom_beta_quotient_pfp_suffix_output_coefficients_entry. d = fom_beta_quotient_pfp_suffix_output_coefficients_entry * S ((S (fom_index_pfp_suffix_output_coefficients)) * e) + (fom_value_pfp_suffix_output_coefficients))) /\ (exists fom_gap_pfp_suffix_output_coefficients_value_bound. fom_gap_pfp_suffix_output_coefficients_value_bound + S (fom_value_pfp_suffix_output_coefficients) = p)))
intro pintro bintro cintro Lintro tintro dintro eintro Mintro hlenintro hcintro hsintro iintro hihave hshift : exists pfa_gap_suffix_shift_bound. pfa_gap_suffix_shift_bound + S (t+i) = (L)rewrite hlenspecialize matrix_recursive_lt_add_left (i)specialize matrix_recursive_lt_add_left (M)specialize matrix_recursive_lt_add_left (t)apply matrix_recursive_lt_add_leftexact hihave ha : exists a. ((((exists ff_h_pfp_suffix_bounded_source. ff_h_pfp_suffix_bounded_source + S (a) = S ((S (t+i)) * c)) /\ exists ff_q_pfp_suffix_bounded_source. b = ff_q_pfp_suffix_bounded_source * S ((S (t+i)) * c) + (a))) /\ ((exists pfa_gap_suffix_bounded_value. pfa_gap_suffix_bounded_value + S (a) = (p))))specialize hc (t+i)apply hcexact hshiftcases hacases ha_witnessexists xsplitspecialize hs (i)specialize hs (x)apply hsexact hiexact ha_witness_leftexact ha_witness_right
prime_field_polynomial_trim_output_coefficients · unchanged support, not a new admission
forall p b c L t d e M. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_trim_bounded_sourceinput. (exists fom_gap_pfp_trim_bounded_sourceinput_index_bound. fom_gap_pfp_trim_bounded_sourceinput_index_bound + S (fom_index_pfp_trim_bounded_sourceinput) = L) -> exists fom_value_pfp_trim_bounded_sourceinput. ((((exists fom_beta_height_pfp_trim_bounded_sourceinput_entry. fom_beta_height_pfp_trim_bounded_sourceinput_entry + S (fom_value_pfp_trim_bounded_sourceinput) = S ((S (fom_index_pfp_trim_bounded_sourceinput)) * c)) /\ exists fom_beta_quotient_pfp_trim_bounded_sourceinput_entry. b = fom_beta_quotient_pfp_trim_bounded_sourceinput_entry * S ((S (fom_index_pfp_trim_bounded_sourceinput)) * c) + (fom_value_pfp_trim_bounded_sourceinput))) /\ (exists fom_gap_pfp_trim_bounded_sourceinput_value_bound. fom_gap_pfp_trim_bounded_sourceinput_value_bound + S (fom_value_pfp_trim_bounded_sourceinput) = p))) /\ (((forall pfp_repeat_index_trim_bounded_sourceremoved. (exists pfa_gap_trim_bounded_sourceremovedindex. pfa_gap_trim_bounded_sourceremovedindex + S (pfp_repeat_index_trim_bounded_sourceremoved) = (t)) -> (((exists ff_h_pfp_trim_bounded_sourceremovedentry. ff_h_pfp_trim_bounded_sourceremovedentry + S (0) = S ((S (pfp_repeat_index_trim_bounded_sourceremoved)) * c)) /\ exists ff_q_pfp_trim_bounded_sourceremovedentry. b = ff_q_pfp_trim_bounded_sourceremovedentry * S ((S (pfp_repeat_index_trim_bounded_sourceremoved)) * c) + (0)))) /\ (((forall pftrim_index_trim_bounded_sourcesuffix pftrim_value_trim_bounded_sourcesuffix. (exists pfa_gap_trim_bounded_sourcesuffixbound. pfa_gap_trim_bounded_sourcesuffixbound + S (pftrim_index_trim_bounded_sourcesuffix) = (M)) -> (((exists ff_h_pfp_trim_bounded_sourcesuffixsource. ff_h_pfp_trim_bounded_sourcesuffixsource + S (pftrim_value_trim_bounded_sourcesuffix) = S ((S ((t)+pftrim_index_trim_bounded_sourcesuffix)) * c)) /\ exists ff_q_pfp_trim_bounded_sourcesuffixsource. b = ff_q_pfp_trim_bounded_sourcesuffixsource * S ((S ((t)+pftrim_index_trim_bounded_sourcesuffix)) * c) + (pftrim_value_trim_bounded_sourcesuffix))) -> (((exists ff_h_pfp_trim_bounded_sourcesuffixoutput. ff_h_pfp_trim_bounded_sourcesuffixoutput + S (pftrim_value_trim_bounded_sourcesuffix) = S ((S (pftrim_index_trim_bounded_sourcesuffix)) * e)) /\ exists ff_q_pfp_trim_bounded_sourcesuffixoutput. d = ff_q_pfp_trim_bounded_sourcesuffixoutput * S ((S (pftrim_index_trim_bounded_sourcesuffix)) * e) + (pftrim_value_trim_bounded_sourcesuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_trim_bounded_sourcenormal. ((((exists ff_h_pfp_trim_bounded_sourcenormalentry. ff_h_pfp_trim_bounded_sourcenormalentry + S (pftrim_leading_trim_bounded_sourcenormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_bounded_sourcenormalentry. d = ff_q_pfp_trim_bounded_sourcenormalentry * S ((S (0)) * e) + (pftrim_leading_trim_bounded_sourcenormal))) /\ ((~(pftrim_leading_trim_bounded_sourcenormal=0))))))))))))))) -> (forall fom_index_pfp_trim_bounded_result. (exists fom_gap_pfp_trim_bounded_result_index_bound. fom_gap_pfp_trim_bounded_result_index_bound + S (fom_index_pfp_trim_bounded_result) = M) -> exists fom_value_pfp_trim_bounded_result. ((((exists fom_beta_height_pfp_trim_bounded_result_entry. fom_beta_height_pfp_trim_bounded_result_entry + S (fom_value_pfp_trim_bounded_result) = S ((S (fom_index_pfp_trim_bounded_result)) * e)) /\ exists fom_beta_quotient_pfp_trim_bounded_result_entry. d = fom_beta_quotient_pfp_trim_bounded_result_entry * S ((S (fom_index_pfp_trim_bounded_result)) * e) + (fom_value_pfp_trim_bounded_result))) /\ (exists fom_gap_pfp_trim_bounded_result_value_bound. fom_gap_pfp_trim_bounded_result_value_bound + S (fom_value_pfp_trim_bounded_result) = p)))
intro pintro bintro cintro Lintro tintro dintro eintro Mintro hcases hcases h_rightcases h_right_rightcases h_right_right_rightspecialize prime_field_polynomial_suffix_bounded (p)specialize prime_field_polynomial_suffix_bounded (b)specialize prime_field_polynomial_suffix_bounded (c)specialize prime_field_polynomial_suffix_bounded (L)specialize prime_field_polynomial_suffix_bounded (t)specialize prime_field_polynomial_suffix_bounded (d)specialize prime_field_polynomial_suffix_bounded (e)specialize prime_field_polynomial_suffix_bounded (M)apply prime_field_polynomial_suffix_boundedexact h_leftexact h_right_leftexact h_right_right_right_left
prime_field_polynomial_zero_suffix_left_pad · unchanged support, not a new admission
forall b c L t d e. (forall pfp_repeat_index_suffix_to_pad_zero. (exists pfa_gap_suffix_to_pad_zeroindex. pfa_gap_suffix_to_pad_zeroindex + S (pfp_repeat_index_suffix_to_pad_zero) = (t)) -> (((exists ff_h_pfp_suffix_to_pad_zeroentry. ff_h_pfp_suffix_to_pad_zeroentry + S (0) = S ((S (pfp_repeat_index_suffix_to_pad_zero)) * e)) /\ exists ff_q_pfp_suffix_to_pad_zeroentry. d = ff_q_pfp_suffix_to_pad_zeroentry * S ((S (pfp_repeat_index_suffix_to_pad_zero)) * e) + (0)))) -> (forall pftrim_index_suffix_to_pad_suffix pftrim_value_suffix_to_pad_suffix. (exists pfa_gap_suffix_to_pad_suffixbound. pfa_gap_suffix_to_pad_suffixbound + S (pftrim_index_suffix_to_pad_suffix) = (L)) -> (((exists ff_h_pfp_suffix_to_pad_suffixsource. ff_h_pfp_suffix_to_pad_suffixsource + S (pftrim_value_suffix_to_pad_suffix) = S ((S ((t)+pftrim_index_suffix_to_pad_suffix)) * e)) /\ exists ff_q_pfp_suffix_to_pad_suffixsource. d = ff_q_pfp_suffix_to_pad_suffixsource * S ((S ((t)+pftrim_index_suffix_to_pad_suffix)) * e) + (pftrim_value_suffix_to_pad_suffix))) -> (((exists ff_h_pfp_suffix_to_pad_suffixoutput. ff_h_pfp_suffix_to_pad_suffixoutput + S (pftrim_value_suffix_to_pad_suffix) = S ((S (pftrim_index_suffix_to_pad_suffix)) * c)) /\ exists ff_q_pfp_suffix_to_pad_suffixoutput. b = ff_q_pfp_suffix_to_pad_suffixoutput * S ((S (pftrim_index_suffix_to_pad_suffix)) * c) + (pftrim_value_suffix_to_pad_suffix)))) -> (((forall pfp_repeat_index_suffix_to_pad_resultzeros. (exists pfa_gap_suffix_to_pad_resultzerosindex. pfa_gap_suffix_to_pad_resultzerosindex + S (pfp_repeat_index_suffix_to_pad_resultzeros) = (t)) -> (((exists ff_h_pfp_suffix_to_pad_resultzerosentry. ff_h_pfp_suffix_to_pad_resultzerosentry + S (0) = S ((S (pfp_repeat_index_suffix_to_pad_resultzeros)) * e)) /\ exists ff_q_pfp_suffix_to_pad_resultzerosentry. d = ff_q_pfp_suffix_to_pad_resultzerosentry * S ((S (pfp_repeat_index_suffix_to_pad_resultzeros)) * e) + (0)))) /\ ((forall pfrep_index_suffix_to_pad_result pfrep_value_suffix_to_pad_result. (exists pfa_gap_suffix_to_pad_resultbound. pfa_gap_suffix_to_pad_resultbound + S (pfrep_index_suffix_to_pad_result) = (L)) -> (((exists ff_h_pfp_suffix_to_pad_resultinput. ff_h_pfp_suffix_to_pad_resultinput + S (pfrep_value_suffix_to_pad_result) = S ((S (pfrep_index_suffix_to_pad_result)) * c)) /\ exists ff_q_pfp_suffix_to_pad_resultinput. b = ff_q_pfp_suffix_to_pad_resultinput * S ((S (pfrep_index_suffix_to_pad_result)) * c) + (pfrep_value_suffix_to_pad_result))) -> (((exists ff_h_pfp_suffix_to_pad_resultoutput. ff_h_pfp_suffix_to_pad_resultoutput + S (pfrep_value_suffix_to_pad_result) = S ((S ((t)+pfrep_index_suffix_to_pad_result)) * e)) /\ exists ff_q_pfp_suffix_to_pad_resultoutput. d = ff_q_pfp_suffix_to_pad_resultoutput * S ((S ((t)+pfrep_index_suffix_to_pad_result)) * e) + (pfrep_value_suffix_to_pad_result)))))))
intro bintro cintro Lintro tintro dintro eintro hzintro hssplitexact hzintro iintro aintro hiintro hahave hv : exists r. (((exists ff_h_pfp_suffix_to_pad_choice. ff_h_pfp_suffix_to_pad_choice + S (r) = S ((S (t+i)) * e)) /\ exists ff_q_pfp_suffix_to_pad_choice. d = ff_q_pfp_suffix_to_pad_choice * S ((S (t+i)) * e) + (r)))specialize beta_at_exists (d)specialize beta_at_exists (e)specialize beta_at_exists (t+i)apply beta_at_existscases hvhave heq : x=aspecialize beta_at_unique (b)specialize beta_at_unique (c)specialize beta_at_unique (i)specialize beta_at_unique (x)specialize beta_at_unique (a)apply beta_at_uniquespecialize hs (i)specialize hs (x)apply hsexact hiexact hv_witnessexact harewrite heq at hv_witnessrewrite heq at hv_witnessexact hv_witness
prime_field_polynomial_trim_left_pad · unchanged support, not a new admission
forall p b c L t d e M. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_trim_to_pad_sourceinput. (exists fom_gap_pfp_trim_to_pad_sourceinput_index_bound. fom_gap_pfp_trim_to_pad_sourceinput_index_bound + S (fom_index_pfp_trim_to_pad_sourceinput) = L) -> exists fom_value_pfp_trim_to_pad_sourceinput. ((((exists fom_beta_height_pfp_trim_to_pad_sourceinput_entry. fom_beta_height_pfp_trim_to_pad_sourceinput_entry + S (fom_value_pfp_trim_to_pad_sourceinput) = S ((S (fom_index_pfp_trim_to_pad_sourceinput)) * c)) /\ exists fom_beta_quotient_pfp_trim_to_pad_sourceinput_entry. b = fom_beta_quotient_pfp_trim_to_pad_sourceinput_entry * S ((S (fom_index_pfp_trim_to_pad_sourceinput)) * c) + (fom_value_pfp_trim_to_pad_sourceinput))) /\ (exists fom_gap_pfp_trim_to_pad_sourceinput_value_bound. fom_gap_pfp_trim_to_pad_sourceinput_value_bound + S (fom_value_pfp_trim_to_pad_sourceinput) = p))) /\ (((forall pfp_repeat_index_trim_to_pad_sourceremoved. (exists pfa_gap_trim_to_pad_sourceremovedindex. pfa_gap_trim_to_pad_sourceremovedindex + S (pfp_repeat_index_trim_to_pad_sourceremoved) = (t)) -> (((exists ff_h_pfp_trim_to_pad_sourceremovedentry. ff_h_pfp_trim_to_pad_sourceremovedentry + S (0) = S ((S (pfp_repeat_index_trim_to_pad_sourceremoved)) * c)) /\ exists ff_q_pfp_trim_to_pad_sourceremovedentry. b = ff_q_pfp_trim_to_pad_sourceremovedentry * S ((S (pfp_repeat_index_trim_to_pad_sourceremoved)) * c) + (0)))) /\ (((forall pftrim_index_trim_to_pad_sourcesuffix pftrim_value_trim_to_pad_sourcesuffix. (exists pfa_gap_trim_to_pad_sourcesuffixbound. pfa_gap_trim_to_pad_sourcesuffixbound + S (pftrim_index_trim_to_pad_sourcesuffix) = (M)) -> (((exists ff_h_pfp_trim_to_pad_sourcesuffixsource. ff_h_pfp_trim_to_pad_sourcesuffixsource + S (pftrim_value_trim_to_pad_sourcesuffix) = S ((S ((t)+pftrim_index_trim_to_pad_sourcesuffix)) * c)) /\ exists ff_q_pfp_trim_to_pad_sourcesuffixsource. b = ff_q_pfp_trim_to_pad_sourcesuffixsource * S ((S ((t)+pftrim_index_trim_to_pad_sourcesuffix)) * c) + (pftrim_value_trim_to_pad_sourcesuffix))) -> (((exists ff_h_pfp_trim_to_pad_sourcesuffixoutput. ff_h_pfp_trim_to_pad_sourcesuffixoutput + S (pftrim_value_trim_to_pad_sourcesuffix) = S ((S (pftrim_index_trim_to_pad_sourcesuffix)) * e)) /\ exists ff_q_pfp_trim_to_pad_sourcesuffixoutput. d = ff_q_pfp_trim_to_pad_sourcesuffixoutput * S ((S (pftrim_index_trim_to_pad_sourcesuffix)) * e) + (pftrim_value_trim_to_pad_sourcesuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_trim_to_pad_sourcenormal. ((((exists ff_h_pfp_trim_to_pad_sourcenormalentry. ff_h_pfp_trim_to_pad_sourcenormalentry + S (pftrim_leading_trim_to_pad_sourcenormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_to_pad_sourcenormalentry. d = ff_q_pfp_trim_to_pad_sourcenormalentry * S ((S (0)) * e) + (pftrim_leading_trim_to_pad_sourcenormal))) /\ ((~(pftrim_leading_trim_to_pad_sourcenormal=0))))))))))))))) -> (((forall pfp_repeat_index_trim_to_pad_resultzeros. (exists pfa_gap_trim_to_pad_resultzerosindex. pfa_gap_trim_to_pad_resultzerosindex + S (pfp_repeat_index_trim_to_pad_resultzeros) = (t)) -> (((exists ff_h_pfp_trim_to_pad_resultzerosentry. ff_h_pfp_trim_to_pad_resultzerosentry + S (0) = S ((S (pfp_repeat_index_trim_to_pad_resultzeros)) * c)) /\ exists ff_q_pfp_trim_to_pad_resultzerosentry. b = ff_q_pfp_trim_to_pad_resultzerosentry * S ((S (pfp_repeat_index_trim_to_pad_resultzeros)) * c) + (0)))) /\ ((forall pfrep_index_trim_to_pad_result pfrep_value_trim_to_pad_result. (exists pfa_gap_trim_to_pad_resultbound. pfa_gap_trim_to_pad_resultbound + S (pfrep_index_trim_to_pad_result) = (M)) -> (((exists ff_h_pfp_trim_to_pad_resultinput. ff_h_pfp_trim_to_pad_resultinput + S (pfrep_value_trim_to_pad_result) = S ((S (pfrep_index_trim_to_pad_result)) * e)) /\ exists ff_q_pfp_trim_to_pad_resultinput. d = ff_q_pfp_trim_to_pad_resultinput * S ((S (pfrep_index_trim_to_pad_result)) * e) + (pfrep_value_trim_to_pad_result))) -> (((exists ff_h_pfp_trim_to_pad_resultoutput. ff_h_pfp_trim_to_pad_resultoutput + S (pfrep_value_trim_to_pad_result) = S ((S ((t)+pfrep_index_trim_to_pad_result)) * c)) /\ exists ff_q_pfp_trim_to_pad_resultoutput. b = ff_q_pfp_trim_to_pad_resultoutput * S ((S ((t)+pfrep_index_trim_to_pad_result)) * c) + (pfrep_value_trim_to_pad_result)))))))
intro pintro bintro cintro Lintro tintro dintro eintro Mintro hcases hcases h_rightcases h_right_rightcases h_right_right_rightspecialize prime_field_polynomial_zero_suffix_left_pad (d)specialize prime_field_polynomial_zero_suffix_left_pad (e)specialize prime_field_polynomial_zero_suffix_left_pad (M)specialize prime_field_polynomial_zero_suffix_left_pad (t)specialize prime_field_polynomial_zero_suffix_left_pad (b)specialize prime_field_polynomial_zero_suffix_left_pad (c)apply prime_field_polynomial_zero_suffix_left_padexact h_right_right_leftexact h_right_right_right_left
prime_field_polynomial_trim_equivalent · unchanged support, not a new admission
forall p b c L t d e M. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_trim_equivalence_sourceinput. (exists fom_gap_pfp_trim_equivalence_sourceinput_index_bound. fom_gap_pfp_trim_equivalence_sourceinput_index_bound + S (fom_index_pfp_trim_equivalence_sourceinput) = L) -> exists fom_value_pfp_trim_equivalence_sourceinput. ((((exists fom_beta_height_pfp_trim_equivalence_sourceinput_entry. fom_beta_height_pfp_trim_equivalence_sourceinput_entry + S (fom_value_pfp_trim_equivalence_sourceinput) = S ((S (fom_index_pfp_trim_equivalence_sourceinput)) * c)) /\ exists fom_beta_quotient_pfp_trim_equivalence_sourceinput_entry. b = fom_beta_quotient_pfp_trim_equivalence_sourceinput_entry * S ((S (fom_index_pfp_trim_equivalence_sourceinput)) * c) + (fom_value_pfp_trim_equivalence_sourceinput))) /\ (exists fom_gap_pfp_trim_equivalence_sourceinput_value_bound. fom_gap_pfp_trim_equivalence_sourceinput_value_bound + S (fom_value_pfp_trim_equivalence_sourceinput) = p))) /\ (((forall pfp_repeat_index_trim_equivalence_sourceremoved. (exists pfa_gap_trim_equivalence_sourceremovedindex. pfa_gap_trim_equivalence_sourceremovedindex + S (pfp_repeat_index_trim_equivalence_sourceremoved) = (t)) -> (((exists ff_h_pfp_trim_equivalence_sourceremovedentry. ff_h_pfp_trim_equivalence_sourceremovedentry + S (0) = S ((S (pfp_repeat_index_trim_equivalence_sourceremoved)) * c)) /\ exists ff_q_pfp_trim_equivalence_sourceremovedentry. b = ff_q_pfp_trim_equivalence_sourceremovedentry * S ((S (pfp_repeat_index_trim_equivalence_sourceremoved)) * c) + (0)))) /\ (((forall pftrim_index_trim_equivalence_sourcesuffix pftrim_value_trim_equivalence_sourcesuffix. (exists pfa_gap_trim_equivalence_sourcesuffixbound. pfa_gap_trim_equivalence_sourcesuffixbound + S (pftrim_index_trim_equivalence_sourcesuffix) = (M)) -> (((exists ff_h_pfp_trim_equivalence_sourcesuffixsource. ff_h_pfp_trim_equivalence_sourcesuffixsource + S (pftrim_value_trim_equivalence_sourcesuffix) = S ((S ((t)+pftrim_index_trim_equivalence_sourcesuffix)) * c)) /\ exists ff_q_pfp_trim_equivalence_sourcesuffixsource. b = ff_q_pfp_trim_equivalence_sourcesuffixsource * S ((S ((t)+pftrim_index_trim_equivalence_sourcesuffix)) * c) + (pftrim_value_trim_equivalence_sourcesuffix))) -> (((exists ff_h_pfp_trim_equivalence_sourcesuffixoutput. ff_h_pfp_trim_equivalence_sourcesuffixoutput + S (pftrim_value_trim_equivalence_sourcesuffix) = S ((S (pftrim_index_trim_equivalence_sourcesuffix)) * e)) /\ exists ff_q_pfp_trim_equivalence_sourcesuffixoutput. d = ff_q_pfp_trim_equivalence_sourcesuffixoutput * S ((S (pftrim_index_trim_equivalence_sourcesuffix)) * e) + (pftrim_value_trim_equivalence_sourcesuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_trim_equivalence_sourcenormal. ((((exists ff_h_pfp_trim_equivalence_sourcenormalentry. ff_h_pfp_trim_equivalence_sourcenormalentry + S (pftrim_leading_trim_equivalence_sourcenormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_equivalence_sourcenormalentry. d = ff_q_pfp_trim_equivalence_sourcenormalentry * S ((S (0)) * e) + (pftrim_leading_trim_equivalence_sourcenormal))) /\ ((~(pftrim_leading_trim_equivalence_sourcenormal=0))))))))))))))) -> (forall pfrep_power_trim_equivalence_result pfrep_left_trim_equivalence_result pfrep_right_trim_equivalence_result. ((exists pfrep_position_trim_equivalence_resultfirst. ((pfrep_position_trim_equivalence_resultfirst+S (pfrep_power_trim_equivalence_result)=(L)) /\ ((((exists ff_h_pfp_trim_equivalence_resultfirstentry. ff_h_pfp_trim_equivalence_resultfirstentry + S (pfrep_left_trim_equivalence_result) = S ((S (pfrep_position_trim_equivalence_resultfirst)) * c)) /\ exists ff_q_pfp_trim_equivalence_resultfirstentry. b = ff_q_pfp_trim_equivalence_resultfirstentry * S ((S (pfrep_position_trim_equivalence_resultfirst)) * c) + (pfrep_left_trim_equivalence_result)))))) \/ (((exists pfrep_gap_trim_equivalence_resultfirstoutside. pfrep_gap_trim_equivalence_resultfirstoutside+(L)=(pfrep_power_trim_equivalence_result)) /\ (((pfrep_left_trim_equivalence_result)=0))))) -> ((exists pfrep_position_trim_equivalence_resultsecond. ((pfrep_position_trim_equivalence_resultsecond+S (pfrep_power_trim_equivalence_result)=(M)) /\ ((((exists ff_h_pfp_trim_equivalence_resultsecondentry. ff_h_pfp_trim_equivalence_resultsecondentry + S (pfrep_right_trim_equivalence_result) = S ((S (pfrep_position_trim_equivalence_resultsecond)) * e)) /\ exists ff_q_pfp_trim_equivalence_resultsecondentry. d = ff_q_pfp_trim_equivalence_resultsecondentry * S ((S (pfrep_position_trim_equivalence_resultsecond)) * e) + (pfrep_right_trim_equivalence_result)))))) \/ (((exists pfrep_gap_trim_equivalence_resultsecondoutside. pfrep_gap_trim_equivalence_resultsecondoutside+(M)=(pfrep_power_trim_equivalence_result)) /\ (((pfrep_right_trim_equivalence_result)=0))))) -> pfrep_left_trim_equivalence_result=pfrep_right_trim_equivalence_result)
intro pintro bintro cintro Lintro tintro dintro eintro Mintro hhave hc : (((L)=(t)+(M)) /\ (((forall fom_index_pfp_trim_equivalence_copyinput. (exists fom_gap_pfp_trim_equivalence_copyinput_index_bound. fom_gap_pfp_trim_equivalence_copyinput_index_bound + S (fom_index_pfp_trim_equivalence_copyinput) = L) -> exists fom_value_pfp_trim_equivalence_copyinput. ((((exists fom_beta_height_pfp_trim_equivalence_copyinput_entry. fom_beta_height_pfp_trim_equivalence_copyinput_entry + S (fom_value_pfp_trim_equivalence_copyinput) = S ((S (fom_index_pfp_trim_equivalence_copyinput)) * c)) /\ exists fom_beta_quotient_pfp_trim_equivalence_copyinput_entry. b = fom_beta_quotient_pfp_trim_equivalence_copyinput_entry * S ((S (fom_index_pfp_trim_equivalence_copyinput)) * c) + (fom_value_pfp_trim_equivalence_copyinput))) /\ (exists fom_gap_pfp_trim_equivalence_copyinput_value_bound. fom_gap_pfp_trim_equivalence_copyinput_value_bound + S (fom_value_pfp_trim_equivalence_copyinput) = p))) /\ (((forall pfp_repeat_index_trim_equivalence_copyremoved. (exists pfa_gap_trim_equivalence_copyremovedindex. pfa_gap_trim_equivalence_copyremovedindex + S (pfp_repeat_index_trim_equivalence_copyremoved) = (t)) -> (((exists ff_h_pfp_trim_equivalence_copyremovedentry. ff_h_pfp_trim_equivalence_copyremovedentry + S (0) = S ((S (pfp_repeat_index_trim_equivalence_copyremoved)) * c)) /\ exists ff_q_pfp_trim_equivalence_copyremovedentry. b = ff_q_pfp_trim_equivalence_copyremovedentry * S ((S (pfp_repeat_index_trim_equivalence_copyremoved)) * c) + (0)))) /\ (((forall pftrim_index_trim_equivalence_copysuffix pftrim_value_trim_equivalence_copysuffix. (exists pfa_gap_trim_equivalence_copysuffixbound. pfa_gap_trim_equivalence_copysuffixbound + S (pftrim_index_trim_equivalence_copysuffix) = (M)) -> (((exists ff_h_pfp_trim_equivalence_copysuffixsource. ff_h_pfp_trim_equivalence_copysuffixsource + S (pftrim_value_trim_equivalence_copysuffix) = S ((S ((t)+pftrim_index_trim_equivalence_copysuffix)) * c)) /\ exists ff_q_pfp_trim_equivalence_copysuffixsource. b = ff_q_pfp_trim_equivalence_copysuffixsource * S ((S ((t)+pftrim_index_trim_equivalence_copysuffix)) * c) + (pftrim_value_trim_equivalence_copysuffix))) -> (((exists ff_h_pfp_trim_equivalence_copysuffixoutput. ff_h_pfp_trim_equivalence_copysuffixoutput + S (pftrim_value_trim_equivalence_copysuffix) = S ((S (pftrim_index_trim_equivalence_copysuffix)) * e)) /\ exists ff_q_pfp_trim_equivalence_copysuffixoutput. d = ff_q_pfp_trim_equivalence_copysuffixoutput * S ((S (pftrim_index_trim_equivalence_copysuffix)) * e) + (pftrim_value_trim_equivalence_copysuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_trim_equivalence_copynormal. ((((exists ff_h_pfp_trim_equivalence_copynormalentry. ff_h_pfp_trim_equivalence_copynormalentry + S (pftrim_leading_trim_equivalence_copynormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_equivalence_copynormalentry. d = ff_q_pfp_trim_equivalence_copynormalentry * S ((S (0)) * e) + (pftrim_leading_trim_equivalence_copynormal))) /\ ((~(pftrim_leading_trim_equivalence_copynormal=0))))))))))))))exact hcases hccases hc_rightcases hc_right_rightcases hc_right_right_rightrewrite hc_leftrewrite hc_leftspecialize prime_field_polynomial_equivalent_symmetric (d)specialize prime_field_polynomial_equivalent_symmetric (e)specialize prime_field_polynomial_equivalent_symmetric (M)specialize prime_field_polynomial_equivalent_symmetric (b)specialize prime_field_polynomial_equivalent_symmetric (c)specialize prime_field_polynomial_equivalent_symmetric (t+M)apply prime_field_polynomial_equivalent_symmetricspecialize prime_field_polynomial_left_pad_equivalent (d)specialize prime_field_polynomial_left_pad_equivalent (e)specialize prime_field_polynomial_left_pad_equivalent (M)specialize prime_field_polynomial_left_pad_equivalent (t)specialize prime_field_polynomial_left_pad_equivalent (b)specialize prime_field_polynomial_left_pad_equivalent (c)apply prime_field_polynomial_left_pad_equivalentspecialize prime_field_polynomial_trim_left_pad (p)specialize prime_field_polynomial_trim_left_pad (b)specialize prime_field_polynomial_trim_left_pad (c)specialize prime_field_polynomial_trim_left_pad (L)specialize prime_field_polynomial_trim_left_pad (t)specialize prime_field_polynomial_trim_left_pad (d)specialize prime_field_polynomial_trim_left_pad (e)specialize prime_field_polynomial_trim_left_pad (M)apply prime_field_polynomial_trim_left_padexact h
prime_field_convolution_prefix_empty_left_zero · unchanged support, not a new admission
forall p qb qc bb bc M pb pc L. ~(p=0) -> (forall pfc_index_division_empty_product_source. (exists pfa_gap_division_empty_product_sourcebound. pfa_gap_division_empty_product_sourcebound + S (pfc_index_division_empty_product_source) = (L)) -> exists pfc_value_division_empty_product_source. ((((exists ff_h_pfp_division_empty_product_sourceentry. ff_h_pfp_division_empty_product_sourceentry + S (pfc_value_division_empty_product_source) = S ((S (pfc_index_division_empty_product_source)) * pc)) /\ exists ff_q_pfp_division_empty_product_sourceentry. pb = ff_q_pfp_division_empty_product_sourceentry * S ((S (pfc_index_division_empty_product_source)) * pc) + (pfc_value_division_empty_product_source))) /\ ((exists pfc_terms_code_division_empty_product_sourcecoefficient pfc_terms_scale_division_empty_product_sourcecoefficient pfc_natural_sum_division_empty_product_sourcecoefficient. ((forall pfc_index_division_empty_product_sourcecoefficientdiagonal. (exists pfa_gap_division_empty_product_sourcecoefficientdiagonalbound. pfa_gap_division_empty_product_sourcecoefficientdiagonalbound + S (pfc_index_division_empty_product_sourcecoefficientdiagonal) = (S (pfc_index_division_empty_product_source))) -> exists pfc_value_division_empty_product_sourcecoefficientdiagonal. ((((exists ff_h_pfp_division_empty_product_sourcecoefficientdiagonalentry. ff_h_pfp_division_empty_product_sourcecoefficientdiagonalentry + S (pfc_value_division_empty_product_sourcecoefficientdiagonal) = S ((S (pfc_index_division_empty_product_sourcecoefficientdiagonal)) * pfc_terms_scale_division_empty_product_sourcecoefficient)) /\ exists ff_q_pfp_division_empty_product_sourcecoefficientdiagonalentry. pfc_terms_code_division_empty_product_sourcecoefficient = ff_q_pfp_division_empty_product_sourcecoefficientdiagonalentry * S ((S (pfc_index_division_empty_product_sourcecoefficientdiagonal)) * pfc_terms_scale_division_empty_product_sourcecoefficient) + (pfc_value_division_empty_product_sourcecoefficientdiagonal))) /\ ((exists pfc_complement_division_empty_product_sourcecoefficientdiagonalterm pfc_left_division_empty_product_sourcecoefficientdiagonalterm pfc_right_division_empty_product_sourcecoefficientdiagonalterm. (((pfc_index_division_empty_product_sourcecoefficientdiagonal)+pfc_complement_division_empty_product_sourcecoefficientdiagonalterm=(pfc_index_division_empty_product_source)) /\ ((((((exists pfa_gap_division_empty_product_sourcecoefficientdiagonaltermleftinside. pfa_gap_division_empty_product_sourcecoefficientdiagonaltermleftinside + S (pfc_index_division_empty_product_sourcecoefficientdiagonal) = (0)) /\ ((((exists ff_h_pfp_division_empty_product_sourcecoefficientdiagonaltermleftentry. ff_h_pfp_division_empty_product_sourcecoefficientdiagonaltermleftentry + S (pfc_left_division_empty_product_sourcecoefficientdiagonalterm) = S ((S (pfc_index_division_empty_product_sourcecoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_empty_product_sourcecoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_empty_product_sourcecoefficientdiagonaltermleftentry * S ((S (pfc_index_division_empty_product_sourcecoefficientdiagonal)) * qc) + (pfc_left_division_empty_product_sourcecoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_empty_product_sourcecoefficientdiagonaltermleftoutside. pfc_gap_division_empty_product_sourcecoefficientdiagonaltermleftoutside+(0)=(pfc_index_division_empty_product_sourcecoefficientdiagonal)) /\ (((pfc_left_division_empty_product_sourcecoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_empty_product_sourcecoefficientdiagonaltermrightinside. pfa_gap_division_empty_product_sourcecoefficientdiagonaltermrightinside + S (pfc_complement_division_empty_product_sourcecoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_empty_product_sourcecoefficientdiagonaltermrightentry. ff_h_pfp_division_empty_product_sourcecoefficientdiagonaltermrightentry + S (pfc_right_division_empty_product_sourcecoefficientdiagonalterm) = S ((S (pfc_complement_division_empty_product_sourcecoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_empty_product_sourcecoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_empty_product_sourcecoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_empty_product_sourcecoefficientdiagonalterm)) * bc) + (pfc_right_division_empty_product_sourcecoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_empty_product_sourcecoefficientdiagonaltermrightoutside. pfc_gap_division_empty_product_sourcecoefficientdiagonaltermrightoutside+(M)=(pfc_complement_division_empty_product_sourcecoefficientdiagonalterm)) /\ (((pfc_right_division_empty_product_sourcecoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_empty_product_sourcecoefficientdiagonal)=pfc_left_division_empty_product_sourcecoefficientdiagonalterm*pfc_right_division_empty_product_sourcecoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_empty_product_sourcecoefficientsum fs_v_pfc_division_empty_product_sourcecoefficientsum. ((((exists fs_h_pfc_division_empty_product_sourcecoefficientsum_body_start. fs_h_pfc_division_empty_product_sourcecoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_empty_product_sourcecoefficientsum)) /\ exists fs_q_pfc_division_empty_product_sourcecoefficientsum_body_start. fs_u_pfc_division_empty_product_sourcecoefficientsum = fs_q_pfc_division_empty_product_sourcecoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_empty_product_sourcecoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_empty_product_sourcecoefficientsum_body_terminal. fs_h_pfc_division_empty_product_sourcecoefficientsum_body_terminal + S (pfc_natural_sum_division_empty_product_sourcecoefficient) = S ((S (S (pfc_index_division_empty_product_source))) * fs_v_pfc_division_empty_product_sourcecoefficientsum)) /\ exists fs_q_pfc_division_empty_product_sourcecoefficientsum_body_terminal. fs_u_pfc_division_empty_product_sourcecoefficientsum = fs_q_pfc_division_empty_product_sourcecoefficientsum_body_terminal * S ((S (S (pfc_index_division_empty_product_source))) * fs_v_pfc_division_empty_product_sourcecoefficientsum) + (pfc_natural_sum_division_empty_product_sourcecoefficient))) /\ forall fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps. (exists fs_lt_pfc_division_empty_product_sourcecoefficientsum_body_steps_bound. fs_lt_pfc_division_empty_product_sourcecoefficientsum_body_steps_bound + S fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps = S (pfc_index_division_empty_product_source)) -> exists fs_a_pfc_division_empty_product_sourcecoefficientsum_body_steps fs_r_pfc_division_empty_product_sourcecoefficientsum_body_steps fs_s_pfc_division_empty_product_sourcecoefficientsum_body_steps. ((((exists fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_summand. fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_summand + S (fs_a_pfc_division_empty_product_sourcecoefficientsum_body_steps) = S ((S (fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * pfc_terms_scale_division_empty_product_sourcecoefficient)) /\ exists fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_summand. pfc_terms_code_division_empty_product_sourcecoefficient = fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * pfc_terms_scale_division_empty_product_sourcecoefficient) + (fs_a_pfc_division_empty_product_sourcecoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_partial. fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_partial + S (fs_r_pfc_division_empty_product_sourcecoefficientsum_body_steps) = S ((S (fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * fs_v_pfc_division_empty_product_sourcecoefficientsum)) /\ exists fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_partial. fs_u_pfc_division_empty_product_sourcecoefficientsum = fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * fs_v_pfc_division_empty_product_sourcecoefficientsum) + (fs_r_pfc_division_empty_product_sourcecoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_successor. fs_h_pfc_division_empty_product_sourcecoefficientsum_body_steps_successor + S (fs_s_pfc_division_empty_product_sourcecoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * fs_v_pfc_division_empty_product_sourcecoefficientsum)) /\ exists fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_successor. fs_u_pfc_division_empty_product_sourcecoefficientsum = fs_q_pfc_division_empty_product_sourcecoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_empty_product_sourcecoefficientsum_body_steps)) * fs_v_pfc_division_empty_product_sourcecoefficientsum) + (fs_s_pfc_division_empty_product_sourcecoefficientsum_body_steps))) /\ fs_s_pfc_division_empty_product_sourcecoefficientsum_body_steps = fs_r_pfc_division_empty_product_sourcecoefficientsum_body_steps + fs_a_pfc_division_empty_product_sourcecoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_empty_product_sourcecoefficientresiduebound. pfa_gap_division_empty_product_sourcecoefficientresiduebound + S (pfc_value_division_empty_product_source) = (p)) /\ ((exists pfa_offset_left_division_empty_product_sourcecoefficientresiduecongruence pfa_offset_right_division_empty_product_sourcecoefficientresiduecongruence. (pfc_natural_sum_division_empty_product_sourcecoefficient) + (p) * pfa_offset_left_division_empty_product_sourcecoefficientresiduecongruence = (pfc_value_division_empty_product_source) + (p) * pfa_offset_right_division_empty_product_sourcecoefficientresiduecongruence)))))))))))) -> (forall pfp_repeat_index_division_empty_product_result. (exists pfa_gap_division_empty_product_resultindex. pfa_gap_division_empty_product_resultindex + S (pfp_repeat_index_division_empty_product_result) = (L)) -> (((exists ff_h_pfp_division_empty_product_resultentry. ff_h_pfp_division_empty_product_resultentry + S (0) = S ((S (pfp_repeat_index_division_empty_product_result)) * pc)) /\ exists ff_q_pfp_division_empty_product_resultentry. pb = ff_q_pfp_division_empty_product_resultentry * S ((S (pfp_repeat_index_division_empty_product_result)) * pc) + (0))))
intro pintro qbintro qcintro bbintro bcintro Mintro pbintro pcintro Lintro hpintro hintro iintro hihave hv : exists r. ((((exists ff_h_pfp_division_empty_product_entry. ff_h_pfp_division_empty_product_entry + S (r) = S ((S (i)) * pc)) /\ exists ff_q_pfp_division_empty_product_entry. pb = ff_q_pfp_division_empty_product_entry * S ((S (i)) * pc) + (r))) /\ ((exists pfc_terms_code_division_empty_product_coefficient pfc_terms_scale_division_empty_product_coefficient pfc_natural_sum_division_empty_product_coefficient. ((forall pfc_index_division_empty_product_coefficientdiagonal. (exists pfa_gap_division_empty_product_coefficientdiagonalbound. pfa_gap_division_empty_product_coefficientdiagonalbound + S (pfc_index_division_empty_product_coefficientdiagonal) = (S (i))) -> exists pfc_value_division_empty_product_coefficientdiagonal. ((((exists ff_h_pfp_division_empty_product_coefficientdiagonalentry. ff_h_pfp_division_empty_product_coefficientdiagonalentry + S (pfc_value_division_empty_product_coefficientdiagonal) = S ((S (pfc_index_division_empty_product_coefficientdiagonal)) * pfc_terms_scale_division_empty_product_coefficient)) /\ exists ff_q_pfp_division_empty_product_coefficientdiagonalentry. pfc_terms_code_division_empty_product_coefficient = ff_q_pfp_division_empty_product_coefficientdiagonalentry * S ((S (pfc_index_division_empty_product_coefficientdiagonal)) * pfc_terms_scale_division_empty_product_coefficient) + (pfc_value_division_empty_product_coefficientdiagonal))) /\ ((exists pfc_complement_division_empty_product_coefficientdiagonalterm pfc_left_division_empty_product_coefficientdiagonalterm pfc_right_division_empty_product_coefficientdiagonalterm. (((pfc_index_division_empty_product_coefficientdiagonal)+pfc_complement_division_empty_product_coefficientdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_empty_product_coefficientdiagonaltermleftinside. pfa_gap_division_empty_product_coefficientdiagonaltermleftinside + S (pfc_index_division_empty_product_coefficientdiagonal) = (0)) /\ ((((exists ff_h_pfp_division_empty_product_coefficientdiagonaltermleftentry. ff_h_pfp_division_empty_product_coefficientdiagonaltermleftentry + S (pfc_left_division_empty_product_coefficientdiagonalterm) = S ((S (pfc_index_division_empty_product_coefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_empty_product_coefficientdiagonaltermleftentry. qb = ff_q_pfp_division_empty_product_coefficientdiagonaltermleftentry * S ((S (pfc_index_division_empty_product_coefficientdiagonal)) * qc) + (pfc_left_division_empty_product_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_empty_product_coefficientdiagonaltermleftoutside. pfc_gap_division_empty_product_coefficientdiagonaltermleftoutside+(0)=(pfc_index_division_empty_product_coefficientdiagonal)) /\ (((pfc_left_division_empty_product_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_empty_product_coefficientdiagonaltermrightinside. pfa_gap_division_empty_product_coefficientdiagonaltermrightinside + S (pfc_complement_division_empty_product_coefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_empty_product_coefficientdiagonaltermrightentry. ff_h_pfp_division_empty_product_coefficientdiagonaltermrightentry + S (pfc_right_division_empty_product_coefficientdiagonalterm) = S ((S (pfc_complement_division_empty_product_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_empty_product_coefficientdiagonaltermrightentry. bb = ff_q_pfp_division_empty_product_coefficientdiagonaltermrightentry * S ((S (pfc_complement_division_empty_product_coefficientdiagonalterm)) * bc) + (pfc_right_division_empty_product_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_empty_product_coefficientdiagonaltermrightoutside. pfc_gap_division_empty_product_coefficientdiagonaltermrightoutside+(M)=(pfc_complement_division_empty_product_coefficientdiagonalterm)) /\ (((pfc_right_division_empty_product_coefficientdiagonalterm)=0))))) /\ (((pfc_value_division_empty_product_coefficientdiagonal)=pfc_left_division_empty_product_coefficientdiagonalterm*pfc_right_division_empty_product_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_empty_product_coefficientsum fs_v_pfc_division_empty_product_coefficientsum. ((((exists fs_h_pfc_division_empty_product_coefficientsum_body_start. fs_h_pfc_division_empty_product_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_empty_product_coefficientsum)) /\ exists fs_q_pfc_division_empty_product_coefficientsum_body_start. fs_u_pfc_division_empty_product_coefficientsum = fs_q_pfc_division_empty_product_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_empty_product_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_empty_product_coefficientsum_body_terminal. fs_h_pfc_division_empty_product_coefficientsum_body_terminal + S (pfc_natural_sum_division_empty_product_coefficient) = S ((S (S (i))) * fs_v_pfc_division_empty_product_coefficientsum)) /\ exists fs_q_pfc_division_empty_product_coefficientsum_body_terminal. fs_u_pfc_division_empty_product_coefficientsum = fs_q_pfc_division_empty_product_coefficientsum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_empty_product_coefficientsum) + (pfc_natural_sum_division_empty_product_coefficient))) /\ forall fs_i_pfc_division_empty_product_coefficientsum_body_steps. (exists fs_lt_pfc_division_empty_product_coefficientsum_body_steps_bound. fs_lt_pfc_division_empty_product_coefficientsum_body_steps_bound + S fs_i_pfc_division_empty_product_coefficientsum_body_steps = S (i)) -> exists fs_a_pfc_division_empty_product_coefficientsum_body_steps fs_r_pfc_division_empty_product_coefficientsum_body_steps fs_s_pfc_division_empty_product_coefficientsum_body_steps. ((((exists fs_h_pfc_division_empty_product_coefficientsum_body_steps_summand. fs_h_pfc_division_empty_product_coefficientsum_body_steps_summand + S (fs_a_pfc_division_empty_product_coefficientsum_body_steps) = S ((S (fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * pfc_terms_scale_division_empty_product_coefficient)) /\ exists fs_q_pfc_division_empty_product_coefficientsum_body_steps_summand. pfc_terms_code_division_empty_product_coefficient = fs_q_pfc_division_empty_product_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * pfc_terms_scale_division_empty_product_coefficient) + (fs_a_pfc_division_empty_product_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_empty_product_coefficientsum_body_steps_partial. fs_h_pfc_division_empty_product_coefficientsum_body_steps_partial + S (fs_r_pfc_division_empty_product_coefficientsum_body_steps) = S ((S (fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * fs_v_pfc_division_empty_product_coefficientsum)) /\ exists fs_q_pfc_division_empty_product_coefficientsum_body_steps_partial. fs_u_pfc_division_empty_product_coefficientsum = fs_q_pfc_division_empty_product_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * fs_v_pfc_division_empty_product_coefficientsum) + (fs_r_pfc_division_empty_product_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_empty_product_coefficientsum_body_steps_successor. fs_h_pfc_division_empty_product_coefficientsum_body_steps_successor + S (fs_s_pfc_division_empty_product_coefficientsum_body_steps) = S ((S (S fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * fs_v_pfc_division_empty_product_coefficientsum)) /\ exists fs_q_pfc_division_empty_product_coefficientsum_body_steps_successor. fs_u_pfc_division_empty_product_coefficientsum = fs_q_pfc_division_empty_product_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_empty_product_coefficientsum_body_steps)) * fs_v_pfc_division_empty_product_coefficientsum) + (fs_s_pfc_division_empty_product_coefficientsum_body_steps))) /\ fs_s_pfc_division_empty_product_coefficientsum_body_steps = fs_r_pfc_division_empty_product_coefficientsum_body_steps + fs_a_pfc_division_empty_product_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_empty_product_coefficientresiduebound. pfa_gap_division_empty_product_coefficientresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_division_empty_product_coefficientresiduecongruence pfa_offset_right_division_empty_product_coefficientresiduecongruence. (pfc_natural_sum_division_empty_product_coefficient) + (p) * pfa_offset_left_division_empty_product_coefficientresiduecongruence = (r) + (p) * pfa_offset_right_division_empty_product_coefficientresiduecongruence)))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesshave hz : x=0specialize prime_field_convolution_coefficient_zero_left (p)specialize prime_field_convolution_coefficient_zero_left (qb)specialize prime_field_convolution_coefficient_zero_left (qc)specialize prime_field_convolution_coefficient_zero_left (0)specialize prime_field_convolution_coefficient_zero_left (bb)specialize prime_field_convolution_coefficient_zero_left (bc)specialize prime_field_convolution_coefficient_zero_left (M)specialize prime_field_convolution_coefficient_zero_left (i)specialize prime_field_convolution_coefficient_zero_left (x)apply prime_field_convolution_coefficient_zero_leftexact hpintro jintro hjexfalsospecialize lt_not_le (j)specialize lt_not_le (0)apply lt_not_leexact hjspecialize zero_le (j)apply zero_leexact hv_witness_rightrewrite hz at hv_witness_leftrewrite hz at hv_witness_leftexact hv_witness_left
prime_field_polynomial_quotient_prefix_bounded · unchanged support, not a new admission
forall p k ab ac bb bc M qb qc N. (forall pfd_index_division_bound_source. (exists pfa_gap_division_bound_sourcebound. pfa_gap_division_bound_sourcebound + S (pfd_index_division_bound_source) = (N)) -> exists pfd_value_division_bound_source. ((((exists ff_h_pfp_division_bound_sourceentry. ff_h_pfp_division_bound_sourceentry + S (pfd_value_division_bound_source) = S ((S (pfd_index_division_bound_source)) * qc)) /\ exists ff_q_pfp_division_bound_sourceentry. qb = ff_q_pfp_division_bound_sourceentry * S ((S (pfd_index_division_bound_source)) * qc) + (pfd_value_division_bound_source))) /\ ((exists pfd_input_division_bound_sourcestep pfd_previous_division_bound_sourcestep pfd_difference_division_bound_sourcestep. ((((exists ff_h_pfp_division_bound_sourcestepinput. ff_h_pfp_division_bound_sourcestepinput + S (pfd_input_division_bound_sourcestep) = S ((S (pfd_index_division_bound_source)) * ac)) /\ exists ff_q_pfp_division_bound_sourcestepinput. ab = ff_q_pfp_division_bound_sourcestepinput * S ((S (pfd_index_division_bound_source)) * ac) + (pfd_input_division_bound_sourcestep))) /\ (((exists pfc_terms_code_division_bound_sourcestepprevious pfc_terms_scale_division_bound_sourcestepprevious pfc_natural_sum_division_bound_sourcestepprevious. ((forall pfc_index_division_bound_sourcesteppreviousdiagonal. (exists pfa_gap_division_bound_sourcesteppreviousdiagonalbound. pfa_gap_division_bound_sourcesteppreviousdiagonalbound + S (pfc_index_division_bound_sourcesteppreviousdiagonal) = (S (pfd_index_division_bound_source))) -> exists pfc_value_division_bound_sourcesteppreviousdiagonal. ((((exists ff_h_pfp_division_bound_sourcesteppreviousdiagonalentry. ff_h_pfp_division_bound_sourcesteppreviousdiagonalentry + S (pfc_value_division_bound_sourcesteppreviousdiagonal) = S ((S (pfc_index_division_bound_sourcesteppreviousdiagonal)) * pfc_terms_scale_division_bound_sourcestepprevious)) /\ exists ff_q_pfp_division_bound_sourcesteppreviousdiagonalentry. pfc_terms_code_division_bound_sourcestepprevious = ff_q_pfp_division_bound_sourcesteppreviousdiagonalentry * S ((S (pfc_index_division_bound_sourcesteppreviousdiagonal)) * pfc_terms_scale_division_bound_sourcestepprevious) + (pfc_value_division_bound_sourcesteppreviousdiagonal))) /\ ((exists pfc_complement_division_bound_sourcesteppreviousdiagonalterm pfc_left_division_bound_sourcesteppreviousdiagonalterm pfc_right_division_bound_sourcesteppreviousdiagonalterm. (((pfc_index_division_bound_sourcesteppreviousdiagonal)+pfc_complement_division_bound_sourcesteppreviousdiagonalterm=(pfd_index_division_bound_source)) /\ ((((((exists pfa_gap_division_bound_sourcesteppreviousdiagonaltermleftinside. pfa_gap_division_bound_sourcesteppreviousdiagonaltermleftinside + S (pfc_index_division_bound_sourcesteppreviousdiagonal) = (pfd_index_division_bound_source)) /\ ((((exists ff_h_pfp_division_bound_sourcesteppreviousdiagonaltermleftentry. ff_h_pfp_division_bound_sourcesteppreviousdiagonaltermleftentry + S (pfc_left_division_bound_sourcesteppreviousdiagonalterm) = S ((S (pfc_index_division_bound_sourcesteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_bound_sourcesteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_bound_sourcesteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_bound_sourcesteppreviousdiagonal)) * qc) + (pfc_left_division_bound_sourcesteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_bound_sourcesteppreviousdiagonaltermleftoutside. pfc_gap_division_bound_sourcesteppreviousdiagonaltermleftoutside+(pfd_index_division_bound_source)=(pfc_index_division_bound_sourcesteppreviousdiagonal)) /\ (((pfc_left_division_bound_sourcesteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_bound_sourcesteppreviousdiagonaltermrightinside. pfa_gap_division_bound_sourcesteppreviousdiagonaltermrightinside + S (pfc_complement_division_bound_sourcesteppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_bound_sourcesteppreviousdiagonaltermrightentry. ff_h_pfp_division_bound_sourcesteppreviousdiagonaltermrightentry + S (pfc_right_division_bound_sourcesteppreviousdiagonalterm) = S ((S (pfc_complement_division_bound_sourcesteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_bound_sourcesteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_bound_sourcesteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_bound_sourcesteppreviousdiagonalterm)) * bc) + (pfc_right_division_bound_sourcesteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_bound_sourcesteppreviousdiagonaltermrightoutside. pfc_gap_division_bound_sourcesteppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_bound_sourcesteppreviousdiagonalterm)) /\ (((pfc_right_division_bound_sourcesteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_bound_sourcesteppreviousdiagonal)=pfc_left_division_bound_sourcesteppreviousdiagonalterm*pfc_right_division_bound_sourcesteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_bound_sourcestepprevioussum fs_v_pfc_division_bound_sourcestepprevioussum. ((((exists fs_h_pfc_division_bound_sourcestepprevioussum_body_start. fs_h_pfc_division_bound_sourcestepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_bound_sourcestepprevioussum)) /\ exists fs_q_pfc_division_bound_sourcestepprevioussum_body_start. fs_u_pfc_division_bound_sourcestepprevioussum = fs_q_pfc_division_bound_sourcestepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_bound_sourcestepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_bound_sourcestepprevioussum_body_terminal. fs_h_pfc_division_bound_sourcestepprevioussum_body_terminal + S (pfc_natural_sum_division_bound_sourcestepprevious) = S ((S (S (pfd_index_division_bound_source))) * fs_v_pfc_division_bound_sourcestepprevioussum)) /\ exists fs_q_pfc_division_bound_sourcestepprevioussum_body_terminal. fs_u_pfc_division_bound_sourcestepprevioussum = fs_q_pfc_division_bound_sourcestepprevioussum_body_terminal * S ((S (S (pfd_index_division_bound_source))) * fs_v_pfc_division_bound_sourcestepprevioussum) + (pfc_natural_sum_division_bound_sourcestepprevious))) /\ forall fs_i_pfc_division_bound_sourcestepprevioussum_body_steps. (exists fs_lt_pfc_division_bound_sourcestepprevioussum_body_steps_bound. fs_lt_pfc_division_bound_sourcestepprevioussum_body_steps_bound + S fs_i_pfc_division_bound_sourcestepprevioussum_body_steps = S (pfd_index_division_bound_source)) -> exists fs_a_pfc_division_bound_sourcestepprevioussum_body_steps fs_r_pfc_division_bound_sourcestepprevioussum_body_steps fs_s_pfc_division_bound_sourcestepprevioussum_body_steps. ((((exists fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_summand. fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_summand + S (fs_a_pfc_division_bound_sourcestepprevioussum_body_steps) = S ((S (fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * pfc_terms_scale_division_bound_sourcestepprevious)) /\ exists fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_summand. pfc_terms_code_division_bound_sourcestepprevious = fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * pfc_terms_scale_division_bound_sourcestepprevious) + (fs_a_pfc_division_bound_sourcestepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_partial. fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_partial + S (fs_r_pfc_division_bound_sourcestepprevioussum_body_steps) = S ((S (fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * fs_v_pfc_division_bound_sourcestepprevioussum)) /\ exists fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_partial. fs_u_pfc_division_bound_sourcestepprevioussum = fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * fs_v_pfc_division_bound_sourcestepprevioussum) + (fs_r_pfc_division_bound_sourcestepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_successor. fs_h_pfc_division_bound_sourcestepprevioussum_body_steps_successor + S (fs_s_pfc_division_bound_sourcestepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * fs_v_pfc_division_bound_sourcestepprevioussum)) /\ exists fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_successor. fs_u_pfc_division_bound_sourcestepprevioussum = fs_q_pfc_division_bound_sourcestepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_bound_sourcestepprevioussum_body_steps)) * fs_v_pfc_division_bound_sourcestepprevioussum) + (fs_s_pfc_division_bound_sourcestepprevioussum_body_steps))) /\ fs_s_pfc_division_bound_sourcestepprevioussum_body_steps = fs_r_pfc_division_bound_sourcestepprevioussum_body_steps + fs_a_pfc_division_bound_sourcestepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_bound_sourcesteppreviousresiduebound. pfa_gap_division_bound_sourcesteppreviousresiduebound + S (pfd_previous_division_bound_sourcestep) = (p)) /\ ((exists pfa_offset_left_division_bound_sourcesteppreviousresiduecongruence pfa_offset_right_division_bound_sourcesteppreviousresiduecongruence. (pfc_natural_sum_division_bound_sourcestepprevious) + (p) * pfa_offset_left_division_bound_sourcesteppreviousresiduecongruence = (pfd_previous_division_bound_sourcestep) + (p) * pfa_offset_right_division_bound_sourcesteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_bound_sourcestepsubtractleft. pfa_gap_division_bound_sourcestepsubtractleft + S (pfd_previous_division_bound_sourcestep) = (p)) /\ (((exists pfa_gap_division_bound_sourcestepsubtractright. pfa_gap_division_bound_sourcestepsubtractright + S (pfd_difference_division_bound_sourcestep) = (p)) /\ ((((exists pfa_gap_division_bound_sourcestepsubtractresultbound. pfa_gap_division_bound_sourcestepsubtractresultbound + S (pfd_input_division_bound_sourcestep) = (p)) /\ ((exists pfa_offset_left_division_bound_sourcestepsubtractresultcongruence pfa_offset_right_division_bound_sourcestepsubtractresultcongruence. ((pfd_previous_division_bound_sourcestep) + (pfd_difference_division_bound_sourcestep)) + (p) * pfa_offset_left_division_bound_sourcestepsubtractresultcongruence = (pfd_input_division_bound_sourcestep) + (p) * pfa_offset_right_division_bound_sourcestepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_bound_sourcestepmultiplyleft. pfa_gap_division_bound_sourcestepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_bound_sourcestepmultiplyright. pfa_gap_division_bound_sourcestepmultiplyright + S (pfd_difference_division_bound_sourcestep) = (p)) /\ ((((exists pfa_gap_division_bound_sourcestepmultiplyresultbound. pfa_gap_division_bound_sourcestepmultiplyresultbound + S (pfd_value_division_bound_source) = (p)) /\ ((exists pfa_offset_left_division_bound_sourcestepmultiplyresultcongruence pfa_offset_right_division_bound_sourcestepmultiplyresultcongruence. ((k) * (pfd_difference_division_bound_sourcestep)) + (p) * pfa_offset_left_division_bound_sourcestepmultiplyresultcongruence = (pfd_value_division_bound_source) + (p) * pfa_offset_right_division_bound_sourcestepmultiplyresultcongruence))))))))))))))))))) -> (forall fom_index_pfp_division_bound_result. (exists fom_gap_pfp_division_bound_result_index_bound. fom_gap_pfp_division_bound_result_index_bound + S (fom_index_pfp_division_bound_result) = N) -> exists fom_value_pfp_division_bound_result. ((((exists fom_beta_height_pfp_division_bound_result_entry. fom_beta_height_pfp_division_bound_result_entry + S (fom_value_pfp_division_bound_result) = S ((S (fom_index_pfp_division_bound_result)) * qc)) /\ exists fom_beta_quotient_pfp_division_bound_result_entry. qb = fom_beta_quotient_pfp_division_bound_result_entry * S ((S (fom_index_pfp_division_bound_result)) * qc) + (fom_value_pfp_division_bound_result))) /\ (exists fom_gap_pfp_division_bound_result_value_bound. fom_gap_pfp_division_bound_result_value_bound + S (fom_value_pfp_division_bound_result) = p)))
intro pintro kintro abintro acintro bbintro bcintro Mintro qbintro qcintro Nintro hintro iintro hihave hv : exists q. ((((exists ff_h_pfp_division_bound_entry. ff_h_pfp_division_bound_entry + S (q) = S ((S (i)) * qc)) /\ exists ff_q_pfp_division_bound_entry. qb = ff_q_pfp_division_bound_entry * S ((S (i)) * qc) + (q))) /\ ((exists pfd_input_division_bound_step pfd_previous_division_bound_step pfd_difference_division_bound_step. ((((exists ff_h_pfp_division_bound_stepinput. ff_h_pfp_division_bound_stepinput + S (pfd_input_division_bound_step) = S ((S (i)) * ac)) /\ exists ff_q_pfp_division_bound_stepinput. ab = ff_q_pfp_division_bound_stepinput * S ((S (i)) * ac) + (pfd_input_division_bound_step))) /\ (((exists pfc_terms_code_division_bound_stepprevious pfc_terms_scale_division_bound_stepprevious pfc_natural_sum_division_bound_stepprevious. ((forall pfc_index_division_bound_steppreviousdiagonal. (exists pfa_gap_division_bound_steppreviousdiagonalbound. pfa_gap_division_bound_steppreviousdiagonalbound + S (pfc_index_division_bound_steppreviousdiagonal) = (S (i))) -> exists pfc_value_division_bound_steppreviousdiagonal. ((((exists ff_h_pfp_division_bound_steppreviousdiagonalentry. ff_h_pfp_division_bound_steppreviousdiagonalentry + S (pfc_value_division_bound_steppreviousdiagonal) = S ((S (pfc_index_division_bound_steppreviousdiagonal)) * pfc_terms_scale_division_bound_stepprevious)) /\ exists ff_q_pfp_division_bound_steppreviousdiagonalentry. pfc_terms_code_division_bound_stepprevious = ff_q_pfp_division_bound_steppreviousdiagonalentry * S ((S (pfc_index_division_bound_steppreviousdiagonal)) * pfc_terms_scale_division_bound_stepprevious) + (pfc_value_division_bound_steppreviousdiagonal))) /\ ((exists pfc_complement_division_bound_steppreviousdiagonalterm pfc_left_division_bound_steppreviousdiagonalterm pfc_right_division_bound_steppreviousdiagonalterm. (((pfc_index_division_bound_steppreviousdiagonal)+pfc_complement_division_bound_steppreviousdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_bound_steppreviousdiagonaltermleftinside. pfa_gap_division_bound_steppreviousdiagonaltermleftinside + S (pfc_index_division_bound_steppreviousdiagonal) = (i)) /\ ((((exists ff_h_pfp_division_bound_steppreviousdiagonaltermleftentry. ff_h_pfp_division_bound_steppreviousdiagonaltermleftentry + S (pfc_left_division_bound_steppreviousdiagonalterm) = S ((S (pfc_index_division_bound_steppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_bound_steppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_bound_steppreviousdiagonaltermleftentry * S ((S (pfc_index_division_bound_steppreviousdiagonal)) * qc) + (pfc_left_division_bound_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_bound_steppreviousdiagonaltermleftoutside. pfc_gap_division_bound_steppreviousdiagonaltermleftoutside+(i)=(pfc_index_division_bound_steppreviousdiagonal)) /\ (((pfc_left_division_bound_steppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_bound_steppreviousdiagonaltermrightinside. pfa_gap_division_bound_steppreviousdiagonaltermrightinside + S (pfc_complement_division_bound_steppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_bound_steppreviousdiagonaltermrightentry. ff_h_pfp_division_bound_steppreviousdiagonaltermrightentry + S (pfc_right_division_bound_steppreviousdiagonalterm) = S ((S (pfc_complement_division_bound_steppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_bound_steppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_bound_steppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_bound_steppreviousdiagonalterm)) * bc) + (pfc_right_division_bound_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_bound_steppreviousdiagonaltermrightoutside. pfc_gap_division_bound_steppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_bound_steppreviousdiagonalterm)) /\ (((pfc_right_division_bound_steppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_bound_steppreviousdiagonal)=pfc_left_division_bound_steppreviousdiagonalterm*pfc_right_division_bound_steppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_bound_stepprevioussum fs_v_pfc_division_bound_stepprevioussum. ((((exists fs_h_pfc_division_bound_stepprevioussum_body_start. fs_h_pfc_division_bound_stepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_bound_stepprevioussum)) /\ exists fs_q_pfc_division_bound_stepprevioussum_body_start. fs_u_pfc_division_bound_stepprevioussum = fs_q_pfc_division_bound_stepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_bound_stepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_bound_stepprevioussum_body_terminal. fs_h_pfc_division_bound_stepprevioussum_body_terminal + S (pfc_natural_sum_division_bound_stepprevious) = S ((S (S (i))) * fs_v_pfc_division_bound_stepprevioussum)) /\ exists fs_q_pfc_division_bound_stepprevioussum_body_terminal. fs_u_pfc_division_bound_stepprevioussum = fs_q_pfc_division_bound_stepprevioussum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_bound_stepprevioussum) + (pfc_natural_sum_division_bound_stepprevious))) /\ forall fs_i_pfc_division_bound_stepprevioussum_body_steps. (exists fs_lt_pfc_division_bound_stepprevioussum_body_steps_bound. fs_lt_pfc_division_bound_stepprevioussum_body_steps_bound + S fs_i_pfc_division_bound_stepprevioussum_body_steps = S (i)) -> exists fs_a_pfc_division_bound_stepprevioussum_body_steps fs_r_pfc_division_bound_stepprevioussum_body_steps fs_s_pfc_division_bound_stepprevioussum_body_steps. ((((exists fs_h_pfc_division_bound_stepprevioussum_body_steps_summand. fs_h_pfc_division_bound_stepprevioussum_body_steps_summand + S (fs_a_pfc_division_bound_stepprevioussum_body_steps) = S ((S (fs_i_pfc_division_bound_stepprevioussum_body_steps)) * pfc_terms_scale_division_bound_stepprevious)) /\ exists fs_q_pfc_division_bound_stepprevioussum_body_steps_summand. pfc_terms_code_division_bound_stepprevious = fs_q_pfc_division_bound_stepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_bound_stepprevioussum_body_steps)) * pfc_terms_scale_division_bound_stepprevious) + (fs_a_pfc_division_bound_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_bound_stepprevioussum_body_steps_partial. fs_h_pfc_division_bound_stepprevioussum_body_steps_partial + S (fs_r_pfc_division_bound_stepprevioussum_body_steps) = S ((S (fs_i_pfc_division_bound_stepprevioussum_body_steps)) * fs_v_pfc_division_bound_stepprevioussum)) /\ exists fs_q_pfc_division_bound_stepprevioussum_body_steps_partial. fs_u_pfc_division_bound_stepprevioussum = fs_q_pfc_division_bound_stepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_bound_stepprevioussum_body_steps)) * fs_v_pfc_division_bound_stepprevioussum) + (fs_r_pfc_division_bound_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_bound_stepprevioussum_body_steps_successor. fs_h_pfc_division_bound_stepprevioussum_body_steps_successor + S (fs_s_pfc_division_bound_stepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_bound_stepprevioussum_body_steps)) * fs_v_pfc_division_bound_stepprevioussum)) /\ exists fs_q_pfc_division_bound_stepprevioussum_body_steps_successor. fs_u_pfc_division_bound_stepprevioussum = fs_q_pfc_division_bound_stepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_bound_stepprevioussum_body_steps)) * fs_v_pfc_division_bound_stepprevioussum) + (fs_s_pfc_division_bound_stepprevioussum_body_steps))) /\ fs_s_pfc_division_bound_stepprevioussum_body_steps = fs_r_pfc_division_bound_stepprevioussum_body_steps + fs_a_pfc_division_bound_stepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_bound_steppreviousresiduebound. pfa_gap_division_bound_steppreviousresiduebound + S (pfd_previous_division_bound_step) = (p)) /\ ((exists pfa_offset_left_division_bound_steppreviousresiduecongruence pfa_offset_right_division_bound_steppreviousresiduecongruence. (pfc_natural_sum_division_bound_stepprevious) + (p) * pfa_offset_left_division_bound_steppreviousresiduecongruence = (pfd_previous_division_bound_step) + (p) * pfa_offset_right_division_bound_steppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_bound_stepsubtractleft. pfa_gap_division_bound_stepsubtractleft + S (pfd_previous_division_bound_step) = (p)) /\ (((exists pfa_gap_division_bound_stepsubtractright. pfa_gap_division_bound_stepsubtractright + S (pfd_difference_division_bound_step) = (p)) /\ ((((exists pfa_gap_division_bound_stepsubtractresultbound. pfa_gap_division_bound_stepsubtractresultbound + S (pfd_input_division_bound_step) = (p)) /\ ((exists pfa_offset_left_division_bound_stepsubtractresultcongruence pfa_offset_right_division_bound_stepsubtractresultcongruence. ((pfd_previous_division_bound_step) + (pfd_difference_division_bound_step)) + (p) * pfa_offset_left_division_bound_stepsubtractresultcongruence = (pfd_input_division_bound_step) + (p) * pfa_offset_right_division_bound_stepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_bound_stepmultiplyleft. pfa_gap_division_bound_stepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_bound_stepmultiplyright. pfa_gap_division_bound_stepmultiplyright + S (pfd_difference_division_bound_step) = (p)) /\ ((((exists pfa_gap_division_bound_stepmultiplyresultbound. pfa_gap_division_bound_stepmultiplyresultbound + S (q) = (p)) /\ ((exists pfa_offset_left_division_bound_stepmultiplyresultcongruence pfa_offset_right_division_bound_stepmultiplyresultcongruence. ((k) * (pfd_difference_division_bound_step)) + (p) * pfa_offset_left_division_bound_stepmultiplyresultcongruence = (q) + (p) * pfa_offset_right_division_bound_stepmultiplyresultcongruence))))))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnessexists xsplitexact hv_witness_leftcases hv_witness_rightcases hv_witness_right_witnesscases hv_witness_right_witness_witnesscases hv_witness_right_witness_witness_witnesscases hv_witness_right_witness_witness_witness_rightcases hv_witness_right_witness_witness_witness_right_rightcases hv_witness_right_witness_witness_witness_right_right_rightcases hv_witness_right_witness_witness_witness_right_right_right_rightcases hv_witness_right_witness_witness_witness_right_right_right_right_rightexact hv_witness_right_witness_witness_witness_right_right_right_right_right_left
polynomial_quotient_length_product · unchanged support, not a new admission
forall L d q. (((((q)=0) /\ ((exists pfc_gap_division_product_length_sourceshort. pfc_gap_division_product_length_sourceshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L)))))) -> ~(q=0) -> (((((q)=0 \/ (S d)=0) /\ (((L)=0)))) \/ (((~((q)=0)) /\ (((~((S d)=0)) /\ (((q)+(S d)=S (L))))))))
intro Lintro dintro qintro hintro hqcases hcases h_leftexfalsoapply hqexact h_left_leftcases h_rightrightsplitexact hqsplitintro hzspecialize succ_ne_zero (d)apply succ_ne_zeroexact hztrans S (q+d)simpcongrexact h_right_right
prime_field_polynomial_quotient_proper_product · unchanged support, not a new admission
forall p k ab ac bb bc d qb qc q pb pc L. (((((q)=0) /\ ((exists pfc_gap_division_product_chosen_lengthshort. pfc_gap_division_product_chosen_lengthshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L)))))) -> ~(q=0) -> (forall fom_index_pfp_division_product_divisor. (exists fom_gap_pfp_division_product_divisor_index_bound. fom_gap_pfp_division_product_divisor_index_bound + S (fom_index_pfp_division_product_divisor) = S d) -> exists fom_value_pfp_division_product_divisor. ((((exists fom_beta_height_pfp_division_product_divisor_entry. fom_beta_height_pfp_division_product_divisor_entry + S (fom_value_pfp_division_product_divisor) = S ((S (fom_index_pfp_division_product_divisor)) * bc)) /\ exists fom_beta_quotient_pfp_division_product_divisor_entry. bb = fom_beta_quotient_pfp_division_product_divisor_entry * S ((S (fom_index_pfp_division_product_divisor)) * bc) + (fom_value_pfp_division_product_divisor))) /\ (exists fom_gap_pfp_division_product_divisor_value_bound. fom_gap_pfp_division_product_divisor_value_bound + S (fom_value_pfp_division_product_divisor) = p))) -> (forall pfd_index_division_product_quotient. (exists pfa_gap_division_product_quotientbound. pfa_gap_division_product_quotientbound + S (pfd_index_division_product_quotient) = (q)) -> exists pfd_value_division_product_quotient. ((((exists ff_h_pfp_division_product_quotiententry. ff_h_pfp_division_product_quotiententry + S (pfd_value_division_product_quotient) = S ((S (pfd_index_division_product_quotient)) * qc)) /\ exists ff_q_pfp_division_product_quotiententry. qb = ff_q_pfp_division_product_quotiententry * S ((S (pfd_index_division_product_quotient)) * qc) + (pfd_value_division_product_quotient))) /\ ((exists pfd_input_division_product_quotientstep pfd_previous_division_product_quotientstep pfd_difference_division_product_quotientstep. ((((exists ff_h_pfp_division_product_quotientstepinput. ff_h_pfp_division_product_quotientstepinput + S (pfd_input_division_product_quotientstep) = S ((S (pfd_index_division_product_quotient)) * ac)) /\ exists ff_q_pfp_division_product_quotientstepinput. ab = ff_q_pfp_division_product_quotientstepinput * S ((S (pfd_index_division_product_quotient)) * ac) + (pfd_input_division_product_quotientstep))) /\ (((exists pfc_terms_code_division_product_quotientstepprevious pfc_terms_scale_division_product_quotientstepprevious pfc_natural_sum_division_product_quotientstepprevious. ((forall pfc_index_division_product_quotientsteppreviousdiagonal. (exists pfa_gap_division_product_quotientsteppreviousdiagonalbound. pfa_gap_division_product_quotientsteppreviousdiagonalbound + S (pfc_index_division_product_quotientsteppreviousdiagonal) = (S (pfd_index_division_product_quotient))) -> exists pfc_value_division_product_quotientsteppreviousdiagonal. ((((exists ff_h_pfp_division_product_quotientsteppreviousdiagonalentry. ff_h_pfp_division_product_quotientsteppreviousdiagonalentry + S (pfc_value_division_product_quotientsteppreviousdiagonal) = S ((S (pfc_index_division_product_quotientsteppreviousdiagonal)) * pfc_terms_scale_division_product_quotientstepprevious)) /\ exists ff_q_pfp_division_product_quotientsteppreviousdiagonalentry. pfc_terms_code_division_product_quotientstepprevious = ff_q_pfp_division_product_quotientsteppreviousdiagonalentry * S ((S (pfc_index_division_product_quotientsteppreviousdiagonal)) * pfc_terms_scale_division_product_quotientstepprevious) + (pfc_value_division_product_quotientsteppreviousdiagonal))) /\ ((exists pfc_complement_division_product_quotientsteppreviousdiagonalterm pfc_left_division_product_quotientsteppreviousdiagonalterm pfc_right_division_product_quotientsteppreviousdiagonalterm. (((pfc_index_division_product_quotientsteppreviousdiagonal)+pfc_complement_division_product_quotientsteppreviousdiagonalterm=(pfd_index_division_product_quotient)) /\ ((((((exists pfa_gap_division_product_quotientsteppreviousdiagonaltermleftinside. pfa_gap_division_product_quotientsteppreviousdiagonaltermleftinside + S (pfc_index_division_product_quotientsteppreviousdiagonal) = (pfd_index_division_product_quotient)) /\ ((((exists ff_h_pfp_division_product_quotientsteppreviousdiagonaltermleftentry. ff_h_pfp_division_product_quotientsteppreviousdiagonaltermleftentry + S (pfc_left_division_product_quotientsteppreviousdiagonalterm) = S ((S (pfc_index_division_product_quotientsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_product_quotientsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_product_quotientsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_product_quotientsteppreviousdiagonal)) * qc) + (pfc_left_division_product_quotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_product_quotientsteppreviousdiagonaltermleftoutside. pfc_gap_division_product_quotientsteppreviousdiagonaltermleftoutside+(pfd_index_division_product_quotient)=(pfc_index_division_product_quotientsteppreviousdiagonal)) /\ (((pfc_left_division_product_quotientsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_product_quotientsteppreviousdiagonaltermrightinside. pfa_gap_division_product_quotientsteppreviousdiagonaltermrightinside + S (pfc_complement_division_product_quotientsteppreviousdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_product_quotientsteppreviousdiagonaltermrightentry. ff_h_pfp_division_product_quotientsteppreviousdiagonaltermrightentry + S (pfc_right_division_product_quotientsteppreviousdiagonalterm) = S ((S (pfc_complement_division_product_quotientsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_product_quotientsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_product_quotientsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_product_quotientsteppreviousdiagonalterm)) * bc) + (pfc_right_division_product_quotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_product_quotientsteppreviousdiagonaltermrightoutside. pfc_gap_division_product_quotientsteppreviousdiagonaltermrightoutside+(S d)=(pfc_complement_division_product_quotientsteppreviousdiagonalterm)) /\ (((pfc_right_division_product_quotientsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_product_quotientsteppreviousdiagonal)=pfc_left_division_product_quotientsteppreviousdiagonalterm*pfc_right_division_product_quotientsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_product_quotientstepprevioussum fs_v_pfc_division_product_quotientstepprevioussum. ((((exists fs_h_pfc_division_product_quotientstepprevioussum_body_start. fs_h_pfc_division_product_quotientstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_product_quotientstepprevioussum)) /\ exists fs_q_pfc_division_product_quotientstepprevioussum_body_start. fs_u_pfc_division_product_quotientstepprevioussum = fs_q_pfc_division_product_quotientstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_product_quotientstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_product_quotientstepprevioussum_body_terminal. fs_h_pfc_division_product_quotientstepprevioussum_body_terminal + S (pfc_natural_sum_division_product_quotientstepprevious) = S ((S (S (pfd_index_division_product_quotient))) * fs_v_pfc_division_product_quotientstepprevioussum)) /\ exists fs_q_pfc_division_product_quotientstepprevioussum_body_terminal. fs_u_pfc_division_product_quotientstepprevioussum = fs_q_pfc_division_product_quotientstepprevioussum_body_terminal * S ((S (S (pfd_index_division_product_quotient))) * fs_v_pfc_division_product_quotientstepprevioussum) + (pfc_natural_sum_division_product_quotientstepprevious))) /\ forall fs_i_pfc_division_product_quotientstepprevioussum_body_steps. (exists fs_lt_pfc_division_product_quotientstepprevioussum_body_steps_bound. fs_lt_pfc_division_product_quotientstepprevioussum_body_steps_bound + S fs_i_pfc_division_product_quotientstepprevioussum_body_steps = S (pfd_index_division_product_quotient)) -> exists fs_a_pfc_division_product_quotientstepprevioussum_body_steps fs_r_pfc_division_product_quotientstepprevioussum_body_steps fs_s_pfc_division_product_quotientstepprevioussum_body_steps. ((((exists fs_h_pfc_division_product_quotientstepprevioussum_body_steps_summand. fs_h_pfc_division_product_quotientstepprevioussum_body_steps_summand + S (fs_a_pfc_division_product_quotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_product_quotientstepprevioussum_body_steps)) * pfc_terms_scale_division_product_quotientstepprevious)) /\ exists fs_q_pfc_division_product_quotientstepprevioussum_body_steps_summand. pfc_terms_code_division_product_quotientstepprevious = fs_q_pfc_division_product_quotientstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_product_quotientstepprevioussum_body_steps)) * pfc_terms_scale_division_product_quotientstepprevious) + (fs_a_pfc_division_product_quotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_product_quotientstepprevioussum_body_steps_partial. fs_h_pfc_division_product_quotientstepprevioussum_body_steps_partial + S (fs_r_pfc_division_product_quotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_product_quotientstepprevioussum_body_steps)) * fs_v_pfc_division_product_quotientstepprevioussum)) /\ exists fs_q_pfc_division_product_quotientstepprevioussum_body_steps_partial. fs_u_pfc_division_product_quotientstepprevioussum = fs_q_pfc_division_product_quotientstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_product_quotientstepprevioussum_body_steps)) * fs_v_pfc_division_product_quotientstepprevioussum) + (fs_r_pfc_division_product_quotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_product_quotientstepprevioussum_body_steps_successor. fs_h_pfc_division_product_quotientstepprevioussum_body_steps_successor + S (fs_s_pfc_division_product_quotientstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_product_quotientstepprevioussum_body_steps)) * fs_v_pfc_division_product_quotientstepprevioussum)) /\ exists fs_q_pfc_division_product_quotientstepprevioussum_body_steps_successor. fs_u_pfc_division_product_quotientstepprevioussum = fs_q_pfc_division_product_quotientstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_product_quotientstepprevioussum_body_steps)) * fs_v_pfc_division_product_quotientstepprevioussum) + (fs_s_pfc_division_product_quotientstepprevioussum_body_steps))) /\ fs_s_pfc_division_product_quotientstepprevioussum_body_steps = fs_r_pfc_division_product_quotientstepprevioussum_body_steps + fs_a_pfc_division_product_quotientstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_product_quotientsteppreviousresiduebound. pfa_gap_division_product_quotientsteppreviousresiduebound + S (pfd_previous_division_product_quotientstep) = (p)) /\ ((exists pfa_offset_left_division_product_quotientsteppreviousresiduecongruence pfa_offset_right_division_product_quotientsteppreviousresiduecongruence. (pfc_natural_sum_division_product_quotientstepprevious) + (p) * pfa_offset_left_division_product_quotientsteppreviousresiduecongruence = (pfd_previous_division_product_quotientstep) + (p) * pfa_offset_right_division_product_quotientsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_product_quotientstepsubtractleft. pfa_gap_division_product_quotientstepsubtractleft + S (pfd_previous_division_product_quotientstep) = (p)) /\ (((exists pfa_gap_division_product_quotientstepsubtractright. pfa_gap_division_product_quotientstepsubtractright + S (pfd_difference_division_product_quotientstep) = (p)) /\ ((((exists pfa_gap_division_product_quotientstepsubtractresultbound. pfa_gap_division_product_quotientstepsubtractresultbound + S (pfd_input_division_product_quotientstep) = (p)) /\ ((exists pfa_offset_left_division_product_quotientstepsubtractresultcongruence pfa_offset_right_division_product_quotientstepsubtractresultcongruence. ((pfd_previous_division_product_quotientstep) + (pfd_difference_division_product_quotientstep)) + (p) * pfa_offset_left_division_product_quotientstepsubtractresultcongruence = (pfd_input_division_product_quotientstep) + (p) * pfa_offset_right_division_product_quotientstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_product_quotientstepmultiplyleft. pfa_gap_division_product_quotientstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_product_quotientstepmultiplyright. pfa_gap_division_product_quotientstepmultiplyright + S (pfd_difference_division_product_quotientstep) = (p)) /\ ((((exists pfa_gap_division_product_quotientstepmultiplyresultbound. pfa_gap_division_product_quotientstepmultiplyresultbound + S (pfd_value_division_product_quotient) = (p)) /\ ((exists pfa_offset_left_division_product_quotientstepmultiplyresultcongruence pfa_offset_right_division_product_quotientstepmultiplyresultcongruence. ((k) * (pfd_difference_division_product_quotientstep)) + (p) * pfa_offset_left_division_product_quotientstepmultiplyresultcongruence = (pfd_value_division_product_quotient) + (p) * pfa_offset_right_division_product_quotientstepmultiplyresultcongruence))))))))))))))))))) -> (forall pfc_index_division_product_ambient. (exists pfa_gap_division_product_ambientbound. pfa_gap_division_product_ambientbound + S (pfc_index_division_product_ambient) = (L)) -> exists pfc_value_division_product_ambient. ((((exists ff_h_pfp_division_product_ambiententry. ff_h_pfp_division_product_ambiententry + S (pfc_value_division_product_ambient) = S ((S (pfc_index_division_product_ambient)) * pc)) /\ exists ff_q_pfp_division_product_ambiententry. pb = ff_q_pfp_division_product_ambiententry * S ((S (pfc_index_division_product_ambient)) * pc) + (pfc_value_division_product_ambient))) /\ ((exists pfc_terms_code_division_product_ambientcoefficient pfc_terms_scale_division_product_ambientcoefficient pfc_natural_sum_division_product_ambientcoefficient. ((forall pfc_index_division_product_ambientcoefficientdiagonal. (exists pfa_gap_division_product_ambientcoefficientdiagonalbound. pfa_gap_division_product_ambientcoefficientdiagonalbound + S (pfc_index_division_product_ambientcoefficientdiagonal) = (S (pfc_index_division_product_ambient))) -> exists pfc_value_division_product_ambientcoefficientdiagonal. ((((exists ff_h_pfp_division_product_ambientcoefficientdiagonalentry. ff_h_pfp_division_product_ambientcoefficientdiagonalentry + S (pfc_value_division_product_ambientcoefficientdiagonal) = S ((S (pfc_index_division_product_ambientcoefficientdiagonal)) * pfc_terms_scale_division_product_ambientcoefficient)) /\ exists ff_q_pfp_division_product_ambientcoefficientdiagonalentry. pfc_terms_code_division_product_ambientcoefficient = ff_q_pfp_division_product_ambientcoefficientdiagonalentry * S ((S (pfc_index_division_product_ambientcoefficientdiagonal)) * pfc_terms_scale_division_product_ambientcoefficient) + (pfc_value_division_product_ambientcoefficientdiagonal))) /\ ((exists pfc_complement_division_product_ambientcoefficientdiagonalterm pfc_left_division_product_ambientcoefficientdiagonalterm pfc_right_division_product_ambientcoefficientdiagonalterm. (((pfc_index_division_product_ambientcoefficientdiagonal)+pfc_complement_division_product_ambientcoefficientdiagonalterm=(pfc_index_division_product_ambient)) /\ ((((((exists pfa_gap_division_product_ambientcoefficientdiagonaltermleftinside. pfa_gap_division_product_ambientcoefficientdiagonaltermleftinside + S (pfc_index_division_product_ambientcoefficientdiagonal) = (q)) /\ ((((exists ff_h_pfp_division_product_ambientcoefficientdiagonaltermleftentry. ff_h_pfp_division_product_ambientcoefficientdiagonaltermleftentry + S (pfc_left_division_product_ambientcoefficientdiagonalterm) = S ((S (pfc_index_division_product_ambientcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_product_ambientcoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_product_ambientcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_product_ambientcoefficientdiagonal)) * qc) + (pfc_left_division_product_ambientcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_product_ambientcoefficientdiagonaltermleftoutside. pfc_gap_division_product_ambientcoefficientdiagonaltermleftoutside+(q)=(pfc_index_division_product_ambientcoefficientdiagonal)) /\ (((pfc_left_division_product_ambientcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_product_ambientcoefficientdiagonaltermrightinside. pfa_gap_division_product_ambientcoefficientdiagonaltermrightinside + S (pfc_complement_division_product_ambientcoefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_product_ambientcoefficientdiagonaltermrightentry. ff_h_pfp_division_product_ambientcoefficientdiagonaltermrightentry + S (pfc_right_division_product_ambientcoefficientdiagonalterm) = S ((S (pfc_complement_division_product_ambientcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_product_ambientcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_product_ambientcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_product_ambientcoefficientdiagonalterm)) * bc) + (pfc_right_division_product_ambientcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_product_ambientcoefficientdiagonaltermrightoutside. pfc_gap_division_product_ambientcoefficientdiagonaltermrightoutside+(S d)=(pfc_complement_division_product_ambientcoefficientdiagonalterm)) /\ (((pfc_right_division_product_ambientcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_product_ambientcoefficientdiagonal)=pfc_left_division_product_ambientcoefficientdiagonalterm*pfc_right_division_product_ambientcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_product_ambientcoefficientsum fs_v_pfc_division_product_ambientcoefficientsum. ((((exists fs_h_pfc_division_product_ambientcoefficientsum_body_start. fs_h_pfc_division_product_ambientcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_product_ambientcoefficientsum)) /\ exists fs_q_pfc_division_product_ambientcoefficientsum_body_start. fs_u_pfc_division_product_ambientcoefficientsum = fs_q_pfc_division_product_ambientcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_product_ambientcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_product_ambientcoefficientsum_body_terminal. fs_h_pfc_division_product_ambientcoefficientsum_body_terminal + S (pfc_natural_sum_division_product_ambientcoefficient) = S ((S (S (pfc_index_division_product_ambient))) * fs_v_pfc_division_product_ambientcoefficientsum)) /\ exists fs_q_pfc_division_product_ambientcoefficientsum_body_terminal. fs_u_pfc_division_product_ambientcoefficientsum = fs_q_pfc_division_product_ambientcoefficientsum_body_terminal * S ((S (S (pfc_index_division_product_ambient))) * fs_v_pfc_division_product_ambientcoefficientsum) + (pfc_natural_sum_division_product_ambientcoefficient))) /\ forall fs_i_pfc_division_product_ambientcoefficientsum_body_steps. (exists fs_lt_pfc_division_product_ambientcoefficientsum_body_steps_bound. fs_lt_pfc_division_product_ambientcoefficientsum_body_steps_bound + S fs_i_pfc_division_product_ambientcoefficientsum_body_steps = S (pfc_index_division_product_ambient)) -> exists fs_a_pfc_division_product_ambientcoefficientsum_body_steps fs_r_pfc_division_product_ambientcoefficientsum_body_steps fs_s_pfc_division_product_ambientcoefficientsum_body_steps. ((((exists fs_h_pfc_division_product_ambientcoefficientsum_body_steps_summand. fs_h_pfc_division_product_ambientcoefficientsum_body_steps_summand + S (fs_a_pfc_division_product_ambientcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_product_ambientcoefficientsum_body_steps)) * pfc_terms_scale_division_product_ambientcoefficient)) /\ exists fs_q_pfc_division_product_ambientcoefficientsum_body_steps_summand. pfc_terms_code_division_product_ambientcoefficient = fs_q_pfc_division_product_ambientcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_product_ambientcoefficientsum_body_steps)) * pfc_terms_scale_division_product_ambientcoefficient) + (fs_a_pfc_division_product_ambientcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_product_ambientcoefficientsum_body_steps_partial. fs_h_pfc_division_product_ambientcoefficientsum_body_steps_partial + S (fs_r_pfc_division_product_ambientcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_product_ambientcoefficientsum_body_steps)) * fs_v_pfc_division_product_ambientcoefficientsum)) /\ exists fs_q_pfc_division_product_ambientcoefficientsum_body_steps_partial. fs_u_pfc_division_product_ambientcoefficientsum = fs_q_pfc_division_product_ambientcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_product_ambientcoefficientsum_body_steps)) * fs_v_pfc_division_product_ambientcoefficientsum) + (fs_r_pfc_division_product_ambientcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_product_ambientcoefficientsum_body_steps_successor. fs_h_pfc_division_product_ambientcoefficientsum_body_steps_successor + S (fs_s_pfc_division_product_ambientcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_product_ambientcoefficientsum_body_steps)) * fs_v_pfc_division_product_ambientcoefficientsum)) /\ exists fs_q_pfc_division_product_ambientcoefficientsum_body_steps_successor. fs_u_pfc_division_product_ambientcoefficientsum = fs_q_pfc_division_product_ambientcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_product_ambientcoefficientsum_body_steps)) * fs_v_pfc_division_product_ambientcoefficientsum) + (fs_s_pfc_division_product_ambientcoefficientsum_body_steps))) /\ fs_s_pfc_division_product_ambientcoefficientsum_body_steps = fs_r_pfc_division_product_ambientcoefficientsum_body_steps + fs_a_pfc_division_product_ambientcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_product_ambientcoefficientresiduebound. pfa_gap_division_product_ambientcoefficientresiduebound + S (pfc_value_division_product_ambient) = (p)) /\ ((exists pfa_offset_left_division_product_ambientcoefficientresiduecongruence pfa_offset_right_division_product_ambientcoefficientresiduecongruence. (pfc_natural_sum_division_product_ambientcoefficient) + (p) * pfa_offset_left_division_product_ambientcoefficientresiduecongruence = (pfc_value_division_product_ambient) + (p) * pfa_offset_right_division_product_ambientcoefficientresiduecongruence)))))))))))) -> (((forall fom_index_pfp_division_product_actualleft. (exists fom_gap_pfp_division_product_actualleft_index_bound. fom_gap_pfp_division_product_actualleft_index_bound + S (fom_index_pfp_division_product_actualleft) = q) -> exists fom_value_pfp_division_product_actualleft. ((((exists fom_beta_height_pfp_division_product_actualleft_entry. fom_beta_height_pfp_division_product_actualleft_entry + S (fom_value_pfp_division_product_actualleft) = S ((S (fom_index_pfp_division_product_actualleft)) * qc)) /\ exists fom_beta_quotient_pfp_division_product_actualleft_entry. qb = fom_beta_quotient_pfp_division_product_actualleft_entry * S ((S (fom_index_pfp_division_product_actualleft)) * qc) + (fom_value_pfp_division_product_actualleft))) /\ (exists fom_gap_pfp_division_product_actualleft_value_bound. fom_gap_pfp_division_product_actualleft_value_bound + S (fom_value_pfp_division_product_actualleft) = p))) /\ (((forall fom_index_pfp_division_product_actualright. (exists fom_gap_pfp_division_product_actualright_index_bound. fom_gap_pfp_division_product_actualright_index_bound + S (fom_index_pfp_division_product_actualright) = S d) -> exists fom_value_pfp_division_product_actualright. ((((exists fom_beta_height_pfp_division_product_actualright_entry. fom_beta_height_pfp_division_product_actualright_entry + S (fom_value_pfp_division_product_actualright) = S ((S (fom_index_pfp_division_product_actualright)) * bc)) /\ exists fom_beta_quotient_pfp_division_product_actualright_entry. bb = fom_beta_quotient_pfp_division_product_actualright_entry * S ((S (fom_index_pfp_division_product_actualright)) * bc) + (fom_value_pfp_division_product_actualright))) /\ (exists fom_gap_pfp_division_product_actualright_value_bound. fom_gap_pfp_division_product_actualright_value_bound + S (fom_value_pfp_division_product_actualright) = p))) /\ (((((((q)=0 \/ (S d)=0) /\ (((L)=0)))) \/ (((~((q)=0)) /\ (((~((S d)=0)) /\ (((q)+(S d)=S (L)))))))) /\ ((forall pfc_index_division_product_actualcoefficients. (exists pfa_gap_division_product_actualcoefficientsbound. pfa_gap_division_product_actualcoefficientsbound + S (pfc_index_division_product_actualcoefficients) = (L)) -> exists pfc_value_division_product_actualcoefficients. ((((exists ff_h_pfp_division_product_actualcoefficientsentry. ff_h_pfp_division_product_actualcoefficientsentry + S (pfc_value_division_product_actualcoefficients) = S ((S (pfc_index_division_product_actualcoefficients)) * pc)) /\ exists ff_q_pfp_division_product_actualcoefficientsentry. pb = ff_q_pfp_division_product_actualcoefficientsentry * S ((S (pfc_index_division_product_actualcoefficients)) * pc) + (pfc_value_division_product_actualcoefficients))) /\ ((exists pfc_terms_code_division_product_actualcoefficientscoefficient pfc_terms_scale_division_product_actualcoefficientscoefficient pfc_natural_sum_division_product_actualcoefficientscoefficient. ((forall pfc_index_division_product_actualcoefficientscoefficientdiagonal. (exists pfa_gap_division_product_actualcoefficientscoefficientdiagonalbound. pfa_gap_division_product_actualcoefficientscoefficientdiagonalbound + S (pfc_index_division_product_actualcoefficientscoefficientdiagonal) = (S (pfc_index_division_product_actualcoefficients))) -> exists pfc_value_division_product_actualcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_division_product_actualcoefficientscoefficientdiagonalentry. ff_h_pfp_division_product_actualcoefficientscoefficientdiagonalentry + S (pfc_value_division_product_actualcoefficientscoefficientdiagonal) = S ((S (pfc_index_division_product_actualcoefficientscoefficientdiagonal)) * pfc_terms_scale_division_product_actualcoefficientscoefficient)) /\ exists ff_q_pfp_division_product_actualcoefficientscoefficientdiagonalentry. pfc_terms_code_division_product_actualcoefficientscoefficient = ff_q_pfp_division_product_actualcoefficientscoefficientdiagonalentry * S ((S (pfc_index_division_product_actualcoefficientscoefficientdiagonal)) * pfc_terms_scale_division_product_actualcoefficientscoefficient) + (pfc_value_division_product_actualcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_division_product_actualcoefficientscoefficientdiagonalterm pfc_left_division_product_actualcoefficientscoefficientdiagonalterm pfc_right_division_product_actualcoefficientscoefficientdiagonalterm. (((pfc_index_division_product_actualcoefficientscoefficientdiagonal)+pfc_complement_division_product_actualcoefficientscoefficientdiagonalterm=(pfc_index_division_product_actualcoefficients)) /\ ((((((exists pfa_gap_division_product_actualcoefficientscoefficientdiagonaltermleftinside. pfa_gap_division_product_actualcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_division_product_actualcoefficientscoefficientdiagonal) = (q)) /\ ((((exists ff_h_pfp_division_product_actualcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_division_product_actualcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_division_product_actualcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_division_product_actualcoefficientscoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_product_actualcoefficientscoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_product_actualcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_division_product_actualcoefficientscoefficientdiagonal)) * qc) + (pfc_left_division_product_actualcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_product_actualcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_division_product_actualcoefficientscoefficientdiagonaltermleftoutside+(q)=(pfc_index_division_product_actualcoefficientscoefficientdiagonal)) /\ (((pfc_left_division_product_actualcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_product_actualcoefficientscoefficientdiagonaltermrightinside. pfa_gap_division_product_actualcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_division_product_actualcoefficientscoefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_product_actualcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_division_product_actualcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_division_product_actualcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_division_product_actualcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_product_actualcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_product_actualcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_product_actualcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_division_product_actualcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_product_actualcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_division_product_actualcoefficientscoefficientdiagonaltermrightoutside+(S d)=(pfc_complement_division_product_actualcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_division_product_actualcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_product_actualcoefficientscoefficientdiagonal)=pfc_left_division_product_actualcoefficientscoefficientdiagonalterm*pfc_right_division_product_actualcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_product_actualcoefficientscoefficientsum fs_v_pfc_division_product_actualcoefficientscoefficientsum. ((((exists fs_h_pfc_division_product_actualcoefficientscoefficientsum_body_start. fs_h_pfc_division_product_actualcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_product_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_division_product_actualcoefficientscoefficientsum_body_start. fs_u_pfc_division_product_actualcoefficientscoefficientsum = fs_q_pfc_division_product_actualcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_product_actualcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_product_actualcoefficientscoefficientsum_body_terminal. fs_h_pfc_division_product_actualcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_division_product_actualcoefficientscoefficient) = S ((S (S (pfc_index_division_product_actualcoefficients))) * fs_v_pfc_division_product_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_division_product_actualcoefficientscoefficientsum_body_terminal. fs_u_pfc_division_product_actualcoefficientscoefficientsum = fs_q_pfc_division_product_actualcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_division_product_actualcoefficients))) * fs_v_pfc_division_product_actualcoefficientscoefficientsum) + (pfc_natural_sum_division_product_actualcoefficientscoefficient))) /\ forall fs_i_pfc_division_product_actualcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_division_product_actualcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_division_product_actualcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_division_product_actualcoefficientscoefficientsum_body_steps = S (pfc_index_division_product_actualcoefficients)) -> exists fs_a_pfc_division_product_actualcoefficientscoefficientsum_body_steps fs_r_pfc_division_product_actualcoefficientscoefficientsum_body_steps fs_s_pfc_division_product_actualcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_division_product_actualcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_division_product_actualcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_division_product_actualcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_division_product_actualcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_division_product_actualcoefficientscoefficient)) /\ exists fs_q_pfc_division_product_actualcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_division_product_actualcoefficientscoefficient = fs_q_pfc_division_product_actualcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_product_actualcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_division_product_actualcoefficientscoefficient) + (fs_a_pfc_division_product_actualcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_product_actualcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_division_product_actualcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_division_product_actualcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_division_product_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_division_product_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_division_product_actualcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_division_product_actualcoefficientscoefficientsum = fs_q_pfc_division_product_actualcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_product_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_division_product_actualcoefficientscoefficientsum) + (fs_r_pfc_division_product_actualcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_product_actualcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_division_product_actualcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_division_product_actualcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_product_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_division_product_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_division_product_actualcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_division_product_actualcoefficientscoefficientsum = fs_q_pfc_division_product_actualcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_product_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_division_product_actualcoefficientscoefficientsum) + (fs_s_pfc_division_product_actualcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_division_product_actualcoefficientscoefficientsum_body_steps = fs_r_pfc_division_product_actualcoefficientscoefficientsum_body_steps + fs_a_pfc_division_product_actualcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_product_actualcoefficientscoefficientresiduebound. pfa_gap_division_product_actualcoefficientscoefficientresiduebound + S (pfc_value_division_product_actualcoefficients) = (p)) /\ ((exists pfa_offset_left_division_product_actualcoefficientscoefficientresiduecongruence pfa_offset_right_division_product_actualcoefficientscoefficientresiduecongruence. (pfc_natural_sum_division_product_actualcoefficientscoefficient) + (p) * pfa_offset_left_division_product_actualcoefficientscoefficientresiduecongruence = (pfc_value_division_product_actualcoefficients) + (p) * pfa_offset_right_division_product_actualcoefficientscoefficientresiduecongruence)))))))))))))))))))
intro pintro kintro abintro acintro bbintro bcintro dintro qbintro qcintro qintro pbintro pcintro Lintro hlenintro hpositiveintro hbintro hqintro hproductsplitspecialize prime_field_polynomial_quotient_prefix_bounded (p)specialize prime_field_polynomial_quotient_prefix_bounded (k)specialize prime_field_polynomial_quotient_prefix_bounded (ab)specialize prime_field_polynomial_quotient_prefix_bounded (ac)specialize prime_field_polynomial_quotient_prefix_bounded (bb)specialize prime_field_polynomial_quotient_prefix_bounded (bc)specialize prime_field_polynomial_quotient_prefix_bounded (S d)specialize prime_field_polynomial_quotient_prefix_bounded (qb)specialize prime_field_polynomial_quotient_prefix_bounded (qc)specialize prime_field_polynomial_quotient_prefix_bounded (q)apply prime_field_polynomial_quotient_prefix_boundedexact hqsplitexact hbsplitspecialize polynomial_quotient_length_product (L)specialize polynomial_quotient_length_product (d)specialize polynomial_quotient_length_product (q)apply polynomial_quotient_length_productexact hlenexact hpositiveexact hproduct
prime_field_polynomial_division_coefficient_identity · unchanged support, not a new admission
forall p ab ac L bb bc d qb qc q rb rc R. (~((p) = 1) /\ forall pfa_factor_left_division_identity_prime pfa_factor_right_division_identity_prime. (p) = pfa_factor_left_division_identity_prime * pfa_factor_right_division_identity_prime -> pfa_factor_left_division_identity_prime = 1 \/ pfa_factor_right_division_identity_prime = 1) -> (((forall fom_index_pfp_division_identity_executioninput. (exists fom_gap_pfp_division_identity_executioninput_index_bound. fom_gap_pfp_division_identity_executioninput_index_bound + S (fom_index_pfp_division_identity_executioninput) = L) -> exists fom_value_pfp_division_identity_executioninput. ((((exists fom_beta_height_pfp_division_identity_executioninput_entry. fom_beta_height_pfp_division_identity_executioninput_entry + S (fom_value_pfp_division_identity_executioninput) = S ((S (fom_index_pfp_division_identity_executioninput)) * ac)) /\ exists fom_beta_quotient_pfp_division_identity_executioninput_entry. ab = fom_beta_quotient_pfp_division_identity_executioninput_entry * S ((S (fom_index_pfp_division_identity_executioninput)) * ac) + (fom_value_pfp_division_identity_executioninput))) /\ (exists fom_gap_pfp_division_identity_executioninput_value_bound. fom_gap_pfp_division_identity_executioninput_value_bound + S (fom_value_pfp_division_identity_executioninput) = p))) /\ (((forall fom_index_pfp_division_identity_executiondivisor. (exists fom_gap_pfp_division_identity_executiondivisor_index_bound. fom_gap_pfp_division_identity_executiondivisor_index_bound + S (fom_index_pfp_division_identity_executiondivisor) = S (d)) -> exists fom_value_pfp_division_identity_executiondivisor. ((((exists fom_beta_height_pfp_division_identity_executiondivisor_entry. fom_beta_height_pfp_division_identity_executiondivisor_entry + S (fom_value_pfp_division_identity_executiondivisor) = S ((S (fom_index_pfp_division_identity_executiondivisor)) * bc)) /\ exists fom_beta_quotient_pfp_division_identity_executiondivisor_entry. bb = fom_beta_quotient_pfp_division_identity_executiondivisor_entry * S ((S (fom_index_pfp_division_identity_executiondivisor)) * bc) + (fom_value_pfp_division_identity_executiondivisor))) /\ (exists fom_gap_pfp_division_identity_executiondivisor_value_bound. fom_gap_pfp_division_identity_executiondivisor_value_bound + S (fom_value_pfp_division_identity_executiondivisor) = p))) /\ (((((((q)=0) /\ ((exists pfc_gap_division_identity_executionlengthshort. pfc_gap_division_identity_executionlengthshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L)))))) /\ ((exists pfd_head_division_identity_execution pfd_inverse_division_identity_execution pfd_product_code_division_identity_execution pfd_product_scale_division_identity_execution pfd_residual_code_division_identity_execution pfd_residual_scale_division_identity_execution pfd_cut_division_identity_execution. ((((exists ff_h_pfp_division_identity_executionhead. ff_h_pfp_division_identity_executionhead + S (pfd_head_division_identity_execution) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_identity_executionhead. bb = ff_q_pfp_division_identity_executionhead * S ((S (0)) * bc) + (pfd_head_division_identity_execution))) /\ (((((~((pfd_head_division_identity_execution) = 0)) /\ ((((exists pfa_gap_division_identity_executioninversemultiplicationleft. pfa_gap_division_identity_executioninversemultiplicationleft + S (pfd_head_division_identity_execution) = (p)) /\ (((exists pfa_gap_division_identity_executioninversemultiplicationright. pfa_gap_division_identity_executioninversemultiplicationright + S (pfd_inverse_division_identity_execution) = (p)) /\ ((((exists pfa_gap_division_identity_executioninversemultiplicationresultbound. pfa_gap_division_identity_executioninversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_identity_executioninversemultiplicationresultcongruence pfa_offset_right_division_identity_executioninversemultiplicationresultcongruence. ((pfd_head_division_identity_execution) * (pfd_inverse_division_identity_execution)) + (p) * pfa_offset_left_division_identity_executioninversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_identity_executioninversemultiplicationresultcongruence)))))))))))) /\ (((forall pfd_index_division_identity_executionquotient. (exists pfa_gap_division_identity_executionquotientbound. pfa_gap_division_identity_executionquotientbound + S (pfd_index_division_identity_executionquotient) = (q)) -> exists pfd_value_division_identity_executionquotient. ((((exists ff_h_pfp_division_identity_executionquotiententry. ff_h_pfp_division_identity_executionquotiententry + S (pfd_value_division_identity_executionquotient) = S ((S (pfd_index_division_identity_executionquotient)) * qc)) /\ exists ff_q_pfp_division_identity_executionquotiententry. qb = ff_q_pfp_division_identity_executionquotiententry * S ((S (pfd_index_division_identity_executionquotient)) * qc) + (pfd_value_division_identity_executionquotient))) /\ ((exists pfd_input_division_identity_executionquotientstep pfd_previous_division_identity_executionquotientstep pfd_difference_division_identity_executionquotientstep. ((((exists ff_h_pfp_division_identity_executionquotientstepinput. ff_h_pfp_division_identity_executionquotientstepinput + S (pfd_input_division_identity_executionquotientstep) = S ((S (pfd_index_division_identity_executionquotient)) * ac)) /\ exists ff_q_pfp_division_identity_executionquotientstepinput. ab = ff_q_pfp_division_identity_executionquotientstepinput * S ((S (pfd_index_division_identity_executionquotient)) * ac) + (pfd_input_division_identity_executionquotientstep))) /\ (((exists pfc_terms_code_division_identity_executionquotientstepprevious pfc_terms_scale_division_identity_executionquotientstepprevious pfc_natural_sum_division_identity_executionquotientstepprevious. ((forall pfc_index_division_identity_executionquotientsteppreviousdiagonal. (exists pfa_gap_division_identity_executionquotientsteppreviousdiagonalbound. pfa_gap_division_identity_executionquotientsteppreviousdiagonalbound + S (pfc_index_division_identity_executionquotientsteppreviousdiagonal) = (S (pfd_index_division_identity_executionquotient))) -> exists pfc_value_division_identity_executionquotientsteppreviousdiagonal. ((((exists ff_h_pfp_division_identity_executionquotientsteppreviousdiagonalentry. ff_h_pfp_division_identity_executionquotientsteppreviousdiagonalentry + S (pfc_value_division_identity_executionquotientsteppreviousdiagonal) = S ((S (pfc_index_division_identity_executionquotientsteppreviousdiagonal)) * pfc_terms_scale_division_identity_executionquotientstepprevious)) /\ exists ff_q_pfp_division_identity_executionquotientsteppreviousdiagonalentry. pfc_terms_code_division_identity_executionquotientstepprevious = ff_q_pfp_division_identity_executionquotientsteppreviousdiagonalentry * S ((S (pfc_index_division_identity_executionquotientsteppreviousdiagonal)) * pfc_terms_scale_division_identity_executionquotientstepprevious) + (pfc_value_division_identity_executionquotientsteppreviousdiagonal))) /\ ((exists pfc_complement_division_identity_executionquotientsteppreviousdiagonalterm pfc_left_division_identity_executionquotientsteppreviousdiagonalterm pfc_right_division_identity_executionquotientsteppreviousdiagonalterm. (((pfc_index_division_identity_executionquotientsteppreviousdiagonal)+pfc_complement_division_identity_executionquotientsteppreviousdiagonalterm=(pfd_index_division_identity_executionquotient)) /\ ((((((exists pfa_gap_division_identity_executionquotientsteppreviousdiagonaltermleftinside. pfa_gap_division_identity_executionquotientsteppreviousdiagonaltermleftinside + S (pfc_index_division_identity_executionquotientsteppreviousdiagonal) = (pfd_index_division_identity_executionquotient)) /\ ((((exists ff_h_pfp_division_identity_executionquotientsteppreviousdiagonaltermleftentry. ff_h_pfp_division_identity_executionquotientsteppreviousdiagonaltermleftentry + S (pfc_left_division_identity_executionquotientsteppreviousdiagonalterm) = S ((S (pfc_index_division_identity_executionquotientsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_identity_executionquotientsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_identity_executionquotientsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_identity_executionquotientsteppreviousdiagonal)) * qc) + (pfc_left_division_identity_executionquotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_identity_executionquotientsteppreviousdiagonaltermleftoutside. pfc_gap_division_identity_executionquotientsteppreviousdiagonaltermleftoutside+(pfd_index_division_identity_executionquotient)=(pfc_index_division_identity_executionquotientsteppreviousdiagonal)) /\ (((pfc_left_division_identity_executionquotientsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_identity_executionquotientsteppreviousdiagonaltermrightinside. pfa_gap_division_identity_executionquotientsteppreviousdiagonaltermrightinside + S (pfc_complement_division_identity_executionquotientsteppreviousdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_identity_executionquotientsteppreviousdiagonaltermrightentry. ff_h_pfp_division_identity_executionquotientsteppreviousdiagonaltermrightentry + S (pfc_right_division_identity_executionquotientsteppreviousdiagonalterm) = S ((S (pfc_complement_division_identity_executionquotientsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_identity_executionquotientsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_identity_executionquotientsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_identity_executionquotientsteppreviousdiagonalterm)) * bc) + (pfc_right_division_identity_executionquotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_identity_executionquotientsteppreviousdiagonaltermrightoutside. pfc_gap_division_identity_executionquotientsteppreviousdiagonaltermrightoutside+(S (d))=(pfc_complement_division_identity_executionquotientsteppreviousdiagonalterm)) /\ (((pfc_right_division_identity_executionquotientsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_identity_executionquotientsteppreviousdiagonal)=pfc_left_division_identity_executionquotientsteppreviousdiagonalterm*pfc_right_division_identity_executionquotientsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_identity_executionquotientstepprevioussum fs_v_pfc_division_identity_executionquotientstepprevioussum. ((((exists fs_h_pfc_division_identity_executionquotientstepprevioussum_body_start. fs_h_pfc_division_identity_executionquotientstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_identity_executionquotientstepprevioussum)) /\ exists fs_q_pfc_division_identity_executionquotientstepprevioussum_body_start. fs_u_pfc_division_identity_executionquotientstepprevioussum = fs_q_pfc_division_identity_executionquotientstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_identity_executionquotientstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_identity_executionquotientstepprevioussum_body_terminal. fs_h_pfc_division_identity_executionquotientstepprevioussum_body_terminal + S (pfc_natural_sum_division_identity_executionquotientstepprevious) = S ((S (S (pfd_index_division_identity_executionquotient))) * fs_v_pfc_division_identity_executionquotientstepprevioussum)) /\ exists fs_q_pfc_division_identity_executionquotientstepprevioussum_body_terminal. fs_u_pfc_division_identity_executionquotientstepprevioussum = fs_q_pfc_division_identity_executionquotientstepprevioussum_body_terminal * S ((S (S (pfd_index_division_identity_executionquotient))) * fs_v_pfc_division_identity_executionquotientstepprevioussum) + (pfc_natural_sum_division_identity_executionquotientstepprevious))) /\ forall fs_i_pfc_division_identity_executionquotientstepprevioussum_body_steps. (exists fs_lt_pfc_division_identity_executionquotientstepprevioussum_body_steps_bound. fs_lt_pfc_division_identity_executionquotientstepprevioussum_body_steps_bound + S fs_i_pfc_division_identity_executionquotientstepprevioussum_body_steps = S (pfd_index_division_identity_executionquotient)) -> exists fs_a_pfc_division_identity_executionquotientstepprevioussum_body_steps fs_r_pfc_division_identity_executionquotientstepprevioussum_body_steps fs_s_pfc_division_identity_executionquotientstepprevioussum_body_steps. ((((exists fs_h_pfc_division_identity_executionquotientstepprevioussum_body_steps_summand. fs_h_pfc_division_identity_executionquotientstepprevioussum_body_steps_summand + S (fs_a_pfc_division_identity_executionquotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_identity_executionquotientstepprevioussum_body_steps)) * pfc_terms_scale_division_identity_executionquotientstepprevious)) /\ exists fs_q_pfc_division_identity_executionquotientstepprevioussum_body_steps_summand. pfc_terms_code_division_identity_executionquotientstepprevious = fs_q_pfc_division_identity_executionquotientstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_identity_executionquotientstepprevioussum_body_steps)) * pfc_terms_scale_division_identity_executionquotientstepprevious) + (fs_a_pfc_division_identity_executionquotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_identity_executionquotientstepprevioussum_body_steps_partial. fs_h_pfc_division_identity_executionquotientstepprevioussum_body_steps_partial + S (fs_r_pfc_division_identity_executionquotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_identity_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_division_identity_executionquotientstepprevioussum)) /\ exists fs_q_pfc_division_identity_executionquotientstepprevioussum_body_steps_partial. fs_u_pfc_division_identity_executionquotientstepprevioussum = fs_q_pfc_division_identity_executionquotientstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_identity_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_division_identity_executionquotientstepprevioussum) + (fs_r_pfc_division_identity_executionquotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_identity_executionquotientstepprevioussum_body_steps_successor. fs_h_pfc_division_identity_executionquotientstepprevioussum_body_steps_successor + S (fs_s_pfc_division_identity_executionquotientstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_identity_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_division_identity_executionquotientstepprevioussum)) /\ exists fs_q_pfc_division_identity_executionquotientstepprevioussum_body_steps_successor. fs_u_pfc_division_identity_executionquotientstepprevioussum = fs_q_pfc_division_identity_executionquotientstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_identity_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_division_identity_executionquotientstepprevioussum) + (fs_s_pfc_division_identity_executionquotientstepprevioussum_body_steps))) /\ fs_s_pfc_division_identity_executionquotientstepprevioussum_body_steps = fs_r_pfc_division_identity_executionquotientstepprevioussum_body_steps + fs_a_pfc_division_identity_executionquotientstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_identity_executionquotientsteppreviousresiduebound. pfa_gap_division_identity_executionquotientsteppreviousresiduebound + S (pfd_previous_division_identity_executionquotientstep) = (p)) /\ ((exists pfa_offset_left_division_identity_executionquotientsteppreviousresiduecongruence pfa_offset_right_division_identity_executionquotientsteppreviousresiduecongruence. (pfc_natural_sum_division_identity_executionquotientstepprevious) + (p) * pfa_offset_left_division_identity_executionquotientsteppreviousresiduecongruence = (pfd_previous_division_identity_executionquotientstep) + (p) * pfa_offset_right_division_identity_executionquotientsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_identity_executionquotientstepsubtractleft. pfa_gap_division_identity_executionquotientstepsubtractleft + S (pfd_previous_division_identity_executionquotientstep) = (p)) /\ (((exists pfa_gap_division_identity_executionquotientstepsubtractright. pfa_gap_division_identity_executionquotientstepsubtractright + S (pfd_difference_division_identity_executionquotientstep) = (p)) /\ ((((exists pfa_gap_division_identity_executionquotientstepsubtractresultbound. pfa_gap_division_identity_executionquotientstepsubtractresultbound + S (pfd_input_division_identity_executionquotientstep) = (p)) /\ ((exists pfa_offset_left_division_identity_executionquotientstepsubtractresultcongruence pfa_offset_right_division_identity_executionquotientstepsubtractresultcongruence. ((pfd_previous_division_identity_executionquotientstep) + (pfd_difference_division_identity_executionquotientstep)) + (p) * pfa_offset_left_division_identity_executionquotientstepsubtractresultcongruence = (pfd_input_division_identity_executionquotientstep) + (p) * pfa_offset_right_division_identity_executionquotientstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_identity_executionquotientstepmultiplyleft. pfa_gap_division_identity_executionquotientstepmultiplyleft + S (pfd_inverse_division_identity_execution) = (p)) /\ (((exists pfa_gap_division_identity_executionquotientstepmultiplyright. pfa_gap_division_identity_executionquotientstepmultiplyright + S (pfd_difference_division_identity_executionquotientstep) = (p)) /\ ((((exists pfa_gap_division_identity_executionquotientstepmultiplyresultbound. pfa_gap_division_identity_executionquotientstepmultiplyresultbound + S (pfd_value_division_identity_executionquotient) = (p)) /\ ((exists pfa_offset_left_division_identity_executionquotientstepmultiplyresultcongruence pfa_offset_right_division_identity_executionquotientstepmultiplyresultcongruence. ((pfd_inverse_division_identity_execution) * (pfd_difference_division_identity_executionquotientstep)) + (p) * pfa_offset_left_division_identity_executionquotientstepmultiplyresultcongruence = (pfd_value_division_identity_executionquotient) + (p) * pfa_offset_right_division_identity_executionquotientstepmultiplyresultcongruence))))))))))))))))))) /\ (((forall pfc_index_division_identity_executionproduct. (exists pfa_gap_division_identity_executionproductbound. pfa_gap_division_identity_executionproductbound + S (pfc_index_division_identity_executionproduct) = (L)) -> exists pfc_value_division_identity_executionproduct. ((((exists ff_h_pfp_division_identity_executionproductentry. ff_h_pfp_division_identity_executionproductentry + S (pfc_value_division_identity_executionproduct) = S ((S (pfc_index_division_identity_executionproduct)) * pfd_product_scale_division_identity_execution)) /\ exists ff_q_pfp_division_identity_executionproductentry. pfd_product_code_division_identity_execution = ff_q_pfp_division_identity_executionproductentry * S ((S (pfc_index_division_identity_executionproduct)) * pfd_product_scale_division_identity_execution) + (pfc_value_division_identity_executionproduct))) /\ ((exists pfc_terms_code_division_identity_executionproductcoefficient pfc_terms_scale_division_identity_executionproductcoefficient pfc_natural_sum_division_identity_executionproductcoefficient. ((forall pfc_index_division_identity_executionproductcoefficientdiagonal. (exists pfa_gap_division_identity_executionproductcoefficientdiagonalbound. pfa_gap_division_identity_executionproductcoefficientdiagonalbound + S (pfc_index_division_identity_executionproductcoefficientdiagonal) = (S (pfc_index_division_identity_executionproduct))) -> exists pfc_value_division_identity_executionproductcoefficientdiagonal. ((((exists ff_h_pfp_division_identity_executionproductcoefficientdiagonalentry. ff_h_pfp_division_identity_executionproductcoefficientdiagonalentry + S (pfc_value_division_identity_executionproductcoefficientdiagonal) = S ((S (pfc_index_division_identity_executionproductcoefficientdiagonal)) * pfc_terms_scale_division_identity_executionproductcoefficient)) /\ exists ff_q_pfp_division_identity_executionproductcoefficientdiagonalentry. pfc_terms_code_division_identity_executionproductcoefficient = ff_q_pfp_division_identity_executionproductcoefficientdiagonalentry * S ((S (pfc_index_division_identity_executionproductcoefficientdiagonal)) * pfc_terms_scale_division_identity_executionproductcoefficient) + (pfc_value_division_identity_executionproductcoefficientdiagonal))) /\ ((exists pfc_complement_division_identity_executionproductcoefficientdiagonalterm pfc_left_division_identity_executionproductcoefficientdiagonalterm pfc_right_division_identity_executionproductcoefficientdiagonalterm. (((pfc_index_division_identity_executionproductcoefficientdiagonal)+pfc_complement_division_identity_executionproductcoefficientdiagonalterm=(pfc_index_division_identity_executionproduct)) /\ ((((((exists pfa_gap_division_identity_executionproductcoefficientdiagonaltermleftinside. pfa_gap_division_identity_executionproductcoefficientdiagonaltermleftinside + S (pfc_index_division_identity_executionproductcoefficientdiagonal) = (q)) /\ ((((exists ff_h_pfp_division_identity_executionproductcoefficientdiagonaltermleftentry. ff_h_pfp_division_identity_executionproductcoefficientdiagonaltermleftentry + S (pfc_left_division_identity_executionproductcoefficientdiagonalterm) = S ((S (pfc_index_division_identity_executionproductcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_identity_executionproductcoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_identity_executionproductcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_identity_executionproductcoefficientdiagonal)) * qc) + (pfc_left_division_identity_executionproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_identity_executionproductcoefficientdiagonaltermleftoutside. pfc_gap_division_identity_executionproductcoefficientdiagonaltermleftoutside+(q)=(pfc_index_division_identity_executionproductcoefficientdiagonal)) /\ (((pfc_left_division_identity_executionproductcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_identity_executionproductcoefficientdiagonaltermrightinside. pfa_gap_division_identity_executionproductcoefficientdiagonaltermrightinside + S (pfc_complement_division_identity_executionproductcoefficientdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_identity_executionproductcoefficientdiagonaltermrightentry. ff_h_pfp_division_identity_executionproductcoefficientdiagonaltermrightentry + S (pfc_right_division_identity_executionproductcoefficientdiagonalterm) = S ((S (pfc_complement_division_identity_executionproductcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_identity_executionproductcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_identity_executionproductcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_identity_executionproductcoefficientdiagonalterm)) * bc) + (pfc_right_division_identity_executionproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_identity_executionproductcoefficientdiagonaltermrightoutside. pfc_gap_division_identity_executionproductcoefficientdiagonaltermrightoutside+(S (d))=(pfc_complement_division_identity_executionproductcoefficientdiagonalterm)) /\ (((pfc_right_division_identity_executionproductcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_identity_executionproductcoefficientdiagonal)=pfc_left_division_identity_executionproductcoefficientdiagonalterm*pfc_right_division_identity_executionproductcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_identity_executionproductcoefficientsum fs_v_pfc_division_identity_executionproductcoefficientsum. ((((exists fs_h_pfc_division_identity_executionproductcoefficientsum_body_start. fs_h_pfc_division_identity_executionproductcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_identity_executionproductcoefficientsum)) /\ exists fs_q_pfc_division_identity_executionproductcoefficientsum_body_start. fs_u_pfc_division_identity_executionproductcoefficientsum = fs_q_pfc_division_identity_executionproductcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_identity_executionproductcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_identity_executionproductcoefficientsum_body_terminal. fs_h_pfc_division_identity_executionproductcoefficientsum_body_terminal + S (pfc_natural_sum_division_identity_executionproductcoefficient) = S ((S (S (pfc_index_division_identity_executionproduct))) * fs_v_pfc_division_identity_executionproductcoefficientsum)) /\ exists fs_q_pfc_division_identity_executionproductcoefficientsum_body_terminal. fs_u_pfc_division_identity_executionproductcoefficientsum = fs_q_pfc_division_identity_executionproductcoefficientsum_body_terminal * S ((S (S (pfc_index_division_identity_executionproduct))) * fs_v_pfc_division_identity_executionproductcoefficientsum) + (pfc_natural_sum_division_identity_executionproductcoefficient))) /\ forall fs_i_pfc_division_identity_executionproductcoefficientsum_body_steps. (exists fs_lt_pfc_division_identity_executionproductcoefficientsum_body_steps_bound. fs_lt_pfc_division_identity_executionproductcoefficientsum_body_steps_bound + S fs_i_pfc_division_identity_executionproductcoefficientsum_body_steps = S (pfc_index_division_identity_executionproduct)) -> exists fs_a_pfc_division_identity_executionproductcoefficientsum_body_steps fs_r_pfc_division_identity_executionproductcoefficientsum_body_steps fs_s_pfc_division_identity_executionproductcoefficientsum_body_steps. ((((exists fs_h_pfc_division_identity_executionproductcoefficientsum_body_steps_summand. fs_h_pfc_division_identity_executionproductcoefficientsum_body_steps_summand + S (fs_a_pfc_division_identity_executionproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_identity_executionproductcoefficientsum_body_steps)) * pfc_terms_scale_division_identity_executionproductcoefficient)) /\ exists fs_q_pfc_division_identity_executionproductcoefficientsum_body_steps_summand. pfc_terms_code_division_identity_executionproductcoefficient = fs_q_pfc_division_identity_executionproductcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_identity_executionproductcoefficientsum_body_steps)) * pfc_terms_scale_division_identity_executionproductcoefficient) + (fs_a_pfc_division_identity_executionproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_identity_executionproductcoefficientsum_body_steps_partial. fs_h_pfc_division_identity_executionproductcoefficientsum_body_steps_partial + S (fs_r_pfc_division_identity_executionproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_identity_executionproductcoefficientsum_body_steps)) * fs_v_pfc_division_identity_executionproductcoefficientsum)) /\ exists fs_q_pfc_division_identity_executionproductcoefficientsum_body_steps_partial. fs_u_pfc_division_identity_executionproductcoefficientsum = fs_q_pfc_division_identity_executionproductcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_identity_executionproductcoefficientsum_body_steps)) * fs_v_pfc_division_identity_executionproductcoefficientsum) + (fs_r_pfc_division_identity_executionproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_identity_executionproductcoefficientsum_body_steps_successor. fs_h_pfc_division_identity_executionproductcoefficientsum_body_steps_successor + S (fs_s_pfc_division_identity_executionproductcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_identity_executionproductcoefficientsum_body_steps)) * fs_v_pfc_division_identity_executionproductcoefficientsum)) /\ exists fs_q_pfc_division_identity_executionproductcoefficientsum_body_steps_successor. fs_u_pfc_division_identity_executionproductcoefficientsum = fs_q_pfc_division_identity_executionproductcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_identity_executionproductcoefficientsum_body_steps)) * fs_v_pfc_division_identity_executionproductcoefficientsum) + (fs_s_pfc_division_identity_executionproductcoefficientsum_body_steps))) /\ fs_s_pfc_division_identity_executionproductcoefficientsum_body_steps = fs_r_pfc_division_identity_executionproductcoefficientsum_body_steps + fs_a_pfc_division_identity_executionproductcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_identity_executionproductcoefficientresiduebound. pfa_gap_division_identity_executionproductcoefficientresiduebound + S (pfc_value_division_identity_executionproduct) = (p)) /\ ((exists pfa_offset_left_division_identity_executionproductcoefficientresiduecongruence pfa_offset_right_division_identity_executionproductcoefficientresiduecongruence. (pfc_natural_sum_division_identity_executionproductcoefficient) + (p) * pfa_offset_left_division_identity_executionproductcoefficientresiduecongruence = (pfc_value_division_identity_executionproduct) + (p) * pfa_offset_right_division_identity_executionproductcoefficientresiduecongruence)))))))))))) /\ (((forall pfs_index_division_identity_executiondifference. (exists pfa_gap_division_identity_executiondifferenceindex. pfa_gap_division_identity_executiondifferenceindex + S (pfs_index_division_identity_executiondifference) = (L)) -> exists pfs_left_division_identity_executiondifference pfs_right_division_identity_executiondifference pfs_result_division_identity_executiondifference. ((((exists ff_h_pfp_division_identity_executiondifferenceleft. ff_h_pfp_division_identity_executiondifferenceleft + S (pfs_left_division_identity_executiondifference) = S ((S (pfs_index_division_identity_executiondifference)) * ac)) /\ exists ff_q_pfp_division_identity_executiondifferenceleft. ab = ff_q_pfp_division_identity_executiondifferenceleft * S ((S (pfs_index_division_identity_executiondifference)) * ac) + (pfs_left_division_identity_executiondifference))) /\ (((((exists ff_h_pfp_division_identity_executiondifferenceright. ff_h_pfp_division_identity_executiondifferenceright + S (pfs_right_division_identity_executiondifference) = S ((S (pfs_index_division_identity_executiondifference)) * pfd_product_scale_division_identity_execution)) /\ exists ff_q_pfp_division_identity_executiondifferenceright. pfd_product_code_division_identity_execution = ff_q_pfp_division_identity_executiondifferenceright * S ((S (pfs_index_division_identity_executiondifference)) * pfd_product_scale_division_identity_execution) + (pfs_right_division_identity_executiondifference))) /\ (((((exists ff_h_pfp_division_identity_executiondifferenceresult. ff_h_pfp_division_identity_executiondifferenceresult + S (pfs_result_division_identity_executiondifference) = S ((S (pfs_index_division_identity_executiondifference)) * pfd_residual_scale_division_identity_execution)) /\ exists ff_q_pfp_division_identity_executiondifferenceresult. pfd_residual_code_division_identity_execution = ff_q_pfp_division_identity_executiondifferenceresult * S ((S (pfs_index_division_identity_executiondifference)) * pfd_residual_scale_division_identity_execution) + (pfs_result_division_identity_executiondifference))) /\ ((((exists pfa_gap_division_identity_executiondifferenceoperationleft. pfa_gap_division_identity_executiondifferenceoperationleft + S (pfs_right_division_identity_executiondifference) = (p)) /\ (((exists pfa_gap_division_identity_executiondifferenceoperationright. pfa_gap_division_identity_executiondifferenceoperationright + S (pfs_result_division_identity_executiondifference) = (p)) /\ ((((exists pfa_gap_division_identity_executiondifferenceoperationresultbound. pfa_gap_division_identity_executiondifferenceoperationresultbound + S (pfs_left_division_identity_executiondifference) = (p)) /\ ((exists pfa_offset_left_division_identity_executiondifferenceoperationresultcongruence pfa_offset_right_division_identity_executiondifferenceoperationresultcongruence. ((pfs_right_division_identity_executiondifference) + (pfs_result_division_identity_executiondifference)) + (p) * pfa_offset_left_division_identity_executiondifferenceoperationresultcongruence = (pfs_left_division_identity_executiondifference) + (p) * pfa_offset_right_division_identity_executiondifferenceoperationresultcongruence)))))))))))))))) /\ (((((L)=(pfd_cut_division_identity_execution)+(R)) /\ (((forall fom_index_pfp_division_identity_executiontriminput. (exists fom_gap_pfp_division_identity_executiontriminput_index_bound. fom_gap_pfp_division_identity_executiontriminput_index_bound + S (fom_index_pfp_division_identity_executiontriminput) = L) -> exists fom_value_pfp_division_identity_executiontriminput. ((((exists fom_beta_height_pfp_division_identity_executiontriminput_entry. fom_beta_height_pfp_division_identity_executiontriminput_entry + S (fom_value_pfp_division_identity_executiontriminput) = S ((S (fom_index_pfp_division_identity_executiontriminput)) * pfd_residual_scale_division_identity_execution)) /\ exists fom_beta_quotient_pfp_division_identity_executiontriminput_entry. pfd_residual_code_division_identity_execution = fom_beta_quotient_pfp_division_identity_executiontriminput_entry * S ((S (fom_index_pfp_division_identity_executiontriminput)) * pfd_residual_scale_division_identity_execution) + (fom_value_pfp_division_identity_executiontriminput))) /\ (exists fom_gap_pfp_division_identity_executiontriminput_value_bound. fom_gap_pfp_division_identity_executiontriminput_value_bound + S (fom_value_pfp_division_identity_executiontriminput) = p))) /\ (((forall pfp_repeat_index_division_identity_executiontrimremoved. (exists pfa_gap_division_identity_executiontrimremovedindex. pfa_gap_division_identity_executiontrimremovedindex + S (pfp_repeat_index_division_identity_executiontrimremoved) = (pfd_cut_division_identity_execution)) -> (((exists ff_h_pfp_division_identity_executiontrimremovedentry. ff_h_pfp_division_identity_executiontrimremovedentry + S (0) = S ((S (pfp_repeat_index_division_identity_executiontrimremoved)) * pfd_residual_scale_division_identity_execution)) /\ exists ff_q_pfp_division_identity_executiontrimremovedentry. pfd_residual_code_division_identity_execution = ff_q_pfp_division_identity_executiontrimremovedentry * S ((S (pfp_repeat_index_division_identity_executiontrimremoved)) * pfd_residual_scale_division_identity_execution) + (0)))) /\ (((forall pftrim_index_division_identity_executiontrimsuffix pftrim_value_division_identity_executiontrimsuffix. (exists pfa_gap_division_identity_executiontrimsuffixbound. pfa_gap_division_identity_executiontrimsuffixbound + S (pftrim_index_division_identity_executiontrimsuffix) = (R)) -> (((exists ff_h_pfp_division_identity_executiontrimsuffixsource. ff_h_pfp_division_identity_executiontrimsuffixsource + S (pftrim_value_division_identity_executiontrimsuffix) = S ((S ((pfd_cut_division_identity_execution)+pftrim_index_division_identity_executiontrimsuffix)) * pfd_residual_scale_division_identity_execution)) /\ exists ff_q_pfp_division_identity_executiontrimsuffixsource. pfd_residual_code_division_identity_execution = ff_q_pfp_division_identity_executiontrimsuffixsource * S ((S ((pfd_cut_division_identity_execution)+pftrim_index_division_identity_executiontrimsuffix)) * pfd_residual_scale_division_identity_execution) + (pftrim_value_division_identity_executiontrimsuffix))) -> (((exists ff_h_pfp_division_identity_executiontrimsuffixoutput. ff_h_pfp_division_identity_executiontrimsuffixoutput + S (pftrim_value_division_identity_executiontrimsuffix) = S ((S (pftrim_index_division_identity_executiontrimsuffix)) * rc)) /\ exists ff_q_pfp_division_identity_executiontrimsuffixoutput. rb = ff_q_pfp_division_identity_executiontrimsuffixoutput * S ((S (pftrim_index_division_identity_executiontrimsuffix)) * rc) + (pftrim_value_division_identity_executiontrimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_identity_executiontrimnormal. ((((exists ff_h_pfp_division_identity_executiontrimnormalentry. ff_h_pfp_division_identity_executiontrimnormalentry + S (pftrim_leading_division_identity_executiontrimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_identity_executiontrimnormalentry. rb = ff_q_pfp_division_identity_executiontrimnormalentry * S ((S (0)) * rc) + (pftrim_leading_division_identity_executiontrimnormal))) /\ ((~(pftrim_leading_division_identity_executiontrimnormal=0))))))))))))))))))))))))))))))))) -> (exists pfd_identity_pb_division_identity_result pfd_identity_pc_division_identity_result pfd_identity_ub_division_identity_result pfd_identity_uc_division_identity_result pfd_identity_t_division_identity_result. ((((((q)=0) /\ ((forall pfp_repeat_index_division_identity_resultempty. (exists pfa_gap_division_identity_resultemptyindex. pfa_gap_division_identity_resultemptyindex + S (pfp_repeat_index_division_identity_resultempty) = (L)) -> (((exists ff_h_pfp_division_identity_resultemptyentry. ff_h_pfp_division_identity_resultemptyentry + S (0) = S ((S (pfp_repeat_index_division_identity_resultempty)) * pfd_identity_pc_division_identity_result)) /\ exists ff_q_pfp_division_identity_resultemptyentry. pfd_identity_pb_division_identity_result = ff_q_pfp_division_identity_resultemptyentry * S ((S (pfp_repeat_index_division_identity_resultempty)) * pfd_identity_pc_division_identity_result) + (0))))))) \/ (((~((q)=0)) /\ ((((forall fom_index_pfp_division_identity_resultproductleft. (exists fom_gap_pfp_division_identity_resultproductleft_index_bound. fom_gap_pfp_division_identity_resultproductleft_index_bound + S (fom_index_pfp_division_identity_resultproductleft) = q) -> exists fom_value_pfp_division_identity_resultproductleft. ((((exists fom_beta_height_pfp_division_identity_resultproductleft_entry. fom_beta_height_pfp_division_identity_resultproductleft_entry + S (fom_value_pfp_division_identity_resultproductleft) = S ((S (fom_index_pfp_division_identity_resultproductleft)) * qc)) /\ exists fom_beta_quotient_pfp_division_identity_resultproductleft_entry. qb = fom_beta_quotient_pfp_division_identity_resultproductleft_entry * S ((S (fom_index_pfp_division_identity_resultproductleft)) * qc) + (fom_value_pfp_division_identity_resultproductleft))) /\ (exists fom_gap_pfp_division_identity_resultproductleft_value_bound. fom_gap_pfp_division_identity_resultproductleft_value_bound + S (fom_value_pfp_division_identity_resultproductleft) = p))) /\ (((forall fom_index_pfp_division_identity_resultproductright. (exists fom_gap_pfp_division_identity_resultproductright_index_bound. fom_gap_pfp_division_identity_resultproductright_index_bound + S (fom_index_pfp_division_identity_resultproductright) = S (d)) -> exists fom_value_pfp_division_identity_resultproductright. ((((exists fom_beta_height_pfp_division_identity_resultproductright_entry. fom_beta_height_pfp_division_identity_resultproductright_entry + S (fom_value_pfp_division_identity_resultproductright) = S ((S (fom_index_pfp_division_identity_resultproductright)) * bc)) /\ exists fom_beta_quotient_pfp_division_identity_resultproductright_entry. bb = fom_beta_quotient_pfp_division_identity_resultproductright_entry * S ((S (fom_index_pfp_division_identity_resultproductright)) * bc) + (fom_value_pfp_division_identity_resultproductright))) /\ (exists fom_gap_pfp_division_identity_resultproductright_value_bound. fom_gap_pfp_division_identity_resultproductright_value_bound + S (fom_value_pfp_division_identity_resultproductright) = p))) /\ (((((((q)=0 \/ (S (d))=0) /\ (((L)=0)))) \/ (((~((q)=0)) /\ (((~((S (d))=0)) /\ (((q)+(S (d))=S (L)))))))) /\ ((forall pfc_index_division_identity_resultproductcoefficients. (exists pfa_gap_division_identity_resultproductcoefficientsbound. pfa_gap_division_identity_resultproductcoefficientsbound + S (pfc_index_division_identity_resultproductcoefficients) = (L)) -> exists pfc_value_division_identity_resultproductcoefficients. ((((exists ff_h_pfp_division_identity_resultproductcoefficientsentry. ff_h_pfp_division_identity_resultproductcoefficientsentry + S (pfc_value_division_identity_resultproductcoefficients) = S ((S (pfc_index_division_identity_resultproductcoefficients)) * pfd_identity_pc_division_identity_result)) /\ exists ff_q_pfp_division_identity_resultproductcoefficientsentry. pfd_identity_pb_division_identity_result = ff_q_pfp_division_identity_resultproductcoefficientsentry * S ((S (pfc_index_division_identity_resultproductcoefficients)) * pfd_identity_pc_division_identity_result) + (pfc_value_division_identity_resultproductcoefficients))) /\ ((exists pfc_terms_code_division_identity_resultproductcoefficientscoefficient pfc_terms_scale_division_identity_resultproductcoefficientscoefficient pfc_natural_sum_division_identity_resultproductcoefficientscoefficient. ((forall pfc_index_division_identity_resultproductcoefficientscoefficientdiagonal. (exists pfa_gap_division_identity_resultproductcoefficientscoefficientdiagonalbound. pfa_gap_division_identity_resultproductcoefficientscoefficientdiagonalbound + S (pfc_index_division_identity_resultproductcoefficientscoefficientdiagonal) = (S (pfc_index_division_identity_resultproductcoefficients))) -> exists pfc_value_division_identity_resultproductcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_division_identity_resultproductcoefficientscoefficientdiagonalentry. ff_h_pfp_division_identity_resultproductcoefficientscoefficientdiagonalentry + S (pfc_value_division_identity_resultproductcoefficientscoefficientdiagonal) = S ((S (pfc_index_division_identity_resultproductcoefficientscoefficientdiagonal)) * pfc_terms_scale_division_identity_resultproductcoefficientscoefficient)) /\ exists ff_q_pfp_division_identity_resultproductcoefficientscoefficientdiagonalentry. pfc_terms_code_division_identity_resultproductcoefficientscoefficient = ff_q_pfp_division_identity_resultproductcoefficientscoefficientdiagonalentry * S ((S (pfc_index_division_identity_resultproductcoefficientscoefficientdiagonal)) * pfc_terms_scale_division_identity_resultproductcoefficientscoefficient) + (pfc_value_division_identity_resultproductcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_division_identity_resultproductcoefficientscoefficientdiagonalterm pfc_left_division_identity_resultproductcoefficientscoefficientdiagonalterm pfc_right_division_identity_resultproductcoefficientscoefficientdiagonalterm. (((pfc_index_division_identity_resultproductcoefficientscoefficientdiagonal)+pfc_complement_division_identity_resultproductcoefficientscoefficientdiagonalterm=(pfc_index_division_identity_resultproductcoefficients)) /\ ((((((exists pfa_gap_division_identity_resultproductcoefficientscoefficientdiagonaltermleftinside. pfa_gap_division_identity_resultproductcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_division_identity_resultproductcoefficientscoefficientdiagonal) = (q)) /\ ((((exists ff_h_pfp_division_identity_resultproductcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_division_identity_resultproductcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_division_identity_resultproductcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_division_identity_resultproductcoefficientscoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_identity_resultproductcoefficientscoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_identity_resultproductcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_division_identity_resultproductcoefficientscoefficientdiagonal)) * qc) + (pfc_left_division_identity_resultproductcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_identity_resultproductcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_division_identity_resultproductcoefficientscoefficientdiagonaltermleftoutside+(q)=(pfc_index_division_identity_resultproductcoefficientscoefficientdiagonal)) /\ (((pfc_left_division_identity_resultproductcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_identity_resultproductcoefficientscoefficientdiagonaltermrightinside. pfa_gap_division_identity_resultproductcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_division_identity_resultproductcoefficientscoefficientdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_identity_resultproductcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_division_identity_resultproductcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_division_identity_resultproductcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_division_identity_resultproductcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_identity_resultproductcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_identity_resultproductcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_identity_resultproductcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_division_identity_resultproductcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_identity_resultproductcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_division_identity_resultproductcoefficientscoefficientdiagonaltermrightoutside+(S (d))=(pfc_complement_division_identity_resultproductcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_division_identity_resultproductcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_identity_resultproductcoefficientscoefficientdiagonal)=pfc_left_division_identity_resultproductcoefficientscoefficientdiagonalterm*pfc_right_division_identity_resultproductcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_identity_resultproductcoefficientscoefficientsum fs_v_pfc_division_identity_resultproductcoefficientscoefficientsum. ((((exists fs_h_pfc_division_identity_resultproductcoefficientscoefficientsum_body_start. fs_h_pfc_division_identity_resultproductcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_identity_resultproductcoefficientscoefficientsum)) /\ exists fs_q_pfc_division_identity_resultproductcoefficientscoefficientsum_body_start. fs_u_pfc_division_identity_resultproductcoefficientscoefficientsum = fs_q_pfc_division_identity_resultproductcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_identity_resultproductcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_identity_resultproductcoefficientscoefficientsum_body_terminal. fs_h_pfc_division_identity_resultproductcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_division_identity_resultproductcoefficientscoefficient) = S ((S (S (pfc_index_division_identity_resultproductcoefficients))) * fs_v_pfc_division_identity_resultproductcoefficientscoefficientsum)) /\ exists fs_q_pfc_division_identity_resultproductcoefficientscoefficientsum_body_terminal. fs_u_pfc_division_identity_resultproductcoefficientscoefficientsum = fs_q_pfc_division_identity_resultproductcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_division_identity_resultproductcoefficients))) * fs_v_pfc_division_identity_resultproductcoefficientscoefficientsum) + (pfc_natural_sum_division_identity_resultproductcoefficientscoefficient))) /\ forall fs_i_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps = S (pfc_index_division_identity_resultproductcoefficients)) -> exists fs_a_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps fs_r_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps fs_s_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_division_identity_resultproductcoefficientscoefficient)) /\ exists fs_q_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_division_identity_resultproductcoefficientscoefficient = fs_q_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_division_identity_resultproductcoefficientscoefficient) + (fs_a_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps)) * fs_v_pfc_division_identity_resultproductcoefficientscoefficientsum)) /\ exists fs_q_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_division_identity_resultproductcoefficientscoefficientsum = fs_q_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps)) * fs_v_pfc_division_identity_resultproductcoefficientscoefficientsum) + (fs_r_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps)) * fs_v_pfc_division_identity_resultproductcoefficientscoefficientsum)) /\ exists fs_q_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_division_identity_resultproductcoefficientscoefficientsum = fs_q_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps)) * fs_v_pfc_division_identity_resultproductcoefficientscoefficientsum) + (fs_s_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps = fs_r_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps + fs_a_pfc_division_identity_resultproductcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_identity_resultproductcoefficientscoefficientresiduebound. pfa_gap_division_identity_resultproductcoefficientscoefficientresiduebound + S (pfc_value_division_identity_resultproductcoefficients) = (p)) /\ ((exists pfa_offset_left_division_identity_resultproductcoefficientscoefficientresiduecongruence pfa_offset_right_division_identity_resultproductcoefficientscoefficientresiduecongruence. (pfc_natural_sum_division_identity_resultproductcoefficientscoefficient) + (p) * pfa_offset_left_division_identity_resultproductcoefficientscoefficientresiduecongruence = (pfc_value_division_identity_resultproductcoefficients) + (p) * pfa_offset_right_division_identity_resultproductcoefficientscoefficientresiduecongruence))))))))))))))))))))))) /\ (((forall pfp_index_division_identity_resultaddition. (exists pfa_gap_division_identity_resultadditionindex. pfa_gap_division_identity_resultadditionindex + S (pfp_index_division_identity_resultaddition) = (L)) -> exists pfp_left_division_identity_resultaddition pfp_right_division_identity_resultaddition pfp_value_division_identity_resultaddition. ((((exists ff_h_pfp_division_identity_resultadditionleft. ff_h_pfp_division_identity_resultadditionleft + S (pfp_left_division_identity_resultaddition) = S ((S (pfp_index_division_identity_resultaddition)) * pfd_identity_pc_division_identity_result)) /\ exists ff_q_pfp_division_identity_resultadditionleft. pfd_identity_pb_division_identity_result = ff_q_pfp_division_identity_resultadditionleft * S ((S (pfp_index_division_identity_resultaddition)) * pfd_identity_pc_division_identity_result) + (pfp_left_division_identity_resultaddition))) /\ (((((exists ff_h_pfp_division_identity_resultadditionright. ff_h_pfp_division_identity_resultadditionright + S (pfp_right_division_identity_resultaddition) = S ((S (pfp_index_division_identity_resultaddition)) * pfd_identity_uc_division_identity_result)) /\ exists ff_q_pfp_division_identity_resultadditionright. pfd_identity_ub_division_identity_result = ff_q_pfp_division_identity_resultadditionright * S ((S (pfp_index_division_identity_resultaddition)) * pfd_identity_uc_division_identity_result) + (pfp_right_division_identity_resultaddition))) /\ (((((exists ff_h_pfp_division_identity_resultadditiontarget. ff_h_pfp_division_identity_resultadditiontarget + S (pfp_value_division_identity_resultaddition) = S ((S (pfp_index_division_identity_resultaddition)) * ac)) /\ exists ff_q_pfp_division_identity_resultadditiontarget. ab = ff_q_pfp_division_identity_resultadditiontarget * S ((S (pfp_index_division_identity_resultaddition)) * ac) + (pfp_value_division_identity_resultaddition))) /\ ((((exists pfa_gap_division_identity_resultadditionoperationleft. pfa_gap_division_identity_resultadditionoperationleft + S (pfp_left_division_identity_resultaddition) = (p)) /\ (((exists pfa_gap_division_identity_resultadditionoperationright. pfa_gap_division_identity_resultadditionoperationright + S (pfp_right_division_identity_resultaddition) = (p)) /\ ((((exists pfa_gap_division_identity_resultadditionoperationresultbound. pfa_gap_division_identity_resultadditionoperationresultbound + S (pfp_value_division_identity_resultaddition) = (p)) /\ ((exists pfa_offset_left_division_identity_resultadditionoperationresultcongruence pfa_offset_right_division_identity_resultadditionoperationresultcongruence. ((pfp_left_division_identity_resultaddition) + (pfp_right_division_identity_resultaddition)) + (p) * pfa_offset_left_division_identity_resultadditionoperationresultcongruence = (pfp_value_division_identity_resultaddition) + (p) * pfa_offset_right_division_identity_resultadditionoperationresultcongruence)))))))))))))))) /\ (((((L)=(pfd_identity_t_division_identity_result)+(R)) /\ (((forall fom_index_pfp_division_identity_resultremainderinput. (exists fom_gap_pfp_division_identity_resultremainderinput_index_bound. fom_gap_pfp_division_identity_resultremainderinput_index_bound + S (fom_index_pfp_division_identity_resultremainderinput) = L) -> exists fom_value_pfp_division_identity_resultremainderinput. ((((exists fom_beta_height_pfp_division_identity_resultremainderinput_entry. fom_beta_height_pfp_division_identity_resultremainderinput_entry + S (fom_value_pfp_division_identity_resultremainderinput) = S ((S (fom_index_pfp_division_identity_resultremainderinput)) * pfd_identity_uc_division_identity_result)) /\ exists fom_beta_quotient_pfp_division_identity_resultremainderinput_entry. pfd_identity_ub_division_identity_result = fom_beta_quotient_pfp_division_identity_resultremainderinput_entry * S ((S (fom_index_pfp_division_identity_resultremainderinput)) * pfd_identity_uc_division_identity_result) + (fom_value_pfp_division_identity_resultremainderinput))) /\ (exists fom_gap_pfp_division_identity_resultremainderinput_value_bound. fom_gap_pfp_division_identity_resultremainderinput_value_bound + S (fom_value_pfp_division_identity_resultremainderinput) = p))) /\ (((forall pfp_repeat_index_division_identity_resultremainderremoved. (exists pfa_gap_division_identity_resultremainderremovedindex. pfa_gap_division_identity_resultremainderremovedindex + S (pfp_repeat_index_division_identity_resultremainderremoved) = (pfd_identity_t_division_identity_result)) -> (((exists ff_h_pfp_division_identity_resultremainderremovedentry. ff_h_pfp_division_identity_resultremainderremovedentry + S (0) = S ((S (pfp_repeat_index_division_identity_resultremainderremoved)) * pfd_identity_uc_division_identity_result)) /\ exists ff_q_pfp_division_identity_resultremainderremovedentry. pfd_identity_ub_division_identity_result = ff_q_pfp_division_identity_resultremainderremovedentry * S ((S (pfp_repeat_index_division_identity_resultremainderremoved)) * pfd_identity_uc_division_identity_result) + (0)))) /\ (((forall pftrim_index_division_identity_resultremaindersuffix pftrim_value_division_identity_resultremaindersuffix. (exists pfa_gap_division_identity_resultremaindersuffixbound. pfa_gap_division_identity_resultremaindersuffixbound + S (pftrim_index_division_identity_resultremaindersuffix) = (R)) -> (((exists ff_h_pfp_division_identity_resultremaindersuffixsource. ff_h_pfp_division_identity_resultremaindersuffixsource + S (pftrim_value_division_identity_resultremaindersuffix) = S ((S ((pfd_identity_t_division_identity_result)+pftrim_index_division_identity_resultremaindersuffix)) * pfd_identity_uc_division_identity_result)) /\ exists ff_q_pfp_division_identity_resultremaindersuffixsource. pfd_identity_ub_division_identity_result = ff_q_pfp_division_identity_resultremaindersuffixsource * S ((S ((pfd_identity_t_division_identity_result)+pftrim_index_division_identity_resultremaindersuffix)) * pfd_identity_uc_division_identity_result) + (pftrim_value_division_identity_resultremaindersuffix))) -> (((exists ff_h_pfp_division_identity_resultremaindersuffixoutput. ff_h_pfp_division_identity_resultremaindersuffixoutput + S (pftrim_value_division_identity_resultremaindersuffix) = S ((S (pftrim_index_division_identity_resultremaindersuffix)) * rc)) /\ exists ff_q_pfp_division_identity_resultremaindersuffixoutput. rb = ff_q_pfp_division_identity_resultremaindersuffixoutput * S ((S (pftrim_index_division_identity_resultremaindersuffix)) * rc) + (pftrim_value_division_identity_resultremaindersuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_identity_resultremaindernormal. ((((exists ff_h_pfp_division_identity_resultremaindernormalentry. ff_h_pfp_division_identity_resultremaindernormalentry + S (pftrim_leading_division_identity_resultremaindernormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_identity_resultremaindernormalentry. rb = ff_q_pfp_division_identity_resultremaindernormalentry * S ((S (0)) * rc) + (pftrim_leading_division_identity_resultremaindernormal))) /\ ((~(pftrim_leading_division_identity_resultremaindernormal=0))))))))))))))))))))
intro pintro abintro acintro Lintro bbintro bcintro dintro qbintro qcintro qintro rbintro rcintro Rintro hpintro hcases hcases h_rightcases h_right_rightcases h_right_right_rightcases h_right_right_right_witnesscases h_right_right_right_witness_witnesscases h_right_right_right_witness_witness_witnesscases h_right_right_right_witness_witness_witness_witnesscases h_right_right_right_witness_witness_witness_witness_witnesscases h_right_right_right_witness_witness_witness_witness_witness_witnesscases h_right_right_right_witness_witness_witness_witness_witness_witness_witnesscases h_right_right_right_witness_witness_witness_witness_witness_witness_witness_rightcases h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_rightcases h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_rightcases h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_rightexists x2exists x3exists x4exists x5exists x6splithave hq : q=0 \/ ~(q=0)specialize eq_decidable (q)specialize eq_decidable (0)apply eq_decidablecases hqleftsplitexact hq_leftspecialize prime_field_convolution_prefix_empty_left_zero (p)specialize prime_field_convolution_prefix_empty_left_zero (qb)specialize prime_field_convolution_prefix_empty_left_zero (qc)specialize prime_field_convolution_prefix_empty_left_zero (bb)specialize prime_field_convolution_prefix_empty_left_zero (bc)specialize prime_field_convolution_prefix_empty_left_zero (S d)specialize prime_field_convolution_prefix_empty_left_zero (x2)specialize prime_field_convolution_prefix_empty_left_zero (x3)specialize prime_field_convolution_prefix_empty_left_zero (L)apply prime_field_convolution_prefix_empty_left_zerointro hzspecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hzrewrite hq_left at h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_leftrewrite hq_left at h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_leftexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_leftrightsplitexact hq_rightspecialize prime_field_polynomial_quotient_proper_product (p)specialize prime_field_polynomial_quotient_proper_product (x1)specialize prime_field_polynomial_quotient_proper_product (ab)specialize prime_field_polynomial_quotient_proper_product (ac)specialize prime_field_polynomial_quotient_proper_product (bb)specialize prime_field_polynomial_quotient_proper_product (bc)specialize prime_field_polynomial_quotient_proper_product (d)specialize prime_field_polynomial_quotient_proper_product (qb)specialize prime_field_polynomial_quotient_proper_product (qc)specialize prime_field_polynomial_quotient_proper_product (q)specialize prime_field_polynomial_quotient_proper_product (x2)specialize prime_field_polynomial_quotient_proper_product (x3)specialize prime_field_polynomial_quotient_proper_product (L)apply prime_field_polynomial_quotient_proper_productexact h_right_right_leftexact hq_rightexact h_right_leftexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_leftexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_leftsplitspecialize prime_field_polynomial_subtract_recover_add (p)specialize prime_field_polynomial_subtract_recover_add (ab)specialize prime_field_polynomial_subtract_recover_add (ac)specialize prime_field_polynomial_subtract_recover_add (x2)specialize prime_field_polynomial_subtract_recover_add (x3)specialize prime_field_polynomial_subtract_recover_add (x4)specialize prime_field_polynomial_subtract_recover_add (x5)specialize prime_field_polynomial_subtract_recover_add (L)apply prime_field_polynomial_subtract_recover_addexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_leftexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right
prime_field_polynomial_left_distributive_products_exists · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M. (~(p=0)) -> (forall fom_index_pfp_products_left_fixed_input. (exists fom_gap_pfp_products_left_fixed_input_index_bound. fom_gap_pfp_products_left_fixed_input_index_bound + S (fom_index_pfp_products_left_fixed_input) = M) -> exists fom_value_pfp_products_left_fixed_input. ((((exists fom_beta_height_pfp_products_left_fixed_input_entry. fom_beta_height_pfp_products_left_fixed_input_entry + S (fom_value_pfp_products_left_fixed_input) = S ((S (fom_index_pfp_products_left_fixed_input)) * dc)) /\ exists fom_beta_quotient_pfp_products_left_fixed_input_entry. db = fom_beta_quotient_pfp_products_left_fixed_input_entry * S ((S (fom_index_pfp_products_left_fixed_input)) * dc) + (fom_value_pfp_products_left_fixed_input))) /\ (exists fom_gap_pfp_products_left_fixed_input_value_bound. fom_gap_pfp_products_left_fixed_input_value_bound + S (fom_value_pfp_products_left_fixed_input) = p))) -> (forall pfp_index_products_left_input_addition. (exists pfa_gap_products_left_input_additionindex. pfa_gap_products_left_input_additionindex + S (pfp_index_products_left_input_addition) = (L)) -> exists pfp_left_products_left_input_addition pfp_right_products_left_input_addition pfp_value_products_left_input_addition. ((((exists ff_h_pfp_products_left_input_additionleft. ff_h_pfp_products_left_input_additionleft + S (pfp_left_products_left_input_addition) = S ((S (pfp_index_products_left_input_addition)) * ac)) /\ exists ff_q_pfp_products_left_input_additionleft. ab = ff_q_pfp_products_left_input_additionleft * S ((S (pfp_index_products_left_input_addition)) * ac) + (pfp_left_products_left_input_addition))) /\ (((((exists ff_h_pfp_products_left_input_additionright. ff_h_pfp_products_left_input_additionright + S (pfp_right_products_left_input_addition) = S ((S (pfp_index_products_left_input_addition)) * bc)) /\ exists ff_q_pfp_products_left_input_additionright. bb = ff_q_pfp_products_left_input_additionright * S ((S (pfp_index_products_left_input_addition)) * bc) + (pfp_right_products_left_input_addition))) /\ (((((exists ff_h_pfp_products_left_input_additiontarget. ff_h_pfp_products_left_input_additiontarget + S (pfp_value_products_left_input_addition) = S ((S (pfp_index_products_left_input_addition)) * cc)) /\ exists ff_q_pfp_products_left_input_additiontarget. cb = ff_q_pfp_products_left_input_additiontarget * S ((S (pfp_index_products_left_input_addition)) * cc) + (pfp_value_products_left_input_addition))) /\ ((((exists pfa_gap_products_left_input_additionoperationleft. pfa_gap_products_left_input_additionoperationleft + S (pfp_left_products_left_input_addition) = (p)) /\ (((exists pfa_gap_products_left_input_additionoperationright. pfa_gap_products_left_input_additionoperationright + S (pfp_right_products_left_input_addition) = (p)) /\ ((((exists pfa_gap_products_left_input_additionoperationresultbound. pfa_gap_products_left_input_additionoperationresultbound + S (pfp_value_products_left_input_addition) = (p)) /\ ((exists pfa_offset_left_products_left_input_additionoperationresultcongruence pfa_offset_right_products_left_input_additionoperationresultcongruence. ((pfp_left_products_left_input_addition) + (pfp_right_products_left_input_addition)) + (p) * pfa_offset_left_products_left_input_additionoperationresultcongruence = (pfp_value_products_left_input_addition) + (p) * pfa_offset_right_products_left_input_additionoperationresultcongruence)))))))))))))))) -> (exists N ub uc vb vc wb wc. ((((forall fom_index_pfp_products_left_result_ubleft. (exists fom_gap_pfp_products_left_result_ubleft_index_bound. fom_gap_pfp_products_left_result_ubleft_index_bound + S (fom_index_pfp_products_left_result_ubleft) = M) -> exists fom_value_pfp_products_left_result_ubleft. ((((exists fom_beta_height_pfp_products_left_result_ubleft_entry. fom_beta_height_pfp_products_left_result_ubleft_entry + S (fom_value_pfp_products_left_result_ubleft) = S ((S (fom_index_pfp_products_left_result_ubleft)) * dc)) /\ exists fom_beta_quotient_pfp_products_left_result_ubleft_entry. db = fom_beta_quotient_pfp_products_left_result_ubleft_entry * S ((S (fom_index_pfp_products_left_result_ubleft)) * dc) + (fom_value_pfp_products_left_result_ubleft))) /\ (exists fom_gap_pfp_products_left_result_ubleft_value_bound. fom_gap_pfp_products_left_result_ubleft_value_bound + S (fom_value_pfp_products_left_result_ubleft) = p))) /\ (((forall fom_index_pfp_products_left_result_ubright. (exists fom_gap_pfp_products_left_result_ubright_index_bound. fom_gap_pfp_products_left_result_ubright_index_bound + S (fom_index_pfp_products_left_result_ubright) = L) -> exists fom_value_pfp_products_left_result_ubright. ((((exists fom_beta_height_pfp_products_left_result_ubright_entry. fom_beta_height_pfp_products_left_result_ubright_entry + S (fom_value_pfp_products_left_result_ubright) = S ((S (fom_index_pfp_products_left_result_ubright)) * ac)) /\ exists fom_beta_quotient_pfp_products_left_result_ubright_entry. ab = fom_beta_quotient_pfp_products_left_result_ubright_entry * S ((S (fom_index_pfp_products_left_result_ubright)) * ac) + (fom_value_pfp_products_left_result_ubright))) /\ (exists fom_gap_pfp_products_left_result_ubright_value_bound. fom_gap_pfp_products_left_result_ubright_value_bound + S (fom_value_pfp_products_left_result_ubright) = p))) /\ (((((((M)=0 \/ (L)=0) /\ (((N)=0)))) \/ (((~((M)=0)) /\ (((~((L)=0)) /\ (((M)+(L)=S (N)))))))) /\ ((forall pfc_index_products_left_result_ubcoefficients. (exists pfa_gap_products_left_result_ubcoefficientsbound. pfa_gap_products_left_result_ubcoefficientsbound + S (pfc_index_products_left_result_ubcoefficients) = (N)) -> exists pfc_value_products_left_result_ubcoefficients. ((((exists ff_h_pfp_products_left_result_ubcoefficientsentry. ff_h_pfp_products_left_result_ubcoefficientsentry + S (pfc_value_products_left_result_ubcoefficients) = S ((S (pfc_index_products_left_result_ubcoefficients)) * uc)) /\ exists ff_q_pfp_products_left_result_ubcoefficientsentry. ub = ff_q_pfp_products_left_result_ubcoefficientsentry * S ((S (pfc_index_products_left_result_ubcoefficients)) * uc) + (pfc_value_products_left_result_ubcoefficients))) /\ ((exists pfc_terms_code_products_left_result_ubcoefficientscoefficient pfc_terms_scale_products_left_result_ubcoefficientscoefficient pfc_natural_sum_products_left_result_ubcoefficientscoefficient. ((forall pfc_index_products_left_result_ubcoefficientscoefficientdiagonal. (exists pfa_gap_products_left_result_ubcoefficientscoefficientdiagonalbound. pfa_gap_products_left_result_ubcoefficientscoefficientdiagonalbound + S (pfc_index_products_left_result_ubcoefficientscoefficientdiagonal) = (S (pfc_index_products_left_result_ubcoefficients))) -> exists pfc_value_products_left_result_ubcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_left_result_ubcoefficientscoefficientdiagonalentry. ff_h_pfp_products_left_result_ubcoefficientscoefficientdiagonalentry + S (pfc_value_products_left_result_ubcoefficientscoefficientdiagonal) = S ((S (pfc_index_products_left_result_ubcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_result_ubcoefficientscoefficient)) /\ exists ff_q_pfp_products_left_result_ubcoefficientscoefficientdiagonalentry. pfc_terms_code_products_left_result_ubcoefficientscoefficient = ff_q_pfp_products_left_result_ubcoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_left_result_ubcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_result_ubcoefficientscoefficient) + (pfc_value_products_left_result_ubcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_left_result_ubcoefficientscoefficientdiagonalterm pfc_left_products_left_result_ubcoefficientscoefficientdiagonalterm pfc_right_products_left_result_ubcoefficientscoefficientdiagonalterm. (((pfc_index_products_left_result_ubcoefficientscoefficientdiagonal)+pfc_complement_products_left_result_ubcoefficientscoefficientdiagonalterm=(pfc_index_products_left_result_ubcoefficients)) /\ ((((((exists pfa_gap_products_left_result_ubcoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_left_result_ubcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_left_result_ubcoefficientscoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_products_left_result_ubcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_left_result_ubcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_left_result_ubcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_left_result_ubcoefficientscoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_products_left_result_ubcoefficientscoefficientdiagonaltermleftentry. db = ff_q_pfp_products_left_result_ubcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_left_result_ubcoefficientscoefficientdiagonal)) * dc) + (pfc_left_products_left_result_ubcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_result_ubcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_left_result_ubcoefficientscoefficientdiagonaltermleftoutside+(M)=(pfc_index_products_left_result_ubcoefficientscoefficientdiagonal)) /\ (((pfc_left_products_left_result_ubcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_left_result_ubcoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_left_result_ubcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_left_result_ubcoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_products_left_result_ubcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_left_result_ubcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_left_result_ubcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_left_result_ubcoefficientscoefficientdiagonalterm)) * ac)) /\ exists ff_q_pfp_products_left_result_ubcoefficientscoefficientdiagonaltermrightentry. ab = ff_q_pfp_products_left_result_ubcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_left_result_ubcoefficientscoefficientdiagonalterm)) * ac) + (pfc_right_products_left_result_ubcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_result_ubcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_left_result_ubcoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_products_left_result_ubcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_left_result_ubcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_left_result_ubcoefficientscoefficientdiagonal)=pfc_left_products_left_result_ubcoefficientscoefficientdiagonalterm*pfc_right_products_left_result_ubcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_left_result_ubcoefficientscoefficientsum fs_v_pfc_products_left_result_ubcoefficientscoefficientsum. ((((exists fs_h_pfc_products_left_result_ubcoefficientscoefficientsum_body_start. fs_h_pfc_products_left_result_ubcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_left_result_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_ubcoefficientscoefficientsum_body_start. fs_u_pfc_products_left_result_ubcoefficientscoefficientsum = fs_q_pfc_products_left_result_ubcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_left_result_ubcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_left_result_ubcoefficientscoefficientsum_body_terminal. fs_h_pfc_products_left_result_ubcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_left_result_ubcoefficientscoefficient) = S ((S (S (pfc_index_products_left_result_ubcoefficients))) * fs_v_pfc_products_left_result_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_ubcoefficientscoefficientsum_body_terminal. fs_u_pfc_products_left_result_ubcoefficientscoefficientsum = fs_q_pfc_products_left_result_ubcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_left_result_ubcoefficients))) * fs_v_pfc_products_left_result_ubcoefficientscoefficientsum) + (pfc_natural_sum_products_left_result_ubcoefficientscoefficient))) /\ forall fs_i_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps = S (pfc_index_products_left_result_ubcoefficients)) -> exists fs_a_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps fs_r_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps fs_s_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_result_ubcoefficientscoefficient)) /\ exists fs_q_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_left_result_ubcoefficientscoefficient = fs_q_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_result_ubcoefficientscoefficient) + (fs_a_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_left_result_ubcoefficientscoefficientsum = fs_q_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_ubcoefficientscoefficientsum) + (fs_r_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_left_result_ubcoefficientscoefficientsum = fs_q_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_ubcoefficientscoefficientsum) + (fs_s_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps = fs_r_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps + fs_a_pfc_products_left_result_ubcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_left_result_ubcoefficientscoefficientresiduebound. pfa_gap_products_left_result_ubcoefficientscoefficientresiduebound + S (pfc_value_products_left_result_ubcoefficients) = (p)) /\ ((exists pfa_offset_left_products_left_result_ubcoefficientscoefficientresiduecongruence pfa_offset_right_products_left_result_ubcoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_left_result_ubcoefficientscoefficient) + (p) * pfa_offset_left_products_left_result_ubcoefficientscoefficientresiduecongruence = (pfc_value_products_left_result_ubcoefficients) + (p) * pfa_offset_right_products_left_result_ubcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ (((((forall fom_index_pfp_products_left_result_vbleft. (exists fom_gap_pfp_products_left_result_vbleft_index_bound. fom_gap_pfp_products_left_result_vbleft_index_bound + S (fom_index_pfp_products_left_result_vbleft) = M) -> exists fom_value_pfp_products_left_result_vbleft. ((((exists fom_beta_height_pfp_products_left_result_vbleft_entry. fom_beta_height_pfp_products_left_result_vbleft_entry + S (fom_value_pfp_products_left_result_vbleft) = S ((S (fom_index_pfp_products_left_result_vbleft)) * dc)) /\ exists fom_beta_quotient_pfp_products_left_result_vbleft_entry. db = fom_beta_quotient_pfp_products_left_result_vbleft_entry * S ((S (fom_index_pfp_products_left_result_vbleft)) * dc) + (fom_value_pfp_products_left_result_vbleft))) /\ (exists fom_gap_pfp_products_left_result_vbleft_value_bound. fom_gap_pfp_products_left_result_vbleft_value_bound + S (fom_value_pfp_products_left_result_vbleft) = p))) /\ (((forall fom_index_pfp_products_left_result_vbright. (exists fom_gap_pfp_products_left_result_vbright_index_bound. fom_gap_pfp_products_left_result_vbright_index_bound + S (fom_index_pfp_products_left_result_vbright) = L) -> exists fom_value_pfp_products_left_result_vbright. ((((exists fom_beta_height_pfp_products_left_result_vbright_entry. fom_beta_height_pfp_products_left_result_vbright_entry + S (fom_value_pfp_products_left_result_vbright) = S ((S (fom_index_pfp_products_left_result_vbright)) * bc)) /\ exists fom_beta_quotient_pfp_products_left_result_vbright_entry. bb = fom_beta_quotient_pfp_products_left_result_vbright_entry * S ((S (fom_index_pfp_products_left_result_vbright)) * bc) + (fom_value_pfp_products_left_result_vbright))) /\ (exists fom_gap_pfp_products_left_result_vbright_value_bound. fom_gap_pfp_products_left_result_vbright_value_bound + S (fom_value_pfp_products_left_result_vbright) = p))) /\ (((((((M)=0 \/ (L)=0) /\ (((N)=0)))) \/ (((~((M)=0)) /\ (((~((L)=0)) /\ (((M)+(L)=S (N)))))))) /\ ((forall pfc_index_products_left_result_vbcoefficients. (exists pfa_gap_products_left_result_vbcoefficientsbound. pfa_gap_products_left_result_vbcoefficientsbound + S (pfc_index_products_left_result_vbcoefficients) = (N)) -> exists pfc_value_products_left_result_vbcoefficients. ((((exists ff_h_pfp_products_left_result_vbcoefficientsentry. ff_h_pfp_products_left_result_vbcoefficientsentry + S (pfc_value_products_left_result_vbcoefficients) = S ((S (pfc_index_products_left_result_vbcoefficients)) * vc)) /\ exists ff_q_pfp_products_left_result_vbcoefficientsentry. vb = ff_q_pfp_products_left_result_vbcoefficientsentry * S ((S (pfc_index_products_left_result_vbcoefficients)) * vc) + (pfc_value_products_left_result_vbcoefficients))) /\ ((exists pfc_terms_code_products_left_result_vbcoefficientscoefficient pfc_terms_scale_products_left_result_vbcoefficientscoefficient pfc_natural_sum_products_left_result_vbcoefficientscoefficient. ((forall pfc_index_products_left_result_vbcoefficientscoefficientdiagonal. (exists pfa_gap_products_left_result_vbcoefficientscoefficientdiagonalbound. pfa_gap_products_left_result_vbcoefficientscoefficientdiagonalbound + S (pfc_index_products_left_result_vbcoefficientscoefficientdiagonal) = (S (pfc_index_products_left_result_vbcoefficients))) -> exists pfc_value_products_left_result_vbcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_left_result_vbcoefficientscoefficientdiagonalentry. ff_h_pfp_products_left_result_vbcoefficientscoefficientdiagonalentry + S (pfc_value_products_left_result_vbcoefficientscoefficientdiagonal) = S ((S (pfc_index_products_left_result_vbcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_result_vbcoefficientscoefficient)) /\ exists ff_q_pfp_products_left_result_vbcoefficientscoefficientdiagonalentry. pfc_terms_code_products_left_result_vbcoefficientscoefficient = ff_q_pfp_products_left_result_vbcoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_left_result_vbcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_result_vbcoefficientscoefficient) + (pfc_value_products_left_result_vbcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_left_result_vbcoefficientscoefficientdiagonalterm pfc_left_products_left_result_vbcoefficientscoefficientdiagonalterm pfc_right_products_left_result_vbcoefficientscoefficientdiagonalterm. (((pfc_index_products_left_result_vbcoefficientscoefficientdiagonal)+pfc_complement_products_left_result_vbcoefficientscoefficientdiagonalterm=(pfc_index_products_left_result_vbcoefficients)) /\ ((((((exists pfa_gap_products_left_result_vbcoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_left_result_vbcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_left_result_vbcoefficientscoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_products_left_result_vbcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_left_result_vbcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_left_result_vbcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_left_result_vbcoefficientscoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_products_left_result_vbcoefficientscoefficientdiagonaltermleftentry. db = ff_q_pfp_products_left_result_vbcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_left_result_vbcoefficientscoefficientdiagonal)) * dc) + (pfc_left_products_left_result_vbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_result_vbcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_left_result_vbcoefficientscoefficientdiagonaltermleftoutside+(M)=(pfc_index_products_left_result_vbcoefficientscoefficientdiagonal)) /\ (((pfc_left_products_left_result_vbcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_left_result_vbcoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_left_result_vbcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_left_result_vbcoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_products_left_result_vbcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_left_result_vbcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_left_result_vbcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_left_result_vbcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_products_left_result_vbcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_products_left_result_vbcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_left_result_vbcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_products_left_result_vbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_result_vbcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_left_result_vbcoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_products_left_result_vbcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_left_result_vbcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_left_result_vbcoefficientscoefficientdiagonal)=pfc_left_products_left_result_vbcoefficientscoefficientdiagonalterm*pfc_right_products_left_result_vbcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_left_result_vbcoefficientscoefficientsum fs_v_pfc_products_left_result_vbcoefficientscoefficientsum. ((((exists fs_h_pfc_products_left_result_vbcoefficientscoefficientsum_body_start. fs_h_pfc_products_left_result_vbcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_left_result_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_vbcoefficientscoefficientsum_body_start. fs_u_pfc_products_left_result_vbcoefficientscoefficientsum = fs_q_pfc_products_left_result_vbcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_left_result_vbcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_left_result_vbcoefficientscoefficientsum_body_terminal. fs_h_pfc_products_left_result_vbcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_left_result_vbcoefficientscoefficient) = S ((S (S (pfc_index_products_left_result_vbcoefficients))) * fs_v_pfc_products_left_result_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_vbcoefficientscoefficientsum_body_terminal. fs_u_pfc_products_left_result_vbcoefficientscoefficientsum = fs_q_pfc_products_left_result_vbcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_left_result_vbcoefficients))) * fs_v_pfc_products_left_result_vbcoefficientscoefficientsum) + (pfc_natural_sum_products_left_result_vbcoefficientscoefficient))) /\ forall fs_i_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps = S (pfc_index_products_left_result_vbcoefficients)) -> exists fs_a_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps fs_r_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps fs_s_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_result_vbcoefficientscoefficient)) /\ exists fs_q_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_left_result_vbcoefficientscoefficient = fs_q_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_result_vbcoefficientscoefficient) + (fs_a_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_left_result_vbcoefficientscoefficientsum = fs_q_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_vbcoefficientscoefficientsum) + (fs_r_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_left_result_vbcoefficientscoefficientsum = fs_q_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_vbcoefficientscoefficientsum) + (fs_s_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps = fs_r_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps + fs_a_pfc_products_left_result_vbcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_left_result_vbcoefficientscoefficientresiduebound. pfa_gap_products_left_result_vbcoefficientscoefficientresiduebound + S (pfc_value_products_left_result_vbcoefficients) = (p)) /\ ((exists pfa_offset_left_products_left_result_vbcoefficientscoefficientresiduecongruence pfa_offset_right_products_left_result_vbcoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_left_result_vbcoefficientscoefficient) + (p) * pfa_offset_left_products_left_result_vbcoefficientscoefficientresiduecongruence = (pfc_value_products_left_result_vbcoefficients) + (p) * pfa_offset_right_products_left_result_vbcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ (((((forall fom_index_pfp_products_left_result_wbleft. (exists fom_gap_pfp_products_left_result_wbleft_index_bound. fom_gap_pfp_products_left_result_wbleft_index_bound + S (fom_index_pfp_products_left_result_wbleft) = M) -> exists fom_value_pfp_products_left_result_wbleft. ((((exists fom_beta_height_pfp_products_left_result_wbleft_entry. fom_beta_height_pfp_products_left_result_wbleft_entry + S (fom_value_pfp_products_left_result_wbleft) = S ((S (fom_index_pfp_products_left_result_wbleft)) * dc)) /\ exists fom_beta_quotient_pfp_products_left_result_wbleft_entry. db = fom_beta_quotient_pfp_products_left_result_wbleft_entry * S ((S (fom_index_pfp_products_left_result_wbleft)) * dc) + (fom_value_pfp_products_left_result_wbleft))) /\ (exists fom_gap_pfp_products_left_result_wbleft_value_bound. fom_gap_pfp_products_left_result_wbleft_value_bound + S (fom_value_pfp_products_left_result_wbleft) = p))) /\ (((forall fom_index_pfp_products_left_result_wbright. (exists fom_gap_pfp_products_left_result_wbright_index_bound. fom_gap_pfp_products_left_result_wbright_index_bound + S (fom_index_pfp_products_left_result_wbright) = L) -> exists fom_value_pfp_products_left_result_wbright. ((((exists fom_beta_height_pfp_products_left_result_wbright_entry. fom_beta_height_pfp_products_left_result_wbright_entry + S (fom_value_pfp_products_left_result_wbright) = S ((S (fom_index_pfp_products_left_result_wbright)) * cc)) /\ exists fom_beta_quotient_pfp_products_left_result_wbright_entry. cb = fom_beta_quotient_pfp_products_left_result_wbright_entry * S ((S (fom_index_pfp_products_left_result_wbright)) * cc) + (fom_value_pfp_products_left_result_wbright))) /\ (exists fom_gap_pfp_products_left_result_wbright_value_bound. fom_gap_pfp_products_left_result_wbright_value_bound + S (fom_value_pfp_products_left_result_wbright) = p))) /\ (((((((M)=0 \/ (L)=0) /\ (((N)=0)))) \/ (((~((M)=0)) /\ (((~((L)=0)) /\ (((M)+(L)=S (N)))))))) /\ ((forall pfc_index_products_left_result_wbcoefficients. (exists pfa_gap_products_left_result_wbcoefficientsbound. pfa_gap_products_left_result_wbcoefficientsbound + S (pfc_index_products_left_result_wbcoefficients) = (N)) -> exists pfc_value_products_left_result_wbcoefficients. ((((exists ff_h_pfp_products_left_result_wbcoefficientsentry. ff_h_pfp_products_left_result_wbcoefficientsentry + S (pfc_value_products_left_result_wbcoefficients) = S ((S (pfc_index_products_left_result_wbcoefficients)) * wc)) /\ exists ff_q_pfp_products_left_result_wbcoefficientsentry. wb = ff_q_pfp_products_left_result_wbcoefficientsentry * S ((S (pfc_index_products_left_result_wbcoefficients)) * wc) + (pfc_value_products_left_result_wbcoefficients))) /\ ((exists pfc_terms_code_products_left_result_wbcoefficientscoefficient pfc_terms_scale_products_left_result_wbcoefficientscoefficient pfc_natural_sum_products_left_result_wbcoefficientscoefficient. ((forall pfc_index_products_left_result_wbcoefficientscoefficientdiagonal. (exists pfa_gap_products_left_result_wbcoefficientscoefficientdiagonalbound. pfa_gap_products_left_result_wbcoefficientscoefficientdiagonalbound + S (pfc_index_products_left_result_wbcoefficientscoefficientdiagonal) = (S (pfc_index_products_left_result_wbcoefficients))) -> exists pfc_value_products_left_result_wbcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_left_result_wbcoefficientscoefficientdiagonalentry. ff_h_pfp_products_left_result_wbcoefficientscoefficientdiagonalentry + S (pfc_value_products_left_result_wbcoefficientscoefficientdiagonal) = S ((S (pfc_index_products_left_result_wbcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_result_wbcoefficientscoefficient)) /\ exists ff_q_pfp_products_left_result_wbcoefficientscoefficientdiagonalentry. pfc_terms_code_products_left_result_wbcoefficientscoefficient = ff_q_pfp_products_left_result_wbcoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_left_result_wbcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_result_wbcoefficientscoefficient) + (pfc_value_products_left_result_wbcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_left_result_wbcoefficientscoefficientdiagonalterm pfc_left_products_left_result_wbcoefficientscoefficientdiagonalterm pfc_right_products_left_result_wbcoefficientscoefficientdiagonalterm. (((pfc_index_products_left_result_wbcoefficientscoefficientdiagonal)+pfc_complement_products_left_result_wbcoefficientscoefficientdiagonalterm=(pfc_index_products_left_result_wbcoefficients)) /\ ((((((exists pfa_gap_products_left_result_wbcoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_left_result_wbcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_left_result_wbcoefficientscoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_products_left_result_wbcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_left_result_wbcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_left_result_wbcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_left_result_wbcoefficientscoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_products_left_result_wbcoefficientscoefficientdiagonaltermleftentry. db = ff_q_pfp_products_left_result_wbcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_left_result_wbcoefficientscoefficientdiagonal)) * dc) + (pfc_left_products_left_result_wbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_result_wbcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_left_result_wbcoefficientscoefficientdiagonaltermleftoutside+(M)=(pfc_index_products_left_result_wbcoefficientscoefficientdiagonal)) /\ (((pfc_left_products_left_result_wbcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_left_result_wbcoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_left_result_wbcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_left_result_wbcoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_products_left_result_wbcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_left_result_wbcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_left_result_wbcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_left_result_wbcoefficientscoefficientdiagonalterm)) * cc)) /\ exists ff_q_pfp_products_left_result_wbcoefficientscoefficientdiagonaltermrightentry. cb = ff_q_pfp_products_left_result_wbcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_left_result_wbcoefficientscoefficientdiagonalterm)) * cc) + (pfc_right_products_left_result_wbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_result_wbcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_left_result_wbcoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_products_left_result_wbcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_left_result_wbcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_left_result_wbcoefficientscoefficientdiagonal)=pfc_left_products_left_result_wbcoefficientscoefficientdiagonalterm*pfc_right_products_left_result_wbcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_left_result_wbcoefficientscoefficientsum fs_v_pfc_products_left_result_wbcoefficientscoefficientsum. ((((exists fs_h_pfc_products_left_result_wbcoefficientscoefficientsum_body_start. fs_h_pfc_products_left_result_wbcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_left_result_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_wbcoefficientscoefficientsum_body_start. fs_u_pfc_products_left_result_wbcoefficientscoefficientsum = fs_q_pfc_products_left_result_wbcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_left_result_wbcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_left_result_wbcoefficientscoefficientsum_body_terminal. fs_h_pfc_products_left_result_wbcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_left_result_wbcoefficientscoefficient) = S ((S (S (pfc_index_products_left_result_wbcoefficients))) * fs_v_pfc_products_left_result_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_wbcoefficientscoefficientsum_body_terminal. fs_u_pfc_products_left_result_wbcoefficientscoefficientsum = fs_q_pfc_products_left_result_wbcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_left_result_wbcoefficients))) * fs_v_pfc_products_left_result_wbcoefficientscoefficientsum) + (pfc_natural_sum_products_left_result_wbcoefficientscoefficient))) /\ forall fs_i_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps = S (pfc_index_products_left_result_wbcoefficients)) -> exists fs_a_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps fs_r_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps fs_s_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_result_wbcoefficientscoefficient)) /\ exists fs_q_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_left_result_wbcoefficientscoefficient = fs_q_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_result_wbcoefficientscoefficient) + (fs_a_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_left_result_wbcoefficientscoefficientsum = fs_q_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_wbcoefficientscoefficientsum) + (fs_r_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_left_result_wbcoefficientscoefficientsum = fs_q_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_result_wbcoefficientscoefficientsum) + (fs_s_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps = fs_r_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps + fs_a_pfc_products_left_result_wbcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_left_result_wbcoefficientscoefficientresiduebound. pfa_gap_products_left_result_wbcoefficientscoefficientresiduebound + S (pfc_value_products_left_result_wbcoefficients) = (p)) /\ ((exists pfa_offset_left_products_left_result_wbcoefficientscoefficientresiduecongruence pfa_offset_right_products_left_result_wbcoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_left_result_wbcoefficientscoefficient) + (p) * pfa_offset_left_products_left_result_wbcoefficientscoefficientresiduecongruence = (pfc_value_products_left_result_wbcoefficients) + (p) * pfa_offset_right_products_left_result_wbcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfp_index_products_left_addition. (exists pfa_gap_products_left_additionindex. pfa_gap_products_left_additionindex + S (pfp_index_products_left_addition) = (N)) -> exists pfp_left_products_left_addition pfp_right_products_left_addition pfp_value_products_left_addition. ((((exists ff_h_pfp_products_left_additionleft. ff_h_pfp_products_left_additionleft + S (pfp_left_products_left_addition) = S ((S (pfp_index_products_left_addition)) * uc)) /\ exists ff_q_pfp_products_left_additionleft. ub = ff_q_pfp_products_left_additionleft * S ((S (pfp_index_products_left_addition)) * uc) + (pfp_left_products_left_addition))) /\ (((((exists ff_h_pfp_products_left_additionright. ff_h_pfp_products_left_additionright + S (pfp_right_products_left_addition) = S ((S (pfp_index_products_left_addition)) * vc)) /\ exists ff_q_pfp_products_left_additionright. vb = ff_q_pfp_products_left_additionright * S ((S (pfp_index_products_left_addition)) * vc) + (pfp_right_products_left_addition))) /\ (((((exists ff_h_pfp_products_left_additiontarget. ff_h_pfp_products_left_additiontarget + S (pfp_value_products_left_addition) = S ((S (pfp_index_products_left_addition)) * wc)) /\ exists ff_q_pfp_products_left_additiontarget. wb = ff_q_pfp_products_left_additiontarget * S ((S (pfp_index_products_left_addition)) * wc) + (pfp_value_products_left_addition))) /\ ((((exists pfa_gap_products_left_additionoperationleft. pfa_gap_products_left_additionoperationleft + S (pfp_left_products_left_addition) = (p)) /\ (((exists pfa_gap_products_left_additionoperationright. pfa_gap_products_left_additionoperationright + S (pfp_right_products_left_addition) = (p)) /\ ((((exists pfa_gap_products_left_additionoperationresultbound. pfa_gap_products_left_additionoperationresultbound + S (pfp_value_products_left_addition) = (p)) /\ ((exists pfa_offset_left_products_left_additionoperationresultcongruence pfa_offset_right_products_left_additionoperationresultcongruence. ((pfp_left_products_left_addition) + (pfp_right_products_left_addition)) + (p) * pfa_offset_left_products_left_additionoperationresultcongruence = (pfp_value_products_left_addition) + (p) * pfa_offset_right_products_left_additionoperationresultcongruence)))))))))))))))))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro hpintro hdintro hshave hlength : exists N. ((((M)=0 \/ (L)=0) /\ (((N)=0)))) \/ (((~((M)=0)) /\ (((~((L)=0)) /\ (((M)+(L)=S (N)))))))specialize polynomial_product_length_exists (M)specialize polynomial_product_length_exists (L)apply polynomial_product_length_existscases hlengthhave hbounds : ((forall fom_index_pfp_products_left_bounded_ab. (exists fom_gap_pfp_products_left_bounded_ab_index_bound. fom_gap_pfp_products_left_bounded_ab_index_bound + S (fom_index_pfp_products_left_bounded_ab) = L) -> exists fom_value_pfp_products_left_bounded_ab. ((((exists fom_beta_height_pfp_products_left_bounded_ab_entry. fom_beta_height_pfp_products_left_bounded_ab_entry + S (fom_value_pfp_products_left_bounded_ab) = S ((S (fom_index_pfp_products_left_bounded_ab)) * ac)) /\ exists fom_beta_quotient_pfp_products_left_bounded_ab_entry. ab = fom_beta_quotient_pfp_products_left_bounded_ab_entry * S ((S (fom_index_pfp_products_left_bounded_ab)) * ac) + (fom_value_pfp_products_left_bounded_ab))) /\ (exists fom_gap_pfp_products_left_bounded_ab_value_bound. fom_gap_pfp_products_left_bounded_ab_value_bound + S (fom_value_pfp_products_left_bounded_ab) = p))) /\ (((forall fom_index_pfp_products_left_bounded_bb. (exists fom_gap_pfp_products_left_bounded_bb_index_bound. fom_gap_pfp_products_left_bounded_bb_index_bound + S (fom_index_pfp_products_left_bounded_bb) = L) -> exists fom_value_pfp_products_left_bounded_bb. ((((exists fom_beta_height_pfp_products_left_bounded_bb_entry. fom_beta_height_pfp_products_left_bounded_bb_entry + S (fom_value_pfp_products_left_bounded_bb) = S ((S (fom_index_pfp_products_left_bounded_bb)) * bc)) /\ exists fom_beta_quotient_pfp_products_left_bounded_bb_entry. bb = fom_beta_quotient_pfp_products_left_bounded_bb_entry * S ((S (fom_index_pfp_products_left_bounded_bb)) * bc) + (fom_value_pfp_products_left_bounded_bb))) /\ (exists fom_gap_pfp_products_left_bounded_bb_value_bound. fom_gap_pfp_products_left_bounded_bb_value_bound + S (fom_value_pfp_products_left_bounded_bb) = p))) /\ ((forall fom_index_pfp_products_left_bounded_cb. (exists fom_gap_pfp_products_left_bounded_cb_index_bound. fom_gap_pfp_products_left_bounded_cb_index_bound + S (fom_index_pfp_products_left_bounded_cb) = L) -> exists fom_value_pfp_products_left_bounded_cb. ((((exists fom_beta_height_pfp_products_left_bounded_cb_entry. fom_beta_height_pfp_products_left_bounded_cb_entry + S (fom_value_pfp_products_left_bounded_cb) = S ((S (fom_index_pfp_products_left_bounded_cb)) * cc)) /\ exists fom_beta_quotient_pfp_products_left_bounded_cb_entry. cb = fom_beta_quotient_pfp_products_left_bounded_cb_entry * S ((S (fom_index_pfp_products_left_bounded_cb)) * cc) + (fom_value_pfp_products_left_bounded_cb))) /\ (exists fom_gap_pfp_products_left_bounded_cb_value_bound. fom_gap_pfp_products_left_bounded_cb_value_bound + S (fom_value_pfp_products_left_bounded_cb) = p)))))))specialize prime_field_polynomial_add_bounded (p)specialize prime_field_polynomial_add_bounded (ab)specialize prime_field_polynomial_add_bounded (ac)specialize prime_field_polynomial_add_bounded (bb)specialize prime_field_polynomial_add_bounded (bc)specialize prime_field_polynomial_add_bounded (cb)specialize prime_field_polynomial_add_bounded (cc)specialize prime_field_polynomial_add_bounded (L)apply prime_field_polynomial_add_boundedexact hscases hboundscases hbounds_righthave hu : exists ub uc. ((forall fom_index_pfp_products_left_huleft. (exists fom_gap_pfp_products_left_huleft_index_bound. fom_gap_pfp_products_left_huleft_index_bound + S (fom_index_pfp_products_left_huleft) = M) -> exists fom_value_pfp_products_left_huleft. ((((exists fom_beta_height_pfp_products_left_huleft_entry. fom_beta_height_pfp_products_left_huleft_entry + S (fom_value_pfp_products_left_huleft) = S ((S (fom_index_pfp_products_left_huleft)) * dc)) /\ exists fom_beta_quotient_pfp_products_left_huleft_entry. db = fom_beta_quotient_pfp_products_left_huleft_entry * S ((S (fom_index_pfp_products_left_huleft)) * dc) + (fom_value_pfp_products_left_huleft))) /\ (exists fom_gap_pfp_products_left_huleft_value_bound. fom_gap_pfp_products_left_huleft_value_bound + S (fom_value_pfp_products_left_huleft) = p))) /\ (((forall fom_index_pfp_products_left_huright. (exists fom_gap_pfp_products_left_huright_index_bound. fom_gap_pfp_products_left_huright_index_bound + S (fom_index_pfp_products_left_huright) = L) -> exists fom_value_pfp_products_left_huright. ((((exists fom_beta_height_pfp_products_left_huright_entry. fom_beta_height_pfp_products_left_huright_entry + S (fom_value_pfp_products_left_huright) = S ((S (fom_index_pfp_products_left_huright)) * ac)) /\ exists fom_beta_quotient_pfp_products_left_huright_entry. ab = fom_beta_quotient_pfp_products_left_huright_entry * S ((S (fom_index_pfp_products_left_huright)) * ac) + (fom_value_pfp_products_left_huright))) /\ (exists fom_gap_pfp_products_left_huright_value_bound. fom_gap_pfp_products_left_huright_value_bound + S (fom_value_pfp_products_left_huright) = p))) /\ (((((((M)=0 \/ (L)=0) /\ (((x)=0)))) \/ (((~((M)=0)) /\ (((~((L)=0)) /\ (((M)+(L)=S (x)))))))) /\ ((forall pfc_index_products_left_hucoefficients. (exists pfa_gap_products_left_hucoefficientsbound. pfa_gap_products_left_hucoefficientsbound + S (pfc_index_products_left_hucoefficients) = (x)) -> exists pfc_value_products_left_hucoefficients. ((((exists ff_h_pfp_products_left_hucoefficientsentry. ff_h_pfp_products_left_hucoefficientsentry + S (pfc_value_products_left_hucoefficients) = S ((S (pfc_index_products_left_hucoefficients)) * uc)) /\ exists ff_q_pfp_products_left_hucoefficientsentry. ub = ff_q_pfp_products_left_hucoefficientsentry * S ((S (pfc_index_products_left_hucoefficients)) * uc) + (pfc_value_products_left_hucoefficients))) /\ ((exists pfc_terms_code_products_left_hucoefficientscoefficient pfc_terms_scale_products_left_hucoefficientscoefficient pfc_natural_sum_products_left_hucoefficientscoefficient. ((forall pfc_index_products_left_hucoefficientscoefficientdiagonal. (exists pfa_gap_products_left_hucoefficientscoefficientdiagonalbound. pfa_gap_products_left_hucoefficientscoefficientdiagonalbound + S (pfc_index_products_left_hucoefficientscoefficientdiagonal) = (S (pfc_index_products_left_hucoefficients))) -> exists pfc_value_products_left_hucoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_left_hucoefficientscoefficientdiagonalentry. ff_h_pfp_products_left_hucoefficientscoefficientdiagonalentry + S (pfc_value_products_left_hucoefficientscoefficientdiagonal) = S ((S (pfc_index_products_left_hucoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_hucoefficientscoefficient)) /\ exists ff_q_pfp_products_left_hucoefficientscoefficientdiagonalentry. pfc_terms_code_products_left_hucoefficientscoefficient = ff_q_pfp_products_left_hucoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_left_hucoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_hucoefficientscoefficient) + (pfc_value_products_left_hucoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_left_hucoefficientscoefficientdiagonalterm pfc_left_products_left_hucoefficientscoefficientdiagonalterm pfc_right_products_left_hucoefficientscoefficientdiagonalterm. (((pfc_index_products_left_hucoefficientscoefficientdiagonal)+pfc_complement_products_left_hucoefficientscoefficientdiagonalterm=(pfc_index_products_left_hucoefficients)) /\ ((((((exists pfa_gap_products_left_hucoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_left_hucoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_left_hucoefficientscoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_products_left_hucoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_left_hucoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_left_hucoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_left_hucoefficientscoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_products_left_hucoefficientscoefficientdiagonaltermleftentry. db = ff_q_pfp_products_left_hucoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_left_hucoefficientscoefficientdiagonal)) * dc) + (pfc_left_products_left_hucoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_hucoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_left_hucoefficientscoefficientdiagonaltermleftoutside+(M)=(pfc_index_products_left_hucoefficientscoefficientdiagonal)) /\ (((pfc_left_products_left_hucoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_left_hucoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_left_hucoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_left_hucoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_products_left_hucoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_left_hucoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_left_hucoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_left_hucoefficientscoefficientdiagonalterm)) * ac)) /\ exists ff_q_pfp_products_left_hucoefficientscoefficientdiagonaltermrightentry. ab = ff_q_pfp_products_left_hucoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_left_hucoefficientscoefficientdiagonalterm)) * ac) + (pfc_right_products_left_hucoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_hucoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_left_hucoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_products_left_hucoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_left_hucoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_left_hucoefficientscoefficientdiagonal)=pfc_left_products_left_hucoefficientscoefficientdiagonalterm*pfc_right_products_left_hucoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_left_hucoefficientscoefficientsum fs_v_pfc_products_left_hucoefficientscoefficientsum. ((((exists fs_h_pfc_products_left_hucoefficientscoefficientsum_body_start. fs_h_pfc_products_left_hucoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_left_hucoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hucoefficientscoefficientsum_body_start. fs_u_pfc_products_left_hucoefficientscoefficientsum = fs_q_pfc_products_left_hucoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_left_hucoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_left_hucoefficientscoefficientsum_body_terminal. fs_h_pfc_products_left_hucoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_left_hucoefficientscoefficient) = S ((S (S (pfc_index_products_left_hucoefficients))) * fs_v_pfc_products_left_hucoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hucoefficientscoefficientsum_body_terminal. fs_u_pfc_products_left_hucoefficientscoefficientsum = fs_q_pfc_products_left_hucoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_left_hucoefficients))) * fs_v_pfc_products_left_hucoefficientscoefficientsum) + (pfc_natural_sum_products_left_hucoefficientscoefficient))) /\ forall fs_i_pfc_products_left_hucoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_left_hucoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_left_hucoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_left_hucoefficientscoefficientsum_body_steps = S (pfc_index_products_left_hucoefficients)) -> exists fs_a_pfc_products_left_hucoefficientscoefficientsum_body_steps fs_r_pfc_products_left_hucoefficientscoefficientsum_body_steps fs_s_pfc_products_left_hucoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_left_hucoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_left_hucoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_left_hucoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_hucoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_hucoefficientscoefficient)) /\ exists fs_q_pfc_products_left_hucoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_left_hucoefficientscoefficient = fs_q_pfc_products_left_hucoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_left_hucoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_hucoefficientscoefficient) + (fs_a_pfc_products_left_hucoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_hucoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_left_hucoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_left_hucoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_hucoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hucoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hucoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_left_hucoefficientscoefficientsum = fs_q_pfc_products_left_hucoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_left_hucoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hucoefficientscoefficientsum) + (fs_r_pfc_products_left_hucoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_hucoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_left_hucoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_left_hucoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_left_hucoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hucoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hucoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_left_hucoefficientscoefficientsum = fs_q_pfc_products_left_hucoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_left_hucoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hucoefficientscoefficientsum) + (fs_s_pfc_products_left_hucoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_left_hucoefficientscoefficientsum_body_steps = fs_r_pfc_products_left_hucoefficientscoefficientsum_body_steps + fs_a_pfc_products_left_hucoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_left_hucoefficientscoefficientresiduebound. pfa_gap_products_left_hucoefficientscoefficientresiduebound + S (pfc_value_products_left_hucoefficients) = (p)) /\ ((exists pfa_offset_left_products_left_hucoefficientscoefficientresiduecongruence pfa_offset_right_products_left_hucoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_left_hucoefficientscoefficient) + (p) * pfa_offset_left_products_left_hucoefficientscoefficientresiduecongruence = (pfc_value_products_left_hucoefficients) + (p) * pfa_offset_right_products_left_hucoefficientscoefficientresiduecongruence))))))))))))))))))specialize prime_field_polynomial_convolution_at_length_exists (p)specialize prime_field_polynomial_convolution_at_length_exists (db)specialize prime_field_polynomial_convolution_at_length_exists (dc)specialize prime_field_polynomial_convolution_at_length_exists (M)specialize prime_field_polynomial_convolution_at_length_exists (ab)specialize prime_field_polynomial_convolution_at_length_exists (ac)specialize prime_field_polynomial_convolution_at_length_exists (L)specialize prime_field_polynomial_convolution_at_length_exists (x)apply prime_field_polynomial_convolution_at_length_existsexact hpexact hdexact hbounds_leftexact hlength_witnesscases hucases hu_witnesshave hv : exists ub uc. ((forall fom_index_pfp_products_left_hvleft. (exists fom_gap_pfp_products_left_hvleft_index_bound. fom_gap_pfp_products_left_hvleft_index_bound + S (fom_index_pfp_products_left_hvleft) = M) -> exists fom_value_pfp_products_left_hvleft. ((((exists fom_beta_height_pfp_products_left_hvleft_entry. fom_beta_height_pfp_products_left_hvleft_entry + S (fom_value_pfp_products_left_hvleft) = S ((S (fom_index_pfp_products_left_hvleft)) * dc)) /\ exists fom_beta_quotient_pfp_products_left_hvleft_entry. db = fom_beta_quotient_pfp_products_left_hvleft_entry * S ((S (fom_index_pfp_products_left_hvleft)) * dc) + (fom_value_pfp_products_left_hvleft))) /\ (exists fom_gap_pfp_products_left_hvleft_value_bound. fom_gap_pfp_products_left_hvleft_value_bound + S (fom_value_pfp_products_left_hvleft) = p))) /\ (((forall fom_index_pfp_products_left_hvright. (exists fom_gap_pfp_products_left_hvright_index_bound. fom_gap_pfp_products_left_hvright_index_bound + S (fom_index_pfp_products_left_hvright) = L) -> exists fom_value_pfp_products_left_hvright. ((((exists fom_beta_height_pfp_products_left_hvright_entry. fom_beta_height_pfp_products_left_hvright_entry + S (fom_value_pfp_products_left_hvright) = S ((S (fom_index_pfp_products_left_hvright)) * bc)) /\ exists fom_beta_quotient_pfp_products_left_hvright_entry. bb = fom_beta_quotient_pfp_products_left_hvright_entry * S ((S (fom_index_pfp_products_left_hvright)) * bc) + (fom_value_pfp_products_left_hvright))) /\ (exists fom_gap_pfp_products_left_hvright_value_bound. fom_gap_pfp_products_left_hvright_value_bound + S (fom_value_pfp_products_left_hvright) = p))) /\ (((((((M)=0 \/ (L)=0) /\ (((x)=0)))) \/ (((~((M)=0)) /\ (((~((L)=0)) /\ (((M)+(L)=S (x)))))))) /\ ((forall pfc_index_products_left_hvcoefficients. (exists pfa_gap_products_left_hvcoefficientsbound. pfa_gap_products_left_hvcoefficientsbound + S (pfc_index_products_left_hvcoefficients) = (x)) -> exists pfc_value_products_left_hvcoefficients. ((((exists ff_h_pfp_products_left_hvcoefficientsentry. ff_h_pfp_products_left_hvcoefficientsentry + S (pfc_value_products_left_hvcoefficients) = S ((S (pfc_index_products_left_hvcoefficients)) * uc)) /\ exists ff_q_pfp_products_left_hvcoefficientsentry. ub = ff_q_pfp_products_left_hvcoefficientsentry * S ((S (pfc_index_products_left_hvcoefficients)) * uc) + (pfc_value_products_left_hvcoefficients))) /\ ((exists pfc_terms_code_products_left_hvcoefficientscoefficient pfc_terms_scale_products_left_hvcoefficientscoefficient pfc_natural_sum_products_left_hvcoefficientscoefficient. ((forall pfc_index_products_left_hvcoefficientscoefficientdiagonal. (exists pfa_gap_products_left_hvcoefficientscoefficientdiagonalbound. pfa_gap_products_left_hvcoefficientscoefficientdiagonalbound + S (pfc_index_products_left_hvcoefficientscoefficientdiagonal) = (S (pfc_index_products_left_hvcoefficients))) -> exists pfc_value_products_left_hvcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_left_hvcoefficientscoefficientdiagonalentry. ff_h_pfp_products_left_hvcoefficientscoefficientdiagonalentry + S (pfc_value_products_left_hvcoefficientscoefficientdiagonal) = S ((S (pfc_index_products_left_hvcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_hvcoefficientscoefficient)) /\ exists ff_q_pfp_products_left_hvcoefficientscoefficientdiagonalentry. pfc_terms_code_products_left_hvcoefficientscoefficient = ff_q_pfp_products_left_hvcoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_left_hvcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_hvcoefficientscoefficient) + (pfc_value_products_left_hvcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_left_hvcoefficientscoefficientdiagonalterm pfc_left_products_left_hvcoefficientscoefficientdiagonalterm pfc_right_products_left_hvcoefficientscoefficientdiagonalterm. (((pfc_index_products_left_hvcoefficientscoefficientdiagonal)+pfc_complement_products_left_hvcoefficientscoefficientdiagonalterm=(pfc_index_products_left_hvcoefficients)) /\ ((((((exists pfa_gap_products_left_hvcoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_left_hvcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_left_hvcoefficientscoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_products_left_hvcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_left_hvcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_left_hvcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_left_hvcoefficientscoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_products_left_hvcoefficientscoefficientdiagonaltermleftentry. db = ff_q_pfp_products_left_hvcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_left_hvcoefficientscoefficientdiagonal)) * dc) + (pfc_left_products_left_hvcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_hvcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_left_hvcoefficientscoefficientdiagonaltermleftoutside+(M)=(pfc_index_products_left_hvcoefficientscoefficientdiagonal)) /\ (((pfc_left_products_left_hvcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_left_hvcoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_left_hvcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_left_hvcoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_products_left_hvcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_left_hvcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_left_hvcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_left_hvcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_products_left_hvcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_products_left_hvcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_left_hvcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_products_left_hvcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_hvcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_left_hvcoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_products_left_hvcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_left_hvcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_left_hvcoefficientscoefficientdiagonal)=pfc_left_products_left_hvcoefficientscoefficientdiagonalterm*pfc_right_products_left_hvcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_left_hvcoefficientscoefficientsum fs_v_pfc_products_left_hvcoefficientscoefficientsum. ((((exists fs_h_pfc_products_left_hvcoefficientscoefficientsum_body_start. fs_h_pfc_products_left_hvcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_left_hvcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hvcoefficientscoefficientsum_body_start. fs_u_pfc_products_left_hvcoefficientscoefficientsum = fs_q_pfc_products_left_hvcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_left_hvcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_left_hvcoefficientscoefficientsum_body_terminal. fs_h_pfc_products_left_hvcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_left_hvcoefficientscoefficient) = S ((S (S (pfc_index_products_left_hvcoefficients))) * fs_v_pfc_products_left_hvcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hvcoefficientscoefficientsum_body_terminal. fs_u_pfc_products_left_hvcoefficientscoefficientsum = fs_q_pfc_products_left_hvcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_left_hvcoefficients))) * fs_v_pfc_products_left_hvcoefficientscoefficientsum) + (pfc_natural_sum_products_left_hvcoefficientscoefficient))) /\ forall fs_i_pfc_products_left_hvcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_left_hvcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_left_hvcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_left_hvcoefficientscoefficientsum_body_steps = S (pfc_index_products_left_hvcoefficients)) -> exists fs_a_pfc_products_left_hvcoefficientscoefficientsum_body_steps fs_r_pfc_products_left_hvcoefficientscoefficientsum_body_steps fs_s_pfc_products_left_hvcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_left_hvcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_left_hvcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_left_hvcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_hvcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_hvcoefficientscoefficient)) /\ exists fs_q_pfc_products_left_hvcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_left_hvcoefficientscoefficient = fs_q_pfc_products_left_hvcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_left_hvcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_hvcoefficientscoefficient) + (fs_a_pfc_products_left_hvcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_hvcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_left_hvcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_left_hvcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_hvcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hvcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hvcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_left_hvcoefficientscoefficientsum = fs_q_pfc_products_left_hvcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_left_hvcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hvcoefficientscoefficientsum) + (fs_r_pfc_products_left_hvcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_hvcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_left_hvcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_left_hvcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_left_hvcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hvcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hvcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_left_hvcoefficientscoefficientsum = fs_q_pfc_products_left_hvcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_left_hvcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hvcoefficientscoefficientsum) + (fs_s_pfc_products_left_hvcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_left_hvcoefficientscoefficientsum_body_steps = fs_r_pfc_products_left_hvcoefficientscoefficientsum_body_steps + fs_a_pfc_products_left_hvcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_left_hvcoefficientscoefficientresiduebound. pfa_gap_products_left_hvcoefficientscoefficientresiduebound + S (pfc_value_products_left_hvcoefficients) = (p)) /\ ((exists pfa_offset_left_products_left_hvcoefficientscoefficientresiduecongruence pfa_offset_right_products_left_hvcoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_left_hvcoefficientscoefficient) + (p) * pfa_offset_left_products_left_hvcoefficientscoefficientresiduecongruence = (pfc_value_products_left_hvcoefficients) + (p) * pfa_offset_right_products_left_hvcoefficientscoefficientresiduecongruence))))))))))))))))))specialize prime_field_polynomial_convolution_at_length_exists (p)specialize prime_field_polynomial_convolution_at_length_exists (db)specialize prime_field_polynomial_convolution_at_length_exists (dc)specialize prime_field_polynomial_convolution_at_length_exists (M)specialize prime_field_polynomial_convolution_at_length_exists (bb)specialize prime_field_polynomial_convolution_at_length_exists (bc)specialize prime_field_polynomial_convolution_at_length_exists (L)specialize prime_field_polynomial_convolution_at_length_exists (x)apply prime_field_polynomial_convolution_at_length_existsexact hpexact hdexact hbounds_right_leftexact hlength_witnesscases hvcases hv_witnesshave hw : exists ub uc. ((forall fom_index_pfp_products_left_hwleft. (exists fom_gap_pfp_products_left_hwleft_index_bound. fom_gap_pfp_products_left_hwleft_index_bound + S (fom_index_pfp_products_left_hwleft) = M) -> exists fom_value_pfp_products_left_hwleft. ((((exists fom_beta_height_pfp_products_left_hwleft_entry. fom_beta_height_pfp_products_left_hwleft_entry + S (fom_value_pfp_products_left_hwleft) = S ((S (fom_index_pfp_products_left_hwleft)) * dc)) /\ exists fom_beta_quotient_pfp_products_left_hwleft_entry. db = fom_beta_quotient_pfp_products_left_hwleft_entry * S ((S (fom_index_pfp_products_left_hwleft)) * dc) + (fom_value_pfp_products_left_hwleft))) /\ (exists fom_gap_pfp_products_left_hwleft_value_bound. fom_gap_pfp_products_left_hwleft_value_bound + S (fom_value_pfp_products_left_hwleft) = p))) /\ (((forall fom_index_pfp_products_left_hwright. (exists fom_gap_pfp_products_left_hwright_index_bound. fom_gap_pfp_products_left_hwright_index_bound + S (fom_index_pfp_products_left_hwright) = L) -> exists fom_value_pfp_products_left_hwright. ((((exists fom_beta_height_pfp_products_left_hwright_entry. fom_beta_height_pfp_products_left_hwright_entry + S (fom_value_pfp_products_left_hwright) = S ((S (fom_index_pfp_products_left_hwright)) * cc)) /\ exists fom_beta_quotient_pfp_products_left_hwright_entry. cb = fom_beta_quotient_pfp_products_left_hwright_entry * S ((S (fom_index_pfp_products_left_hwright)) * cc) + (fom_value_pfp_products_left_hwright))) /\ (exists fom_gap_pfp_products_left_hwright_value_bound. fom_gap_pfp_products_left_hwright_value_bound + S (fom_value_pfp_products_left_hwright) = p))) /\ (((((((M)=0 \/ (L)=0) /\ (((x)=0)))) \/ (((~((M)=0)) /\ (((~((L)=0)) /\ (((M)+(L)=S (x)))))))) /\ ((forall pfc_index_products_left_hwcoefficients. (exists pfa_gap_products_left_hwcoefficientsbound. pfa_gap_products_left_hwcoefficientsbound + S (pfc_index_products_left_hwcoefficients) = (x)) -> exists pfc_value_products_left_hwcoefficients. ((((exists ff_h_pfp_products_left_hwcoefficientsentry. ff_h_pfp_products_left_hwcoefficientsentry + S (pfc_value_products_left_hwcoefficients) = S ((S (pfc_index_products_left_hwcoefficients)) * uc)) /\ exists ff_q_pfp_products_left_hwcoefficientsentry. ub = ff_q_pfp_products_left_hwcoefficientsentry * S ((S (pfc_index_products_left_hwcoefficients)) * uc) + (pfc_value_products_left_hwcoefficients))) /\ ((exists pfc_terms_code_products_left_hwcoefficientscoefficient pfc_terms_scale_products_left_hwcoefficientscoefficient pfc_natural_sum_products_left_hwcoefficientscoefficient. ((forall pfc_index_products_left_hwcoefficientscoefficientdiagonal. (exists pfa_gap_products_left_hwcoefficientscoefficientdiagonalbound. pfa_gap_products_left_hwcoefficientscoefficientdiagonalbound + S (pfc_index_products_left_hwcoefficientscoefficientdiagonal) = (S (pfc_index_products_left_hwcoefficients))) -> exists pfc_value_products_left_hwcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_left_hwcoefficientscoefficientdiagonalentry. ff_h_pfp_products_left_hwcoefficientscoefficientdiagonalentry + S (pfc_value_products_left_hwcoefficientscoefficientdiagonal) = S ((S (pfc_index_products_left_hwcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_hwcoefficientscoefficient)) /\ exists ff_q_pfp_products_left_hwcoefficientscoefficientdiagonalentry. pfc_terms_code_products_left_hwcoefficientscoefficient = ff_q_pfp_products_left_hwcoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_left_hwcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_left_hwcoefficientscoefficient) + (pfc_value_products_left_hwcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_left_hwcoefficientscoefficientdiagonalterm pfc_left_products_left_hwcoefficientscoefficientdiagonalterm pfc_right_products_left_hwcoefficientscoefficientdiagonalterm. (((pfc_index_products_left_hwcoefficientscoefficientdiagonal)+pfc_complement_products_left_hwcoefficientscoefficientdiagonalterm=(pfc_index_products_left_hwcoefficients)) /\ ((((((exists pfa_gap_products_left_hwcoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_left_hwcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_left_hwcoefficientscoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_products_left_hwcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_left_hwcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_left_hwcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_left_hwcoefficientscoefficientdiagonal)) * dc)) /\ exists ff_q_pfp_products_left_hwcoefficientscoefficientdiagonaltermleftentry. db = ff_q_pfp_products_left_hwcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_left_hwcoefficientscoefficientdiagonal)) * dc) + (pfc_left_products_left_hwcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_hwcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_left_hwcoefficientscoefficientdiagonaltermleftoutside+(M)=(pfc_index_products_left_hwcoefficientscoefficientdiagonal)) /\ (((pfc_left_products_left_hwcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_left_hwcoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_left_hwcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_left_hwcoefficientscoefficientdiagonalterm) = (L)) /\ ((((exists ff_h_pfp_products_left_hwcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_left_hwcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_left_hwcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_left_hwcoefficientscoefficientdiagonalterm)) * cc)) /\ exists ff_q_pfp_products_left_hwcoefficientscoefficientdiagonaltermrightentry. cb = ff_q_pfp_products_left_hwcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_left_hwcoefficientscoefficientdiagonalterm)) * cc) + (pfc_right_products_left_hwcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_left_hwcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_left_hwcoefficientscoefficientdiagonaltermrightoutside+(L)=(pfc_complement_products_left_hwcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_left_hwcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_left_hwcoefficientscoefficientdiagonal)=pfc_left_products_left_hwcoefficientscoefficientdiagonalterm*pfc_right_products_left_hwcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_left_hwcoefficientscoefficientsum fs_v_pfc_products_left_hwcoefficientscoefficientsum. ((((exists fs_h_pfc_products_left_hwcoefficientscoefficientsum_body_start. fs_h_pfc_products_left_hwcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_left_hwcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hwcoefficientscoefficientsum_body_start. fs_u_pfc_products_left_hwcoefficientscoefficientsum = fs_q_pfc_products_left_hwcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_left_hwcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_left_hwcoefficientscoefficientsum_body_terminal. fs_h_pfc_products_left_hwcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_left_hwcoefficientscoefficient) = S ((S (S (pfc_index_products_left_hwcoefficients))) * fs_v_pfc_products_left_hwcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hwcoefficientscoefficientsum_body_terminal. fs_u_pfc_products_left_hwcoefficientscoefficientsum = fs_q_pfc_products_left_hwcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_left_hwcoefficients))) * fs_v_pfc_products_left_hwcoefficientscoefficientsum) + (pfc_natural_sum_products_left_hwcoefficientscoefficient))) /\ forall fs_i_pfc_products_left_hwcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_left_hwcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_left_hwcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_left_hwcoefficientscoefficientsum_body_steps = S (pfc_index_products_left_hwcoefficients)) -> exists fs_a_pfc_products_left_hwcoefficientscoefficientsum_body_steps fs_r_pfc_products_left_hwcoefficientscoefficientsum_body_steps fs_s_pfc_products_left_hwcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_left_hwcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_left_hwcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_left_hwcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_hwcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_hwcoefficientscoefficient)) /\ exists fs_q_pfc_products_left_hwcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_left_hwcoefficientscoefficient = fs_q_pfc_products_left_hwcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_left_hwcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_left_hwcoefficientscoefficient) + (fs_a_pfc_products_left_hwcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_hwcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_left_hwcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_left_hwcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_left_hwcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hwcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hwcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_left_hwcoefficientscoefficientsum = fs_q_pfc_products_left_hwcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_left_hwcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hwcoefficientscoefficientsum) + (fs_r_pfc_products_left_hwcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_left_hwcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_left_hwcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_left_hwcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_left_hwcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hwcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_left_hwcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_left_hwcoefficientscoefficientsum = fs_q_pfc_products_left_hwcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_left_hwcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_left_hwcoefficientscoefficientsum) + (fs_s_pfc_products_left_hwcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_left_hwcoefficientscoefficientsum_body_steps = fs_r_pfc_products_left_hwcoefficientscoefficientsum_body_steps + fs_a_pfc_products_left_hwcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_left_hwcoefficientscoefficientresiduebound. pfa_gap_products_left_hwcoefficientscoefficientresiduebound + S (pfc_value_products_left_hwcoefficients) = (p)) /\ ((exists pfa_offset_left_products_left_hwcoefficientscoefficientresiduecongruence pfa_offset_right_products_left_hwcoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_left_hwcoefficientscoefficient) + (p) * pfa_offset_left_products_left_hwcoefficientscoefficientresiduecongruence = (pfc_value_products_left_hwcoefficients) + (p) * pfa_offset_right_products_left_hwcoefficientscoefficientresiduecongruence))))))))))))))))))specialize prime_field_polynomial_convolution_at_length_exists (p)specialize prime_field_polynomial_convolution_at_length_exists (db)specialize prime_field_polynomial_convolution_at_length_exists (dc)specialize prime_field_polynomial_convolution_at_length_exists (M)specialize prime_field_polynomial_convolution_at_length_exists (cb)specialize prime_field_polynomial_convolution_at_length_exists (cc)specialize prime_field_polynomial_convolution_at_length_exists (L)specialize prime_field_polynomial_convolution_at_length_exists (x)apply prime_field_polynomial_convolution_at_length_existsexact hpexact hdexact hbounds_right_rightexact hlength_witnesscases hwcases hw_witnessexists xexists x1exists x2exists x3exists x4exists x5exists x6splitexact hu_witness_witnesssplitexact hv_witness_witnesssplitexact hw_witness_witnessspecialize prime_field_polynomial_convolution_left_add (p)specialize prime_field_polynomial_convolution_left_add (ab)specialize prime_field_polynomial_convolution_left_add (ac)specialize prime_field_polynomial_convolution_left_add (bb)specialize prime_field_polynomial_convolution_left_add (bc)specialize prime_field_polynomial_convolution_left_add (cb)specialize prime_field_polynomial_convolution_left_add (cc)specialize prime_field_polynomial_convolution_left_add (L)specialize prime_field_polynomial_convolution_left_add (db)specialize prime_field_polynomial_convolution_left_add (dc)specialize prime_field_polynomial_convolution_left_add (M)specialize prime_field_polynomial_convolution_left_add (x1)specialize prime_field_polynomial_convolution_left_add (x2)specialize prime_field_polynomial_convolution_left_add (x3)specialize prime_field_polynomial_convolution_left_add (x4)specialize prime_field_polynomial_convolution_left_add (x5)specialize prime_field_polynomial_convolution_left_add (x6)specialize prime_field_polynomial_convolution_left_add (x)apply prime_field_polynomial_convolution_left_addexact hsexact hu_witness_witnessexact hv_witness_witnessexact hw_witness_witness
polynomial_diagonal_term_right_add_congruent · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M i j u v w. (forall pfp_index_term_add_right_source. (exists pfa_gap_term_add_right_sourceindex. pfa_gap_term_add_right_sourceindex + S (pfp_index_term_add_right_source) = (L)) -> exists pfp_left_term_add_right_source pfp_right_term_add_right_source pfp_value_term_add_right_source. ((((exists ff_h_pfp_term_add_right_sourceleft. ff_h_pfp_term_add_right_sourceleft + S (pfp_left_term_add_right_source) = S ((S (pfp_index_term_add_right_source)) * ac)) /\ exists ff_q_pfp_term_add_right_sourceleft. ab = ff_q_pfp_term_add_right_sourceleft * S ((S (pfp_index_term_add_right_source)) * ac) + (pfp_left_term_add_right_source))) /\ (((((exists ff_h_pfp_term_add_right_sourceright. ff_h_pfp_term_add_right_sourceright + S (pfp_right_term_add_right_source) = S ((S (pfp_index_term_add_right_source)) * bc)) /\ exists ff_q_pfp_term_add_right_sourceright. bb = ff_q_pfp_term_add_right_sourceright * S ((S (pfp_index_term_add_right_source)) * bc) + (pfp_right_term_add_right_source))) /\ (((((exists ff_h_pfp_term_add_right_sourcetarget. ff_h_pfp_term_add_right_sourcetarget + S (pfp_value_term_add_right_source) = S ((S (pfp_index_term_add_right_source)) * cc)) /\ exists ff_q_pfp_term_add_right_sourcetarget. cb = ff_q_pfp_term_add_right_sourcetarget * S ((S (pfp_index_term_add_right_source)) * cc) + (pfp_value_term_add_right_source))) /\ ((((exists pfa_gap_term_add_right_sourceoperationleft. pfa_gap_term_add_right_sourceoperationleft + S (pfp_left_term_add_right_source) = (p)) /\ (((exists pfa_gap_term_add_right_sourceoperationright. pfa_gap_term_add_right_sourceoperationright + S (pfp_right_term_add_right_source) = (p)) /\ ((((exists pfa_gap_term_add_right_sourceoperationresultbound. pfa_gap_term_add_right_sourceoperationresultbound + S (pfp_value_term_add_right_source) = (p)) /\ ((exists pfa_offset_left_term_add_right_sourceoperationresultcongruence pfa_offset_right_term_add_right_sourceoperationresultcongruence. ((pfp_left_term_add_right_source) + (pfp_right_term_add_right_source)) + (p) * pfa_offset_left_term_add_right_sourceoperationresultcongruence = (pfp_value_term_add_right_source) + (p) * pfa_offset_right_term_add_right_sourceoperationresultcongruence)))))))))))))))) -> (exists pfc_complement_term_add_right_u pfc_left_term_add_right_u pfc_right_term_add_right_u. (((j)+pfc_complement_term_add_right_u=(i)) /\ ((((((exists pfa_gap_term_add_right_uleftinside. pfa_gap_term_add_right_uleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_add_right_uleftentry. ff_h_pfp_term_add_right_uleftentry + S (pfc_left_term_add_right_u) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_add_right_uleftentry. ab = ff_q_pfp_term_add_right_uleftentry * S ((S (j)) * ac) + (pfc_left_term_add_right_u)))))) \/ (((exists pfc_gap_term_add_right_uleftoutside. pfc_gap_term_add_right_uleftoutside+(L)=(j)) /\ (((pfc_left_term_add_right_u)=0))))) /\ ((((((exists pfa_gap_term_add_right_urightinside. pfa_gap_term_add_right_urightinside + S (pfc_complement_term_add_right_u) = (M)) /\ ((((exists ff_h_pfp_term_add_right_urightentry. ff_h_pfp_term_add_right_urightentry + S (pfc_right_term_add_right_u) = S ((S (pfc_complement_term_add_right_u)) * dc)) /\ exists ff_q_pfp_term_add_right_urightentry. db = ff_q_pfp_term_add_right_urightentry * S ((S (pfc_complement_term_add_right_u)) * dc) + (pfc_right_term_add_right_u)))))) \/ (((exists pfc_gap_term_add_right_urightoutside. pfc_gap_term_add_right_urightoutside+(M)=(pfc_complement_term_add_right_u)) /\ (((pfc_right_term_add_right_u)=0))))) /\ (((u)=pfc_left_term_add_right_u*pfc_right_term_add_right_u)))))))) -> (exists pfc_complement_term_add_right_v pfc_left_term_add_right_v pfc_right_term_add_right_v. (((j)+pfc_complement_term_add_right_v=(i)) /\ ((((((exists pfa_gap_term_add_right_vleftinside. pfa_gap_term_add_right_vleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_add_right_vleftentry. ff_h_pfp_term_add_right_vleftentry + S (pfc_left_term_add_right_v) = S ((S (j)) * bc)) /\ exists ff_q_pfp_term_add_right_vleftentry. bb = ff_q_pfp_term_add_right_vleftentry * S ((S (j)) * bc) + (pfc_left_term_add_right_v)))))) \/ (((exists pfc_gap_term_add_right_vleftoutside. pfc_gap_term_add_right_vleftoutside+(L)=(j)) /\ (((pfc_left_term_add_right_v)=0))))) /\ ((((((exists pfa_gap_term_add_right_vrightinside. pfa_gap_term_add_right_vrightinside + S (pfc_complement_term_add_right_v) = (M)) /\ ((((exists ff_h_pfp_term_add_right_vrightentry. ff_h_pfp_term_add_right_vrightentry + S (pfc_right_term_add_right_v) = S ((S (pfc_complement_term_add_right_v)) * dc)) /\ exists ff_q_pfp_term_add_right_vrightentry. db = ff_q_pfp_term_add_right_vrightentry * S ((S (pfc_complement_term_add_right_v)) * dc) + (pfc_right_term_add_right_v)))))) \/ (((exists pfc_gap_term_add_right_vrightoutside. pfc_gap_term_add_right_vrightoutside+(M)=(pfc_complement_term_add_right_v)) /\ (((pfc_right_term_add_right_v)=0))))) /\ (((v)=pfc_left_term_add_right_v*pfc_right_term_add_right_v)))))))) -> (exists pfc_complement_term_add_right_w pfc_left_term_add_right_w pfc_right_term_add_right_w. (((j)+pfc_complement_term_add_right_w=(i)) /\ ((((((exists pfa_gap_term_add_right_wleftinside. pfa_gap_term_add_right_wleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_add_right_wleftentry. ff_h_pfp_term_add_right_wleftentry + S (pfc_left_term_add_right_w) = S ((S (j)) * cc)) /\ exists ff_q_pfp_term_add_right_wleftentry. cb = ff_q_pfp_term_add_right_wleftentry * S ((S (j)) * cc) + (pfc_left_term_add_right_w)))))) \/ (((exists pfc_gap_term_add_right_wleftoutside. pfc_gap_term_add_right_wleftoutside+(L)=(j)) /\ (((pfc_left_term_add_right_w)=0))))) /\ ((((((exists pfa_gap_term_add_right_wrightinside. pfa_gap_term_add_right_wrightinside + S (pfc_complement_term_add_right_w) = (M)) /\ ((((exists ff_h_pfp_term_add_right_wrightentry. ff_h_pfp_term_add_right_wrightentry + S (pfc_right_term_add_right_w) = S ((S (pfc_complement_term_add_right_w)) * dc)) /\ exists ff_q_pfp_term_add_right_wrightentry. db = ff_q_pfp_term_add_right_wrightentry * S ((S (pfc_complement_term_add_right_w)) * dc) + (pfc_right_term_add_right_w)))))) \/ (((exists pfc_gap_term_add_right_wrightoutside. pfc_gap_term_add_right_wrightoutside+(M)=(pfc_complement_term_add_right_w)) /\ (((pfc_right_term_add_right_w)=0))))) /\ (((w)=pfc_left_term_add_right_w*pfc_right_term_add_right_w)))))))) -> (exists pfa_offset_left_term_add_right_result pfa_offset_right_term_add_right_result. (u+v) + (p) * pfa_offset_left_term_add_right_result = (w) + (p) * pfa_offset_right_term_add_right_result)
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro iintro jintro uintro vintro wintro hsintro huintro hvintro hwcases hucases hu_witnesscases hu_witness_witnesscases hu_witness_witness_witnesscases hu_witness_witness_witness_rightcases hu_witness_witness_witness_right_rightcases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightcases hwcases hw_witnesscases hw_witness_witnesscases hw_witness_witness_witnesscases hw_witness_witness_witness_rightcases hw_witness_witness_witness_right_righthave hku : x=x6specialize add_left_cancel (j)specialize add_left_cancel (x)specialize add_left_cancel (x6)apply add_left_canceltrans iexact hu_witness_witness_witness_leftsymmexact hw_witness_witness_witness_leftrewrite hku at hu_witness_witness_witness_right_right_leftrewrite hku at hu_witness_witness_witness_right_right_leftrewrite hku at hu_witness_witness_witness_right_right_leftrewrite hku at hu_witness_witness_witness_right_right_lefthave hkv : x3=x6specialize add_left_cancel (j)specialize add_left_cancel (x3)specialize add_left_cancel (x6)apply add_left_canceltrans iexact hv_witness_witness_witness_leftsymmexact hw_witness_witness_witness_leftrewrite hkv at hv_witness_witness_witness_right_right_leftrewrite hkv at hv_witness_witness_witness_right_right_leftrewrite hkv at hv_witness_witness_witness_right_right_leftrewrite hkv at hv_witness_witness_witness_right_right_lefthave hfu : x2=x8specialize polynomial_zero_extended_entry_functional (db)specialize polynomial_zero_extended_entry_functional (dc)specialize polynomial_zero_extended_entry_functional (M)specialize polynomial_zero_extended_entry_functional (x6)specialize polynomial_zero_extended_entry_functional (x2)specialize polynomial_zero_extended_entry_functional (x8)apply polynomial_zero_extended_entry_functionalexact hu_witness_witness_witness_right_right_leftexact hw_witness_witness_witness_right_right_lefthave hfv : x5=x8specialize polynomial_zero_extended_entry_functional (db)specialize polynomial_zero_extended_entry_functional (dc)specialize polynomial_zero_extended_entry_functional (M)specialize polynomial_zero_extended_entry_functional (x6)specialize polynomial_zero_extended_entry_functional (x5)specialize polynomial_zero_extended_entry_functional (x8)apply polynomial_zero_extended_entry_functionalexact hv_witness_witness_witness_right_right_leftexact hw_witness_witness_witness_right_right_lefthave hsum : exists pfa_offset_left_term_add_right_sum pfa_offset_right_term_add_right_sum. (x1+x4) + (p) * pfa_offset_left_term_add_right_sum = (x7) + (p) * pfa_offset_right_term_add_right_sumspecialize polynomial_zero_extended_add_congruent (p)specialize polynomial_zero_extended_add_congruent (ab)specialize polynomial_zero_extended_add_congruent (ac)specialize polynomial_zero_extended_add_congruent (bb)specialize polynomial_zero_extended_add_congruent (bc)specialize polynomial_zero_extended_add_congruent (cb)specialize polynomial_zero_extended_add_congruent (cc)specialize polynomial_zero_extended_add_congruent (L)specialize polynomial_zero_extended_add_congruent (j)specialize polynomial_zero_extended_add_congruent (x1)specialize polynomial_zero_extended_add_congruent (x4)specialize polynomial_zero_extended_add_congruent (x7)apply polynomial_zero_extended_add_congruentexact hsexact hu_witness_witness_witness_right_leftexact hv_witness_witness_witness_right_leftexact hw_witness_witness_witness_right_leftrewrite hu_witness_witness_witness_right_right_rightrewrite hv_witness_witness_witness_right_right_rightrewrite hw_witness_witness_witness_right_right_rightrewrite hfurewrite hfvhave hfactor : x1*x8+x4*x8=(x1+x4)*x8symmspecialize add_mul (x1)specialize add_mul (x4)specialize add_mul (x8)apply add_mulrewrite hfactorspecialize mod_eq_mul_right (p)specialize mod_eq_mul_right (x1+x4)specialize mod_eq_mul_right (x7)specialize mod_eq_mul_right (x8)apply mod_eq_mul_rightexact hsum
polynomial_diagonal_sum_right_add_congruent · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M i N ub uc vb vc wb wc u v w. (forall pfp_index_diagonal_add_right_source. (exists pfa_gap_diagonal_add_right_sourceindex. pfa_gap_diagonal_add_right_sourceindex + S (pfp_index_diagonal_add_right_source) = (L)) -> exists pfp_left_diagonal_add_right_source pfp_right_diagonal_add_right_source pfp_value_diagonal_add_right_source. ((((exists ff_h_pfp_diagonal_add_right_sourceleft. ff_h_pfp_diagonal_add_right_sourceleft + S (pfp_left_diagonal_add_right_source) = S ((S (pfp_index_diagonal_add_right_source)) * ac)) /\ exists ff_q_pfp_diagonal_add_right_sourceleft. ab = ff_q_pfp_diagonal_add_right_sourceleft * S ((S (pfp_index_diagonal_add_right_source)) * ac) + (pfp_left_diagonal_add_right_source))) /\ (((((exists ff_h_pfp_diagonal_add_right_sourceright. ff_h_pfp_diagonal_add_right_sourceright + S (pfp_right_diagonal_add_right_source) = S ((S (pfp_index_diagonal_add_right_source)) * bc)) /\ exists ff_q_pfp_diagonal_add_right_sourceright. bb = ff_q_pfp_diagonal_add_right_sourceright * S ((S (pfp_index_diagonal_add_right_source)) * bc) + (pfp_right_diagonal_add_right_source))) /\ (((((exists ff_h_pfp_diagonal_add_right_sourcetarget. ff_h_pfp_diagonal_add_right_sourcetarget + S (pfp_value_diagonal_add_right_source) = S ((S (pfp_index_diagonal_add_right_source)) * cc)) /\ exists ff_q_pfp_diagonal_add_right_sourcetarget. cb = ff_q_pfp_diagonal_add_right_sourcetarget * S ((S (pfp_index_diagonal_add_right_source)) * cc) + (pfp_value_diagonal_add_right_source))) /\ ((((exists pfa_gap_diagonal_add_right_sourceoperationleft. pfa_gap_diagonal_add_right_sourceoperationleft + S (pfp_left_diagonal_add_right_source) = (p)) /\ (((exists pfa_gap_diagonal_add_right_sourceoperationright. pfa_gap_diagonal_add_right_sourceoperationright + S (pfp_right_diagonal_add_right_source) = (p)) /\ ((((exists pfa_gap_diagonal_add_right_sourceoperationresultbound. pfa_gap_diagonal_add_right_sourceoperationresultbound + S (pfp_value_diagonal_add_right_source) = (p)) /\ ((exists pfa_offset_left_diagonal_add_right_sourceoperationresultcongruence pfa_offset_right_diagonal_add_right_sourceoperationresultcongruence. ((pfp_left_diagonal_add_right_source) + (pfp_right_diagonal_add_right_source)) + (p) * pfa_offset_left_diagonal_add_right_sourceoperationresultcongruence = (pfp_value_diagonal_add_right_source) + (p) * pfa_offset_right_diagonal_add_right_sourceoperationresultcongruence)))))))))))))))) -> (forall pfc_index_diagonal_add_right_u. (exists pfa_gap_diagonal_add_right_ubound. pfa_gap_diagonal_add_right_ubound + S (pfc_index_diagonal_add_right_u) = (N)) -> exists pfc_value_diagonal_add_right_u. ((((exists ff_h_pfp_diagonal_add_right_uentry. ff_h_pfp_diagonal_add_right_uentry + S (pfc_value_diagonal_add_right_u) = S ((S (pfc_index_diagonal_add_right_u)) * uc)) /\ exists ff_q_pfp_diagonal_add_right_uentry. ub = ff_q_pfp_diagonal_add_right_uentry * S ((S (pfc_index_diagonal_add_right_u)) * uc) + (pfc_value_diagonal_add_right_u))) /\ ((exists pfc_complement_diagonal_add_right_uterm pfc_left_diagonal_add_right_uterm pfc_right_diagonal_add_right_uterm. (((pfc_index_diagonal_add_right_u)+pfc_complement_diagonal_add_right_uterm=(i)) /\ ((((((exists pfa_gap_diagonal_add_right_utermleftinside. pfa_gap_diagonal_add_right_utermleftinside + S (pfc_index_diagonal_add_right_u) = (L)) /\ ((((exists ff_h_pfp_diagonal_add_right_utermleftentry. ff_h_pfp_diagonal_add_right_utermleftentry + S (pfc_left_diagonal_add_right_uterm) = S ((S (pfc_index_diagonal_add_right_u)) * ac)) /\ exists ff_q_pfp_diagonal_add_right_utermleftentry. ab = ff_q_pfp_diagonal_add_right_utermleftentry * S ((S (pfc_index_diagonal_add_right_u)) * ac) + (pfc_left_diagonal_add_right_uterm)))))) \/ (((exists pfc_gap_diagonal_add_right_utermleftoutside. pfc_gap_diagonal_add_right_utermleftoutside+(L)=(pfc_index_diagonal_add_right_u)) /\ (((pfc_left_diagonal_add_right_uterm)=0))))) /\ ((((((exists pfa_gap_diagonal_add_right_utermrightinside. pfa_gap_diagonal_add_right_utermrightinside + S (pfc_complement_diagonal_add_right_uterm) = (M)) /\ ((((exists ff_h_pfp_diagonal_add_right_utermrightentry. ff_h_pfp_diagonal_add_right_utermrightentry + S (pfc_right_diagonal_add_right_uterm) = S ((S (pfc_complement_diagonal_add_right_uterm)) * dc)) /\ exists ff_q_pfp_diagonal_add_right_utermrightentry. db = ff_q_pfp_diagonal_add_right_utermrightentry * S ((S (pfc_complement_diagonal_add_right_uterm)) * dc) + (pfc_right_diagonal_add_right_uterm)))))) \/ (((exists pfc_gap_diagonal_add_right_utermrightoutside. pfc_gap_diagonal_add_right_utermrightoutside+(M)=(pfc_complement_diagonal_add_right_uterm)) /\ (((pfc_right_diagonal_add_right_uterm)=0))))) /\ (((pfc_value_diagonal_add_right_u)=pfc_left_diagonal_add_right_uterm*pfc_right_diagonal_add_right_uterm))))))))))) -> (exists fs_u_pfc_diagonal_add_right_sum_u fs_v_pfc_diagonal_add_right_sum_u. ((((exists fs_h_pfc_diagonal_add_right_sum_u_body_start. fs_h_pfc_diagonal_add_right_sum_u_body_start + S (0) = S ((S (0)) * fs_v_pfc_diagonal_add_right_sum_u)) /\ exists fs_q_pfc_diagonal_add_right_sum_u_body_start. fs_u_pfc_diagonal_add_right_sum_u = fs_q_pfc_diagonal_add_right_sum_u_body_start * S ((S (0)) * fs_v_pfc_diagonal_add_right_sum_u) + (0))) /\ ((((exists fs_h_pfc_diagonal_add_right_sum_u_body_terminal. fs_h_pfc_diagonal_add_right_sum_u_body_terminal + S (u) = S ((S (N)) * fs_v_pfc_diagonal_add_right_sum_u)) /\ exists fs_q_pfc_diagonal_add_right_sum_u_body_terminal. fs_u_pfc_diagonal_add_right_sum_u = fs_q_pfc_diagonal_add_right_sum_u_body_terminal * S ((S (N)) * fs_v_pfc_diagonal_add_right_sum_u) + (u))) /\ forall fs_i_pfc_diagonal_add_right_sum_u_body_steps. (exists fs_lt_pfc_diagonal_add_right_sum_u_body_steps_bound. fs_lt_pfc_diagonal_add_right_sum_u_body_steps_bound + S fs_i_pfc_diagonal_add_right_sum_u_body_steps = N) -> exists fs_a_pfc_diagonal_add_right_sum_u_body_steps fs_r_pfc_diagonal_add_right_sum_u_body_steps fs_s_pfc_diagonal_add_right_sum_u_body_steps. ((((exists fs_h_pfc_diagonal_add_right_sum_u_body_steps_summand. fs_h_pfc_diagonal_add_right_sum_u_body_steps_summand + S (fs_a_pfc_diagonal_add_right_sum_u_body_steps) = S ((S (fs_i_pfc_diagonal_add_right_sum_u_body_steps)) * uc)) /\ exists fs_q_pfc_diagonal_add_right_sum_u_body_steps_summand. ub = fs_q_pfc_diagonal_add_right_sum_u_body_steps_summand * S ((S (fs_i_pfc_diagonal_add_right_sum_u_body_steps)) * uc) + (fs_a_pfc_diagonal_add_right_sum_u_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_right_sum_u_body_steps_partial. fs_h_pfc_diagonal_add_right_sum_u_body_steps_partial + S (fs_r_pfc_diagonal_add_right_sum_u_body_steps) = S ((S (fs_i_pfc_diagonal_add_right_sum_u_body_steps)) * fs_v_pfc_diagonal_add_right_sum_u)) /\ exists fs_q_pfc_diagonal_add_right_sum_u_body_steps_partial. fs_u_pfc_diagonal_add_right_sum_u = fs_q_pfc_diagonal_add_right_sum_u_body_steps_partial * S ((S (fs_i_pfc_diagonal_add_right_sum_u_body_steps)) * fs_v_pfc_diagonal_add_right_sum_u) + (fs_r_pfc_diagonal_add_right_sum_u_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_right_sum_u_body_steps_successor. fs_h_pfc_diagonal_add_right_sum_u_body_steps_successor + S (fs_s_pfc_diagonal_add_right_sum_u_body_steps) = S ((S (S fs_i_pfc_diagonal_add_right_sum_u_body_steps)) * fs_v_pfc_diagonal_add_right_sum_u)) /\ exists fs_q_pfc_diagonal_add_right_sum_u_body_steps_successor. fs_u_pfc_diagonal_add_right_sum_u = fs_q_pfc_diagonal_add_right_sum_u_body_steps_successor * S ((S (S fs_i_pfc_diagonal_add_right_sum_u_body_steps)) * fs_v_pfc_diagonal_add_right_sum_u) + (fs_s_pfc_diagonal_add_right_sum_u_body_steps))) /\ fs_s_pfc_diagonal_add_right_sum_u_body_steps = fs_r_pfc_diagonal_add_right_sum_u_body_steps + fs_a_pfc_diagonal_add_right_sum_u_body_steps)))))) -> (forall pfc_index_diagonal_add_right_v. (exists pfa_gap_diagonal_add_right_vbound. pfa_gap_diagonal_add_right_vbound + S (pfc_index_diagonal_add_right_v) = (N)) -> exists pfc_value_diagonal_add_right_v. ((((exists ff_h_pfp_diagonal_add_right_ventry. ff_h_pfp_diagonal_add_right_ventry + S (pfc_value_diagonal_add_right_v) = S ((S (pfc_index_diagonal_add_right_v)) * vc)) /\ exists ff_q_pfp_diagonal_add_right_ventry. vb = ff_q_pfp_diagonal_add_right_ventry * S ((S (pfc_index_diagonal_add_right_v)) * vc) + (pfc_value_diagonal_add_right_v))) /\ ((exists pfc_complement_diagonal_add_right_vterm pfc_left_diagonal_add_right_vterm pfc_right_diagonal_add_right_vterm. (((pfc_index_diagonal_add_right_v)+pfc_complement_diagonal_add_right_vterm=(i)) /\ ((((((exists pfa_gap_diagonal_add_right_vtermleftinside. pfa_gap_diagonal_add_right_vtermleftinside + S (pfc_index_diagonal_add_right_v) = (L)) /\ ((((exists ff_h_pfp_diagonal_add_right_vtermleftentry. ff_h_pfp_diagonal_add_right_vtermleftentry + S (pfc_left_diagonal_add_right_vterm) = S ((S (pfc_index_diagonal_add_right_v)) * bc)) /\ exists ff_q_pfp_diagonal_add_right_vtermleftentry. bb = ff_q_pfp_diagonal_add_right_vtermleftentry * S ((S (pfc_index_diagonal_add_right_v)) * bc) + (pfc_left_diagonal_add_right_vterm)))))) \/ (((exists pfc_gap_diagonal_add_right_vtermleftoutside. pfc_gap_diagonal_add_right_vtermleftoutside+(L)=(pfc_index_diagonal_add_right_v)) /\ (((pfc_left_diagonal_add_right_vterm)=0))))) /\ ((((((exists pfa_gap_diagonal_add_right_vtermrightinside. pfa_gap_diagonal_add_right_vtermrightinside + S (pfc_complement_diagonal_add_right_vterm) = (M)) /\ ((((exists ff_h_pfp_diagonal_add_right_vtermrightentry. ff_h_pfp_diagonal_add_right_vtermrightentry + S (pfc_right_diagonal_add_right_vterm) = S ((S (pfc_complement_diagonal_add_right_vterm)) * dc)) /\ exists ff_q_pfp_diagonal_add_right_vtermrightentry. db = ff_q_pfp_diagonal_add_right_vtermrightentry * S ((S (pfc_complement_diagonal_add_right_vterm)) * dc) + (pfc_right_diagonal_add_right_vterm)))))) \/ (((exists pfc_gap_diagonal_add_right_vtermrightoutside. pfc_gap_diagonal_add_right_vtermrightoutside+(M)=(pfc_complement_diagonal_add_right_vterm)) /\ (((pfc_right_diagonal_add_right_vterm)=0))))) /\ (((pfc_value_diagonal_add_right_v)=pfc_left_diagonal_add_right_vterm*pfc_right_diagonal_add_right_vterm))))))))))) -> (exists fs_u_pfc_diagonal_add_right_sum_v fs_v_pfc_diagonal_add_right_sum_v. ((((exists fs_h_pfc_diagonal_add_right_sum_v_body_start. fs_h_pfc_diagonal_add_right_sum_v_body_start + S (0) = S ((S (0)) * fs_v_pfc_diagonal_add_right_sum_v)) /\ exists fs_q_pfc_diagonal_add_right_sum_v_body_start. fs_u_pfc_diagonal_add_right_sum_v = fs_q_pfc_diagonal_add_right_sum_v_body_start * S ((S (0)) * fs_v_pfc_diagonal_add_right_sum_v) + (0))) /\ ((((exists fs_h_pfc_diagonal_add_right_sum_v_body_terminal. fs_h_pfc_diagonal_add_right_sum_v_body_terminal + S (v) = S ((S (N)) * fs_v_pfc_diagonal_add_right_sum_v)) /\ exists fs_q_pfc_diagonal_add_right_sum_v_body_terminal. fs_u_pfc_diagonal_add_right_sum_v = fs_q_pfc_diagonal_add_right_sum_v_body_terminal * S ((S (N)) * fs_v_pfc_diagonal_add_right_sum_v) + (v))) /\ forall fs_i_pfc_diagonal_add_right_sum_v_body_steps. (exists fs_lt_pfc_diagonal_add_right_sum_v_body_steps_bound. fs_lt_pfc_diagonal_add_right_sum_v_body_steps_bound + S fs_i_pfc_diagonal_add_right_sum_v_body_steps = N) -> exists fs_a_pfc_diagonal_add_right_sum_v_body_steps fs_r_pfc_diagonal_add_right_sum_v_body_steps fs_s_pfc_diagonal_add_right_sum_v_body_steps. ((((exists fs_h_pfc_diagonal_add_right_sum_v_body_steps_summand. fs_h_pfc_diagonal_add_right_sum_v_body_steps_summand + S (fs_a_pfc_diagonal_add_right_sum_v_body_steps) = S ((S (fs_i_pfc_diagonal_add_right_sum_v_body_steps)) * vc)) /\ exists fs_q_pfc_diagonal_add_right_sum_v_body_steps_summand. vb = fs_q_pfc_diagonal_add_right_sum_v_body_steps_summand * S ((S (fs_i_pfc_diagonal_add_right_sum_v_body_steps)) * vc) + (fs_a_pfc_diagonal_add_right_sum_v_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_right_sum_v_body_steps_partial. fs_h_pfc_diagonal_add_right_sum_v_body_steps_partial + S (fs_r_pfc_diagonal_add_right_sum_v_body_steps) = S ((S (fs_i_pfc_diagonal_add_right_sum_v_body_steps)) * fs_v_pfc_diagonal_add_right_sum_v)) /\ exists fs_q_pfc_diagonal_add_right_sum_v_body_steps_partial. fs_u_pfc_diagonal_add_right_sum_v = fs_q_pfc_diagonal_add_right_sum_v_body_steps_partial * S ((S (fs_i_pfc_diagonal_add_right_sum_v_body_steps)) * fs_v_pfc_diagonal_add_right_sum_v) + (fs_r_pfc_diagonal_add_right_sum_v_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_right_sum_v_body_steps_successor. fs_h_pfc_diagonal_add_right_sum_v_body_steps_successor + S (fs_s_pfc_diagonal_add_right_sum_v_body_steps) = S ((S (S fs_i_pfc_diagonal_add_right_sum_v_body_steps)) * fs_v_pfc_diagonal_add_right_sum_v)) /\ exists fs_q_pfc_diagonal_add_right_sum_v_body_steps_successor. fs_u_pfc_diagonal_add_right_sum_v = fs_q_pfc_diagonal_add_right_sum_v_body_steps_successor * S ((S (S fs_i_pfc_diagonal_add_right_sum_v_body_steps)) * fs_v_pfc_diagonal_add_right_sum_v) + (fs_s_pfc_diagonal_add_right_sum_v_body_steps))) /\ fs_s_pfc_diagonal_add_right_sum_v_body_steps = fs_r_pfc_diagonal_add_right_sum_v_body_steps + fs_a_pfc_diagonal_add_right_sum_v_body_steps)))))) -> (forall pfc_index_diagonal_add_right_w. (exists pfa_gap_diagonal_add_right_wbound. pfa_gap_diagonal_add_right_wbound + S (pfc_index_diagonal_add_right_w) = (N)) -> exists pfc_value_diagonal_add_right_w. ((((exists ff_h_pfp_diagonal_add_right_wentry. ff_h_pfp_diagonal_add_right_wentry + S (pfc_value_diagonal_add_right_w) = S ((S (pfc_index_diagonal_add_right_w)) * wc)) /\ exists ff_q_pfp_diagonal_add_right_wentry. wb = ff_q_pfp_diagonal_add_right_wentry * S ((S (pfc_index_diagonal_add_right_w)) * wc) + (pfc_value_diagonal_add_right_w))) /\ ((exists pfc_complement_diagonal_add_right_wterm pfc_left_diagonal_add_right_wterm pfc_right_diagonal_add_right_wterm. (((pfc_index_diagonal_add_right_w)+pfc_complement_diagonal_add_right_wterm=(i)) /\ ((((((exists pfa_gap_diagonal_add_right_wtermleftinside. pfa_gap_diagonal_add_right_wtermleftinside + S (pfc_index_diagonal_add_right_w) = (L)) /\ ((((exists ff_h_pfp_diagonal_add_right_wtermleftentry. ff_h_pfp_diagonal_add_right_wtermleftentry + S (pfc_left_diagonal_add_right_wterm) = S ((S (pfc_index_diagonal_add_right_w)) * cc)) /\ exists ff_q_pfp_diagonal_add_right_wtermleftentry. cb = ff_q_pfp_diagonal_add_right_wtermleftentry * S ((S (pfc_index_diagonal_add_right_w)) * cc) + (pfc_left_diagonal_add_right_wterm)))))) \/ (((exists pfc_gap_diagonal_add_right_wtermleftoutside. pfc_gap_diagonal_add_right_wtermleftoutside+(L)=(pfc_index_diagonal_add_right_w)) /\ (((pfc_left_diagonal_add_right_wterm)=0))))) /\ ((((((exists pfa_gap_diagonal_add_right_wtermrightinside. pfa_gap_diagonal_add_right_wtermrightinside + S (pfc_complement_diagonal_add_right_wterm) = (M)) /\ ((((exists ff_h_pfp_diagonal_add_right_wtermrightentry. ff_h_pfp_diagonal_add_right_wtermrightentry + S (pfc_right_diagonal_add_right_wterm) = S ((S (pfc_complement_diagonal_add_right_wterm)) * dc)) /\ exists ff_q_pfp_diagonal_add_right_wtermrightentry. db = ff_q_pfp_diagonal_add_right_wtermrightentry * S ((S (pfc_complement_diagonal_add_right_wterm)) * dc) + (pfc_right_diagonal_add_right_wterm)))))) \/ (((exists pfc_gap_diagonal_add_right_wtermrightoutside. pfc_gap_diagonal_add_right_wtermrightoutside+(M)=(pfc_complement_diagonal_add_right_wterm)) /\ (((pfc_right_diagonal_add_right_wterm)=0))))) /\ (((pfc_value_diagonal_add_right_w)=pfc_left_diagonal_add_right_wterm*pfc_right_diagonal_add_right_wterm))))))))))) -> (exists fs_u_pfc_diagonal_add_right_sum_w fs_v_pfc_diagonal_add_right_sum_w. ((((exists fs_h_pfc_diagonal_add_right_sum_w_body_start. fs_h_pfc_diagonal_add_right_sum_w_body_start + S (0) = S ((S (0)) * fs_v_pfc_diagonal_add_right_sum_w)) /\ exists fs_q_pfc_diagonal_add_right_sum_w_body_start. fs_u_pfc_diagonal_add_right_sum_w = fs_q_pfc_diagonal_add_right_sum_w_body_start * S ((S (0)) * fs_v_pfc_diagonal_add_right_sum_w) + (0))) /\ ((((exists fs_h_pfc_diagonal_add_right_sum_w_body_terminal. fs_h_pfc_diagonal_add_right_sum_w_body_terminal + S (w) = S ((S (N)) * fs_v_pfc_diagonal_add_right_sum_w)) /\ exists fs_q_pfc_diagonal_add_right_sum_w_body_terminal. fs_u_pfc_diagonal_add_right_sum_w = fs_q_pfc_diagonal_add_right_sum_w_body_terminal * S ((S (N)) * fs_v_pfc_diagonal_add_right_sum_w) + (w))) /\ forall fs_i_pfc_diagonal_add_right_sum_w_body_steps. (exists fs_lt_pfc_diagonal_add_right_sum_w_body_steps_bound. fs_lt_pfc_diagonal_add_right_sum_w_body_steps_bound + S fs_i_pfc_diagonal_add_right_sum_w_body_steps = N) -> exists fs_a_pfc_diagonal_add_right_sum_w_body_steps fs_r_pfc_diagonal_add_right_sum_w_body_steps fs_s_pfc_diagonal_add_right_sum_w_body_steps. ((((exists fs_h_pfc_diagonal_add_right_sum_w_body_steps_summand. fs_h_pfc_diagonal_add_right_sum_w_body_steps_summand + S (fs_a_pfc_diagonal_add_right_sum_w_body_steps) = S ((S (fs_i_pfc_diagonal_add_right_sum_w_body_steps)) * wc)) /\ exists fs_q_pfc_diagonal_add_right_sum_w_body_steps_summand. wb = fs_q_pfc_diagonal_add_right_sum_w_body_steps_summand * S ((S (fs_i_pfc_diagonal_add_right_sum_w_body_steps)) * wc) + (fs_a_pfc_diagonal_add_right_sum_w_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_right_sum_w_body_steps_partial. fs_h_pfc_diagonal_add_right_sum_w_body_steps_partial + S (fs_r_pfc_diagonal_add_right_sum_w_body_steps) = S ((S (fs_i_pfc_diagonal_add_right_sum_w_body_steps)) * fs_v_pfc_diagonal_add_right_sum_w)) /\ exists fs_q_pfc_diagonal_add_right_sum_w_body_steps_partial. fs_u_pfc_diagonal_add_right_sum_w = fs_q_pfc_diagonal_add_right_sum_w_body_steps_partial * S ((S (fs_i_pfc_diagonal_add_right_sum_w_body_steps)) * fs_v_pfc_diagonal_add_right_sum_w) + (fs_r_pfc_diagonal_add_right_sum_w_body_steps))) /\ ((((exists fs_h_pfc_diagonal_add_right_sum_w_body_steps_successor. fs_h_pfc_diagonal_add_right_sum_w_body_steps_successor + S (fs_s_pfc_diagonal_add_right_sum_w_body_steps) = S ((S (S fs_i_pfc_diagonal_add_right_sum_w_body_steps)) * fs_v_pfc_diagonal_add_right_sum_w)) /\ exists fs_q_pfc_diagonal_add_right_sum_w_body_steps_successor. fs_u_pfc_diagonal_add_right_sum_w = fs_q_pfc_diagonal_add_right_sum_w_body_steps_successor * S ((S (S fs_i_pfc_diagonal_add_right_sum_w_body_steps)) * fs_v_pfc_diagonal_add_right_sum_w) + (fs_s_pfc_diagonal_add_right_sum_w_body_steps))) /\ fs_s_pfc_diagonal_add_right_sum_w_body_steps = fs_r_pfc_diagonal_add_right_sum_w_body_steps + fs_a_pfc_diagonal_add_right_sum_w_body_steps)))))) -> (exists pfa_offset_left_diagonal_add_right_result pfa_offset_right_diagonal_add_right_result. (u+v) + (p) * pfa_offset_left_diagonal_add_right_result = (w) + (p) * pfa_offset_right_diagonal_add_right_result)
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro iintro Nintro ubintro ucintro vbintro vcintro wbintro wcintro uintro vintro wintro hsintro hduintro hsvintro hdvintro hsvvintro hdwintro hswspecialize beta_sum_pointwise_mod_add (p)specialize beta_sum_pointwise_mod_add (ub)specialize beta_sum_pointwise_mod_add (uc)specialize beta_sum_pointwise_mod_add (vb)specialize beta_sum_pointwise_mod_add (vc)specialize beta_sum_pointwise_mod_add (wb)specialize beta_sum_pointwise_mod_add (wc)specialize beta_sum_pointwise_mod_add (N)specialize beta_sum_pointwise_mod_add (u)specialize beta_sum_pointwise_mod_add (v)specialize beta_sum_pointwise_mod_add (w)apply beta_sum_pointwise_mod_addexact hsvexact hsvvexact hswintro jintro aintro bintro cintro hjintro haintro hbintro hcspecialize polynomial_diagonal_term_right_add_congruent (p)specialize polynomial_diagonal_term_right_add_congruent (ab)specialize polynomial_diagonal_term_right_add_congruent (ac)specialize polynomial_diagonal_term_right_add_congruent (bb)specialize polynomial_diagonal_term_right_add_congruent (bc)specialize polynomial_diagonal_term_right_add_congruent (cb)specialize polynomial_diagonal_term_right_add_congruent (cc)specialize polynomial_diagonal_term_right_add_congruent (L)specialize polynomial_diagonal_term_right_add_congruent (db)specialize polynomial_diagonal_term_right_add_congruent (dc)specialize polynomial_diagonal_term_right_add_congruent (M)specialize polynomial_diagonal_term_right_add_congruent (i)specialize polynomial_diagonal_term_right_add_congruent (j)specialize polynomial_diagonal_term_right_add_congruent (a)specialize polynomial_diagonal_term_right_add_congruent (b)specialize polynomial_diagonal_term_right_add_congruent (c)apply polynomial_diagonal_term_right_add_congruentexact hsspecialize polynomial_diagonal_prefix_entry (ab)specialize polynomial_diagonal_prefix_entry (ac)specialize polynomial_diagonal_prefix_entry (L)specialize polynomial_diagonal_prefix_entry (db)specialize polynomial_diagonal_prefix_entry (dc)specialize polynomial_diagonal_prefix_entry (M)specialize polynomial_diagonal_prefix_entry (i)specialize polynomial_diagonal_prefix_entry (ub)specialize polynomial_diagonal_prefix_entry (uc)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (j)specialize polynomial_diagonal_prefix_entry (a)apply polynomial_diagonal_prefix_entryexact hduexact hjexact haspecialize polynomial_diagonal_prefix_entry (bb)specialize polynomial_diagonal_prefix_entry (bc)specialize polynomial_diagonal_prefix_entry (L)specialize polynomial_diagonal_prefix_entry (db)specialize polynomial_diagonal_prefix_entry (dc)specialize polynomial_diagonal_prefix_entry (M)specialize polynomial_diagonal_prefix_entry (i)specialize polynomial_diagonal_prefix_entry (vb)specialize polynomial_diagonal_prefix_entry (vc)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (j)specialize polynomial_diagonal_prefix_entry (b)apply polynomial_diagonal_prefix_entryexact hdvexact hjexact hbspecialize polynomial_diagonal_prefix_entry (cb)specialize polynomial_diagonal_prefix_entry (cc)specialize polynomial_diagonal_prefix_entry (L)specialize polynomial_diagonal_prefix_entry (db)specialize polynomial_diagonal_prefix_entry (dc)specialize polynomial_diagonal_prefix_entry (M)specialize polynomial_diagonal_prefix_entry (i)specialize polynomial_diagonal_prefix_entry (wb)specialize polynomial_diagonal_prefix_entry (wc)specialize polynomial_diagonal_prefix_entry (N)specialize polynomial_diagonal_prefix_entry (j)specialize polynomial_diagonal_prefix_entry (c)apply polynomial_diagonal_prefix_entryexact hdwexact hjexact hc
prime_field_convolution_coefficient_right_add · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M i u v w. (forall pfp_index_coefficient_add_right_source. (exists pfa_gap_coefficient_add_right_sourceindex. pfa_gap_coefficient_add_right_sourceindex + S (pfp_index_coefficient_add_right_source) = (L)) -> exists pfp_left_coefficient_add_right_source pfp_right_coefficient_add_right_source pfp_value_coefficient_add_right_source. ((((exists ff_h_pfp_coefficient_add_right_sourceleft. ff_h_pfp_coefficient_add_right_sourceleft + S (pfp_left_coefficient_add_right_source) = S ((S (pfp_index_coefficient_add_right_source)) * ac)) /\ exists ff_q_pfp_coefficient_add_right_sourceleft. ab = ff_q_pfp_coefficient_add_right_sourceleft * S ((S (pfp_index_coefficient_add_right_source)) * ac) + (pfp_left_coefficient_add_right_source))) /\ (((((exists ff_h_pfp_coefficient_add_right_sourceright. ff_h_pfp_coefficient_add_right_sourceright + S (pfp_right_coefficient_add_right_source) = S ((S (pfp_index_coefficient_add_right_source)) * bc)) /\ exists ff_q_pfp_coefficient_add_right_sourceright. bb = ff_q_pfp_coefficient_add_right_sourceright * S ((S (pfp_index_coefficient_add_right_source)) * bc) + (pfp_right_coefficient_add_right_source))) /\ (((((exists ff_h_pfp_coefficient_add_right_sourcetarget. ff_h_pfp_coefficient_add_right_sourcetarget + S (pfp_value_coefficient_add_right_source) = S ((S (pfp_index_coefficient_add_right_source)) * cc)) /\ exists ff_q_pfp_coefficient_add_right_sourcetarget. cb = ff_q_pfp_coefficient_add_right_sourcetarget * S ((S (pfp_index_coefficient_add_right_source)) * cc) + (pfp_value_coefficient_add_right_source))) /\ ((((exists pfa_gap_coefficient_add_right_sourceoperationleft. pfa_gap_coefficient_add_right_sourceoperationleft + S (pfp_left_coefficient_add_right_source) = (p)) /\ (((exists pfa_gap_coefficient_add_right_sourceoperationright. pfa_gap_coefficient_add_right_sourceoperationright + S (pfp_right_coefficient_add_right_source) = (p)) /\ ((((exists pfa_gap_coefficient_add_right_sourceoperationresultbound. pfa_gap_coefficient_add_right_sourceoperationresultbound + S (pfp_value_coefficient_add_right_source) = (p)) /\ ((exists pfa_offset_left_coefficient_add_right_sourceoperationresultcongruence pfa_offset_right_coefficient_add_right_sourceoperationresultcongruence. ((pfp_left_coefficient_add_right_source) + (pfp_right_coefficient_add_right_source)) + (p) * pfa_offset_left_coefficient_add_right_sourceoperationresultcongruence = (pfp_value_coefficient_add_right_source) + (p) * pfa_offset_right_coefficient_add_right_sourceoperationresultcongruence)))))))))))))))) -> (exists pfc_terms_code_coefficient_add_right_u pfc_terms_scale_coefficient_add_right_u pfc_natural_sum_coefficient_add_right_u. ((forall pfc_index_coefficient_add_right_udiagonal. (exists pfa_gap_coefficient_add_right_udiagonalbound. pfa_gap_coefficient_add_right_udiagonalbound + S (pfc_index_coefficient_add_right_udiagonal) = (S (i))) -> exists pfc_value_coefficient_add_right_udiagonal. ((((exists ff_h_pfp_coefficient_add_right_udiagonalentry. ff_h_pfp_coefficient_add_right_udiagonalentry + S (pfc_value_coefficient_add_right_udiagonal) = S ((S (pfc_index_coefficient_add_right_udiagonal)) * pfc_terms_scale_coefficient_add_right_u)) /\ exists ff_q_pfp_coefficient_add_right_udiagonalentry. pfc_terms_code_coefficient_add_right_u = ff_q_pfp_coefficient_add_right_udiagonalentry * S ((S (pfc_index_coefficient_add_right_udiagonal)) * pfc_terms_scale_coefficient_add_right_u) + (pfc_value_coefficient_add_right_udiagonal))) /\ ((exists pfc_complement_coefficient_add_right_udiagonalterm pfc_left_coefficient_add_right_udiagonalterm pfc_right_coefficient_add_right_udiagonalterm. (((pfc_index_coefficient_add_right_udiagonal)+pfc_complement_coefficient_add_right_udiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_add_right_udiagonaltermleftinside. pfa_gap_coefficient_add_right_udiagonaltermleftinside + S (pfc_index_coefficient_add_right_udiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_add_right_udiagonaltermleftentry. ff_h_pfp_coefficient_add_right_udiagonaltermleftentry + S (pfc_left_coefficient_add_right_udiagonalterm) = S ((S (pfc_index_coefficient_add_right_udiagonal)) * ac)) /\ exists ff_q_pfp_coefficient_add_right_udiagonaltermleftentry. ab = ff_q_pfp_coefficient_add_right_udiagonaltermleftentry * S ((S (pfc_index_coefficient_add_right_udiagonal)) * ac) + (pfc_left_coefficient_add_right_udiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_right_udiagonaltermleftoutside. pfc_gap_coefficient_add_right_udiagonaltermleftoutside+(L)=(pfc_index_coefficient_add_right_udiagonal)) /\ (((pfc_left_coefficient_add_right_udiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_add_right_udiagonaltermrightinside. pfa_gap_coefficient_add_right_udiagonaltermrightinside + S (pfc_complement_coefficient_add_right_udiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_add_right_udiagonaltermrightentry. ff_h_pfp_coefficient_add_right_udiagonaltermrightentry + S (pfc_right_coefficient_add_right_udiagonalterm) = S ((S (pfc_complement_coefficient_add_right_udiagonalterm)) * dc)) /\ exists ff_q_pfp_coefficient_add_right_udiagonaltermrightentry. db = ff_q_pfp_coefficient_add_right_udiagonaltermrightentry * S ((S (pfc_complement_coefficient_add_right_udiagonalterm)) * dc) + (pfc_right_coefficient_add_right_udiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_right_udiagonaltermrightoutside. pfc_gap_coefficient_add_right_udiagonaltermrightoutside+(M)=(pfc_complement_coefficient_add_right_udiagonalterm)) /\ (((pfc_right_coefficient_add_right_udiagonalterm)=0))))) /\ (((pfc_value_coefficient_add_right_udiagonal)=pfc_left_coefficient_add_right_udiagonalterm*pfc_right_coefficient_add_right_udiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_add_right_usum fs_v_pfc_coefficient_add_right_usum. ((((exists fs_h_pfc_coefficient_add_right_usum_body_start. fs_h_pfc_coefficient_add_right_usum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_add_right_usum)) /\ exists fs_q_pfc_coefficient_add_right_usum_body_start. fs_u_pfc_coefficient_add_right_usum = fs_q_pfc_coefficient_add_right_usum_body_start * S ((S (0)) * fs_v_pfc_coefficient_add_right_usum) + (0))) /\ ((((exists fs_h_pfc_coefficient_add_right_usum_body_terminal. fs_h_pfc_coefficient_add_right_usum_body_terminal + S (pfc_natural_sum_coefficient_add_right_u) = S ((S (S (i))) * fs_v_pfc_coefficient_add_right_usum)) /\ exists fs_q_pfc_coefficient_add_right_usum_body_terminal. fs_u_pfc_coefficient_add_right_usum = fs_q_pfc_coefficient_add_right_usum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_add_right_usum) + (pfc_natural_sum_coefficient_add_right_u))) /\ forall fs_i_pfc_coefficient_add_right_usum_body_steps. (exists fs_lt_pfc_coefficient_add_right_usum_body_steps_bound. fs_lt_pfc_coefficient_add_right_usum_body_steps_bound + S fs_i_pfc_coefficient_add_right_usum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_add_right_usum_body_steps fs_r_pfc_coefficient_add_right_usum_body_steps fs_s_pfc_coefficient_add_right_usum_body_steps. ((((exists fs_h_pfc_coefficient_add_right_usum_body_steps_summand. fs_h_pfc_coefficient_add_right_usum_body_steps_summand + S (fs_a_pfc_coefficient_add_right_usum_body_steps) = S ((S (fs_i_pfc_coefficient_add_right_usum_body_steps)) * pfc_terms_scale_coefficient_add_right_u)) /\ exists fs_q_pfc_coefficient_add_right_usum_body_steps_summand. pfc_terms_code_coefficient_add_right_u = fs_q_pfc_coefficient_add_right_usum_body_steps_summand * S ((S (fs_i_pfc_coefficient_add_right_usum_body_steps)) * pfc_terms_scale_coefficient_add_right_u) + (fs_a_pfc_coefficient_add_right_usum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_right_usum_body_steps_partial. fs_h_pfc_coefficient_add_right_usum_body_steps_partial + S (fs_r_pfc_coefficient_add_right_usum_body_steps) = S ((S (fs_i_pfc_coefficient_add_right_usum_body_steps)) * fs_v_pfc_coefficient_add_right_usum)) /\ exists fs_q_pfc_coefficient_add_right_usum_body_steps_partial. fs_u_pfc_coefficient_add_right_usum = fs_q_pfc_coefficient_add_right_usum_body_steps_partial * S ((S (fs_i_pfc_coefficient_add_right_usum_body_steps)) * fs_v_pfc_coefficient_add_right_usum) + (fs_r_pfc_coefficient_add_right_usum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_right_usum_body_steps_successor. fs_h_pfc_coefficient_add_right_usum_body_steps_successor + S (fs_s_pfc_coefficient_add_right_usum_body_steps) = S ((S (S fs_i_pfc_coefficient_add_right_usum_body_steps)) * fs_v_pfc_coefficient_add_right_usum)) /\ exists fs_q_pfc_coefficient_add_right_usum_body_steps_successor. fs_u_pfc_coefficient_add_right_usum = fs_q_pfc_coefficient_add_right_usum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_add_right_usum_body_steps)) * fs_v_pfc_coefficient_add_right_usum) + (fs_s_pfc_coefficient_add_right_usum_body_steps))) /\ fs_s_pfc_coefficient_add_right_usum_body_steps = fs_r_pfc_coefficient_add_right_usum_body_steps + fs_a_pfc_coefficient_add_right_usum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_add_right_uresiduebound. pfa_gap_coefficient_add_right_uresiduebound + S (u) = (p)) /\ ((exists pfa_offset_left_coefficient_add_right_uresiduecongruence pfa_offset_right_coefficient_add_right_uresiduecongruence. (pfc_natural_sum_coefficient_add_right_u) + (p) * pfa_offset_left_coefficient_add_right_uresiduecongruence = (u) + (p) * pfa_offset_right_coefficient_add_right_uresiduecongruence))))))))) -> (exists pfc_terms_code_coefficient_add_right_v pfc_terms_scale_coefficient_add_right_v pfc_natural_sum_coefficient_add_right_v. ((forall pfc_index_coefficient_add_right_vdiagonal. (exists pfa_gap_coefficient_add_right_vdiagonalbound. pfa_gap_coefficient_add_right_vdiagonalbound + S (pfc_index_coefficient_add_right_vdiagonal) = (S (i))) -> exists pfc_value_coefficient_add_right_vdiagonal. ((((exists ff_h_pfp_coefficient_add_right_vdiagonalentry. ff_h_pfp_coefficient_add_right_vdiagonalentry + S (pfc_value_coefficient_add_right_vdiagonal) = S ((S (pfc_index_coefficient_add_right_vdiagonal)) * pfc_terms_scale_coefficient_add_right_v)) /\ exists ff_q_pfp_coefficient_add_right_vdiagonalentry. pfc_terms_code_coefficient_add_right_v = ff_q_pfp_coefficient_add_right_vdiagonalentry * S ((S (pfc_index_coefficient_add_right_vdiagonal)) * pfc_terms_scale_coefficient_add_right_v) + (pfc_value_coefficient_add_right_vdiagonal))) /\ ((exists pfc_complement_coefficient_add_right_vdiagonalterm pfc_left_coefficient_add_right_vdiagonalterm pfc_right_coefficient_add_right_vdiagonalterm. (((pfc_index_coefficient_add_right_vdiagonal)+pfc_complement_coefficient_add_right_vdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_add_right_vdiagonaltermleftinside. pfa_gap_coefficient_add_right_vdiagonaltermleftinside + S (pfc_index_coefficient_add_right_vdiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_add_right_vdiagonaltermleftentry. ff_h_pfp_coefficient_add_right_vdiagonaltermleftentry + S (pfc_left_coefficient_add_right_vdiagonalterm) = S ((S (pfc_index_coefficient_add_right_vdiagonal)) * bc)) /\ exists ff_q_pfp_coefficient_add_right_vdiagonaltermleftentry. bb = ff_q_pfp_coefficient_add_right_vdiagonaltermleftentry * S ((S (pfc_index_coefficient_add_right_vdiagonal)) * bc) + (pfc_left_coefficient_add_right_vdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_right_vdiagonaltermleftoutside. pfc_gap_coefficient_add_right_vdiagonaltermleftoutside+(L)=(pfc_index_coefficient_add_right_vdiagonal)) /\ (((pfc_left_coefficient_add_right_vdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_add_right_vdiagonaltermrightinside. pfa_gap_coefficient_add_right_vdiagonaltermrightinside + S (pfc_complement_coefficient_add_right_vdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_add_right_vdiagonaltermrightentry. ff_h_pfp_coefficient_add_right_vdiagonaltermrightentry + S (pfc_right_coefficient_add_right_vdiagonalterm) = S ((S (pfc_complement_coefficient_add_right_vdiagonalterm)) * dc)) /\ exists ff_q_pfp_coefficient_add_right_vdiagonaltermrightentry. db = ff_q_pfp_coefficient_add_right_vdiagonaltermrightentry * S ((S (pfc_complement_coefficient_add_right_vdiagonalterm)) * dc) + (pfc_right_coefficient_add_right_vdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_right_vdiagonaltermrightoutside. pfc_gap_coefficient_add_right_vdiagonaltermrightoutside+(M)=(pfc_complement_coefficient_add_right_vdiagonalterm)) /\ (((pfc_right_coefficient_add_right_vdiagonalterm)=0))))) /\ (((pfc_value_coefficient_add_right_vdiagonal)=pfc_left_coefficient_add_right_vdiagonalterm*pfc_right_coefficient_add_right_vdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_add_right_vsum fs_v_pfc_coefficient_add_right_vsum. ((((exists fs_h_pfc_coefficient_add_right_vsum_body_start. fs_h_pfc_coefficient_add_right_vsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_add_right_vsum)) /\ exists fs_q_pfc_coefficient_add_right_vsum_body_start. fs_u_pfc_coefficient_add_right_vsum = fs_q_pfc_coefficient_add_right_vsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_add_right_vsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_add_right_vsum_body_terminal. fs_h_pfc_coefficient_add_right_vsum_body_terminal + S (pfc_natural_sum_coefficient_add_right_v) = S ((S (S (i))) * fs_v_pfc_coefficient_add_right_vsum)) /\ exists fs_q_pfc_coefficient_add_right_vsum_body_terminal. fs_u_pfc_coefficient_add_right_vsum = fs_q_pfc_coefficient_add_right_vsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_add_right_vsum) + (pfc_natural_sum_coefficient_add_right_v))) /\ forall fs_i_pfc_coefficient_add_right_vsum_body_steps. (exists fs_lt_pfc_coefficient_add_right_vsum_body_steps_bound. fs_lt_pfc_coefficient_add_right_vsum_body_steps_bound + S fs_i_pfc_coefficient_add_right_vsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_add_right_vsum_body_steps fs_r_pfc_coefficient_add_right_vsum_body_steps fs_s_pfc_coefficient_add_right_vsum_body_steps. ((((exists fs_h_pfc_coefficient_add_right_vsum_body_steps_summand. fs_h_pfc_coefficient_add_right_vsum_body_steps_summand + S (fs_a_pfc_coefficient_add_right_vsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_right_vsum_body_steps)) * pfc_terms_scale_coefficient_add_right_v)) /\ exists fs_q_pfc_coefficient_add_right_vsum_body_steps_summand. pfc_terms_code_coefficient_add_right_v = fs_q_pfc_coefficient_add_right_vsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_add_right_vsum_body_steps)) * pfc_terms_scale_coefficient_add_right_v) + (fs_a_pfc_coefficient_add_right_vsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_right_vsum_body_steps_partial. fs_h_pfc_coefficient_add_right_vsum_body_steps_partial + S (fs_r_pfc_coefficient_add_right_vsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_right_vsum_body_steps)) * fs_v_pfc_coefficient_add_right_vsum)) /\ exists fs_q_pfc_coefficient_add_right_vsum_body_steps_partial. fs_u_pfc_coefficient_add_right_vsum = fs_q_pfc_coefficient_add_right_vsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_add_right_vsum_body_steps)) * fs_v_pfc_coefficient_add_right_vsum) + (fs_r_pfc_coefficient_add_right_vsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_right_vsum_body_steps_successor. fs_h_pfc_coefficient_add_right_vsum_body_steps_successor + S (fs_s_pfc_coefficient_add_right_vsum_body_steps) = S ((S (S fs_i_pfc_coefficient_add_right_vsum_body_steps)) * fs_v_pfc_coefficient_add_right_vsum)) /\ exists fs_q_pfc_coefficient_add_right_vsum_body_steps_successor. fs_u_pfc_coefficient_add_right_vsum = fs_q_pfc_coefficient_add_right_vsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_add_right_vsum_body_steps)) * fs_v_pfc_coefficient_add_right_vsum) + (fs_s_pfc_coefficient_add_right_vsum_body_steps))) /\ fs_s_pfc_coefficient_add_right_vsum_body_steps = fs_r_pfc_coefficient_add_right_vsum_body_steps + fs_a_pfc_coefficient_add_right_vsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_add_right_vresiduebound. pfa_gap_coefficient_add_right_vresiduebound + S (v) = (p)) /\ ((exists pfa_offset_left_coefficient_add_right_vresiduecongruence pfa_offset_right_coefficient_add_right_vresiduecongruence. (pfc_natural_sum_coefficient_add_right_v) + (p) * pfa_offset_left_coefficient_add_right_vresiduecongruence = (v) + (p) * pfa_offset_right_coefficient_add_right_vresiduecongruence))))))))) -> (exists pfc_terms_code_coefficient_add_right_w pfc_terms_scale_coefficient_add_right_w pfc_natural_sum_coefficient_add_right_w. ((forall pfc_index_coefficient_add_right_wdiagonal. (exists pfa_gap_coefficient_add_right_wdiagonalbound. pfa_gap_coefficient_add_right_wdiagonalbound + S (pfc_index_coefficient_add_right_wdiagonal) = (S (i))) -> exists pfc_value_coefficient_add_right_wdiagonal. ((((exists ff_h_pfp_coefficient_add_right_wdiagonalentry. ff_h_pfp_coefficient_add_right_wdiagonalentry + S (pfc_value_coefficient_add_right_wdiagonal) = S ((S (pfc_index_coefficient_add_right_wdiagonal)) * pfc_terms_scale_coefficient_add_right_w)) /\ exists ff_q_pfp_coefficient_add_right_wdiagonalentry. pfc_terms_code_coefficient_add_right_w = ff_q_pfp_coefficient_add_right_wdiagonalentry * S ((S (pfc_index_coefficient_add_right_wdiagonal)) * pfc_terms_scale_coefficient_add_right_w) + (pfc_value_coefficient_add_right_wdiagonal))) /\ ((exists pfc_complement_coefficient_add_right_wdiagonalterm pfc_left_coefficient_add_right_wdiagonalterm pfc_right_coefficient_add_right_wdiagonalterm. (((pfc_index_coefficient_add_right_wdiagonal)+pfc_complement_coefficient_add_right_wdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_add_right_wdiagonaltermleftinside. pfa_gap_coefficient_add_right_wdiagonaltermleftinside + S (pfc_index_coefficient_add_right_wdiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_add_right_wdiagonaltermleftentry. ff_h_pfp_coefficient_add_right_wdiagonaltermleftentry + S (pfc_left_coefficient_add_right_wdiagonalterm) = S ((S (pfc_index_coefficient_add_right_wdiagonal)) * cc)) /\ exists ff_q_pfp_coefficient_add_right_wdiagonaltermleftentry. cb = ff_q_pfp_coefficient_add_right_wdiagonaltermleftentry * S ((S (pfc_index_coefficient_add_right_wdiagonal)) * cc) + (pfc_left_coefficient_add_right_wdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_right_wdiagonaltermleftoutside. pfc_gap_coefficient_add_right_wdiagonaltermleftoutside+(L)=(pfc_index_coefficient_add_right_wdiagonal)) /\ (((pfc_left_coefficient_add_right_wdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_add_right_wdiagonaltermrightinside. pfa_gap_coefficient_add_right_wdiagonaltermrightinside + S (pfc_complement_coefficient_add_right_wdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_add_right_wdiagonaltermrightentry. ff_h_pfp_coefficient_add_right_wdiagonaltermrightentry + S (pfc_right_coefficient_add_right_wdiagonalterm) = S ((S (pfc_complement_coefficient_add_right_wdiagonalterm)) * dc)) /\ exists ff_q_pfp_coefficient_add_right_wdiagonaltermrightentry. db = ff_q_pfp_coefficient_add_right_wdiagonaltermrightentry * S ((S (pfc_complement_coefficient_add_right_wdiagonalterm)) * dc) + (pfc_right_coefficient_add_right_wdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_add_right_wdiagonaltermrightoutside. pfc_gap_coefficient_add_right_wdiagonaltermrightoutside+(M)=(pfc_complement_coefficient_add_right_wdiagonalterm)) /\ (((pfc_right_coefficient_add_right_wdiagonalterm)=0))))) /\ (((pfc_value_coefficient_add_right_wdiagonal)=pfc_left_coefficient_add_right_wdiagonalterm*pfc_right_coefficient_add_right_wdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_add_right_wsum fs_v_pfc_coefficient_add_right_wsum. ((((exists fs_h_pfc_coefficient_add_right_wsum_body_start. fs_h_pfc_coefficient_add_right_wsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_add_right_wsum)) /\ exists fs_q_pfc_coefficient_add_right_wsum_body_start. fs_u_pfc_coefficient_add_right_wsum = fs_q_pfc_coefficient_add_right_wsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_add_right_wsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_add_right_wsum_body_terminal. fs_h_pfc_coefficient_add_right_wsum_body_terminal + S (pfc_natural_sum_coefficient_add_right_w) = S ((S (S (i))) * fs_v_pfc_coefficient_add_right_wsum)) /\ exists fs_q_pfc_coefficient_add_right_wsum_body_terminal. fs_u_pfc_coefficient_add_right_wsum = fs_q_pfc_coefficient_add_right_wsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_add_right_wsum) + (pfc_natural_sum_coefficient_add_right_w))) /\ forall fs_i_pfc_coefficient_add_right_wsum_body_steps. (exists fs_lt_pfc_coefficient_add_right_wsum_body_steps_bound. fs_lt_pfc_coefficient_add_right_wsum_body_steps_bound + S fs_i_pfc_coefficient_add_right_wsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_add_right_wsum_body_steps fs_r_pfc_coefficient_add_right_wsum_body_steps fs_s_pfc_coefficient_add_right_wsum_body_steps. ((((exists fs_h_pfc_coefficient_add_right_wsum_body_steps_summand. fs_h_pfc_coefficient_add_right_wsum_body_steps_summand + S (fs_a_pfc_coefficient_add_right_wsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_right_wsum_body_steps)) * pfc_terms_scale_coefficient_add_right_w)) /\ exists fs_q_pfc_coefficient_add_right_wsum_body_steps_summand. pfc_terms_code_coefficient_add_right_w = fs_q_pfc_coefficient_add_right_wsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_add_right_wsum_body_steps)) * pfc_terms_scale_coefficient_add_right_w) + (fs_a_pfc_coefficient_add_right_wsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_right_wsum_body_steps_partial. fs_h_pfc_coefficient_add_right_wsum_body_steps_partial + S (fs_r_pfc_coefficient_add_right_wsum_body_steps) = S ((S (fs_i_pfc_coefficient_add_right_wsum_body_steps)) * fs_v_pfc_coefficient_add_right_wsum)) /\ exists fs_q_pfc_coefficient_add_right_wsum_body_steps_partial. fs_u_pfc_coefficient_add_right_wsum = fs_q_pfc_coefficient_add_right_wsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_add_right_wsum_body_steps)) * fs_v_pfc_coefficient_add_right_wsum) + (fs_r_pfc_coefficient_add_right_wsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_add_right_wsum_body_steps_successor. fs_h_pfc_coefficient_add_right_wsum_body_steps_successor + S (fs_s_pfc_coefficient_add_right_wsum_body_steps) = S ((S (S fs_i_pfc_coefficient_add_right_wsum_body_steps)) * fs_v_pfc_coefficient_add_right_wsum)) /\ exists fs_q_pfc_coefficient_add_right_wsum_body_steps_successor. fs_u_pfc_coefficient_add_right_wsum = fs_q_pfc_coefficient_add_right_wsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_add_right_wsum_body_steps)) * fs_v_pfc_coefficient_add_right_wsum) + (fs_s_pfc_coefficient_add_right_wsum_body_steps))) /\ fs_s_pfc_coefficient_add_right_wsum_body_steps = fs_r_pfc_coefficient_add_right_wsum_body_steps + fs_a_pfc_coefficient_add_right_wsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_add_right_wresiduebound. pfa_gap_coefficient_add_right_wresiduebound + S (w) = (p)) /\ ((exists pfa_offset_left_coefficient_add_right_wresiduecongruence pfa_offset_right_coefficient_add_right_wresiduecongruence. (pfc_natural_sum_coefficient_add_right_w) + (p) * pfa_offset_left_coefficient_add_right_wresiduecongruence = (w) + (p) * pfa_offset_right_coefficient_add_right_wresiduecongruence))))))))) -> (((exists pfa_gap_coefficient_add_right_resultleft. pfa_gap_coefficient_add_right_resultleft + S (u) = (p)) /\ (((exists pfa_gap_coefficient_add_right_resultright. pfa_gap_coefficient_add_right_resultright + S (v) = (p)) /\ ((((exists pfa_gap_coefficient_add_right_resultresultbound. pfa_gap_coefficient_add_right_resultresultbound + S (w) = (p)) /\ ((exists pfa_offset_left_coefficient_add_right_resultresultcongruence pfa_offset_right_coefficient_add_right_resultresultcongruence. ((u) + (v)) + (p) * pfa_offset_left_coefficient_add_right_resultresultcongruence = (w) + (p) * pfa_offset_right_coefficient_add_right_resultresultcongruence)))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro iintro uintro vintro wintro hsintro huintro hvintro hwcases hucases hu_witnesscases hu_witness_witnesscases hu_witness_witness_witnesscases hu_witness_witness_witness_rightcases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hwcases hw_witnesscases hw_witness_witnesscases hw_witness_witness_witnesscases hw_witness_witness_witness_righthave hsum : exists pfa_offset_left_coefficient_add_right_sum pfa_offset_right_coefficient_add_right_sum. (x2+x5) + (p) * pfa_offset_left_coefficient_add_right_sum = (x8) + (p) * pfa_offset_right_coefficient_add_right_sumspecialize polynomial_diagonal_sum_right_add_congruent (p)specialize polynomial_diagonal_sum_right_add_congruent (ab)specialize polynomial_diagonal_sum_right_add_congruent (ac)specialize polynomial_diagonal_sum_right_add_congruent (bb)specialize polynomial_diagonal_sum_right_add_congruent (bc)specialize polynomial_diagonal_sum_right_add_congruent (cb)specialize polynomial_diagonal_sum_right_add_congruent (cc)specialize polynomial_diagonal_sum_right_add_congruent (L)specialize polynomial_diagonal_sum_right_add_congruent (db)specialize polynomial_diagonal_sum_right_add_congruent (dc)specialize polynomial_diagonal_sum_right_add_congruent (M)specialize polynomial_diagonal_sum_right_add_congruent (i)specialize polynomial_diagonal_sum_right_add_congruent (S i)specialize polynomial_diagonal_sum_right_add_congruent (x)specialize polynomial_diagonal_sum_right_add_congruent (x1)specialize polynomial_diagonal_sum_right_add_congruent (x3)specialize polynomial_diagonal_sum_right_add_congruent (x4)specialize polynomial_diagonal_sum_right_add_congruent (x6)specialize polynomial_diagonal_sum_right_add_congruent (x7)specialize polynomial_diagonal_sum_right_add_congruent (x2)specialize polynomial_diagonal_sum_right_add_congruent (x5)specialize polynomial_diagonal_sum_right_add_congruent (x8)apply polynomial_diagonal_sum_right_add_congruentexact hsexact hu_witness_witness_witness_leftexact hu_witness_witness_witness_right_leftexact hv_witness_witness_witness_leftexact hv_witness_witness_witness_right_leftexact hw_witness_witness_witness_leftexact hw_witness_witness_witness_right_leftcases hu_witness_witness_witness_right_rightcases hv_witness_witness_witness_right_rightcases hw_witness_witness_witness_right_righthave hraw : exists pfa_offset_left_coefficient_add_right_raw pfa_offset_right_coefficient_add_right_raw. (x2+x5) + (p) * pfa_offset_left_coefficient_add_right_raw = (w) + (p) * pfa_offset_right_coefficient_add_right_rawspecialize mod_eq_trans (p)specialize mod_eq_trans (x2+x5)specialize mod_eq_trans (x8)specialize mod_eq_trans (w)apply mod_eq_transexact hsumexact hw_witness_witness_witness_right_right_rightsplitexact hu_witness_witness_witness_right_right_leftsplitexact hv_witness_witness_witness_right_right_leftsplitexact hw_witness_witness_witness_right_right_leftspecialize mod_eq_trans (p)specialize mod_eq_trans (u+v)specialize mod_eq_trans (x2+x5)specialize mod_eq_trans (w)apply mod_eq_transspecialize mod_eq_symm (p)specialize mod_eq_symm (x2+x5)specialize mod_eq_symm (u+v)apply mod_eq_symmspecialize mod_eq_add (p)specialize mod_eq_add (x2)specialize mod_eq_add (u)specialize mod_eq_add (x5)specialize mod_eq_add (v)apply mod_eq_addexact hu_witness_witness_witness_right_right_rightexact hv_witness_witness_witness_right_right_rightexact hraw
prime_field_convolution_prefix_right_add · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M ub uc vb vc wb wc N. (forall pfp_index_prefix_add_right_source. (exists pfa_gap_prefix_add_right_sourceindex. pfa_gap_prefix_add_right_sourceindex + S (pfp_index_prefix_add_right_source) = (L)) -> exists pfp_left_prefix_add_right_source pfp_right_prefix_add_right_source pfp_value_prefix_add_right_source. ((((exists ff_h_pfp_prefix_add_right_sourceleft. ff_h_pfp_prefix_add_right_sourceleft + S (pfp_left_prefix_add_right_source) = S ((S (pfp_index_prefix_add_right_source)) * ac)) /\ exists ff_q_pfp_prefix_add_right_sourceleft. ab = ff_q_pfp_prefix_add_right_sourceleft * S ((S (pfp_index_prefix_add_right_source)) * ac) + (pfp_left_prefix_add_right_source))) /\ (((((exists ff_h_pfp_prefix_add_right_sourceright. ff_h_pfp_prefix_add_right_sourceright + S (pfp_right_prefix_add_right_source) = S ((S (pfp_index_prefix_add_right_source)) * bc)) /\ exists ff_q_pfp_prefix_add_right_sourceright. bb = ff_q_pfp_prefix_add_right_sourceright * S ((S (pfp_index_prefix_add_right_source)) * bc) + (pfp_right_prefix_add_right_source))) /\ (((((exists ff_h_pfp_prefix_add_right_sourcetarget. ff_h_pfp_prefix_add_right_sourcetarget + S (pfp_value_prefix_add_right_source) = S ((S (pfp_index_prefix_add_right_source)) * cc)) /\ exists ff_q_pfp_prefix_add_right_sourcetarget. cb = ff_q_pfp_prefix_add_right_sourcetarget * S ((S (pfp_index_prefix_add_right_source)) * cc) + (pfp_value_prefix_add_right_source))) /\ ((((exists pfa_gap_prefix_add_right_sourceoperationleft. pfa_gap_prefix_add_right_sourceoperationleft + S (pfp_left_prefix_add_right_source) = (p)) /\ (((exists pfa_gap_prefix_add_right_sourceoperationright. pfa_gap_prefix_add_right_sourceoperationright + S (pfp_right_prefix_add_right_source) = (p)) /\ ((((exists pfa_gap_prefix_add_right_sourceoperationresultbound. pfa_gap_prefix_add_right_sourceoperationresultbound + S (pfp_value_prefix_add_right_source) = (p)) /\ ((exists pfa_offset_left_prefix_add_right_sourceoperationresultcongruence pfa_offset_right_prefix_add_right_sourceoperationresultcongruence. ((pfp_left_prefix_add_right_source) + (pfp_right_prefix_add_right_source)) + (p) * pfa_offset_left_prefix_add_right_sourceoperationresultcongruence = (pfp_value_prefix_add_right_source) + (p) * pfa_offset_right_prefix_add_right_sourceoperationresultcongruence)))))))))))))))) -> (forall pfc_index_prefix_add_right_ub. (exists pfa_gap_prefix_add_right_ubbound. pfa_gap_prefix_add_right_ubbound + S (pfc_index_prefix_add_right_ub) = (N)) -> exists pfc_value_prefix_add_right_ub. ((((exists ff_h_pfp_prefix_add_right_ubentry. ff_h_pfp_prefix_add_right_ubentry + S (pfc_value_prefix_add_right_ub) = S ((S (pfc_index_prefix_add_right_ub)) * uc)) /\ exists ff_q_pfp_prefix_add_right_ubentry. ub = ff_q_pfp_prefix_add_right_ubentry * S ((S (pfc_index_prefix_add_right_ub)) * uc) + (pfc_value_prefix_add_right_ub))) /\ ((exists pfc_terms_code_prefix_add_right_ubcoefficient pfc_terms_scale_prefix_add_right_ubcoefficient pfc_natural_sum_prefix_add_right_ubcoefficient. ((forall pfc_index_prefix_add_right_ubcoefficientdiagonal. (exists pfa_gap_prefix_add_right_ubcoefficientdiagonalbound. pfa_gap_prefix_add_right_ubcoefficientdiagonalbound + S (pfc_index_prefix_add_right_ubcoefficientdiagonal) = (S (pfc_index_prefix_add_right_ub))) -> exists pfc_value_prefix_add_right_ubcoefficientdiagonal. ((((exists ff_h_pfp_prefix_add_right_ubcoefficientdiagonalentry. ff_h_pfp_prefix_add_right_ubcoefficientdiagonalentry + S (pfc_value_prefix_add_right_ubcoefficientdiagonal) = S ((S (pfc_index_prefix_add_right_ubcoefficientdiagonal)) * pfc_terms_scale_prefix_add_right_ubcoefficient)) /\ exists ff_q_pfp_prefix_add_right_ubcoefficientdiagonalentry. pfc_terms_code_prefix_add_right_ubcoefficient = ff_q_pfp_prefix_add_right_ubcoefficientdiagonalentry * S ((S (pfc_index_prefix_add_right_ubcoefficientdiagonal)) * pfc_terms_scale_prefix_add_right_ubcoefficient) + (pfc_value_prefix_add_right_ubcoefficientdiagonal))) /\ ((exists pfc_complement_prefix_add_right_ubcoefficientdiagonalterm pfc_left_prefix_add_right_ubcoefficientdiagonalterm pfc_right_prefix_add_right_ubcoefficientdiagonalterm. (((pfc_index_prefix_add_right_ubcoefficientdiagonal)+pfc_complement_prefix_add_right_ubcoefficientdiagonalterm=(pfc_index_prefix_add_right_ub)) /\ ((((((exists pfa_gap_prefix_add_right_ubcoefficientdiagonaltermleftinside. pfa_gap_prefix_add_right_ubcoefficientdiagonaltermleftinside + S (pfc_index_prefix_add_right_ubcoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_add_right_ubcoefficientdiagonaltermleftentry. ff_h_pfp_prefix_add_right_ubcoefficientdiagonaltermleftentry + S (pfc_left_prefix_add_right_ubcoefficientdiagonalterm) = S ((S (pfc_index_prefix_add_right_ubcoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_prefix_add_right_ubcoefficientdiagonaltermleftentry. ab = ff_q_pfp_prefix_add_right_ubcoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_add_right_ubcoefficientdiagonal)) * ac) + (pfc_left_prefix_add_right_ubcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_ubcoefficientdiagonaltermleftoutside. pfc_gap_prefix_add_right_ubcoefficientdiagonaltermleftoutside+(L)=(pfc_index_prefix_add_right_ubcoefficientdiagonal)) /\ (((pfc_left_prefix_add_right_ubcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_right_ubcoefficientdiagonaltermrightinside. pfa_gap_prefix_add_right_ubcoefficientdiagonaltermrightinside + S (pfc_complement_prefix_add_right_ubcoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_add_right_ubcoefficientdiagonaltermrightentry. ff_h_pfp_prefix_add_right_ubcoefficientdiagonaltermrightentry + S (pfc_right_prefix_add_right_ubcoefficientdiagonalterm) = S ((S (pfc_complement_prefix_add_right_ubcoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_prefix_add_right_ubcoefficientdiagonaltermrightentry. db = ff_q_pfp_prefix_add_right_ubcoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_add_right_ubcoefficientdiagonalterm)) * dc) + (pfc_right_prefix_add_right_ubcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_ubcoefficientdiagonaltermrightoutside. pfc_gap_prefix_add_right_ubcoefficientdiagonaltermrightoutside+(M)=(pfc_complement_prefix_add_right_ubcoefficientdiagonalterm)) /\ (((pfc_right_prefix_add_right_ubcoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_add_right_ubcoefficientdiagonal)=pfc_left_prefix_add_right_ubcoefficientdiagonalterm*pfc_right_prefix_add_right_ubcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_right_ubcoefficientsum fs_v_pfc_prefix_add_right_ubcoefficientsum. ((((exists fs_h_pfc_prefix_add_right_ubcoefficientsum_body_start. fs_h_pfc_prefix_add_right_ubcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_right_ubcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_ubcoefficientsum_body_start. fs_u_pfc_prefix_add_right_ubcoefficientsum = fs_q_pfc_prefix_add_right_ubcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_right_ubcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_right_ubcoefficientsum_body_terminal. fs_h_pfc_prefix_add_right_ubcoefficientsum_body_terminal + S (pfc_natural_sum_prefix_add_right_ubcoefficient) = S ((S (S (pfc_index_prefix_add_right_ub))) * fs_v_pfc_prefix_add_right_ubcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_ubcoefficientsum_body_terminal. fs_u_pfc_prefix_add_right_ubcoefficientsum = fs_q_pfc_prefix_add_right_ubcoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_add_right_ub))) * fs_v_pfc_prefix_add_right_ubcoefficientsum) + (pfc_natural_sum_prefix_add_right_ubcoefficient))) /\ forall fs_i_pfc_prefix_add_right_ubcoefficientsum_body_steps. (exists fs_lt_pfc_prefix_add_right_ubcoefficientsum_body_steps_bound. fs_lt_pfc_prefix_add_right_ubcoefficientsum_body_steps_bound + S fs_i_pfc_prefix_add_right_ubcoefficientsum_body_steps = S (pfc_index_prefix_add_right_ub)) -> exists fs_a_pfc_prefix_add_right_ubcoefficientsum_body_steps fs_r_pfc_prefix_add_right_ubcoefficientsum_body_steps fs_s_pfc_prefix_add_right_ubcoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_add_right_ubcoefficientsum_body_steps_summand. fs_h_pfc_prefix_add_right_ubcoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_add_right_ubcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_ubcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_right_ubcoefficient)) /\ exists fs_q_pfc_prefix_add_right_ubcoefficientsum_body_steps_summand. pfc_terms_code_prefix_add_right_ubcoefficient = fs_q_pfc_prefix_add_right_ubcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_right_ubcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_right_ubcoefficient) + (fs_a_pfc_prefix_add_right_ubcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_ubcoefficientsum_body_steps_partial. fs_h_pfc_prefix_add_right_ubcoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_add_right_ubcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_ubcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_ubcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_ubcoefficientsum_body_steps_partial. fs_u_pfc_prefix_add_right_ubcoefficientsum = fs_q_pfc_prefix_add_right_ubcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_right_ubcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_ubcoefficientsum) + (fs_r_pfc_prefix_add_right_ubcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_ubcoefficientsum_body_steps_successor. fs_h_pfc_prefix_add_right_ubcoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_add_right_ubcoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_add_right_ubcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_ubcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_ubcoefficientsum_body_steps_successor. fs_u_pfc_prefix_add_right_ubcoefficientsum = fs_q_pfc_prefix_add_right_ubcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_right_ubcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_ubcoefficientsum) + (fs_s_pfc_prefix_add_right_ubcoefficientsum_body_steps))) /\ fs_s_pfc_prefix_add_right_ubcoefficientsum_body_steps = fs_r_pfc_prefix_add_right_ubcoefficientsum_body_steps + fs_a_pfc_prefix_add_right_ubcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_right_ubcoefficientresiduebound. pfa_gap_prefix_add_right_ubcoefficientresiduebound + S (pfc_value_prefix_add_right_ub) = (p)) /\ ((exists pfa_offset_left_prefix_add_right_ubcoefficientresiduecongruence pfa_offset_right_prefix_add_right_ubcoefficientresiduecongruence. (pfc_natural_sum_prefix_add_right_ubcoefficient) + (p) * pfa_offset_left_prefix_add_right_ubcoefficientresiduecongruence = (pfc_value_prefix_add_right_ub) + (p) * pfa_offset_right_prefix_add_right_ubcoefficientresiduecongruence)))))))))))) -> (forall pfc_index_prefix_add_right_vb. (exists pfa_gap_prefix_add_right_vbbound. pfa_gap_prefix_add_right_vbbound + S (pfc_index_prefix_add_right_vb) = (N)) -> exists pfc_value_prefix_add_right_vb. ((((exists ff_h_pfp_prefix_add_right_vbentry. ff_h_pfp_prefix_add_right_vbentry + S (pfc_value_prefix_add_right_vb) = S ((S (pfc_index_prefix_add_right_vb)) * vc)) /\ exists ff_q_pfp_prefix_add_right_vbentry. vb = ff_q_pfp_prefix_add_right_vbentry * S ((S (pfc_index_prefix_add_right_vb)) * vc) + (pfc_value_prefix_add_right_vb))) /\ ((exists pfc_terms_code_prefix_add_right_vbcoefficient pfc_terms_scale_prefix_add_right_vbcoefficient pfc_natural_sum_prefix_add_right_vbcoefficient. ((forall pfc_index_prefix_add_right_vbcoefficientdiagonal. (exists pfa_gap_prefix_add_right_vbcoefficientdiagonalbound. pfa_gap_prefix_add_right_vbcoefficientdiagonalbound + S (pfc_index_prefix_add_right_vbcoefficientdiagonal) = (S (pfc_index_prefix_add_right_vb))) -> exists pfc_value_prefix_add_right_vbcoefficientdiagonal. ((((exists ff_h_pfp_prefix_add_right_vbcoefficientdiagonalentry. ff_h_pfp_prefix_add_right_vbcoefficientdiagonalentry + S (pfc_value_prefix_add_right_vbcoefficientdiagonal) = S ((S (pfc_index_prefix_add_right_vbcoefficientdiagonal)) * pfc_terms_scale_prefix_add_right_vbcoefficient)) /\ exists ff_q_pfp_prefix_add_right_vbcoefficientdiagonalentry. pfc_terms_code_prefix_add_right_vbcoefficient = ff_q_pfp_prefix_add_right_vbcoefficientdiagonalentry * S ((S (pfc_index_prefix_add_right_vbcoefficientdiagonal)) * pfc_terms_scale_prefix_add_right_vbcoefficient) + (pfc_value_prefix_add_right_vbcoefficientdiagonal))) /\ ((exists pfc_complement_prefix_add_right_vbcoefficientdiagonalterm pfc_left_prefix_add_right_vbcoefficientdiagonalterm pfc_right_prefix_add_right_vbcoefficientdiagonalterm. (((pfc_index_prefix_add_right_vbcoefficientdiagonal)+pfc_complement_prefix_add_right_vbcoefficientdiagonalterm=(pfc_index_prefix_add_right_vb)) /\ ((((((exists pfa_gap_prefix_add_right_vbcoefficientdiagonaltermleftinside. pfa_gap_prefix_add_right_vbcoefficientdiagonaltermleftinside + S (pfc_index_prefix_add_right_vbcoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_add_right_vbcoefficientdiagonaltermleftentry. ff_h_pfp_prefix_add_right_vbcoefficientdiagonaltermleftentry + S (pfc_left_prefix_add_right_vbcoefficientdiagonalterm) = S ((S (pfc_index_prefix_add_right_vbcoefficientdiagonal)) * bc)) /\ exists ff_q_pfp_prefix_add_right_vbcoefficientdiagonaltermleftentry. bb = ff_q_pfp_prefix_add_right_vbcoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_add_right_vbcoefficientdiagonal)) * bc) + (pfc_left_prefix_add_right_vbcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_vbcoefficientdiagonaltermleftoutside. pfc_gap_prefix_add_right_vbcoefficientdiagonaltermleftoutside+(L)=(pfc_index_prefix_add_right_vbcoefficientdiagonal)) /\ (((pfc_left_prefix_add_right_vbcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_right_vbcoefficientdiagonaltermrightinside. pfa_gap_prefix_add_right_vbcoefficientdiagonaltermrightinside + S (pfc_complement_prefix_add_right_vbcoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_add_right_vbcoefficientdiagonaltermrightentry. ff_h_pfp_prefix_add_right_vbcoefficientdiagonaltermrightentry + S (pfc_right_prefix_add_right_vbcoefficientdiagonalterm) = S ((S (pfc_complement_prefix_add_right_vbcoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_prefix_add_right_vbcoefficientdiagonaltermrightentry. db = ff_q_pfp_prefix_add_right_vbcoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_add_right_vbcoefficientdiagonalterm)) * dc) + (pfc_right_prefix_add_right_vbcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_vbcoefficientdiagonaltermrightoutside. pfc_gap_prefix_add_right_vbcoefficientdiagonaltermrightoutside+(M)=(pfc_complement_prefix_add_right_vbcoefficientdiagonalterm)) /\ (((pfc_right_prefix_add_right_vbcoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_add_right_vbcoefficientdiagonal)=pfc_left_prefix_add_right_vbcoefficientdiagonalterm*pfc_right_prefix_add_right_vbcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_right_vbcoefficientsum fs_v_pfc_prefix_add_right_vbcoefficientsum. ((((exists fs_h_pfc_prefix_add_right_vbcoefficientsum_body_start. fs_h_pfc_prefix_add_right_vbcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_right_vbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_vbcoefficientsum_body_start. fs_u_pfc_prefix_add_right_vbcoefficientsum = fs_q_pfc_prefix_add_right_vbcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_right_vbcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_right_vbcoefficientsum_body_terminal. fs_h_pfc_prefix_add_right_vbcoefficientsum_body_terminal + S (pfc_natural_sum_prefix_add_right_vbcoefficient) = S ((S (S (pfc_index_prefix_add_right_vb))) * fs_v_pfc_prefix_add_right_vbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_vbcoefficientsum_body_terminal. fs_u_pfc_prefix_add_right_vbcoefficientsum = fs_q_pfc_prefix_add_right_vbcoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_add_right_vb))) * fs_v_pfc_prefix_add_right_vbcoefficientsum) + (pfc_natural_sum_prefix_add_right_vbcoefficient))) /\ forall fs_i_pfc_prefix_add_right_vbcoefficientsum_body_steps. (exists fs_lt_pfc_prefix_add_right_vbcoefficientsum_body_steps_bound. fs_lt_pfc_prefix_add_right_vbcoefficientsum_body_steps_bound + S fs_i_pfc_prefix_add_right_vbcoefficientsum_body_steps = S (pfc_index_prefix_add_right_vb)) -> exists fs_a_pfc_prefix_add_right_vbcoefficientsum_body_steps fs_r_pfc_prefix_add_right_vbcoefficientsum_body_steps fs_s_pfc_prefix_add_right_vbcoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_add_right_vbcoefficientsum_body_steps_summand. fs_h_pfc_prefix_add_right_vbcoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_add_right_vbcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_vbcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_right_vbcoefficient)) /\ exists fs_q_pfc_prefix_add_right_vbcoefficientsum_body_steps_summand. pfc_terms_code_prefix_add_right_vbcoefficient = fs_q_pfc_prefix_add_right_vbcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_right_vbcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_right_vbcoefficient) + (fs_a_pfc_prefix_add_right_vbcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_vbcoefficientsum_body_steps_partial. fs_h_pfc_prefix_add_right_vbcoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_add_right_vbcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_vbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_vbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_vbcoefficientsum_body_steps_partial. fs_u_pfc_prefix_add_right_vbcoefficientsum = fs_q_pfc_prefix_add_right_vbcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_right_vbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_vbcoefficientsum) + (fs_r_pfc_prefix_add_right_vbcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_vbcoefficientsum_body_steps_successor. fs_h_pfc_prefix_add_right_vbcoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_add_right_vbcoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_add_right_vbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_vbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_vbcoefficientsum_body_steps_successor. fs_u_pfc_prefix_add_right_vbcoefficientsum = fs_q_pfc_prefix_add_right_vbcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_right_vbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_vbcoefficientsum) + (fs_s_pfc_prefix_add_right_vbcoefficientsum_body_steps))) /\ fs_s_pfc_prefix_add_right_vbcoefficientsum_body_steps = fs_r_pfc_prefix_add_right_vbcoefficientsum_body_steps + fs_a_pfc_prefix_add_right_vbcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_right_vbcoefficientresiduebound. pfa_gap_prefix_add_right_vbcoefficientresiduebound + S (pfc_value_prefix_add_right_vb) = (p)) /\ ((exists pfa_offset_left_prefix_add_right_vbcoefficientresiduecongruence pfa_offset_right_prefix_add_right_vbcoefficientresiduecongruence. (pfc_natural_sum_prefix_add_right_vbcoefficient) + (p) * pfa_offset_left_prefix_add_right_vbcoefficientresiduecongruence = (pfc_value_prefix_add_right_vb) + (p) * pfa_offset_right_prefix_add_right_vbcoefficientresiduecongruence)))))))))))) -> (forall pfc_index_prefix_add_right_wb. (exists pfa_gap_prefix_add_right_wbbound. pfa_gap_prefix_add_right_wbbound + S (pfc_index_prefix_add_right_wb) = (N)) -> exists pfc_value_prefix_add_right_wb. ((((exists ff_h_pfp_prefix_add_right_wbentry. ff_h_pfp_prefix_add_right_wbentry + S (pfc_value_prefix_add_right_wb) = S ((S (pfc_index_prefix_add_right_wb)) * wc)) /\ exists ff_q_pfp_prefix_add_right_wbentry. wb = ff_q_pfp_prefix_add_right_wbentry * S ((S (pfc_index_prefix_add_right_wb)) * wc) + (pfc_value_prefix_add_right_wb))) /\ ((exists pfc_terms_code_prefix_add_right_wbcoefficient pfc_terms_scale_prefix_add_right_wbcoefficient pfc_natural_sum_prefix_add_right_wbcoefficient. ((forall pfc_index_prefix_add_right_wbcoefficientdiagonal. (exists pfa_gap_prefix_add_right_wbcoefficientdiagonalbound. pfa_gap_prefix_add_right_wbcoefficientdiagonalbound + S (pfc_index_prefix_add_right_wbcoefficientdiagonal) = (S (pfc_index_prefix_add_right_wb))) -> exists pfc_value_prefix_add_right_wbcoefficientdiagonal. ((((exists ff_h_pfp_prefix_add_right_wbcoefficientdiagonalentry. ff_h_pfp_prefix_add_right_wbcoefficientdiagonalentry + S (pfc_value_prefix_add_right_wbcoefficientdiagonal) = S ((S (pfc_index_prefix_add_right_wbcoefficientdiagonal)) * pfc_terms_scale_prefix_add_right_wbcoefficient)) /\ exists ff_q_pfp_prefix_add_right_wbcoefficientdiagonalentry. pfc_terms_code_prefix_add_right_wbcoefficient = ff_q_pfp_prefix_add_right_wbcoefficientdiagonalentry * S ((S (pfc_index_prefix_add_right_wbcoefficientdiagonal)) * pfc_terms_scale_prefix_add_right_wbcoefficient) + (pfc_value_prefix_add_right_wbcoefficientdiagonal))) /\ ((exists pfc_complement_prefix_add_right_wbcoefficientdiagonalterm pfc_left_prefix_add_right_wbcoefficientdiagonalterm pfc_right_prefix_add_right_wbcoefficientdiagonalterm. (((pfc_index_prefix_add_right_wbcoefficientdiagonal)+pfc_complement_prefix_add_right_wbcoefficientdiagonalterm=(pfc_index_prefix_add_right_wb)) /\ ((((((exists pfa_gap_prefix_add_right_wbcoefficientdiagonaltermleftinside. pfa_gap_prefix_add_right_wbcoefficientdiagonaltermleftinside + S (pfc_index_prefix_add_right_wbcoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_add_right_wbcoefficientdiagonaltermleftentry. ff_h_pfp_prefix_add_right_wbcoefficientdiagonaltermleftentry + S (pfc_left_prefix_add_right_wbcoefficientdiagonalterm) = S ((S (pfc_index_prefix_add_right_wbcoefficientdiagonal)) * cc)) /\ exists ff_q_pfp_prefix_add_right_wbcoefficientdiagonaltermleftentry. cb = ff_q_pfp_prefix_add_right_wbcoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_add_right_wbcoefficientdiagonal)) * cc) + (pfc_left_prefix_add_right_wbcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_wbcoefficientdiagonaltermleftoutside. pfc_gap_prefix_add_right_wbcoefficientdiagonaltermleftoutside+(L)=(pfc_index_prefix_add_right_wbcoefficientdiagonal)) /\ (((pfc_left_prefix_add_right_wbcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_right_wbcoefficientdiagonaltermrightinside. pfa_gap_prefix_add_right_wbcoefficientdiagonaltermrightinside + S (pfc_complement_prefix_add_right_wbcoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_add_right_wbcoefficientdiagonaltermrightentry. ff_h_pfp_prefix_add_right_wbcoefficientdiagonaltermrightentry + S (pfc_right_prefix_add_right_wbcoefficientdiagonalterm) = S ((S (pfc_complement_prefix_add_right_wbcoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_prefix_add_right_wbcoefficientdiagonaltermrightentry. db = ff_q_pfp_prefix_add_right_wbcoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_add_right_wbcoefficientdiagonalterm)) * dc) + (pfc_right_prefix_add_right_wbcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_wbcoefficientdiagonaltermrightoutside. pfc_gap_prefix_add_right_wbcoefficientdiagonaltermrightoutside+(M)=(pfc_complement_prefix_add_right_wbcoefficientdiagonalterm)) /\ (((pfc_right_prefix_add_right_wbcoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_add_right_wbcoefficientdiagonal)=pfc_left_prefix_add_right_wbcoefficientdiagonalterm*pfc_right_prefix_add_right_wbcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_right_wbcoefficientsum fs_v_pfc_prefix_add_right_wbcoefficientsum. ((((exists fs_h_pfc_prefix_add_right_wbcoefficientsum_body_start. fs_h_pfc_prefix_add_right_wbcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_right_wbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_wbcoefficientsum_body_start. fs_u_pfc_prefix_add_right_wbcoefficientsum = fs_q_pfc_prefix_add_right_wbcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_right_wbcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_right_wbcoefficientsum_body_terminal. fs_h_pfc_prefix_add_right_wbcoefficientsum_body_terminal + S (pfc_natural_sum_prefix_add_right_wbcoefficient) = S ((S (S (pfc_index_prefix_add_right_wb))) * fs_v_pfc_prefix_add_right_wbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_wbcoefficientsum_body_terminal. fs_u_pfc_prefix_add_right_wbcoefficientsum = fs_q_pfc_prefix_add_right_wbcoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_add_right_wb))) * fs_v_pfc_prefix_add_right_wbcoefficientsum) + (pfc_natural_sum_prefix_add_right_wbcoefficient))) /\ forall fs_i_pfc_prefix_add_right_wbcoefficientsum_body_steps. (exists fs_lt_pfc_prefix_add_right_wbcoefficientsum_body_steps_bound. fs_lt_pfc_prefix_add_right_wbcoefficientsum_body_steps_bound + S fs_i_pfc_prefix_add_right_wbcoefficientsum_body_steps = S (pfc_index_prefix_add_right_wb)) -> exists fs_a_pfc_prefix_add_right_wbcoefficientsum_body_steps fs_r_pfc_prefix_add_right_wbcoefficientsum_body_steps fs_s_pfc_prefix_add_right_wbcoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_add_right_wbcoefficientsum_body_steps_summand. fs_h_pfc_prefix_add_right_wbcoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_add_right_wbcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_wbcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_right_wbcoefficient)) /\ exists fs_q_pfc_prefix_add_right_wbcoefficientsum_body_steps_summand. pfc_terms_code_prefix_add_right_wbcoefficient = fs_q_pfc_prefix_add_right_wbcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_right_wbcoefficientsum_body_steps)) * pfc_terms_scale_prefix_add_right_wbcoefficient) + (fs_a_pfc_prefix_add_right_wbcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_wbcoefficientsum_body_steps_partial. fs_h_pfc_prefix_add_right_wbcoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_add_right_wbcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_wbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_wbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_wbcoefficientsum_body_steps_partial. fs_u_pfc_prefix_add_right_wbcoefficientsum = fs_q_pfc_prefix_add_right_wbcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_right_wbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_wbcoefficientsum) + (fs_r_pfc_prefix_add_right_wbcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_wbcoefficientsum_body_steps_successor. fs_h_pfc_prefix_add_right_wbcoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_add_right_wbcoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_add_right_wbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_wbcoefficientsum)) /\ exists fs_q_pfc_prefix_add_right_wbcoefficientsum_body_steps_successor. fs_u_pfc_prefix_add_right_wbcoefficientsum = fs_q_pfc_prefix_add_right_wbcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_right_wbcoefficientsum_body_steps)) * fs_v_pfc_prefix_add_right_wbcoefficientsum) + (fs_s_pfc_prefix_add_right_wbcoefficientsum_body_steps))) /\ fs_s_pfc_prefix_add_right_wbcoefficientsum_body_steps = fs_r_pfc_prefix_add_right_wbcoefficientsum_body_steps + fs_a_pfc_prefix_add_right_wbcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_right_wbcoefficientresiduebound. pfa_gap_prefix_add_right_wbcoefficientresiduebound + S (pfc_value_prefix_add_right_wb) = (p)) /\ ((exists pfa_offset_left_prefix_add_right_wbcoefficientresiduecongruence pfa_offset_right_prefix_add_right_wbcoefficientresiduecongruence. (pfc_natural_sum_prefix_add_right_wbcoefficient) + (p) * pfa_offset_left_prefix_add_right_wbcoefficientresiduecongruence = (pfc_value_prefix_add_right_wb) + (p) * pfa_offset_right_prefix_add_right_wbcoefficientresiduecongruence)))))))))))) -> (forall pfp_index_prefix_add_right_result. (exists pfa_gap_prefix_add_right_resultindex. pfa_gap_prefix_add_right_resultindex + S (pfp_index_prefix_add_right_result) = (N)) -> exists pfp_left_prefix_add_right_result pfp_right_prefix_add_right_result pfp_value_prefix_add_right_result. ((((exists ff_h_pfp_prefix_add_right_resultleft. ff_h_pfp_prefix_add_right_resultleft + S (pfp_left_prefix_add_right_result) = S ((S (pfp_index_prefix_add_right_result)) * uc)) /\ exists ff_q_pfp_prefix_add_right_resultleft. ub = ff_q_pfp_prefix_add_right_resultleft * S ((S (pfp_index_prefix_add_right_result)) * uc) + (pfp_left_prefix_add_right_result))) /\ (((((exists ff_h_pfp_prefix_add_right_resultright. ff_h_pfp_prefix_add_right_resultright + S (pfp_right_prefix_add_right_result) = S ((S (pfp_index_prefix_add_right_result)) * vc)) /\ exists ff_q_pfp_prefix_add_right_resultright. vb = ff_q_pfp_prefix_add_right_resultright * S ((S (pfp_index_prefix_add_right_result)) * vc) + (pfp_right_prefix_add_right_result))) /\ (((((exists ff_h_pfp_prefix_add_right_resulttarget. ff_h_pfp_prefix_add_right_resulttarget + S (pfp_value_prefix_add_right_result) = S ((S (pfp_index_prefix_add_right_result)) * wc)) /\ exists ff_q_pfp_prefix_add_right_resulttarget. wb = ff_q_pfp_prefix_add_right_resulttarget * S ((S (pfp_index_prefix_add_right_result)) * wc) + (pfp_value_prefix_add_right_result))) /\ ((((exists pfa_gap_prefix_add_right_resultoperationleft. pfa_gap_prefix_add_right_resultoperationleft + S (pfp_left_prefix_add_right_result) = (p)) /\ (((exists pfa_gap_prefix_add_right_resultoperationright. pfa_gap_prefix_add_right_resultoperationright + S (pfp_right_prefix_add_right_result) = (p)) /\ ((((exists pfa_gap_prefix_add_right_resultoperationresultbound. pfa_gap_prefix_add_right_resultoperationresultbound + S (pfp_value_prefix_add_right_result) = (p)) /\ ((exists pfa_offset_left_prefix_add_right_resultoperationresultcongruence pfa_offset_right_prefix_add_right_resultoperationresultcongruence. ((pfp_left_prefix_add_right_result) + (pfp_right_prefix_add_right_result)) + (p) * pfa_offset_left_prefix_add_right_resultoperationresultcongruence = (pfp_value_prefix_add_right_result) + (p) * pfa_offset_right_prefix_add_right_resultoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro ubintro ucintro vbintro vcintro wbintro wcintro Nintro hsintro huintro hvintro hwintro iintro hihave hcu : exists r. ((((exists ff_h_pfp_prefix_add_right_hcu. ff_h_pfp_prefix_add_right_hcu + S (r) = S ((S (i)) * uc)) /\ exists ff_q_pfp_prefix_add_right_hcu. ub = ff_q_pfp_prefix_add_right_hcu * S ((S (i)) * uc) + (r))) /\ ((exists pfc_terms_code_prefix_add_right_value_hcu pfc_terms_scale_prefix_add_right_value_hcu pfc_natural_sum_prefix_add_right_value_hcu. ((forall pfc_index_prefix_add_right_value_hcudiagonal. (exists pfa_gap_prefix_add_right_value_hcudiagonalbound. pfa_gap_prefix_add_right_value_hcudiagonalbound + S (pfc_index_prefix_add_right_value_hcudiagonal) = (S (i))) -> exists pfc_value_prefix_add_right_value_hcudiagonal. ((((exists ff_h_pfp_prefix_add_right_value_hcudiagonalentry. ff_h_pfp_prefix_add_right_value_hcudiagonalentry + S (pfc_value_prefix_add_right_value_hcudiagonal) = S ((S (pfc_index_prefix_add_right_value_hcudiagonal)) * pfc_terms_scale_prefix_add_right_value_hcu)) /\ exists ff_q_pfp_prefix_add_right_value_hcudiagonalentry. pfc_terms_code_prefix_add_right_value_hcu = ff_q_pfp_prefix_add_right_value_hcudiagonalentry * S ((S (pfc_index_prefix_add_right_value_hcudiagonal)) * pfc_terms_scale_prefix_add_right_value_hcu) + (pfc_value_prefix_add_right_value_hcudiagonal))) /\ ((exists pfc_complement_prefix_add_right_value_hcudiagonalterm pfc_left_prefix_add_right_value_hcudiagonalterm pfc_right_prefix_add_right_value_hcudiagonalterm. (((pfc_index_prefix_add_right_value_hcudiagonal)+pfc_complement_prefix_add_right_value_hcudiagonalterm=(i)) /\ ((((((exists pfa_gap_prefix_add_right_value_hcudiagonaltermleftinside. pfa_gap_prefix_add_right_value_hcudiagonaltermleftinside + S (pfc_index_prefix_add_right_value_hcudiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_add_right_value_hcudiagonaltermleftentry. ff_h_pfp_prefix_add_right_value_hcudiagonaltermleftentry + S (pfc_left_prefix_add_right_value_hcudiagonalterm) = S ((S (pfc_index_prefix_add_right_value_hcudiagonal)) * ac)) /\ exists ff_q_pfp_prefix_add_right_value_hcudiagonaltermleftentry. ab = ff_q_pfp_prefix_add_right_value_hcudiagonaltermleftentry * S ((S (pfc_index_prefix_add_right_value_hcudiagonal)) * ac) + (pfc_left_prefix_add_right_value_hcudiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_value_hcudiagonaltermleftoutside. pfc_gap_prefix_add_right_value_hcudiagonaltermleftoutside+(L)=(pfc_index_prefix_add_right_value_hcudiagonal)) /\ (((pfc_left_prefix_add_right_value_hcudiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_right_value_hcudiagonaltermrightinside. pfa_gap_prefix_add_right_value_hcudiagonaltermrightinside + S (pfc_complement_prefix_add_right_value_hcudiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_add_right_value_hcudiagonaltermrightentry. ff_h_pfp_prefix_add_right_value_hcudiagonaltermrightentry + S (pfc_right_prefix_add_right_value_hcudiagonalterm) = S ((S (pfc_complement_prefix_add_right_value_hcudiagonalterm)) * dc)) /\ exists ff_q_pfp_prefix_add_right_value_hcudiagonaltermrightentry. db = ff_q_pfp_prefix_add_right_value_hcudiagonaltermrightentry * S ((S (pfc_complement_prefix_add_right_value_hcudiagonalterm)) * dc) + (pfc_right_prefix_add_right_value_hcudiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_value_hcudiagonaltermrightoutside. pfc_gap_prefix_add_right_value_hcudiagonaltermrightoutside+(M)=(pfc_complement_prefix_add_right_value_hcudiagonalterm)) /\ (((pfc_right_prefix_add_right_value_hcudiagonalterm)=0))))) /\ (((pfc_value_prefix_add_right_value_hcudiagonal)=pfc_left_prefix_add_right_value_hcudiagonalterm*pfc_right_prefix_add_right_value_hcudiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_right_value_hcusum fs_v_pfc_prefix_add_right_value_hcusum. ((((exists fs_h_pfc_prefix_add_right_value_hcusum_body_start. fs_h_pfc_prefix_add_right_value_hcusum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_right_value_hcusum)) /\ exists fs_q_pfc_prefix_add_right_value_hcusum_body_start. fs_u_pfc_prefix_add_right_value_hcusum = fs_q_pfc_prefix_add_right_value_hcusum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_right_value_hcusum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_right_value_hcusum_body_terminal. fs_h_pfc_prefix_add_right_value_hcusum_body_terminal + S (pfc_natural_sum_prefix_add_right_value_hcu) = S ((S (S (i))) * fs_v_pfc_prefix_add_right_value_hcusum)) /\ exists fs_q_pfc_prefix_add_right_value_hcusum_body_terminal. fs_u_pfc_prefix_add_right_value_hcusum = fs_q_pfc_prefix_add_right_value_hcusum_body_terminal * S ((S (S (i))) * fs_v_pfc_prefix_add_right_value_hcusum) + (pfc_natural_sum_prefix_add_right_value_hcu))) /\ forall fs_i_pfc_prefix_add_right_value_hcusum_body_steps. (exists fs_lt_pfc_prefix_add_right_value_hcusum_body_steps_bound. fs_lt_pfc_prefix_add_right_value_hcusum_body_steps_bound + S fs_i_pfc_prefix_add_right_value_hcusum_body_steps = S (i)) -> exists fs_a_pfc_prefix_add_right_value_hcusum_body_steps fs_r_pfc_prefix_add_right_value_hcusum_body_steps fs_s_pfc_prefix_add_right_value_hcusum_body_steps. ((((exists fs_h_pfc_prefix_add_right_value_hcusum_body_steps_summand. fs_h_pfc_prefix_add_right_value_hcusum_body_steps_summand + S (fs_a_pfc_prefix_add_right_value_hcusum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_value_hcusum_body_steps)) * pfc_terms_scale_prefix_add_right_value_hcu)) /\ exists fs_q_pfc_prefix_add_right_value_hcusum_body_steps_summand. pfc_terms_code_prefix_add_right_value_hcu = fs_q_pfc_prefix_add_right_value_hcusum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_right_value_hcusum_body_steps)) * pfc_terms_scale_prefix_add_right_value_hcu) + (fs_a_pfc_prefix_add_right_value_hcusum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_value_hcusum_body_steps_partial. fs_h_pfc_prefix_add_right_value_hcusum_body_steps_partial + S (fs_r_pfc_prefix_add_right_value_hcusum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_value_hcusum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcusum)) /\ exists fs_q_pfc_prefix_add_right_value_hcusum_body_steps_partial. fs_u_pfc_prefix_add_right_value_hcusum = fs_q_pfc_prefix_add_right_value_hcusum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_right_value_hcusum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcusum) + (fs_r_pfc_prefix_add_right_value_hcusum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_value_hcusum_body_steps_successor. fs_h_pfc_prefix_add_right_value_hcusum_body_steps_successor + S (fs_s_pfc_prefix_add_right_value_hcusum_body_steps) = S ((S (S fs_i_pfc_prefix_add_right_value_hcusum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcusum)) /\ exists fs_q_pfc_prefix_add_right_value_hcusum_body_steps_successor. fs_u_pfc_prefix_add_right_value_hcusum = fs_q_pfc_prefix_add_right_value_hcusum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_right_value_hcusum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcusum) + (fs_s_pfc_prefix_add_right_value_hcusum_body_steps))) /\ fs_s_pfc_prefix_add_right_value_hcusum_body_steps = fs_r_pfc_prefix_add_right_value_hcusum_body_steps + fs_a_pfc_prefix_add_right_value_hcusum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_right_value_hcuresiduebound. pfa_gap_prefix_add_right_value_hcuresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_prefix_add_right_value_hcuresiduecongruence pfa_offset_right_prefix_add_right_value_hcuresiduecongruence. (pfc_natural_sum_prefix_add_right_value_hcu) + (p) * pfa_offset_left_prefix_add_right_value_hcuresiduecongruence = (r) + (p) * pfa_offset_right_prefix_add_right_value_hcuresiduecongruence)))))))))))specialize hu (i)apply huexact hicases hcucases hcu_witnesshave hcv : exists r. ((((exists ff_h_pfp_prefix_add_right_hcv. ff_h_pfp_prefix_add_right_hcv + S (r) = S ((S (i)) * vc)) /\ exists ff_q_pfp_prefix_add_right_hcv. vb = ff_q_pfp_prefix_add_right_hcv * S ((S (i)) * vc) + (r))) /\ ((exists pfc_terms_code_prefix_add_right_value_hcv pfc_terms_scale_prefix_add_right_value_hcv pfc_natural_sum_prefix_add_right_value_hcv. ((forall pfc_index_prefix_add_right_value_hcvdiagonal. (exists pfa_gap_prefix_add_right_value_hcvdiagonalbound. pfa_gap_prefix_add_right_value_hcvdiagonalbound + S (pfc_index_prefix_add_right_value_hcvdiagonal) = (S (i))) -> exists pfc_value_prefix_add_right_value_hcvdiagonal. ((((exists ff_h_pfp_prefix_add_right_value_hcvdiagonalentry. ff_h_pfp_prefix_add_right_value_hcvdiagonalentry + S (pfc_value_prefix_add_right_value_hcvdiagonal) = S ((S (pfc_index_prefix_add_right_value_hcvdiagonal)) * pfc_terms_scale_prefix_add_right_value_hcv)) /\ exists ff_q_pfp_prefix_add_right_value_hcvdiagonalentry. pfc_terms_code_prefix_add_right_value_hcv = ff_q_pfp_prefix_add_right_value_hcvdiagonalentry * S ((S (pfc_index_prefix_add_right_value_hcvdiagonal)) * pfc_terms_scale_prefix_add_right_value_hcv) + (pfc_value_prefix_add_right_value_hcvdiagonal))) /\ ((exists pfc_complement_prefix_add_right_value_hcvdiagonalterm pfc_left_prefix_add_right_value_hcvdiagonalterm pfc_right_prefix_add_right_value_hcvdiagonalterm. (((pfc_index_prefix_add_right_value_hcvdiagonal)+pfc_complement_prefix_add_right_value_hcvdiagonalterm=(i)) /\ ((((((exists pfa_gap_prefix_add_right_value_hcvdiagonaltermleftinside. pfa_gap_prefix_add_right_value_hcvdiagonaltermleftinside + S (pfc_index_prefix_add_right_value_hcvdiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_add_right_value_hcvdiagonaltermleftentry. ff_h_pfp_prefix_add_right_value_hcvdiagonaltermleftentry + S (pfc_left_prefix_add_right_value_hcvdiagonalterm) = S ((S (pfc_index_prefix_add_right_value_hcvdiagonal)) * bc)) /\ exists ff_q_pfp_prefix_add_right_value_hcvdiagonaltermleftentry. bb = ff_q_pfp_prefix_add_right_value_hcvdiagonaltermleftentry * S ((S (pfc_index_prefix_add_right_value_hcvdiagonal)) * bc) + (pfc_left_prefix_add_right_value_hcvdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_value_hcvdiagonaltermleftoutside. pfc_gap_prefix_add_right_value_hcvdiagonaltermleftoutside+(L)=(pfc_index_prefix_add_right_value_hcvdiagonal)) /\ (((pfc_left_prefix_add_right_value_hcvdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_right_value_hcvdiagonaltermrightinside. pfa_gap_prefix_add_right_value_hcvdiagonaltermrightinside + S (pfc_complement_prefix_add_right_value_hcvdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_add_right_value_hcvdiagonaltermrightentry. ff_h_pfp_prefix_add_right_value_hcvdiagonaltermrightentry + S (pfc_right_prefix_add_right_value_hcvdiagonalterm) = S ((S (pfc_complement_prefix_add_right_value_hcvdiagonalterm)) * dc)) /\ exists ff_q_pfp_prefix_add_right_value_hcvdiagonaltermrightentry. db = ff_q_pfp_prefix_add_right_value_hcvdiagonaltermrightentry * S ((S (pfc_complement_prefix_add_right_value_hcvdiagonalterm)) * dc) + (pfc_right_prefix_add_right_value_hcvdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_value_hcvdiagonaltermrightoutside. pfc_gap_prefix_add_right_value_hcvdiagonaltermrightoutside+(M)=(pfc_complement_prefix_add_right_value_hcvdiagonalterm)) /\ (((pfc_right_prefix_add_right_value_hcvdiagonalterm)=0))))) /\ (((pfc_value_prefix_add_right_value_hcvdiagonal)=pfc_left_prefix_add_right_value_hcvdiagonalterm*pfc_right_prefix_add_right_value_hcvdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_right_value_hcvsum fs_v_pfc_prefix_add_right_value_hcvsum. ((((exists fs_h_pfc_prefix_add_right_value_hcvsum_body_start. fs_h_pfc_prefix_add_right_value_hcvsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_right_value_hcvsum)) /\ exists fs_q_pfc_prefix_add_right_value_hcvsum_body_start. fs_u_pfc_prefix_add_right_value_hcvsum = fs_q_pfc_prefix_add_right_value_hcvsum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_right_value_hcvsum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_right_value_hcvsum_body_terminal. fs_h_pfc_prefix_add_right_value_hcvsum_body_terminal + S (pfc_natural_sum_prefix_add_right_value_hcv) = S ((S (S (i))) * fs_v_pfc_prefix_add_right_value_hcvsum)) /\ exists fs_q_pfc_prefix_add_right_value_hcvsum_body_terminal. fs_u_pfc_prefix_add_right_value_hcvsum = fs_q_pfc_prefix_add_right_value_hcvsum_body_terminal * S ((S (S (i))) * fs_v_pfc_prefix_add_right_value_hcvsum) + (pfc_natural_sum_prefix_add_right_value_hcv))) /\ forall fs_i_pfc_prefix_add_right_value_hcvsum_body_steps. (exists fs_lt_pfc_prefix_add_right_value_hcvsum_body_steps_bound. fs_lt_pfc_prefix_add_right_value_hcvsum_body_steps_bound + S fs_i_pfc_prefix_add_right_value_hcvsum_body_steps = S (i)) -> exists fs_a_pfc_prefix_add_right_value_hcvsum_body_steps fs_r_pfc_prefix_add_right_value_hcvsum_body_steps fs_s_pfc_prefix_add_right_value_hcvsum_body_steps. ((((exists fs_h_pfc_prefix_add_right_value_hcvsum_body_steps_summand. fs_h_pfc_prefix_add_right_value_hcvsum_body_steps_summand + S (fs_a_pfc_prefix_add_right_value_hcvsum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_value_hcvsum_body_steps)) * pfc_terms_scale_prefix_add_right_value_hcv)) /\ exists fs_q_pfc_prefix_add_right_value_hcvsum_body_steps_summand. pfc_terms_code_prefix_add_right_value_hcv = fs_q_pfc_prefix_add_right_value_hcvsum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_right_value_hcvsum_body_steps)) * pfc_terms_scale_prefix_add_right_value_hcv) + (fs_a_pfc_prefix_add_right_value_hcvsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_value_hcvsum_body_steps_partial. fs_h_pfc_prefix_add_right_value_hcvsum_body_steps_partial + S (fs_r_pfc_prefix_add_right_value_hcvsum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_value_hcvsum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcvsum)) /\ exists fs_q_pfc_prefix_add_right_value_hcvsum_body_steps_partial. fs_u_pfc_prefix_add_right_value_hcvsum = fs_q_pfc_prefix_add_right_value_hcvsum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_right_value_hcvsum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcvsum) + (fs_r_pfc_prefix_add_right_value_hcvsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_value_hcvsum_body_steps_successor. fs_h_pfc_prefix_add_right_value_hcvsum_body_steps_successor + S (fs_s_pfc_prefix_add_right_value_hcvsum_body_steps) = S ((S (S fs_i_pfc_prefix_add_right_value_hcvsum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcvsum)) /\ exists fs_q_pfc_prefix_add_right_value_hcvsum_body_steps_successor. fs_u_pfc_prefix_add_right_value_hcvsum = fs_q_pfc_prefix_add_right_value_hcvsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_right_value_hcvsum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcvsum) + (fs_s_pfc_prefix_add_right_value_hcvsum_body_steps))) /\ fs_s_pfc_prefix_add_right_value_hcvsum_body_steps = fs_r_pfc_prefix_add_right_value_hcvsum_body_steps + fs_a_pfc_prefix_add_right_value_hcvsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_right_value_hcvresiduebound. pfa_gap_prefix_add_right_value_hcvresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_prefix_add_right_value_hcvresiduecongruence pfa_offset_right_prefix_add_right_value_hcvresiduecongruence. (pfc_natural_sum_prefix_add_right_value_hcv) + (p) * pfa_offset_left_prefix_add_right_value_hcvresiduecongruence = (r) + (p) * pfa_offset_right_prefix_add_right_value_hcvresiduecongruence)))))))))))specialize hv (i)apply hvexact hicases hcvcases hcv_witnesshave hcw : exists r. ((((exists ff_h_pfp_prefix_add_right_hcw. ff_h_pfp_prefix_add_right_hcw + S (r) = S ((S (i)) * wc)) /\ exists ff_q_pfp_prefix_add_right_hcw. wb = ff_q_pfp_prefix_add_right_hcw * S ((S (i)) * wc) + (r))) /\ ((exists pfc_terms_code_prefix_add_right_value_hcw pfc_terms_scale_prefix_add_right_value_hcw pfc_natural_sum_prefix_add_right_value_hcw. ((forall pfc_index_prefix_add_right_value_hcwdiagonal. (exists pfa_gap_prefix_add_right_value_hcwdiagonalbound. pfa_gap_prefix_add_right_value_hcwdiagonalbound + S (pfc_index_prefix_add_right_value_hcwdiagonal) = (S (i))) -> exists pfc_value_prefix_add_right_value_hcwdiagonal. ((((exists ff_h_pfp_prefix_add_right_value_hcwdiagonalentry. ff_h_pfp_prefix_add_right_value_hcwdiagonalentry + S (pfc_value_prefix_add_right_value_hcwdiagonal) = S ((S (pfc_index_prefix_add_right_value_hcwdiagonal)) * pfc_terms_scale_prefix_add_right_value_hcw)) /\ exists ff_q_pfp_prefix_add_right_value_hcwdiagonalentry. pfc_terms_code_prefix_add_right_value_hcw = ff_q_pfp_prefix_add_right_value_hcwdiagonalentry * S ((S (pfc_index_prefix_add_right_value_hcwdiagonal)) * pfc_terms_scale_prefix_add_right_value_hcw) + (pfc_value_prefix_add_right_value_hcwdiagonal))) /\ ((exists pfc_complement_prefix_add_right_value_hcwdiagonalterm pfc_left_prefix_add_right_value_hcwdiagonalterm pfc_right_prefix_add_right_value_hcwdiagonalterm. (((pfc_index_prefix_add_right_value_hcwdiagonal)+pfc_complement_prefix_add_right_value_hcwdiagonalterm=(i)) /\ ((((((exists pfa_gap_prefix_add_right_value_hcwdiagonaltermleftinside. pfa_gap_prefix_add_right_value_hcwdiagonaltermleftinside + S (pfc_index_prefix_add_right_value_hcwdiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_add_right_value_hcwdiagonaltermleftentry. ff_h_pfp_prefix_add_right_value_hcwdiagonaltermleftentry + S (pfc_left_prefix_add_right_value_hcwdiagonalterm) = S ((S (pfc_index_prefix_add_right_value_hcwdiagonal)) * cc)) /\ exists ff_q_pfp_prefix_add_right_value_hcwdiagonaltermleftentry. cb = ff_q_pfp_prefix_add_right_value_hcwdiagonaltermleftentry * S ((S (pfc_index_prefix_add_right_value_hcwdiagonal)) * cc) + (pfc_left_prefix_add_right_value_hcwdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_value_hcwdiagonaltermleftoutside. pfc_gap_prefix_add_right_value_hcwdiagonaltermleftoutside+(L)=(pfc_index_prefix_add_right_value_hcwdiagonal)) /\ (((pfc_left_prefix_add_right_value_hcwdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_add_right_value_hcwdiagonaltermrightinside. pfa_gap_prefix_add_right_value_hcwdiagonaltermrightinside + S (pfc_complement_prefix_add_right_value_hcwdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_add_right_value_hcwdiagonaltermrightentry. ff_h_pfp_prefix_add_right_value_hcwdiagonaltermrightentry + S (pfc_right_prefix_add_right_value_hcwdiagonalterm) = S ((S (pfc_complement_prefix_add_right_value_hcwdiagonalterm)) * dc)) /\ exists ff_q_pfp_prefix_add_right_value_hcwdiagonaltermrightentry. db = ff_q_pfp_prefix_add_right_value_hcwdiagonaltermrightentry * S ((S (pfc_complement_prefix_add_right_value_hcwdiagonalterm)) * dc) + (pfc_right_prefix_add_right_value_hcwdiagonalterm)))))) \/ (((exists pfc_gap_prefix_add_right_value_hcwdiagonaltermrightoutside. pfc_gap_prefix_add_right_value_hcwdiagonaltermrightoutside+(M)=(pfc_complement_prefix_add_right_value_hcwdiagonalterm)) /\ (((pfc_right_prefix_add_right_value_hcwdiagonalterm)=0))))) /\ (((pfc_value_prefix_add_right_value_hcwdiagonal)=pfc_left_prefix_add_right_value_hcwdiagonalterm*pfc_right_prefix_add_right_value_hcwdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_add_right_value_hcwsum fs_v_pfc_prefix_add_right_value_hcwsum. ((((exists fs_h_pfc_prefix_add_right_value_hcwsum_body_start. fs_h_pfc_prefix_add_right_value_hcwsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_add_right_value_hcwsum)) /\ exists fs_q_pfc_prefix_add_right_value_hcwsum_body_start. fs_u_pfc_prefix_add_right_value_hcwsum = fs_q_pfc_prefix_add_right_value_hcwsum_body_start * S ((S (0)) * fs_v_pfc_prefix_add_right_value_hcwsum) + (0))) /\ ((((exists fs_h_pfc_prefix_add_right_value_hcwsum_body_terminal. fs_h_pfc_prefix_add_right_value_hcwsum_body_terminal + S (pfc_natural_sum_prefix_add_right_value_hcw) = S ((S (S (i))) * fs_v_pfc_prefix_add_right_value_hcwsum)) /\ exists fs_q_pfc_prefix_add_right_value_hcwsum_body_terminal. fs_u_pfc_prefix_add_right_value_hcwsum = fs_q_pfc_prefix_add_right_value_hcwsum_body_terminal * S ((S (S (i))) * fs_v_pfc_prefix_add_right_value_hcwsum) + (pfc_natural_sum_prefix_add_right_value_hcw))) /\ forall fs_i_pfc_prefix_add_right_value_hcwsum_body_steps. (exists fs_lt_pfc_prefix_add_right_value_hcwsum_body_steps_bound. fs_lt_pfc_prefix_add_right_value_hcwsum_body_steps_bound + S fs_i_pfc_prefix_add_right_value_hcwsum_body_steps = S (i)) -> exists fs_a_pfc_prefix_add_right_value_hcwsum_body_steps fs_r_pfc_prefix_add_right_value_hcwsum_body_steps fs_s_pfc_prefix_add_right_value_hcwsum_body_steps. ((((exists fs_h_pfc_prefix_add_right_value_hcwsum_body_steps_summand. fs_h_pfc_prefix_add_right_value_hcwsum_body_steps_summand + S (fs_a_pfc_prefix_add_right_value_hcwsum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_value_hcwsum_body_steps)) * pfc_terms_scale_prefix_add_right_value_hcw)) /\ exists fs_q_pfc_prefix_add_right_value_hcwsum_body_steps_summand. pfc_terms_code_prefix_add_right_value_hcw = fs_q_pfc_prefix_add_right_value_hcwsum_body_steps_summand * S ((S (fs_i_pfc_prefix_add_right_value_hcwsum_body_steps)) * pfc_terms_scale_prefix_add_right_value_hcw) + (fs_a_pfc_prefix_add_right_value_hcwsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_value_hcwsum_body_steps_partial. fs_h_pfc_prefix_add_right_value_hcwsum_body_steps_partial + S (fs_r_pfc_prefix_add_right_value_hcwsum_body_steps) = S ((S (fs_i_pfc_prefix_add_right_value_hcwsum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcwsum)) /\ exists fs_q_pfc_prefix_add_right_value_hcwsum_body_steps_partial. fs_u_pfc_prefix_add_right_value_hcwsum = fs_q_pfc_prefix_add_right_value_hcwsum_body_steps_partial * S ((S (fs_i_pfc_prefix_add_right_value_hcwsum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcwsum) + (fs_r_pfc_prefix_add_right_value_hcwsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_add_right_value_hcwsum_body_steps_successor. fs_h_pfc_prefix_add_right_value_hcwsum_body_steps_successor + S (fs_s_pfc_prefix_add_right_value_hcwsum_body_steps) = S ((S (S fs_i_pfc_prefix_add_right_value_hcwsum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcwsum)) /\ exists fs_q_pfc_prefix_add_right_value_hcwsum_body_steps_successor. fs_u_pfc_prefix_add_right_value_hcwsum = fs_q_pfc_prefix_add_right_value_hcwsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_add_right_value_hcwsum_body_steps)) * fs_v_pfc_prefix_add_right_value_hcwsum) + (fs_s_pfc_prefix_add_right_value_hcwsum_body_steps))) /\ fs_s_pfc_prefix_add_right_value_hcwsum_body_steps = fs_r_pfc_prefix_add_right_value_hcwsum_body_steps + fs_a_pfc_prefix_add_right_value_hcwsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_add_right_value_hcwresiduebound. pfa_gap_prefix_add_right_value_hcwresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_prefix_add_right_value_hcwresiduecongruence pfa_offset_right_prefix_add_right_value_hcwresiduecongruence. (pfc_natural_sum_prefix_add_right_value_hcw) + (p) * pfa_offset_left_prefix_add_right_value_hcwresiduecongruence = (r) + (p) * pfa_offset_right_prefix_add_right_value_hcwresiduecongruence)))))))))))specialize hw (i)apply hwexact hicases hcwcases hcw_witnessexists xexists x1exists x2splitexact hcu_witness_leftsplitexact hcv_witness_leftsplitexact hcw_witness_leftspecialize prime_field_convolution_coefficient_right_add (p)specialize prime_field_convolution_coefficient_right_add (ab)specialize prime_field_convolution_coefficient_right_add (ac)specialize prime_field_convolution_coefficient_right_add (bb)specialize prime_field_convolution_coefficient_right_add (bc)specialize prime_field_convolution_coefficient_right_add (cb)specialize prime_field_convolution_coefficient_right_add (cc)specialize prime_field_convolution_coefficient_right_add (L)specialize prime_field_convolution_coefficient_right_add (db)specialize prime_field_convolution_coefficient_right_add (dc)specialize prime_field_convolution_coefficient_right_add (M)specialize prime_field_convolution_coefficient_right_add (i)specialize prime_field_convolution_coefficient_right_add (x)specialize prime_field_convolution_coefficient_right_add (x1)specialize prime_field_convolution_coefficient_right_add (x2)apply prime_field_convolution_coefficient_right_addexact hsexact hcu_witness_rightexact hcv_witness_rightexact hcw_witness_right
prime_field_polynomial_convolution_right_add · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M ub uc vb vc wb wc N. (forall pfp_index_proper_right_add_source. (exists pfa_gap_proper_right_add_sourceindex. pfa_gap_proper_right_add_sourceindex + S (pfp_index_proper_right_add_source) = (L)) -> exists pfp_left_proper_right_add_source pfp_right_proper_right_add_source pfp_value_proper_right_add_source. ((((exists ff_h_pfp_proper_right_add_sourceleft. ff_h_pfp_proper_right_add_sourceleft + S (pfp_left_proper_right_add_source) = S ((S (pfp_index_proper_right_add_source)) * ac)) /\ exists ff_q_pfp_proper_right_add_sourceleft. ab = ff_q_pfp_proper_right_add_sourceleft * S ((S (pfp_index_proper_right_add_source)) * ac) + (pfp_left_proper_right_add_source))) /\ (((((exists ff_h_pfp_proper_right_add_sourceright. ff_h_pfp_proper_right_add_sourceright + S (pfp_right_proper_right_add_source) = S ((S (pfp_index_proper_right_add_source)) * bc)) /\ exists ff_q_pfp_proper_right_add_sourceright. bb = ff_q_pfp_proper_right_add_sourceright * S ((S (pfp_index_proper_right_add_source)) * bc) + (pfp_right_proper_right_add_source))) /\ (((((exists ff_h_pfp_proper_right_add_sourcetarget. ff_h_pfp_proper_right_add_sourcetarget + S (pfp_value_proper_right_add_source) = S ((S (pfp_index_proper_right_add_source)) * cc)) /\ exists ff_q_pfp_proper_right_add_sourcetarget. cb = ff_q_pfp_proper_right_add_sourcetarget * S ((S (pfp_index_proper_right_add_source)) * cc) + (pfp_value_proper_right_add_source))) /\ ((((exists pfa_gap_proper_right_add_sourceoperationleft. pfa_gap_proper_right_add_sourceoperationleft + S (pfp_left_proper_right_add_source) = (p)) /\ (((exists pfa_gap_proper_right_add_sourceoperationright. pfa_gap_proper_right_add_sourceoperationright + S (pfp_right_proper_right_add_source) = (p)) /\ ((((exists pfa_gap_proper_right_add_sourceoperationresultbound. pfa_gap_proper_right_add_sourceoperationresultbound + S (pfp_value_proper_right_add_source) = (p)) /\ ((exists pfa_offset_left_proper_right_add_sourceoperationresultcongruence pfa_offset_right_proper_right_add_sourceoperationresultcongruence. ((pfp_left_proper_right_add_source) + (pfp_right_proper_right_add_source)) + (p) * pfa_offset_left_proper_right_add_sourceoperationresultcongruence = (pfp_value_proper_right_add_source) + (p) * pfa_offset_right_proper_right_add_sourceoperationresultcongruence)))))))))))))))) -> (((forall fom_index_pfp_proper_right_add_ubleft. (exists fom_gap_pfp_proper_right_add_ubleft_index_bound. fom_gap_pfp_proper_right_add_ubleft_index_bound + S (fom_index_pfp_proper_right_add_ubleft) = L) -> exists fom_value_pfp_proper_right_add_ubleft. ((((exists fom_beta_height_pfp_proper_right_add_ubleft_entry. fom_beta_height_pfp_proper_right_add_ubleft_entry + S (fom_value_pfp_proper_right_add_ubleft) = S ((S (fom_index_pfp_proper_right_add_ubleft)) * ac)) /\ exists fom_beta_quotient_pfp_proper_right_add_ubleft_entry. ab = fom_beta_quotient_pfp_proper_right_add_ubleft_entry * S ((S (fom_index_pfp_proper_right_add_ubleft)) * ac) + (fom_value_pfp_proper_right_add_ubleft))) /\ (exists fom_gap_pfp_proper_right_add_ubleft_value_bound. fom_gap_pfp_proper_right_add_ubleft_value_bound + S (fom_value_pfp_proper_right_add_ubleft) = p))) /\ (((forall fom_index_pfp_proper_right_add_ubright. (exists fom_gap_pfp_proper_right_add_ubright_index_bound. fom_gap_pfp_proper_right_add_ubright_index_bound + S (fom_index_pfp_proper_right_add_ubright) = M) -> exists fom_value_pfp_proper_right_add_ubright. ((((exists fom_beta_height_pfp_proper_right_add_ubright_entry. fom_beta_height_pfp_proper_right_add_ubright_entry + S (fom_value_pfp_proper_right_add_ubright) = S ((S (fom_index_pfp_proper_right_add_ubright)) * dc)) /\ exists fom_beta_quotient_pfp_proper_right_add_ubright_entry. db = fom_beta_quotient_pfp_proper_right_add_ubright_entry * S ((S (fom_index_pfp_proper_right_add_ubright)) * dc) + (fom_value_pfp_proper_right_add_ubright))) /\ (exists fom_gap_pfp_proper_right_add_ubright_value_bound. fom_gap_pfp_proper_right_add_ubright_value_bound + S (fom_value_pfp_proper_right_add_ubright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_proper_right_add_ubcoefficients. (exists pfa_gap_proper_right_add_ubcoefficientsbound. pfa_gap_proper_right_add_ubcoefficientsbound + S (pfc_index_proper_right_add_ubcoefficients) = (N)) -> exists pfc_value_proper_right_add_ubcoefficients. ((((exists ff_h_pfp_proper_right_add_ubcoefficientsentry. ff_h_pfp_proper_right_add_ubcoefficientsentry + S (pfc_value_proper_right_add_ubcoefficients) = S ((S (pfc_index_proper_right_add_ubcoefficients)) * uc)) /\ exists ff_q_pfp_proper_right_add_ubcoefficientsentry. ub = ff_q_pfp_proper_right_add_ubcoefficientsentry * S ((S (pfc_index_proper_right_add_ubcoefficients)) * uc) + (pfc_value_proper_right_add_ubcoefficients))) /\ ((exists pfc_terms_code_proper_right_add_ubcoefficientscoefficient pfc_terms_scale_proper_right_add_ubcoefficientscoefficient pfc_natural_sum_proper_right_add_ubcoefficientscoefficient. ((forall pfc_index_proper_right_add_ubcoefficientscoefficientdiagonal. (exists pfa_gap_proper_right_add_ubcoefficientscoefficientdiagonalbound. pfa_gap_proper_right_add_ubcoefficientscoefficientdiagonalbound + S (pfc_index_proper_right_add_ubcoefficientscoefficientdiagonal) = (S (pfc_index_proper_right_add_ubcoefficients))) -> exists pfc_value_proper_right_add_ubcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_proper_right_add_ubcoefficientscoefficientdiagonalentry. ff_h_pfp_proper_right_add_ubcoefficientscoefficientdiagonalentry + S (pfc_value_proper_right_add_ubcoefficientscoefficientdiagonal) = S ((S (pfc_index_proper_right_add_ubcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_right_add_ubcoefficientscoefficient)) /\ exists ff_q_pfp_proper_right_add_ubcoefficientscoefficientdiagonalentry. pfc_terms_code_proper_right_add_ubcoefficientscoefficient = ff_q_pfp_proper_right_add_ubcoefficientscoefficientdiagonalentry * S ((S (pfc_index_proper_right_add_ubcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_right_add_ubcoefficientscoefficient) + (pfc_value_proper_right_add_ubcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_proper_right_add_ubcoefficientscoefficientdiagonalterm pfc_left_proper_right_add_ubcoefficientscoefficientdiagonalterm pfc_right_proper_right_add_ubcoefficientscoefficientdiagonalterm. (((pfc_index_proper_right_add_ubcoefficientscoefficientdiagonal)+pfc_complement_proper_right_add_ubcoefficientscoefficientdiagonalterm=(pfc_index_proper_right_add_ubcoefficients)) /\ ((((((exists pfa_gap_proper_right_add_ubcoefficientscoefficientdiagonaltermleftinside. pfa_gap_proper_right_add_ubcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_proper_right_add_ubcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_proper_right_add_ubcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_proper_right_add_ubcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_proper_right_add_ubcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_proper_right_add_ubcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_proper_right_add_ubcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_proper_right_add_ubcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_proper_right_add_ubcoefficientscoefficientdiagonal)) * ac) + (pfc_left_proper_right_add_ubcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_right_add_ubcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_proper_right_add_ubcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_proper_right_add_ubcoefficientscoefficientdiagonal)) /\ (((pfc_left_proper_right_add_ubcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_proper_right_add_ubcoefficientscoefficientdiagonaltermrightinside. pfa_gap_proper_right_add_ubcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_proper_right_add_ubcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_proper_right_add_ubcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_proper_right_add_ubcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_proper_right_add_ubcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_proper_right_add_ubcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_proper_right_add_ubcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_proper_right_add_ubcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_proper_right_add_ubcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_proper_right_add_ubcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_right_add_ubcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_proper_right_add_ubcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_proper_right_add_ubcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_proper_right_add_ubcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_proper_right_add_ubcoefficientscoefficientdiagonal)=pfc_left_proper_right_add_ubcoefficientscoefficientdiagonalterm*pfc_right_proper_right_add_ubcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_proper_right_add_ubcoefficientscoefficientsum fs_v_pfc_proper_right_add_ubcoefficientscoefficientsum. ((((exists fs_h_pfc_proper_right_add_ubcoefficientscoefficientsum_body_start. fs_h_pfc_proper_right_add_ubcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_proper_right_add_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_ubcoefficientscoefficientsum_body_start. fs_u_pfc_proper_right_add_ubcoefficientscoefficientsum = fs_q_pfc_proper_right_add_ubcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_proper_right_add_ubcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_proper_right_add_ubcoefficientscoefficientsum_body_terminal. fs_h_pfc_proper_right_add_ubcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_proper_right_add_ubcoefficientscoefficient) = S ((S (S (pfc_index_proper_right_add_ubcoefficients))) * fs_v_pfc_proper_right_add_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_ubcoefficientscoefficientsum_body_terminal. fs_u_pfc_proper_right_add_ubcoefficientscoefficientsum = fs_q_pfc_proper_right_add_ubcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_proper_right_add_ubcoefficients))) * fs_v_pfc_proper_right_add_ubcoefficientscoefficientsum) + (pfc_natural_sum_proper_right_add_ubcoefficientscoefficient))) /\ forall fs_i_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps = S (pfc_index_proper_right_add_ubcoefficients)) -> exists fs_a_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps fs_r_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps fs_s_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_right_add_ubcoefficientscoefficient)) /\ exists fs_q_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_proper_right_add_ubcoefficientscoefficient = fs_q_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_right_add_ubcoefficientscoefficient) + (fs_a_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_proper_right_add_ubcoefficientscoefficientsum = fs_q_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_ubcoefficientscoefficientsum) + (fs_r_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_proper_right_add_ubcoefficientscoefficientsum = fs_q_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_ubcoefficientscoefficientsum) + (fs_s_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps = fs_r_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps + fs_a_pfc_proper_right_add_ubcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_proper_right_add_ubcoefficientscoefficientresiduebound. pfa_gap_proper_right_add_ubcoefficientscoefficientresiduebound + S (pfc_value_proper_right_add_ubcoefficients) = (p)) /\ ((exists pfa_offset_left_proper_right_add_ubcoefficientscoefficientresiduecongruence pfa_offset_right_proper_right_add_ubcoefficientscoefficientresiduecongruence. (pfc_natural_sum_proper_right_add_ubcoefficientscoefficient) + (p) * pfa_offset_left_proper_right_add_ubcoefficientscoefficientresiduecongruence = (pfc_value_proper_right_add_ubcoefficients) + (p) * pfa_offset_right_proper_right_add_ubcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_proper_right_add_vbleft. (exists fom_gap_pfp_proper_right_add_vbleft_index_bound. fom_gap_pfp_proper_right_add_vbleft_index_bound + S (fom_index_pfp_proper_right_add_vbleft) = L) -> exists fom_value_pfp_proper_right_add_vbleft. ((((exists fom_beta_height_pfp_proper_right_add_vbleft_entry. fom_beta_height_pfp_proper_right_add_vbleft_entry + S (fom_value_pfp_proper_right_add_vbleft) = S ((S (fom_index_pfp_proper_right_add_vbleft)) * bc)) /\ exists fom_beta_quotient_pfp_proper_right_add_vbleft_entry. bb = fom_beta_quotient_pfp_proper_right_add_vbleft_entry * S ((S (fom_index_pfp_proper_right_add_vbleft)) * bc) + (fom_value_pfp_proper_right_add_vbleft))) /\ (exists fom_gap_pfp_proper_right_add_vbleft_value_bound. fom_gap_pfp_proper_right_add_vbleft_value_bound + S (fom_value_pfp_proper_right_add_vbleft) = p))) /\ (((forall fom_index_pfp_proper_right_add_vbright. (exists fom_gap_pfp_proper_right_add_vbright_index_bound. fom_gap_pfp_proper_right_add_vbright_index_bound + S (fom_index_pfp_proper_right_add_vbright) = M) -> exists fom_value_pfp_proper_right_add_vbright. ((((exists fom_beta_height_pfp_proper_right_add_vbright_entry. fom_beta_height_pfp_proper_right_add_vbright_entry + S (fom_value_pfp_proper_right_add_vbright) = S ((S (fom_index_pfp_proper_right_add_vbright)) * dc)) /\ exists fom_beta_quotient_pfp_proper_right_add_vbright_entry. db = fom_beta_quotient_pfp_proper_right_add_vbright_entry * S ((S (fom_index_pfp_proper_right_add_vbright)) * dc) + (fom_value_pfp_proper_right_add_vbright))) /\ (exists fom_gap_pfp_proper_right_add_vbright_value_bound. fom_gap_pfp_proper_right_add_vbright_value_bound + S (fom_value_pfp_proper_right_add_vbright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_proper_right_add_vbcoefficients. (exists pfa_gap_proper_right_add_vbcoefficientsbound. pfa_gap_proper_right_add_vbcoefficientsbound + S (pfc_index_proper_right_add_vbcoefficients) = (N)) -> exists pfc_value_proper_right_add_vbcoefficients. ((((exists ff_h_pfp_proper_right_add_vbcoefficientsentry. ff_h_pfp_proper_right_add_vbcoefficientsentry + S (pfc_value_proper_right_add_vbcoefficients) = S ((S (pfc_index_proper_right_add_vbcoefficients)) * vc)) /\ exists ff_q_pfp_proper_right_add_vbcoefficientsentry. vb = ff_q_pfp_proper_right_add_vbcoefficientsentry * S ((S (pfc_index_proper_right_add_vbcoefficients)) * vc) + (pfc_value_proper_right_add_vbcoefficients))) /\ ((exists pfc_terms_code_proper_right_add_vbcoefficientscoefficient pfc_terms_scale_proper_right_add_vbcoefficientscoefficient pfc_natural_sum_proper_right_add_vbcoefficientscoefficient. ((forall pfc_index_proper_right_add_vbcoefficientscoefficientdiagonal. (exists pfa_gap_proper_right_add_vbcoefficientscoefficientdiagonalbound. pfa_gap_proper_right_add_vbcoefficientscoefficientdiagonalbound + S (pfc_index_proper_right_add_vbcoefficientscoefficientdiagonal) = (S (pfc_index_proper_right_add_vbcoefficients))) -> exists pfc_value_proper_right_add_vbcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_proper_right_add_vbcoefficientscoefficientdiagonalentry. ff_h_pfp_proper_right_add_vbcoefficientscoefficientdiagonalentry + S (pfc_value_proper_right_add_vbcoefficientscoefficientdiagonal) = S ((S (pfc_index_proper_right_add_vbcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_right_add_vbcoefficientscoefficient)) /\ exists ff_q_pfp_proper_right_add_vbcoefficientscoefficientdiagonalentry. pfc_terms_code_proper_right_add_vbcoefficientscoefficient = ff_q_pfp_proper_right_add_vbcoefficientscoefficientdiagonalentry * S ((S (pfc_index_proper_right_add_vbcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_right_add_vbcoefficientscoefficient) + (pfc_value_proper_right_add_vbcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_proper_right_add_vbcoefficientscoefficientdiagonalterm pfc_left_proper_right_add_vbcoefficientscoefficientdiagonalterm pfc_right_proper_right_add_vbcoefficientscoefficientdiagonalterm. (((pfc_index_proper_right_add_vbcoefficientscoefficientdiagonal)+pfc_complement_proper_right_add_vbcoefficientscoefficientdiagonalterm=(pfc_index_proper_right_add_vbcoefficients)) /\ ((((((exists pfa_gap_proper_right_add_vbcoefficientscoefficientdiagonaltermleftinside. pfa_gap_proper_right_add_vbcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_proper_right_add_vbcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_proper_right_add_vbcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_proper_right_add_vbcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_proper_right_add_vbcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_proper_right_add_vbcoefficientscoefficientdiagonal)) * bc)) /\ exists ff_q_pfp_proper_right_add_vbcoefficientscoefficientdiagonaltermleftentry. bb = ff_q_pfp_proper_right_add_vbcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_proper_right_add_vbcoefficientscoefficientdiagonal)) * bc) + (pfc_left_proper_right_add_vbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_right_add_vbcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_proper_right_add_vbcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_proper_right_add_vbcoefficientscoefficientdiagonal)) /\ (((pfc_left_proper_right_add_vbcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_proper_right_add_vbcoefficientscoefficientdiagonaltermrightinside. pfa_gap_proper_right_add_vbcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_proper_right_add_vbcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_proper_right_add_vbcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_proper_right_add_vbcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_proper_right_add_vbcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_proper_right_add_vbcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_proper_right_add_vbcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_proper_right_add_vbcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_proper_right_add_vbcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_proper_right_add_vbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_right_add_vbcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_proper_right_add_vbcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_proper_right_add_vbcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_proper_right_add_vbcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_proper_right_add_vbcoefficientscoefficientdiagonal)=pfc_left_proper_right_add_vbcoefficientscoefficientdiagonalterm*pfc_right_proper_right_add_vbcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_proper_right_add_vbcoefficientscoefficientsum fs_v_pfc_proper_right_add_vbcoefficientscoefficientsum. ((((exists fs_h_pfc_proper_right_add_vbcoefficientscoefficientsum_body_start. fs_h_pfc_proper_right_add_vbcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_proper_right_add_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_vbcoefficientscoefficientsum_body_start. fs_u_pfc_proper_right_add_vbcoefficientscoefficientsum = fs_q_pfc_proper_right_add_vbcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_proper_right_add_vbcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_proper_right_add_vbcoefficientscoefficientsum_body_terminal. fs_h_pfc_proper_right_add_vbcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_proper_right_add_vbcoefficientscoefficient) = S ((S (S (pfc_index_proper_right_add_vbcoefficients))) * fs_v_pfc_proper_right_add_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_vbcoefficientscoefficientsum_body_terminal. fs_u_pfc_proper_right_add_vbcoefficientscoefficientsum = fs_q_pfc_proper_right_add_vbcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_proper_right_add_vbcoefficients))) * fs_v_pfc_proper_right_add_vbcoefficientscoefficientsum) + (pfc_natural_sum_proper_right_add_vbcoefficientscoefficient))) /\ forall fs_i_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps = S (pfc_index_proper_right_add_vbcoefficients)) -> exists fs_a_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps fs_r_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps fs_s_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_right_add_vbcoefficientscoefficient)) /\ exists fs_q_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_proper_right_add_vbcoefficientscoefficient = fs_q_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_right_add_vbcoefficientscoefficient) + (fs_a_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_proper_right_add_vbcoefficientscoefficientsum = fs_q_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_vbcoefficientscoefficientsum) + (fs_r_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_proper_right_add_vbcoefficientscoefficientsum = fs_q_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_vbcoefficientscoefficientsum) + (fs_s_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps = fs_r_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps + fs_a_pfc_proper_right_add_vbcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_proper_right_add_vbcoefficientscoefficientresiduebound. pfa_gap_proper_right_add_vbcoefficientscoefficientresiduebound + S (pfc_value_proper_right_add_vbcoefficients) = (p)) /\ ((exists pfa_offset_left_proper_right_add_vbcoefficientscoefficientresiduecongruence pfa_offset_right_proper_right_add_vbcoefficientscoefficientresiduecongruence. (pfc_natural_sum_proper_right_add_vbcoefficientscoefficient) + (p) * pfa_offset_left_proper_right_add_vbcoefficientscoefficientresiduecongruence = (pfc_value_proper_right_add_vbcoefficients) + (p) * pfa_offset_right_proper_right_add_vbcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_proper_right_add_wbleft. (exists fom_gap_pfp_proper_right_add_wbleft_index_bound. fom_gap_pfp_proper_right_add_wbleft_index_bound + S (fom_index_pfp_proper_right_add_wbleft) = L) -> exists fom_value_pfp_proper_right_add_wbleft. ((((exists fom_beta_height_pfp_proper_right_add_wbleft_entry. fom_beta_height_pfp_proper_right_add_wbleft_entry + S (fom_value_pfp_proper_right_add_wbleft) = S ((S (fom_index_pfp_proper_right_add_wbleft)) * cc)) /\ exists fom_beta_quotient_pfp_proper_right_add_wbleft_entry. cb = fom_beta_quotient_pfp_proper_right_add_wbleft_entry * S ((S (fom_index_pfp_proper_right_add_wbleft)) * cc) + (fom_value_pfp_proper_right_add_wbleft))) /\ (exists fom_gap_pfp_proper_right_add_wbleft_value_bound. fom_gap_pfp_proper_right_add_wbleft_value_bound + S (fom_value_pfp_proper_right_add_wbleft) = p))) /\ (((forall fom_index_pfp_proper_right_add_wbright. (exists fom_gap_pfp_proper_right_add_wbright_index_bound. fom_gap_pfp_proper_right_add_wbright_index_bound + S (fom_index_pfp_proper_right_add_wbright) = M) -> exists fom_value_pfp_proper_right_add_wbright. ((((exists fom_beta_height_pfp_proper_right_add_wbright_entry. fom_beta_height_pfp_proper_right_add_wbright_entry + S (fom_value_pfp_proper_right_add_wbright) = S ((S (fom_index_pfp_proper_right_add_wbright)) * dc)) /\ exists fom_beta_quotient_pfp_proper_right_add_wbright_entry. db = fom_beta_quotient_pfp_proper_right_add_wbright_entry * S ((S (fom_index_pfp_proper_right_add_wbright)) * dc) + (fom_value_pfp_proper_right_add_wbright))) /\ (exists fom_gap_pfp_proper_right_add_wbright_value_bound. fom_gap_pfp_proper_right_add_wbright_value_bound + S (fom_value_pfp_proper_right_add_wbright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_proper_right_add_wbcoefficients. (exists pfa_gap_proper_right_add_wbcoefficientsbound. pfa_gap_proper_right_add_wbcoefficientsbound + S (pfc_index_proper_right_add_wbcoefficients) = (N)) -> exists pfc_value_proper_right_add_wbcoefficients. ((((exists ff_h_pfp_proper_right_add_wbcoefficientsentry. ff_h_pfp_proper_right_add_wbcoefficientsentry + S (pfc_value_proper_right_add_wbcoefficients) = S ((S (pfc_index_proper_right_add_wbcoefficients)) * wc)) /\ exists ff_q_pfp_proper_right_add_wbcoefficientsentry. wb = ff_q_pfp_proper_right_add_wbcoefficientsentry * S ((S (pfc_index_proper_right_add_wbcoefficients)) * wc) + (pfc_value_proper_right_add_wbcoefficients))) /\ ((exists pfc_terms_code_proper_right_add_wbcoefficientscoefficient pfc_terms_scale_proper_right_add_wbcoefficientscoefficient pfc_natural_sum_proper_right_add_wbcoefficientscoefficient. ((forall pfc_index_proper_right_add_wbcoefficientscoefficientdiagonal. (exists pfa_gap_proper_right_add_wbcoefficientscoefficientdiagonalbound. pfa_gap_proper_right_add_wbcoefficientscoefficientdiagonalbound + S (pfc_index_proper_right_add_wbcoefficientscoefficientdiagonal) = (S (pfc_index_proper_right_add_wbcoefficients))) -> exists pfc_value_proper_right_add_wbcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_proper_right_add_wbcoefficientscoefficientdiagonalentry. ff_h_pfp_proper_right_add_wbcoefficientscoefficientdiagonalentry + S (pfc_value_proper_right_add_wbcoefficientscoefficientdiagonal) = S ((S (pfc_index_proper_right_add_wbcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_right_add_wbcoefficientscoefficient)) /\ exists ff_q_pfp_proper_right_add_wbcoefficientscoefficientdiagonalentry. pfc_terms_code_proper_right_add_wbcoefficientscoefficient = ff_q_pfp_proper_right_add_wbcoefficientscoefficientdiagonalentry * S ((S (pfc_index_proper_right_add_wbcoefficientscoefficientdiagonal)) * pfc_terms_scale_proper_right_add_wbcoefficientscoefficient) + (pfc_value_proper_right_add_wbcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_proper_right_add_wbcoefficientscoefficientdiagonalterm pfc_left_proper_right_add_wbcoefficientscoefficientdiagonalterm pfc_right_proper_right_add_wbcoefficientscoefficientdiagonalterm. (((pfc_index_proper_right_add_wbcoefficientscoefficientdiagonal)+pfc_complement_proper_right_add_wbcoefficientscoefficientdiagonalterm=(pfc_index_proper_right_add_wbcoefficients)) /\ ((((((exists pfa_gap_proper_right_add_wbcoefficientscoefficientdiagonaltermleftinside. pfa_gap_proper_right_add_wbcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_proper_right_add_wbcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_proper_right_add_wbcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_proper_right_add_wbcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_proper_right_add_wbcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_proper_right_add_wbcoefficientscoefficientdiagonal)) * cc)) /\ exists ff_q_pfp_proper_right_add_wbcoefficientscoefficientdiagonaltermleftentry. cb = ff_q_pfp_proper_right_add_wbcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_proper_right_add_wbcoefficientscoefficientdiagonal)) * cc) + (pfc_left_proper_right_add_wbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_right_add_wbcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_proper_right_add_wbcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_proper_right_add_wbcoefficientscoefficientdiagonal)) /\ (((pfc_left_proper_right_add_wbcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_proper_right_add_wbcoefficientscoefficientdiagonaltermrightinside. pfa_gap_proper_right_add_wbcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_proper_right_add_wbcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_proper_right_add_wbcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_proper_right_add_wbcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_proper_right_add_wbcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_proper_right_add_wbcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_proper_right_add_wbcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_proper_right_add_wbcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_proper_right_add_wbcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_proper_right_add_wbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_proper_right_add_wbcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_proper_right_add_wbcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_proper_right_add_wbcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_proper_right_add_wbcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_proper_right_add_wbcoefficientscoefficientdiagonal)=pfc_left_proper_right_add_wbcoefficientscoefficientdiagonalterm*pfc_right_proper_right_add_wbcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_proper_right_add_wbcoefficientscoefficientsum fs_v_pfc_proper_right_add_wbcoefficientscoefficientsum. ((((exists fs_h_pfc_proper_right_add_wbcoefficientscoefficientsum_body_start. fs_h_pfc_proper_right_add_wbcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_proper_right_add_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_wbcoefficientscoefficientsum_body_start. fs_u_pfc_proper_right_add_wbcoefficientscoefficientsum = fs_q_pfc_proper_right_add_wbcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_proper_right_add_wbcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_proper_right_add_wbcoefficientscoefficientsum_body_terminal. fs_h_pfc_proper_right_add_wbcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_proper_right_add_wbcoefficientscoefficient) = S ((S (S (pfc_index_proper_right_add_wbcoefficients))) * fs_v_pfc_proper_right_add_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_wbcoefficientscoefficientsum_body_terminal. fs_u_pfc_proper_right_add_wbcoefficientscoefficientsum = fs_q_pfc_proper_right_add_wbcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_proper_right_add_wbcoefficients))) * fs_v_pfc_proper_right_add_wbcoefficientscoefficientsum) + (pfc_natural_sum_proper_right_add_wbcoefficientscoefficient))) /\ forall fs_i_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps = S (pfc_index_proper_right_add_wbcoefficients)) -> exists fs_a_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps fs_r_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps fs_s_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_right_add_wbcoefficientscoefficient)) /\ exists fs_q_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_proper_right_add_wbcoefficientscoefficient = fs_q_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_proper_right_add_wbcoefficientscoefficient) + (fs_a_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_proper_right_add_wbcoefficientscoefficientsum = fs_q_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_wbcoefficientscoefficientsum) + (fs_r_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_proper_right_add_wbcoefficientscoefficientsum = fs_q_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_proper_right_add_wbcoefficientscoefficientsum) + (fs_s_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps = fs_r_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps + fs_a_pfc_proper_right_add_wbcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_proper_right_add_wbcoefficientscoefficientresiduebound. pfa_gap_proper_right_add_wbcoefficientscoefficientresiduebound + S (pfc_value_proper_right_add_wbcoefficients) = (p)) /\ ((exists pfa_offset_left_proper_right_add_wbcoefficientscoefficientresiduecongruence pfa_offset_right_proper_right_add_wbcoefficientscoefficientresiduecongruence. (pfc_natural_sum_proper_right_add_wbcoefficientscoefficient) + (p) * pfa_offset_left_proper_right_add_wbcoefficientscoefficientresiduecongruence = (pfc_value_proper_right_add_wbcoefficients) + (p) * pfa_offset_right_proper_right_add_wbcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfp_index_proper_right_add_result. (exists pfa_gap_proper_right_add_resultindex. pfa_gap_proper_right_add_resultindex + S (pfp_index_proper_right_add_result) = (N)) -> exists pfp_left_proper_right_add_result pfp_right_proper_right_add_result pfp_value_proper_right_add_result. ((((exists ff_h_pfp_proper_right_add_resultleft. ff_h_pfp_proper_right_add_resultleft + S (pfp_left_proper_right_add_result) = S ((S (pfp_index_proper_right_add_result)) * uc)) /\ exists ff_q_pfp_proper_right_add_resultleft. ub = ff_q_pfp_proper_right_add_resultleft * S ((S (pfp_index_proper_right_add_result)) * uc) + (pfp_left_proper_right_add_result))) /\ (((((exists ff_h_pfp_proper_right_add_resultright. ff_h_pfp_proper_right_add_resultright + S (pfp_right_proper_right_add_result) = S ((S (pfp_index_proper_right_add_result)) * vc)) /\ exists ff_q_pfp_proper_right_add_resultright. vb = ff_q_pfp_proper_right_add_resultright * S ((S (pfp_index_proper_right_add_result)) * vc) + (pfp_right_proper_right_add_result))) /\ (((((exists ff_h_pfp_proper_right_add_resulttarget. ff_h_pfp_proper_right_add_resulttarget + S (pfp_value_proper_right_add_result) = S ((S (pfp_index_proper_right_add_result)) * wc)) /\ exists ff_q_pfp_proper_right_add_resulttarget. wb = ff_q_pfp_proper_right_add_resulttarget * S ((S (pfp_index_proper_right_add_result)) * wc) + (pfp_value_proper_right_add_result))) /\ ((((exists pfa_gap_proper_right_add_resultoperationleft. pfa_gap_proper_right_add_resultoperationleft + S (pfp_left_proper_right_add_result) = (p)) /\ (((exists pfa_gap_proper_right_add_resultoperationright. pfa_gap_proper_right_add_resultoperationright + S (pfp_right_proper_right_add_result) = (p)) /\ ((((exists pfa_gap_proper_right_add_resultoperationresultbound. pfa_gap_proper_right_add_resultoperationresultbound + S (pfp_value_proper_right_add_result) = (p)) /\ ((exists pfa_offset_left_proper_right_add_resultoperationresultcongruence pfa_offset_right_proper_right_add_resultoperationresultcongruence. ((pfp_left_proper_right_add_result) + (pfp_right_proper_right_add_result)) + (p) * pfa_offset_left_proper_right_add_resultoperationresultcongruence = (pfp_value_proper_right_add_result) + (p) * pfa_offset_right_proper_right_add_resultoperationresultcongruence))))))))))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro ubintro ucintro vbintro vcintro wbintro wcintro Nintro hsintro huintro hvintro hwcases hucases hu_rightcases hu_right_rightcases hvcases hv_rightcases hv_right_rightcases hwcases hw_rightcases hw_right_rightspecialize prime_field_convolution_prefix_right_add (p)specialize prime_field_convolution_prefix_right_add (ab)specialize prime_field_convolution_prefix_right_add (ac)specialize prime_field_convolution_prefix_right_add (bb)specialize prime_field_convolution_prefix_right_add (bc)specialize prime_field_convolution_prefix_right_add (cb)specialize prime_field_convolution_prefix_right_add (cc)specialize prime_field_convolution_prefix_right_add (L)specialize prime_field_convolution_prefix_right_add (db)specialize prime_field_convolution_prefix_right_add (dc)specialize prime_field_convolution_prefix_right_add (M)specialize prime_field_convolution_prefix_right_add (ub)specialize prime_field_convolution_prefix_right_add (uc)specialize prime_field_convolution_prefix_right_add (vb)specialize prime_field_convolution_prefix_right_add (vc)specialize prime_field_convolution_prefix_right_add (wb)specialize prime_field_convolution_prefix_right_add (wc)specialize prime_field_convolution_prefix_right_add (N)apply prime_field_convolution_prefix_right_addexact hsexact hu_right_right_rightexact hv_right_right_rightexact hw_right_right_right
prime_field_polynomial_right_distributive_products_exists · unchanged support, not a new admission
forall p ab ac bb bc cb cc L db dc M. (~(p=0)) -> (forall fom_index_pfp_products_right_fixed_input. (exists fom_gap_pfp_products_right_fixed_input_index_bound. fom_gap_pfp_products_right_fixed_input_index_bound + S (fom_index_pfp_products_right_fixed_input) = M) -> exists fom_value_pfp_products_right_fixed_input. ((((exists fom_beta_height_pfp_products_right_fixed_input_entry. fom_beta_height_pfp_products_right_fixed_input_entry + S (fom_value_pfp_products_right_fixed_input) = S ((S (fom_index_pfp_products_right_fixed_input)) * dc)) /\ exists fom_beta_quotient_pfp_products_right_fixed_input_entry. db = fom_beta_quotient_pfp_products_right_fixed_input_entry * S ((S (fom_index_pfp_products_right_fixed_input)) * dc) + (fom_value_pfp_products_right_fixed_input))) /\ (exists fom_gap_pfp_products_right_fixed_input_value_bound. fom_gap_pfp_products_right_fixed_input_value_bound + S (fom_value_pfp_products_right_fixed_input) = p))) -> (forall pfp_index_products_right_input_addition. (exists pfa_gap_products_right_input_additionindex. pfa_gap_products_right_input_additionindex + S (pfp_index_products_right_input_addition) = (L)) -> exists pfp_left_products_right_input_addition pfp_right_products_right_input_addition pfp_value_products_right_input_addition. ((((exists ff_h_pfp_products_right_input_additionleft. ff_h_pfp_products_right_input_additionleft + S (pfp_left_products_right_input_addition) = S ((S (pfp_index_products_right_input_addition)) * ac)) /\ exists ff_q_pfp_products_right_input_additionleft. ab = ff_q_pfp_products_right_input_additionleft * S ((S (pfp_index_products_right_input_addition)) * ac) + (pfp_left_products_right_input_addition))) /\ (((((exists ff_h_pfp_products_right_input_additionright. ff_h_pfp_products_right_input_additionright + S (pfp_right_products_right_input_addition) = S ((S (pfp_index_products_right_input_addition)) * bc)) /\ exists ff_q_pfp_products_right_input_additionright. bb = ff_q_pfp_products_right_input_additionright * S ((S (pfp_index_products_right_input_addition)) * bc) + (pfp_right_products_right_input_addition))) /\ (((((exists ff_h_pfp_products_right_input_additiontarget. ff_h_pfp_products_right_input_additiontarget + S (pfp_value_products_right_input_addition) = S ((S (pfp_index_products_right_input_addition)) * cc)) /\ exists ff_q_pfp_products_right_input_additiontarget. cb = ff_q_pfp_products_right_input_additiontarget * S ((S (pfp_index_products_right_input_addition)) * cc) + (pfp_value_products_right_input_addition))) /\ ((((exists pfa_gap_products_right_input_additionoperationleft. pfa_gap_products_right_input_additionoperationleft + S (pfp_left_products_right_input_addition) = (p)) /\ (((exists pfa_gap_products_right_input_additionoperationright. pfa_gap_products_right_input_additionoperationright + S (pfp_right_products_right_input_addition) = (p)) /\ ((((exists pfa_gap_products_right_input_additionoperationresultbound. pfa_gap_products_right_input_additionoperationresultbound + S (pfp_value_products_right_input_addition) = (p)) /\ ((exists pfa_offset_left_products_right_input_additionoperationresultcongruence pfa_offset_right_products_right_input_additionoperationresultcongruence. ((pfp_left_products_right_input_addition) + (pfp_right_products_right_input_addition)) + (p) * pfa_offset_left_products_right_input_additionoperationresultcongruence = (pfp_value_products_right_input_addition) + (p) * pfa_offset_right_products_right_input_additionoperationresultcongruence)))))))))))))))) -> (exists N ub uc vb vc wb wc. ((((forall fom_index_pfp_products_right_result_ubleft. (exists fom_gap_pfp_products_right_result_ubleft_index_bound. fom_gap_pfp_products_right_result_ubleft_index_bound + S (fom_index_pfp_products_right_result_ubleft) = L) -> exists fom_value_pfp_products_right_result_ubleft. ((((exists fom_beta_height_pfp_products_right_result_ubleft_entry. fom_beta_height_pfp_products_right_result_ubleft_entry + S (fom_value_pfp_products_right_result_ubleft) = S ((S (fom_index_pfp_products_right_result_ubleft)) * ac)) /\ exists fom_beta_quotient_pfp_products_right_result_ubleft_entry. ab = fom_beta_quotient_pfp_products_right_result_ubleft_entry * S ((S (fom_index_pfp_products_right_result_ubleft)) * ac) + (fom_value_pfp_products_right_result_ubleft))) /\ (exists fom_gap_pfp_products_right_result_ubleft_value_bound. fom_gap_pfp_products_right_result_ubleft_value_bound + S (fom_value_pfp_products_right_result_ubleft) = p))) /\ (((forall fom_index_pfp_products_right_result_ubright. (exists fom_gap_pfp_products_right_result_ubright_index_bound. fom_gap_pfp_products_right_result_ubright_index_bound + S (fom_index_pfp_products_right_result_ubright) = M) -> exists fom_value_pfp_products_right_result_ubright. ((((exists fom_beta_height_pfp_products_right_result_ubright_entry. fom_beta_height_pfp_products_right_result_ubright_entry + S (fom_value_pfp_products_right_result_ubright) = S ((S (fom_index_pfp_products_right_result_ubright)) * dc)) /\ exists fom_beta_quotient_pfp_products_right_result_ubright_entry. db = fom_beta_quotient_pfp_products_right_result_ubright_entry * S ((S (fom_index_pfp_products_right_result_ubright)) * dc) + (fom_value_pfp_products_right_result_ubright))) /\ (exists fom_gap_pfp_products_right_result_ubright_value_bound. fom_gap_pfp_products_right_result_ubright_value_bound + S (fom_value_pfp_products_right_result_ubright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_products_right_result_ubcoefficients. (exists pfa_gap_products_right_result_ubcoefficientsbound. pfa_gap_products_right_result_ubcoefficientsbound + S (pfc_index_products_right_result_ubcoefficients) = (N)) -> exists pfc_value_products_right_result_ubcoefficients. ((((exists ff_h_pfp_products_right_result_ubcoefficientsentry. ff_h_pfp_products_right_result_ubcoefficientsentry + S (pfc_value_products_right_result_ubcoefficients) = S ((S (pfc_index_products_right_result_ubcoefficients)) * uc)) /\ exists ff_q_pfp_products_right_result_ubcoefficientsentry. ub = ff_q_pfp_products_right_result_ubcoefficientsentry * S ((S (pfc_index_products_right_result_ubcoefficients)) * uc) + (pfc_value_products_right_result_ubcoefficients))) /\ ((exists pfc_terms_code_products_right_result_ubcoefficientscoefficient pfc_terms_scale_products_right_result_ubcoefficientscoefficient pfc_natural_sum_products_right_result_ubcoefficientscoefficient. ((forall pfc_index_products_right_result_ubcoefficientscoefficientdiagonal. (exists pfa_gap_products_right_result_ubcoefficientscoefficientdiagonalbound. pfa_gap_products_right_result_ubcoefficientscoefficientdiagonalbound + S (pfc_index_products_right_result_ubcoefficientscoefficientdiagonal) = (S (pfc_index_products_right_result_ubcoefficients))) -> exists pfc_value_products_right_result_ubcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_right_result_ubcoefficientscoefficientdiagonalentry. ff_h_pfp_products_right_result_ubcoefficientscoefficientdiagonalentry + S (pfc_value_products_right_result_ubcoefficientscoefficientdiagonal) = S ((S (pfc_index_products_right_result_ubcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_result_ubcoefficientscoefficient)) /\ exists ff_q_pfp_products_right_result_ubcoefficientscoefficientdiagonalentry. pfc_terms_code_products_right_result_ubcoefficientscoefficient = ff_q_pfp_products_right_result_ubcoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_right_result_ubcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_result_ubcoefficientscoefficient) + (pfc_value_products_right_result_ubcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_right_result_ubcoefficientscoefficientdiagonalterm pfc_left_products_right_result_ubcoefficientscoefficientdiagonalterm pfc_right_products_right_result_ubcoefficientscoefficientdiagonalterm. (((pfc_index_products_right_result_ubcoefficientscoefficientdiagonal)+pfc_complement_products_right_result_ubcoefficientscoefficientdiagonalterm=(pfc_index_products_right_result_ubcoefficients)) /\ ((((((exists pfa_gap_products_right_result_ubcoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_right_result_ubcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_right_result_ubcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_products_right_result_ubcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_right_result_ubcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_right_result_ubcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_right_result_ubcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_products_right_result_ubcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_products_right_result_ubcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_right_result_ubcoefficientscoefficientdiagonal)) * ac) + (pfc_left_products_right_result_ubcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_result_ubcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_right_result_ubcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_products_right_result_ubcoefficientscoefficientdiagonal)) /\ (((pfc_left_products_right_result_ubcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_right_result_ubcoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_right_result_ubcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_right_result_ubcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_products_right_result_ubcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_right_result_ubcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_right_result_ubcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_right_result_ubcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_products_right_result_ubcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_products_right_result_ubcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_right_result_ubcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_products_right_result_ubcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_result_ubcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_right_result_ubcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_products_right_result_ubcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_right_result_ubcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_right_result_ubcoefficientscoefficientdiagonal)=pfc_left_products_right_result_ubcoefficientscoefficientdiagonalterm*pfc_right_products_right_result_ubcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_right_result_ubcoefficientscoefficientsum fs_v_pfc_products_right_result_ubcoefficientscoefficientsum. ((((exists fs_h_pfc_products_right_result_ubcoefficientscoefficientsum_body_start. fs_h_pfc_products_right_result_ubcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_right_result_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_ubcoefficientscoefficientsum_body_start. fs_u_pfc_products_right_result_ubcoefficientscoefficientsum = fs_q_pfc_products_right_result_ubcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_right_result_ubcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_right_result_ubcoefficientscoefficientsum_body_terminal. fs_h_pfc_products_right_result_ubcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_right_result_ubcoefficientscoefficient) = S ((S (S (pfc_index_products_right_result_ubcoefficients))) * fs_v_pfc_products_right_result_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_ubcoefficientscoefficientsum_body_terminal. fs_u_pfc_products_right_result_ubcoefficientscoefficientsum = fs_q_pfc_products_right_result_ubcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_right_result_ubcoefficients))) * fs_v_pfc_products_right_result_ubcoefficientscoefficientsum) + (pfc_natural_sum_products_right_result_ubcoefficientscoefficient))) /\ forall fs_i_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps = S (pfc_index_products_right_result_ubcoefficients)) -> exists fs_a_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps fs_r_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps fs_s_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_result_ubcoefficientscoefficient)) /\ exists fs_q_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_right_result_ubcoefficientscoefficient = fs_q_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_result_ubcoefficientscoefficient) + (fs_a_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_right_result_ubcoefficientscoefficientsum = fs_q_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_ubcoefficientscoefficientsum) + (fs_r_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_ubcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_right_result_ubcoefficientscoefficientsum = fs_q_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_ubcoefficientscoefficientsum) + (fs_s_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps = fs_r_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps + fs_a_pfc_products_right_result_ubcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_right_result_ubcoefficientscoefficientresiduebound. pfa_gap_products_right_result_ubcoefficientscoefficientresiduebound + S (pfc_value_products_right_result_ubcoefficients) = (p)) /\ ((exists pfa_offset_left_products_right_result_ubcoefficientscoefficientresiduecongruence pfa_offset_right_products_right_result_ubcoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_right_result_ubcoefficientscoefficient) + (p) * pfa_offset_left_products_right_result_ubcoefficientscoefficientresiduecongruence = (pfc_value_products_right_result_ubcoefficients) + (p) * pfa_offset_right_products_right_result_ubcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ (((((forall fom_index_pfp_products_right_result_vbleft. (exists fom_gap_pfp_products_right_result_vbleft_index_bound. fom_gap_pfp_products_right_result_vbleft_index_bound + S (fom_index_pfp_products_right_result_vbleft) = L) -> exists fom_value_pfp_products_right_result_vbleft. ((((exists fom_beta_height_pfp_products_right_result_vbleft_entry. fom_beta_height_pfp_products_right_result_vbleft_entry + S (fom_value_pfp_products_right_result_vbleft) = S ((S (fom_index_pfp_products_right_result_vbleft)) * bc)) /\ exists fom_beta_quotient_pfp_products_right_result_vbleft_entry. bb = fom_beta_quotient_pfp_products_right_result_vbleft_entry * S ((S (fom_index_pfp_products_right_result_vbleft)) * bc) + (fom_value_pfp_products_right_result_vbleft))) /\ (exists fom_gap_pfp_products_right_result_vbleft_value_bound. fom_gap_pfp_products_right_result_vbleft_value_bound + S (fom_value_pfp_products_right_result_vbleft) = p))) /\ (((forall fom_index_pfp_products_right_result_vbright. (exists fom_gap_pfp_products_right_result_vbright_index_bound. fom_gap_pfp_products_right_result_vbright_index_bound + S (fom_index_pfp_products_right_result_vbright) = M) -> exists fom_value_pfp_products_right_result_vbright. ((((exists fom_beta_height_pfp_products_right_result_vbright_entry. fom_beta_height_pfp_products_right_result_vbright_entry + S (fom_value_pfp_products_right_result_vbright) = S ((S (fom_index_pfp_products_right_result_vbright)) * dc)) /\ exists fom_beta_quotient_pfp_products_right_result_vbright_entry. db = fom_beta_quotient_pfp_products_right_result_vbright_entry * S ((S (fom_index_pfp_products_right_result_vbright)) * dc) + (fom_value_pfp_products_right_result_vbright))) /\ (exists fom_gap_pfp_products_right_result_vbright_value_bound. fom_gap_pfp_products_right_result_vbright_value_bound + S (fom_value_pfp_products_right_result_vbright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_products_right_result_vbcoefficients. (exists pfa_gap_products_right_result_vbcoefficientsbound. pfa_gap_products_right_result_vbcoefficientsbound + S (pfc_index_products_right_result_vbcoefficients) = (N)) -> exists pfc_value_products_right_result_vbcoefficients. ((((exists ff_h_pfp_products_right_result_vbcoefficientsentry. ff_h_pfp_products_right_result_vbcoefficientsentry + S (pfc_value_products_right_result_vbcoefficients) = S ((S (pfc_index_products_right_result_vbcoefficients)) * vc)) /\ exists ff_q_pfp_products_right_result_vbcoefficientsentry. vb = ff_q_pfp_products_right_result_vbcoefficientsentry * S ((S (pfc_index_products_right_result_vbcoefficients)) * vc) + (pfc_value_products_right_result_vbcoefficients))) /\ ((exists pfc_terms_code_products_right_result_vbcoefficientscoefficient pfc_terms_scale_products_right_result_vbcoefficientscoefficient pfc_natural_sum_products_right_result_vbcoefficientscoefficient. ((forall pfc_index_products_right_result_vbcoefficientscoefficientdiagonal. (exists pfa_gap_products_right_result_vbcoefficientscoefficientdiagonalbound. pfa_gap_products_right_result_vbcoefficientscoefficientdiagonalbound + S (pfc_index_products_right_result_vbcoefficientscoefficientdiagonal) = (S (pfc_index_products_right_result_vbcoefficients))) -> exists pfc_value_products_right_result_vbcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_right_result_vbcoefficientscoefficientdiagonalentry. ff_h_pfp_products_right_result_vbcoefficientscoefficientdiagonalentry + S (pfc_value_products_right_result_vbcoefficientscoefficientdiagonal) = S ((S (pfc_index_products_right_result_vbcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_result_vbcoefficientscoefficient)) /\ exists ff_q_pfp_products_right_result_vbcoefficientscoefficientdiagonalentry. pfc_terms_code_products_right_result_vbcoefficientscoefficient = ff_q_pfp_products_right_result_vbcoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_right_result_vbcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_result_vbcoefficientscoefficient) + (pfc_value_products_right_result_vbcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_right_result_vbcoefficientscoefficientdiagonalterm pfc_left_products_right_result_vbcoefficientscoefficientdiagonalterm pfc_right_products_right_result_vbcoefficientscoefficientdiagonalterm. (((pfc_index_products_right_result_vbcoefficientscoefficientdiagonal)+pfc_complement_products_right_result_vbcoefficientscoefficientdiagonalterm=(pfc_index_products_right_result_vbcoefficients)) /\ ((((((exists pfa_gap_products_right_result_vbcoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_right_result_vbcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_right_result_vbcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_products_right_result_vbcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_right_result_vbcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_right_result_vbcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_right_result_vbcoefficientscoefficientdiagonal)) * bc)) /\ exists ff_q_pfp_products_right_result_vbcoefficientscoefficientdiagonaltermleftentry. bb = ff_q_pfp_products_right_result_vbcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_right_result_vbcoefficientscoefficientdiagonal)) * bc) + (pfc_left_products_right_result_vbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_result_vbcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_right_result_vbcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_products_right_result_vbcoefficientscoefficientdiagonal)) /\ (((pfc_left_products_right_result_vbcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_right_result_vbcoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_right_result_vbcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_right_result_vbcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_products_right_result_vbcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_right_result_vbcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_right_result_vbcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_right_result_vbcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_products_right_result_vbcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_products_right_result_vbcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_right_result_vbcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_products_right_result_vbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_result_vbcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_right_result_vbcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_products_right_result_vbcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_right_result_vbcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_right_result_vbcoefficientscoefficientdiagonal)=pfc_left_products_right_result_vbcoefficientscoefficientdiagonalterm*pfc_right_products_right_result_vbcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_right_result_vbcoefficientscoefficientsum fs_v_pfc_products_right_result_vbcoefficientscoefficientsum. ((((exists fs_h_pfc_products_right_result_vbcoefficientscoefficientsum_body_start. fs_h_pfc_products_right_result_vbcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_right_result_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_vbcoefficientscoefficientsum_body_start. fs_u_pfc_products_right_result_vbcoefficientscoefficientsum = fs_q_pfc_products_right_result_vbcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_right_result_vbcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_right_result_vbcoefficientscoefficientsum_body_terminal. fs_h_pfc_products_right_result_vbcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_right_result_vbcoefficientscoefficient) = S ((S (S (pfc_index_products_right_result_vbcoefficients))) * fs_v_pfc_products_right_result_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_vbcoefficientscoefficientsum_body_terminal. fs_u_pfc_products_right_result_vbcoefficientscoefficientsum = fs_q_pfc_products_right_result_vbcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_right_result_vbcoefficients))) * fs_v_pfc_products_right_result_vbcoefficientscoefficientsum) + (pfc_natural_sum_products_right_result_vbcoefficientscoefficient))) /\ forall fs_i_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps = S (pfc_index_products_right_result_vbcoefficients)) -> exists fs_a_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps fs_r_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps fs_s_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_result_vbcoefficientscoefficient)) /\ exists fs_q_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_right_result_vbcoefficientscoefficient = fs_q_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_result_vbcoefficientscoefficient) + (fs_a_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_right_result_vbcoefficientscoefficientsum = fs_q_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_vbcoefficientscoefficientsum) + (fs_r_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_vbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_right_result_vbcoefficientscoefficientsum = fs_q_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_vbcoefficientscoefficientsum) + (fs_s_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps = fs_r_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps + fs_a_pfc_products_right_result_vbcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_right_result_vbcoefficientscoefficientresiduebound. pfa_gap_products_right_result_vbcoefficientscoefficientresiduebound + S (pfc_value_products_right_result_vbcoefficients) = (p)) /\ ((exists pfa_offset_left_products_right_result_vbcoefficientscoefficientresiduecongruence pfa_offset_right_products_right_result_vbcoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_right_result_vbcoefficientscoefficient) + (p) * pfa_offset_left_products_right_result_vbcoefficientscoefficientresiduecongruence = (pfc_value_products_right_result_vbcoefficients) + (p) * pfa_offset_right_products_right_result_vbcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ (((((forall fom_index_pfp_products_right_result_wbleft. (exists fom_gap_pfp_products_right_result_wbleft_index_bound. fom_gap_pfp_products_right_result_wbleft_index_bound + S (fom_index_pfp_products_right_result_wbleft) = L) -> exists fom_value_pfp_products_right_result_wbleft. ((((exists fom_beta_height_pfp_products_right_result_wbleft_entry. fom_beta_height_pfp_products_right_result_wbleft_entry + S (fom_value_pfp_products_right_result_wbleft) = S ((S (fom_index_pfp_products_right_result_wbleft)) * cc)) /\ exists fom_beta_quotient_pfp_products_right_result_wbleft_entry. cb = fom_beta_quotient_pfp_products_right_result_wbleft_entry * S ((S (fom_index_pfp_products_right_result_wbleft)) * cc) + (fom_value_pfp_products_right_result_wbleft))) /\ (exists fom_gap_pfp_products_right_result_wbleft_value_bound. fom_gap_pfp_products_right_result_wbleft_value_bound + S (fom_value_pfp_products_right_result_wbleft) = p))) /\ (((forall fom_index_pfp_products_right_result_wbright. (exists fom_gap_pfp_products_right_result_wbright_index_bound. fom_gap_pfp_products_right_result_wbright_index_bound + S (fom_index_pfp_products_right_result_wbright) = M) -> exists fom_value_pfp_products_right_result_wbright. ((((exists fom_beta_height_pfp_products_right_result_wbright_entry. fom_beta_height_pfp_products_right_result_wbright_entry + S (fom_value_pfp_products_right_result_wbright) = S ((S (fom_index_pfp_products_right_result_wbright)) * dc)) /\ exists fom_beta_quotient_pfp_products_right_result_wbright_entry. db = fom_beta_quotient_pfp_products_right_result_wbright_entry * S ((S (fom_index_pfp_products_right_result_wbright)) * dc) + (fom_value_pfp_products_right_result_wbright))) /\ (exists fom_gap_pfp_products_right_result_wbright_value_bound. fom_gap_pfp_products_right_result_wbright_value_bound + S (fom_value_pfp_products_right_result_wbright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_products_right_result_wbcoefficients. (exists pfa_gap_products_right_result_wbcoefficientsbound. pfa_gap_products_right_result_wbcoefficientsbound + S (pfc_index_products_right_result_wbcoefficients) = (N)) -> exists pfc_value_products_right_result_wbcoefficients. ((((exists ff_h_pfp_products_right_result_wbcoefficientsentry. ff_h_pfp_products_right_result_wbcoefficientsentry + S (pfc_value_products_right_result_wbcoefficients) = S ((S (pfc_index_products_right_result_wbcoefficients)) * wc)) /\ exists ff_q_pfp_products_right_result_wbcoefficientsentry. wb = ff_q_pfp_products_right_result_wbcoefficientsentry * S ((S (pfc_index_products_right_result_wbcoefficients)) * wc) + (pfc_value_products_right_result_wbcoefficients))) /\ ((exists pfc_terms_code_products_right_result_wbcoefficientscoefficient pfc_terms_scale_products_right_result_wbcoefficientscoefficient pfc_natural_sum_products_right_result_wbcoefficientscoefficient. ((forall pfc_index_products_right_result_wbcoefficientscoefficientdiagonal. (exists pfa_gap_products_right_result_wbcoefficientscoefficientdiagonalbound. pfa_gap_products_right_result_wbcoefficientscoefficientdiagonalbound + S (pfc_index_products_right_result_wbcoefficientscoefficientdiagonal) = (S (pfc_index_products_right_result_wbcoefficients))) -> exists pfc_value_products_right_result_wbcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_right_result_wbcoefficientscoefficientdiagonalentry. ff_h_pfp_products_right_result_wbcoefficientscoefficientdiagonalentry + S (pfc_value_products_right_result_wbcoefficientscoefficientdiagonal) = S ((S (pfc_index_products_right_result_wbcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_result_wbcoefficientscoefficient)) /\ exists ff_q_pfp_products_right_result_wbcoefficientscoefficientdiagonalentry. pfc_terms_code_products_right_result_wbcoefficientscoefficient = ff_q_pfp_products_right_result_wbcoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_right_result_wbcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_result_wbcoefficientscoefficient) + (pfc_value_products_right_result_wbcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_right_result_wbcoefficientscoefficientdiagonalterm pfc_left_products_right_result_wbcoefficientscoefficientdiagonalterm pfc_right_products_right_result_wbcoefficientscoefficientdiagonalterm. (((pfc_index_products_right_result_wbcoefficientscoefficientdiagonal)+pfc_complement_products_right_result_wbcoefficientscoefficientdiagonalterm=(pfc_index_products_right_result_wbcoefficients)) /\ ((((((exists pfa_gap_products_right_result_wbcoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_right_result_wbcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_right_result_wbcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_products_right_result_wbcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_right_result_wbcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_right_result_wbcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_right_result_wbcoefficientscoefficientdiagonal)) * cc)) /\ exists ff_q_pfp_products_right_result_wbcoefficientscoefficientdiagonaltermleftentry. cb = ff_q_pfp_products_right_result_wbcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_right_result_wbcoefficientscoefficientdiagonal)) * cc) + (pfc_left_products_right_result_wbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_result_wbcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_right_result_wbcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_products_right_result_wbcoefficientscoefficientdiagonal)) /\ (((pfc_left_products_right_result_wbcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_right_result_wbcoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_right_result_wbcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_right_result_wbcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_products_right_result_wbcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_right_result_wbcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_right_result_wbcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_right_result_wbcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_products_right_result_wbcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_products_right_result_wbcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_right_result_wbcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_products_right_result_wbcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_result_wbcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_right_result_wbcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_products_right_result_wbcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_right_result_wbcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_right_result_wbcoefficientscoefficientdiagonal)=pfc_left_products_right_result_wbcoefficientscoefficientdiagonalterm*pfc_right_products_right_result_wbcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_right_result_wbcoefficientscoefficientsum fs_v_pfc_products_right_result_wbcoefficientscoefficientsum. ((((exists fs_h_pfc_products_right_result_wbcoefficientscoefficientsum_body_start. fs_h_pfc_products_right_result_wbcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_right_result_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_wbcoefficientscoefficientsum_body_start. fs_u_pfc_products_right_result_wbcoefficientscoefficientsum = fs_q_pfc_products_right_result_wbcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_right_result_wbcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_right_result_wbcoefficientscoefficientsum_body_terminal. fs_h_pfc_products_right_result_wbcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_right_result_wbcoefficientscoefficient) = S ((S (S (pfc_index_products_right_result_wbcoefficients))) * fs_v_pfc_products_right_result_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_wbcoefficientscoefficientsum_body_terminal. fs_u_pfc_products_right_result_wbcoefficientscoefficientsum = fs_q_pfc_products_right_result_wbcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_right_result_wbcoefficients))) * fs_v_pfc_products_right_result_wbcoefficientscoefficientsum) + (pfc_natural_sum_products_right_result_wbcoefficientscoefficient))) /\ forall fs_i_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps = S (pfc_index_products_right_result_wbcoefficients)) -> exists fs_a_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps fs_r_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps fs_s_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_result_wbcoefficientscoefficient)) /\ exists fs_q_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_right_result_wbcoefficientscoefficient = fs_q_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_result_wbcoefficientscoefficient) + (fs_a_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_right_result_wbcoefficientscoefficientsum = fs_q_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_wbcoefficientscoefficientsum) + (fs_r_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_wbcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_right_result_wbcoefficientscoefficientsum = fs_q_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_result_wbcoefficientscoefficientsum) + (fs_s_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps = fs_r_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps + fs_a_pfc_products_right_result_wbcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_right_result_wbcoefficientscoefficientresiduebound. pfa_gap_products_right_result_wbcoefficientscoefficientresiduebound + S (pfc_value_products_right_result_wbcoefficients) = (p)) /\ ((exists pfa_offset_left_products_right_result_wbcoefficientscoefficientresiduecongruence pfa_offset_right_products_right_result_wbcoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_right_result_wbcoefficientscoefficient) + (p) * pfa_offset_left_products_right_result_wbcoefficientscoefficientresiduecongruence = (pfc_value_products_right_result_wbcoefficients) + (p) * pfa_offset_right_products_right_result_wbcoefficientscoefficientresiduecongruence))))))))))))))))))) /\ ((forall pfp_index_products_right_addition. (exists pfa_gap_products_right_additionindex. pfa_gap_products_right_additionindex + S (pfp_index_products_right_addition) = (N)) -> exists pfp_left_products_right_addition pfp_right_products_right_addition pfp_value_products_right_addition. ((((exists ff_h_pfp_products_right_additionleft. ff_h_pfp_products_right_additionleft + S (pfp_left_products_right_addition) = S ((S (pfp_index_products_right_addition)) * uc)) /\ exists ff_q_pfp_products_right_additionleft. ub = ff_q_pfp_products_right_additionleft * S ((S (pfp_index_products_right_addition)) * uc) + (pfp_left_products_right_addition))) /\ (((((exists ff_h_pfp_products_right_additionright. ff_h_pfp_products_right_additionright + S (pfp_right_products_right_addition) = S ((S (pfp_index_products_right_addition)) * vc)) /\ exists ff_q_pfp_products_right_additionright. vb = ff_q_pfp_products_right_additionright * S ((S (pfp_index_products_right_addition)) * vc) + (pfp_right_products_right_addition))) /\ (((((exists ff_h_pfp_products_right_additiontarget. ff_h_pfp_products_right_additiontarget + S (pfp_value_products_right_addition) = S ((S (pfp_index_products_right_addition)) * wc)) /\ exists ff_q_pfp_products_right_additiontarget. wb = ff_q_pfp_products_right_additiontarget * S ((S (pfp_index_products_right_addition)) * wc) + (pfp_value_products_right_addition))) /\ ((((exists pfa_gap_products_right_additionoperationleft. pfa_gap_products_right_additionoperationleft + S (pfp_left_products_right_addition) = (p)) /\ (((exists pfa_gap_products_right_additionoperationright. pfa_gap_products_right_additionoperationright + S (pfp_right_products_right_addition) = (p)) /\ ((((exists pfa_gap_products_right_additionoperationresultbound. pfa_gap_products_right_additionoperationresultbound + S (pfp_value_products_right_addition) = (p)) /\ ((exists pfa_offset_left_products_right_additionoperationresultcongruence pfa_offset_right_products_right_additionoperationresultcongruence. ((pfp_left_products_right_addition) + (pfp_right_products_right_addition)) + (p) * pfa_offset_left_products_right_additionoperationresultcongruence = (pfp_value_products_right_addition) + (p) * pfa_offset_right_products_right_additionoperationresultcongruence)))))))))))))))))))))))
intro pintro abintro acintro bbintro bcintro cbintro ccintro Lintro dbintro dcintro Mintro hpintro hdintro hshave hlength : exists N. ((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))specialize polynomial_product_length_exists (L)specialize polynomial_product_length_exists (M)apply polynomial_product_length_existscases hlengthhave hbounds : ((forall fom_index_pfp_products_right_bounded_ab. (exists fom_gap_pfp_products_right_bounded_ab_index_bound. fom_gap_pfp_products_right_bounded_ab_index_bound + S (fom_index_pfp_products_right_bounded_ab) = L) -> exists fom_value_pfp_products_right_bounded_ab. ((((exists fom_beta_height_pfp_products_right_bounded_ab_entry. fom_beta_height_pfp_products_right_bounded_ab_entry + S (fom_value_pfp_products_right_bounded_ab) = S ((S (fom_index_pfp_products_right_bounded_ab)) * ac)) /\ exists fom_beta_quotient_pfp_products_right_bounded_ab_entry. ab = fom_beta_quotient_pfp_products_right_bounded_ab_entry * S ((S (fom_index_pfp_products_right_bounded_ab)) * ac) + (fom_value_pfp_products_right_bounded_ab))) /\ (exists fom_gap_pfp_products_right_bounded_ab_value_bound. fom_gap_pfp_products_right_bounded_ab_value_bound + S (fom_value_pfp_products_right_bounded_ab) = p))) /\ (((forall fom_index_pfp_products_right_bounded_bb. (exists fom_gap_pfp_products_right_bounded_bb_index_bound. fom_gap_pfp_products_right_bounded_bb_index_bound + S (fom_index_pfp_products_right_bounded_bb) = L) -> exists fom_value_pfp_products_right_bounded_bb. ((((exists fom_beta_height_pfp_products_right_bounded_bb_entry. fom_beta_height_pfp_products_right_bounded_bb_entry + S (fom_value_pfp_products_right_bounded_bb) = S ((S (fom_index_pfp_products_right_bounded_bb)) * bc)) /\ exists fom_beta_quotient_pfp_products_right_bounded_bb_entry. bb = fom_beta_quotient_pfp_products_right_bounded_bb_entry * S ((S (fom_index_pfp_products_right_bounded_bb)) * bc) + (fom_value_pfp_products_right_bounded_bb))) /\ (exists fom_gap_pfp_products_right_bounded_bb_value_bound. fom_gap_pfp_products_right_bounded_bb_value_bound + S (fom_value_pfp_products_right_bounded_bb) = p))) /\ ((forall fom_index_pfp_products_right_bounded_cb. (exists fom_gap_pfp_products_right_bounded_cb_index_bound. fom_gap_pfp_products_right_bounded_cb_index_bound + S (fom_index_pfp_products_right_bounded_cb) = L) -> exists fom_value_pfp_products_right_bounded_cb. ((((exists fom_beta_height_pfp_products_right_bounded_cb_entry. fom_beta_height_pfp_products_right_bounded_cb_entry + S (fom_value_pfp_products_right_bounded_cb) = S ((S (fom_index_pfp_products_right_bounded_cb)) * cc)) /\ exists fom_beta_quotient_pfp_products_right_bounded_cb_entry. cb = fom_beta_quotient_pfp_products_right_bounded_cb_entry * S ((S (fom_index_pfp_products_right_bounded_cb)) * cc) + (fom_value_pfp_products_right_bounded_cb))) /\ (exists fom_gap_pfp_products_right_bounded_cb_value_bound. fom_gap_pfp_products_right_bounded_cb_value_bound + S (fom_value_pfp_products_right_bounded_cb) = p)))))))specialize prime_field_polynomial_add_bounded (p)specialize prime_field_polynomial_add_bounded (ab)specialize prime_field_polynomial_add_bounded (ac)specialize prime_field_polynomial_add_bounded (bb)specialize prime_field_polynomial_add_bounded (bc)specialize prime_field_polynomial_add_bounded (cb)specialize prime_field_polynomial_add_bounded (cc)specialize prime_field_polynomial_add_bounded (L)apply prime_field_polynomial_add_boundedexact hscases hboundscases hbounds_righthave hu : exists ub uc. ((forall fom_index_pfp_products_right_huleft. (exists fom_gap_pfp_products_right_huleft_index_bound. fom_gap_pfp_products_right_huleft_index_bound + S (fom_index_pfp_products_right_huleft) = L) -> exists fom_value_pfp_products_right_huleft. ((((exists fom_beta_height_pfp_products_right_huleft_entry. fom_beta_height_pfp_products_right_huleft_entry + S (fom_value_pfp_products_right_huleft) = S ((S (fom_index_pfp_products_right_huleft)) * ac)) /\ exists fom_beta_quotient_pfp_products_right_huleft_entry. ab = fom_beta_quotient_pfp_products_right_huleft_entry * S ((S (fom_index_pfp_products_right_huleft)) * ac) + (fom_value_pfp_products_right_huleft))) /\ (exists fom_gap_pfp_products_right_huleft_value_bound. fom_gap_pfp_products_right_huleft_value_bound + S (fom_value_pfp_products_right_huleft) = p))) /\ (((forall fom_index_pfp_products_right_huright. (exists fom_gap_pfp_products_right_huright_index_bound. fom_gap_pfp_products_right_huright_index_bound + S (fom_index_pfp_products_right_huright) = M) -> exists fom_value_pfp_products_right_huright. ((((exists fom_beta_height_pfp_products_right_huright_entry. fom_beta_height_pfp_products_right_huright_entry + S (fom_value_pfp_products_right_huright) = S ((S (fom_index_pfp_products_right_huright)) * dc)) /\ exists fom_beta_quotient_pfp_products_right_huright_entry. db = fom_beta_quotient_pfp_products_right_huright_entry * S ((S (fom_index_pfp_products_right_huright)) * dc) + (fom_value_pfp_products_right_huright))) /\ (exists fom_gap_pfp_products_right_huright_value_bound. fom_gap_pfp_products_right_huright_value_bound + S (fom_value_pfp_products_right_huright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((x)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (x)))))))) /\ ((forall pfc_index_products_right_hucoefficients. (exists pfa_gap_products_right_hucoefficientsbound. pfa_gap_products_right_hucoefficientsbound + S (pfc_index_products_right_hucoefficients) = (x)) -> exists pfc_value_products_right_hucoefficients. ((((exists ff_h_pfp_products_right_hucoefficientsentry. ff_h_pfp_products_right_hucoefficientsentry + S (pfc_value_products_right_hucoefficients) = S ((S (pfc_index_products_right_hucoefficients)) * uc)) /\ exists ff_q_pfp_products_right_hucoefficientsentry. ub = ff_q_pfp_products_right_hucoefficientsentry * S ((S (pfc_index_products_right_hucoefficients)) * uc) + (pfc_value_products_right_hucoefficients))) /\ ((exists pfc_terms_code_products_right_hucoefficientscoefficient pfc_terms_scale_products_right_hucoefficientscoefficient pfc_natural_sum_products_right_hucoefficientscoefficient. ((forall pfc_index_products_right_hucoefficientscoefficientdiagonal. (exists pfa_gap_products_right_hucoefficientscoefficientdiagonalbound. pfa_gap_products_right_hucoefficientscoefficientdiagonalbound + S (pfc_index_products_right_hucoefficientscoefficientdiagonal) = (S (pfc_index_products_right_hucoefficients))) -> exists pfc_value_products_right_hucoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_right_hucoefficientscoefficientdiagonalentry. ff_h_pfp_products_right_hucoefficientscoefficientdiagonalentry + S (pfc_value_products_right_hucoefficientscoefficientdiagonal) = S ((S (pfc_index_products_right_hucoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_hucoefficientscoefficient)) /\ exists ff_q_pfp_products_right_hucoefficientscoefficientdiagonalentry. pfc_terms_code_products_right_hucoefficientscoefficient = ff_q_pfp_products_right_hucoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_right_hucoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_hucoefficientscoefficient) + (pfc_value_products_right_hucoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_right_hucoefficientscoefficientdiagonalterm pfc_left_products_right_hucoefficientscoefficientdiagonalterm pfc_right_products_right_hucoefficientscoefficientdiagonalterm. (((pfc_index_products_right_hucoefficientscoefficientdiagonal)+pfc_complement_products_right_hucoefficientscoefficientdiagonalterm=(pfc_index_products_right_hucoefficients)) /\ ((((((exists pfa_gap_products_right_hucoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_right_hucoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_right_hucoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_products_right_hucoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_right_hucoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_right_hucoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_right_hucoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_products_right_hucoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_products_right_hucoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_right_hucoefficientscoefficientdiagonal)) * ac) + (pfc_left_products_right_hucoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_hucoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_right_hucoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_products_right_hucoefficientscoefficientdiagonal)) /\ (((pfc_left_products_right_hucoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_right_hucoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_right_hucoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_right_hucoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_products_right_hucoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_right_hucoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_right_hucoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_right_hucoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_products_right_hucoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_products_right_hucoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_right_hucoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_products_right_hucoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_hucoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_right_hucoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_products_right_hucoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_right_hucoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_right_hucoefficientscoefficientdiagonal)=pfc_left_products_right_hucoefficientscoefficientdiagonalterm*pfc_right_products_right_hucoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_right_hucoefficientscoefficientsum fs_v_pfc_products_right_hucoefficientscoefficientsum. ((((exists fs_h_pfc_products_right_hucoefficientscoefficientsum_body_start. fs_h_pfc_products_right_hucoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_right_hucoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hucoefficientscoefficientsum_body_start. fs_u_pfc_products_right_hucoefficientscoefficientsum = fs_q_pfc_products_right_hucoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_right_hucoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_right_hucoefficientscoefficientsum_body_terminal. fs_h_pfc_products_right_hucoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_right_hucoefficientscoefficient) = S ((S (S (pfc_index_products_right_hucoefficients))) * fs_v_pfc_products_right_hucoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hucoefficientscoefficientsum_body_terminal. fs_u_pfc_products_right_hucoefficientscoefficientsum = fs_q_pfc_products_right_hucoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_right_hucoefficients))) * fs_v_pfc_products_right_hucoefficientscoefficientsum) + (pfc_natural_sum_products_right_hucoefficientscoefficient))) /\ forall fs_i_pfc_products_right_hucoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_right_hucoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_right_hucoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_right_hucoefficientscoefficientsum_body_steps = S (pfc_index_products_right_hucoefficients)) -> exists fs_a_pfc_products_right_hucoefficientscoefficientsum_body_steps fs_r_pfc_products_right_hucoefficientscoefficientsum_body_steps fs_s_pfc_products_right_hucoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_right_hucoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_right_hucoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_right_hucoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_hucoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_hucoefficientscoefficient)) /\ exists fs_q_pfc_products_right_hucoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_right_hucoefficientscoefficient = fs_q_pfc_products_right_hucoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_right_hucoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_hucoefficientscoefficient) + (fs_a_pfc_products_right_hucoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_hucoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_right_hucoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_right_hucoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_hucoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hucoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hucoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_right_hucoefficientscoefficientsum = fs_q_pfc_products_right_hucoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_right_hucoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hucoefficientscoefficientsum) + (fs_r_pfc_products_right_hucoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_hucoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_right_hucoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_right_hucoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_right_hucoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hucoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hucoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_right_hucoefficientscoefficientsum = fs_q_pfc_products_right_hucoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_right_hucoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hucoefficientscoefficientsum) + (fs_s_pfc_products_right_hucoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_right_hucoefficientscoefficientsum_body_steps = fs_r_pfc_products_right_hucoefficientscoefficientsum_body_steps + fs_a_pfc_products_right_hucoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_right_hucoefficientscoefficientresiduebound. pfa_gap_products_right_hucoefficientscoefficientresiduebound + S (pfc_value_products_right_hucoefficients) = (p)) /\ ((exists pfa_offset_left_products_right_hucoefficientscoefficientresiduecongruence pfa_offset_right_products_right_hucoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_right_hucoefficientscoefficient) + (p) * pfa_offset_left_products_right_hucoefficientscoefficientresiduecongruence = (pfc_value_products_right_hucoefficients) + (p) * pfa_offset_right_products_right_hucoefficientscoefficientresiduecongruence))))))))))))))))))specialize prime_field_polynomial_convolution_at_length_exists (p)specialize prime_field_polynomial_convolution_at_length_exists (ab)specialize prime_field_polynomial_convolution_at_length_exists (ac)specialize prime_field_polynomial_convolution_at_length_exists (L)specialize prime_field_polynomial_convolution_at_length_exists (db)specialize prime_field_polynomial_convolution_at_length_exists (dc)specialize prime_field_polynomial_convolution_at_length_exists (M)specialize prime_field_polynomial_convolution_at_length_exists (x)apply prime_field_polynomial_convolution_at_length_existsexact hpexact hbounds_leftexact hdexact hlength_witnesscases hucases hu_witnesshave hv : exists ub uc. ((forall fom_index_pfp_products_right_hvleft. (exists fom_gap_pfp_products_right_hvleft_index_bound. fom_gap_pfp_products_right_hvleft_index_bound + S (fom_index_pfp_products_right_hvleft) = L) -> exists fom_value_pfp_products_right_hvleft. ((((exists fom_beta_height_pfp_products_right_hvleft_entry. fom_beta_height_pfp_products_right_hvleft_entry + S (fom_value_pfp_products_right_hvleft) = S ((S (fom_index_pfp_products_right_hvleft)) * bc)) /\ exists fom_beta_quotient_pfp_products_right_hvleft_entry. bb = fom_beta_quotient_pfp_products_right_hvleft_entry * S ((S (fom_index_pfp_products_right_hvleft)) * bc) + (fom_value_pfp_products_right_hvleft))) /\ (exists fom_gap_pfp_products_right_hvleft_value_bound. fom_gap_pfp_products_right_hvleft_value_bound + S (fom_value_pfp_products_right_hvleft) = p))) /\ (((forall fom_index_pfp_products_right_hvright. (exists fom_gap_pfp_products_right_hvright_index_bound. fom_gap_pfp_products_right_hvright_index_bound + S (fom_index_pfp_products_right_hvright) = M) -> exists fom_value_pfp_products_right_hvright. ((((exists fom_beta_height_pfp_products_right_hvright_entry. fom_beta_height_pfp_products_right_hvright_entry + S (fom_value_pfp_products_right_hvright) = S ((S (fom_index_pfp_products_right_hvright)) * dc)) /\ exists fom_beta_quotient_pfp_products_right_hvright_entry. db = fom_beta_quotient_pfp_products_right_hvright_entry * S ((S (fom_index_pfp_products_right_hvright)) * dc) + (fom_value_pfp_products_right_hvright))) /\ (exists fom_gap_pfp_products_right_hvright_value_bound. fom_gap_pfp_products_right_hvright_value_bound + S (fom_value_pfp_products_right_hvright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((x)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (x)))))))) /\ ((forall pfc_index_products_right_hvcoefficients. (exists pfa_gap_products_right_hvcoefficientsbound. pfa_gap_products_right_hvcoefficientsbound + S (pfc_index_products_right_hvcoefficients) = (x)) -> exists pfc_value_products_right_hvcoefficients. ((((exists ff_h_pfp_products_right_hvcoefficientsentry. ff_h_pfp_products_right_hvcoefficientsentry + S (pfc_value_products_right_hvcoefficients) = S ((S (pfc_index_products_right_hvcoefficients)) * uc)) /\ exists ff_q_pfp_products_right_hvcoefficientsentry. ub = ff_q_pfp_products_right_hvcoefficientsentry * S ((S (pfc_index_products_right_hvcoefficients)) * uc) + (pfc_value_products_right_hvcoefficients))) /\ ((exists pfc_terms_code_products_right_hvcoefficientscoefficient pfc_terms_scale_products_right_hvcoefficientscoefficient pfc_natural_sum_products_right_hvcoefficientscoefficient. ((forall pfc_index_products_right_hvcoefficientscoefficientdiagonal. (exists pfa_gap_products_right_hvcoefficientscoefficientdiagonalbound. pfa_gap_products_right_hvcoefficientscoefficientdiagonalbound + S (pfc_index_products_right_hvcoefficientscoefficientdiagonal) = (S (pfc_index_products_right_hvcoefficients))) -> exists pfc_value_products_right_hvcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_right_hvcoefficientscoefficientdiagonalentry. ff_h_pfp_products_right_hvcoefficientscoefficientdiagonalentry + S (pfc_value_products_right_hvcoefficientscoefficientdiagonal) = S ((S (pfc_index_products_right_hvcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_hvcoefficientscoefficient)) /\ exists ff_q_pfp_products_right_hvcoefficientscoefficientdiagonalentry. pfc_terms_code_products_right_hvcoefficientscoefficient = ff_q_pfp_products_right_hvcoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_right_hvcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_hvcoefficientscoefficient) + (pfc_value_products_right_hvcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_right_hvcoefficientscoefficientdiagonalterm pfc_left_products_right_hvcoefficientscoefficientdiagonalterm pfc_right_products_right_hvcoefficientscoefficientdiagonalterm. (((pfc_index_products_right_hvcoefficientscoefficientdiagonal)+pfc_complement_products_right_hvcoefficientscoefficientdiagonalterm=(pfc_index_products_right_hvcoefficients)) /\ ((((((exists pfa_gap_products_right_hvcoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_right_hvcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_right_hvcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_products_right_hvcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_right_hvcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_right_hvcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_right_hvcoefficientscoefficientdiagonal)) * bc)) /\ exists ff_q_pfp_products_right_hvcoefficientscoefficientdiagonaltermleftentry. bb = ff_q_pfp_products_right_hvcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_right_hvcoefficientscoefficientdiagonal)) * bc) + (pfc_left_products_right_hvcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_hvcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_right_hvcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_products_right_hvcoefficientscoefficientdiagonal)) /\ (((pfc_left_products_right_hvcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_right_hvcoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_right_hvcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_right_hvcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_products_right_hvcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_right_hvcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_right_hvcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_right_hvcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_products_right_hvcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_products_right_hvcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_right_hvcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_products_right_hvcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_hvcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_right_hvcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_products_right_hvcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_right_hvcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_right_hvcoefficientscoefficientdiagonal)=pfc_left_products_right_hvcoefficientscoefficientdiagonalterm*pfc_right_products_right_hvcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_right_hvcoefficientscoefficientsum fs_v_pfc_products_right_hvcoefficientscoefficientsum. ((((exists fs_h_pfc_products_right_hvcoefficientscoefficientsum_body_start. fs_h_pfc_products_right_hvcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_right_hvcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hvcoefficientscoefficientsum_body_start. fs_u_pfc_products_right_hvcoefficientscoefficientsum = fs_q_pfc_products_right_hvcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_right_hvcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_right_hvcoefficientscoefficientsum_body_terminal. fs_h_pfc_products_right_hvcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_right_hvcoefficientscoefficient) = S ((S (S (pfc_index_products_right_hvcoefficients))) * fs_v_pfc_products_right_hvcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hvcoefficientscoefficientsum_body_terminal. fs_u_pfc_products_right_hvcoefficientscoefficientsum = fs_q_pfc_products_right_hvcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_right_hvcoefficients))) * fs_v_pfc_products_right_hvcoefficientscoefficientsum) + (pfc_natural_sum_products_right_hvcoefficientscoefficient))) /\ forall fs_i_pfc_products_right_hvcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_right_hvcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_right_hvcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_right_hvcoefficientscoefficientsum_body_steps = S (pfc_index_products_right_hvcoefficients)) -> exists fs_a_pfc_products_right_hvcoefficientscoefficientsum_body_steps fs_r_pfc_products_right_hvcoefficientscoefficientsum_body_steps fs_s_pfc_products_right_hvcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_right_hvcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_right_hvcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_right_hvcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_hvcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_hvcoefficientscoefficient)) /\ exists fs_q_pfc_products_right_hvcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_right_hvcoefficientscoefficient = fs_q_pfc_products_right_hvcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_right_hvcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_hvcoefficientscoefficient) + (fs_a_pfc_products_right_hvcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_hvcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_right_hvcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_right_hvcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_hvcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hvcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hvcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_right_hvcoefficientscoefficientsum = fs_q_pfc_products_right_hvcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_right_hvcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hvcoefficientscoefficientsum) + (fs_r_pfc_products_right_hvcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_hvcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_right_hvcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_right_hvcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_right_hvcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hvcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hvcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_right_hvcoefficientscoefficientsum = fs_q_pfc_products_right_hvcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_right_hvcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hvcoefficientscoefficientsum) + (fs_s_pfc_products_right_hvcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_right_hvcoefficientscoefficientsum_body_steps = fs_r_pfc_products_right_hvcoefficientscoefficientsum_body_steps + fs_a_pfc_products_right_hvcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_right_hvcoefficientscoefficientresiduebound. pfa_gap_products_right_hvcoefficientscoefficientresiduebound + S (pfc_value_products_right_hvcoefficients) = (p)) /\ ((exists pfa_offset_left_products_right_hvcoefficientscoefficientresiduecongruence pfa_offset_right_products_right_hvcoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_right_hvcoefficientscoefficient) + (p) * pfa_offset_left_products_right_hvcoefficientscoefficientresiduecongruence = (pfc_value_products_right_hvcoefficients) + (p) * pfa_offset_right_products_right_hvcoefficientscoefficientresiduecongruence))))))))))))))))))specialize prime_field_polynomial_convolution_at_length_exists (p)specialize prime_field_polynomial_convolution_at_length_exists (bb)specialize prime_field_polynomial_convolution_at_length_exists (bc)specialize prime_field_polynomial_convolution_at_length_exists (L)specialize prime_field_polynomial_convolution_at_length_exists (db)specialize prime_field_polynomial_convolution_at_length_exists (dc)specialize prime_field_polynomial_convolution_at_length_exists (M)specialize prime_field_polynomial_convolution_at_length_exists (x)apply prime_field_polynomial_convolution_at_length_existsexact hpexact hbounds_right_leftexact hdexact hlength_witnesscases hvcases hv_witnesshave hw : exists ub uc. ((forall fom_index_pfp_products_right_hwleft. (exists fom_gap_pfp_products_right_hwleft_index_bound. fom_gap_pfp_products_right_hwleft_index_bound + S (fom_index_pfp_products_right_hwleft) = L) -> exists fom_value_pfp_products_right_hwleft. ((((exists fom_beta_height_pfp_products_right_hwleft_entry. fom_beta_height_pfp_products_right_hwleft_entry + S (fom_value_pfp_products_right_hwleft) = S ((S (fom_index_pfp_products_right_hwleft)) * cc)) /\ exists fom_beta_quotient_pfp_products_right_hwleft_entry. cb = fom_beta_quotient_pfp_products_right_hwleft_entry * S ((S (fom_index_pfp_products_right_hwleft)) * cc) + (fom_value_pfp_products_right_hwleft))) /\ (exists fom_gap_pfp_products_right_hwleft_value_bound. fom_gap_pfp_products_right_hwleft_value_bound + S (fom_value_pfp_products_right_hwleft) = p))) /\ (((forall fom_index_pfp_products_right_hwright. (exists fom_gap_pfp_products_right_hwright_index_bound. fom_gap_pfp_products_right_hwright_index_bound + S (fom_index_pfp_products_right_hwright) = M) -> exists fom_value_pfp_products_right_hwright. ((((exists fom_beta_height_pfp_products_right_hwright_entry. fom_beta_height_pfp_products_right_hwright_entry + S (fom_value_pfp_products_right_hwright) = S ((S (fom_index_pfp_products_right_hwright)) * dc)) /\ exists fom_beta_quotient_pfp_products_right_hwright_entry. db = fom_beta_quotient_pfp_products_right_hwright_entry * S ((S (fom_index_pfp_products_right_hwright)) * dc) + (fom_value_pfp_products_right_hwright))) /\ (exists fom_gap_pfp_products_right_hwright_value_bound. fom_gap_pfp_products_right_hwright_value_bound + S (fom_value_pfp_products_right_hwright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((x)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (x)))))))) /\ ((forall pfc_index_products_right_hwcoefficients. (exists pfa_gap_products_right_hwcoefficientsbound. pfa_gap_products_right_hwcoefficientsbound + S (pfc_index_products_right_hwcoefficients) = (x)) -> exists pfc_value_products_right_hwcoefficients. ((((exists ff_h_pfp_products_right_hwcoefficientsentry. ff_h_pfp_products_right_hwcoefficientsentry + S (pfc_value_products_right_hwcoefficients) = S ((S (pfc_index_products_right_hwcoefficients)) * uc)) /\ exists ff_q_pfp_products_right_hwcoefficientsentry. ub = ff_q_pfp_products_right_hwcoefficientsentry * S ((S (pfc_index_products_right_hwcoefficients)) * uc) + (pfc_value_products_right_hwcoefficients))) /\ ((exists pfc_terms_code_products_right_hwcoefficientscoefficient pfc_terms_scale_products_right_hwcoefficientscoefficient pfc_natural_sum_products_right_hwcoefficientscoefficient. ((forall pfc_index_products_right_hwcoefficientscoefficientdiagonal. (exists pfa_gap_products_right_hwcoefficientscoefficientdiagonalbound. pfa_gap_products_right_hwcoefficientscoefficientdiagonalbound + S (pfc_index_products_right_hwcoefficientscoefficientdiagonal) = (S (pfc_index_products_right_hwcoefficients))) -> exists pfc_value_products_right_hwcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_products_right_hwcoefficientscoefficientdiagonalentry. ff_h_pfp_products_right_hwcoefficientscoefficientdiagonalentry + S (pfc_value_products_right_hwcoefficientscoefficientdiagonal) = S ((S (pfc_index_products_right_hwcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_hwcoefficientscoefficient)) /\ exists ff_q_pfp_products_right_hwcoefficientscoefficientdiagonalentry. pfc_terms_code_products_right_hwcoefficientscoefficient = ff_q_pfp_products_right_hwcoefficientscoefficientdiagonalentry * S ((S (pfc_index_products_right_hwcoefficientscoefficientdiagonal)) * pfc_terms_scale_products_right_hwcoefficientscoefficient) + (pfc_value_products_right_hwcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_products_right_hwcoefficientscoefficientdiagonalterm pfc_left_products_right_hwcoefficientscoefficientdiagonalterm pfc_right_products_right_hwcoefficientscoefficientdiagonalterm. (((pfc_index_products_right_hwcoefficientscoefficientdiagonal)+pfc_complement_products_right_hwcoefficientscoefficientdiagonalterm=(pfc_index_products_right_hwcoefficients)) /\ ((((((exists pfa_gap_products_right_hwcoefficientscoefficientdiagonaltermleftinside. pfa_gap_products_right_hwcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_products_right_hwcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_products_right_hwcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_products_right_hwcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_products_right_hwcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_products_right_hwcoefficientscoefficientdiagonal)) * cc)) /\ exists ff_q_pfp_products_right_hwcoefficientscoefficientdiagonaltermleftentry. cb = ff_q_pfp_products_right_hwcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_products_right_hwcoefficientscoefficientdiagonal)) * cc) + (pfc_left_products_right_hwcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_hwcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_products_right_hwcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_products_right_hwcoefficientscoefficientdiagonal)) /\ (((pfc_left_products_right_hwcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_products_right_hwcoefficientscoefficientdiagonaltermrightinside. pfa_gap_products_right_hwcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_products_right_hwcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_products_right_hwcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_products_right_hwcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_products_right_hwcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_products_right_hwcoefficientscoefficientdiagonalterm)) * dc)) /\ exists ff_q_pfp_products_right_hwcoefficientscoefficientdiagonaltermrightentry. db = ff_q_pfp_products_right_hwcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_products_right_hwcoefficientscoefficientdiagonalterm)) * dc) + (pfc_right_products_right_hwcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_products_right_hwcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_products_right_hwcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_products_right_hwcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_products_right_hwcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_products_right_hwcoefficientscoefficientdiagonal)=pfc_left_products_right_hwcoefficientscoefficientdiagonalterm*pfc_right_products_right_hwcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_products_right_hwcoefficientscoefficientsum fs_v_pfc_products_right_hwcoefficientscoefficientsum. ((((exists fs_h_pfc_products_right_hwcoefficientscoefficientsum_body_start. fs_h_pfc_products_right_hwcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_products_right_hwcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hwcoefficientscoefficientsum_body_start. fs_u_pfc_products_right_hwcoefficientscoefficientsum = fs_q_pfc_products_right_hwcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_products_right_hwcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_products_right_hwcoefficientscoefficientsum_body_terminal. fs_h_pfc_products_right_hwcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_products_right_hwcoefficientscoefficient) = S ((S (S (pfc_index_products_right_hwcoefficients))) * fs_v_pfc_products_right_hwcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hwcoefficientscoefficientsum_body_terminal. fs_u_pfc_products_right_hwcoefficientscoefficientsum = fs_q_pfc_products_right_hwcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_products_right_hwcoefficients))) * fs_v_pfc_products_right_hwcoefficientscoefficientsum) + (pfc_natural_sum_products_right_hwcoefficientscoefficient))) /\ forall fs_i_pfc_products_right_hwcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_products_right_hwcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_products_right_hwcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_products_right_hwcoefficientscoefficientsum_body_steps = S (pfc_index_products_right_hwcoefficients)) -> exists fs_a_pfc_products_right_hwcoefficientscoefficientsum_body_steps fs_r_pfc_products_right_hwcoefficientscoefficientsum_body_steps fs_s_pfc_products_right_hwcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_products_right_hwcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_products_right_hwcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_products_right_hwcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_hwcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_hwcoefficientscoefficient)) /\ exists fs_q_pfc_products_right_hwcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_products_right_hwcoefficientscoefficient = fs_q_pfc_products_right_hwcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_products_right_hwcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_products_right_hwcoefficientscoefficient) + (fs_a_pfc_products_right_hwcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_hwcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_products_right_hwcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_products_right_hwcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_products_right_hwcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hwcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hwcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_products_right_hwcoefficientscoefficientsum = fs_q_pfc_products_right_hwcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_products_right_hwcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hwcoefficientscoefficientsum) + (fs_r_pfc_products_right_hwcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_products_right_hwcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_products_right_hwcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_products_right_hwcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_products_right_hwcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hwcoefficientscoefficientsum)) /\ exists fs_q_pfc_products_right_hwcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_products_right_hwcoefficientscoefficientsum = fs_q_pfc_products_right_hwcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_products_right_hwcoefficientscoefficientsum_body_steps)) * fs_v_pfc_products_right_hwcoefficientscoefficientsum) + (fs_s_pfc_products_right_hwcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_products_right_hwcoefficientscoefficientsum_body_steps = fs_r_pfc_products_right_hwcoefficientscoefficientsum_body_steps + fs_a_pfc_products_right_hwcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_products_right_hwcoefficientscoefficientresiduebound. pfa_gap_products_right_hwcoefficientscoefficientresiduebound + S (pfc_value_products_right_hwcoefficients) = (p)) /\ ((exists pfa_offset_left_products_right_hwcoefficientscoefficientresiduecongruence pfa_offset_right_products_right_hwcoefficientscoefficientresiduecongruence. (pfc_natural_sum_products_right_hwcoefficientscoefficient) + (p) * pfa_offset_left_products_right_hwcoefficientscoefficientresiduecongruence = (pfc_value_products_right_hwcoefficients) + (p) * pfa_offset_right_products_right_hwcoefficientscoefficientresiduecongruence))))))))))))))))))specialize prime_field_polynomial_convolution_at_length_exists (p)specialize prime_field_polynomial_convolution_at_length_exists (cb)specialize prime_field_polynomial_convolution_at_length_exists (cc)specialize prime_field_polynomial_convolution_at_length_exists (L)specialize prime_field_polynomial_convolution_at_length_exists (db)specialize prime_field_polynomial_convolution_at_length_exists (dc)specialize prime_field_polynomial_convolution_at_length_exists (M)specialize prime_field_polynomial_convolution_at_length_exists (x)apply prime_field_polynomial_convolution_at_length_existsexact hpexact hbounds_right_rightexact hdexact hlength_witnesscases hwcases hw_witnessexists xexists x1exists x2exists x3exists x4exists x5exists x6splitexact hu_witness_witnesssplitexact hv_witness_witnesssplitexact hw_witness_witnessspecialize prime_field_polynomial_convolution_right_add (p)specialize prime_field_polynomial_convolution_right_add (ab)specialize prime_field_polynomial_convolution_right_add (ac)specialize prime_field_polynomial_convolution_right_add (bb)specialize prime_field_polynomial_convolution_right_add (bc)specialize prime_field_polynomial_convolution_right_add (cb)specialize prime_field_polynomial_convolution_right_add (cc)specialize prime_field_polynomial_convolution_right_add (L)specialize prime_field_polynomial_convolution_right_add (db)specialize prime_field_polynomial_convolution_right_add (dc)specialize prime_field_polynomial_convolution_right_add (M)specialize prime_field_polynomial_convolution_right_add (x1)specialize prime_field_polynomial_convolution_right_add (x2)specialize prime_field_polynomial_convolution_right_add (x3)specialize prime_field_polynomial_convolution_right_add (x4)specialize prime_field_polynomial_convolution_right_add (x5)specialize prime_field_polynomial_convolution_right_add (x6)specialize prime_field_polynomial_convolution_right_add (x)apply prime_field_polynomial_convolution_right_addexact hsexact hu_witness_witnessexact hv_witness_witnessexact hw_witness_witness
polynomial_product_length_left_padding_left · unchanged support, not a new admission
forall L M N t K. (((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) -> (~(L=0)) -> (~(M=0)) -> (((((t+L)=0 \/ (M)=0) /\ (((K)=0)))) \/ (((~((t+L)=0)) /\ (((~((M)=0)) /\ (((t+L)+(M)=S (K)))))))) -> (K=t+N)
intro Lintro Mintro Nintro tintro Kintro holdintro hLintro hMintro hnewcases holdcases hold_leftcases hold_left_leftexfalsoapply hLexact hold_left_left_leftexfalsoapply hMexact hold_left_left_rightcases hold_rightcases hold_right_rightcases hnewcases hnew_leftcases hnew_left_leftexfalsoapply hLspecialize add_eq_zero_right (t)specialize add_eq_zero_right (L)apply add_eq_zero_rightexact hnew_left_left_leftexfalsoapply hMexact hnew_left_left_rightcases hnew_rightcases hnew_right_rightspecialize succ_injective (K)specialize succ_injective (t+N)apply succ_injectivetrans (t+L)+(M)symmexact hnew_right_right_righttrans t+(L+M)apply add_assocrewrite hold_right_right_rightsimp
polynomial_diagonal_term_left_padding_zero_left · unchanged support, not a new admission
forall ab ac L bb bc M AB AC t i j z. (((forall pfp_repeat_index_zero_term_pad_leftzeros. (exists pfa_gap_zero_term_pad_leftzerosindex. pfa_gap_zero_term_pad_leftzerosindex + S (pfp_repeat_index_zero_term_pad_leftzeros) = (t)) -> (((exists ff_h_pfp_zero_term_pad_leftzerosentry. ff_h_pfp_zero_term_pad_leftzerosentry + S (0) = S ((S (pfp_repeat_index_zero_term_pad_leftzeros)) * AC)) /\ exists ff_q_pfp_zero_term_pad_leftzerosentry. AB = ff_q_pfp_zero_term_pad_leftzerosentry * S ((S (pfp_repeat_index_zero_term_pad_leftzeros)) * AC) + (0)))) /\ ((forall pfrep_index_zero_term_pad_left pfrep_value_zero_term_pad_left. (exists pfa_gap_zero_term_pad_leftbound. pfa_gap_zero_term_pad_leftbound + S (pfrep_index_zero_term_pad_left) = (L)) -> (((exists ff_h_pfp_zero_term_pad_leftinput. ff_h_pfp_zero_term_pad_leftinput + S (pfrep_value_zero_term_pad_left) = S ((S (pfrep_index_zero_term_pad_left)) * ac)) /\ exists ff_q_pfp_zero_term_pad_leftinput. ab = ff_q_pfp_zero_term_pad_leftinput * S ((S (pfrep_index_zero_term_pad_left)) * ac) + (pfrep_value_zero_term_pad_left))) -> (((exists ff_h_pfp_zero_term_pad_leftoutput. ff_h_pfp_zero_term_pad_leftoutput + S (pfrep_value_zero_term_pad_left) = S ((S ((t)+pfrep_index_zero_term_pad_left)) * AC)) /\ exists ff_q_pfp_zero_term_pad_leftoutput. AB = ff_q_pfp_zero_term_pad_leftoutput * S ((S ((t)+pfrep_index_zero_term_pad_left)) * AC) + (pfrep_value_zero_term_pad_left))))))) -> (exists pfa_gap_term_zero_left_bound. pfa_gap_term_zero_left_bound + S (j) = (t)) -> (exists pfc_complement_zero_term_actual_left pfc_left_zero_term_actual_left pfc_right_zero_term_actual_left. (((j)+pfc_complement_zero_term_actual_left=(i)) /\ ((((((exists pfa_gap_zero_term_actual_leftleftinside. pfa_gap_zero_term_actual_leftleftinside + S (j) = (t+L)) /\ ((((exists ff_h_pfp_zero_term_actual_leftleftentry. ff_h_pfp_zero_term_actual_leftleftentry + S (pfc_left_zero_term_actual_left) = S ((S (j)) * AC)) /\ exists ff_q_pfp_zero_term_actual_leftleftentry. AB = ff_q_pfp_zero_term_actual_leftleftentry * S ((S (j)) * AC) + (pfc_left_zero_term_actual_left)))))) \/ (((exists pfc_gap_zero_term_actual_leftleftoutside. pfc_gap_zero_term_actual_leftleftoutside+(t+L)=(j)) /\ (((pfc_left_zero_term_actual_left)=0))))) /\ ((((((exists pfa_gap_zero_term_actual_leftrightinside. pfa_gap_zero_term_actual_leftrightinside + S (pfc_complement_zero_term_actual_left) = (M)) /\ ((((exists ff_h_pfp_zero_term_actual_leftrightentry. ff_h_pfp_zero_term_actual_leftrightentry + S (pfc_right_zero_term_actual_left) = S ((S (pfc_complement_zero_term_actual_left)) * bc)) /\ exists ff_q_pfp_zero_term_actual_leftrightentry. bb = ff_q_pfp_zero_term_actual_leftrightentry * S ((S (pfc_complement_zero_term_actual_left)) * bc) + (pfc_right_zero_term_actual_left)))))) \/ (((exists pfc_gap_zero_term_actual_leftrightoutside. pfc_gap_zero_term_actual_leftrightoutside+(M)=(pfc_complement_zero_term_actual_left)) /\ (((pfc_right_zero_term_actual_left)=0))))) /\ (((z)=pfc_left_zero_term_actual_left*pfc_right_zero_term_actual_left)))))))) -> (z=0)
intro abintro acintro Lintro bbintro bcintro Mintro ABintro ACintro tintro iintro jintro zintro hpadintro hboundintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_righthave hzero : x1=0specialize polynomial_zero_extended_entry_functional (AB)specialize polynomial_zero_extended_entry_functional (AC)specialize polynomial_zero_extended_entry_functional (t+L)specialize polynomial_zero_extended_entry_functional (j)specialize polynomial_zero_extended_entry_functional (x1)specialize polynomial_zero_extended_entry_functional (0)apply polynomial_zero_extended_entry_functionalexact ht_witness_witness_witness_right_leftspecialize polynomial_zero_extended_left_pad_before (ab)specialize polynomial_zero_extended_left_pad_before (ac)specialize polynomial_zero_extended_left_pad_before (L)specialize polynomial_zero_extended_left_pad_before (t)specialize polynomial_zero_extended_left_pad_before (AB)specialize polynomial_zero_extended_left_pad_before (AC)specialize polynomial_zero_extended_left_pad_before (j)apply polynomial_zero_extended_left_pad_beforeexact hpadexact hboundtrans x1*x2exact ht_witness_witness_witness_right_right_rightrewrite hzerospecialize mul_zero_left (x2)apply mul_zero_left
prime_field_convolution_coefficient_before_left_padding_left · unchanged support, not a new admission
forall p ab ac L bb bc M AB AC t i r. (~(p=0)) -> (((forall pfp_repeat_index_before_coefficient_pad_leftzeros. (exists pfa_gap_before_coefficient_pad_leftzerosindex. pfa_gap_before_coefficient_pad_leftzerosindex + S (pfp_repeat_index_before_coefficient_pad_leftzeros) = (t)) -> (((exists ff_h_pfp_before_coefficient_pad_leftzerosentry. ff_h_pfp_before_coefficient_pad_leftzerosentry + S (0) = S ((S (pfp_repeat_index_before_coefficient_pad_leftzeros)) * AC)) /\ exists ff_q_pfp_before_coefficient_pad_leftzerosentry. AB = ff_q_pfp_before_coefficient_pad_leftzerosentry * S ((S (pfp_repeat_index_before_coefficient_pad_leftzeros)) * AC) + (0)))) /\ ((forall pfrep_index_before_coefficient_pad_left pfrep_value_before_coefficient_pad_left. (exists pfa_gap_before_coefficient_pad_leftbound. pfa_gap_before_coefficient_pad_leftbound + S (pfrep_index_before_coefficient_pad_left) = (L)) -> (((exists ff_h_pfp_before_coefficient_pad_leftinput. ff_h_pfp_before_coefficient_pad_leftinput + S (pfrep_value_before_coefficient_pad_left) = S ((S (pfrep_index_before_coefficient_pad_left)) * ac)) /\ exists ff_q_pfp_before_coefficient_pad_leftinput. ab = ff_q_pfp_before_coefficient_pad_leftinput * S ((S (pfrep_index_before_coefficient_pad_left)) * ac) + (pfrep_value_before_coefficient_pad_left))) -> (((exists ff_h_pfp_before_coefficient_pad_leftoutput. ff_h_pfp_before_coefficient_pad_leftoutput + S (pfrep_value_before_coefficient_pad_left) = S ((S ((t)+pfrep_index_before_coefficient_pad_left)) * AC)) /\ exists ff_q_pfp_before_coefficient_pad_leftoutput. AB = ff_q_pfp_before_coefficient_pad_leftoutput * S ((S ((t)+pfrep_index_before_coefficient_pad_left)) * AC) + (pfrep_value_before_coefficient_pad_left))))))) -> (exists pfa_gap_before_coefficient_index_left. pfa_gap_before_coefficient_index_left + S (i) = (t)) -> (exists pfc_terms_code_before_coefficient_actual_left pfc_terms_scale_before_coefficient_actual_left pfc_natural_sum_before_coefficient_actual_left. ((forall pfc_index_before_coefficient_actual_leftdiagonal. (exists pfa_gap_before_coefficient_actual_leftdiagonalbound. pfa_gap_before_coefficient_actual_leftdiagonalbound + S (pfc_index_before_coefficient_actual_leftdiagonal) = (S (i))) -> exists pfc_value_before_coefficient_actual_leftdiagonal. ((((exists ff_h_pfp_before_coefficient_actual_leftdiagonalentry. ff_h_pfp_before_coefficient_actual_leftdiagonalentry + S (pfc_value_before_coefficient_actual_leftdiagonal) = S ((S (pfc_index_before_coefficient_actual_leftdiagonal)) * pfc_terms_scale_before_coefficient_actual_left)) /\ exists ff_q_pfp_before_coefficient_actual_leftdiagonalentry. pfc_terms_code_before_coefficient_actual_left = ff_q_pfp_before_coefficient_actual_leftdiagonalentry * S ((S (pfc_index_before_coefficient_actual_leftdiagonal)) * pfc_terms_scale_before_coefficient_actual_left) + (pfc_value_before_coefficient_actual_leftdiagonal))) /\ ((exists pfc_complement_before_coefficient_actual_leftdiagonalterm pfc_left_before_coefficient_actual_leftdiagonalterm pfc_right_before_coefficient_actual_leftdiagonalterm. (((pfc_index_before_coefficient_actual_leftdiagonal)+pfc_complement_before_coefficient_actual_leftdiagonalterm=(i)) /\ ((((((exists pfa_gap_before_coefficient_actual_leftdiagonaltermleftinside. pfa_gap_before_coefficient_actual_leftdiagonaltermleftinside + S (pfc_index_before_coefficient_actual_leftdiagonal) = (t+L)) /\ ((((exists ff_h_pfp_before_coefficient_actual_leftdiagonaltermleftentry. ff_h_pfp_before_coefficient_actual_leftdiagonaltermleftentry + S (pfc_left_before_coefficient_actual_leftdiagonalterm) = S ((S (pfc_index_before_coefficient_actual_leftdiagonal)) * AC)) /\ exists ff_q_pfp_before_coefficient_actual_leftdiagonaltermleftentry. AB = ff_q_pfp_before_coefficient_actual_leftdiagonaltermleftentry * S ((S (pfc_index_before_coefficient_actual_leftdiagonal)) * AC) + (pfc_left_before_coefficient_actual_leftdiagonalterm)))))) \/ (((exists pfc_gap_before_coefficient_actual_leftdiagonaltermleftoutside. pfc_gap_before_coefficient_actual_leftdiagonaltermleftoutside+(t+L)=(pfc_index_before_coefficient_actual_leftdiagonal)) /\ (((pfc_left_before_coefficient_actual_leftdiagonalterm)=0))))) /\ ((((((exists pfa_gap_before_coefficient_actual_leftdiagonaltermrightinside. pfa_gap_before_coefficient_actual_leftdiagonaltermrightinside + S (pfc_complement_before_coefficient_actual_leftdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_before_coefficient_actual_leftdiagonaltermrightentry. ff_h_pfp_before_coefficient_actual_leftdiagonaltermrightentry + S (pfc_right_before_coefficient_actual_leftdiagonalterm) = S ((S (pfc_complement_before_coefficient_actual_leftdiagonalterm)) * bc)) /\ exists ff_q_pfp_before_coefficient_actual_leftdiagonaltermrightentry. bb = ff_q_pfp_before_coefficient_actual_leftdiagonaltermrightentry * S ((S (pfc_complement_before_coefficient_actual_leftdiagonalterm)) * bc) + (pfc_right_before_coefficient_actual_leftdiagonalterm)))))) \/ (((exists pfc_gap_before_coefficient_actual_leftdiagonaltermrightoutside. pfc_gap_before_coefficient_actual_leftdiagonaltermrightoutside+(M)=(pfc_complement_before_coefficient_actual_leftdiagonalterm)) /\ (((pfc_right_before_coefficient_actual_leftdiagonalterm)=0))))) /\ (((pfc_value_before_coefficient_actual_leftdiagonal)=pfc_left_before_coefficient_actual_leftdiagonalterm*pfc_right_before_coefficient_actual_leftdiagonalterm))))))))))) /\ (((exists fs_u_pfc_before_coefficient_actual_leftsum fs_v_pfc_before_coefficient_actual_leftsum. ((((exists fs_h_pfc_before_coefficient_actual_leftsum_body_start. fs_h_pfc_before_coefficient_actual_leftsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_before_coefficient_actual_leftsum)) /\ exists fs_q_pfc_before_coefficient_actual_leftsum_body_start. fs_u_pfc_before_coefficient_actual_leftsum = fs_q_pfc_before_coefficient_actual_leftsum_body_start * S ((S (0)) * fs_v_pfc_before_coefficient_actual_leftsum) + (0))) /\ ((((exists fs_h_pfc_before_coefficient_actual_leftsum_body_terminal. fs_h_pfc_before_coefficient_actual_leftsum_body_terminal + S (pfc_natural_sum_before_coefficient_actual_left) = S ((S (S (i))) * fs_v_pfc_before_coefficient_actual_leftsum)) /\ exists fs_q_pfc_before_coefficient_actual_leftsum_body_terminal. fs_u_pfc_before_coefficient_actual_leftsum = fs_q_pfc_before_coefficient_actual_leftsum_body_terminal * S ((S (S (i))) * fs_v_pfc_before_coefficient_actual_leftsum) + (pfc_natural_sum_before_coefficient_actual_left))) /\ forall fs_i_pfc_before_coefficient_actual_leftsum_body_steps. (exists fs_lt_pfc_before_coefficient_actual_leftsum_body_steps_bound. fs_lt_pfc_before_coefficient_actual_leftsum_body_steps_bound + S fs_i_pfc_before_coefficient_actual_leftsum_body_steps = S (i)) -> exists fs_a_pfc_before_coefficient_actual_leftsum_body_steps fs_r_pfc_before_coefficient_actual_leftsum_body_steps fs_s_pfc_before_coefficient_actual_leftsum_body_steps. ((((exists fs_h_pfc_before_coefficient_actual_leftsum_body_steps_summand. fs_h_pfc_before_coefficient_actual_leftsum_body_steps_summand + S (fs_a_pfc_before_coefficient_actual_leftsum_body_steps) = S ((S (fs_i_pfc_before_coefficient_actual_leftsum_body_steps)) * pfc_terms_scale_before_coefficient_actual_left)) /\ exists fs_q_pfc_before_coefficient_actual_leftsum_body_steps_summand. pfc_terms_code_before_coefficient_actual_left = fs_q_pfc_before_coefficient_actual_leftsum_body_steps_summand * S ((S (fs_i_pfc_before_coefficient_actual_leftsum_body_steps)) * pfc_terms_scale_before_coefficient_actual_left) + (fs_a_pfc_before_coefficient_actual_leftsum_body_steps))) /\ ((((exists fs_h_pfc_before_coefficient_actual_leftsum_body_steps_partial. fs_h_pfc_before_coefficient_actual_leftsum_body_steps_partial + S (fs_r_pfc_before_coefficient_actual_leftsum_body_steps) = S ((S (fs_i_pfc_before_coefficient_actual_leftsum_body_steps)) * fs_v_pfc_before_coefficient_actual_leftsum)) /\ exists fs_q_pfc_before_coefficient_actual_leftsum_body_steps_partial. fs_u_pfc_before_coefficient_actual_leftsum = fs_q_pfc_before_coefficient_actual_leftsum_body_steps_partial * S ((S (fs_i_pfc_before_coefficient_actual_leftsum_body_steps)) * fs_v_pfc_before_coefficient_actual_leftsum) + (fs_r_pfc_before_coefficient_actual_leftsum_body_steps))) /\ ((((exists fs_h_pfc_before_coefficient_actual_leftsum_body_steps_successor. fs_h_pfc_before_coefficient_actual_leftsum_body_steps_successor + S (fs_s_pfc_before_coefficient_actual_leftsum_body_steps) = S ((S (S fs_i_pfc_before_coefficient_actual_leftsum_body_steps)) * fs_v_pfc_before_coefficient_actual_leftsum)) /\ exists fs_q_pfc_before_coefficient_actual_leftsum_body_steps_successor. fs_u_pfc_before_coefficient_actual_leftsum = fs_q_pfc_before_coefficient_actual_leftsum_body_steps_successor * S ((S (S fs_i_pfc_before_coefficient_actual_leftsum_body_steps)) * fs_v_pfc_before_coefficient_actual_leftsum) + (fs_s_pfc_before_coefficient_actual_leftsum_body_steps))) /\ fs_s_pfc_before_coefficient_actual_leftsum_body_steps = fs_r_pfc_before_coefficient_actual_leftsum_body_steps + fs_a_pfc_before_coefficient_actual_leftsum_body_steps)))))) /\ ((((exists pfa_gap_before_coefficient_actual_leftresiduebound. pfa_gap_before_coefficient_actual_leftresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_before_coefficient_actual_leftresiduecongruence pfa_offset_right_before_coefficient_actual_leftresiduecongruence. (pfc_natural_sum_before_coefficient_actual_left) + (p) * pfa_offset_left_before_coefficient_actual_leftresiduecongruence = (r) + (p) * pfa_offset_right_before_coefficient_actual_leftresiduecongruence))))))))) -> (r=0)
intro pintro abintro acintro Lintro bbintro bcintro Mintro ABintro ACintro tintro iintro rintro hpintro hpadintro hiintro hccases hccases hc_witnesscases hc_witness_witnesscases hc_witness_witness_witnesscases hc_witness_witness_witness_righthave hz : forall pfp_repeat_index_before_coefficient_zero_diagonal_left. (exists pfa_gap_before_coefficient_zero_diagonal_leftindex. pfa_gap_before_coefficient_zero_diagonal_leftindex + S (pfp_repeat_index_before_coefficient_zero_diagonal_left) = (S i)) -> (((exists ff_h_pfp_before_coefficient_zero_diagonal_leftentry. ff_h_pfp_before_coefficient_zero_diagonal_leftentry + S (0) = S ((S (pfp_repeat_index_before_coefficient_zero_diagonal_left)) * x1)) /\ exists ff_q_pfp_before_coefficient_zero_diagonal_leftentry. x = ff_q_pfp_before_coefficient_zero_diagonal_leftentry * S ((S (pfp_repeat_index_before_coefficient_zero_diagonal_left)) * x1) + (0)))intro jintro hjhave ht : exists z. ((((exists ff_h_pfp_before_coefficient_entry_left. ff_h_pfp_before_coefficient_entry_left + S (z) = S ((S (j)) * x1)) /\ exists ff_q_pfp_before_coefficient_entry_left. x = ff_q_pfp_before_coefficient_entry_left * S ((S (j)) * x1) + (z))) /\ ((exists pfc_complement_before_coefficient_term_left pfc_left_before_coefficient_term_left pfc_right_before_coefficient_term_left. (((j)+pfc_complement_before_coefficient_term_left=(i)) /\ ((((((exists pfa_gap_before_coefficient_term_leftleftinside. pfa_gap_before_coefficient_term_leftleftinside + S (j) = (t+L)) /\ ((((exists ff_h_pfp_before_coefficient_term_leftleftentry. ff_h_pfp_before_coefficient_term_leftleftentry + S (pfc_left_before_coefficient_term_left) = S ((S (j)) * AC)) /\ exists ff_q_pfp_before_coefficient_term_leftleftentry. AB = ff_q_pfp_before_coefficient_term_leftleftentry * S ((S (j)) * AC) + (pfc_left_before_coefficient_term_left)))))) \/ (((exists pfc_gap_before_coefficient_term_leftleftoutside. pfc_gap_before_coefficient_term_leftleftoutside+(t+L)=(j)) /\ (((pfc_left_before_coefficient_term_left)=0))))) /\ ((((((exists pfa_gap_before_coefficient_term_leftrightinside. pfa_gap_before_coefficient_term_leftrightinside + S (pfc_complement_before_coefficient_term_left) = (M)) /\ ((((exists ff_h_pfp_before_coefficient_term_leftrightentry. ff_h_pfp_before_coefficient_term_leftrightentry + S (pfc_right_before_coefficient_term_left) = S ((S (pfc_complement_before_coefficient_term_left)) * bc)) /\ exists ff_q_pfp_before_coefficient_term_leftrightentry. bb = ff_q_pfp_before_coefficient_term_leftrightentry * S ((S (pfc_complement_before_coefficient_term_left)) * bc) + (pfc_right_before_coefficient_term_left)))))) \/ (((exists pfc_gap_before_coefficient_term_leftrightoutside. pfc_gap_before_coefficient_term_leftrightoutside+(M)=(pfc_complement_before_coefficient_term_left)) /\ (((pfc_right_before_coefficient_term_left)=0))))) /\ (((z)=pfc_left_before_coefficient_term_left*pfc_right_before_coefficient_term_left))))))))))specialize hc_witness_witness_witness_left (j)apply hc_witness_witness_witness_leftexact hjcases htcases ht_witnesshave heq : x3=0specialize polynomial_diagonal_term_left_padding_zero_left (ab)specialize polynomial_diagonal_term_left_padding_zero_left (ac)specialize polynomial_diagonal_term_left_padding_zero_left (L)specialize polynomial_diagonal_term_left_padding_zero_left (bb)specialize polynomial_diagonal_term_left_padding_zero_left (bc)specialize polynomial_diagonal_term_left_padding_zero_left (M)specialize polynomial_diagonal_term_left_padding_zero_left (AB)specialize polynomial_diagonal_term_left_padding_zero_left (AC)specialize polynomial_diagonal_term_left_padding_zero_left (t)specialize polynomial_diagonal_term_left_padding_zero_left (i)specialize polynomial_diagonal_term_left_padding_zero_left (j)specialize polynomial_diagonal_term_left_padding_zero_left (x3)apply polynomial_diagonal_term_left_padding_zero_leftexact hpadspecialize le_trans (S j)specialize le_trans (S i)specialize le_trans (t)apply le_transexact hjexact hiexact ht_witness_rightrewrite heq at ht_witness_leftrewrite heq at ht_witness_leftexact ht_witness_lefthave hsum : x2=0trans (S i)*0specialize beta_repeat_sum_exact (x)specialize beta_repeat_sum_exact (x1)specialize beta_repeat_sum_exact (0)specialize beta_repeat_sum_exact (S i)specialize beta_repeat_sum_exact (x2)apply beta_repeat_sum_exactexact hzexact hc_witness_witness_witness_right_leftsimprewrite hsum at hc_witness_witness_witness_right_rightspecialize prime_field_residue_bounded_value (p)specialize prime_field_residue_bounded_value (0)specialize prime_field_residue_bounded_value (r)apply prime_field_residue_bounded_valuespecialize one_le_of_ne_zero (p)apply one_le_of_ne_zeroexact hpexact hc_witness_witness_witness_right_right
polynomial_diagonal_term_left_padding_left · unchanged support, not a new admission
forall ab ac L bb bc M AB AC t i j z. (((forall pfp_repeat_index_term_padding_leftzeros. (exists pfa_gap_term_padding_leftzerosindex. pfa_gap_term_padding_leftzerosindex + S (pfp_repeat_index_term_padding_leftzeros) = (t)) -> (((exists ff_h_pfp_term_padding_leftzerosentry. ff_h_pfp_term_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_term_padding_leftzeros)) * AC)) /\ exists ff_q_pfp_term_padding_leftzerosentry. AB = ff_q_pfp_term_padding_leftzerosentry * S ((S (pfp_repeat_index_term_padding_leftzeros)) * AC) + (0)))) /\ ((forall pfrep_index_term_padding_left pfrep_value_term_padding_left. (exists pfa_gap_term_padding_leftbound. pfa_gap_term_padding_leftbound + S (pfrep_index_term_padding_left) = (L)) -> (((exists ff_h_pfp_term_padding_leftinput. ff_h_pfp_term_padding_leftinput + S (pfrep_value_term_padding_left) = S ((S (pfrep_index_term_padding_left)) * ac)) /\ exists ff_q_pfp_term_padding_leftinput. ab = ff_q_pfp_term_padding_leftinput * S ((S (pfrep_index_term_padding_left)) * ac) + (pfrep_value_term_padding_left))) -> (((exists ff_h_pfp_term_padding_leftoutput. ff_h_pfp_term_padding_leftoutput + S (pfrep_value_term_padding_left) = S ((S ((t)+pfrep_index_term_padding_left)) * AC)) /\ exists ff_q_pfp_term_padding_leftoutput. AB = ff_q_pfp_term_padding_leftoutput * S ((S ((t)+pfrep_index_term_padding_left)) * AC) + (pfrep_value_term_padding_left))))))) -> (exists pfc_complement_term_original_left pfc_left_term_original_left pfc_right_term_original_left. (((j)+pfc_complement_term_original_left=(i)) /\ ((((((exists pfa_gap_term_original_leftleftinside. pfa_gap_term_original_leftleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_original_leftleftentry. ff_h_pfp_term_original_leftleftentry + S (pfc_left_term_original_left) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_original_leftleftentry. ab = ff_q_pfp_term_original_leftleftentry * S ((S (j)) * ac) + (pfc_left_term_original_left)))))) \/ (((exists pfc_gap_term_original_leftleftoutside. pfc_gap_term_original_leftleftoutside+(L)=(j)) /\ (((pfc_left_term_original_left)=0))))) /\ ((((((exists pfa_gap_term_original_leftrightinside. pfa_gap_term_original_leftrightinside + S (pfc_complement_term_original_left) = (M)) /\ ((((exists ff_h_pfp_term_original_leftrightentry. ff_h_pfp_term_original_leftrightentry + S (pfc_right_term_original_left) = S ((S (pfc_complement_term_original_left)) * bc)) /\ exists ff_q_pfp_term_original_leftrightentry. bb = ff_q_pfp_term_original_leftrightentry * S ((S (pfc_complement_term_original_left)) * bc) + (pfc_right_term_original_left)))))) \/ (((exists pfc_gap_term_original_leftrightoutside. pfc_gap_term_original_leftrightoutside+(M)=(pfc_complement_term_original_left)) /\ (((pfc_right_term_original_left)=0))))) /\ (((z)=pfc_left_term_original_left*pfc_right_term_original_left)))))))) -> (exists pfc_complement_term_shifted_left pfc_left_term_shifted_left pfc_right_term_shifted_left. (((t+j)+pfc_complement_term_shifted_left=(t+i)) /\ ((((((exists pfa_gap_term_shifted_leftleftinside. pfa_gap_term_shifted_leftleftinside + S (t+j) = (t+L)) /\ ((((exists ff_h_pfp_term_shifted_leftleftentry. ff_h_pfp_term_shifted_leftleftentry + S (pfc_left_term_shifted_left) = S ((S (t+j)) * AC)) /\ exists ff_q_pfp_term_shifted_leftleftentry. AB = ff_q_pfp_term_shifted_leftleftentry * S ((S (t+j)) * AC) + (pfc_left_term_shifted_left)))))) \/ (((exists pfc_gap_term_shifted_leftleftoutside. pfc_gap_term_shifted_leftleftoutside+(t+L)=(t+j)) /\ (((pfc_left_term_shifted_left)=0))))) /\ ((((((exists pfa_gap_term_shifted_leftrightinside. pfa_gap_term_shifted_leftrightinside + S (pfc_complement_term_shifted_left) = (M)) /\ ((((exists ff_h_pfp_term_shifted_leftrightentry. ff_h_pfp_term_shifted_leftrightentry + S (pfc_right_term_shifted_left) = S ((S (pfc_complement_term_shifted_left)) * bc)) /\ exists ff_q_pfp_term_shifted_leftrightentry. bb = ff_q_pfp_term_shifted_leftrightentry * S ((S (pfc_complement_term_shifted_left)) * bc) + (pfc_right_term_shifted_left)))))) \/ (((exists pfc_gap_term_shifted_leftrightoutside. pfc_gap_term_shifted_leftrightoutside+(M)=(pfc_complement_term_shifted_left)) /\ (((pfc_right_term_shifted_left)=0))))) /\ (((z)=pfc_left_term_shifted_left*pfc_right_term_shifted_left))))))))
intro abintro acintro Lintro bbintro bcintro Mintro ABintro ACintro tintro iintro jintro zintro hpintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_rightexists xexists x1exists x2splittrans t+(j+x)apply add_assoccongrreflexact ht_witness_witness_witness_leftsplitspecialize polynomial_zero_extended_left_pad_shift (ab)specialize polynomial_zero_extended_left_pad_shift (ac)specialize polynomial_zero_extended_left_pad_shift (L)specialize polynomial_zero_extended_left_pad_shift (t)specialize polynomial_zero_extended_left_pad_shift (AB)specialize polynomial_zero_extended_left_pad_shift (AC)specialize polynomial_zero_extended_left_pad_shift (j)specialize polynomial_zero_extended_left_pad_shift (x1)apply polynomial_zero_extended_left_pad_shiftexact hpexact ht_witness_witness_witness_right_leftsplitexact ht_witness_witness_witness_right_right_leftexact ht_witness_witness_witness_right_right_right
polynomial_diagonal_left_padding_left · unchanged support, not a new admission
forall ab ac L bb bc M AB AC t i db dc eb ec. (((forall pfp_repeat_index_diagonal_actual_padding_leftzeros. (exists pfa_gap_diagonal_actual_padding_leftzerosindex. pfa_gap_diagonal_actual_padding_leftzerosindex + S (pfp_repeat_index_diagonal_actual_padding_leftzeros) = (t)) -> (((exists ff_h_pfp_diagonal_actual_padding_leftzerosentry. ff_h_pfp_diagonal_actual_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_diagonal_actual_padding_leftzeros)) * AC)) /\ exists ff_q_pfp_diagonal_actual_padding_leftzerosentry. AB = ff_q_pfp_diagonal_actual_padding_leftzerosentry * S ((S (pfp_repeat_index_diagonal_actual_padding_leftzeros)) * AC) + (0)))) /\ ((forall pfrep_index_diagonal_actual_padding_left pfrep_value_diagonal_actual_padding_left. (exists pfa_gap_diagonal_actual_padding_leftbound. pfa_gap_diagonal_actual_padding_leftbound + S (pfrep_index_diagonal_actual_padding_left) = (L)) -> (((exists ff_h_pfp_diagonal_actual_padding_leftinput. ff_h_pfp_diagonal_actual_padding_leftinput + S (pfrep_value_diagonal_actual_padding_left) = S ((S (pfrep_index_diagonal_actual_padding_left)) * ac)) /\ exists ff_q_pfp_diagonal_actual_padding_leftinput. ab = ff_q_pfp_diagonal_actual_padding_leftinput * S ((S (pfrep_index_diagonal_actual_padding_left)) * ac) + (pfrep_value_diagonal_actual_padding_left))) -> (((exists ff_h_pfp_diagonal_actual_padding_leftoutput. ff_h_pfp_diagonal_actual_padding_leftoutput + S (pfrep_value_diagonal_actual_padding_left) = S ((S ((t)+pfrep_index_diagonal_actual_padding_left)) * AC)) /\ exists ff_q_pfp_diagonal_actual_padding_leftoutput. AB = ff_q_pfp_diagonal_actual_padding_leftoutput * S ((S ((t)+pfrep_index_diagonal_actual_padding_left)) * AC) + (pfrep_value_diagonal_actual_padding_left))))))) -> (forall pfc_index_diagonal_pad_old_left. (exists pfa_gap_diagonal_pad_old_leftbound. pfa_gap_diagonal_pad_old_leftbound + S (pfc_index_diagonal_pad_old_left) = (S i)) -> exists pfc_value_diagonal_pad_old_left. ((((exists ff_h_pfp_diagonal_pad_old_leftentry. ff_h_pfp_diagonal_pad_old_leftentry + S (pfc_value_diagonal_pad_old_left) = S ((S (pfc_index_diagonal_pad_old_left)) * dc)) /\ exists ff_q_pfp_diagonal_pad_old_leftentry. db = ff_q_pfp_diagonal_pad_old_leftentry * S ((S (pfc_index_diagonal_pad_old_left)) * dc) + (pfc_value_diagonal_pad_old_left))) /\ ((exists pfc_complement_diagonal_pad_old_leftterm pfc_left_diagonal_pad_old_leftterm pfc_right_diagonal_pad_old_leftterm. (((pfc_index_diagonal_pad_old_left)+pfc_complement_diagonal_pad_old_leftterm=(i)) /\ ((((((exists pfa_gap_diagonal_pad_old_lefttermleftinside. pfa_gap_diagonal_pad_old_lefttermleftinside + S (pfc_index_diagonal_pad_old_left) = (L)) /\ ((((exists ff_h_pfp_diagonal_pad_old_lefttermleftentry. ff_h_pfp_diagonal_pad_old_lefttermleftentry + S (pfc_left_diagonal_pad_old_leftterm) = S ((S (pfc_index_diagonal_pad_old_left)) * ac)) /\ exists ff_q_pfp_diagonal_pad_old_lefttermleftentry. ab = ff_q_pfp_diagonal_pad_old_lefttermleftentry * S ((S (pfc_index_diagonal_pad_old_left)) * ac) + (pfc_left_diagonal_pad_old_leftterm)))))) \/ (((exists pfc_gap_diagonal_pad_old_lefttermleftoutside. pfc_gap_diagonal_pad_old_lefttermleftoutside+(L)=(pfc_index_diagonal_pad_old_left)) /\ (((pfc_left_diagonal_pad_old_leftterm)=0))))) /\ ((((((exists pfa_gap_diagonal_pad_old_lefttermrightinside. pfa_gap_diagonal_pad_old_lefttermrightinside + S (pfc_complement_diagonal_pad_old_leftterm) = (M)) /\ ((((exists ff_h_pfp_diagonal_pad_old_lefttermrightentry. ff_h_pfp_diagonal_pad_old_lefttermrightentry + S (pfc_right_diagonal_pad_old_leftterm) = S ((S (pfc_complement_diagonal_pad_old_leftterm)) * bc)) /\ exists ff_q_pfp_diagonal_pad_old_lefttermrightentry. bb = ff_q_pfp_diagonal_pad_old_lefttermrightentry * S ((S (pfc_complement_diagonal_pad_old_leftterm)) * bc) + (pfc_right_diagonal_pad_old_leftterm)))))) \/ (((exists pfc_gap_diagonal_pad_old_lefttermrightoutside. pfc_gap_diagonal_pad_old_lefttermrightoutside+(M)=(pfc_complement_diagonal_pad_old_leftterm)) /\ (((pfc_right_diagonal_pad_old_leftterm)=0))))) /\ (((pfc_value_diagonal_pad_old_left)=pfc_left_diagonal_pad_old_leftterm*pfc_right_diagonal_pad_old_leftterm))))))))))) -> (forall pfc_index_diagonal_pad_new_left. (exists pfa_gap_diagonal_pad_new_leftbound. pfa_gap_diagonal_pad_new_leftbound + S (pfc_index_diagonal_pad_new_left) = (S (t+i))) -> exists pfc_value_diagonal_pad_new_left. ((((exists ff_h_pfp_diagonal_pad_new_leftentry. ff_h_pfp_diagonal_pad_new_leftentry + S (pfc_value_diagonal_pad_new_left) = S ((S (pfc_index_diagonal_pad_new_left)) * ec)) /\ exists ff_q_pfp_diagonal_pad_new_leftentry. eb = ff_q_pfp_diagonal_pad_new_leftentry * S ((S (pfc_index_diagonal_pad_new_left)) * ec) + (pfc_value_diagonal_pad_new_left))) /\ ((exists pfc_complement_diagonal_pad_new_leftterm pfc_left_diagonal_pad_new_leftterm pfc_right_diagonal_pad_new_leftterm. (((pfc_index_diagonal_pad_new_left)+pfc_complement_diagonal_pad_new_leftterm=(t+i)) /\ ((((((exists pfa_gap_diagonal_pad_new_lefttermleftinside. pfa_gap_diagonal_pad_new_lefttermleftinside + S (pfc_index_diagonal_pad_new_left) = (t+L)) /\ ((((exists ff_h_pfp_diagonal_pad_new_lefttermleftentry. ff_h_pfp_diagonal_pad_new_lefttermleftentry + S (pfc_left_diagonal_pad_new_leftterm) = S ((S (pfc_index_diagonal_pad_new_left)) * AC)) /\ exists ff_q_pfp_diagonal_pad_new_lefttermleftentry. AB = ff_q_pfp_diagonal_pad_new_lefttermleftentry * S ((S (pfc_index_diagonal_pad_new_left)) * AC) + (pfc_left_diagonal_pad_new_leftterm)))))) \/ (((exists pfc_gap_diagonal_pad_new_lefttermleftoutside. pfc_gap_diagonal_pad_new_lefttermleftoutside+(t+L)=(pfc_index_diagonal_pad_new_left)) /\ (((pfc_left_diagonal_pad_new_leftterm)=0))))) /\ ((((((exists pfa_gap_diagonal_pad_new_lefttermrightinside. pfa_gap_diagonal_pad_new_lefttermrightinside + S (pfc_complement_diagonal_pad_new_leftterm) = (M)) /\ ((((exists ff_h_pfp_diagonal_pad_new_lefttermrightentry. ff_h_pfp_diagonal_pad_new_lefttermrightentry + S (pfc_right_diagonal_pad_new_leftterm) = S ((S (pfc_complement_diagonal_pad_new_leftterm)) * bc)) /\ exists ff_q_pfp_diagonal_pad_new_lefttermrightentry. bb = ff_q_pfp_diagonal_pad_new_lefttermrightentry * S ((S (pfc_complement_diagonal_pad_new_leftterm)) * bc) + (pfc_right_diagonal_pad_new_leftterm)))))) \/ (((exists pfc_gap_diagonal_pad_new_lefttermrightoutside. pfc_gap_diagonal_pad_new_lefttermrightoutside+(M)=(pfc_complement_diagonal_pad_new_leftterm)) /\ (((pfc_right_diagonal_pad_new_leftterm)=0))))) /\ (((pfc_value_diagonal_pad_new_left)=pfc_left_diagonal_pad_new_leftterm*pfc_right_diagonal_pad_new_leftterm))))))))))) -> (((forall pfp_repeat_index_diagonal_pad_result_leftzeros. (exists pfa_gap_diagonal_pad_result_leftzerosindex. pfa_gap_diagonal_pad_result_leftzerosindex + S (pfp_repeat_index_diagonal_pad_result_leftzeros) = (t)) -> (((exists ff_h_pfp_diagonal_pad_result_leftzerosentry. ff_h_pfp_diagonal_pad_result_leftzerosentry + S (0) = S ((S (pfp_repeat_index_diagonal_pad_result_leftzeros)) * ec)) /\ exists ff_q_pfp_diagonal_pad_result_leftzerosentry. eb = ff_q_pfp_diagonal_pad_result_leftzerosentry * S ((S (pfp_repeat_index_diagonal_pad_result_leftzeros)) * ec) + (0)))) /\ ((forall pfrep_index_diagonal_pad_result_left pfrep_value_diagonal_pad_result_left. (exists pfa_gap_diagonal_pad_result_leftbound. pfa_gap_diagonal_pad_result_leftbound + S (pfrep_index_diagonal_pad_result_left) = (S i)) -> (((exists ff_h_pfp_diagonal_pad_result_leftinput. ff_h_pfp_diagonal_pad_result_leftinput + S (pfrep_value_diagonal_pad_result_left) = S ((S (pfrep_index_diagonal_pad_result_left)) * dc)) /\ exists ff_q_pfp_diagonal_pad_result_leftinput. db = ff_q_pfp_diagonal_pad_result_leftinput * S ((S (pfrep_index_diagonal_pad_result_left)) * dc) + (pfrep_value_diagonal_pad_result_left))) -> (((exists ff_h_pfp_diagonal_pad_result_leftoutput. ff_h_pfp_diagonal_pad_result_leftoutput + S (pfrep_value_diagonal_pad_result_left) = S ((S ((t)+pfrep_index_diagonal_pad_result_left)) * ec)) /\ exists ff_q_pfp_diagonal_pad_result_leftoutput. eb = ff_q_pfp_diagonal_pad_result_leftoutput * S ((S ((t)+pfrep_index_diagonal_pad_result_left)) * ec) + (pfrep_value_diagonal_pad_result_left)))))))
intro abintro acintro Lintro bbintro bcintro Mintro ABintro ACintro tintro iintro dbintro dcintro ebintro ecintro hpadintro holdintro hnewsplitintro jintro hjhave hv : exists z. ((((exists ff_h_pfp_diagonal_zero_entry. ff_h_pfp_diagonal_zero_entry + S (z) = S ((S (j)) * ec)) /\ exists ff_q_pfp_diagonal_zero_entry. eb = ff_q_pfp_diagonal_zero_entry * S ((S (j)) * ec) + (z))) /\ ((exists pfc_complement_diagonal_zero_term pfc_left_diagonal_zero_term pfc_right_diagonal_zero_term. (((j)+pfc_complement_diagonal_zero_term=(t+i)) /\ ((((((exists pfa_gap_diagonal_zero_termleftinside. pfa_gap_diagonal_zero_termleftinside + S (j) = (t+L)) /\ ((((exists ff_h_pfp_diagonal_zero_termleftentry. ff_h_pfp_diagonal_zero_termleftentry + S (pfc_left_diagonal_zero_term) = S ((S (j)) * AC)) /\ exists ff_q_pfp_diagonal_zero_termleftentry. AB = ff_q_pfp_diagonal_zero_termleftentry * S ((S (j)) * AC) + (pfc_left_diagonal_zero_term)))))) \/ (((exists pfc_gap_diagonal_zero_termleftoutside. pfc_gap_diagonal_zero_termleftoutside+(t+L)=(j)) /\ (((pfc_left_diagonal_zero_term)=0))))) /\ ((((((exists pfa_gap_diagonal_zero_termrightinside. pfa_gap_diagonal_zero_termrightinside + S (pfc_complement_diagonal_zero_term) = (M)) /\ ((((exists ff_h_pfp_diagonal_zero_termrightentry. ff_h_pfp_diagonal_zero_termrightentry + S (pfc_right_diagonal_zero_term) = S ((S (pfc_complement_diagonal_zero_term)) * bc)) /\ exists ff_q_pfp_diagonal_zero_termrightentry. bb = ff_q_pfp_diagonal_zero_termrightentry * S ((S (pfc_complement_diagonal_zero_term)) * bc) + (pfc_right_diagonal_zero_term)))))) \/ (((exists pfc_gap_diagonal_zero_termrightoutside. pfc_gap_diagonal_zero_termrightoutside+(M)=(pfc_complement_diagonal_zero_term)) /\ (((pfc_right_diagonal_zero_term)=0))))) /\ (((z)=pfc_left_diagonal_zero_term*pfc_right_diagonal_zero_term))))))))))specialize hnew (j)apply hnewspecialize le_trans (S j)specialize le_trans (t)specialize le_trans (S (t+i))apply le_transexact hjspecialize le_succ (t)specialize le_succ (t+i)apply le_succspecialize le_add_right (t)specialize le_add_right (i)apply le_add_rightcases hvcases hv_witnesshave hz : x=0specialize polynomial_diagonal_term_left_padding_zero_left (ab)specialize polynomial_diagonal_term_left_padding_zero_left (ac)specialize polynomial_diagonal_term_left_padding_zero_left (L)specialize polynomial_diagonal_term_left_padding_zero_left (bb)specialize polynomial_diagonal_term_left_padding_zero_left (bc)specialize polynomial_diagonal_term_left_padding_zero_left (M)specialize polynomial_diagonal_term_left_padding_zero_left (AB)specialize polynomial_diagonal_term_left_padding_zero_left (AC)specialize polynomial_diagonal_term_left_padding_zero_left (t)specialize polynomial_diagonal_term_left_padding_zero_left (t+i)specialize polynomial_diagonal_term_left_padding_zero_left (j)specialize polynomial_diagonal_term_left_padding_zero_left (x)apply polynomial_diagonal_term_left_padding_zero_leftexact hpadexact hjexact hv_witness_rightrewrite hz at hv_witness_leftrewrite hz at hv_witness_leftexact hv_witness_leftintro jintro aintro hjintro hahave hterm : exists pfc_complement_diagonal_copy_old pfc_left_diagonal_copy_old pfc_right_diagonal_copy_old. (((j)+pfc_complement_diagonal_copy_old=(i)) /\ ((((((exists pfa_gap_diagonal_copy_oldleftinside. pfa_gap_diagonal_copy_oldleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_diagonal_copy_oldleftentry. ff_h_pfp_diagonal_copy_oldleftentry + S (pfc_left_diagonal_copy_old) = S ((S (j)) * ac)) /\ exists ff_q_pfp_diagonal_copy_oldleftentry. ab = ff_q_pfp_diagonal_copy_oldleftentry * S ((S (j)) * ac) + (pfc_left_diagonal_copy_old)))))) \/ (((exists pfc_gap_diagonal_copy_oldleftoutside. pfc_gap_diagonal_copy_oldleftoutside+(L)=(j)) /\ (((pfc_left_diagonal_copy_old)=0))))) /\ ((((((exists pfa_gap_diagonal_copy_oldrightinside. pfa_gap_diagonal_copy_oldrightinside + S (pfc_complement_diagonal_copy_old) = (M)) /\ ((((exists ff_h_pfp_diagonal_copy_oldrightentry. ff_h_pfp_diagonal_copy_oldrightentry + S (pfc_right_diagonal_copy_old) = S ((S (pfc_complement_diagonal_copy_old)) * bc)) /\ exists ff_q_pfp_diagonal_copy_oldrightentry. bb = ff_q_pfp_diagonal_copy_oldrightentry * S ((S (pfc_complement_diagonal_copy_old)) * bc) + (pfc_right_diagonal_copy_old)))))) \/ (((exists pfc_gap_diagonal_copy_oldrightoutside. pfc_gap_diagonal_copy_oldrightoutside+(M)=(pfc_complement_diagonal_copy_old)) /\ (((pfc_right_diagonal_copy_old)=0))))) /\ (((a)=pfc_left_diagonal_copy_old*pfc_right_diagonal_copy_old)))))))specialize polynomial_diagonal_prefix_entry (ab)specialize polynomial_diagonal_prefix_entry (ac)specialize polynomial_diagonal_prefix_entry (L)specialize polynomial_diagonal_prefix_entry (bb)specialize polynomial_diagonal_prefix_entry (bc)specialize polynomial_diagonal_prefix_entry (M)specialize polynomial_diagonal_prefix_entry (i)specialize polynomial_diagonal_prefix_entry (db)specialize polynomial_diagonal_prefix_entry (dc)specialize polynomial_diagonal_prefix_entry (S i)specialize polynomial_diagonal_prefix_entry (j)specialize polynomial_diagonal_prefix_entry (a)apply polynomial_diagonal_prefix_entryexact holdexact hjexact hahave hv : exists z. ((((exists ff_h_pfp_diagonal_copy_entry. ff_h_pfp_diagonal_copy_entry + S (z) = S ((S (t+j)) * ec)) /\ exists ff_q_pfp_diagonal_copy_entry. eb = ff_q_pfp_diagonal_copy_entry * S ((S (t+j)) * ec) + (z))) /\ ((exists pfc_complement_diagonal_copy_actual pfc_left_diagonal_copy_actual pfc_right_diagonal_copy_actual. (((t+j)+pfc_complement_diagonal_copy_actual=(t+i)) /\ ((((((exists pfa_gap_diagonal_copy_actualleftinside. pfa_gap_diagonal_copy_actualleftinside + S (t+j) = (t+L)) /\ ((((exists ff_h_pfp_diagonal_copy_actualleftentry. ff_h_pfp_diagonal_copy_actualleftentry + S (pfc_left_diagonal_copy_actual) = S ((S (t+j)) * AC)) /\ exists ff_q_pfp_diagonal_copy_actualleftentry. AB = ff_q_pfp_diagonal_copy_actualleftentry * S ((S (t+j)) * AC) + (pfc_left_diagonal_copy_actual)))))) \/ (((exists pfc_gap_diagonal_copy_actualleftoutside. pfc_gap_diagonal_copy_actualleftoutside+(t+L)=(t+j)) /\ (((pfc_left_diagonal_copy_actual)=0))))) /\ ((((((exists pfa_gap_diagonal_copy_actualrightinside. pfa_gap_diagonal_copy_actualrightinside + S (pfc_complement_diagonal_copy_actual) = (M)) /\ ((((exists ff_h_pfp_diagonal_copy_actualrightentry. ff_h_pfp_diagonal_copy_actualrightentry + S (pfc_right_diagonal_copy_actual) = S ((S (pfc_complement_diagonal_copy_actual)) * bc)) /\ exists ff_q_pfp_diagonal_copy_actualrightentry. bb = ff_q_pfp_diagonal_copy_actualrightentry * S ((S (pfc_complement_diagonal_copy_actual)) * bc) + (pfc_right_diagonal_copy_actual)))))) \/ (((exists pfc_gap_diagonal_copy_actualrightoutside. pfc_gap_diagonal_copy_actualrightoutside+(M)=(pfc_complement_diagonal_copy_actual)) /\ (((pfc_right_diagonal_copy_actual)=0))))) /\ (((z)=pfc_left_diagonal_copy_actual*pfc_right_diagonal_copy_actual))))))))))specialize hnew (t+j)apply hnewspecialize succ_le_succ (t+j)specialize succ_le_succ (t+i)apply succ_le_succspecialize add_le_add_left (j)specialize add_le_add_left (i)specialize add_le_add_left (t)apply add_le_add_leftspecialize le_of_succ_le_succ (j)specialize le_of_succ_le_succ (i)apply le_of_succ_le_succexact hjcases hvcases hv_witnesshave heq : x=aspecialize polynomial_diagonal_term_functional (AB)specialize polynomial_diagonal_term_functional (AC)specialize polynomial_diagonal_term_functional (t+L)specialize polynomial_diagonal_term_functional (bb)specialize polynomial_diagonal_term_functional (bc)specialize polynomial_diagonal_term_functional (M)specialize polynomial_diagonal_term_functional (t+i)specialize polynomial_diagonal_term_functional (t+j)specialize polynomial_diagonal_term_functional (x)specialize polynomial_diagonal_term_functional (a)apply polynomial_diagonal_term_functionalexact hv_witness_rightspecialize polynomial_diagonal_term_left_padding_left (ab)specialize polynomial_diagonal_term_left_padding_left (ac)specialize polynomial_diagonal_term_left_padding_left (L)specialize polynomial_diagonal_term_left_padding_left (bb)specialize polynomial_diagonal_term_left_padding_left (bc)specialize polynomial_diagonal_term_left_padding_left (M)specialize polynomial_diagonal_term_left_padding_left (AB)specialize polynomial_diagonal_term_left_padding_left (AC)specialize polynomial_diagonal_term_left_padding_left (t)specialize polynomial_diagonal_term_left_padding_left (i)specialize polynomial_diagonal_term_left_padding_left (j)specialize polynomial_diagonal_term_left_padding_left (a)apply polynomial_diagonal_term_left_padding_leftexact hpadexact htermrewrite heq at hv_witness_leftrewrite heq at hv_witness_leftexact hv_witness_left
polynomial_left_pad_natural_sum_invariant · unchanged support, not a new admission
forall b c B C t L n m. (((forall pfp_repeat_index_sum_pad_datazeros. (exists pfa_gap_sum_pad_datazerosindex. pfa_gap_sum_pad_datazerosindex + S (pfp_repeat_index_sum_pad_datazeros) = (t)) -> (((exists ff_h_pfp_sum_pad_datazerosentry. ff_h_pfp_sum_pad_datazerosentry + S (0) = S ((S (pfp_repeat_index_sum_pad_datazeros)) * C)) /\ exists ff_q_pfp_sum_pad_datazerosentry. B = ff_q_pfp_sum_pad_datazerosentry * S ((S (pfp_repeat_index_sum_pad_datazeros)) * C) + (0)))) /\ ((forall pfrep_index_sum_pad_data pfrep_value_sum_pad_data. (exists pfa_gap_sum_pad_databound. pfa_gap_sum_pad_databound + S (pfrep_index_sum_pad_data) = (L)) -> (((exists ff_h_pfp_sum_pad_datainput. ff_h_pfp_sum_pad_datainput + S (pfrep_value_sum_pad_data) = S ((S (pfrep_index_sum_pad_data)) * c)) /\ exists ff_q_pfp_sum_pad_datainput. b = ff_q_pfp_sum_pad_datainput * S ((S (pfrep_index_sum_pad_data)) * c) + (pfrep_value_sum_pad_data))) -> (((exists ff_h_pfp_sum_pad_dataoutput. ff_h_pfp_sum_pad_dataoutput + S (pfrep_value_sum_pad_data) = S ((S ((t)+pfrep_index_sum_pad_data)) * C)) /\ exists ff_q_pfp_sum_pad_dataoutput. B = ff_q_pfp_sum_pad_dataoutput * S ((S ((t)+pfrep_index_sum_pad_data)) * C) + (pfrep_value_sum_pad_data))))))) -> (exists fs_u_pfc_sum_pad_original fs_v_pfc_sum_pad_original. ((((exists fs_h_pfc_sum_pad_original_body_start. fs_h_pfc_sum_pad_original_body_start + S (0) = S ((S (0)) * fs_v_pfc_sum_pad_original)) /\ exists fs_q_pfc_sum_pad_original_body_start. fs_u_pfc_sum_pad_original = fs_q_pfc_sum_pad_original_body_start * S ((S (0)) * fs_v_pfc_sum_pad_original) + (0))) /\ ((((exists fs_h_pfc_sum_pad_original_body_terminal. fs_h_pfc_sum_pad_original_body_terminal + S (n) = S ((S (L)) * fs_v_pfc_sum_pad_original)) /\ exists fs_q_pfc_sum_pad_original_body_terminal. fs_u_pfc_sum_pad_original = fs_q_pfc_sum_pad_original_body_terminal * S ((S (L)) * fs_v_pfc_sum_pad_original) + (n))) /\ forall fs_i_pfc_sum_pad_original_body_steps. (exists fs_lt_pfc_sum_pad_original_body_steps_bound. fs_lt_pfc_sum_pad_original_body_steps_bound + S fs_i_pfc_sum_pad_original_body_steps = L) -> exists fs_a_pfc_sum_pad_original_body_steps fs_r_pfc_sum_pad_original_body_steps fs_s_pfc_sum_pad_original_body_steps. ((((exists fs_h_pfc_sum_pad_original_body_steps_summand. fs_h_pfc_sum_pad_original_body_steps_summand + S (fs_a_pfc_sum_pad_original_body_steps) = S ((S (fs_i_pfc_sum_pad_original_body_steps)) * c)) /\ exists fs_q_pfc_sum_pad_original_body_steps_summand. b = fs_q_pfc_sum_pad_original_body_steps_summand * S ((S (fs_i_pfc_sum_pad_original_body_steps)) * c) + (fs_a_pfc_sum_pad_original_body_steps))) /\ ((((exists fs_h_pfc_sum_pad_original_body_steps_partial. fs_h_pfc_sum_pad_original_body_steps_partial + S (fs_r_pfc_sum_pad_original_body_steps) = S ((S (fs_i_pfc_sum_pad_original_body_steps)) * fs_v_pfc_sum_pad_original)) /\ exists fs_q_pfc_sum_pad_original_body_steps_partial. fs_u_pfc_sum_pad_original = fs_q_pfc_sum_pad_original_body_steps_partial * S ((S (fs_i_pfc_sum_pad_original_body_steps)) * fs_v_pfc_sum_pad_original) + (fs_r_pfc_sum_pad_original_body_steps))) /\ ((((exists fs_h_pfc_sum_pad_original_body_steps_successor. fs_h_pfc_sum_pad_original_body_steps_successor + S (fs_s_pfc_sum_pad_original_body_steps) = S ((S (S fs_i_pfc_sum_pad_original_body_steps)) * fs_v_pfc_sum_pad_original)) /\ exists fs_q_pfc_sum_pad_original_body_steps_successor. fs_u_pfc_sum_pad_original = fs_q_pfc_sum_pad_original_body_steps_successor * S ((S (S fs_i_pfc_sum_pad_original_body_steps)) * fs_v_pfc_sum_pad_original) + (fs_s_pfc_sum_pad_original_body_steps))) /\ fs_s_pfc_sum_pad_original_body_steps = fs_r_pfc_sum_pad_original_body_steps + fs_a_pfc_sum_pad_original_body_steps)))))) -> (exists fs_u_pfc_sum_pad_actual fs_v_pfc_sum_pad_actual. ((((exists fs_h_pfc_sum_pad_actual_body_start. fs_h_pfc_sum_pad_actual_body_start + S (0) = S ((S (0)) * fs_v_pfc_sum_pad_actual)) /\ exists fs_q_pfc_sum_pad_actual_body_start. fs_u_pfc_sum_pad_actual = fs_q_pfc_sum_pad_actual_body_start * S ((S (0)) * fs_v_pfc_sum_pad_actual) + (0))) /\ ((((exists fs_h_pfc_sum_pad_actual_body_terminal. fs_h_pfc_sum_pad_actual_body_terminal + S (m) = S ((S (t+L)) * fs_v_pfc_sum_pad_actual)) /\ exists fs_q_pfc_sum_pad_actual_body_terminal. fs_u_pfc_sum_pad_actual = fs_q_pfc_sum_pad_actual_body_terminal * S ((S (t+L)) * fs_v_pfc_sum_pad_actual) + (m))) /\ forall fs_i_pfc_sum_pad_actual_body_steps. (exists fs_lt_pfc_sum_pad_actual_body_steps_bound. fs_lt_pfc_sum_pad_actual_body_steps_bound + S fs_i_pfc_sum_pad_actual_body_steps = t+L) -> exists fs_a_pfc_sum_pad_actual_body_steps fs_r_pfc_sum_pad_actual_body_steps fs_s_pfc_sum_pad_actual_body_steps. ((((exists fs_h_pfc_sum_pad_actual_body_steps_summand. fs_h_pfc_sum_pad_actual_body_steps_summand + S (fs_a_pfc_sum_pad_actual_body_steps) = S ((S (fs_i_pfc_sum_pad_actual_body_steps)) * C)) /\ exists fs_q_pfc_sum_pad_actual_body_steps_summand. B = fs_q_pfc_sum_pad_actual_body_steps_summand * S ((S (fs_i_pfc_sum_pad_actual_body_steps)) * C) + (fs_a_pfc_sum_pad_actual_body_steps))) /\ ((((exists fs_h_pfc_sum_pad_actual_body_steps_partial. fs_h_pfc_sum_pad_actual_body_steps_partial + S (fs_r_pfc_sum_pad_actual_body_steps) = S ((S (fs_i_pfc_sum_pad_actual_body_steps)) * fs_v_pfc_sum_pad_actual)) /\ exists fs_q_pfc_sum_pad_actual_body_steps_partial. fs_u_pfc_sum_pad_actual = fs_q_pfc_sum_pad_actual_body_steps_partial * S ((S (fs_i_pfc_sum_pad_actual_body_steps)) * fs_v_pfc_sum_pad_actual) + (fs_r_pfc_sum_pad_actual_body_steps))) /\ ((((exists fs_h_pfc_sum_pad_actual_body_steps_successor. fs_h_pfc_sum_pad_actual_body_steps_successor + S (fs_s_pfc_sum_pad_actual_body_steps) = S ((S (S fs_i_pfc_sum_pad_actual_body_steps)) * fs_v_pfc_sum_pad_actual)) /\ exists fs_q_pfc_sum_pad_actual_body_steps_successor. fs_u_pfc_sum_pad_actual = fs_q_pfc_sum_pad_actual_body_steps_successor * S ((S (S fs_i_pfc_sum_pad_actual_body_steps)) * fs_v_pfc_sum_pad_actual) + (fs_s_pfc_sum_pad_actual_body_steps))) /\ fs_s_pfc_sum_pad_actual_body_steps = fs_r_pfc_sum_pad_actual_body_steps + fs_a_pfc_sum_pad_actual_body_steps)))))) -> (m=n)
intro bintro cintro Bintro Cintro tinduction Lintro nintro mintro hpadintro hsintro htcases hpadhave hn : n=0specialize beta_sum_zero (b)specialize beta_sum_zero (c)specialize beta_sum_zero (n)apply beta_sum_zeroexact hshave hlength : t+0=tsimprewrite hlength at htrewrite hlength at htrewrite hlength at httrans t*0specialize beta_repeat_sum_exact (B)specialize beta_repeat_sum_exact (C)specialize beta_repeat_sum_exact (0)specialize beta_repeat_sum_exact (t)specialize beta_repeat_sum_exact (m)apply beta_repeat_sum_exactexact hpad_leftexact httrans 0simpsymmexact hnintro nintro mintro hpadintro hsintro htcases hpadhave hp : ((forall pfp_repeat_index_sum_pad_prefixzeros. (exists pfa_gap_sum_pad_prefixzerosindex. pfa_gap_sum_pad_prefixzerosindex + S (pfp_repeat_index_sum_pad_prefixzeros) = (t)) -> (((exists ff_h_pfp_sum_pad_prefixzerosentry. ff_h_pfp_sum_pad_prefixzerosentry + S (0) = S ((S (pfp_repeat_index_sum_pad_prefixzeros)) * C)) /\ exists ff_q_pfp_sum_pad_prefixzerosentry. B = ff_q_pfp_sum_pad_prefixzerosentry * S ((S (pfp_repeat_index_sum_pad_prefixzeros)) * C) + (0)))) /\ ((forall pfrep_index_sum_pad_prefix pfrep_value_sum_pad_prefix. (exists pfa_gap_sum_pad_prefixbound. pfa_gap_sum_pad_prefixbound + S (pfrep_index_sum_pad_prefix) = (L)) -> (((exists ff_h_pfp_sum_pad_prefixinput. ff_h_pfp_sum_pad_prefixinput + S (pfrep_value_sum_pad_prefix) = S ((S (pfrep_index_sum_pad_prefix)) * c)) /\ exists ff_q_pfp_sum_pad_prefixinput. b = ff_q_pfp_sum_pad_prefixinput * S ((S (pfrep_index_sum_pad_prefix)) * c) + (pfrep_value_sum_pad_prefix))) -> (((exists ff_h_pfp_sum_pad_prefixoutput. ff_h_pfp_sum_pad_prefixoutput + S (pfrep_value_sum_pad_prefix) = S ((S ((t)+pfrep_index_sum_pad_prefix)) * C)) /\ exists ff_q_pfp_sum_pad_prefixoutput. B = ff_q_pfp_sum_pad_prefixoutput * S ((S ((t)+pfrep_index_sum_pad_prefix)) * C) + (pfrep_value_sum_pad_prefix))))))splitexact hpad_leftintro iintro aintro hiintro haspecialize hpad_right (i)specialize hpad_right (a)apply hpad_rightspecialize le_succ (S i)specialize le_succ (L)apply le_succexact hiexact hahave hfirst : exists a u. ((((exists ff_h_pfp_sum_pad_firstentry. ff_h_pfp_sum_pad_firstentry + S (a) = S ((S (L)) * c)) /\ exists ff_q_pfp_sum_pad_firstentry. b = ff_q_pfp_sum_pad_firstentry * S ((S (L)) * c) + (a))) /\ (((exists fs_u_pfc_sum_pad_firstprefix fs_v_pfc_sum_pad_firstprefix. ((((exists fs_h_pfc_sum_pad_firstprefix_body_start. fs_h_pfc_sum_pad_firstprefix_body_start + S (0) = S ((S (0)) * fs_v_pfc_sum_pad_firstprefix)) /\ exists fs_q_pfc_sum_pad_firstprefix_body_start. fs_u_pfc_sum_pad_firstprefix = fs_q_pfc_sum_pad_firstprefix_body_start * S ((S (0)) * fs_v_pfc_sum_pad_firstprefix) + (0))) /\ ((((exists fs_h_pfc_sum_pad_firstprefix_body_terminal. fs_h_pfc_sum_pad_firstprefix_body_terminal + S (u) = S ((S (L)) * fs_v_pfc_sum_pad_firstprefix)) /\ exists fs_q_pfc_sum_pad_firstprefix_body_terminal. fs_u_pfc_sum_pad_firstprefix = fs_q_pfc_sum_pad_firstprefix_body_terminal * S ((S (L)) * fs_v_pfc_sum_pad_firstprefix) + (u))) /\ forall fs_i_pfc_sum_pad_firstprefix_body_steps. (exists fs_lt_pfc_sum_pad_firstprefix_body_steps_bound. fs_lt_pfc_sum_pad_firstprefix_body_steps_bound + S fs_i_pfc_sum_pad_firstprefix_body_steps = L) -> exists fs_a_pfc_sum_pad_firstprefix_body_steps fs_r_pfc_sum_pad_firstprefix_body_steps fs_s_pfc_sum_pad_firstprefix_body_steps. ((((exists fs_h_pfc_sum_pad_firstprefix_body_steps_summand. fs_h_pfc_sum_pad_firstprefix_body_steps_summand + S (fs_a_pfc_sum_pad_firstprefix_body_steps) = S ((S (fs_i_pfc_sum_pad_firstprefix_body_steps)) * c)) /\ exists fs_q_pfc_sum_pad_firstprefix_body_steps_summand. b = fs_q_pfc_sum_pad_firstprefix_body_steps_summand * S ((S (fs_i_pfc_sum_pad_firstprefix_body_steps)) * c) + (fs_a_pfc_sum_pad_firstprefix_body_steps))) /\ ((((exists fs_h_pfc_sum_pad_firstprefix_body_steps_partial. fs_h_pfc_sum_pad_firstprefix_body_steps_partial + S (fs_r_pfc_sum_pad_firstprefix_body_steps) = S ((S (fs_i_pfc_sum_pad_firstprefix_body_steps)) * fs_v_pfc_sum_pad_firstprefix)) /\ exists fs_q_pfc_sum_pad_firstprefix_body_steps_partial. fs_u_pfc_sum_pad_firstprefix = fs_q_pfc_sum_pad_firstprefix_body_steps_partial * S ((S (fs_i_pfc_sum_pad_firstprefix_body_steps)) * fs_v_pfc_sum_pad_firstprefix) + (fs_r_pfc_sum_pad_firstprefix_body_steps))) /\ ((((exists fs_h_pfc_sum_pad_firstprefix_body_steps_successor. fs_h_pfc_sum_pad_firstprefix_body_steps_successor + S (fs_s_pfc_sum_pad_firstprefix_body_steps) = S ((S (S fs_i_pfc_sum_pad_firstprefix_body_steps)) * fs_v_pfc_sum_pad_firstprefix)) /\ exists fs_q_pfc_sum_pad_firstprefix_body_steps_successor. fs_u_pfc_sum_pad_firstprefix = fs_q_pfc_sum_pad_firstprefix_body_steps_successor * S ((S (S fs_i_pfc_sum_pad_firstprefix_body_steps)) * fs_v_pfc_sum_pad_firstprefix) + (fs_s_pfc_sum_pad_firstprefix_body_steps))) /\ fs_s_pfc_sum_pad_firstprefix_body_steps = fs_r_pfc_sum_pad_firstprefix_body_steps + fs_a_pfc_sum_pad_firstprefix_body_steps)))))) /\ (((n)=u+a)))))specialize beta_sum_succ_decompose (b)specialize beta_sum_succ_decompose (c)specialize beta_sum_succ_decompose (L)specialize beta_sum_succ_decompose (n)apply beta_sum_succ_decomposeexact hscases hfirstcases hfirst_witnesscases hfirst_witness_witnesscases hfirst_witness_witness_righthave hlength : t+S L=S (t+L)simprewrite hlength at htrewrite hlength at htrewrite hlength at hthave hsecond : exists a u. ((((exists ff_h_pfp_sum_pad_secondentry. ff_h_pfp_sum_pad_secondentry + S (a) = S ((S (t+L)) * C)) /\ exists ff_q_pfp_sum_pad_secondentry. B = ff_q_pfp_sum_pad_secondentry * S ((S (t+L)) * C) + (a))) /\ (((exists fs_u_pfc_sum_pad_secondprefix fs_v_pfc_sum_pad_secondprefix. ((((exists fs_h_pfc_sum_pad_secondprefix_body_start. fs_h_pfc_sum_pad_secondprefix_body_start + S (0) = S ((S (0)) * fs_v_pfc_sum_pad_secondprefix)) /\ exists fs_q_pfc_sum_pad_secondprefix_body_start. fs_u_pfc_sum_pad_secondprefix = fs_q_pfc_sum_pad_secondprefix_body_start * S ((S (0)) * fs_v_pfc_sum_pad_secondprefix) + (0))) /\ ((((exists fs_h_pfc_sum_pad_secondprefix_body_terminal. fs_h_pfc_sum_pad_secondprefix_body_terminal + S (u) = S ((S (t+L)) * fs_v_pfc_sum_pad_secondprefix)) /\ exists fs_q_pfc_sum_pad_secondprefix_body_terminal. fs_u_pfc_sum_pad_secondprefix = fs_q_pfc_sum_pad_secondprefix_body_terminal * S ((S (t+L)) * fs_v_pfc_sum_pad_secondprefix) + (u))) /\ forall fs_i_pfc_sum_pad_secondprefix_body_steps. (exists fs_lt_pfc_sum_pad_secondprefix_body_steps_bound. fs_lt_pfc_sum_pad_secondprefix_body_steps_bound + S fs_i_pfc_sum_pad_secondprefix_body_steps = t+L) -> exists fs_a_pfc_sum_pad_secondprefix_body_steps fs_r_pfc_sum_pad_secondprefix_body_steps fs_s_pfc_sum_pad_secondprefix_body_steps. ((((exists fs_h_pfc_sum_pad_secondprefix_body_steps_summand. fs_h_pfc_sum_pad_secondprefix_body_steps_summand + S (fs_a_pfc_sum_pad_secondprefix_body_steps) = S ((S (fs_i_pfc_sum_pad_secondprefix_body_steps)) * C)) /\ exists fs_q_pfc_sum_pad_secondprefix_body_steps_summand. B = fs_q_pfc_sum_pad_secondprefix_body_steps_summand * S ((S (fs_i_pfc_sum_pad_secondprefix_body_steps)) * C) + (fs_a_pfc_sum_pad_secondprefix_body_steps))) /\ ((((exists fs_h_pfc_sum_pad_secondprefix_body_steps_partial. fs_h_pfc_sum_pad_secondprefix_body_steps_partial + S (fs_r_pfc_sum_pad_secondprefix_body_steps) = S ((S (fs_i_pfc_sum_pad_secondprefix_body_steps)) * fs_v_pfc_sum_pad_secondprefix)) /\ exists fs_q_pfc_sum_pad_secondprefix_body_steps_partial. fs_u_pfc_sum_pad_secondprefix = fs_q_pfc_sum_pad_secondprefix_body_steps_partial * S ((S (fs_i_pfc_sum_pad_secondprefix_body_steps)) * fs_v_pfc_sum_pad_secondprefix) + (fs_r_pfc_sum_pad_secondprefix_body_steps))) /\ ((((exists fs_h_pfc_sum_pad_secondprefix_body_steps_successor. fs_h_pfc_sum_pad_secondprefix_body_steps_successor + S (fs_s_pfc_sum_pad_secondprefix_body_steps) = S ((S (S fs_i_pfc_sum_pad_secondprefix_body_steps)) * fs_v_pfc_sum_pad_secondprefix)) /\ exists fs_q_pfc_sum_pad_secondprefix_body_steps_successor. fs_u_pfc_sum_pad_secondprefix = fs_q_pfc_sum_pad_secondprefix_body_steps_successor * S ((S (S fs_i_pfc_sum_pad_secondprefix_body_steps)) * fs_v_pfc_sum_pad_secondprefix) + (fs_s_pfc_sum_pad_secondprefix_body_steps))) /\ fs_s_pfc_sum_pad_secondprefix_body_steps = fs_r_pfc_sum_pad_secondprefix_body_steps + fs_a_pfc_sum_pad_secondprefix_body_steps)))))) /\ (((m)=u+a)))))specialize beta_sum_succ_decompose (B)specialize beta_sum_succ_decompose (C)specialize beta_sum_succ_decompose (t+L)specialize beta_sum_succ_decompose (m)apply beta_sum_succ_decomposeexact htcases hsecondcases hsecond_witnesscases hsecond_witness_witnesscases hsecond_witness_witness_righthave hprefix : x3=x1specialize IH (x1)specialize IH (x3)apply IHexact hpexact hfirst_witness_witness_right_leftexact hsecond_witness_witness_right_lefthave hentry : x2=xspecialize beta_at_unique (B)specialize beta_at_unique (C)specialize beta_at_unique (t+L)specialize beta_at_unique (x2)specialize beta_at_unique (x)apply beta_at_uniqueexact hsecond_witness_witness_leftspecialize hpad_right (L)specialize hpad_right (x)apply hpad_rightspecialize le_refl (S L)apply le_reflexact hfirst_witness_witness_lefttrans x3+x2exact hsecond_witness_witness_right_righttrans x1+xcongrexact hprefixexact hentrysymmexact hfirst_witness_witness_right_right
prime_field_convolution_coefficient_left_padding_left · unchanged support, not a new admission
forall p ab ac L bb bc M AB AC t i r. (((forall pfp_repeat_index_coefficient_padding_leftzeros. (exists pfa_gap_coefficient_padding_leftzerosindex. pfa_gap_coefficient_padding_leftzerosindex + S (pfp_repeat_index_coefficient_padding_leftzeros) = (t)) -> (((exists ff_h_pfp_coefficient_padding_leftzerosentry. ff_h_pfp_coefficient_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_coefficient_padding_leftzeros)) * AC)) /\ exists ff_q_pfp_coefficient_padding_leftzerosentry. AB = ff_q_pfp_coefficient_padding_leftzerosentry * S ((S (pfp_repeat_index_coefficient_padding_leftzeros)) * AC) + (0)))) /\ ((forall pfrep_index_coefficient_padding_left pfrep_value_coefficient_padding_left. (exists pfa_gap_coefficient_padding_leftbound. pfa_gap_coefficient_padding_leftbound + S (pfrep_index_coefficient_padding_left) = (L)) -> (((exists ff_h_pfp_coefficient_padding_leftinput. ff_h_pfp_coefficient_padding_leftinput + S (pfrep_value_coefficient_padding_left) = S ((S (pfrep_index_coefficient_padding_left)) * ac)) /\ exists ff_q_pfp_coefficient_padding_leftinput. ab = ff_q_pfp_coefficient_padding_leftinput * S ((S (pfrep_index_coefficient_padding_left)) * ac) + (pfrep_value_coefficient_padding_left))) -> (((exists ff_h_pfp_coefficient_padding_leftoutput. ff_h_pfp_coefficient_padding_leftoutput + S (pfrep_value_coefficient_padding_left) = S ((S ((t)+pfrep_index_coefficient_padding_left)) * AC)) /\ exists ff_q_pfp_coefficient_padding_leftoutput. AB = ff_q_pfp_coefficient_padding_leftoutput * S ((S ((t)+pfrep_index_coefficient_padding_left)) * AC) + (pfrep_value_coefficient_padding_left))))))) -> (exists pfc_terms_code_coefficient_original_left pfc_terms_scale_coefficient_original_left pfc_natural_sum_coefficient_original_left. ((forall pfc_index_coefficient_original_leftdiagonal. (exists pfa_gap_coefficient_original_leftdiagonalbound. pfa_gap_coefficient_original_leftdiagonalbound + S (pfc_index_coefficient_original_leftdiagonal) = (S (i))) -> exists pfc_value_coefficient_original_leftdiagonal. ((((exists ff_h_pfp_coefficient_original_leftdiagonalentry. ff_h_pfp_coefficient_original_leftdiagonalentry + S (pfc_value_coefficient_original_leftdiagonal) = S ((S (pfc_index_coefficient_original_leftdiagonal)) * pfc_terms_scale_coefficient_original_left)) /\ exists ff_q_pfp_coefficient_original_leftdiagonalentry. pfc_terms_code_coefficient_original_left = ff_q_pfp_coefficient_original_leftdiagonalentry * S ((S (pfc_index_coefficient_original_leftdiagonal)) * pfc_terms_scale_coefficient_original_left) + (pfc_value_coefficient_original_leftdiagonal))) /\ ((exists pfc_complement_coefficient_original_leftdiagonalterm pfc_left_coefficient_original_leftdiagonalterm pfc_right_coefficient_original_leftdiagonalterm. (((pfc_index_coefficient_original_leftdiagonal)+pfc_complement_coefficient_original_leftdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_original_leftdiagonaltermleftinside. pfa_gap_coefficient_original_leftdiagonaltermleftinside + S (pfc_index_coefficient_original_leftdiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_original_leftdiagonaltermleftentry. ff_h_pfp_coefficient_original_leftdiagonaltermleftentry + S (pfc_left_coefficient_original_leftdiagonalterm) = S ((S (pfc_index_coefficient_original_leftdiagonal)) * ac)) /\ exists ff_q_pfp_coefficient_original_leftdiagonaltermleftentry. ab = ff_q_pfp_coefficient_original_leftdiagonaltermleftentry * S ((S (pfc_index_coefficient_original_leftdiagonal)) * ac) + (pfc_left_coefficient_original_leftdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_original_leftdiagonaltermleftoutside. pfc_gap_coefficient_original_leftdiagonaltermleftoutside+(L)=(pfc_index_coefficient_original_leftdiagonal)) /\ (((pfc_left_coefficient_original_leftdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_original_leftdiagonaltermrightinside. pfa_gap_coefficient_original_leftdiagonaltermrightinside + S (pfc_complement_coefficient_original_leftdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_original_leftdiagonaltermrightentry. ff_h_pfp_coefficient_original_leftdiagonaltermrightentry + S (pfc_right_coefficient_original_leftdiagonalterm) = S ((S (pfc_complement_coefficient_original_leftdiagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_original_leftdiagonaltermrightentry. bb = ff_q_pfp_coefficient_original_leftdiagonaltermrightentry * S ((S (pfc_complement_coefficient_original_leftdiagonalterm)) * bc) + (pfc_right_coefficient_original_leftdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_original_leftdiagonaltermrightoutside. pfc_gap_coefficient_original_leftdiagonaltermrightoutside+(M)=(pfc_complement_coefficient_original_leftdiagonalterm)) /\ (((pfc_right_coefficient_original_leftdiagonalterm)=0))))) /\ (((pfc_value_coefficient_original_leftdiagonal)=pfc_left_coefficient_original_leftdiagonalterm*pfc_right_coefficient_original_leftdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_original_leftsum fs_v_pfc_coefficient_original_leftsum. ((((exists fs_h_pfc_coefficient_original_leftsum_body_start. fs_h_pfc_coefficient_original_leftsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_original_leftsum)) /\ exists fs_q_pfc_coefficient_original_leftsum_body_start. fs_u_pfc_coefficient_original_leftsum = fs_q_pfc_coefficient_original_leftsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_original_leftsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_original_leftsum_body_terminal. fs_h_pfc_coefficient_original_leftsum_body_terminal + S (pfc_natural_sum_coefficient_original_left) = S ((S (S (i))) * fs_v_pfc_coefficient_original_leftsum)) /\ exists fs_q_pfc_coefficient_original_leftsum_body_terminal. fs_u_pfc_coefficient_original_leftsum = fs_q_pfc_coefficient_original_leftsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_original_leftsum) + (pfc_natural_sum_coefficient_original_left))) /\ forall fs_i_pfc_coefficient_original_leftsum_body_steps. (exists fs_lt_pfc_coefficient_original_leftsum_body_steps_bound. fs_lt_pfc_coefficient_original_leftsum_body_steps_bound + S fs_i_pfc_coefficient_original_leftsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_original_leftsum_body_steps fs_r_pfc_coefficient_original_leftsum_body_steps fs_s_pfc_coefficient_original_leftsum_body_steps. ((((exists fs_h_pfc_coefficient_original_leftsum_body_steps_summand. fs_h_pfc_coefficient_original_leftsum_body_steps_summand + S (fs_a_pfc_coefficient_original_leftsum_body_steps) = S ((S (fs_i_pfc_coefficient_original_leftsum_body_steps)) * pfc_terms_scale_coefficient_original_left)) /\ exists fs_q_pfc_coefficient_original_leftsum_body_steps_summand. pfc_terms_code_coefficient_original_left = fs_q_pfc_coefficient_original_leftsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_original_leftsum_body_steps)) * pfc_terms_scale_coefficient_original_left) + (fs_a_pfc_coefficient_original_leftsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_original_leftsum_body_steps_partial. fs_h_pfc_coefficient_original_leftsum_body_steps_partial + S (fs_r_pfc_coefficient_original_leftsum_body_steps) = S ((S (fs_i_pfc_coefficient_original_leftsum_body_steps)) * fs_v_pfc_coefficient_original_leftsum)) /\ exists fs_q_pfc_coefficient_original_leftsum_body_steps_partial. fs_u_pfc_coefficient_original_leftsum = fs_q_pfc_coefficient_original_leftsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_original_leftsum_body_steps)) * fs_v_pfc_coefficient_original_leftsum) + (fs_r_pfc_coefficient_original_leftsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_original_leftsum_body_steps_successor. fs_h_pfc_coefficient_original_leftsum_body_steps_successor + S (fs_s_pfc_coefficient_original_leftsum_body_steps) = S ((S (S fs_i_pfc_coefficient_original_leftsum_body_steps)) * fs_v_pfc_coefficient_original_leftsum)) /\ exists fs_q_pfc_coefficient_original_leftsum_body_steps_successor. fs_u_pfc_coefficient_original_leftsum = fs_q_pfc_coefficient_original_leftsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_original_leftsum_body_steps)) * fs_v_pfc_coefficient_original_leftsum) + (fs_s_pfc_coefficient_original_leftsum_body_steps))) /\ fs_s_pfc_coefficient_original_leftsum_body_steps = fs_r_pfc_coefficient_original_leftsum_body_steps + fs_a_pfc_coefficient_original_leftsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_original_leftresiduebound. pfa_gap_coefficient_original_leftresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_coefficient_original_leftresiduecongruence pfa_offset_right_coefficient_original_leftresiduecongruence. (pfc_natural_sum_coefficient_original_left) + (p) * pfa_offset_left_coefficient_original_leftresiduecongruence = (r) + (p) * pfa_offset_right_coefficient_original_leftresiduecongruence))))))))) -> (exists pfc_terms_code_coefficient_shifted_left pfc_terms_scale_coefficient_shifted_left pfc_natural_sum_coefficient_shifted_left. ((forall pfc_index_coefficient_shifted_leftdiagonal. (exists pfa_gap_coefficient_shifted_leftdiagonalbound. pfa_gap_coefficient_shifted_leftdiagonalbound + S (pfc_index_coefficient_shifted_leftdiagonal) = (S (t+i))) -> exists pfc_value_coefficient_shifted_leftdiagonal. ((((exists ff_h_pfp_coefficient_shifted_leftdiagonalentry. ff_h_pfp_coefficient_shifted_leftdiagonalentry + S (pfc_value_coefficient_shifted_leftdiagonal) = S ((S (pfc_index_coefficient_shifted_leftdiagonal)) * pfc_terms_scale_coefficient_shifted_left)) /\ exists ff_q_pfp_coefficient_shifted_leftdiagonalentry. pfc_terms_code_coefficient_shifted_left = ff_q_pfp_coefficient_shifted_leftdiagonalentry * S ((S (pfc_index_coefficient_shifted_leftdiagonal)) * pfc_terms_scale_coefficient_shifted_left) + (pfc_value_coefficient_shifted_leftdiagonal))) /\ ((exists pfc_complement_coefficient_shifted_leftdiagonalterm pfc_left_coefficient_shifted_leftdiagonalterm pfc_right_coefficient_shifted_leftdiagonalterm. (((pfc_index_coefficient_shifted_leftdiagonal)+pfc_complement_coefficient_shifted_leftdiagonalterm=(t+i)) /\ ((((((exists pfa_gap_coefficient_shifted_leftdiagonaltermleftinside. pfa_gap_coefficient_shifted_leftdiagonaltermleftinside + S (pfc_index_coefficient_shifted_leftdiagonal) = (t+L)) /\ ((((exists ff_h_pfp_coefficient_shifted_leftdiagonaltermleftentry. ff_h_pfp_coefficient_shifted_leftdiagonaltermleftentry + S (pfc_left_coefficient_shifted_leftdiagonalterm) = S ((S (pfc_index_coefficient_shifted_leftdiagonal)) * AC)) /\ exists ff_q_pfp_coefficient_shifted_leftdiagonaltermleftentry. AB = ff_q_pfp_coefficient_shifted_leftdiagonaltermleftentry * S ((S (pfc_index_coefficient_shifted_leftdiagonal)) * AC) + (pfc_left_coefficient_shifted_leftdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_shifted_leftdiagonaltermleftoutside. pfc_gap_coefficient_shifted_leftdiagonaltermleftoutside+(t+L)=(pfc_index_coefficient_shifted_leftdiagonal)) /\ (((pfc_left_coefficient_shifted_leftdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_shifted_leftdiagonaltermrightinside. pfa_gap_coefficient_shifted_leftdiagonaltermrightinside + S (pfc_complement_coefficient_shifted_leftdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_shifted_leftdiagonaltermrightentry. ff_h_pfp_coefficient_shifted_leftdiagonaltermrightentry + S (pfc_right_coefficient_shifted_leftdiagonalterm) = S ((S (pfc_complement_coefficient_shifted_leftdiagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_shifted_leftdiagonaltermrightentry. bb = ff_q_pfp_coefficient_shifted_leftdiagonaltermrightentry * S ((S (pfc_complement_coefficient_shifted_leftdiagonalterm)) * bc) + (pfc_right_coefficient_shifted_leftdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_shifted_leftdiagonaltermrightoutside. pfc_gap_coefficient_shifted_leftdiagonaltermrightoutside+(M)=(pfc_complement_coefficient_shifted_leftdiagonalterm)) /\ (((pfc_right_coefficient_shifted_leftdiagonalterm)=0))))) /\ (((pfc_value_coefficient_shifted_leftdiagonal)=pfc_left_coefficient_shifted_leftdiagonalterm*pfc_right_coefficient_shifted_leftdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_shifted_leftsum fs_v_pfc_coefficient_shifted_leftsum. ((((exists fs_h_pfc_coefficient_shifted_leftsum_body_start. fs_h_pfc_coefficient_shifted_leftsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_shifted_leftsum)) /\ exists fs_q_pfc_coefficient_shifted_leftsum_body_start. fs_u_pfc_coefficient_shifted_leftsum = fs_q_pfc_coefficient_shifted_leftsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_shifted_leftsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_shifted_leftsum_body_terminal. fs_h_pfc_coefficient_shifted_leftsum_body_terminal + S (pfc_natural_sum_coefficient_shifted_left) = S ((S (S (t+i))) * fs_v_pfc_coefficient_shifted_leftsum)) /\ exists fs_q_pfc_coefficient_shifted_leftsum_body_terminal. fs_u_pfc_coefficient_shifted_leftsum = fs_q_pfc_coefficient_shifted_leftsum_body_terminal * S ((S (S (t+i))) * fs_v_pfc_coefficient_shifted_leftsum) + (pfc_natural_sum_coefficient_shifted_left))) /\ forall fs_i_pfc_coefficient_shifted_leftsum_body_steps. (exists fs_lt_pfc_coefficient_shifted_leftsum_body_steps_bound. fs_lt_pfc_coefficient_shifted_leftsum_body_steps_bound + S fs_i_pfc_coefficient_shifted_leftsum_body_steps = S (t+i)) -> exists fs_a_pfc_coefficient_shifted_leftsum_body_steps fs_r_pfc_coefficient_shifted_leftsum_body_steps fs_s_pfc_coefficient_shifted_leftsum_body_steps. ((((exists fs_h_pfc_coefficient_shifted_leftsum_body_steps_summand. fs_h_pfc_coefficient_shifted_leftsum_body_steps_summand + S (fs_a_pfc_coefficient_shifted_leftsum_body_steps) = S ((S (fs_i_pfc_coefficient_shifted_leftsum_body_steps)) * pfc_terms_scale_coefficient_shifted_left)) /\ exists fs_q_pfc_coefficient_shifted_leftsum_body_steps_summand. pfc_terms_code_coefficient_shifted_left = fs_q_pfc_coefficient_shifted_leftsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_shifted_leftsum_body_steps)) * pfc_terms_scale_coefficient_shifted_left) + (fs_a_pfc_coefficient_shifted_leftsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_shifted_leftsum_body_steps_partial. fs_h_pfc_coefficient_shifted_leftsum_body_steps_partial + S (fs_r_pfc_coefficient_shifted_leftsum_body_steps) = S ((S (fs_i_pfc_coefficient_shifted_leftsum_body_steps)) * fs_v_pfc_coefficient_shifted_leftsum)) /\ exists fs_q_pfc_coefficient_shifted_leftsum_body_steps_partial. fs_u_pfc_coefficient_shifted_leftsum = fs_q_pfc_coefficient_shifted_leftsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_shifted_leftsum_body_steps)) * fs_v_pfc_coefficient_shifted_leftsum) + (fs_r_pfc_coefficient_shifted_leftsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_shifted_leftsum_body_steps_successor. fs_h_pfc_coefficient_shifted_leftsum_body_steps_successor + S (fs_s_pfc_coefficient_shifted_leftsum_body_steps) = S ((S (S fs_i_pfc_coefficient_shifted_leftsum_body_steps)) * fs_v_pfc_coefficient_shifted_leftsum)) /\ exists fs_q_pfc_coefficient_shifted_leftsum_body_steps_successor. fs_u_pfc_coefficient_shifted_leftsum = fs_q_pfc_coefficient_shifted_leftsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_shifted_leftsum_body_steps)) * fs_v_pfc_coefficient_shifted_leftsum) + (fs_s_pfc_coefficient_shifted_leftsum_body_steps))) /\ fs_s_pfc_coefficient_shifted_leftsum_body_steps = fs_r_pfc_coefficient_shifted_leftsum_body_steps + fs_a_pfc_coefficient_shifted_leftsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_shifted_leftresiduebound. pfa_gap_coefficient_shifted_leftresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_coefficient_shifted_leftresiduecongruence pfa_offset_right_coefficient_shifted_leftresiduecongruence. (pfc_natural_sum_coefficient_shifted_left) + (p) * pfa_offset_left_coefficient_shifted_leftresiduecongruence = (r) + (p) * pfa_offset_right_coefficient_shifted_leftresiduecongruence)))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro ABintro ACintro tintro iintro rintro hpadintro hccases hccases hc_witnesscases hc_witness_witnesscases hc_witness_witness_witnesscases hc_witness_witness_witness_righthave hd : exists eb ec. forall pfc_index_coefficient_padded_diagonal_left. (exists pfa_gap_coefficient_padded_diagonal_leftbound. pfa_gap_coefficient_padded_diagonal_leftbound + S (pfc_index_coefficient_padded_diagonal_left) = (S (t+i))) -> exists pfc_value_coefficient_padded_diagonal_left. ((((exists ff_h_pfp_coefficient_padded_diagonal_leftentry. ff_h_pfp_coefficient_padded_diagonal_leftentry + S (pfc_value_coefficient_padded_diagonal_left) = S ((S (pfc_index_coefficient_padded_diagonal_left)) * ec)) /\ exists ff_q_pfp_coefficient_padded_diagonal_leftentry. eb = ff_q_pfp_coefficient_padded_diagonal_leftentry * S ((S (pfc_index_coefficient_padded_diagonal_left)) * ec) + (pfc_value_coefficient_padded_diagonal_left))) /\ ((exists pfc_complement_coefficient_padded_diagonal_leftterm pfc_left_coefficient_padded_diagonal_leftterm pfc_right_coefficient_padded_diagonal_leftterm. (((pfc_index_coefficient_padded_diagonal_left)+pfc_complement_coefficient_padded_diagonal_leftterm=(t+i)) /\ ((((((exists pfa_gap_coefficient_padded_diagonal_lefttermleftinside. pfa_gap_coefficient_padded_diagonal_lefttermleftinside + S (pfc_index_coefficient_padded_diagonal_left) = (t+L)) /\ ((((exists ff_h_pfp_coefficient_padded_diagonal_lefttermleftentry. ff_h_pfp_coefficient_padded_diagonal_lefttermleftentry + S (pfc_left_coefficient_padded_diagonal_leftterm) = S ((S (pfc_index_coefficient_padded_diagonal_left)) * AC)) /\ exists ff_q_pfp_coefficient_padded_diagonal_lefttermleftentry. AB = ff_q_pfp_coefficient_padded_diagonal_lefttermleftentry * S ((S (pfc_index_coefficient_padded_diagonal_left)) * AC) + (pfc_left_coefficient_padded_diagonal_leftterm)))))) \/ (((exists pfc_gap_coefficient_padded_diagonal_lefttermleftoutside. pfc_gap_coefficient_padded_diagonal_lefttermleftoutside+(t+L)=(pfc_index_coefficient_padded_diagonal_left)) /\ (((pfc_left_coefficient_padded_diagonal_leftterm)=0))))) /\ ((((((exists pfa_gap_coefficient_padded_diagonal_lefttermrightinside. pfa_gap_coefficient_padded_diagonal_lefttermrightinside + S (pfc_complement_coefficient_padded_diagonal_leftterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_padded_diagonal_lefttermrightentry. ff_h_pfp_coefficient_padded_diagonal_lefttermrightentry + S (pfc_right_coefficient_padded_diagonal_leftterm) = S ((S (pfc_complement_coefficient_padded_diagonal_leftterm)) * bc)) /\ exists ff_q_pfp_coefficient_padded_diagonal_lefttermrightentry. bb = ff_q_pfp_coefficient_padded_diagonal_lefttermrightentry * S ((S (pfc_complement_coefficient_padded_diagonal_leftterm)) * bc) + (pfc_right_coefficient_padded_diagonal_leftterm)))))) \/ (((exists pfc_gap_coefficient_padded_diagonal_lefttermrightoutside. pfc_gap_coefficient_padded_diagonal_lefttermrightoutside+(M)=(pfc_complement_coefficient_padded_diagonal_leftterm)) /\ (((pfc_right_coefficient_padded_diagonal_leftterm)=0))))) /\ (((pfc_value_coefficient_padded_diagonal_left)=pfc_left_coefficient_padded_diagonal_leftterm*pfc_right_coefficient_padded_diagonal_leftterm))))))))))specialize polynomial_diagonal_prefix_exists (AB)specialize polynomial_diagonal_prefix_exists (AC)specialize polynomial_diagonal_prefix_exists (t+L)specialize polynomial_diagonal_prefix_exists (bb)specialize polynomial_diagonal_prefix_exists (bc)specialize polynomial_diagonal_prefix_exists (M)specialize polynomial_diagonal_prefix_exists (t+i)apply polynomial_diagonal_prefix_existscases hdcases hd_witnesshave hs : exists n. exists fs_u_pfc_coefficient_padded_sum_left fs_v_pfc_coefficient_padded_sum_left. ((((exists fs_h_pfc_coefficient_padded_sum_left_body_start. fs_h_pfc_coefficient_padded_sum_left_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_padded_sum_left)) /\ exists fs_q_pfc_coefficient_padded_sum_left_body_start. fs_u_pfc_coefficient_padded_sum_left = fs_q_pfc_coefficient_padded_sum_left_body_start * S ((S (0)) * fs_v_pfc_coefficient_padded_sum_left) + (0))) /\ ((((exists fs_h_pfc_coefficient_padded_sum_left_body_terminal. fs_h_pfc_coefficient_padded_sum_left_body_terminal + S (n) = S ((S (S (t+i))) * fs_v_pfc_coefficient_padded_sum_left)) /\ exists fs_q_pfc_coefficient_padded_sum_left_body_terminal. fs_u_pfc_coefficient_padded_sum_left = fs_q_pfc_coefficient_padded_sum_left_body_terminal * S ((S (S (t+i))) * fs_v_pfc_coefficient_padded_sum_left) + (n))) /\ forall fs_i_pfc_coefficient_padded_sum_left_body_steps. (exists fs_lt_pfc_coefficient_padded_sum_left_body_steps_bound. fs_lt_pfc_coefficient_padded_sum_left_body_steps_bound + S fs_i_pfc_coefficient_padded_sum_left_body_steps = S (t+i)) -> exists fs_a_pfc_coefficient_padded_sum_left_body_steps fs_r_pfc_coefficient_padded_sum_left_body_steps fs_s_pfc_coefficient_padded_sum_left_body_steps. ((((exists fs_h_pfc_coefficient_padded_sum_left_body_steps_summand. fs_h_pfc_coefficient_padded_sum_left_body_steps_summand + S (fs_a_pfc_coefficient_padded_sum_left_body_steps) = S ((S (fs_i_pfc_coefficient_padded_sum_left_body_steps)) * x4)) /\ exists fs_q_pfc_coefficient_padded_sum_left_body_steps_summand. x3 = fs_q_pfc_coefficient_padded_sum_left_body_steps_summand * S ((S (fs_i_pfc_coefficient_padded_sum_left_body_steps)) * x4) + (fs_a_pfc_coefficient_padded_sum_left_body_steps))) /\ ((((exists fs_h_pfc_coefficient_padded_sum_left_body_steps_partial. fs_h_pfc_coefficient_padded_sum_left_body_steps_partial + S (fs_r_pfc_coefficient_padded_sum_left_body_steps) = S ((S (fs_i_pfc_coefficient_padded_sum_left_body_steps)) * fs_v_pfc_coefficient_padded_sum_left)) /\ exists fs_q_pfc_coefficient_padded_sum_left_body_steps_partial. fs_u_pfc_coefficient_padded_sum_left = fs_q_pfc_coefficient_padded_sum_left_body_steps_partial * S ((S (fs_i_pfc_coefficient_padded_sum_left_body_steps)) * fs_v_pfc_coefficient_padded_sum_left) + (fs_r_pfc_coefficient_padded_sum_left_body_steps))) /\ ((((exists fs_h_pfc_coefficient_padded_sum_left_body_steps_successor. fs_h_pfc_coefficient_padded_sum_left_body_steps_successor + S (fs_s_pfc_coefficient_padded_sum_left_body_steps) = S ((S (S fs_i_pfc_coefficient_padded_sum_left_body_steps)) * fs_v_pfc_coefficient_padded_sum_left)) /\ exists fs_q_pfc_coefficient_padded_sum_left_body_steps_successor. fs_u_pfc_coefficient_padded_sum_left = fs_q_pfc_coefficient_padded_sum_left_body_steps_successor * S ((S (S fs_i_pfc_coefficient_padded_sum_left_body_steps)) * fs_v_pfc_coefficient_padded_sum_left) + (fs_s_pfc_coefficient_padded_sum_left_body_steps))) /\ fs_s_pfc_coefficient_padded_sum_left_body_steps = fs_r_pfc_coefficient_padded_sum_left_body_steps + fs_a_pfc_coefficient_padded_sum_left_body_steps)))))specialize beta_sum_exists (x3)specialize beta_sum_exists (x4)specialize beta_sum_exists (S (t+i))apply beta_sum_existscases hshave hdata : ((forall pfp_repeat_index_coefficient_diagonal_paddingzeros. (exists pfa_gap_coefficient_diagonal_paddingzerosindex. pfa_gap_coefficient_diagonal_paddingzerosindex + S (pfp_repeat_index_coefficient_diagonal_paddingzeros) = (t)) -> (((exists ff_h_pfp_coefficient_diagonal_paddingzerosentry. ff_h_pfp_coefficient_diagonal_paddingzerosentry + S (0) = S ((S (pfp_repeat_index_coefficient_diagonal_paddingzeros)) * x4)) /\ exists ff_q_pfp_coefficient_diagonal_paddingzerosentry. x3 = ff_q_pfp_coefficient_diagonal_paddingzerosentry * S ((S (pfp_repeat_index_coefficient_diagonal_paddingzeros)) * x4) + (0)))) /\ ((forall pfrep_index_coefficient_diagonal_padding pfrep_value_coefficient_diagonal_padding. (exists pfa_gap_coefficient_diagonal_paddingbound. pfa_gap_coefficient_diagonal_paddingbound + S (pfrep_index_coefficient_diagonal_padding) = (S i)) -> (((exists ff_h_pfp_coefficient_diagonal_paddinginput. ff_h_pfp_coefficient_diagonal_paddinginput + S (pfrep_value_coefficient_diagonal_padding) = S ((S (pfrep_index_coefficient_diagonal_padding)) * x1)) /\ exists ff_q_pfp_coefficient_diagonal_paddinginput. x = ff_q_pfp_coefficient_diagonal_paddinginput * S ((S (pfrep_index_coefficient_diagonal_padding)) * x1) + (pfrep_value_coefficient_diagonal_padding))) -> (((exists ff_h_pfp_coefficient_diagonal_paddingoutput. ff_h_pfp_coefficient_diagonal_paddingoutput + S (pfrep_value_coefficient_diagonal_padding) = S ((S ((t)+pfrep_index_coefficient_diagonal_padding)) * x4)) /\ exists ff_q_pfp_coefficient_diagonal_paddingoutput. x3 = ff_q_pfp_coefficient_diagonal_paddingoutput * S ((S ((t)+pfrep_index_coefficient_diagonal_padding)) * x4) + (pfrep_value_coefficient_diagonal_padding))))))specialize polynomial_diagonal_left_padding_left (ab)specialize polynomial_diagonal_left_padding_left (ac)specialize polynomial_diagonal_left_padding_left (L)specialize polynomial_diagonal_left_padding_left (bb)specialize polynomial_diagonal_left_padding_left (bc)specialize polynomial_diagonal_left_padding_left (M)specialize polynomial_diagonal_left_padding_left (AB)specialize polynomial_diagonal_left_padding_left (AC)specialize polynomial_diagonal_left_padding_left (t)specialize polynomial_diagonal_left_padding_left (i)specialize polynomial_diagonal_left_padding_left (x)specialize polynomial_diagonal_left_padding_left (x1)specialize polynomial_diagonal_left_padding_left (x3)specialize polynomial_diagonal_left_padding_left (x4)apply polynomial_diagonal_left_padding_leftexact hpadexact hc_witness_witness_witness_leftexact hd_witness_witnesshave heq : x5=x2specialize polynomial_left_pad_natural_sum_invariant (x)specialize polynomial_left_pad_natural_sum_invariant (x1)specialize polynomial_left_pad_natural_sum_invariant (x3)specialize polynomial_left_pad_natural_sum_invariant (x4)specialize polynomial_left_pad_natural_sum_invariant (t)specialize polynomial_left_pad_natural_sum_invariant (S i)specialize polynomial_left_pad_natural_sum_invariant (x2)specialize polynomial_left_pad_natural_sum_invariant (x5)apply polynomial_left_pad_natural_sum_invariantexact hdataexact hc_witness_witness_witness_right_lefthave hlength : t+S i=S (t+i)simprewrite hlengthrewrite hlengthrewrite hlengthexact hs_witnessexists x3exists x4exists x2splitexact hd_witness_witnesssplitrewrite heq at hs_witnessrewrite heq at hs_witnessexact hs_witnessexact hc_witness_witness_witness_right_right
prime_field_polynomial_convolution_left_padding_nonempty_left · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N AB AC t CB CC K. (~(p=0)) -> (~(L=0)) -> (~(M=0)) -> (((forall pfp_repeat_index_nonempty_factor_padding_leftzeros. (exists pfa_gap_nonempty_factor_padding_leftzerosindex. pfa_gap_nonempty_factor_padding_leftzerosindex + S (pfp_repeat_index_nonempty_factor_padding_leftzeros) = (t)) -> (((exists ff_h_pfp_nonempty_factor_padding_leftzerosentry. ff_h_pfp_nonempty_factor_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_nonempty_factor_padding_leftzeros)) * AC)) /\ exists ff_q_pfp_nonempty_factor_padding_leftzerosentry. AB = ff_q_pfp_nonempty_factor_padding_leftzerosentry * S ((S (pfp_repeat_index_nonempty_factor_padding_leftzeros)) * AC) + (0)))) /\ ((forall pfrep_index_nonempty_factor_padding_left pfrep_value_nonempty_factor_padding_left. (exists pfa_gap_nonempty_factor_padding_leftbound. pfa_gap_nonempty_factor_padding_leftbound + S (pfrep_index_nonempty_factor_padding_left) = (L)) -> (((exists ff_h_pfp_nonempty_factor_padding_leftinput. ff_h_pfp_nonempty_factor_padding_leftinput + S (pfrep_value_nonempty_factor_padding_left) = S ((S (pfrep_index_nonempty_factor_padding_left)) * ac)) /\ exists ff_q_pfp_nonempty_factor_padding_leftinput. ab = ff_q_pfp_nonempty_factor_padding_leftinput * S ((S (pfrep_index_nonempty_factor_padding_left)) * ac) + (pfrep_value_nonempty_factor_padding_left))) -> (((exists ff_h_pfp_nonempty_factor_padding_leftoutput. ff_h_pfp_nonempty_factor_padding_leftoutput + S (pfrep_value_nonempty_factor_padding_left) = S ((S ((t)+pfrep_index_nonempty_factor_padding_left)) * AC)) /\ exists ff_q_pfp_nonempty_factor_padding_leftoutput. AB = ff_q_pfp_nonempty_factor_padding_leftoutput * S ((S ((t)+pfrep_index_nonempty_factor_padding_left)) * AC) + (pfrep_value_nonempty_factor_padding_left))))))) -> (((forall fom_index_pfp_nonempty_old_leftleft. (exists fom_gap_pfp_nonempty_old_leftleft_index_bound. fom_gap_pfp_nonempty_old_leftleft_index_bound + S (fom_index_pfp_nonempty_old_leftleft) = L) -> exists fom_value_pfp_nonempty_old_leftleft. ((((exists fom_beta_height_pfp_nonempty_old_leftleft_entry. fom_beta_height_pfp_nonempty_old_leftleft_entry + S (fom_value_pfp_nonempty_old_leftleft) = S ((S (fom_index_pfp_nonempty_old_leftleft)) * ac)) /\ exists fom_beta_quotient_pfp_nonempty_old_leftleft_entry. ab = fom_beta_quotient_pfp_nonempty_old_leftleft_entry * S ((S (fom_index_pfp_nonempty_old_leftleft)) * ac) + (fom_value_pfp_nonempty_old_leftleft))) /\ (exists fom_gap_pfp_nonempty_old_leftleft_value_bound. fom_gap_pfp_nonempty_old_leftleft_value_bound + S (fom_value_pfp_nonempty_old_leftleft) = p))) /\ (((forall fom_index_pfp_nonempty_old_leftright. (exists fom_gap_pfp_nonempty_old_leftright_index_bound. fom_gap_pfp_nonempty_old_leftright_index_bound + S (fom_index_pfp_nonempty_old_leftright) = M) -> exists fom_value_pfp_nonempty_old_leftright. ((((exists fom_beta_height_pfp_nonempty_old_leftright_entry. fom_beta_height_pfp_nonempty_old_leftright_entry + S (fom_value_pfp_nonempty_old_leftright) = S ((S (fom_index_pfp_nonempty_old_leftright)) * bc)) /\ exists fom_beta_quotient_pfp_nonempty_old_leftright_entry. bb = fom_beta_quotient_pfp_nonempty_old_leftright_entry * S ((S (fom_index_pfp_nonempty_old_leftright)) * bc) + (fom_value_pfp_nonempty_old_leftright))) /\ (exists fom_gap_pfp_nonempty_old_leftright_value_bound. fom_gap_pfp_nonempty_old_leftright_value_bound + S (fom_value_pfp_nonempty_old_leftright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_nonempty_old_leftcoefficients. (exists pfa_gap_nonempty_old_leftcoefficientsbound. pfa_gap_nonempty_old_leftcoefficientsbound + S (pfc_index_nonempty_old_leftcoefficients) = (N)) -> exists pfc_value_nonempty_old_leftcoefficients. ((((exists ff_h_pfp_nonempty_old_leftcoefficientsentry. ff_h_pfp_nonempty_old_leftcoefficientsentry + S (pfc_value_nonempty_old_leftcoefficients) = S ((S (pfc_index_nonempty_old_leftcoefficients)) * cc)) /\ exists ff_q_pfp_nonempty_old_leftcoefficientsentry. cb = ff_q_pfp_nonempty_old_leftcoefficientsentry * S ((S (pfc_index_nonempty_old_leftcoefficients)) * cc) + (pfc_value_nonempty_old_leftcoefficients))) /\ ((exists pfc_terms_code_nonempty_old_leftcoefficientscoefficient pfc_terms_scale_nonempty_old_leftcoefficientscoefficient pfc_natural_sum_nonempty_old_leftcoefficientscoefficient. ((forall pfc_index_nonempty_old_leftcoefficientscoefficientdiagonal. (exists pfa_gap_nonempty_old_leftcoefficientscoefficientdiagonalbound. pfa_gap_nonempty_old_leftcoefficientscoefficientdiagonalbound + S (pfc_index_nonempty_old_leftcoefficientscoefficientdiagonal) = (S (pfc_index_nonempty_old_leftcoefficients))) -> exists pfc_value_nonempty_old_leftcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_nonempty_old_leftcoefficientscoefficientdiagonalentry. ff_h_pfp_nonempty_old_leftcoefficientscoefficientdiagonalentry + S (pfc_value_nonempty_old_leftcoefficientscoefficientdiagonal) = S ((S (pfc_index_nonempty_old_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_old_leftcoefficientscoefficient)) /\ exists ff_q_pfp_nonempty_old_leftcoefficientscoefficientdiagonalentry. pfc_terms_code_nonempty_old_leftcoefficientscoefficient = ff_q_pfp_nonempty_old_leftcoefficientscoefficientdiagonalentry * S ((S (pfc_index_nonempty_old_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_old_leftcoefficientscoefficient) + (pfc_value_nonempty_old_leftcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_nonempty_old_leftcoefficientscoefficientdiagonalterm pfc_left_nonempty_old_leftcoefficientscoefficientdiagonalterm pfc_right_nonempty_old_leftcoefficientscoefficientdiagonalterm. (((pfc_index_nonempty_old_leftcoefficientscoefficientdiagonal)+pfc_complement_nonempty_old_leftcoefficientscoefficientdiagonalterm=(pfc_index_nonempty_old_leftcoefficients)) /\ ((((((exists pfa_gap_nonempty_old_leftcoefficientscoefficientdiagonaltermleftinside. pfa_gap_nonempty_old_leftcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_nonempty_old_leftcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_old_leftcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_nonempty_old_leftcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_nonempty_old_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_nonempty_old_leftcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_old_leftcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_nonempty_old_leftcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_nonempty_old_leftcoefficientscoefficientdiagonal)) * ac) + (pfc_left_nonempty_old_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_old_leftcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_nonempty_old_leftcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_nonempty_old_leftcoefficientscoefficientdiagonal)) /\ (((pfc_left_nonempty_old_leftcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_old_leftcoefficientscoefficientdiagonaltermrightinside. pfa_gap_nonempty_old_leftcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_nonempty_old_leftcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_nonempty_old_leftcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_nonempty_old_leftcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_nonempty_old_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_nonempty_old_leftcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_nonempty_old_leftcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_nonempty_old_leftcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_nonempty_old_leftcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_nonempty_old_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_old_leftcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_nonempty_old_leftcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_nonempty_old_leftcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_nonempty_old_leftcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_nonempty_old_leftcoefficientscoefficientdiagonal)=pfc_left_nonempty_old_leftcoefficientscoefficientdiagonalterm*pfc_right_nonempty_old_leftcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_old_leftcoefficientscoefficientsum fs_v_pfc_nonempty_old_leftcoefficientscoefficientsum. ((((exists fs_h_pfc_nonempty_old_leftcoefficientscoefficientsum_body_start. fs_h_pfc_nonempty_old_leftcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_old_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_leftcoefficientscoefficientsum_body_start. fs_u_pfc_nonempty_old_leftcoefficientscoefficientsum = fs_q_pfc_nonempty_old_leftcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_old_leftcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_old_leftcoefficientscoefficientsum_body_terminal. fs_h_pfc_nonempty_old_leftcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_nonempty_old_leftcoefficientscoefficient) = S ((S (S (pfc_index_nonempty_old_leftcoefficients))) * fs_v_pfc_nonempty_old_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_leftcoefficientscoefficientsum_body_terminal. fs_u_pfc_nonempty_old_leftcoefficientscoefficientsum = fs_q_pfc_nonempty_old_leftcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_nonempty_old_leftcoefficients))) * fs_v_pfc_nonempty_old_leftcoefficientscoefficientsum) + (pfc_natural_sum_nonempty_old_leftcoefficientscoefficient))) /\ forall fs_i_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps = S (pfc_index_nonempty_old_leftcoefficients)) -> exists fs_a_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps fs_r_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps fs_s_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_old_leftcoefficientscoefficient)) /\ exists fs_q_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_nonempty_old_leftcoefficientscoefficient = fs_q_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_old_leftcoefficientscoefficient) + (fs_a_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_nonempty_old_leftcoefficientscoefficientsum = fs_q_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_leftcoefficientscoefficientsum) + (fs_r_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_nonempty_old_leftcoefficientscoefficientsum = fs_q_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_old_leftcoefficientscoefficientsum) + (fs_s_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps = fs_r_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps + fs_a_pfc_nonempty_old_leftcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_old_leftcoefficientscoefficientresiduebound. pfa_gap_nonempty_old_leftcoefficientscoefficientresiduebound + S (pfc_value_nonempty_old_leftcoefficients) = (p)) /\ ((exists pfa_offset_left_nonempty_old_leftcoefficientscoefficientresiduecongruence pfa_offset_right_nonempty_old_leftcoefficientscoefficientresiduecongruence. (pfc_natural_sum_nonempty_old_leftcoefficientscoefficient) + (p) * pfa_offset_left_nonempty_old_leftcoefficientscoefficientresiduecongruence = (pfc_value_nonempty_old_leftcoefficients) + (p) * pfa_offset_right_nonempty_old_leftcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_nonempty_new_leftleft. (exists fom_gap_pfp_nonempty_new_leftleft_index_bound. fom_gap_pfp_nonempty_new_leftleft_index_bound + S (fom_index_pfp_nonempty_new_leftleft) = t+L) -> exists fom_value_pfp_nonempty_new_leftleft. ((((exists fom_beta_height_pfp_nonempty_new_leftleft_entry. fom_beta_height_pfp_nonempty_new_leftleft_entry + S (fom_value_pfp_nonempty_new_leftleft) = S ((S (fom_index_pfp_nonempty_new_leftleft)) * AC)) /\ exists fom_beta_quotient_pfp_nonempty_new_leftleft_entry. AB = fom_beta_quotient_pfp_nonempty_new_leftleft_entry * S ((S (fom_index_pfp_nonempty_new_leftleft)) * AC) + (fom_value_pfp_nonempty_new_leftleft))) /\ (exists fom_gap_pfp_nonempty_new_leftleft_value_bound. fom_gap_pfp_nonempty_new_leftleft_value_bound + S (fom_value_pfp_nonempty_new_leftleft) = p))) /\ (((forall fom_index_pfp_nonempty_new_leftright. (exists fom_gap_pfp_nonempty_new_leftright_index_bound. fom_gap_pfp_nonempty_new_leftright_index_bound + S (fom_index_pfp_nonempty_new_leftright) = M) -> exists fom_value_pfp_nonempty_new_leftright. ((((exists fom_beta_height_pfp_nonempty_new_leftright_entry. fom_beta_height_pfp_nonempty_new_leftright_entry + S (fom_value_pfp_nonempty_new_leftright) = S ((S (fom_index_pfp_nonempty_new_leftright)) * bc)) /\ exists fom_beta_quotient_pfp_nonempty_new_leftright_entry. bb = fom_beta_quotient_pfp_nonempty_new_leftright_entry * S ((S (fom_index_pfp_nonempty_new_leftright)) * bc) + (fom_value_pfp_nonempty_new_leftright))) /\ (exists fom_gap_pfp_nonempty_new_leftright_value_bound. fom_gap_pfp_nonempty_new_leftright_value_bound + S (fom_value_pfp_nonempty_new_leftright) = p))) /\ (((((((t+L)=0 \/ (M)=0) /\ (((K)=0)))) \/ (((~((t+L)=0)) /\ (((~((M)=0)) /\ (((t+L)+(M)=S (K)))))))) /\ ((forall pfc_index_nonempty_new_leftcoefficients. (exists pfa_gap_nonempty_new_leftcoefficientsbound. pfa_gap_nonempty_new_leftcoefficientsbound + S (pfc_index_nonempty_new_leftcoefficients) = (K)) -> exists pfc_value_nonempty_new_leftcoefficients. ((((exists ff_h_pfp_nonempty_new_leftcoefficientsentry. ff_h_pfp_nonempty_new_leftcoefficientsentry + S (pfc_value_nonempty_new_leftcoefficients) = S ((S (pfc_index_nonempty_new_leftcoefficients)) * CC)) /\ exists ff_q_pfp_nonempty_new_leftcoefficientsentry. CB = ff_q_pfp_nonempty_new_leftcoefficientsentry * S ((S (pfc_index_nonempty_new_leftcoefficients)) * CC) + (pfc_value_nonempty_new_leftcoefficients))) /\ ((exists pfc_terms_code_nonempty_new_leftcoefficientscoefficient pfc_terms_scale_nonempty_new_leftcoefficientscoefficient pfc_natural_sum_nonempty_new_leftcoefficientscoefficient. ((forall pfc_index_nonempty_new_leftcoefficientscoefficientdiagonal. (exists pfa_gap_nonempty_new_leftcoefficientscoefficientdiagonalbound. pfa_gap_nonempty_new_leftcoefficientscoefficientdiagonalbound + S (pfc_index_nonempty_new_leftcoefficientscoefficientdiagonal) = (S (pfc_index_nonempty_new_leftcoefficients))) -> exists pfc_value_nonempty_new_leftcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_nonempty_new_leftcoefficientscoefficientdiagonalentry. ff_h_pfp_nonempty_new_leftcoefficientscoefficientdiagonalentry + S (pfc_value_nonempty_new_leftcoefficientscoefficientdiagonal) = S ((S (pfc_index_nonempty_new_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_new_leftcoefficientscoefficient)) /\ exists ff_q_pfp_nonempty_new_leftcoefficientscoefficientdiagonalentry. pfc_terms_code_nonempty_new_leftcoefficientscoefficient = ff_q_pfp_nonempty_new_leftcoefficientscoefficientdiagonalentry * S ((S (pfc_index_nonempty_new_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_nonempty_new_leftcoefficientscoefficient) + (pfc_value_nonempty_new_leftcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_nonempty_new_leftcoefficientscoefficientdiagonalterm pfc_left_nonempty_new_leftcoefficientscoefficientdiagonalterm pfc_right_nonempty_new_leftcoefficientscoefficientdiagonalterm. (((pfc_index_nonempty_new_leftcoefficientscoefficientdiagonal)+pfc_complement_nonempty_new_leftcoefficientscoefficientdiagonalterm=(pfc_index_nonempty_new_leftcoefficients)) /\ ((((((exists pfa_gap_nonempty_new_leftcoefficientscoefficientdiagonaltermleftinside. pfa_gap_nonempty_new_leftcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_nonempty_new_leftcoefficientscoefficientdiagonal) = (t+L)) /\ ((((exists ff_h_pfp_nonempty_new_leftcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_nonempty_new_leftcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_nonempty_new_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_nonempty_new_leftcoefficientscoefficientdiagonal)) * AC)) /\ exists ff_q_pfp_nonempty_new_leftcoefficientscoefficientdiagonaltermleftentry. AB = ff_q_pfp_nonempty_new_leftcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_nonempty_new_leftcoefficientscoefficientdiagonal)) * AC) + (pfc_left_nonempty_new_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_new_leftcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_nonempty_new_leftcoefficientscoefficientdiagonaltermleftoutside+(t+L)=(pfc_index_nonempty_new_leftcoefficientscoefficientdiagonal)) /\ (((pfc_left_nonempty_new_leftcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_new_leftcoefficientscoefficientdiagonaltermrightinside. pfa_gap_nonempty_new_leftcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_nonempty_new_leftcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_nonempty_new_leftcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_nonempty_new_leftcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_nonempty_new_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_nonempty_new_leftcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_nonempty_new_leftcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_nonempty_new_leftcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_nonempty_new_leftcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_nonempty_new_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_new_leftcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_nonempty_new_leftcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_nonempty_new_leftcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_nonempty_new_leftcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_nonempty_new_leftcoefficientscoefficientdiagonal)=pfc_left_nonempty_new_leftcoefficientscoefficientdiagonalterm*pfc_right_nonempty_new_leftcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_new_leftcoefficientscoefficientsum fs_v_pfc_nonempty_new_leftcoefficientscoefficientsum. ((((exists fs_h_pfc_nonempty_new_leftcoefficientscoefficientsum_body_start. fs_h_pfc_nonempty_new_leftcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_new_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_leftcoefficientscoefficientsum_body_start. fs_u_pfc_nonempty_new_leftcoefficientscoefficientsum = fs_q_pfc_nonempty_new_leftcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_new_leftcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_new_leftcoefficientscoefficientsum_body_terminal. fs_h_pfc_nonempty_new_leftcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_nonempty_new_leftcoefficientscoefficient) = S ((S (S (pfc_index_nonempty_new_leftcoefficients))) * fs_v_pfc_nonempty_new_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_leftcoefficientscoefficientsum_body_terminal. fs_u_pfc_nonempty_new_leftcoefficientscoefficientsum = fs_q_pfc_nonempty_new_leftcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_nonempty_new_leftcoefficients))) * fs_v_pfc_nonempty_new_leftcoefficientscoefficientsum) + (pfc_natural_sum_nonempty_new_leftcoefficientscoefficient))) /\ forall fs_i_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps = S (pfc_index_nonempty_new_leftcoefficients)) -> exists fs_a_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps fs_r_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps fs_s_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_new_leftcoefficientscoefficient)) /\ exists fs_q_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_nonempty_new_leftcoefficientscoefficient = fs_q_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_nonempty_new_leftcoefficientscoefficient) + (fs_a_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_nonempty_new_leftcoefficientscoefficientsum = fs_q_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_leftcoefficientscoefficientsum) + (fs_r_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_nonempty_new_leftcoefficientscoefficientsum = fs_q_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_nonempty_new_leftcoefficientscoefficientsum) + (fs_s_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps = fs_r_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps + fs_a_pfc_nonempty_new_leftcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_new_leftcoefficientscoefficientresiduebound. pfa_gap_nonempty_new_leftcoefficientscoefficientresiduebound + S (pfc_value_nonempty_new_leftcoefficients) = (p)) /\ ((exists pfa_offset_left_nonempty_new_leftcoefficientscoefficientresiduecongruence pfa_offset_right_nonempty_new_leftcoefficientscoefficientresiduecongruence. (pfc_natural_sum_nonempty_new_leftcoefficientscoefficient) + (p) * pfa_offset_left_nonempty_new_leftcoefficientscoefficientresiduecongruence = (pfc_value_nonempty_new_leftcoefficients) + (p) * pfa_offset_right_nonempty_new_leftcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((K=t+N) /\ ((((forall pfp_repeat_index_nonempty_product_padding_leftzeros. (exists pfa_gap_nonempty_product_padding_leftzerosindex. pfa_gap_nonempty_product_padding_leftzerosindex + S (pfp_repeat_index_nonempty_product_padding_leftzeros) = (t)) -> (((exists ff_h_pfp_nonempty_product_padding_leftzerosentry. ff_h_pfp_nonempty_product_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_nonempty_product_padding_leftzeros)) * CC)) /\ exists ff_q_pfp_nonempty_product_padding_leftzerosentry. CB = ff_q_pfp_nonempty_product_padding_leftzerosentry * S ((S (pfp_repeat_index_nonempty_product_padding_leftzeros)) * CC) + (0)))) /\ ((forall pfrep_index_nonempty_product_padding_left pfrep_value_nonempty_product_padding_left. (exists pfa_gap_nonempty_product_padding_leftbound. pfa_gap_nonempty_product_padding_leftbound + S (pfrep_index_nonempty_product_padding_left) = (N)) -> (((exists ff_h_pfp_nonempty_product_padding_leftinput. ff_h_pfp_nonempty_product_padding_leftinput + S (pfrep_value_nonempty_product_padding_left) = S ((S (pfrep_index_nonempty_product_padding_left)) * cc)) /\ exists ff_q_pfp_nonempty_product_padding_leftinput. cb = ff_q_pfp_nonempty_product_padding_leftinput * S ((S (pfrep_index_nonempty_product_padding_left)) * cc) + (pfrep_value_nonempty_product_padding_left))) -> (((exists ff_h_pfp_nonempty_product_padding_leftoutput. ff_h_pfp_nonempty_product_padding_leftoutput + S (pfrep_value_nonempty_product_padding_left) = S ((S ((t)+pfrep_index_nonempty_product_padding_left)) * CC)) /\ exists ff_q_pfp_nonempty_product_padding_leftoutput. CB = ff_q_pfp_nonempty_product_padding_leftoutput * S ((S ((t)+pfrep_index_nonempty_product_padding_left)) * CC) + (pfrep_value_nonempty_product_padding_left))))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro ABintro ACintro tintro CBintro CCintro Kintro hpintro hLintro hMintro hpadintro hcintro hncases hccases hc_rightcases hc_right_rightcases hncases hn_rightcases hn_right_righthave hlength : K=t+Nspecialize polynomial_product_length_left_padding_left (L)specialize polynomial_product_length_left_padding_left (M)specialize polynomial_product_length_left_padding_left (N)specialize polynomial_product_length_left_padding_left (t)specialize polynomial_product_length_left_padding_left (K)apply polynomial_product_length_left_padding_leftexact hc_right_right_leftexact hLexact hMexact hn_right_right_leftsplitexact hlengthsplitintro iintro hihave hv : exists r. ((((exists ff_h_pfp_nonempty_zero_entry_left. ff_h_pfp_nonempty_zero_entry_left + S (r) = S ((S (i)) * CC)) /\ exists ff_q_pfp_nonempty_zero_entry_left. CB = ff_q_pfp_nonempty_zero_entry_left * S ((S (i)) * CC) + (r))) /\ ((exists pfc_terms_code_nonempty_zero_coefficient_left pfc_terms_scale_nonempty_zero_coefficient_left pfc_natural_sum_nonempty_zero_coefficient_left. ((forall pfc_index_nonempty_zero_coefficient_leftdiagonal. (exists pfa_gap_nonempty_zero_coefficient_leftdiagonalbound. pfa_gap_nonempty_zero_coefficient_leftdiagonalbound + S (pfc_index_nonempty_zero_coefficient_leftdiagonal) = (S (i))) -> exists pfc_value_nonempty_zero_coefficient_leftdiagonal. ((((exists ff_h_pfp_nonempty_zero_coefficient_leftdiagonalentry. ff_h_pfp_nonempty_zero_coefficient_leftdiagonalentry + S (pfc_value_nonempty_zero_coefficient_leftdiagonal) = S ((S (pfc_index_nonempty_zero_coefficient_leftdiagonal)) * pfc_terms_scale_nonempty_zero_coefficient_left)) /\ exists ff_q_pfp_nonempty_zero_coefficient_leftdiagonalentry. pfc_terms_code_nonempty_zero_coefficient_left = ff_q_pfp_nonempty_zero_coefficient_leftdiagonalentry * S ((S (pfc_index_nonempty_zero_coefficient_leftdiagonal)) * pfc_terms_scale_nonempty_zero_coefficient_left) + (pfc_value_nonempty_zero_coefficient_leftdiagonal))) /\ ((exists pfc_complement_nonempty_zero_coefficient_leftdiagonalterm pfc_left_nonempty_zero_coefficient_leftdiagonalterm pfc_right_nonempty_zero_coefficient_leftdiagonalterm. (((pfc_index_nonempty_zero_coefficient_leftdiagonal)+pfc_complement_nonempty_zero_coefficient_leftdiagonalterm=(i)) /\ ((((((exists pfa_gap_nonempty_zero_coefficient_leftdiagonaltermleftinside. pfa_gap_nonempty_zero_coefficient_leftdiagonaltermleftinside + S (pfc_index_nonempty_zero_coefficient_leftdiagonal) = (t+L)) /\ ((((exists ff_h_pfp_nonempty_zero_coefficient_leftdiagonaltermleftentry. ff_h_pfp_nonempty_zero_coefficient_leftdiagonaltermleftentry + S (pfc_left_nonempty_zero_coefficient_leftdiagonalterm) = S ((S (pfc_index_nonempty_zero_coefficient_leftdiagonal)) * AC)) /\ exists ff_q_pfp_nonempty_zero_coefficient_leftdiagonaltermleftentry. AB = ff_q_pfp_nonempty_zero_coefficient_leftdiagonaltermleftentry * S ((S (pfc_index_nonempty_zero_coefficient_leftdiagonal)) * AC) + (pfc_left_nonempty_zero_coefficient_leftdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_zero_coefficient_leftdiagonaltermleftoutside. pfc_gap_nonempty_zero_coefficient_leftdiagonaltermleftoutside+(t+L)=(pfc_index_nonempty_zero_coefficient_leftdiagonal)) /\ (((pfc_left_nonempty_zero_coefficient_leftdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_zero_coefficient_leftdiagonaltermrightinside. pfa_gap_nonempty_zero_coefficient_leftdiagonaltermrightinside + S (pfc_complement_nonempty_zero_coefficient_leftdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_nonempty_zero_coefficient_leftdiagonaltermrightentry. ff_h_pfp_nonempty_zero_coefficient_leftdiagonaltermrightentry + S (pfc_right_nonempty_zero_coefficient_leftdiagonalterm) = S ((S (pfc_complement_nonempty_zero_coefficient_leftdiagonalterm)) * bc)) /\ exists ff_q_pfp_nonempty_zero_coefficient_leftdiagonaltermrightentry. bb = ff_q_pfp_nonempty_zero_coefficient_leftdiagonaltermrightentry * S ((S (pfc_complement_nonempty_zero_coefficient_leftdiagonalterm)) * bc) + (pfc_right_nonempty_zero_coefficient_leftdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_zero_coefficient_leftdiagonaltermrightoutside. pfc_gap_nonempty_zero_coefficient_leftdiagonaltermrightoutside+(M)=(pfc_complement_nonempty_zero_coefficient_leftdiagonalterm)) /\ (((pfc_right_nonempty_zero_coefficient_leftdiagonalterm)=0))))) /\ (((pfc_value_nonempty_zero_coefficient_leftdiagonal)=pfc_left_nonempty_zero_coefficient_leftdiagonalterm*pfc_right_nonempty_zero_coefficient_leftdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_zero_coefficient_leftsum fs_v_pfc_nonempty_zero_coefficient_leftsum. ((((exists fs_h_pfc_nonempty_zero_coefficient_leftsum_body_start. fs_h_pfc_nonempty_zero_coefficient_leftsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_zero_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_leftsum_body_start. fs_u_pfc_nonempty_zero_coefficient_leftsum = fs_q_pfc_nonempty_zero_coefficient_leftsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_zero_coefficient_leftsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_zero_coefficient_leftsum_body_terminal. fs_h_pfc_nonempty_zero_coefficient_leftsum_body_terminal + S (pfc_natural_sum_nonempty_zero_coefficient_left) = S ((S (S (i))) * fs_v_pfc_nonempty_zero_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_leftsum_body_terminal. fs_u_pfc_nonempty_zero_coefficient_leftsum = fs_q_pfc_nonempty_zero_coefficient_leftsum_body_terminal * S ((S (S (i))) * fs_v_pfc_nonempty_zero_coefficient_leftsum) + (pfc_natural_sum_nonempty_zero_coefficient_left))) /\ forall fs_i_pfc_nonempty_zero_coefficient_leftsum_body_steps. (exists fs_lt_pfc_nonempty_zero_coefficient_leftsum_body_steps_bound. fs_lt_pfc_nonempty_zero_coefficient_leftsum_body_steps_bound + S fs_i_pfc_nonempty_zero_coefficient_leftsum_body_steps = S (i)) -> exists fs_a_pfc_nonempty_zero_coefficient_leftsum_body_steps fs_r_pfc_nonempty_zero_coefficient_leftsum_body_steps fs_s_pfc_nonempty_zero_coefficient_leftsum_body_steps. ((((exists fs_h_pfc_nonempty_zero_coefficient_leftsum_body_steps_summand. fs_h_pfc_nonempty_zero_coefficient_leftsum_body_steps_summand + S (fs_a_pfc_nonempty_zero_coefficient_leftsum_body_steps) = S ((S (fs_i_pfc_nonempty_zero_coefficient_leftsum_body_steps)) * pfc_terms_scale_nonempty_zero_coefficient_left)) /\ exists fs_q_pfc_nonempty_zero_coefficient_leftsum_body_steps_summand. pfc_terms_code_nonempty_zero_coefficient_left = fs_q_pfc_nonempty_zero_coefficient_leftsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_zero_coefficient_leftsum_body_steps)) * pfc_terms_scale_nonempty_zero_coefficient_left) + (fs_a_pfc_nonempty_zero_coefficient_leftsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_zero_coefficient_leftsum_body_steps_partial. fs_h_pfc_nonempty_zero_coefficient_leftsum_body_steps_partial + S (fs_r_pfc_nonempty_zero_coefficient_leftsum_body_steps) = S ((S (fs_i_pfc_nonempty_zero_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_leftsum_body_steps_partial. fs_u_pfc_nonempty_zero_coefficient_leftsum = fs_q_pfc_nonempty_zero_coefficient_leftsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_zero_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_leftsum) + (fs_r_pfc_nonempty_zero_coefficient_leftsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_zero_coefficient_leftsum_body_steps_successor. fs_h_pfc_nonempty_zero_coefficient_leftsum_body_steps_successor + S (fs_s_pfc_nonempty_zero_coefficient_leftsum_body_steps) = S ((S (S fs_i_pfc_nonempty_zero_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_zero_coefficient_leftsum_body_steps_successor. fs_u_pfc_nonempty_zero_coefficient_leftsum = fs_q_pfc_nonempty_zero_coefficient_leftsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_zero_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_zero_coefficient_leftsum) + (fs_s_pfc_nonempty_zero_coefficient_leftsum_body_steps))) /\ fs_s_pfc_nonempty_zero_coefficient_leftsum_body_steps = fs_r_pfc_nonempty_zero_coefficient_leftsum_body_steps + fs_a_pfc_nonempty_zero_coefficient_leftsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_zero_coefficient_leftresiduebound. pfa_gap_nonempty_zero_coefficient_leftresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_nonempty_zero_coefficient_leftresiduecongruence pfa_offset_right_nonempty_zero_coefficient_leftresiduecongruence. (pfc_natural_sum_nonempty_zero_coefficient_left) + (p) * pfa_offset_left_nonempty_zero_coefficient_leftresiduecongruence = (r) + (p) * pfa_offset_right_nonempty_zero_coefficient_leftresiduecongruence)))))))))))specialize hn_right_right_right (i)apply hn_right_right_rightspecialize le_trans (S i)specialize le_trans (t)specialize le_trans (K)apply le_transexact hirewrite hlengthspecialize le_add_right (t)specialize le_add_right (N)apply le_add_rightcases hvcases hv_witnesshave hzero : x=0specialize prime_field_convolution_coefficient_before_left_padding_left (p)specialize prime_field_convolution_coefficient_before_left_padding_left (ab)specialize prime_field_convolution_coefficient_before_left_padding_left (ac)specialize prime_field_convolution_coefficient_before_left_padding_left (L)specialize prime_field_convolution_coefficient_before_left_padding_left (bb)specialize prime_field_convolution_coefficient_before_left_padding_left (bc)specialize prime_field_convolution_coefficient_before_left_padding_left (M)specialize prime_field_convolution_coefficient_before_left_padding_left (AB)specialize prime_field_convolution_coefficient_before_left_padding_left (AC)specialize prime_field_convolution_coefficient_before_left_padding_left (t)specialize prime_field_convolution_coefficient_before_left_padding_left (i)specialize prime_field_convolution_coefficient_before_left_padding_left (x)apply prime_field_convolution_coefficient_before_left_padding_leftexact hpexact hpadexact hiexact hv_witness_rightrewrite hzero at hv_witness_leftrewrite hzero at hv_witness_leftexact hv_witness_leftintro iintro aintro hiintro hahave hcoefficient : exists pfc_terms_code_nonempty_original_coefficient_left pfc_terms_scale_nonempty_original_coefficient_left pfc_natural_sum_nonempty_original_coefficient_left. ((forall pfc_index_nonempty_original_coefficient_leftdiagonal. (exists pfa_gap_nonempty_original_coefficient_leftdiagonalbound. pfa_gap_nonempty_original_coefficient_leftdiagonalbound + S (pfc_index_nonempty_original_coefficient_leftdiagonal) = (S (i))) -> exists pfc_value_nonempty_original_coefficient_leftdiagonal. ((((exists ff_h_pfp_nonempty_original_coefficient_leftdiagonalentry. ff_h_pfp_nonempty_original_coefficient_leftdiagonalentry + S (pfc_value_nonempty_original_coefficient_leftdiagonal) = S ((S (pfc_index_nonempty_original_coefficient_leftdiagonal)) * pfc_terms_scale_nonempty_original_coefficient_left)) /\ exists ff_q_pfp_nonempty_original_coefficient_leftdiagonalentry. pfc_terms_code_nonempty_original_coefficient_left = ff_q_pfp_nonempty_original_coefficient_leftdiagonalentry * S ((S (pfc_index_nonempty_original_coefficient_leftdiagonal)) * pfc_terms_scale_nonempty_original_coefficient_left) + (pfc_value_nonempty_original_coefficient_leftdiagonal))) /\ ((exists pfc_complement_nonempty_original_coefficient_leftdiagonalterm pfc_left_nonempty_original_coefficient_leftdiagonalterm pfc_right_nonempty_original_coefficient_leftdiagonalterm. (((pfc_index_nonempty_original_coefficient_leftdiagonal)+pfc_complement_nonempty_original_coefficient_leftdiagonalterm=(i)) /\ ((((((exists pfa_gap_nonempty_original_coefficient_leftdiagonaltermleftinside. pfa_gap_nonempty_original_coefficient_leftdiagonaltermleftinside + S (pfc_index_nonempty_original_coefficient_leftdiagonal) = (L)) /\ ((((exists ff_h_pfp_nonempty_original_coefficient_leftdiagonaltermleftentry. ff_h_pfp_nonempty_original_coefficient_leftdiagonaltermleftentry + S (pfc_left_nonempty_original_coefficient_leftdiagonalterm) = S ((S (pfc_index_nonempty_original_coefficient_leftdiagonal)) * ac)) /\ exists ff_q_pfp_nonempty_original_coefficient_leftdiagonaltermleftentry. ab = ff_q_pfp_nonempty_original_coefficient_leftdiagonaltermleftentry * S ((S (pfc_index_nonempty_original_coefficient_leftdiagonal)) * ac) + (pfc_left_nonempty_original_coefficient_leftdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_original_coefficient_leftdiagonaltermleftoutside. pfc_gap_nonempty_original_coefficient_leftdiagonaltermleftoutside+(L)=(pfc_index_nonempty_original_coefficient_leftdiagonal)) /\ (((pfc_left_nonempty_original_coefficient_leftdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_original_coefficient_leftdiagonaltermrightinside. pfa_gap_nonempty_original_coefficient_leftdiagonaltermrightinside + S (pfc_complement_nonempty_original_coefficient_leftdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_nonempty_original_coefficient_leftdiagonaltermrightentry. ff_h_pfp_nonempty_original_coefficient_leftdiagonaltermrightentry + S (pfc_right_nonempty_original_coefficient_leftdiagonalterm) = S ((S (pfc_complement_nonempty_original_coefficient_leftdiagonalterm)) * bc)) /\ exists ff_q_pfp_nonempty_original_coefficient_leftdiagonaltermrightentry. bb = ff_q_pfp_nonempty_original_coefficient_leftdiagonaltermrightentry * S ((S (pfc_complement_nonempty_original_coefficient_leftdiagonalterm)) * bc) + (pfc_right_nonempty_original_coefficient_leftdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_original_coefficient_leftdiagonaltermrightoutside. pfc_gap_nonempty_original_coefficient_leftdiagonaltermrightoutside+(M)=(pfc_complement_nonempty_original_coefficient_leftdiagonalterm)) /\ (((pfc_right_nonempty_original_coefficient_leftdiagonalterm)=0))))) /\ (((pfc_value_nonempty_original_coefficient_leftdiagonal)=pfc_left_nonempty_original_coefficient_leftdiagonalterm*pfc_right_nonempty_original_coefficient_leftdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_original_coefficient_leftsum fs_v_pfc_nonempty_original_coefficient_leftsum. ((((exists fs_h_pfc_nonempty_original_coefficient_leftsum_body_start. fs_h_pfc_nonempty_original_coefficient_leftsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_original_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_leftsum_body_start. fs_u_pfc_nonempty_original_coefficient_leftsum = fs_q_pfc_nonempty_original_coefficient_leftsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_original_coefficient_leftsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_original_coefficient_leftsum_body_terminal. fs_h_pfc_nonempty_original_coefficient_leftsum_body_terminal + S (pfc_natural_sum_nonempty_original_coefficient_left) = S ((S (S (i))) * fs_v_pfc_nonempty_original_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_leftsum_body_terminal. fs_u_pfc_nonempty_original_coefficient_leftsum = fs_q_pfc_nonempty_original_coefficient_leftsum_body_terminal * S ((S (S (i))) * fs_v_pfc_nonempty_original_coefficient_leftsum) + (pfc_natural_sum_nonempty_original_coefficient_left))) /\ forall fs_i_pfc_nonempty_original_coefficient_leftsum_body_steps. (exists fs_lt_pfc_nonempty_original_coefficient_leftsum_body_steps_bound. fs_lt_pfc_nonempty_original_coefficient_leftsum_body_steps_bound + S fs_i_pfc_nonempty_original_coefficient_leftsum_body_steps = S (i)) -> exists fs_a_pfc_nonempty_original_coefficient_leftsum_body_steps fs_r_pfc_nonempty_original_coefficient_leftsum_body_steps fs_s_pfc_nonempty_original_coefficient_leftsum_body_steps. ((((exists fs_h_pfc_nonempty_original_coefficient_leftsum_body_steps_summand. fs_h_pfc_nonempty_original_coefficient_leftsum_body_steps_summand + S (fs_a_pfc_nonempty_original_coefficient_leftsum_body_steps) = S ((S (fs_i_pfc_nonempty_original_coefficient_leftsum_body_steps)) * pfc_terms_scale_nonempty_original_coefficient_left)) /\ exists fs_q_pfc_nonempty_original_coefficient_leftsum_body_steps_summand. pfc_terms_code_nonempty_original_coefficient_left = fs_q_pfc_nonempty_original_coefficient_leftsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_original_coefficient_leftsum_body_steps)) * pfc_terms_scale_nonempty_original_coefficient_left) + (fs_a_pfc_nonempty_original_coefficient_leftsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_original_coefficient_leftsum_body_steps_partial. fs_h_pfc_nonempty_original_coefficient_leftsum_body_steps_partial + S (fs_r_pfc_nonempty_original_coefficient_leftsum_body_steps) = S ((S (fs_i_pfc_nonempty_original_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_leftsum_body_steps_partial. fs_u_pfc_nonempty_original_coefficient_leftsum = fs_q_pfc_nonempty_original_coefficient_leftsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_original_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_leftsum) + (fs_r_pfc_nonempty_original_coefficient_leftsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_original_coefficient_leftsum_body_steps_successor. fs_h_pfc_nonempty_original_coefficient_leftsum_body_steps_successor + S (fs_s_pfc_nonempty_original_coefficient_leftsum_body_steps) = S ((S (S fs_i_pfc_nonempty_original_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_original_coefficient_leftsum_body_steps_successor. fs_u_pfc_nonempty_original_coefficient_leftsum = fs_q_pfc_nonempty_original_coefficient_leftsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_original_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_original_coefficient_leftsum) + (fs_s_pfc_nonempty_original_coefficient_leftsum_body_steps))) /\ fs_s_pfc_nonempty_original_coefficient_leftsum_body_steps = fs_r_pfc_nonempty_original_coefficient_leftsum_body_steps + fs_a_pfc_nonempty_original_coefficient_leftsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_original_coefficient_leftresiduebound. pfa_gap_nonempty_original_coefficient_leftresiduebound + S (a) = (p)) /\ ((exists pfa_offset_left_nonempty_original_coefficient_leftresiduecongruence pfa_offset_right_nonempty_original_coefficient_leftresiduecongruence. (pfc_natural_sum_nonempty_original_coefficient_left) + (p) * pfa_offset_left_nonempty_original_coefficient_leftresiduecongruence = (a) + (p) * pfa_offset_right_nonempty_original_coefficient_leftresiduecongruence))))))))specialize prime_field_convolution_prefix_entry (p)specialize prime_field_convolution_prefix_entry (ab)specialize prime_field_convolution_prefix_entry (ac)specialize prime_field_convolution_prefix_entry (L)specialize prime_field_convolution_prefix_entry (bb)specialize prime_field_convolution_prefix_entry (bc)specialize prime_field_convolution_prefix_entry (M)specialize prime_field_convolution_prefix_entry (cb)specialize prime_field_convolution_prefix_entry (cc)specialize prime_field_convolution_prefix_entry (N)specialize prime_field_convolution_prefix_entry (i)specialize prime_field_convolution_prefix_entry (a)apply prime_field_convolution_prefix_entryexact hc_right_right_rightexact hiexact hahave hv : exists r. ((((exists ff_h_pfp_nonempty_shifted_entry_left. ff_h_pfp_nonempty_shifted_entry_left + S (r) = S ((S (t+i)) * CC)) /\ exists ff_q_pfp_nonempty_shifted_entry_left. CB = ff_q_pfp_nonempty_shifted_entry_left * S ((S (t+i)) * CC) + (r))) /\ ((exists pfc_terms_code_nonempty_shifted_coefficient_left pfc_terms_scale_nonempty_shifted_coefficient_left pfc_natural_sum_nonempty_shifted_coefficient_left. ((forall pfc_index_nonempty_shifted_coefficient_leftdiagonal. (exists pfa_gap_nonempty_shifted_coefficient_leftdiagonalbound. pfa_gap_nonempty_shifted_coefficient_leftdiagonalbound + S (pfc_index_nonempty_shifted_coefficient_leftdiagonal) = (S (t+i))) -> exists pfc_value_nonempty_shifted_coefficient_leftdiagonal. ((((exists ff_h_pfp_nonempty_shifted_coefficient_leftdiagonalentry. ff_h_pfp_nonempty_shifted_coefficient_leftdiagonalentry + S (pfc_value_nonempty_shifted_coefficient_leftdiagonal) = S ((S (pfc_index_nonempty_shifted_coefficient_leftdiagonal)) * pfc_terms_scale_nonempty_shifted_coefficient_left)) /\ exists ff_q_pfp_nonempty_shifted_coefficient_leftdiagonalentry. pfc_terms_code_nonempty_shifted_coefficient_left = ff_q_pfp_nonempty_shifted_coefficient_leftdiagonalentry * S ((S (pfc_index_nonempty_shifted_coefficient_leftdiagonal)) * pfc_terms_scale_nonempty_shifted_coefficient_left) + (pfc_value_nonempty_shifted_coefficient_leftdiagonal))) /\ ((exists pfc_complement_nonempty_shifted_coefficient_leftdiagonalterm pfc_left_nonempty_shifted_coefficient_leftdiagonalterm pfc_right_nonempty_shifted_coefficient_leftdiagonalterm. (((pfc_index_nonempty_shifted_coefficient_leftdiagonal)+pfc_complement_nonempty_shifted_coefficient_leftdiagonalterm=(t+i)) /\ ((((((exists pfa_gap_nonempty_shifted_coefficient_leftdiagonaltermleftinside. pfa_gap_nonempty_shifted_coefficient_leftdiagonaltermleftinside + S (pfc_index_nonempty_shifted_coefficient_leftdiagonal) = (t+L)) /\ ((((exists ff_h_pfp_nonempty_shifted_coefficient_leftdiagonaltermleftentry. ff_h_pfp_nonempty_shifted_coefficient_leftdiagonaltermleftentry + S (pfc_left_nonempty_shifted_coefficient_leftdiagonalterm) = S ((S (pfc_index_nonempty_shifted_coefficient_leftdiagonal)) * AC)) /\ exists ff_q_pfp_nonempty_shifted_coefficient_leftdiagonaltermleftentry. AB = ff_q_pfp_nonempty_shifted_coefficient_leftdiagonaltermleftentry * S ((S (pfc_index_nonempty_shifted_coefficient_leftdiagonal)) * AC) + (pfc_left_nonempty_shifted_coefficient_leftdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_shifted_coefficient_leftdiagonaltermleftoutside. pfc_gap_nonempty_shifted_coefficient_leftdiagonaltermleftoutside+(t+L)=(pfc_index_nonempty_shifted_coefficient_leftdiagonal)) /\ (((pfc_left_nonempty_shifted_coefficient_leftdiagonalterm)=0))))) /\ ((((((exists pfa_gap_nonempty_shifted_coefficient_leftdiagonaltermrightinside. pfa_gap_nonempty_shifted_coefficient_leftdiagonaltermrightinside + S (pfc_complement_nonempty_shifted_coefficient_leftdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_nonempty_shifted_coefficient_leftdiagonaltermrightentry. ff_h_pfp_nonempty_shifted_coefficient_leftdiagonaltermrightentry + S (pfc_right_nonempty_shifted_coefficient_leftdiagonalterm) = S ((S (pfc_complement_nonempty_shifted_coefficient_leftdiagonalterm)) * bc)) /\ exists ff_q_pfp_nonempty_shifted_coefficient_leftdiagonaltermrightentry. bb = ff_q_pfp_nonempty_shifted_coefficient_leftdiagonaltermrightentry * S ((S (pfc_complement_nonempty_shifted_coefficient_leftdiagonalterm)) * bc) + (pfc_right_nonempty_shifted_coefficient_leftdiagonalterm)))))) \/ (((exists pfc_gap_nonempty_shifted_coefficient_leftdiagonaltermrightoutside. pfc_gap_nonempty_shifted_coefficient_leftdiagonaltermrightoutside+(M)=(pfc_complement_nonempty_shifted_coefficient_leftdiagonalterm)) /\ (((pfc_right_nonempty_shifted_coefficient_leftdiagonalterm)=0))))) /\ (((pfc_value_nonempty_shifted_coefficient_leftdiagonal)=pfc_left_nonempty_shifted_coefficient_leftdiagonalterm*pfc_right_nonempty_shifted_coefficient_leftdiagonalterm))))))))))) /\ (((exists fs_u_pfc_nonempty_shifted_coefficient_leftsum fs_v_pfc_nonempty_shifted_coefficient_leftsum. ((((exists fs_h_pfc_nonempty_shifted_coefficient_leftsum_body_start. fs_h_pfc_nonempty_shifted_coefficient_leftsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_nonempty_shifted_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_leftsum_body_start. fs_u_pfc_nonempty_shifted_coefficient_leftsum = fs_q_pfc_nonempty_shifted_coefficient_leftsum_body_start * S ((S (0)) * fs_v_pfc_nonempty_shifted_coefficient_leftsum) + (0))) /\ ((((exists fs_h_pfc_nonempty_shifted_coefficient_leftsum_body_terminal. fs_h_pfc_nonempty_shifted_coefficient_leftsum_body_terminal + S (pfc_natural_sum_nonempty_shifted_coefficient_left) = S ((S (S (t+i))) * fs_v_pfc_nonempty_shifted_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_leftsum_body_terminal. fs_u_pfc_nonempty_shifted_coefficient_leftsum = fs_q_pfc_nonempty_shifted_coefficient_leftsum_body_terminal * S ((S (S (t+i))) * fs_v_pfc_nonempty_shifted_coefficient_leftsum) + (pfc_natural_sum_nonempty_shifted_coefficient_left))) /\ forall fs_i_pfc_nonempty_shifted_coefficient_leftsum_body_steps. (exists fs_lt_pfc_nonempty_shifted_coefficient_leftsum_body_steps_bound. fs_lt_pfc_nonempty_shifted_coefficient_leftsum_body_steps_bound + S fs_i_pfc_nonempty_shifted_coefficient_leftsum_body_steps = S (t+i)) -> exists fs_a_pfc_nonempty_shifted_coefficient_leftsum_body_steps fs_r_pfc_nonempty_shifted_coefficient_leftsum_body_steps fs_s_pfc_nonempty_shifted_coefficient_leftsum_body_steps. ((((exists fs_h_pfc_nonempty_shifted_coefficient_leftsum_body_steps_summand. fs_h_pfc_nonempty_shifted_coefficient_leftsum_body_steps_summand + S (fs_a_pfc_nonempty_shifted_coefficient_leftsum_body_steps) = S ((S (fs_i_pfc_nonempty_shifted_coefficient_leftsum_body_steps)) * pfc_terms_scale_nonempty_shifted_coefficient_left)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_leftsum_body_steps_summand. pfc_terms_code_nonempty_shifted_coefficient_left = fs_q_pfc_nonempty_shifted_coefficient_leftsum_body_steps_summand * S ((S (fs_i_pfc_nonempty_shifted_coefficient_leftsum_body_steps)) * pfc_terms_scale_nonempty_shifted_coefficient_left) + (fs_a_pfc_nonempty_shifted_coefficient_leftsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_shifted_coefficient_leftsum_body_steps_partial. fs_h_pfc_nonempty_shifted_coefficient_leftsum_body_steps_partial + S (fs_r_pfc_nonempty_shifted_coefficient_leftsum_body_steps) = S ((S (fs_i_pfc_nonempty_shifted_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_leftsum_body_steps_partial. fs_u_pfc_nonempty_shifted_coefficient_leftsum = fs_q_pfc_nonempty_shifted_coefficient_leftsum_body_steps_partial * S ((S (fs_i_pfc_nonempty_shifted_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_leftsum) + (fs_r_pfc_nonempty_shifted_coefficient_leftsum_body_steps))) /\ ((((exists fs_h_pfc_nonempty_shifted_coefficient_leftsum_body_steps_successor. fs_h_pfc_nonempty_shifted_coefficient_leftsum_body_steps_successor + S (fs_s_pfc_nonempty_shifted_coefficient_leftsum_body_steps) = S ((S (S fs_i_pfc_nonempty_shifted_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_leftsum)) /\ exists fs_q_pfc_nonempty_shifted_coefficient_leftsum_body_steps_successor. fs_u_pfc_nonempty_shifted_coefficient_leftsum = fs_q_pfc_nonempty_shifted_coefficient_leftsum_body_steps_successor * S ((S (S fs_i_pfc_nonempty_shifted_coefficient_leftsum_body_steps)) * fs_v_pfc_nonempty_shifted_coefficient_leftsum) + (fs_s_pfc_nonempty_shifted_coefficient_leftsum_body_steps))) /\ fs_s_pfc_nonempty_shifted_coefficient_leftsum_body_steps = fs_r_pfc_nonempty_shifted_coefficient_leftsum_body_steps + fs_a_pfc_nonempty_shifted_coefficient_leftsum_body_steps)))))) /\ ((((exists pfa_gap_nonempty_shifted_coefficient_leftresiduebound. pfa_gap_nonempty_shifted_coefficient_leftresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_nonempty_shifted_coefficient_leftresiduecongruence pfa_offset_right_nonempty_shifted_coefficient_leftresiduecongruence. (pfc_natural_sum_nonempty_shifted_coefficient_left) + (p) * pfa_offset_left_nonempty_shifted_coefficient_leftresiduecongruence = (r) + (p) * pfa_offset_right_nonempty_shifted_coefficient_leftresiduecongruence)))))))))))specialize hn_right_right_right (t+i)apply hn_right_right_rightrewrite hlengthspecialize matrix_recursive_lt_add_left (i)specialize matrix_recursive_lt_add_left (N)specialize matrix_recursive_lt_add_left (t)apply matrix_recursive_lt_add_leftexact hicases hvcases hv_witnesshave heq : x=aspecialize prime_field_convolution_coefficient_functional (p)specialize prime_field_convolution_coefficient_functional (AB)specialize prime_field_convolution_coefficient_functional (AC)specialize prime_field_convolution_coefficient_functional (t+L)specialize prime_field_convolution_coefficient_functional (bb)specialize prime_field_convolution_coefficient_functional (bc)specialize prime_field_convolution_coefficient_functional (M)specialize prime_field_convolution_coefficient_functional (t+i)specialize prime_field_convolution_coefficient_functional (x)specialize prime_field_convolution_coefficient_functional (a)apply prime_field_convolution_coefficient_functionalexact hv_witness_rightspecialize prime_field_convolution_coefficient_left_padding_left (p)specialize prime_field_convolution_coefficient_left_padding_left (ab)specialize prime_field_convolution_coefficient_left_padding_left (ac)specialize prime_field_convolution_coefficient_left_padding_left (L)specialize prime_field_convolution_coefficient_left_padding_left (bb)specialize prime_field_convolution_coefficient_left_padding_left (bc)specialize prime_field_convolution_coefficient_left_padding_left (M)specialize prime_field_convolution_coefficient_left_padding_left (AB)specialize prime_field_convolution_coefficient_left_padding_left (AC)specialize prime_field_convolution_coefficient_left_padding_left (t)specialize prime_field_convolution_coefficient_left_padding_left (i)specialize prime_field_convolution_coefficient_left_padding_left (a)apply prime_field_convolution_coefficient_left_padding_leftexact hpadexact hcoefficientrewrite heq at hv_witness_leftrewrite heq at hv_witness_leftexact hv_witness_left
prime_field_polynomial_convolution_left_padding_equivalent_left · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N AB AC t CB CC K. (~(p=0)) -> (((forall pfp_repeat_index_product_factor_padding_leftzeros. (exists pfa_gap_product_factor_padding_leftzerosindex. pfa_gap_product_factor_padding_leftzerosindex + S (pfp_repeat_index_product_factor_padding_leftzeros) = (t)) -> (((exists ff_h_pfp_product_factor_padding_leftzerosentry. ff_h_pfp_product_factor_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_product_factor_padding_leftzeros)) * AC)) /\ exists ff_q_pfp_product_factor_padding_leftzerosentry. AB = ff_q_pfp_product_factor_padding_leftzerosentry * S ((S (pfp_repeat_index_product_factor_padding_leftzeros)) * AC) + (0)))) /\ ((forall pfrep_index_product_factor_padding_left pfrep_value_product_factor_padding_left. (exists pfa_gap_product_factor_padding_leftbound. pfa_gap_product_factor_padding_leftbound + S (pfrep_index_product_factor_padding_left) = (L)) -> (((exists ff_h_pfp_product_factor_padding_leftinput. ff_h_pfp_product_factor_padding_leftinput + S (pfrep_value_product_factor_padding_left) = S ((S (pfrep_index_product_factor_padding_left)) * ac)) /\ exists ff_q_pfp_product_factor_padding_leftinput. ab = ff_q_pfp_product_factor_padding_leftinput * S ((S (pfrep_index_product_factor_padding_left)) * ac) + (pfrep_value_product_factor_padding_left))) -> (((exists ff_h_pfp_product_factor_padding_leftoutput. ff_h_pfp_product_factor_padding_leftoutput + S (pfrep_value_product_factor_padding_left) = S ((S ((t)+pfrep_index_product_factor_padding_left)) * AC)) /\ exists ff_q_pfp_product_factor_padding_leftoutput. AB = ff_q_pfp_product_factor_padding_leftoutput * S ((S ((t)+pfrep_index_product_factor_padding_left)) * AC) + (pfrep_value_product_factor_padding_left))))))) -> (((forall fom_index_pfp_product_original_leftleft. (exists fom_gap_pfp_product_original_leftleft_index_bound. fom_gap_pfp_product_original_leftleft_index_bound + S (fom_index_pfp_product_original_leftleft) = L) -> exists fom_value_pfp_product_original_leftleft. ((((exists fom_beta_height_pfp_product_original_leftleft_entry. fom_beta_height_pfp_product_original_leftleft_entry + S (fom_value_pfp_product_original_leftleft) = S ((S (fom_index_pfp_product_original_leftleft)) * ac)) /\ exists fom_beta_quotient_pfp_product_original_leftleft_entry. ab = fom_beta_quotient_pfp_product_original_leftleft_entry * S ((S (fom_index_pfp_product_original_leftleft)) * ac) + (fom_value_pfp_product_original_leftleft))) /\ (exists fom_gap_pfp_product_original_leftleft_value_bound. fom_gap_pfp_product_original_leftleft_value_bound + S (fom_value_pfp_product_original_leftleft) = p))) /\ (((forall fom_index_pfp_product_original_leftright. (exists fom_gap_pfp_product_original_leftright_index_bound. fom_gap_pfp_product_original_leftright_index_bound + S (fom_index_pfp_product_original_leftright) = M) -> exists fom_value_pfp_product_original_leftright. ((((exists fom_beta_height_pfp_product_original_leftright_entry. fom_beta_height_pfp_product_original_leftright_entry + S (fom_value_pfp_product_original_leftright) = S ((S (fom_index_pfp_product_original_leftright)) * bc)) /\ exists fom_beta_quotient_pfp_product_original_leftright_entry. bb = fom_beta_quotient_pfp_product_original_leftright_entry * S ((S (fom_index_pfp_product_original_leftright)) * bc) + (fom_value_pfp_product_original_leftright))) /\ (exists fom_gap_pfp_product_original_leftright_value_bound. fom_gap_pfp_product_original_leftright_value_bound + S (fom_value_pfp_product_original_leftright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_product_original_leftcoefficients. (exists pfa_gap_product_original_leftcoefficientsbound. pfa_gap_product_original_leftcoefficientsbound + S (pfc_index_product_original_leftcoefficients) = (N)) -> exists pfc_value_product_original_leftcoefficients. ((((exists ff_h_pfp_product_original_leftcoefficientsentry. ff_h_pfp_product_original_leftcoefficientsentry + S (pfc_value_product_original_leftcoefficients) = S ((S (pfc_index_product_original_leftcoefficients)) * cc)) /\ exists ff_q_pfp_product_original_leftcoefficientsentry. cb = ff_q_pfp_product_original_leftcoefficientsentry * S ((S (pfc_index_product_original_leftcoefficients)) * cc) + (pfc_value_product_original_leftcoefficients))) /\ ((exists pfc_terms_code_product_original_leftcoefficientscoefficient pfc_terms_scale_product_original_leftcoefficientscoefficient pfc_natural_sum_product_original_leftcoefficientscoefficient. ((forall pfc_index_product_original_leftcoefficientscoefficientdiagonal. (exists pfa_gap_product_original_leftcoefficientscoefficientdiagonalbound. pfa_gap_product_original_leftcoefficientscoefficientdiagonalbound + S (pfc_index_product_original_leftcoefficientscoefficientdiagonal) = (S (pfc_index_product_original_leftcoefficients))) -> exists pfc_value_product_original_leftcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_product_original_leftcoefficientscoefficientdiagonalentry. ff_h_pfp_product_original_leftcoefficientscoefficientdiagonalentry + S (pfc_value_product_original_leftcoefficientscoefficientdiagonal) = S ((S (pfc_index_product_original_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_original_leftcoefficientscoefficient)) /\ exists ff_q_pfp_product_original_leftcoefficientscoefficientdiagonalentry. pfc_terms_code_product_original_leftcoefficientscoefficient = ff_q_pfp_product_original_leftcoefficientscoefficientdiagonalentry * S ((S (pfc_index_product_original_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_original_leftcoefficientscoefficient) + (pfc_value_product_original_leftcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm pfc_left_product_original_leftcoefficientscoefficientdiagonalterm pfc_right_product_original_leftcoefficientscoefficientdiagonalterm. (((pfc_index_product_original_leftcoefficientscoefficientdiagonal)+pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm=(pfc_index_product_original_leftcoefficients)) /\ ((((((exists pfa_gap_product_original_leftcoefficientscoefficientdiagonaltermleftinside. pfa_gap_product_original_leftcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_product_original_leftcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_product_original_leftcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_product_original_leftcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_product_original_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_product_original_leftcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_product_original_leftcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_product_original_leftcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_product_original_leftcoefficientscoefficientdiagonal)) * ac) + (pfc_left_product_original_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_original_leftcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_product_original_leftcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_product_original_leftcoefficientscoefficientdiagonal)) /\ (((pfc_left_product_original_leftcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_product_original_leftcoefficientscoefficientdiagonaltermrightinside. pfa_gap_product_original_leftcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_product_original_leftcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_product_original_leftcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_product_original_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_product_original_leftcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_product_original_leftcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_product_original_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_original_leftcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_product_original_leftcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_product_original_leftcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_product_original_leftcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_product_original_leftcoefficientscoefficientdiagonal)=pfc_left_product_original_leftcoefficientscoefficientdiagonalterm*pfc_right_product_original_leftcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_product_original_leftcoefficientscoefficientsum fs_v_pfc_product_original_leftcoefficientscoefficientsum. ((((exists fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_start. fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_start. fs_u_pfc_product_original_leftcoefficientscoefficientsum = fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_terminal. fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_product_original_leftcoefficientscoefficient) = S ((S (S (pfc_index_product_original_leftcoefficients))) * fs_v_pfc_product_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_terminal. fs_u_pfc_product_original_leftcoefficientscoefficientsum = fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_product_original_leftcoefficients))) * fs_v_pfc_product_original_leftcoefficientscoefficientsum) + (pfc_natural_sum_product_original_leftcoefficientscoefficient))) /\ forall fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_product_original_leftcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_product_original_leftcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps = S (pfc_index_product_original_leftcoefficients)) -> exists fs_a_pfc_product_original_leftcoefficientscoefficientsum_body_steps fs_r_pfc_product_original_leftcoefficientscoefficientsum_body_steps fs_s_pfc_product_original_leftcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_product_original_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_original_leftcoefficientscoefficient)) /\ exists fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_product_original_leftcoefficientscoefficient = fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_original_leftcoefficientscoefficient) + (fs_a_pfc_product_original_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_product_original_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_product_original_leftcoefficientscoefficientsum = fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum) + (fs_r_pfc_product_original_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_product_original_leftcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_product_original_leftcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_product_original_leftcoefficientscoefficientsum = fs_q_pfc_product_original_leftcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_product_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_original_leftcoefficientscoefficientsum) + (fs_s_pfc_product_original_leftcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_product_original_leftcoefficientscoefficientsum_body_steps = fs_r_pfc_product_original_leftcoefficientscoefficientsum_body_steps + fs_a_pfc_product_original_leftcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_product_original_leftcoefficientscoefficientresiduebound. pfa_gap_product_original_leftcoefficientscoefficientresiduebound + S (pfc_value_product_original_leftcoefficients) = (p)) /\ ((exists pfa_offset_left_product_original_leftcoefficientscoefficientresiduecongruence pfa_offset_right_product_original_leftcoefficientscoefficientresiduecongruence. (pfc_natural_sum_product_original_leftcoefficientscoefficient) + (p) * pfa_offset_left_product_original_leftcoefficientscoefficientresiduecongruence = (pfc_value_product_original_leftcoefficients) + (p) * pfa_offset_right_product_original_leftcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_product_padded_leftleft. (exists fom_gap_pfp_product_padded_leftleft_index_bound. fom_gap_pfp_product_padded_leftleft_index_bound + S (fom_index_pfp_product_padded_leftleft) = t+L) -> exists fom_value_pfp_product_padded_leftleft. ((((exists fom_beta_height_pfp_product_padded_leftleft_entry. fom_beta_height_pfp_product_padded_leftleft_entry + S (fom_value_pfp_product_padded_leftleft) = S ((S (fom_index_pfp_product_padded_leftleft)) * AC)) /\ exists fom_beta_quotient_pfp_product_padded_leftleft_entry. AB = fom_beta_quotient_pfp_product_padded_leftleft_entry * S ((S (fom_index_pfp_product_padded_leftleft)) * AC) + (fom_value_pfp_product_padded_leftleft))) /\ (exists fom_gap_pfp_product_padded_leftleft_value_bound. fom_gap_pfp_product_padded_leftleft_value_bound + S (fom_value_pfp_product_padded_leftleft) = p))) /\ (((forall fom_index_pfp_product_padded_leftright. (exists fom_gap_pfp_product_padded_leftright_index_bound. fom_gap_pfp_product_padded_leftright_index_bound + S (fom_index_pfp_product_padded_leftright) = M) -> exists fom_value_pfp_product_padded_leftright. ((((exists fom_beta_height_pfp_product_padded_leftright_entry. fom_beta_height_pfp_product_padded_leftright_entry + S (fom_value_pfp_product_padded_leftright) = S ((S (fom_index_pfp_product_padded_leftright)) * bc)) /\ exists fom_beta_quotient_pfp_product_padded_leftright_entry. bb = fom_beta_quotient_pfp_product_padded_leftright_entry * S ((S (fom_index_pfp_product_padded_leftright)) * bc) + (fom_value_pfp_product_padded_leftright))) /\ (exists fom_gap_pfp_product_padded_leftright_value_bound. fom_gap_pfp_product_padded_leftright_value_bound + S (fom_value_pfp_product_padded_leftright) = p))) /\ (((((((t+L)=0 \/ (M)=0) /\ (((K)=0)))) \/ (((~((t+L)=0)) /\ (((~((M)=0)) /\ (((t+L)+(M)=S (K)))))))) /\ ((forall pfc_index_product_padded_leftcoefficients. (exists pfa_gap_product_padded_leftcoefficientsbound. pfa_gap_product_padded_leftcoefficientsbound + S (pfc_index_product_padded_leftcoefficients) = (K)) -> exists pfc_value_product_padded_leftcoefficients. ((((exists ff_h_pfp_product_padded_leftcoefficientsentry. ff_h_pfp_product_padded_leftcoefficientsentry + S (pfc_value_product_padded_leftcoefficients) = S ((S (pfc_index_product_padded_leftcoefficients)) * CC)) /\ exists ff_q_pfp_product_padded_leftcoefficientsentry. CB = ff_q_pfp_product_padded_leftcoefficientsentry * S ((S (pfc_index_product_padded_leftcoefficients)) * CC) + (pfc_value_product_padded_leftcoefficients))) /\ ((exists pfc_terms_code_product_padded_leftcoefficientscoefficient pfc_terms_scale_product_padded_leftcoefficientscoefficient pfc_natural_sum_product_padded_leftcoefficientscoefficient. ((forall pfc_index_product_padded_leftcoefficientscoefficientdiagonal. (exists pfa_gap_product_padded_leftcoefficientscoefficientdiagonalbound. pfa_gap_product_padded_leftcoefficientscoefficientdiagonalbound + S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal) = (S (pfc_index_product_padded_leftcoefficients))) -> exists pfc_value_product_padded_leftcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonalentry. ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonalentry + S (pfc_value_product_padded_leftcoefficientscoefficientdiagonal) = S ((S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_padded_leftcoefficientscoefficient)) /\ exists ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonalentry. pfc_terms_code_product_padded_leftcoefficientscoefficient = ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonalentry * S ((S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_product_padded_leftcoefficientscoefficient) + (pfc_value_product_padded_leftcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm pfc_left_product_padded_leftcoefficientscoefficientdiagonalterm pfc_right_product_padded_leftcoefficientscoefficientdiagonalterm. (((pfc_index_product_padded_leftcoefficientscoefficientdiagonal)+pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm=(pfc_index_product_padded_leftcoefficients)) /\ ((((((exists pfa_gap_product_padded_leftcoefficientscoefficientdiagonaltermleftinside. pfa_gap_product_padded_leftcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal) = (t+L)) /\ ((((exists ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_product_padded_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal)) * AC)) /\ exists ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonaltermleftentry. AB = ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_product_padded_leftcoefficientscoefficientdiagonal)) * AC) + (pfc_left_product_padded_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_padded_leftcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_product_padded_leftcoefficientscoefficientdiagonaltermleftoutside+(t+L)=(pfc_index_product_padded_leftcoefficientscoefficientdiagonal)) /\ (((pfc_left_product_padded_leftcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_product_padded_leftcoefficientscoefficientdiagonaltermrightinside. pfa_gap_product_padded_leftcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_product_padded_leftcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_product_padded_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_product_padded_leftcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_product_padded_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_product_padded_leftcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_product_padded_leftcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_product_padded_leftcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_product_padded_leftcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_product_padded_leftcoefficientscoefficientdiagonal)=pfc_left_product_padded_leftcoefficientscoefficientdiagonalterm*pfc_right_product_padded_leftcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_product_padded_leftcoefficientscoefficientsum fs_v_pfc_product_padded_leftcoefficientscoefficientsum. ((((exists fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_start. fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_start. fs_u_pfc_product_padded_leftcoefficientscoefficientsum = fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_terminal. fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_product_padded_leftcoefficientscoefficient) = S ((S (S (pfc_index_product_padded_leftcoefficients))) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_terminal. fs_u_pfc_product_padded_leftcoefficientscoefficientsum = fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_product_padded_leftcoefficients))) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum) + (pfc_natural_sum_product_padded_leftcoefficientscoefficient))) /\ forall fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps = S (pfc_index_product_padded_leftcoefficients)) -> exists fs_a_pfc_product_padded_leftcoefficientscoefficientsum_body_steps fs_r_pfc_product_padded_leftcoefficientscoefficientsum_body_steps fs_s_pfc_product_padded_leftcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_product_padded_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_padded_leftcoefficientscoefficient)) /\ exists fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_product_padded_leftcoefficientscoefficient = fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_product_padded_leftcoefficientscoefficient) + (fs_a_pfc_product_padded_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_product_padded_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_product_padded_leftcoefficientscoefficientsum = fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum) + (fs_r_pfc_product_padded_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_product_padded_leftcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_product_padded_leftcoefficientscoefficientsum = fs_q_pfc_product_padded_leftcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_product_padded_leftcoefficientscoefficientsum) + (fs_s_pfc_product_padded_leftcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_product_padded_leftcoefficientscoefficientsum_body_steps = fs_r_pfc_product_padded_leftcoefficientscoefficientsum_body_steps + fs_a_pfc_product_padded_leftcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_product_padded_leftcoefficientscoefficientresiduebound. pfa_gap_product_padded_leftcoefficientscoefficientresiduebound + S (pfc_value_product_padded_leftcoefficients) = (p)) /\ ((exists pfa_offset_left_product_padded_leftcoefficientscoefficientresiduecongruence pfa_offset_right_product_padded_leftcoefficientscoefficientresiduecongruence. (pfc_natural_sum_product_padded_leftcoefficientscoefficient) + (p) * pfa_offset_left_product_padded_leftcoefficientscoefficientresiduecongruence = (pfc_value_product_padded_leftcoefficients) + (p) * pfa_offset_right_product_padded_leftcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfrep_power_product_equivalent_left pfrep_left_product_equivalent_left pfrep_right_product_equivalent_left. ((exists pfrep_position_product_equivalent_leftfirst. ((pfrep_position_product_equivalent_leftfirst+S (pfrep_power_product_equivalent_left)=(N)) /\ ((((exists ff_h_pfp_product_equivalent_leftfirstentry. ff_h_pfp_product_equivalent_leftfirstentry + S (pfrep_left_product_equivalent_left) = S ((S (pfrep_position_product_equivalent_leftfirst)) * cc)) /\ exists ff_q_pfp_product_equivalent_leftfirstentry. cb = ff_q_pfp_product_equivalent_leftfirstentry * S ((S (pfrep_position_product_equivalent_leftfirst)) * cc) + (pfrep_left_product_equivalent_left)))))) \/ (((exists pfrep_gap_product_equivalent_leftfirstoutside. pfrep_gap_product_equivalent_leftfirstoutside+(N)=(pfrep_power_product_equivalent_left)) /\ (((pfrep_left_product_equivalent_left)=0))))) -> ((exists pfrep_position_product_equivalent_leftsecond. ((pfrep_position_product_equivalent_leftsecond+S (pfrep_power_product_equivalent_left)=(K)) /\ ((((exists ff_h_pfp_product_equivalent_leftsecondentry. ff_h_pfp_product_equivalent_leftsecondentry + S (pfrep_right_product_equivalent_left) = S ((S (pfrep_position_product_equivalent_leftsecond)) * CC)) /\ exists ff_q_pfp_product_equivalent_leftsecondentry. CB = ff_q_pfp_product_equivalent_leftsecondentry * S ((S (pfrep_position_product_equivalent_leftsecond)) * CC) + (pfrep_right_product_equivalent_left)))))) \/ (((exists pfrep_gap_product_equivalent_leftsecondoutside. pfrep_gap_product_equivalent_leftsecondoutside+(K)=(pfrep_power_product_equivalent_left)) /\ (((pfrep_right_product_equivalent_left)=0))))) -> pfrep_left_product_equivalent_left=pfrep_right_product_equivalent_left)
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro ABintro ACintro tintro CBintro CCintro Kintro hpintro hpadintro hcintro hnhave hL : L=0 \/ ~(L=0)specialize eq_decidable (L)specialize eq_decidable (0)apply eq_decidablecases hLhave hz : forall pfp_repeat_index_empty_factor_zero_leftleft. (exists pfa_gap_empty_factor_zero_leftleftindex. pfa_gap_empty_factor_zero_leftleftindex + S (pfp_repeat_index_empty_factor_zero_leftleft) = (L)) -> (((exists ff_h_pfp_empty_factor_zero_leftleftentry. ff_h_pfp_empty_factor_zero_leftleftentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_leftleft)) * ac)) /\ exists ff_q_pfp_empty_factor_zero_leftleftentry. ab = ff_q_pfp_empty_factor_zero_leftleftentry * S ((S (pfp_repeat_index_empty_factor_zero_leftleft)) * ac) + (0)))intro jintro hjrewrite hL_left at hjexfalsospecialize matrix_rank_no_index_below_zero (j)apply matrix_rank_no_index_below_zeroexact hjhave hc0 : forall pfp_repeat_index_empty_original_product_leftleft. (exists pfa_gap_empty_original_product_leftleftindex. pfa_gap_empty_original_product_leftleftindex + S (pfp_repeat_index_empty_original_product_leftleft) = (N)) -> (((exists ff_h_pfp_empty_original_product_leftleftentry. ff_h_pfp_empty_original_product_leftleftentry + S (0) = S ((S (pfp_repeat_index_empty_original_product_leftleft)) * cc)) /\ exists ff_q_pfp_empty_original_product_leftleftentry. cb = ff_q_pfp_empty_original_product_leftleftentry * S ((S (pfp_repeat_index_empty_original_product_leftleft)) * cc) + (0)))specialize prime_field_polynomial_convolution_zero_left (p)specialize prime_field_polynomial_convolution_zero_left (ab)specialize prime_field_polynomial_convolution_zero_left (ac)specialize prime_field_polynomial_convolution_zero_left (L)specialize prime_field_polynomial_convolution_zero_left (bb)specialize prime_field_polynomial_convolution_zero_left (bc)specialize prime_field_polynomial_convolution_zero_left (M)specialize prime_field_polynomial_convolution_zero_left (cb)specialize prime_field_polynomial_convolution_zero_left (cc)specialize prime_field_polynomial_convolution_zero_left (N)apply prime_field_polynomial_convolution_zero_leftexact hpexact hzexact hchave hn0 : forall pfp_repeat_index_empty_padded_product_leftleft. (exists pfa_gap_empty_padded_product_leftleftindex. pfa_gap_empty_padded_product_leftleftindex + S (pfp_repeat_index_empty_padded_product_leftleft) = (K)) -> (((exists ff_h_pfp_empty_padded_product_leftleftentry. ff_h_pfp_empty_padded_product_leftleftentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_leftleft)) * CC)) /\ exists ff_q_pfp_empty_padded_product_leftleftentry. CB = ff_q_pfp_empty_padded_product_leftleftentry * S ((S (pfp_repeat_index_empty_padded_product_leftleft)) * CC) + (0)))specialize prime_field_polynomial_convolution_zero_left (p)specialize prime_field_polynomial_convolution_zero_left (AB)specialize prime_field_polynomial_convolution_zero_left (AC)specialize prime_field_polynomial_convolution_zero_left (t+L)specialize prime_field_polynomial_convolution_zero_left (bb)specialize prime_field_polynomial_convolution_zero_left (bc)specialize prime_field_polynomial_convolution_zero_left (M)specialize prime_field_polynomial_convolution_zero_left (CB)specialize prime_field_polynomial_convolution_zero_left (CC)specialize prime_field_polynomial_convolution_zero_left (K)apply prime_field_polynomial_convolution_zero_leftexact hpspecialize polynomial_left_pad_zero_prefix (ab)specialize polynomial_left_pad_zero_prefix (ac)specialize polynomial_left_pad_zero_prefix (L)specialize polynomial_left_pad_zero_prefix (t)specialize polynomial_left_pad_zero_prefix (AB)specialize polynomial_left_pad_zero_prefix (AC)apply polynomial_left_pad_zero_prefixexact hzexact hpadexact hnhave hec : forall pfrep_power_empty_first_equivalence_leftleft pfrep_left_empty_first_equivalence_leftleft pfrep_right_empty_first_equivalence_leftleft. ((exists pfrep_position_empty_first_equivalence_leftleftfirst. ((pfrep_position_empty_first_equivalence_leftleftfirst+S (pfrep_power_empty_first_equivalence_leftleft)=(N)) /\ ((((exists ff_h_pfp_empty_first_equivalence_leftleftfirstentry. ff_h_pfp_empty_first_equivalence_leftleftfirstentry + S (pfrep_left_empty_first_equivalence_leftleft) = S ((S (pfrep_position_empty_first_equivalence_leftleftfirst)) * cc)) /\ exists ff_q_pfp_empty_first_equivalence_leftleftfirstentry. cb = ff_q_pfp_empty_first_equivalence_leftleftfirstentry * S ((S (pfrep_position_empty_first_equivalence_leftleftfirst)) * cc) + (pfrep_left_empty_first_equivalence_leftleft)))))) \/ (((exists pfrep_gap_empty_first_equivalence_leftleftfirstoutside. pfrep_gap_empty_first_equivalence_leftleftfirstoutside+(N)=(pfrep_power_empty_first_equivalence_leftleft)) /\ (((pfrep_left_empty_first_equivalence_leftleft)=0))))) -> ((exists pfrep_position_empty_first_equivalence_leftleftsecond. ((pfrep_position_empty_first_equivalence_leftleftsecond+S (pfrep_power_empty_first_equivalence_leftleft)=(0)) /\ ((((exists ff_h_pfp_empty_first_equivalence_leftleftsecondentry. ff_h_pfp_empty_first_equivalence_leftleftsecondentry + S (pfrep_right_empty_first_equivalence_leftleft) = S ((S (pfrep_position_empty_first_equivalence_leftleftsecond)) * 0)) /\ exists ff_q_pfp_empty_first_equivalence_leftleftsecondentry. 0 = ff_q_pfp_empty_first_equivalence_leftleftsecondentry * S ((S (pfrep_position_empty_first_equivalence_leftleftsecond)) * 0) + (pfrep_right_empty_first_equivalence_leftleft)))))) \/ (((exists pfrep_gap_empty_first_equivalence_leftleftsecondoutside. pfrep_gap_empty_first_equivalence_leftleftsecondoutside+(0)=(pfrep_power_empty_first_equivalence_leftleft)) /\ (((pfrep_right_empty_first_equivalence_leftleft)=0))))) -> pfrep_left_empty_first_equivalence_leftleft=pfrep_right_empty_first_equivalence_leftleftspecialize prime_field_polynomial_zero_prefix_equivalent_empty (cb)specialize prime_field_polynomial_zero_prefix_equivalent_empty (cc)specialize prime_field_polynomial_zero_prefix_equivalent_empty (N)apply prime_field_polynomial_zero_prefix_equivalent_emptyexact hc0have hen : forall pfrep_power_empty_second_equivalence_leftleft pfrep_left_empty_second_equivalence_leftleft pfrep_right_empty_second_equivalence_leftleft. ((exists pfrep_position_empty_second_equivalence_leftleftfirst. ((pfrep_position_empty_second_equivalence_leftleftfirst+S (pfrep_power_empty_second_equivalence_leftleft)=(K)) /\ ((((exists ff_h_pfp_empty_second_equivalence_leftleftfirstentry. ff_h_pfp_empty_second_equivalence_leftleftfirstentry + S (pfrep_left_empty_second_equivalence_leftleft) = S ((S (pfrep_position_empty_second_equivalence_leftleftfirst)) * CC)) /\ exists ff_q_pfp_empty_second_equivalence_leftleftfirstentry. CB = ff_q_pfp_empty_second_equivalence_leftleftfirstentry * S ((S (pfrep_position_empty_second_equivalence_leftleftfirst)) * CC) + (pfrep_left_empty_second_equivalence_leftleft)))))) \/ (((exists pfrep_gap_empty_second_equivalence_leftleftfirstoutside. pfrep_gap_empty_second_equivalence_leftleftfirstoutside+(K)=(pfrep_power_empty_second_equivalence_leftleft)) /\ (((pfrep_left_empty_second_equivalence_leftleft)=0))))) -> ((exists pfrep_position_empty_second_equivalence_leftleftsecond. ((pfrep_position_empty_second_equivalence_leftleftsecond+S (pfrep_power_empty_second_equivalence_leftleft)=(0)) /\ ((((exists ff_h_pfp_empty_second_equivalence_leftleftsecondentry. ff_h_pfp_empty_second_equivalence_leftleftsecondentry + S (pfrep_right_empty_second_equivalence_leftleft) = S ((S (pfrep_position_empty_second_equivalence_leftleftsecond)) * 0)) /\ exists ff_q_pfp_empty_second_equivalence_leftleftsecondentry. 0 = ff_q_pfp_empty_second_equivalence_leftleftsecondentry * S ((S (pfrep_position_empty_second_equivalence_leftleftsecond)) * 0) + (pfrep_right_empty_second_equivalence_leftleft)))))) \/ (((exists pfrep_gap_empty_second_equivalence_leftleftsecondoutside. pfrep_gap_empty_second_equivalence_leftleftsecondoutside+(0)=(pfrep_power_empty_second_equivalence_leftleft)) /\ (((pfrep_right_empty_second_equivalence_leftleft)=0))))) -> pfrep_left_empty_second_equivalence_leftleft=pfrep_right_empty_second_equivalence_leftleftspecialize prime_field_polynomial_zero_prefix_equivalent_empty (CB)specialize prime_field_polynomial_zero_prefix_equivalent_empty (CC)specialize prime_field_polynomial_zero_prefix_equivalent_empty (K)apply prime_field_polynomial_zero_prefix_equivalent_emptyexact hn0specialize prime_field_polynomial_equivalent_transitive (cb)specialize prime_field_polynomial_equivalent_transitive (cc)specialize prime_field_polynomial_equivalent_transitive (N)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (CB)specialize prime_field_polynomial_equivalent_transitive (CC)specialize prime_field_polynomial_equivalent_transitive (K)apply prime_field_polynomial_equivalent_transitiveexact hecspecialize prime_field_polynomial_equivalent_symmetric (CB)specialize prime_field_polynomial_equivalent_symmetric (CC)specialize prime_field_polynomial_equivalent_symmetric (K)specialize prime_field_polynomial_equivalent_symmetric (0)specialize prime_field_polynomial_equivalent_symmetric (0)specialize prime_field_polynomial_equivalent_symmetric (0)apply prime_field_polynomial_equivalent_symmetricexact henhave hM : M=0 \/ ~(M=0)specialize eq_decidable (M)specialize eq_decidable (0)apply eq_decidablecases hMhave hz : forall pfp_repeat_index_empty_factor_zero_leftright. (exists pfa_gap_empty_factor_zero_leftrightindex. pfa_gap_empty_factor_zero_leftrightindex + S (pfp_repeat_index_empty_factor_zero_leftright) = (M)) -> (((exists ff_h_pfp_empty_factor_zero_leftrightentry. ff_h_pfp_empty_factor_zero_leftrightentry + S (0) = S ((S (pfp_repeat_index_empty_factor_zero_leftright)) * bc)) /\ exists ff_q_pfp_empty_factor_zero_leftrightentry. bb = ff_q_pfp_empty_factor_zero_leftrightentry * S ((S (pfp_repeat_index_empty_factor_zero_leftright)) * bc) + (0)))intro jintro hjrewrite hM_left at hjexfalsospecialize matrix_rank_no_index_below_zero (j)apply matrix_rank_no_index_below_zeroexact hjhave hc0 : forall pfp_repeat_index_empty_original_product_leftright. (exists pfa_gap_empty_original_product_leftrightindex. pfa_gap_empty_original_product_leftrightindex + S (pfp_repeat_index_empty_original_product_leftright) = (N)) -> (((exists ff_h_pfp_empty_original_product_leftrightentry. ff_h_pfp_empty_original_product_leftrightentry + S (0) = S ((S (pfp_repeat_index_empty_original_product_leftright)) * cc)) /\ exists ff_q_pfp_empty_original_product_leftrightentry. cb = ff_q_pfp_empty_original_product_leftrightentry * S ((S (pfp_repeat_index_empty_original_product_leftright)) * cc) + (0)))specialize prime_field_polynomial_convolution_zero_right (p)specialize prime_field_polynomial_convolution_zero_right (ab)specialize prime_field_polynomial_convolution_zero_right (ac)specialize prime_field_polynomial_convolution_zero_right (L)specialize prime_field_polynomial_convolution_zero_right (bb)specialize prime_field_polynomial_convolution_zero_right (bc)specialize prime_field_polynomial_convolution_zero_right (M)specialize prime_field_polynomial_convolution_zero_right (cb)specialize prime_field_polynomial_convolution_zero_right (cc)specialize prime_field_polynomial_convolution_zero_right (N)apply prime_field_polynomial_convolution_zero_rightexact hpexact hzexact hchave hn0 : forall pfp_repeat_index_empty_padded_product_leftright. (exists pfa_gap_empty_padded_product_leftrightindex. pfa_gap_empty_padded_product_leftrightindex + S (pfp_repeat_index_empty_padded_product_leftright) = (K)) -> (((exists ff_h_pfp_empty_padded_product_leftrightentry. ff_h_pfp_empty_padded_product_leftrightentry + S (0) = S ((S (pfp_repeat_index_empty_padded_product_leftright)) * CC)) /\ exists ff_q_pfp_empty_padded_product_leftrightentry. CB = ff_q_pfp_empty_padded_product_leftrightentry * S ((S (pfp_repeat_index_empty_padded_product_leftright)) * CC) + (0)))specialize prime_field_polynomial_convolution_zero_right (p)specialize prime_field_polynomial_convolution_zero_right (AB)specialize prime_field_polynomial_convolution_zero_right (AC)specialize prime_field_polynomial_convolution_zero_right (t+L)specialize prime_field_polynomial_convolution_zero_right (bb)specialize prime_field_polynomial_convolution_zero_right (bc)specialize prime_field_polynomial_convolution_zero_right (M)specialize prime_field_polynomial_convolution_zero_right (CB)specialize prime_field_polynomial_convolution_zero_right (CC)specialize prime_field_polynomial_convolution_zero_right (K)apply prime_field_polynomial_convolution_zero_rightexact hpexact hzexact hnhave hec : forall pfrep_power_empty_first_equivalence_leftright pfrep_left_empty_first_equivalence_leftright pfrep_right_empty_first_equivalence_leftright. ((exists pfrep_position_empty_first_equivalence_leftrightfirst. ((pfrep_position_empty_first_equivalence_leftrightfirst+S (pfrep_power_empty_first_equivalence_leftright)=(N)) /\ ((((exists ff_h_pfp_empty_first_equivalence_leftrightfirstentry. ff_h_pfp_empty_first_equivalence_leftrightfirstentry + S (pfrep_left_empty_first_equivalence_leftright) = S ((S (pfrep_position_empty_first_equivalence_leftrightfirst)) * cc)) /\ exists ff_q_pfp_empty_first_equivalence_leftrightfirstentry. cb = ff_q_pfp_empty_first_equivalence_leftrightfirstentry * S ((S (pfrep_position_empty_first_equivalence_leftrightfirst)) * cc) + (pfrep_left_empty_first_equivalence_leftright)))))) \/ (((exists pfrep_gap_empty_first_equivalence_leftrightfirstoutside. pfrep_gap_empty_first_equivalence_leftrightfirstoutside+(N)=(pfrep_power_empty_first_equivalence_leftright)) /\ (((pfrep_left_empty_first_equivalence_leftright)=0))))) -> ((exists pfrep_position_empty_first_equivalence_leftrightsecond. ((pfrep_position_empty_first_equivalence_leftrightsecond+S (pfrep_power_empty_first_equivalence_leftright)=(0)) /\ ((((exists ff_h_pfp_empty_first_equivalence_leftrightsecondentry. ff_h_pfp_empty_first_equivalence_leftrightsecondentry + S (pfrep_right_empty_first_equivalence_leftright) = S ((S (pfrep_position_empty_first_equivalence_leftrightsecond)) * 0)) /\ exists ff_q_pfp_empty_first_equivalence_leftrightsecondentry. 0 = ff_q_pfp_empty_first_equivalence_leftrightsecondentry * S ((S (pfrep_position_empty_first_equivalence_leftrightsecond)) * 0) + (pfrep_right_empty_first_equivalence_leftright)))))) \/ (((exists pfrep_gap_empty_first_equivalence_leftrightsecondoutside. pfrep_gap_empty_first_equivalence_leftrightsecondoutside+(0)=(pfrep_power_empty_first_equivalence_leftright)) /\ (((pfrep_right_empty_first_equivalence_leftright)=0))))) -> pfrep_left_empty_first_equivalence_leftright=pfrep_right_empty_first_equivalence_leftrightspecialize prime_field_polynomial_zero_prefix_equivalent_empty (cb)specialize prime_field_polynomial_zero_prefix_equivalent_empty (cc)specialize prime_field_polynomial_zero_prefix_equivalent_empty (N)apply prime_field_polynomial_zero_prefix_equivalent_emptyexact hc0have hen : forall pfrep_power_empty_second_equivalence_leftright pfrep_left_empty_second_equivalence_leftright pfrep_right_empty_second_equivalence_leftright. ((exists pfrep_position_empty_second_equivalence_leftrightfirst. ((pfrep_position_empty_second_equivalence_leftrightfirst+S (pfrep_power_empty_second_equivalence_leftright)=(K)) /\ ((((exists ff_h_pfp_empty_second_equivalence_leftrightfirstentry. ff_h_pfp_empty_second_equivalence_leftrightfirstentry + S (pfrep_left_empty_second_equivalence_leftright) = S ((S (pfrep_position_empty_second_equivalence_leftrightfirst)) * CC)) /\ exists ff_q_pfp_empty_second_equivalence_leftrightfirstentry. CB = ff_q_pfp_empty_second_equivalence_leftrightfirstentry * S ((S (pfrep_position_empty_second_equivalence_leftrightfirst)) * CC) + (pfrep_left_empty_second_equivalence_leftright)))))) \/ (((exists pfrep_gap_empty_second_equivalence_leftrightfirstoutside. pfrep_gap_empty_second_equivalence_leftrightfirstoutside+(K)=(pfrep_power_empty_second_equivalence_leftright)) /\ (((pfrep_left_empty_second_equivalence_leftright)=0))))) -> ((exists pfrep_position_empty_second_equivalence_leftrightsecond. ((pfrep_position_empty_second_equivalence_leftrightsecond+S (pfrep_power_empty_second_equivalence_leftright)=(0)) /\ ((((exists ff_h_pfp_empty_second_equivalence_leftrightsecondentry. ff_h_pfp_empty_second_equivalence_leftrightsecondentry + S (pfrep_right_empty_second_equivalence_leftright) = S ((S (pfrep_position_empty_second_equivalence_leftrightsecond)) * 0)) /\ exists ff_q_pfp_empty_second_equivalence_leftrightsecondentry. 0 = ff_q_pfp_empty_second_equivalence_leftrightsecondentry * S ((S (pfrep_position_empty_second_equivalence_leftrightsecond)) * 0) + (pfrep_right_empty_second_equivalence_leftright)))))) \/ (((exists pfrep_gap_empty_second_equivalence_leftrightsecondoutside. pfrep_gap_empty_second_equivalence_leftrightsecondoutside+(0)=(pfrep_power_empty_second_equivalence_leftright)) /\ (((pfrep_right_empty_second_equivalence_leftright)=0))))) -> pfrep_left_empty_second_equivalence_leftright=pfrep_right_empty_second_equivalence_leftrightspecialize prime_field_polynomial_zero_prefix_equivalent_empty (CB)specialize prime_field_polynomial_zero_prefix_equivalent_empty (CC)specialize prime_field_polynomial_zero_prefix_equivalent_empty (K)apply prime_field_polynomial_zero_prefix_equivalent_emptyexact hn0specialize prime_field_polynomial_equivalent_transitive (cb)specialize prime_field_polynomial_equivalent_transitive (cc)specialize prime_field_polynomial_equivalent_transitive (N)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (0)specialize prime_field_polynomial_equivalent_transitive (CB)specialize prime_field_polynomial_equivalent_transitive (CC)specialize prime_field_polynomial_equivalent_transitive (K)apply prime_field_polynomial_equivalent_transitiveexact hecspecialize prime_field_polynomial_equivalent_symmetric (CB)specialize prime_field_polynomial_equivalent_symmetric (CC)specialize prime_field_polynomial_equivalent_symmetric (K)specialize prime_field_polynomial_equivalent_symmetric (0)specialize prime_field_polynomial_equivalent_symmetric (0)specialize prime_field_polynomial_equivalent_symmetric (0)apply prime_field_polynomial_equivalent_symmetricexact henhave hd : ((K=t+N) /\ ((((forall pfp_repeat_index_product_equivalent_padding_leftzeros. (exists pfa_gap_product_equivalent_padding_leftzerosindex. pfa_gap_product_equivalent_padding_leftzerosindex + S (pfp_repeat_index_product_equivalent_padding_leftzeros) = (t)) -> (((exists ff_h_pfp_product_equivalent_padding_leftzerosentry. ff_h_pfp_product_equivalent_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_product_equivalent_padding_leftzeros)) * CC)) /\ exists ff_q_pfp_product_equivalent_padding_leftzerosentry. CB = ff_q_pfp_product_equivalent_padding_leftzerosentry * S ((S (pfp_repeat_index_product_equivalent_padding_leftzeros)) * CC) + (0)))) /\ ((forall pfrep_index_product_equivalent_padding_left pfrep_value_product_equivalent_padding_left. (exists pfa_gap_product_equivalent_padding_leftbound. pfa_gap_product_equivalent_padding_leftbound + S (pfrep_index_product_equivalent_padding_left) = (N)) -> (((exists ff_h_pfp_product_equivalent_padding_leftinput. ff_h_pfp_product_equivalent_padding_leftinput + S (pfrep_value_product_equivalent_padding_left) = S ((S (pfrep_index_product_equivalent_padding_left)) * cc)) /\ exists ff_q_pfp_product_equivalent_padding_leftinput. cb = ff_q_pfp_product_equivalent_padding_leftinput * S ((S (pfrep_index_product_equivalent_padding_left)) * cc) + (pfrep_value_product_equivalent_padding_left))) -> (((exists ff_h_pfp_product_equivalent_padding_leftoutput. ff_h_pfp_product_equivalent_padding_leftoutput + S (pfrep_value_product_equivalent_padding_left) = S ((S ((t)+pfrep_index_product_equivalent_padding_left)) * CC)) /\ exists ff_q_pfp_product_equivalent_padding_leftoutput. CB = ff_q_pfp_product_equivalent_padding_leftoutput * S ((S ((t)+pfrep_index_product_equivalent_padding_left)) * CC) + (pfrep_value_product_equivalent_padding_left)))))))))specialize prime_field_polynomial_convolution_left_padding_nonempty_left (p)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (ab)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (ac)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (L)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (bb)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (bc)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (M)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (cb)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (cc)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (N)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (AB)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (AC)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (t)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (CB)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (CC)specialize prime_field_polynomial_convolution_left_padding_nonempty_left (K)apply prime_field_polynomial_convolution_left_padding_nonempty_leftexact hpexact hL_rightexact hM_rightexact hpadexact hcexact hncases hdrewrite hd_leftrewrite hd_leftspecialize prime_field_polynomial_left_pad_equivalent (cb)specialize prime_field_polynomial_left_pad_equivalent (cc)specialize prime_field_polynomial_left_pad_equivalent (N)specialize prime_field_polynomial_left_pad_equivalent (t)specialize prime_field_polynomial_left_pad_equivalent (CB)specialize prime_field_polynomial_left_pad_equivalent (CC)apply prime_field_polynomial_left_pad_equivalentexact hd_right
prime_field_polynomial_convolution_equivalent_congruent_left · unchanged support, not a new admission
forall p ab ac L bb bc M cb cc N AB AC H CB CC K. (~(p=0)) -> (forall pfrep_power_congruent_factor_left pfrep_left_congruent_factor_left pfrep_right_congruent_factor_left. ((exists pfrep_position_congruent_factor_leftfirst. ((pfrep_position_congruent_factor_leftfirst+S (pfrep_power_congruent_factor_left)=(L)) /\ ((((exists ff_h_pfp_congruent_factor_leftfirstentry. ff_h_pfp_congruent_factor_leftfirstentry + S (pfrep_left_congruent_factor_left) = S ((S (pfrep_position_congruent_factor_leftfirst)) * ac)) /\ exists ff_q_pfp_congruent_factor_leftfirstentry. ab = ff_q_pfp_congruent_factor_leftfirstentry * S ((S (pfrep_position_congruent_factor_leftfirst)) * ac) + (pfrep_left_congruent_factor_left)))))) \/ (((exists pfrep_gap_congruent_factor_leftfirstoutside. pfrep_gap_congruent_factor_leftfirstoutside+(L)=(pfrep_power_congruent_factor_left)) /\ (((pfrep_left_congruent_factor_left)=0))))) -> ((exists pfrep_position_congruent_factor_leftsecond. ((pfrep_position_congruent_factor_leftsecond+S (pfrep_power_congruent_factor_left)=(H)) /\ ((((exists ff_h_pfp_congruent_factor_leftsecondentry. ff_h_pfp_congruent_factor_leftsecondentry + S (pfrep_right_congruent_factor_left) = S ((S (pfrep_position_congruent_factor_leftsecond)) * AC)) /\ exists ff_q_pfp_congruent_factor_leftsecondentry. AB = ff_q_pfp_congruent_factor_leftsecondentry * S ((S (pfrep_position_congruent_factor_leftsecond)) * AC) + (pfrep_right_congruent_factor_left)))))) \/ (((exists pfrep_gap_congruent_factor_leftsecondoutside. pfrep_gap_congruent_factor_leftsecondoutside+(H)=(pfrep_power_congruent_factor_left)) /\ (((pfrep_right_congruent_factor_left)=0))))) -> pfrep_left_congruent_factor_left=pfrep_right_congruent_factor_left) -> (((forall fom_index_pfp_congruent_original_leftleft. (exists fom_gap_pfp_congruent_original_leftleft_index_bound. fom_gap_pfp_congruent_original_leftleft_index_bound + S (fom_index_pfp_congruent_original_leftleft) = L) -> exists fom_value_pfp_congruent_original_leftleft. ((((exists fom_beta_height_pfp_congruent_original_leftleft_entry. fom_beta_height_pfp_congruent_original_leftleft_entry + S (fom_value_pfp_congruent_original_leftleft) = S ((S (fom_index_pfp_congruent_original_leftleft)) * ac)) /\ exists fom_beta_quotient_pfp_congruent_original_leftleft_entry. ab = fom_beta_quotient_pfp_congruent_original_leftleft_entry * S ((S (fom_index_pfp_congruent_original_leftleft)) * ac) + (fom_value_pfp_congruent_original_leftleft))) /\ (exists fom_gap_pfp_congruent_original_leftleft_value_bound. fom_gap_pfp_congruent_original_leftleft_value_bound + S (fom_value_pfp_congruent_original_leftleft) = p))) /\ (((forall fom_index_pfp_congruent_original_leftright. (exists fom_gap_pfp_congruent_original_leftright_index_bound. fom_gap_pfp_congruent_original_leftright_index_bound + S (fom_index_pfp_congruent_original_leftright) = M) -> exists fom_value_pfp_congruent_original_leftright. ((((exists fom_beta_height_pfp_congruent_original_leftright_entry. fom_beta_height_pfp_congruent_original_leftright_entry + S (fom_value_pfp_congruent_original_leftright) = S ((S (fom_index_pfp_congruent_original_leftright)) * bc)) /\ exists fom_beta_quotient_pfp_congruent_original_leftright_entry. bb = fom_beta_quotient_pfp_congruent_original_leftright_entry * S ((S (fom_index_pfp_congruent_original_leftright)) * bc) + (fom_value_pfp_congruent_original_leftright))) /\ (exists fom_gap_pfp_congruent_original_leftright_value_bound. fom_gap_pfp_congruent_original_leftright_value_bound + S (fom_value_pfp_congruent_original_leftright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_congruent_original_leftcoefficients. (exists pfa_gap_congruent_original_leftcoefficientsbound. pfa_gap_congruent_original_leftcoefficientsbound + S (pfc_index_congruent_original_leftcoefficients) = (N)) -> exists pfc_value_congruent_original_leftcoefficients. ((((exists ff_h_pfp_congruent_original_leftcoefficientsentry. ff_h_pfp_congruent_original_leftcoefficientsentry + S (pfc_value_congruent_original_leftcoefficients) = S ((S (pfc_index_congruent_original_leftcoefficients)) * cc)) /\ exists ff_q_pfp_congruent_original_leftcoefficientsentry. cb = ff_q_pfp_congruent_original_leftcoefficientsentry * S ((S (pfc_index_congruent_original_leftcoefficients)) * cc) + (pfc_value_congruent_original_leftcoefficients))) /\ ((exists pfc_terms_code_congruent_original_leftcoefficientscoefficient pfc_terms_scale_congruent_original_leftcoefficientscoefficient pfc_natural_sum_congruent_original_leftcoefficientscoefficient. ((forall pfc_index_congruent_original_leftcoefficientscoefficientdiagonal. (exists pfa_gap_congruent_original_leftcoefficientscoefficientdiagonalbound. pfa_gap_congruent_original_leftcoefficientscoefficientdiagonalbound + S (pfc_index_congruent_original_leftcoefficientscoefficientdiagonal) = (S (pfc_index_congruent_original_leftcoefficients))) -> exists pfc_value_congruent_original_leftcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_congruent_original_leftcoefficientscoefficientdiagonalentry. ff_h_pfp_congruent_original_leftcoefficientscoefficientdiagonalentry + S (pfc_value_congruent_original_leftcoefficientscoefficientdiagonal) = S ((S (pfc_index_congruent_original_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_congruent_original_leftcoefficientscoefficient)) /\ exists ff_q_pfp_congruent_original_leftcoefficientscoefficientdiagonalentry. pfc_terms_code_congruent_original_leftcoefficientscoefficient = ff_q_pfp_congruent_original_leftcoefficientscoefficientdiagonalentry * S ((S (pfc_index_congruent_original_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_congruent_original_leftcoefficientscoefficient) + (pfc_value_congruent_original_leftcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_congruent_original_leftcoefficientscoefficientdiagonalterm pfc_left_congruent_original_leftcoefficientscoefficientdiagonalterm pfc_right_congruent_original_leftcoefficientscoefficientdiagonalterm. (((pfc_index_congruent_original_leftcoefficientscoefficientdiagonal)+pfc_complement_congruent_original_leftcoefficientscoefficientdiagonalterm=(pfc_index_congruent_original_leftcoefficients)) /\ ((((((exists pfa_gap_congruent_original_leftcoefficientscoefficientdiagonaltermleftinside. pfa_gap_congruent_original_leftcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_congruent_original_leftcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_congruent_original_leftcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_congruent_original_leftcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_congruent_original_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_congruent_original_leftcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_congruent_original_leftcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_congruent_original_leftcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_congruent_original_leftcoefficientscoefficientdiagonal)) * ac) + (pfc_left_congruent_original_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_congruent_original_leftcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_congruent_original_leftcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_congruent_original_leftcoefficientscoefficientdiagonal)) /\ (((pfc_left_congruent_original_leftcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_congruent_original_leftcoefficientscoefficientdiagonaltermrightinside. pfa_gap_congruent_original_leftcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_congruent_original_leftcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_congruent_original_leftcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_congruent_original_leftcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_congruent_original_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_congruent_original_leftcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_congruent_original_leftcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_congruent_original_leftcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_congruent_original_leftcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_congruent_original_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_congruent_original_leftcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_congruent_original_leftcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_congruent_original_leftcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_congruent_original_leftcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_congruent_original_leftcoefficientscoefficientdiagonal)=pfc_left_congruent_original_leftcoefficientscoefficientdiagonalterm*pfc_right_congruent_original_leftcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_congruent_original_leftcoefficientscoefficientsum fs_v_pfc_congruent_original_leftcoefficientscoefficientsum. ((((exists fs_h_pfc_congruent_original_leftcoefficientscoefficientsum_body_start. fs_h_pfc_congruent_original_leftcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_congruent_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_original_leftcoefficientscoefficientsum_body_start. fs_u_pfc_congruent_original_leftcoefficientscoefficientsum = fs_q_pfc_congruent_original_leftcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_congruent_original_leftcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_congruent_original_leftcoefficientscoefficientsum_body_terminal. fs_h_pfc_congruent_original_leftcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_congruent_original_leftcoefficientscoefficient) = S ((S (S (pfc_index_congruent_original_leftcoefficients))) * fs_v_pfc_congruent_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_original_leftcoefficientscoefficientsum_body_terminal. fs_u_pfc_congruent_original_leftcoefficientscoefficientsum = fs_q_pfc_congruent_original_leftcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_congruent_original_leftcoefficients))) * fs_v_pfc_congruent_original_leftcoefficientscoefficientsum) + (pfc_natural_sum_congruent_original_leftcoefficientscoefficient))) /\ forall fs_i_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps = S (pfc_index_congruent_original_leftcoefficients)) -> exists fs_a_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps fs_r_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps fs_s_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_congruent_original_leftcoefficientscoefficient)) /\ exists fs_q_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_congruent_original_leftcoefficientscoefficient = fs_q_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_congruent_original_leftcoefficientscoefficient) + (fs_a_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_congruent_original_leftcoefficientscoefficientsum = fs_q_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_original_leftcoefficientscoefficientsum) + (fs_r_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_original_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_congruent_original_leftcoefficientscoefficientsum = fs_q_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_original_leftcoefficientscoefficientsum) + (fs_s_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps = fs_r_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps + fs_a_pfc_congruent_original_leftcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_congruent_original_leftcoefficientscoefficientresiduebound. pfa_gap_congruent_original_leftcoefficientscoefficientresiduebound + S (pfc_value_congruent_original_leftcoefficients) = (p)) /\ ((exists pfa_offset_left_congruent_original_leftcoefficientscoefficientresiduecongruence pfa_offset_right_congruent_original_leftcoefficientscoefficientresiduecongruence. (pfc_natural_sum_congruent_original_leftcoefficientscoefficient) + (p) * pfa_offset_left_congruent_original_leftcoefficientscoefficientresiduecongruence = (pfc_value_congruent_original_leftcoefficients) + (p) * pfa_offset_right_congruent_original_leftcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_congruent_other_leftleft. (exists fom_gap_pfp_congruent_other_leftleft_index_bound. fom_gap_pfp_congruent_other_leftleft_index_bound + S (fom_index_pfp_congruent_other_leftleft) = H) -> exists fom_value_pfp_congruent_other_leftleft. ((((exists fom_beta_height_pfp_congruent_other_leftleft_entry. fom_beta_height_pfp_congruent_other_leftleft_entry + S (fom_value_pfp_congruent_other_leftleft) = S ((S (fom_index_pfp_congruent_other_leftleft)) * AC)) /\ exists fom_beta_quotient_pfp_congruent_other_leftleft_entry. AB = fom_beta_quotient_pfp_congruent_other_leftleft_entry * S ((S (fom_index_pfp_congruent_other_leftleft)) * AC) + (fom_value_pfp_congruent_other_leftleft))) /\ (exists fom_gap_pfp_congruent_other_leftleft_value_bound. fom_gap_pfp_congruent_other_leftleft_value_bound + S (fom_value_pfp_congruent_other_leftleft) = p))) /\ (((forall fom_index_pfp_congruent_other_leftright. (exists fom_gap_pfp_congruent_other_leftright_index_bound. fom_gap_pfp_congruent_other_leftright_index_bound + S (fom_index_pfp_congruent_other_leftright) = M) -> exists fom_value_pfp_congruent_other_leftright. ((((exists fom_beta_height_pfp_congruent_other_leftright_entry. fom_beta_height_pfp_congruent_other_leftright_entry + S (fom_value_pfp_congruent_other_leftright) = S ((S (fom_index_pfp_congruent_other_leftright)) * bc)) /\ exists fom_beta_quotient_pfp_congruent_other_leftright_entry. bb = fom_beta_quotient_pfp_congruent_other_leftright_entry * S ((S (fom_index_pfp_congruent_other_leftright)) * bc) + (fom_value_pfp_congruent_other_leftright))) /\ (exists fom_gap_pfp_congruent_other_leftright_value_bound. fom_gap_pfp_congruent_other_leftright_value_bound + S (fom_value_pfp_congruent_other_leftright) = p))) /\ (((((((H)=0 \/ (M)=0) /\ (((K)=0)))) \/ (((~((H)=0)) /\ (((~((M)=0)) /\ (((H)+(M)=S (K)))))))) /\ ((forall pfc_index_congruent_other_leftcoefficients. (exists pfa_gap_congruent_other_leftcoefficientsbound. pfa_gap_congruent_other_leftcoefficientsbound + S (pfc_index_congruent_other_leftcoefficients) = (K)) -> exists pfc_value_congruent_other_leftcoefficients. ((((exists ff_h_pfp_congruent_other_leftcoefficientsentry. ff_h_pfp_congruent_other_leftcoefficientsentry + S (pfc_value_congruent_other_leftcoefficients) = S ((S (pfc_index_congruent_other_leftcoefficients)) * CC)) /\ exists ff_q_pfp_congruent_other_leftcoefficientsentry. CB = ff_q_pfp_congruent_other_leftcoefficientsentry * S ((S (pfc_index_congruent_other_leftcoefficients)) * CC) + (pfc_value_congruent_other_leftcoefficients))) /\ ((exists pfc_terms_code_congruent_other_leftcoefficientscoefficient pfc_terms_scale_congruent_other_leftcoefficientscoefficient pfc_natural_sum_congruent_other_leftcoefficientscoefficient. ((forall pfc_index_congruent_other_leftcoefficientscoefficientdiagonal. (exists pfa_gap_congruent_other_leftcoefficientscoefficientdiagonalbound. pfa_gap_congruent_other_leftcoefficientscoefficientdiagonalbound + S (pfc_index_congruent_other_leftcoefficientscoefficientdiagonal) = (S (pfc_index_congruent_other_leftcoefficients))) -> exists pfc_value_congruent_other_leftcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_congruent_other_leftcoefficientscoefficientdiagonalentry. ff_h_pfp_congruent_other_leftcoefficientscoefficientdiagonalentry + S (pfc_value_congruent_other_leftcoefficientscoefficientdiagonal) = S ((S (pfc_index_congruent_other_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_congruent_other_leftcoefficientscoefficient)) /\ exists ff_q_pfp_congruent_other_leftcoefficientscoefficientdiagonalentry. pfc_terms_code_congruent_other_leftcoefficientscoefficient = ff_q_pfp_congruent_other_leftcoefficientscoefficientdiagonalentry * S ((S (pfc_index_congruent_other_leftcoefficientscoefficientdiagonal)) * pfc_terms_scale_congruent_other_leftcoefficientscoefficient) + (pfc_value_congruent_other_leftcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_congruent_other_leftcoefficientscoefficientdiagonalterm pfc_left_congruent_other_leftcoefficientscoefficientdiagonalterm pfc_right_congruent_other_leftcoefficientscoefficientdiagonalterm. (((pfc_index_congruent_other_leftcoefficientscoefficientdiagonal)+pfc_complement_congruent_other_leftcoefficientscoefficientdiagonalterm=(pfc_index_congruent_other_leftcoefficients)) /\ ((((((exists pfa_gap_congruent_other_leftcoefficientscoefficientdiagonaltermleftinside. pfa_gap_congruent_other_leftcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_congruent_other_leftcoefficientscoefficientdiagonal) = (H)) /\ ((((exists ff_h_pfp_congruent_other_leftcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_congruent_other_leftcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_congruent_other_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_congruent_other_leftcoefficientscoefficientdiagonal)) * AC)) /\ exists ff_q_pfp_congruent_other_leftcoefficientscoefficientdiagonaltermleftentry. AB = ff_q_pfp_congruent_other_leftcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_congruent_other_leftcoefficientscoefficientdiagonal)) * AC) + (pfc_left_congruent_other_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_congruent_other_leftcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_congruent_other_leftcoefficientscoefficientdiagonaltermleftoutside+(H)=(pfc_index_congruent_other_leftcoefficientscoefficientdiagonal)) /\ (((pfc_left_congruent_other_leftcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_congruent_other_leftcoefficientscoefficientdiagonaltermrightinside. pfa_gap_congruent_other_leftcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_congruent_other_leftcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_congruent_other_leftcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_congruent_other_leftcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_congruent_other_leftcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_congruent_other_leftcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_congruent_other_leftcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_congruent_other_leftcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_congruent_other_leftcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_congruent_other_leftcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_congruent_other_leftcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_congruent_other_leftcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_congruent_other_leftcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_congruent_other_leftcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_congruent_other_leftcoefficientscoefficientdiagonal)=pfc_left_congruent_other_leftcoefficientscoefficientdiagonalterm*pfc_right_congruent_other_leftcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_congruent_other_leftcoefficientscoefficientsum fs_v_pfc_congruent_other_leftcoefficientscoefficientsum. ((((exists fs_h_pfc_congruent_other_leftcoefficientscoefficientsum_body_start. fs_h_pfc_congruent_other_leftcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_congruent_other_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_other_leftcoefficientscoefficientsum_body_start. fs_u_pfc_congruent_other_leftcoefficientscoefficientsum = fs_q_pfc_congruent_other_leftcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_congruent_other_leftcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_congruent_other_leftcoefficientscoefficientsum_body_terminal. fs_h_pfc_congruent_other_leftcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_congruent_other_leftcoefficientscoefficient) = S ((S (S (pfc_index_congruent_other_leftcoefficients))) * fs_v_pfc_congruent_other_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_other_leftcoefficientscoefficientsum_body_terminal. fs_u_pfc_congruent_other_leftcoefficientscoefficientsum = fs_q_pfc_congruent_other_leftcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_congruent_other_leftcoefficients))) * fs_v_pfc_congruent_other_leftcoefficientscoefficientsum) + (pfc_natural_sum_congruent_other_leftcoefficientscoefficient))) /\ forall fs_i_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps = S (pfc_index_congruent_other_leftcoefficients)) -> exists fs_a_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps fs_r_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps fs_s_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_congruent_other_leftcoefficientscoefficient)) /\ exists fs_q_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_congruent_other_leftcoefficientscoefficient = fs_q_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_congruent_other_leftcoefficientscoefficient) + (fs_a_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_other_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_congruent_other_leftcoefficientscoefficientsum = fs_q_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_other_leftcoefficientscoefficientsum) + (fs_r_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_other_leftcoefficientscoefficientsum)) /\ exists fs_q_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_congruent_other_leftcoefficientscoefficientsum = fs_q_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps)) * fs_v_pfc_congruent_other_leftcoefficientscoefficientsum) + (fs_s_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps = fs_r_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps + fs_a_pfc_congruent_other_leftcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_congruent_other_leftcoefficientscoefficientresiduebound. pfa_gap_congruent_other_leftcoefficientscoefficientresiduebound + S (pfc_value_congruent_other_leftcoefficients) = (p)) /\ ((exists pfa_offset_left_congruent_other_leftcoefficientscoefficientresiduecongruence pfa_offset_right_congruent_other_leftcoefficientscoefficientresiduecongruence. (pfc_natural_sum_congruent_other_leftcoefficientscoefficient) + (p) * pfa_offset_left_congruent_other_leftcoefficientscoefficientresiduecongruence = (pfc_value_congruent_other_leftcoefficients) + (p) * pfa_offset_right_congruent_other_leftcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfrep_power_congruent_output_left pfrep_left_congruent_output_left pfrep_right_congruent_output_left. ((exists pfrep_position_congruent_output_leftfirst. ((pfrep_position_congruent_output_leftfirst+S (pfrep_power_congruent_output_left)=(N)) /\ ((((exists ff_h_pfp_congruent_output_leftfirstentry. ff_h_pfp_congruent_output_leftfirstentry + S (pfrep_left_congruent_output_left) = S ((S (pfrep_position_congruent_output_leftfirst)) * cc)) /\ exists ff_q_pfp_congruent_output_leftfirstentry. cb = ff_q_pfp_congruent_output_leftfirstentry * S ((S (pfrep_position_congruent_output_leftfirst)) * cc) + (pfrep_left_congruent_output_left)))))) \/ (((exists pfrep_gap_congruent_output_leftfirstoutside. pfrep_gap_congruent_output_leftfirstoutside+(N)=(pfrep_power_congruent_output_left)) /\ (((pfrep_left_congruent_output_left)=0))))) -> ((exists pfrep_position_congruent_output_leftsecond. ((pfrep_position_congruent_output_leftsecond+S (pfrep_power_congruent_output_left)=(K)) /\ ((((exists ff_h_pfp_congruent_output_leftsecondentry. ff_h_pfp_congruent_output_leftsecondentry + S (pfrep_right_congruent_output_left) = S ((S (pfrep_position_congruent_output_leftsecond)) * CC)) /\ exists ff_q_pfp_congruent_output_leftsecondentry. CB = ff_q_pfp_congruent_output_leftsecondentry * S ((S (pfrep_position_congruent_output_leftsecond)) * CC) + (pfrep_right_congruent_output_left)))))) \/ (((exists pfrep_gap_congruent_output_leftsecondoutside. pfrep_gap_congruent_output_leftsecondoutside+(K)=(pfrep_power_congruent_output_left)) /\ (((pfrep_right_congruent_output_left)=0))))) -> pfrep_left_congruent_output_left=pfrep_right_congruent_output_left)
intro pintro abintro acintro Lintro bbintro bcintro Mintro cbintro ccintro Nintro ABintro ACintro Hintro CBintro CCintro Kintro hpintro heintro hcintro hdhave horder : (exists pfc_gap_congruent_forward_left. pfc_gap_congruent_forward_left+(L)=(H)) \/ (exists pfc_gap_congruent_backward_left. pfc_gap_congruent_backward_left+(H)=(L))specialize le_total (L)specialize le_total (H)apply le_totalcases hordercases horder_lefthave hpadding : ((forall pfp_repeat_index_congruent_padding_leftzeros. (exists pfa_gap_congruent_padding_leftzerosindex. pfa_gap_congruent_padding_leftzerosindex + S (pfp_repeat_index_congruent_padding_leftzeros) = (x)) -> (((exists ff_h_pfp_congruent_padding_leftzerosentry. ff_h_pfp_congruent_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_congruent_padding_leftzeros)) * AC)) /\ exists ff_q_pfp_congruent_padding_leftzerosentry. AB = ff_q_pfp_congruent_padding_leftzerosentry * S ((S (pfp_repeat_index_congruent_padding_leftzeros)) * AC) + (0)))) /\ ((forall pfrep_index_congruent_padding_left pfrep_value_congruent_padding_left. (exists pfa_gap_congruent_padding_leftbound. pfa_gap_congruent_padding_leftbound + S (pfrep_index_congruent_padding_left) = (L)) -> (((exists ff_h_pfp_congruent_padding_leftinput. ff_h_pfp_congruent_padding_leftinput + S (pfrep_value_congruent_padding_left) = S ((S (pfrep_index_congruent_padding_left)) * ac)) /\ exists ff_q_pfp_congruent_padding_leftinput. ab = ff_q_pfp_congruent_padding_leftinput * S ((S (pfrep_index_congruent_padding_left)) * ac) + (pfrep_value_congruent_padding_left))) -> (((exists ff_h_pfp_congruent_padding_leftoutput. ff_h_pfp_congruent_padding_leftoutput + S (pfrep_value_congruent_padding_left) = S ((S ((x)+pfrep_index_congruent_padding_left)) * AC)) /\ exists ff_q_pfp_congruent_padding_leftoutput. AB = ff_q_pfp_congruent_padding_leftoutput * S ((S ((x)+pfrep_index_congruent_padding_left)) * AC) + (pfrep_value_congruent_padding_left))))))specialize prime_field_polynomial_equivalent_implies_left_pad (ab)specialize prime_field_polynomial_equivalent_implies_left_pad (ac)specialize prime_field_polynomial_equivalent_implies_left_pad (L)specialize prime_field_polynomial_equivalent_implies_left_pad (x)specialize prime_field_polynomial_equivalent_implies_left_pad (AB)specialize prime_field_polynomial_equivalent_implies_left_pad (AC)apply prime_field_polynomial_equivalent_implies_left_padrewrite horder_left_witnessrewrite horder_left_witnessexact hespecialize prime_field_polynomial_convolution_left_padding_equivalent_left (p)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (ab)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (ac)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (L)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (bb)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (bc)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (M)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (cb)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (cc)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (N)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (AB)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (AC)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (x)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (CB)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (CC)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (K)apply prime_field_polynomial_convolution_left_padding_equivalent_leftexact hpexact hpaddingexact hcrewrite horder_left_witnessrewrite horder_left_witnessrewrite horder_left_witnessrewrite horder_left_witnessrewrite horder_left_witnessrewrite horder_left_witnessexact hdcases horder_righthave hpadding : ((forall pfp_repeat_index_congruent_padding_leftzeros. (exists pfa_gap_congruent_padding_leftzerosindex. pfa_gap_congruent_padding_leftzerosindex + S (pfp_repeat_index_congruent_padding_leftzeros) = (x)) -> (((exists ff_h_pfp_congruent_padding_leftzerosentry. ff_h_pfp_congruent_padding_leftzerosentry + S (0) = S ((S (pfp_repeat_index_congruent_padding_leftzeros)) * ac)) /\ exists ff_q_pfp_congruent_padding_leftzerosentry. ab = ff_q_pfp_congruent_padding_leftzerosentry * S ((S (pfp_repeat_index_congruent_padding_leftzeros)) * ac) + (0)))) /\ ((forall pfrep_index_congruent_padding_left pfrep_value_congruent_padding_left. (exists pfa_gap_congruent_padding_leftbound. pfa_gap_congruent_padding_leftbound + S (pfrep_index_congruent_padding_left) = (H)) -> (((exists ff_h_pfp_congruent_padding_leftinput. ff_h_pfp_congruent_padding_leftinput + S (pfrep_value_congruent_padding_left) = S ((S (pfrep_index_congruent_padding_left)) * AC)) /\ exists ff_q_pfp_congruent_padding_leftinput. AB = ff_q_pfp_congruent_padding_leftinput * S ((S (pfrep_index_congruent_padding_left)) * AC) + (pfrep_value_congruent_padding_left))) -> (((exists ff_h_pfp_congruent_padding_leftoutput. ff_h_pfp_congruent_padding_leftoutput + S (pfrep_value_congruent_padding_left) = S ((S ((x)+pfrep_index_congruent_padding_left)) * ac)) /\ exists ff_q_pfp_congruent_padding_leftoutput. ab = ff_q_pfp_congruent_padding_leftoutput * S ((S ((x)+pfrep_index_congruent_padding_left)) * ac) + (pfrep_value_congruent_padding_left))))))specialize prime_field_polynomial_equivalent_implies_left_pad (AB)specialize prime_field_polynomial_equivalent_implies_left_pad (AC)specialize prime_field_polynomial_equivalent_implies_left_pad (H)specialize prime_field_polynomial_equivalent_implies_left_pad (x)specialize prime_field_polynomial_equivalent_implies_left_pad (ab)specialize prime_field_polynomial_equivalent_implies_left_pad (ac)apply prime_field_polynomial_equivalent_implies_left_padrewrite horder_right_witnessrewrite horder_right_witnessspecialize prime_field_polynomial_equivalent_symmetric (ab)specialize prime_field_polynomial_equivalent_symmetric (ac)specialize prime_field_polynomial_equivalent_symmetric (L)specialize prime_field_polynomial_equivalent_symmetric (AB)specialize prime_field_polynomial_equivalent_symmetric (AC)specialize prime_field_polynomial_equivalent_symmetric (H)apply prime_field_polynomial_equivalent_symmetricexact hespecialize prime_field_polynomial_equivalent_symmetric (CB)specialize prime_field_polynomial_equivalent_symmetric (CC)specialize prime_field_polynomial_equivalent_symmetric (K)specialize prime_field_polynomial_equivalent_symmetric (cb)specialize prime_field_polynomial_equivalent_symmetric (cc)specialize prime_field_polynomial_equivalent_symmetric (N)apply prime_field_polynomial_equivalent_symmetricspecialize prime_field_polynomial_convolution_left_padding_equivalent_left (p)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (AB)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (AC)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (H)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (bb)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (bc)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (M)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (CB)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (CC)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (K)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (ab)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (ac)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (x)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (cb)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (cc)specialize prime_field_polynomial_convolution_left_padding_equivalent_left (N)apply prime_field_polynomial_convolution_left_padding_equivalent_leftexact hpexact hpaddingexact hdrewrite horder_right_witnessrewrite horder_right_witnessrewrite horder_right_witnessrewrite horder_right_witnessrewrite horder_right_witnessrewrite horder_right_witnessexact hc
polynomial_quotient_length_bounds · unchanged support, not a new admission
forall L d q. (((((q)=0) /\ ((exists pfc_gap_division_length_bound_sourceshort. pfc_gap_division_length_bound_sourceshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L)))))) -> ((exists pfc_gap_division_length_quotient_bound. pfc_gap_division_length_quotient_bound+(q)=(L)) /\ ((exists pfc_gap_division_length_cover. pfc_gap_division_length_cover+(L)=(q+d))))
intro Lintro dintro qintro hcases hcases h_leftsplitrewrite h_left_leftspecialize zero_le (L)apply zero_lehave heq : q+d=drewrite h_left_leftapply zero_addrewrite heqexact h_left_rightcases h_rightsplitrewrite <- h_right_rightspecialize le_add_right (q)specialize le_add_right (d)apply le_add_rightrewrite h_right_rightspecialize le_refl (L)apply le_refl
prime_field_polynomial_trim_represented_degree · unchanged support, not a new admission
forall p b c L t d e M q. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_trim_degree_inputinput. (exists fom_gap_pfp_trim_degree_inputinput_index_bound. fom_gap_pfp_trim_degree_inputinput_index_bound + S (fom_index_pfp_trim_degree_inputinput) = L) -> exists fom_value_pfp_trim_degree_inputinput. ((((exists fom_beta_height_pfp_trim_degree_inputinput_entry. fom_beta_height_pfp_trim_degree_inputinput_entry + S (fom_value_pfp_trim_degree_inputinput) = S ((S (fom_index_pfp_trim_degree_inputinput)) * c)) /\ exists fom_beta_quotient_pfp_trim_degree_inputinput_entry. b = fom_beta_quotient_pfp_trim_degree_inputinput_entry * S ((S (fom_index_pfp_trim_degree_inputinput)) * c) + (fom_value_pfp_trim_degree_inputinput))) /\ (exists fom_gap_pfp_trim_degree_inputinput_value_bound. fom_gap_pfp_trim_degree_inputinput_value_bound + S (fom_value_pfp_trim_degree_inputinput) = p))) /\ (((forall pfp_repeat_index_trim_degree_inputremoved. (exists pfa_gap_trim_degree_inputremovedindex. pfa_gap_trim_degree_inputremovedindex + S (pfp_repeat_index_trim_degree_inputremoved) = (t)) -> (((exists ff_h_pfp_trim_degree_inputremovedentry. ff_h_pfp_trim_degree_inputremovedentry + S (0) = S ((S (pfp_repeat_index_trim_degree_inputremoved)) * c)) /\ exists ff_q_pfp_trim_degree_inputremovedentry. b = ff_q_pfp_trim_degree_inputremovedentry * S ((S (pfp_repeat_index_trim_degree_inputremoved)) * c) + (0)))) /\ (((forall pftrim_index_trim_degree_inputsuffix pftrim_value_trim_degree_inputsuffix. (exists pfa_gap_trim_degree_inputsuffixbound. pfa_gap_trim_degree_inputsuffixbound + S (pftrim_index_trim_degree_inputsuffix) = (M)) -> (((exists ff_h_pfp_trim_degree_inputsuffixsource. ff_h_pfp_trim_degree_inputsuffixsource + S (pftrim_value_trim_degree_inputsuffix) = S ((S ((t)+pftrim_index_trim_degree_inputsuffix)) * c)) /\ exists ff_q_pfp_trim_degree_inputsuffixsource. b = ff_q_pfp_trim_degree_inputsuffixsource * S ((S ((t)+pftrim_index_trim_degree_inputsuffix)) * c) + (pftrim_value_trim_degree_inputsuffix))) -> (((exists ff_h_pfp_trim_degree_inputsuffixoutput. ff_h_pfp_trim_degree_inputsuffixoutput + S (pftrim_value_trim_degree_inputsuffix) = S ((S (pftrim_index_trim_degree_inputsuffix)) * e)) /\ exists ff_q_pfp_trim_degree_inputsuffixoutput. d = ff_q_pfp_trim_degree_inputsuffixoutput * S ((S (pftrim_index_trim_degree_inputsuffix)) * e) + (pftrim_value_trim_degree_inputsuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_trim_degree_inputnormal. ((((exists ff_h_pfp_trim_degree_inputnormalentry. ff_h_pfp_trim_degree_inputnormalentry + S (pftrim_leading_trim_degree_inputnormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_degree_inputnormalentry. d = ff_q_pfp_trim_degree_inputnormalentry * S ((S (0)) * e) + (pftrim_leading_trim_degree_inputnormal))) /\ ((~(pftrim_leading_trim_degree_inputnormal=0))))))))))))))) -> M=S q -> ((((M)=S (q)) /\ (((forall fom_index_pfp_trim_degree_resultcoefficients. (exists fom_gap_pfp_trim_degree_resultcoefficients_index_bound. fom_gap_pfp_trim_degree_resultcoefficients_index_bound + S (fom_index_pfp_trim_degree_resultcoefficients) = M) -> exists fom_value_pfp_trim_degree_resultcoefficients. ((((exists fom_beta_height_pfp_trim_degree_resultcoefficients_entry. fom_beta_height_pfp_trim_degree_resultcoefficients_entry + S (fom_value_pfp_trim_degree_resultcoefficients) = S ((S (fom_index_pfp_trim_degree_resultcoefficients)) * e)) /\ exists fom_beta_quotient_pfp_trim_degree_resultcoefficients_entry. d = fom_beta_quotient_pfp_trim_degree_resultcoefficients_entry * S ((S (fom_index_pfp_trim_degree_resultcoefficients)) * e) + (fom_value_pfp_trim_degree_resultcoefficients))) /\ (exists fom_gap_pfp_trim_degree_resultcoefficients_value_bound. fom_gap_pfp_trim_degree_resultcoefficients_value_bound + S (fom_value_pfp_trim_degree_resultcoefficients) = p))) /\ ((exists pfd_leading_trim_degree_result. ((((exists ff_h_pfp_trim_degree_resultentry. ff_h_pfp_trim_degree_resultentry + S (pfd_leading_trim_degree_result) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_degree_resultentry. d = ff_q_pfp_trim_degree_resultentry * S ((S (0)) * e) + (pfd_leading_trim_degree_result))) /\ ((~(pfd_leading_trim_degree_result=0))))))))))
intro pintro bintro cintro Lintro tintro dintro eintro Mintro qintro hintro hlensplitexact hlensplitspecialize prime_field_polynomial_trim_output_coefficients (p)specialize prime_field_polynomial_trim_output_coefficients (b)specialize prime_field_polynomial_trim_output_coefficients (c)specialize prime_field_polynomial_trim_output_coefficients (L)specialize prime_field_polynomial_trim_output_coefficients (t)specialize prime_field_polynomial_trim_output_coefficients (d)specialize prime_field_polynomial_trim_output_coefficients (e)specialize prime_field_polynomial_trim_output_coefficients (M)apply prime_field_polynomial_trim_output_coefficientsexact hcases hcases h_rightcases h_right_rightcases h_right_right_rightcases h_right_right_right_rightexfalsohave hz : S q=0trans Msymmexact hlenexact h_right_right_right_right_leftspecialize succ_ne_zero (q)apply succ_ne_zeroexact hzexact h_right_right_right_right_right
prime_field_polynomial_trim_bounded_degree · unchanged support, not a new admission
forall p ub uc L t rb rc R d. ((((L)=(t)+(R)) /\ (((forall fom_index_pfp_division_remainder_degree_triminput. (exists fom_gap_pfp_division_remainder_degree_triminput_index_bound. fom_gap_pfp_division_remainder_degree_triminput_index_bound + S (fom_index_pfp_division_remainder_degree_triminput) = L) -> exists fom_value_pfp_division_remainder_degree_triminput. ((((exists fom_beta_height_pfp_division_remainder_degree_triminput_entry. fom_beta_height_pfp_division_remainder_degree_triminput_entry + S (fom_value_pfp_division_remainder_degree_triminput) = S ((S (fom_index_pfp_division_remainder_degree_triminput)) * uc)) /\ exists fom_beta_quotient_pfp_division_remainder_degree_triminput_entry. ub = fom_beta_quotient_pfp_division_remainder_degree_triminput_entry * S ((S (fom_index_pfp_division_remainder_degree_triminput)) * uc) + (fom_value_pfp_division_remainder_degree_triminput))) /\ (exists fom_gap_pfp_division_remainder_degree_triminput_value_bound. fom_gap_pfp_division_remainder_degree_triminput_value_bound + S (fom_value_pfp_division_remainder_degree_triminput) = p))) /\ (((forall pfp_repeat_index_division_remainder_degree_trimremoved. (exists pfa_gap_division_remainder_degree_trimremovedindex. pfa_gap_division_remainder_degree_trimremovedindex + S (pfp_repeat_index_division_remainder_degree_trimremoved) = (t)) -> (((exists ff_h_pfp_division_remainder_degree_trimremovedentry. ff_h_pfp_division_remainder_degree_trimremovedentry + S (0) = S ((S (pfp_repeat_index_division_remainder_degree_trimremoved)) * uc)) /\ exists ff_q_pfp_division_remainder_degree_trimremovedentry. ub = ff_q_pfp_division_remainder_degree_trimremovedentry * S ((S (pfp_repeat_index_division_remainder_degree_trimremoved)) * uc) + (0)))) /\ (((forall pftrim_index_division_remainder_degree_trimsuffix pftrim_value_division_remainder_degree_trimsuffix. (exists pfa_gap_division_remainder_degree_trimsuffixbound. pfa_gap_division_remainder_degree_trimsuffixbound + S (pftrim_index_division_remainder_degree_trimsuffix) = (R)) -> (((exists ff_h_pfp_division_remainder_degree_trimsuffixsource. ff_h_pfp_division_remainder_degree_trimsuffixsource + S (pftrim_value_division_remainder_degree_trimsuffix) = S ((S ((t)+pftrim_index_division_remainder_degree_trimsuffix)) * uc)) /\ exists ff_q_pfp_division_remainder_degree_trimsuffixsource. ub = ff_q_pfp_division_remainder_degree_trimsuffixsource * S ((S ((t)+pftrim_index_division_remainder_degree_trimsuffix)) * uc) + (pftrim_value_division_remainder_degree_trimsuffix))) -> (((exists ff_h_pfp_division_remainder_degree_trimsuffixoutput. ff_h_pfp_division_remainder_degree_trimsuffixoutput + S (pftrim_value_division_remainder_degree_trimsuffix) = S ((S (pftrim_index_division_remainder_degree_trimsuffix)) * rc)) /\ exists ff_q_pfp_division_remainder_degree_trimsuffixoutput. rb = ff_q_pfp_division_remainder_degree_trimsuffixoutput * S ((S (pftrim_index_division_remainder_degree_trimsuffix)) * rc) + (pftrim_value_division_remainder_degree_trimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_remainder_degree_trimnormal. ((((exists ff_h_pfp_division_remainder_degree_trimnormalentry. ff_h_pfp_division_remainder_degree_trimnormalentry + S (pftrim_leading_division_remainder_degree_trimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_remainder_degree_trimnormalentry. rb = ff_q_pfp_division_remainder_degree_trimnormalentry * S ((S (0)) * rc) + (pftrim_leading_division_remainder_degree_trimnormal))) /\ ((~(pftrim_leading_division_remainder_degree_trimnormal=0))))))))))))))) -> (exists pfc_gap_division_remainder_degree_bound. pfc_gap_division_remainder_degree_bound+(R)=(d)) -> ((R)=0 \/ (exists pfd_remainder_degree_division_remainder_degree. (((((R)=S (pfd_remainder_degree_division_remainder_degree)) /\ (((forall fom_index_pfp_division_remainder_degreerepresentedcoefficients. (exists fom_gap_pfp_division_remainder_degreerepresentedcoefficients_index_bound. fom_gap_pfp_division_remainder_degreerepresentedcoefficients_index_bound + S (fom_index_pfp_division_remainder_degreerepresentedcoefficients) = R) -> exists fom_value_pfp_division_remainder_degreerepresentedcoefficients. ((((exists fom_beta_height_pfp_division_remainder_degreerepresentedcoefficients_entry. fom_beta_height_pfp_division_remainder_degreerepresentedcoefficients_entry + S (fom_value_pfp_division_remainder_degreerepresentedcoefficients) = S ((S (fom_index_pfp_division_remainder_degreerepresentedcoefficients)) * rc)) /\ exists fom_beta_quotient_pfp_division_remainder_degreerepresentedcoefficients_entry. rb = fom_beta_quotient_pfp_division_remainder_degreerepresentedcoefficients_entry * S ((S (fom_index_pfp_division_remainder_degreerepresentedcoefficients)) * rc) + (fom_value_pfp_division_remainder_degreerepresentedcoefficients))) /\ (exists fom_gap_pfp_division_remainder_degreerepresentedcoefficients_value_bound. fom_gap_pfp_division_remainder_degreerepresentedcoefficients_value_bound + S (fom_value_pfp_division_remainder_degreerepresentedcoefficients) = p))) /\ ((exists pfd_leading_division_remainder_degreerepresented. ((((exists ff_h_pfp_division_remainder_degreerepresentedentry. ff_h_pfp_division_remainder_degreerepresentedentry + S (pfd_leading_division_remainder_degreerepresented) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_remainder_degreerepresentedentry. rb = ff_q_pfp_division_remainder_degreerepresentedentry * S ((S (0)) * rc) + (pfd_leading_division_remainder_degreerepresented))) /\ ((~(pfd_leading_division_remainder_degreerepresented=0)))))))))) /\ ((exists pfa_gap_division_remainder_degreestrict. pfa_gap_division_remainder_degreestrict + S (pfd_remainder_degree_division_remainder_degree) = (d))))))
intro pintro ubintro ucintro Lintro tintro rbintro rcintro Rintro dintro htintro hboundhave hR : R=0 \/ exists e. R=S especialize zero_or_succ (R)apply zero_or_succcases hRleftexact hR_leftcases hR_rightrightexists xsplitspecialize prime_field_polynomial_trim_represented_degree (p)specialize prime_field_polynomial_trim_represented_degree (ub)specialize prime_field_polynomial_trim_represented_degree (uc)specialize prime_field_polynomial_trim_represented_degree (L)specialize prime_field_polynomial_trim_represented_degree (t)specialize prime_field_polynomial_trim_represented_degree (rb)specialize prime_field_polynomial_trim_represented_degree (rc)specialize prime_field_polynomial_trim_represented_degree (R)specialize prime_field_polynomial_trim_represented_degree (x)apply prime_field_polynomial_trim_represented_degreeexact htexact hR_right_witnessrewrite hR_right_witness at hboundexact hbound
prime_field_polynomial_trim_leading_source_nonzero · unchanged support, not a new admission
forall p b c L t d e M a. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_trim_nonzero_sourceinput. (exists fom_gap_pfp_trim_nonzero_sourceinput_index_bound. fom_gap_pfp_trim_nonzero_sourceinput_index_bound + S (fom_index_pfp_trim_nonzero_sourceinput) = L) -> exists fom_value_pfp_trim_nonzero_sourceinput. ((((exists fom_beta_height_pfp_trim_nonzero_sourceinput_entry. fom_beta_height_pfp_trim_nonzero_sourceinput_entry + S (fom_value_pfp_trim_nonzero_sourceinput) = S ((S (fom_index_pfp_trim_nonzero_sourceinput)) * c)) /\ exists fom_beta_quotient_pfp_trim_nonzero_sourceinput_entry. b = fom_beta_quotient_pfp_trim_nonzero_sourceinput_entry * S ((S (fom_index_pfp_trim_nonzero_sourceinput)) * c) + (fom_value_pfp_trim_nonzero_sourceinput))) /\ (exists fom_gap_pfp_trim_nonzero_sourceinput_value_bound. fom_gap_pfp_trim_nonzero_sourceinput_value_bound + S (fom_value_pfp_trim_nonzero_sourceinput) = p))) /\ (((forall pfp_repeat_index_trim_nonzero_sourceremoved. (exists pfa_gap_trim_nonzero_sourceremovedindex. pfa_gap_trim_nonzero_sourceremovedindex + S (pfp_repeat_index_trim_nonzero_sourceremoved) = (t)) -> (((exists ff_h_pfp_trim_nonzero_sourceremovedentry. ff_h_pfp_trim_nonzero_sourceremovedentry + S (0) = S ((S (pfp_repeat_index_trim_nonzero_sourceremoved)) * c)) /\ exists ff_q_pfp_trim_nonzero_sourceremovedentry. b = ff_q_pfp_trim_nonzero_sourceremovedentry * S ((S (pfp_repeat_index_trim_nonzero_sourceremoved)) * c) + (0)))) /\ (((forall pftrim_index_trim_nonzero_sourcesuffix pftrim_value_trim_nonzero_sourcesuffix. (exists pfa_gap_trim_nonzero_sourcesuffixbound. pfa_gap_trim_nonzero_sourcesuffixbound + S (pftrim_index_trim_nonzero_sourcesuffix) = (M)) -> (((exists ff_h_pfp_trim_nonzero_sourcesuffixsource. ff_h_pfp_trim_nonzero_sourcesuffixsource + S (pftrim_value_trim_nonzero_sourcesuffix) = S ((S ((t)+pftrim_index_trim_nonzero_sourcesuffix)) * c)) /\ exists ff_q_pfp_trim_nonzero_sourcesuffixsource. b = ff_q_pfp_trim_nonzero_sourcesuffixsource * S ((S ((t)+pftrim_index_trim_nonzero_sourcesuffix)) * c) + (pftrim_value_trim_nonzero_sourcesuffix))) -> (((exists ff_h_pfp_trim_nonzero_sourcesuffixoutput. ff_h_pfp_trim_nonzero_sourcesuffixoutput + S (pftrim_value_trim_nonzero_sourcesuffix) = S ((S (pftrim_index_trim_nonzero_sourcesuffix)) * e)) /\ exists ff_q_pfp_trim_nonzero_sourcesuffixoutput. d = ff_q_pfp_trim_nonzero_sourcesuffixoutput * S ((S (pftrim_index_trim_nonzero_sourcesuffix)) * e) + (pftrim_value_trim_nonzero_sourcesuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_trim_nonzero_sourcenormal. ((((exists ff_h_pfp_trim_nonzero_sourcenormalentry. ff_h_pfp_trim_nonzero_sourcenormalentry + S (pftrim_leading_trim_nonzero_sourcenormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_nonzero_sourcenormalentry. d = ff_q_pfp_trim_nonzero_sourcenormalentry * S ((S (0)) * e) + (pftrim_leading_trim_nonzero_sourcenormal))) /\ ((~(pftrim_leading_trim_nonzero_sourcenormal=0))))))))))))))) -> ~(M=0) -> (((exists ff_h_pfp_trim_leading_input. ff_h_pfp_trim_leading_input + S (a) = S ((S (t)) * c)) /\ exists ff_q_pfp_trim_leading_input. b = ff_q_pfp_trim_leading_input * S ((S (t)) * c) + (a))) -> ~(a=0)
intro pintro bintro cintro Lintro tintro dintro eintro Mintro aintro hintro hMintro hacases hcases h_rightcases h_right_rightcases h_right_right_rightcases h_right_right_right_rightexfalsoapply hMexact h_right_right_right_right_leftcases h_right_right_right_right_rightcases h_right_right_right_right_right_witnesshave hout : ((exists ff_h_pfp_trim_head_transported. ff_h_pfp_trim_head_transported + S (a) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_head_transported. d = ff_q_pfp_trim_head_transported * S ((S (0)) * e) + (a))specialize h_right_right_right_left (0)specialize h_right_right_right_left (a)apply h_right_right_right_leftspecialize one_le_of_ne_zero (M)apply one_le_of_ne_zeroexact hMhave hindex : t+0=tsimprewrite hindexrewrite hindexexact hahave heq : a=xspecialize beta_at_unique (d)specialize beta_at_unique (e)specialize beta_at_unique (0)specialize beta_at_unique (a)specialize beta_at_unique (x)apply beta_at_uniqueexact houtexact h_right_right_right_right_right_witness_leftintro hzapply h_right_right_right_right_right_witness_righttrans asymmexact heqexact hz
prime_field_polynomial_trim_zero_prefix_cut_bound · unchanged support, not a new admission
forall p ub uc L t rb rc R q. (exists pfc_gap_division_cut_length. pfc_gap_division_cut_length+(q)=(L)) -> (forall pfp_repeat_index_division_cut_zero. (exists pfa_gap_division_cut_zeroindex. pfa_gap_division_cut_zeroindex + S (pfp_repeat_index_division_cut_zero) = (q)) -> (((exists ff_h_pfp_division_cut_zeroentry. ff_h_pfp_division_cut_zeroentry + S (0) = S ((S (pfp_repeat_index_division_cut_zero)) * uc)) /\ exists ff_q_pfp_division_cut_zeroentry. ub = ff_q_pfp_division_cut_zeroentry * S ((S (pfp_repeat_index_division_cut_zero)) * uc) + (0)))) -> ((((L)=(t)+(R)) /\ (((forall fom_index_pfp_division_cut_triminput. (exists fom_gap_pfp_division_cut_triminput_index_bound. fom_gap_pfp_division_cut_triminput_index_bound + S (fom_index_pfp_division_cut_triminput) = L) -> exists fom_value_pfp_division_cut_triminput. ((((exists fom_beta_height_pfp_division_cut_triminput_entry. fom_beta_height_pfp_division_cut_triminput_entry + S (fom_value_pfp_division_cut_triminput) = S ((S (fom_index_pfp_division_cut_triminput)) * uc)) /\ exists fom_beta_quotient_pfp_division_cut_triminput_entry. ub = fom_beta_quotient_pfp_division_cut_triminput_entry * S ((S (fom_index_pfp_division_cut_triminput)) * uc) + (fom_value_pfp_division_cut_triminput))) /\ (exists fom_gap_pfp_division_cut_triminput_value_bound. fom_gap_pfp_division_cut_triminput_value_bound + S (fom_value_pfp_division_cut_triminput) = p))) /\ (((forall pfp_repeat_index_division_cut_trimremoved. (exists pfa_gap_division_cut_trimremovedindex. pfa_gap_division_cut_trimremovedindex + S (pfp_repeat_index_division_cut_trimremoved) = (t)) -> (((exists ff_h_pfp_division_cut_trimremovedentry. ff_h_pfp_division_cut_trimremovedentry + S (0) = S ((S (pfp_repeat_index_division_cut_trimremoved)) * uc)) /\ exists ff_q_pfp_division_cut_trimremovedentry. ub = ff_q_pfp_division_cut_trimremovedentry * S ((S (pfp_repeat_index_division_cut_trimremoved)) * uc) + (0)))) /\ (((forall pftrim_index_division_cut_trimsuffix pftrim_value_division_cut_trimsuffix. (exists pfa_gap_division_cut_trimsuffixbound. pfa_gap_division_cut_trimsuffixbound + S (pftrim_index_division_cut_trimsuffix) = (R)) -> (((exists ff_h_pfp_division_cut_trimsuffixsource. ff_h_pfp_division_cut_trimsuffixsource + S (pftrim_value_division_cut_trimsuffix) = S ((S ((t)+pftrim_index_division_cut_trimsuffix)) * uc)) /\ exists ff_q_pfp_division_cut_trimsuffixsource. ub = ff_q_pfp_division_cut_trimsuffixsource * S ((S ((t)+pftrim_index_division_cut_trimsuffix)) * uc) + (pftrim_value_division_cut_trimsuffix))) -> (((exists ff_h_pfp_division_cut_trimsuffixoutput. ff_h_pfp_division_cut_trimsuffixoutput + S (pftrim_value_division_cut_trimsuffix) = S ((S (pftrim_index_division_cut_trimsuffix)) * rc)) /\ exists ff_q_pfp_division_cut_trimsuffixoutput. rb = ff_q_pfp_division_cut_trimsuffixoutput * S ((S (pftrim_index_division_cut_trimsuffix)) * rc) + (pftrim_value_division_cut_trimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_cut_trimnormal. ((((exists ff_h_pfp_division_cut_trimnormalentry. ff_h_pfp_division_cut_trimnormalentry + S (pftrim_leading_division_cut_trimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_cut_trimnormalentry. rb = ff_q_pfp_division_cut_trimnormalentry * S ((S (0)) * rc) + (pftrim_leading_division_cut_trimnormal))) /\ ((~(pftrim_leading_division_cut_trimnormal=0))))))))))))))) -> (exists pfc_gap_division_cut_result. pfc_gap_division_cut_result+(q)=(t))
intro pintro ubintro ucintro Lintro tintro rbintro rcintro Rintro qintro hlenintro hzintro hthave horder : (exists pfc_gap_division_cut_before. pfc_gap_division_cut_before+(q)=(t)) \/ (exists pfa_gap_division_cut_inside. pfa_gap_division_cut_inside + S (t) = (q))specialize le_or_lt (q)specialize le_or_lt (t)apply le_or_ltcases horderexact horder_lefthave hR : R=0 \/ ~(R=0)specialize eq_decidable (R)specialize eq_decidable (0)apply eq_decidablecases hRhave hcopy : (((L)=(t)+(R)) /\ (((forall fom_index_pfp_division_cut_copyinput. (exists fom_gap_pfp_division_cut_copyinput_index_bound. fom_gap_pfp_division_cut_copyinput_index_bound + S (fom_index_pfp_division_cut_copyinput) = L) -> exists fom_value_pfp_division_cut_copyinput. ((((exists fom_beta_height_pfp_division_cut_copyinput_entry. fom_beta_height_pfp_division_cut_copyinput_entry + S (fom_value_pfp_division_cut_copyinput) = S ((S (fom_index_pfp_division_cut_copyinput)) * uc)) /\ exists fom_beta_quotient_pfp_division_cut_copyinput_entry. ub = fom_beta_quotient_pfp_division_cut_copyinput_entry * S ((S (fom_index_pfp_division_cut_copyinput)) * uc) + (fom_value_pfp_division_cut_copyinput))) /\ (exists fom_gap_pfp_division_cut_copyinput_value_bound. fom_gap_pfp_division_cut_copyinput_value_bound + S (fom_value_pfp_division_cut_copyinput) = p))) /\ (((forall pfp_repeat_index_division_cut_copyremoved. (exists pfa_gap_division_cut_copyremovedindex. pfa_gap_division_cut_copyremovedindex + S (pfp_repeat_index_division_cut_copyremoved) = (t)) -> (((exists ff_h_pfp_division_cut_copyremovedentry. ff_h_pfp_division_cut_copyremovedentry + S (0) = S ((S (pfp_repeat_index_division_cut_copyremoved)) * uc)) /\ exists ff_q_pfp_division_cut_copyremovedentry. ub = ff_q_pfp_division_cut_copyremovedentry * S ((S (pfp_repeat_index_division_cut_copyremoved)) * uc) + (0)))) /\ (((forall pftrim_index_division_cut_copysuffix pftrim_value_division_cut_copysuffix. (exists pfa_gap_division_cut_copysuffixbound. pfa_gap_division_cut_copysuffixbound + S (pftrim_index_division_cut_copysuffix) = (R)) -> (((exists ff_h_pfp_division_cut_copysuffixsource. ff_h_pfp_division_cut_copysuffixsource + S (pftrim_value_division_cut_copysuffix) = S ((S ((t)+pftrim_index_division_cut_copysuffix)) * uc)) /\ exists ff_q_pfp_division_cut_copysuffixsource. ub = ff_q_pfp_division_cut_copysuffixsource * S ((S ((t)+pftrim_index_division_cut_copysuffix)) * uc) + (pftrim_value_division_cut_copysuffix))) -> (((exists ff_h_pfp_division_cut_copysuffixoutput. ff_h_pfp_division_cut_copysuffixoutput + S (pftrim_value_division_cut_copysuffix) = S ((S (pftrim_index_division_cut_copysuffix)) * rc)) /\ exists ff_q_pfp_division_cut_copysuffixoutput. rb = ff_q_pfp_division_cut_copysuffixoutput * S ((S (pftrim_index_division_cut_copysuffix)) * rc) + (pftrim_value_division_cut_copysuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_cut_copynormal. ((((exists ff_h_pfp_division_cut_copynormalentry. ff_h_pfp_division_cut_copynormalentry + S (pftrim_leading_division_cut_copynormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_cut_copynormalentry. rb = ff_q_pfp_division_cut_copynormalentry * S ((S (0)) * rc) + (pftrim_leading_division_cut_copynormal))) /\ ((~(pftrim_leading_division_cut_copynormal=0))))))))))))))exact htcases hcopycases hcopy_rightcases hcopy_right_rightcases hcopy_right_right_righthave hLt : L=ttrans t+Rexact hcopy_leftrewrite hR_leftsimprewrite hLt at hlenexact hlenexfalsospecialize prime_field_polynomial_trim_leading_source_nonzero (p)specialize prime_field_polynomial_trim_leading_source_nonzero (ub)specialize prime_field_polynomial_trim_leading_source_nonzero (uc)specialize prime_field_polynomial_trim_leading_source_nonzero (L)specialize prime_field_polynomial_trim_leading_source_nonzero (t)specialize prime_field_polynomial_trim_leading_source_nonzero (rb)specialize prime_field_polynomial_trim_leading_source_nonzero (rc)specialize prime_field_polynomial_trim_leading_source_nonzero (R)specialize prime_field_polynomial_trim_leading_source_nonzero (0)apply prime_field_polynomial_trim_leading_source_nonzeroexact htexact hR_rightspecialize hz (t)apply hzexact horder_rightrefl
prime_field_polynomial_trim_zero_prefix_remainder_bound · unchanged support, not a new admission
forall p ub uc L t rb rc R q d. (exists pfc_gap_division_remainder_quotient_length. pfc_gap_division_remainder_quotient_length+(q)=(L)) -> (exists pfc_gap_division_remainder_cover_length. pfc_gap_division_remainder_cover_length+(L)=(q+d)) -> (forall pfp_repeat_index_division_remainder_zero. (exists pfa_gap_division_remainder_zeroindex. pfa_gap_division_remainder_zeroindex + S (pfp_repeat_index_division_remainder_zero) = (q)) -> (((exists ff_h_pfp_division_remainder_zeroentry. ff_h_pfp_division_remainder_zeroentry + S (0) = S ((S (pfp_repeat_index_division_remainder_zero)) * uc)) /\ exists ff_q_pfp_division_remainder_zeroentry. ub = ff_q_pfp_division_remainder_zeroentry * S ((S (pfp_repeat_index_division_remainder_zero)) * uc) + (0)))) -> ((((L)=(t)+(R)) /\ (((forall fom_index_pfp_division_remainder_triminput. (exists fom_gap_pfp_division_remainder_triminput_index_bound. fom_gap_pfp_division_remainder_triminput_index_bound + S (fom_index_pfp_division_remainder_triminput) = L) -> exists fom_value_pfp_division_remainder_triminput. ((((exists fom_beta_height_pfp_division_remainder_triminput_entry. fom_beta_height_pfp_division_remainder_triminput_entry + S (fom_value_pfp_division_remainder_triminput) = S ((S (fom_index_pfp_division_remainder_triminput)) * uc)) /\ exists fom_beta_quotient_pfp_division_remainder_triminput_entry. ub = fom_beta_quotient_pfp_division_remainder_triminput_entry * S ((S (fom_index_pfp_division_remainder_triminput)) * uc) + (fom_value_pfp_division_remainder_triminput))) /\ (exists fom_gap_pfp_division_remainder_triminput_value_bound. fom_gap_pfp_division_remainder_triminput_value_bound + S (fom_value_pfp_division_remainder_triminput) = p))) /\ (((forall pfp_repeat_index_division_remainder_trimremoved. (exists pfa_gap_division_remainder_trimremovedindex. pfa_gap_division_remainder_trimremovedindex + S (pfp_repeat_index_division_remainder_trimremoved) = (t)) -> (((exists ff_h_pfp_division_remainder_trimremovedentry. ff_h_pfp_division_remainder_trimremovedentry + S (0) = S ((S (pfp_repeat_index_division_remainder_trimremoved)) * uc)) /\ exists ff_q_pfp_division_remainder_trimremovedentry. ub = ff_q_pfp_division_remainder_trimremovedentry * S ((S (pfp_repeat_index_division_remainder_trimremoved)) * uc) + (0)))) /\ (((forall pftrim_index_division_remainder_trimsuffix pftrim_value_division_remainder_trimsuffix. (exists pfa_gap_division_remainder_trimsuffixbound. pfa_gap_division_remainder_trimsuffixbound + S (pftrim_index_division_remainder_trimsuffix) = (R)) -> (((exists ff_h_pfp_division_remainder_trimsuffixsource. ff_h_pfp_division_remainder_trimsuffixsource + S (pftrim_value_division_remainder_trimsuffix) = S ((S ((t)+pftrim_index_division_remainder_trimsuffix)) * uc)) /\ exists ff_q_pfp_division_remainder_trimsuffixsource. ub = ff_q_pfp_division_remainder_trimsuffixsource * S ((S ((t)+pftrim_index_division_remainder_trimsuffix)) * uc) + (pftrim_value_division_remainder_trimsuffix))) -> (((exists ff_h_pfp_division_remainder_trimsuffixoutput. ff_h_pfp_division_remainder_trimsuffixoutput + S (pftrim_value_division_remainder_trimsuffix) = S ((S (pftrim_index_division_remainder_trimsuffix)) * rc)) /\ exists ff_q_pfp_division_remainder_trimsuffixoutput. rb = ff_q_pfp_division_remainder_trimsuffixoutput * S ((S (pftrim_index_division_remainder_trimsuffix)) * rc) + (pftrim_value_division_remainder_trimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_remainder_trimnormal. ((((exists ff_h_pfp_division_remainder_trimnormalentry. ff_h_pfp_division_remainder_trimnormalentry + S (pftrim_leading_division_remainder_trimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_remainder_trimnormalentry. rb = ff_q_pfp_division_remainder_trimnormalentry * S ((S (0)) * rc) + (pftrim_leading_division_remainder_trimnormal))) /\ ((~(pftrim_leading_division_remainder_trimnormal=0))))))))))))))) -> (exists pfc_gap_division_remainder_bound. pfc_gap_division_remainder_bound+(R)=(d))
intro pintro ubintro ucintro Lintro tintro rbintro rcintro Rintro qintro dintro hqLintro hLdintro hzintro hthave hqt : exists pfc_gap_division_remainder_cut. pfc_gap_division_remainder_cut+(q)=(t)specialize prime_field_polynomial_trim_zero_prefix_cut_bound (p)specialize prime_field_polynomial_trim_zero_prefix_cut_bound (ub)specialize prime_field_polynomial_trim_zero_prefix_cut_bound (uc)specialize prime_field_polynomial_trim_zero_prefix_cut_bound (L)specialize prime_field_polynomial_trim_zero_prefix_cut_bound (t)specialize prime_field_polynomial_trim_zero_prefix_cut_bound (rb)specialize prime_field_polynomial_trim_zero_prefix_cut_bound (rc)specialize prime_field_polynomial_trim_zero_prefix_cut_bound (R)specialize prime_field_polynomial_trim_zero_prefix_cut_bound (q)apply prime_field_polynomial_trim_zero_prefix_cut_boundexact hqLexact hzexact hthave hcopy : (((L)=(t)+(R)) /\ (((forall fom_index_pfp_division_remainder_copyinput. (exists fom_gap_pfp_division_remainder_copyinput_index_bound. fom_gap_pfp_division_remainder_copyinput_index_bound + S (fom_index_pfp_division_remainder_copyinput) = L) -> exists fom_value_pfp_division_remainder_copyinput. ((((exists fom_beta_height_pfp_division_remainder_copyinput_entry. fom_beta_height_pfp_division_remainder_copyinput_entry + S (fom_value_pfp_division_remainder_copyinput) = S ((S (fom_index_pfp_division_remainder_copyinput)) * uc)) /\ exists fom_beta_quotient_pfp_division_remainder_copyinput_entry. ub = fom_beta_quotient_pfp_division_remainder_copyinput_entry * S ((S (fom_index_pfp_division_remainder_copyinput)) * uc) + (fom_value_pfp_division_remainder_copyinput))) /\ (exists fom_gap_pfp_division_remainder_copyinput_value_bound. fom_gap_pfp_division_remainder_copyinput_value_bound + S (fom_value_pfp_division_remainder_copyinput) = p))) /\ (((forall pfp_repeat_index_division_remainder_copyremoved. (exists pfa_gap_division_remainder_copyremovedindex. pfa_gap_division_remainder_copyremovedindex + S (pfp_repeat_index_division_remainder_copyremoved) = (t)) -> (((exists ff_h_pfp_division_remainder_copyremovedentry. ff_h_pfp_division_remainder_copyremovedentry + S (0) = S ((S (pfp_repeat_index_division_remainder_copyremoved)) * uc)) /\ exists ff_q_pfp_division_remainder_copyremovedentry. ub = ff_q_pfp_division_remainder_copyremovedentry * S ((S (pfp_repeat_index_division_remainder_copyremoved)) * uc) + (0)))) /\ (((forall pftrim_index_division_remainder_copysuffix pftrim_value_division_remainder_copysuffix. (exists pfa_gap_division_remainder_copysuffixbound. pfa_gap_division_remainder_copysuffixbound + S (pftrim_index_division_remainder_copysuffix) = (R)) -> (((exists ff_h_pfp_division_remainder_copysuffixsource. ff_h_pfp_division_remainder_copysuffixsource + S (pftrim_value_division_remainder_copysuffix) = S ((S ((t)+pftrim_index_division_remainder_copysuffix)) * uc)) /\ exists ff_q_pfp_division_remainder_copysuffixsource. ub = ff_q_pfp_division_remainder_copysuffixsource * S ((S ((t)+pftrim_index_division_remainder_copysuffix)) * uc) + (pftrim_value_division_remainder_copysuffix))) -> (((exists ff_h_pfp_division_remainder_copysuffixoutput. ff_h_pfp_division_remainder_copysuffixoutput + S (pftrim_value_division_remainder_copysuffix) = S ((S (pftrim_index_division_remainder_copysuffix)) * rc)) /\ exists ff_q_pfp_division_remainder_copysuffixoutput. rb = ff_q_pfp_division_remainder_copysuffixoutput * S ((S (pftrim_index_division_remainder_copysuffix)) * rc) + (pftrim_value_division_remainder_copysuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_remainder_copynormal. ((((exists ff_h_pfp_division_remainder_copynormalentry. ff_h_pfp_division_remainder_copynormalentry + S (pftrim_leading_division_remainder_copynormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_remainder_copynormalentry. rb = ff_q_pfp_division_remainder_copynormalentry * S ((S (0)) * rc) + (pftrim_leading_division_remainder_copynormal))) /\ ((~(pftrim_leading_division_remainder_copynormal=0))))))))))))))exact htcases hcopycases hcopy_rightcases hcopy_right_rightcases hcopy_right_right_righthave htotal : R+t=Ltrans t+Rspecialize add_comm (R)specialize add_comm (t)apply add_commsymmexact hcopy_lefthave hpartial : exists pfc_gap_division_remainder_partial. pfc_gap_division_remainder_partial+(R+q)=(R+t)specialize add_le_add_left (q)specialize add_le_add_left (t)specialize add_le_add_left (R)apply add_le_add_leftexact hqtrewrite htotal at hpartialhave hfull : exists pfc_gap_division_remainder_full. pfc_gap_division_remainder_full+(R+q)=(q+d)specialize le_trans (R+q)specialize le_trans (L)specialize le_trans (q+d)apply le_transexact hpartialexact hLdhave hcomm : q+d=d+qspecialize add_comm (q)specialize add_comm (d)apply add_commrewrite hcomm at hfullspecialize add_le_cancel_right (R)specialize add_le_cancel_right (d)specialize add_le_cancel_right (q)apply add_le_cancel_rightexact hfull
prime_field_subtract_equal_zero · unchanged support, not a new admission
forall p a r. (~((p) = 1) /\ forall pfa_factor_left_scalar_equal_prime pfa_factor_right_scalar_equal_prime. (p) = pfa_factor_left_scalar_equal_prime * pfa_factor_right_scalar_equal_prime -> pfa_factor_left_scalar_equal_prime = 1 \/ pfa_factor_right_scalar_equal_prime = 1) -> (((exists pfa_gap_scalar_equal_sumleft. pfa_gap_scalar_equal_sumleft + S (a) = (p)) /\ (((exists pfa_gap_scalar_equal_sumright. pfa_gap_scalar_equal_sumright + S (r) = (p)) /\ ((((exists pfa_gap_scalar_equal_sumresultbound. pfa_gap_scalar_equal_sumresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_scalar_equal_sumresultcongruence pfa_offset_right_scalar_equal_sumresultcongruence. ((a) + (r)) + (p) * pfa_offset_left_scalar_equal_sumresultcongruence = (a) + (p) * pfa_offset_right_scalar_equal_sumresultcongruence))))))))) -> r=0
intro pintro aintro rintro hpintro hspecialize prime_field_add_cancel_left (p)specialize prime_field_add_cancel_left (a)specialize prime_field_add_cancel_left (r)specialize prime_field_add_cancel_left (0)specialize prime_field_add_cancel_left (a)apply prime_field_add_cancel_leftexact hspecialize prime_field_add_zero_right (p)specialize prime_field_add_zero_right (a)apply prime_field_add_zero_rightexact hpcases hexact h_left
prime_field_polynomial_subtract_equal_entry_zero · unchanged support, not a new admission
forall p ab ac bb bc rb rc l i a r. (~((p) = 1) /\ forall pfa_factor_left_sub_entry_zero_prime pfa_factor_right_sub_entry_zero_prime. (p) = pfa_factor_left_sub_entry_zero_prime * pfa_factor_right_sub_entry_zero_prime -> pfa_factor_left_sub_entry_zero_prime = 1 \/ pfa_factor_right_sub_entry_zero_prime = 1) -> (forall pfs_index_sub_entry_zero_graph. (exists pfa_gap_sub_entry_zero_graphindex. pfa_gap_sub_entry_zero_graphindex + S (pfs_index_sub_entry_zero_graph) = (l)) -> exists pfs_left_sub_entry_zero_graph pfs_right_sub_entry_zero_graph pfs_result_sub_entry_zero_graph. ((((exists ff_h_pfp_sub_entry_zero_graphleft. ff_h_pfp_sub_entry_zero_graphleft + S (pfs_left_sub_entry_zero_graph) = S ((S (pfs_index_sub_entry_zero_graph)) * ac)) /\ exists ff_q_pfp_sub_entry_zero_graphleft. ab = ff_q_pfp_sub_entry_zero_graphleft * S ((S (pfs_index_sub_entry_zero_graph)) * ac) + (pfs_left_sub_entry_zero_graph))) /\ (((((exists ff_h_pfp_sub_entry_zero_graphright. ff_h_pfp_sub_entry_zero_graphright + S (pfs_right_sub_entry_zero_graph) = S ((S (pfs_index_sub_entry_zero_graph)) * bc)) /\ exists ff_q_pfp_sub_entry_zero_graphright. bb = ff_q_pfp_sub_entry_zero_graphright * S ((S (pfs_index_sub_entry_zero_graph)) * bc) + (pfs_right_sub_entry_zero_graph))) /\ (((((exists ff_h_pfp_sub_entry_zero_graphresult. ff_h_pfp_sub_entry_zero_graphresult + S (pfs_result_sub_entry_zero_graph) = S ((S (pfs_index_sub_entry_zero_graph)) * rc)) /\ exists ff_q_pfp_sub_entry_zero_graphresult. rb = ff_q_pfp_sub_entry_zero_graphresult * S ((S (pfs_index_sub_entry_zero_graph)) * rc) + (pfs_result_sub_entry_zero_graph))) /\ ((((exists pfa_gap_sub_entry_zero_graphoperationleft. pfa_gap_sub_entry_zero_graphoperationleft + S (pfs_right_sub_entry_zero_graph) = (p)) /\ (((exists pfa_gap_sub_entry_zero_graphoperationright. pfa_gap_sub_entry_zero_graphoperationright + S (pfs_result_sub_entry_zero_graph) = (p)) /\ ((((exists pfa_gap_sub_entry_zero_graphoperationresultbound. pfa_gap_sub_entry_zero_graphoperationresultbound + S (pfs_left_sub_entry_zero_graph) = (p)) /\ ((exists pfa_offset_left_sub_entry_zero_graphoperationresultcongruence pfa_offset_right_sub_entry_zero_graphoperationresultcongruence. ((pfs_right_sub_entry_zero_graph) + (pfs_result_sub_entry_zero_graph)) + (p) * pfa_offset_left_sub_entry_zero_graphoperationresultcongruence = (pfs_left_sub_entry_zero_graph) + (p) * pfa_offset_right_sub_entry_zero_graphoperationresultcongruence)))))))))))))))) -> (exists pfa_gap_sub_entry_zero_index. pfa_gap_sub_entry_zero_index + S (i) = (l)) -> (((exists ff_h_pfp_sub_entry_zero_a. ff_h_pfp_sub_entry_zero_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_sub_entry_zero_a. ab = ff_q_pfp_sub_entry_zero_a * S ((S (i)) * ac) + (a))) -> (((exists ff_h_pfp_sub_entry_zero_b. ff_h_pfp_sub_entry_zero_b + S (a) = S ((S (i)) * bc)) /\ exists ff_q_pfp_sub_entry_zero_b. bb = ff_q_pfp_sub_entry_zero_b * S ((S (i)) * bc) + (a))) -> (((exists ff_h_pfp_sub_entry_zero_r. ff_h_pfp_sub_entry_zero_r + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_sub_entry_zero_r. rb = ff_q_pfp_sub_entry_zero_r * S ((S (i)) * rc) + (r))) -> r=0
intro pintro abintro acintro bbintro bcintro rbintro rcintro lintro iintro aintro rintro hpintro hintro hiintro haintro hbintro hrspecialize prime_field_subtract_equal_zero (p)specialize prime_field_subtract_equal_zero (a)specialize prime_field_subtract_equal_zero (r)apply prime_field_subtract_equal_zeroexact hpspecialize prime_field_polynomial_subtract_entry (p)specialize prime_field_polynomial_subtract_entry (ab)specialize prime_field_polynomial_subtract_entry (ac)specialize prime_field_polynomial_subtract_entry (bb)specialize prime_field_polynomial_subtract_entry (bc)specialize prime_field_polynomial_subtract_entry (rb)specialize prime_field_polynomial_subtract_entry (rc)specialize prime_field_polynomial_subtract_entry (l)specialize prime_field_polynomial_subtract_entry (i)specialize prime_field_polynomial_subtract_entry (a)specialize prime_field_polynomial_subtract_entry (a)specialize prime_field_polynomial_subtract_entry (r)apply prime_field_polynomial_subtract_entryexact hexact hiexact haexact hbexact hr
prime_field_polynomial_subtract_equal_zero · unchanged support, not a new admission
forall p ab ac bb bc rb rc l. (~((p) = 1) /\ forall pfa_factor_left_sub_equal_prime pfa_factor_right_sub_equal_prime. (p) = pfa_factor_left_sub_equal_prime * pfa_factor_right_sub_equal_prime -> pfa_factor_left_sub_equal_prime = 1 \/ pfa_factor_right_sub_equal_prime = 1) -> (forall mdr_i_pfp_sub_equal_inputs mdr_a_pfp_sub_equal_inputs. (exists mdr_gap_pfp_sub_equal_inputsb. mdr_gap_pfp_sub_equal_inputsb + S (mdr_i_pfp_sub_equal_inputs) = (l)) -> (((exists ff_h_mdr_pfp_sub_equal_inputso. ff_h_mdr_pfp_sub_equal_inputso + S (mdr_a_pfp_sub_equal_inputs) = S ((S (mdr_i_pfp_sub_equal_inputs)) * ac)) /\ exists ff_q_mdr_pfp_sub_equal_inputso. ab = ff_q_mdr_pfp_sub_equal_inputso * S ((S (mdr_i_pfp_sub_equal_inputs)) * ac) + (mdr_a_pfp_sub_equal_inputs))) -> (((exists ff_h_mdr_pfp_sub_equal_inputsn. ff_h_mdr_pfp_sub_equal_inputsn + S (mdr_a_pfp_sub_equal_inputs) = S ((S (mdr_i_pfp_sub_equal_inputs)) * bc)) /\ exists ff_q_mdr_pfp_sub_equal_inputsn. bb = ff_q_mdr_pfp_sub_equal_inputsn * S ((S (mdr_i_pfp_sub_equal_inputs)) * bc) + (mdr_a_pfp_sub_equal_inputs)))) -> (forall pfs_index_sub_equal_graph. (exists pfa_gap_sub_equal_graphindex. pfa_gap_sub_equal_graphindex + S (pfs_index_sub_equal_graph) = (l)) -> exists pfs_left_sub_equal_graph pfs_right_sub_equal_graph pfs_result_sub_equal_graph. ((((exists ff_h_pfp_sub_equal_graphleft. ff_h_pfp_sub_equal_graphleft + S (pfs_left_sub_equal_graph) = S ((S (pfs_index_sub_equal_graph)) * ac)) /\ exists ff_q_pfp_sub_equal_graphleft. ab = ff_q_pfp_sub_equal_graphleft * S ((S (pfs_index_sub_equal_graph)) * ac) + (pfs_left_sub_equal_graph))) /\ (((((exists ff_h_pfp_sub_equal_graphright. ff_h_pfp_sub_equal_graphright + S (pfs_right_sub_equal_graph) = S ((S (pfs_index_sub_equal_graph)) * bc)) /\ exists ff_q_pfp_sub_equal_graphright. bb = ff_q_pfp_sub_equal_graphright * S ((S (pfs_index_sub_equal_graph)) * bc) + (pfs_right_sub_equal_graph))) /\ (((((exists ff_h_pfp_sub_equal_graphresult. ff_h_pfp_sub_equal_graphresult + S (pfs_result_sub_equal_graph) = S ((S (pfs_index_sub_equal_graph)) * rc)) /\ exists ff_q_pfp_sub_equal_graphresult. rb = ff_q_pfp_sub_equal_graphresult * S ((S (pfs_index_sub_equal_graph)) * rc) + (pfs_result_sub_equal_graph))) /\ ((((exists pfa_gap_sub_equal_graphoperationleft. pfa_gap_sub_equal_graphoperationleft + S (pfs_right_sub_equal_graph) = (p)) /\ (((exists pfa_gap_sub_equal_graphoperationright. pfa_gap_sub_equal_graphoperationright + S (pfs_result_sub_equal_graph) = (p)) /\ ((((exists pfa_gap_sub_equal_graphoperationresultbound. pfa_gap_sub_equal_graphoperationresultbound + S (pfs_left_sub_equal_graph) = (p)) /\ ((exists pfa_offset_left_sub_equal_graphoperationresultcongruence pfa_offset_right_sub_equal_graphoperationresultcongruence. ((pfs_right_sub_equal_graph) + (pfs_result_sub_equal_graph)) + (p) * pfa_offset_left_sub_equal_graphoperationresultcongruence = (pfs_left_sub_equal_graph) + (p) * pfa_offset_right_sub_equal_graphoperationresultcongruence)))))))))))))))) -> (forall pfp_repeat_index_sub_equal_result. (exists pfa_gap_sub_equal_resultindex. pfa_gap_sub_equal_resultindex + S (pfp_repeat_index_sub_equal_result) = (l)) -> (((exists ff_h_pfp_sub_equal_resultentry. ff_h_pfp_sub_equal_resultentry + S (0) = S ((S (pfp_repeat_index_sub_equal_result)) * rc)) /\ exists ff_q_pfp_sub_equal_resultentry. rb = ff_q_pfp_sub_equal_resultentry * S ((S (pfp_repeat_index_sub_equal_result)) * rc) + (0))))
intro pintro abintro acintro bbintro bcintro rbintro rcintro lintro hpintro heintro hintro iintro hihave ha : exists a. (((exists ff_h_pfp_sub_all_zero_a. ff_h_pfp_sub_all_zero_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_sub_all_zero_a. ab = ff_q_pfp_sub_all_zero_a * S ((S (i)) * ac) + (a)))specialize beta_at_exists (ab)specialize beta_at_exists (ac)specialize beta_at_exists (i)apply beta_at_existscases hahave hr : exists r. (((exists ff_h_pfp_sub_all_zero_r. ff_h_pfp_sub_all_zero_r + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_sub_all_zero_r. rb = ff_q_pfp_sub_all_zero_r * S ((S (i)) * rc) + (r)))specialize beta_at_exists (rb)specialize beta_at_exists (rc)specialize beta_at_exists (i)apply beta_at_existscases hrhave hz : x1=0specialize prime_field_polynomial_subtract_equal_entry_zero (p)specialize prime_field_polynomial_subtract_equal_entry_zero (ab)specialize prime_field_polynomial_subtract_equal_entry_zero (ac)specialize prime_field_polynomial_subtract_equal_entry_zero (bb)specialize prime_field_polynomial_subtract_equal_entry_zero (bc)specialize prime_field_polynomial_subtract_equal_entry_zero (rb)specialize prime_field_polynomial_subtract_equal_entry_zero (rc)specialize prime_field_polynomial_subtract_equal_entry_zero (l)specialize prime_field_polynomial_subtract_equal_entry_zero (i)specialize prime_field_polynomial_subtract_equal_entry_zero (x)specialize prime_field_polynomial_subtract_equal_entry_zero (x1)apply prime_field_polynomial_subtract_equal_entry_zeroexact hpexact hexact hiexact ha_witnessspecialize he (i)specialize he (x)apply heexact hiexact ha_witnessexact hr_witnessrewrite hz at hr_witnessrewrite hz at hr_witnessexact hr_witness
prime_field_multiply_associative · unchanged support, not a new admission
forall p a b c x y u v. (((exists pfa_gap_multiplyassoc_firstleft. pfa_gap_multiplyassoc_firstleft + S (a) = (p)) /\ (((exists pfa_gap_multiplyassoc_firstright. pfa_gap_multiplyassoc_firstright + S (b) = (p)) /\ ((((exists pfa_gap_multiplyassoc_firstresultbound. pfa_gap_multiplyassoc_firstresultbound + S (x) = (p)) /\ ((exists pfa_offset_left_multiplyassoc_firstresultcongruence pfa_offset_right_multiplyassoc_firstresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_multiplyassoc_firstresultcongruence = (x) + (p) * pfa_offset_right_multiplyassoc_firstresultcongruence))))))))) -> (((exists pfa_gap_multiplyassoc_leftleft. pfa_gap_multiplyassoc_leftleft + S (x) = (p)) /\ (((exists pfa_gap_multiplyassoc_leftright. pfa_gap_multiplyassoc_leftright + S (c) = (p)) /\ ((((exists pfa_gap_multiplyassoc_leftresultbound. pfa_gap_multiplyassoc_leftresultbound + S (u) = (p)) /\ ((exists pfa_offset_left_multiplyassoc_leftresultcongruence pfa_offset_right_multiplyassoc_leftresultcongruence. ((x) * (c)) + (p) * pfa_offset_left_multiplyassoc_leftresultcongruence = (u) + (p) * pfa_offset_right_multiplyassoc_leftresultcongruence))))))))) -> (((exists pfa_gap_multiplyassoc_secondleft. pfa_gap_multiplyassoc_secondleft + S (b) = (p)) /\ (((exists pfa_gap_multiplyassoc_secondright. pfa_gap_multiplyassoc_secondright + S (c) = (p)) /\ ((((exists pfa_gap_multiplyassoc_secondresultbound. pfa_gap_multiplyassoc_secondresultbound + S (y) = (p)) /\ ((exists pfa_offset_left_multiplyassoc_secondresultcongruence pfa_offset_right_multiplyassoc_secondresultcongruence. ((b) * (c)) + (p) * pfa_offset_left_multiplyassoc_secondresultcongruence = (y) + (p) * pfa_offset_right_multiplyassoc_secondresultcongruence))))))))) -> (((exists pfa_gap_multiplyassoc_rightleft. pfa_gap_multiplyassoc_rightleft + S (a) = (p)) /\ (((exists pfa_gap_multiplyassoc_rightright. pfa_gap_multiplyassoc_rightright + S (y) = (p)) /\ ((((exists pfa_gap_multiplyassoc_rightresultbound. pfa_gap_multiplyassoc_rightresultbound + S (v) = (p)) /\ ((exists pfa_offset_left_multiplyassoc_rightresultcongruence pfa_offset_right_multiplyassoc_rightresultcongruence. ((a) * (y)) + (p) * pfa_offset_left_multiplyassoc_rightresultcongruence = (v) + (p) * pfa_offset_right_multiplyassoc_rightresultcongruence))))))))) -> u = v
intro pintro aintro bintro cintro xintro yintro uintro vintro hfirstintro hleftintro hsecondintro hrightcases hfirstcases hfirst_rightcases hfirst_right_rightcases hleftcases hleft_rightcases hleft_right_rightcases hsecondcases hsecond_rightcases hsecond_right_rightcases hrightcases hright_rightcases hright_right_righthave hl : ((exists pfa_gap_multiplyassoc_raw_leftbound. pfa_gap_multiplyassoc_raw_leftbound + S (u) = (p)) /\ ((exists pfa_offset_left_multiplyassoc_raw_leftcongruence pfa_offset_right_multiplyassoc_raw_leftcongruence. ((a * b) * c) + (p) * pfa_offset_left_multiplyassoc_raw_leftcongruence = (u) + (p) * pfa_offset_right_multiplyassoc_raw_leftcongruence)))splitexact hleft_right_right_leftspecialize mod_eq_trans (p)specialize mod_eq_trans ((a * b) * c)specialize mod_eq_trans (x * c)specialize mod_eq_trans (u)apply mod_eq_transspecialize mod_eq_mul (p)specialize mod_eq_mul (a * b)specialize mod_eq_mul (x)specialize mod_eq_mul (c)specialize mod_eq_mul (c)apply mod_eq_mulexact hfirst_right_right_rightspecialize mod_eq_refl (p)specialize mod_eq_refl (c)apply mod_eq_reflexact hleft_right_right_righthave hr : ((exists pfa_gap_multiplyassoc_raw_rightbound. pfa_gap_multiplyassoc_raw_rightbound + S (v) = (p)) /\ ((exists pfa_offset_left_multiplyassoc_raw_rightcongruence pfa_offset_right_multiplyassoc_raw_rightcongruence. (a * (b * c)) + (p) * pfa_offset_left_multiplyassoc_raw_rightcongruence = (v) + (p) * pfa_offset_right_multiplyassoc_raw_rightcongruence)))splitexact hright_right_right_leftspecialize mod_eq_trans (p)specialize mod_eq_trans (a * (b * c))specialize mod_eq_trans (a * y)specialize mod_eq_trans (v)apply mod_eq_transspecialize mod_eq_mul (p)specialize mod_eq_mul (a)specialize mod_eq_mul (a)specialize mod_eq_mul (b * c)specialize mod_eq_mul (y)apply mod_eq_mulspecialize mod_eq_refl (p)specialize mod_eq_refl (a)apply mod_eq_reflexact hsecond_right_right_rightexact hright_right_right_rightspecialize binary_canonical_residue_functional (p)specialize binary_canonical_residue_functional ((a * b) * c)specialize binary_canonical_residue_functional (u)specialize binary_canonical_residue_functional (v)apply binary_canonical_residue_functionalexact hlspecialize prime_field_residue_input_equal (p)specialize prime_field_residue_input_equal ((a * b) * c)specialize prime_field_residue_input_equal (a * (b * c))specialize prime_field_residue_input_equal (v)apply prime_field_residue_input_equalspecialize mul_assoc (a)specialize mul_assoc (b)specialize mul_assoc (c)apply mul_assocexact hr
prime_field_multiply_one_right · unchanged support, not a new admission
forall p a. (~((p) = 1) /\ forall pfa_factor_left_multiply_one_domain pfa_factor_right_multiply_one_domain. (p) = pfa_factor_left_multiply_one_domain * pfa_factor_right_multiply_one_domain -> pfa_factor_left_multiply_one_domain = 1 \/ pfa_factor_right_multiply_one_domain = 1) -> (exists pfa_gap_multiply_one_bound. pfa_gap_multiply_one_bound + S (a) = (p)) -> (((exists pfa_gap_multiply_oneleft. pfa_gap_multiply_oneleft + S (a) = (p)) /\ (((exists pfa_gap_multiply_oneright. pfa_gap_multiply_oneright + S (1) = (p)) /\ ((((exists pfa_gap_multiply_oneresultbound. pfa_gap_multiply_oneresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_multiply_oneresultcongruence pfa_offset_right_multiply_oneresultcongruence. ((a) * (1)) + (p) * pfa_offset_left_multiply_oneresultcongruence = (a) + (p) * pfa_offset_right_multiply_oneresultcongruence)))))))))
intro pintro aintro hpintro hasplitexact hasplitspecialize prime_two_le (p)apply prime_two_leexact hpsplitexact haspecialize prime_field_mod_of_equal (p)specialize prime_field_mod_of_equal (a * 1)specialize prime_field_mod_of_equal (a)apply prime_field_mod_of_equalspecialize mul_one (a)apply mul_one
prime_field_multiply_one_left · unchanged support, not a new admission
forall p a. (~((p) = 1) /\ forall pfa_factor_left_one_multiply_domain pfa_factor_right_one_multiply_domain. (p) = pfa_factor_left_one_multiply_domain * pfa_factor_right_one_multiply_domain -> pfa_factor_left_one_multiply_domain = 1 \/ pfa_factor_right_one_multiply_domain = 1) -> (exists pfa_gap_one_multiply_bound. pfa_gap_one_multiply_bound + S (a) = (p)) -> (((exists pfa_gap_one_multiplyleft. pfa_gap_one_multiplyleft + S (1) = (p)) /\ (((exists pfa_gap_one_multiplyright. pfa_gap_one_multiplyright + S (a) = (p)) /\ ((((exists pfa_gap_one_multiplyresultbound. pfa_gap_one_multiplyresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_one_multiplyresultcongruence pfa_offset_right_one_multiplyresultcongruence. ((1) * (a)) + (p) * pfa_offset_left_one_multiplyresultcongruence = (a) + (p) * pfa_offset_right_one_multiplyresultcongruence)))))))))
intro pintro aintro hpintro haspecialize prime_field_multiply_commutative (p)specialize prime_field_multiply_commutative (a)specialize prime_field_multiply_commutative (1)specialize prime_field_multiply_commutative (a)apply prime_field_multiply_commutativespecialize prime_field_multiply_one_right (p)specialize prime_field_multiply_one_right (a)apply prime_field_multiply_one_rightexact hpexact ha
prime_field_polynomial_quotient_scalar_cancellation · unchanged support, not a new admission
forall p b k c s a q t r. (~((p) = 1) /\ forall pfa_factor_left_division_scalar_prime pfa_factor_right_division_scalar_prime. (p) = pfa_factor_left_division_scalar_prime * pfa_factor_right_division_scalar_prime -> pfa_factor_left_division_scalar_prime = 1 \/ pfa_factor_right_division_scalar_prime = 1) -> (((~((b) = 0)) /\ ((((exists pfa_gap_division_scalar_inversemultiplicationleft. pfa_gap_division_scalar_inversemultiplicationleft + S (b) = (p)) /\ (((exists pfa_gap_division_scalar_inversemultiplicationright. pfa_gap_division_scalar_inversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_division_scalar_inversemultiplicationresultbound. pfa_gap_division_scalar_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_scalar_inversemultiplicationresultcongruence pfa_offset_right_division_scalar_inversemultiplicationresultcongruence. ((b) * (k)) + (p) * pfa_offset_left_division_scalar_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_scalar_inversemultiplicationresultcongruence)))))))))))) -> (((exists pfa_gap_division_scalar_differenceleft. pfa_gap_division_scalar_differenceleft + S (c) = (p)) /\ (((exists pfa_gap_division_scalar_differenceright. pfa_gap_division_scalar_differenceright + S (s) = (p)) /\ ((((exists pfa_gap_division_scalar_differenceresultbound. pfa_gap_division_scalar_differenceresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_division_scalar_differenceresultcongruence pfa_offset_right_division_scalar_differenceresultcongruence. ((c) + (s)) + (p) * pfa_offset_left_division_scalar_differenceresultcongruence = (a) + (p) * pfa_offset_right_division_scalar_differenceresultcongruence))))))))) -> (((exists pfa_gap_division_scalar_quotientleft. pfa_gap_division_scalar_quotientleft + S (k) = (p)) /\ (((exists pfa_gap_division_scalar_quotientright. pfa_gap_division_scalar_quotientright + S (s) = (p)) /\ ((((exists pfa_gap_division_scalar_quotientresultbound. pfa_gap_division_scalar_quotientresultbound + S (q) = (p)) /\ ((exists pfa_offset_left_division_scalar_quotientresultcongruence pfa_offset_right_division_scalar_quotientresultcongruence. ((k) * (s)) + (p) * pfa_offset_left_division_scalar_quotientresultcongruence = (q) + (p) * pfa_offset_right_division_scalar_quotientresultcongruence))))))))) -> (((exists pfa_gap_division_scalar_productleft. pfa_gap_division_scalar_productleft + S (q) = (p)) /\ (((exists pfa_gap_division_scalar_productright. pfa_gap_division_scalar_productright + S (b) = (p)) /\ ((((exists pfa_gap_division_scalar_productresultbound. pfa_gap_division_scalar_productresultbound + S (t) = (p)) /\ ((exists pfa_offset_left_division_scalar_productresultcongruence pfa_offset_right_division_scalar_productresultcongruence. ((q) * (b)) + (p) * pfa_offset_left_division_scalar_productresultcongruence = (t) + (p) * pfa_offset_right_division_scalar_productresultcongruence))))))))) -> (((exists pfa_gap_division_scalar_sumleft. pfa_gap_division_scalar_sumleft + S (c) = (p)) /\ (((exists pfa_gap_division_scalar_sumright. pfa_gap_division_scalar_sumright + S (t) = (p)) /\ ((((exists pfa_gap_division_scalar_sumresultbound. pfa_gap_division_scalar_sumresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_division_scalar_sumresultcongruence pfa_offset_right_division_scalar_sumresultcongruence. ((c) + (t)) + (p) * pfa_offset_left_division_scalar_sumresultcongruence = (r) + (p) * pfa_offset_right_division_scalar_sumresultcongruence))))))))) -> r=a
intro pintro bintro kintro cintro sintro aintro qintro tintro rintro hpintro hkintro haintro hqintro htintro hrcases hkcases hqcases hq_righthave heq : s=tspecialize prime_field_multiply_associative (p)specialize prime_field_multiply_associative (b)specialize prime_field_multiply_associative (k)specialize prime_field_multiply_associative (s)specialize prime_field_multiply_associative (1)specialize prime_field_multiply_associative (q)specialize prime_field_multiply_associative (s)specialize prime_field_multiply_associative (t)apply prime_field_multiply_associativeexact hk_rightspecialize prime_field_multiply_one_left (p)specialize prime_field_multiply_one_left (s)apply prime_field_multiply_one_leftexact hpexact hq_right_leftexact hqspecialize prime_field_multiply_commutative (p)specialize prime_field_multiply_commutative (q)specialize prime_field_multiply_commutative (b)specialize prime_field_multiply_commutative (t)apply prime_field_multiply_commutativeexact htrewrite heq at harewrite heq at haspecialize prime_field_add_functional (p)specialize prime_field_add_functional (c)specialize prime_field_add_functional (t)specialize prime_field_add_functional (r)specialize prime_field_add_functional (a)apply prime_field_add_functionalexact hrexact ha
prime_field_polynomial_quotient_prefix_convolution_entry · unchanged support, not a new admission
forall p k ab ac bb bc d qb qc N b i r. (~((p) = 1) /\ forall pfa_factor_left_division_match_prime pfa_factor_right_division_match_prime. (p) = pfa_factor_left_division_match_prime * pfa_factor_right_division_match_prime -> pfa_factor_left_division_match_prime = 1 \/ pfa_factor_right_division_match_prime = 1) -> (((exists ff_h_pfp_division_match_head. ff_h_pfp_division_match_head + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_match_head. bb = ff_q_pfp_division_match_head * S ((S (0)) * bc) + (b))) -> (((~((b) = 0)) /\ ((((exists pfa_gap_division_match_inversemultiplicationleft. pfa_gap_division_match_inversemultiplicationleft + S (b) = (p)) /\ (((exists pfa_gap_division_match_inversemultiplicationright. pfa_gap_division_match_inversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_division_match_inversemultiplicationresultbound. pfa_gap_division_match_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_match_inversemultiplicationresultcongruence pfa_offset_right_division_match_inversemultiplicationresultcongruence. ((b) * (k)) + (p) * pfa_offset_left_division_match_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_match_inversemultiplicationresultcongruence)))))))))))) -> (forall pfd_index_division_match_execution. (exists pfa_gap_division_match_executionbound. pfa_gap_division_match_executionbound + S (pfd_index_division_match_execution) = (N)) -> exists pfd_value_division_match_execution. ((((exists ff_h_pfp_division_match_executionentry. ff_h_pfp_division_match_executionentry + S (pfd_value_division_match_execution) = S ((S (pfd_index_division_match_execution)) * qc)) /\ exists ff_q_pfp_division_match_executionentry. qb = ff_q_pfp_division_match_executionentry * S ((S (pfd_index_division_match_execution)) * qc) + (pfd_value_division_match_execution))) /\ ((exists pfd_input_division_match_executionstep pfd_previous_division_match_executionstep pfd_difference_division_match_executionstep. ((((exists ff_h_pfp_division_match_executionstepinput. ff_h_pfp_division_match_executionstepinput + S (pfd_input_division_match_executionstep) = S ((S (pfd_index_division_match_execution)) * ac)) /\ exists ff_q_pfp_division_match_executionstepinput. ab = ff_q_pfp_division_match_executionstepinput * S ((S (pfd_index_division_match_execution)) * ac) + (pfd_input_division_match_executionstep))) /\ (((exists pfc_terms_code_division_match_executionstepprevious pfc_terms_scale_division_match_executionstepprevious pfc_natural_sum_division_match_executionstepprevious. ((forall pfc_index_division_match_executionsteppreviousdiagonal. (exists pfa_gap_division_match_executionsteppreviousdiagonalbound. pfa_gap_division_match_executionsteppreviousdiagonalbound + S (pfc_index_division_match_executionsteppreviousdiagonal) = (S (pfd_index_division_match_execution))) -> exists pfc_value_division_match_executionsteppreviousdiagonal. ((((exists ff_h_pfp_division_match_executionsteppreviousdiagonalentry. ff_h_pfp_division_match_executionsteppreviousdiagonalentry + S (pfc_value_division_match_executionsteppreviousdiagonal) = S ((S (pfc_index_division_match_executionsteppreviousdiagonal)) * pfc_terms_scale_division_match_executionstepprevious)) /\ exists ff_q_pfp_division_match_executionsteppreviousdiagonalentry. pfc_terms_code_division_match_executionstepprevious = ff_q_pfp_division_match_executionsteppreviousdiagonalentry * S ((S (pfc_index_division_match_executionsteppreviousdiagonal)) * pfc_terms_scale_division_match_executionstepprevious) + (pfc_value_division_match_executionsteppreviousdiagonal))) /\ ((exists pfc_complement_division_match_executionsteppreviousdiagonalterm pfc_left_division_match_executionsteppreviousdiagonalterm pfc_right_division_match_executionsteppreviousdiagonalterm. (((pfc_index_division_match_executionsteppreviousdiagonal)+pfc_complement_division_match_executionsteppreviousdiagonalterm=(pfd_index_division_match_execution)) /\ ((((((exists pfa_gap_division_match_executionsteppreviousdiagonaltermleftinside. pfa_gap_division_match_executionsteppreviousdiagonaltermleftinside + S (pfc_index_division_match_executionsteppreviousdiagonal) = (pfd_index_division_match_execution)) /\ ((((exists ff_h_pfp_division_match_executionsteppreviousdiagonaltermleftentry. ff_h_pfp_division_match_executionsteppreviousdiagonaltermleftentry + S (pfc_left_division_match_executionsteppreviousdiagonalterm) = S ((S (pfc_index_division_match_executionsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_match_executionsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_match_executionsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_match_executionsteppreviousdiagonal)) * qc) + (pfc_left_division_match_executionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_match_executionsteppreviousdiagonaltermleftoutside. pfc_gap_division_match_executionsteppreviousdiagonaltermleftoutside+(pfd_index_division_match_execution)=(pfc_index_division_match_executionsteppreviousdiagonal)) /\ (((pfc_left_division_match_executionsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_match_executionsteppreviousdiagonaltermrightinside. pfa_gap_division_match_executionsteppreviousdiagonaltermrightinside + S (pfc_complement_division_match_executionsteppreviousdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_match_executionsteppreviousdiagonaltermrightentry. ff_h_pfp_division_match_executionsteppreviousdiagonaltermrightentry + S (pfc_right_division_match_executionsteppreviousdiagonalterm) = S ((S (pfc_complement_division_match_executionsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_match_executionsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_match_executionsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_match_executionsteppreviousdiagonalterm)) * bc) + (pfc_right_division_match_executionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_match_executionsteppreviousdiagonaltermrightoutside. pfc_gap_division_match_executionsteppreviousdiagonaltermrightoutside+(S d)=(pfc_complement_division_match_executionsteppreviousdiagonalterm)) /\ (((pfc_right_division_match_executionsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_match_executionsteppreviousdiagonal)=pfc_left_division_match_executionsteppreviousdiagonalterm*pfc_right_division_match_executionsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_match_executionstepprevioussum fs_v_pfc_division_match_executionstepprevioussum. ((((exists fs_h_pfc_division_match_executionstepprevioussum_body_start. fs_h_pfc_division_match_executionstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_match_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_executionstepprevioussum_body_start. fs_u_pfc_division_match_executionstepprevioussum = fs_q_pfc_division_match_executionstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_match_executionstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_match_executionstepprevioussum_body_terminal. fs_h_pfc_division_match_executionstepprevioussum_body_terminal + S (pfc_natural_sum_division_match_executionstepprevious) = S ((S (S (pfd_index_division_match_execution))) * fs_v_pfc_division_match_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_executionstepprevioussum_body_terminal. fs_u_pfc_division_match_executionstepprevioussum = fs_q_pfc_division_match_executionstepprevioussum_body_terminal * S ((S (S (pfd_index_division_match_execution))) * fs_v_pfc_division_match_executionstepprevioussum) + (pfc_natural_sum_division_match_executionstepprevious))) /\ forall fs_i_pfc_division_match_executionstepprevioussum_body_steps. (exists fs_lt_pfc_division_match_executionstepprevioussum_body_steps_bound. fs_lt_pfc_division_match_executionstepprevioussum_body_steps_bound + S fs_i_pfc_division_match_executionstepprevioussum_body_steps = S (pfd_index_division_match_execution)) -> exists fs_a_pfc_division_match_executionstepprevioussum_body_steps fs_r_pfc_division_match_executionstepprevioussum_body_steps fs_s_pfc_division_match_executionstepprevioussum_body_steps. ((((exists fs_h_pfc_division_match_executionstepprevioussum_body_steps_summand. fs_h_pfc_division_match_executionstepprevioussum_body_steps_summand + S (fs_a_pfc_division_match_executionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_match_executionstepprevioussum_body_steps)) * pfc_terms_scale_division_match_executionstepprevious)) /\ exists fs_q_pfc_division_match_executionstepprevioussum_body_steps_summand. pfc_terms_code_division_match_executionstepprevious = fs_q_pfc_division_match_executionstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_match_executionstepprevioussum_body_steps)) * pfc_terms_scale_division_match_executionstepprevious) + (fs_a_pfc_division_match_executionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_match_executionstepprevioussum_body_steps_partial. fs_h_pfc_division_match_executionstepprevioussum_body_steps_partial + S (fs_r_pfc_division_match_executionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_match_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_executionstepprevioussum_body_steps_partial. fs_u_pfc_division_match_executionstepprevioussum = fs_q_pfc_division_match_executionstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_match_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_executionstepprevioussum) + (fs_r_pfc_division_match_executionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_match_executionstepprevioussum_body_steps_successor. fs_h_pfc_division_match_executionstepprevioussum_body_steps_successor + S (fs_s_pfc_division_match_executionstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_match_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_executionstepprevioussum_body_steps_successor. fs_u_pfc_division_match_executionstepprevioussum = fs_q_pfc_division_match_executionstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_match_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_executionstepprevioussum) + (fs_s_pfc_division_match_executionstepprevioussum_body_steps))) /\ fs_s_pfc_division_match_executionstepprevioussum_body_steps = fs_r_pfc_division_match_executionstepprevioussum_body_steps + fs_a_pfc_division_match_executionstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_match_executionsteppreviousresiduebound. pfa_gap_division_match_executionsteppreviousresiduebound + S (pfd_previous_division_match_executionstep) = (p)) /\ ((exists pfa_offset_left_division_match_executionsteppreviousresiduecongruence pfa_offset_right_division_match_executionsteppreviousresiduecongruence. (pfc_natural_sum_division_match_executionstepprevious) + (p) * pfa_offset_left_division_match_executionsteppreviousresiduecongruence = (pfd_previous_division_match_executionstep) + (p) * pfa_offset_right_division_match_executionsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_match_executionstepsubtractleft. pfa_gap_division_match_executionstepsubtractleft + S (pfd_previous_division_match_executionstep) = (p)) /\ (((exists pfa_gap_division_match_executionstepsubtractright. pfa_gap_division_match_executionstepsubtractright + S (pfd_difference_division_match_executionstep) = (p)) /\ ((((exists pfa_gap_division_match_executionstepsubtractresultbound. pfa_gap_division_match_executionstepsubtractresultbound + S (pfd_input_division_match_executionstep) = (p)) /\ ((exists pfa_offset_left_division_match_executionstepsubtractresultcongruence pfa_offset_right_division_match_executionstepsubtractresultcongruence. ((pfd_previous_division_match_executionstep) + (pfd_difference_division_match_executionstep)) + (p) * pfa_offset_left_division_match_executionstepsubtractresultcongruence = (pfd_input_division_match_executionstep) + (p) * pfa_offset_right_division_match_executionstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_match_executionstepmultiplyleft. pfa_gap_division_match_executionstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_match_executionstepmultiplyright. pfa_gap_division_match_executionstepmultiplyright + S (pfd_difference_division_match_executionstep) = (p)) /\ ((((exists pfa_gap_division_match_executionstepmultiplyresultbound. pfa_gap_division_match_executionstepmultiplyresultbound + S (pfd_value_division_match_execution) = (p)) /\ ((exists pfa_offset_left_division_match_executionstepmultiplyresultcongruence pfa_offset_right_division_match_executionstepmultiplyresultcongruence. ((k) * (pfd_difference_division_match_executionstep)) + (p) * pfa_offset_left_division_match_executionstepmultiplyresultcongruence = (pfd_value_division_match_execution) + (p) * pfa_offset_right_division_match_executionstepmultiplyresultcongruence))))))))))))))))))) -> (exists pfa_gap_division_match_index. pfa_gap_division_match_index + S (i) = (N)) -> (exists pfc_terms_code_division_match_actual_coefficient pfc_terms_scale_division_match_actual_coefficient pfc_natural_sum_division_match_actual_coefficient. ((forall pfc_index_division_match_actual_coefficientdiagonal. (exists pfa_gap_division_match_actual_coefficientdiagonalbound. pfa_gap_division_match_actual_coefficientdiagonalbound + S (pfc_index_division_match_actual_coefficientdiagonal) = (S (i))) -> exists pfc_value_division_match_actual_coefficientdiagonal. ((((exists ff_h_pfp_division_match_actual_coefficientdiagonalentry. ff_h_pfp_division_match_actual_coefficientdiagonalentry + S (pfc_value_division_match_actual_coefficientdiagonal) = S ((S (pfc_index_division_match_actual_coefficientdiagonal)) * pfc_terms_scale_division_match_actual_coefficient)) /\ exists ff_q_pfp_division_match_actual_coefficientdiagonalentry. pfc_terms_code_division_match_actual_coefficient = ff_q_pfp_division_match_actual_coefficientdiagonalentry * S ((S (pfc_index_division_match_actual_coefficientdiagonal)) * pfc_terms_scale_division_match_actual_coefficient) + (pfc_value_division_match_actual_coefficientdiagonal))) /\ ((exists pfc_complement_division_match_actual_coefficientdiagonalterm pfc_left_division_match_actual_coefficientdiagonalterm pfc_right_division_match_actual_coefficientdiagonalterm. (((pfc_index_division_match_actual_coefficientdiagonal)+pfc_complement_division_match_actual_coefficientdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_match_actual_coefficientdiagonaltermleftinside. pfa_gap_division_match_actual_coefficientdiagonaltermleftinside + S (pfc_index_division_match_actual_coefficientdiagonal) = (N)) /\ ((((exists ff_h_pfp_division_match_actual_coefficientdiagonaltermleftentry. ff_h_pfp_division_match_actual_coefficientdiagonaltermleftentry + S (pfc_left_division_match_actual_coefficientdiagonalterm) = S ((S (pfc_index_division_match_actual_coefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_match_actual_coefficientdiagonaltermleftentry. qb = ff_q_pfp_division_match_actual_coefficientdiagonaltermleftentry * S ((S (pfc_index_division_match_actual_coefficientdiagonal)) * qc) + (pfc_left_division_match_actual_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_match_actual_coefficientdiagonaltermleftoutside. pfc_gap_division_match_actual_coefficientdiagonaltermleftoutside+(N)=(pfc_index_division_match_actual_coefficientdiagonal)) /\ (((pfc_left_division_match_actual_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_match_actual_coefficientdiagonaltermrightinside. pfa_gap_division_match_actual_coefficientdiagonaltermrightinside + S (pfc_complement_division_match_actual_coefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_match_actual_coefficientdiagonaltermrightentry. ff_h_pfp_division_match_actual_coefficientdiagonaltermrightentry + S (pfc_right_division_match_actual_coefficientdiagonalterm) = S ((S (pfc_complement_division_match_actual_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_match_actual_coefficientdiagonaltermrightentry. bb = ff_q_pfp_division_match_actual_coefficientdiagonaltermrightentry * S ((S (pfc_complement_division_match_actual_coefficientdiagonalterm)) * bc) + (pfc_right_division_match_actual_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_match_actual_coefficientdiagonaltermrightoutside. pfc_gap_division_match_actual_coefficientdiagonaltermrightoutside+(S d)=(pfc_complement_division_match_actual_coefficientdiagonalterm)) /\ (((pfc_right_division_match_actual_coefficientdiagonalterm)=0))))) /\ (((pfc_value_division_match_actual_coefficientdiagonal)=pfc_left_division_match_actual_coefficientdiagonalterm*pfc_right_division_match_actual_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_match_actual_coefficientsum fs_v_pfc_division_match_actual_coefficientsum. ((((exists fs_h_pfc_division_match_actual_coefficientsum_body_start. fs_h_pfc_division_match_actual_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_match_actual_coefficientsum)) /\ exists fs_q_pfc_division_match_actual_coefficientsum_body_start. fs_u_pfc_division_match_actual_coefficientsum = fs_q_pfc_division_match_actual_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_match_actual_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_match_actual_coefficientsum_body_terminal. fs_h_pfc_division_match_actual_coefficientsum_body_terminal + S (pfc_natural_sum_division_match_actual_coefficient) = S ((S (S (i))) * fs_v_pfc_division_match_actual_coefficientsum)) /\ exists fs_q_pfc_division_match_actual_coefficientsum_body_terminal. fs_u_pfc_division_match_actual_coefficientsum = fs_q_pfc_division_match_actual_coefficientsum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_match_actual_coefficientsum) + (pfc_natural_sum_division_match_actual_coefficient))) /\ forall fs_i_pfc_division_match_actual_coefficientsum_body_steps. (exists fs_lt_pfc_division_match_actual_coefficientsum_body_steps_bound. fs_lt_pfc_division_match_actual_coefficientsum_body_steps_bound + S fs_i_pfc_division_match_actual_coefficientsum_body_steps = S (i)) -> exists fs_a_pfc_division_match_actual_coefficientsum_body_steps fs_r_pfc_division_match_actual_coefficientsum_body_steps fs_s_pfc_division_match_actual_coefficientsum_body_steps. ((((exists fs_h_pfc_division_match_actual_coefficientsum_body_steps_summand. fs_h_pfc_division_match_actual_coefficientsum_body_steps_summand + S (fs_a_pfc_division_match_actual_coefficientsum_body_steps) = S ((S (fs_i_pfc_division_match_actual_coefficientsum_body_steps)) * pfc_terms_scale_division_match_actual_coefficient)) /\ exists fs_q_pfc_division_match_actual_coefficientsum_body_steps_summand. pfc_terms_code_division_match_actual_coefficient = fs_q_pfc_division_match_actual_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_match_actual_coefficientsum_body_steps)) * pfc_terms_scale_division_match_actual_coefficient) + (fs_a_pfc_division_match_actual_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_match_actual_coefficientsum_body_steps_partial. fs_h_pfc_division_match_actual_coefficientsum_body_steps_partial + S (fs_r_pfc_division_match_actual_coefficientsum_body_steps) = S ((S (fs_i_pfc_division_match_actual_coefficientsum_body_steps)) * fs_v_pfc_division_match_actual_coefficientsum)) /\ exists fs_q_pfc_division_match_actual_coefficientsum_body_steps_partial. fs_u_pfc_division_match_actual_coefficientsum = fs_q_pfc_division_match_actual_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_match_actual_coefficientsum_body_steps)) * fs_v_pfc_division_match_actual_coefficientsum) + (fs_r_pfc_division_match_actual_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_match_actual_coefficientsum_body_steps_successor. fs_h_pfc_division_match_actual_coefficientsum_body_steps_successor + S (fs_s_pfc_division_match_actual_coefficientsum_body_steps) = S ((S (S fs_i_pfc_division_match_actual_coefficientsum_body_steps)) * fs_v_pfc_division_match_actual_coefficientsum)) /\ exists fs_q_pfc_division_match_actual_coefficientsum_body_steps_successor. fs_u_pfc_division_match_actual_coefficientsum = fs_q_pfc_division_match_actual_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_match_actual_coefficientsum_body_steps)) * fs_v_pfc_division_match_actual_coefficientsum) + (fs_s_pfc_division_match_actual_coefficientsum_body_steps))) /\ fs_s_pfc_division_match_actual_coefficientsum_body_steps = fs_r_pfc_division_match_actual_coefficientsum_body_steps + fs_a_pfc_division_match_actual_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_match_actual_coefficientresiduebound. pfa_gap_division_match_actual_coefficientresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_division_match_actual_coefficientresiduecongruence pfa_offset_right_division_match_actual_coefficientresiduecongruence. (pfc_natural_sum_division_match_actual_coefficient) + (p) * pfa_offset_left_division_match_actual_coefficientresiduecongruence = (r) + (p) * pfa_offset_right_division_match_actual_coefficientresiduecongruence))))))))) -> (((exists ff_h_pfp_division_match_input. ff_h_pfp_division_match_input + S (r) = S ((S (i)) * ac)) /\ exists ff_q_pfp_division_match_input. ab = ff_q_pfp_division_match_input * S ((S (i)) * ac) + (r)))
intro pintro kintro abintro acintro bbintro bcintro dintro qbintro qcintro Nintro bintro iintro rintro hpintro hbintro hkintro hqintro hiintro hrhave hpoint : exists q. ((((exists ff_h_pfp_division_match_quotient_entry. ff_h_pfp_division_match_quotient_entry + S (q) = S ((S (i)) * qc)) /\ exists ff_q_pfp_division_match_quotient_entry. qb = ff_q_pfp_division_match_quotient_entry * S ((S (i)) * qc) + (q))) /\ ((exists pfd_input_division_match_step pfd_previous_division_match_step pfd_difference_division_match_step. ((((exists ff_h_pfp_division_match_stepinput. ff_h_pfp_division_match_stepinput + S (pfd_input_division_match_step) = S ((S (i)) * ac)) /\ exists ff_q_pfp_division_match_stepinput. ab = ff_q_pfp_division_match_stepinput * S ((S (i)) * ac) + (pfd_input_division_match_step))) /\ (((exists pfc_terms_code_division_match_stepprevious pfc_terms_scale_division_match_stepprevious pfc_natural_sum_division_match_stepprevious. ((forall pfc_index_division_match_steppreviousdiagonal. (exists pfa_gap_division_match_steppreviousdiagonalbound. pfa_gap_division_match_steppreviousdiagonalbound + S (pfc_index_division_match_steppreviousdiagonal) = (S (i))) -> exists pfc_value_division_match_steppreviousdiagonal. ((((exists ff_h_pfp_division_match_steppreviousdiagonalentry. ff_h_pfp_division_match_steppreviousdiagonalentry + S (pfc_value_division_match_steppreviousdiagonal) = S ((S (pfc_index_division_match_steppreviousdiagonal)) * pfc_terms_scale_division_match_stepprevious)) /\ exists ff_q_pfp_division_match_steppreviousdiagonalentry. pfc_terms_code_division_match_stepprevious = ff_q_pfp_division_match_steppreviousdiagonalentry * S ((S (pfc_index_division_match_steppreviousdiagonal)) * pfc_terms_scale_division_match_stepprevious) + (pfc_value_division_match_steppreviousdiagonal))) /\ ((exists pfc_complement_division_match_steppreviousdiagonalterm pfc_left_division_match_steppreviousdiagonalterm pfc_right_division_match_steppreviousdiagonalterm. (((pfc_index_division_match_steppreviousdiagonal)+pfc_complement_division_match_steppreviousdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_match_steppreviousdiagonaltermleftinside. pfa_gap_division_match_steppreviousdiagonaltermleftinside + S (pfc_index_division_match_steppreviousdiagonal) = (i)) /\ ((((exists ff_h_pfp_division_match_steppreviousdiagonaltermleftentry. ff_h_pfp_division_match_steppreviousdiagonaltermleftentry + S (pfc_left_division_match_steppreviousdiagonalterm) = S ((S (pfc_index_division_match_steppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_match_steppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_match_steppreviousdiagonaltermleftentry * S ((S (pfc_index_division_match_steppreviousdiagonal)) * qc) + (pfc_left_division_match_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_match_steppreviousdiagonaltermleftoutside. pfc_gap_division_match_steppreviousdiagonaltermleftoutside+(i)=(pfc_index_division_match_steppreviousdiagonal)) /\ (((pfc_left_division_match_steppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_match_steppreviousdiagonaltermrightinside. pfa_gap_division_match_steppreviousdiagonaltermrightinside + S (pfc_complement_division_match_steppreviousdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_match_steppreviousdiagonaltermrightentry. ff_h_pfp_division_match_steppreviousdiagonaltermrightentry + S (pfc_right_division_match_steppreviousdiagonalterm) = S ((S (pfc_complement_division_match_steppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_match_steppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_match_steppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_match_steppreviousdiagonalterm)) * bc) + (pfc_right_division_match_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_match_steppreviousdiagonaltermrightoutside. pfc_gap_division_match_steppreviousdiagonaltermrightoutside+(S d)=(pfc_complement_division_match_steppreviousdiagonalterm)) /\ (((pfc_right_division_match_steppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_match_steppreviousdiagonal)=pfc_left_division_match_steppreviousdiagonalterm*pfc_right_division_match_steppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_match_stepprevioussum fs_v_pfc_division_match_stepprevioussum. ((((exists fs_h_pfc_division_match_stepprevioussum_body_start. fs_h_pfc_division_match_stepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_match_stepprevioussum)) /\ exists fs_q_pfc_division_match_stepprevioussum_body_start. fs_u_pfc_division_match_stepprevioussum = fs_q_pfc_division_match_stepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_match_stepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_match_stepprevioussum_body_terminal. fs_h_pfc_division_match_stepprevioussum_body_terminal + S (pfc_natural_sum_division_match_stepprevious) = S ((S (S (i))) * fs_v_pfc_division_match_stepprevioussum)) /\ exists fs_q_pfc_division_match_stepprevioussum_body_terminal. fs_u_pfc_division_match_stepprevioussum = fs_q_pfc_division_match_stepprevioussum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_match_stepprevioussum) + (pfc_natural_sum_division_match_stepprevious))) /\ forall fs_i_pfc_division_match_stepprevioussum_body_steps. (exists fs_lt_pfc_division_match_stepprevioussum_body_steps_bound. fs_lt_pfc_division_match_stepprevioussum_body_steps_bound + S fs_i_pfc_division_match_stepprevioussum_body_steps = S (i)) -> exists fs_a_pfc_division_match_stepprevioussum_body_steps fs_r_pfc_division_match_stepprevioussum_body_steps fs_s_pfc_division_match_stepprevioussum_body_steps. ((((exists fs_h_pfc_division_match_stepprevioussum_body_steps_summand. fs_h_pfc_division_match_stepprevioussum_body_steps_summand + S (fs_a_pfc_division_match_stepprevioussum_body_steps) = S ((S (fs_i_pfc_division_match_stepprevioussum_body_steps)) * pfc_terms_scale_division_match_stepprevious)) /\ exists fs_q_pfc_division_match_stepprevioussum_body_steps_summand. pfc_terms_code_division_match_stepprevious = fs_q_pfc_division_match_stepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_match_stepprevioussum_body_steps)) * pfc_terms_scale_division_match_stepprevious) + (fs_a_pfc_division_match_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_match_stepprevioussum_body_steps_partial. fs_h_pfc_division_match_stepprevioussum_body_steps_partial + S (fs_r_pfc_division_match_stepprevioussum_body_steps) = S ((S (fs_i_pfc_division_match_stepprevioussum_body_steps)) * fs_v_pfc_division_match_stepprevioussum)) /\ exists fs_q_pfc_division_match_stepprevioussum_body_steps_partial. fs_u_pfc_division_match_stepprevioussum = fs_q_pfc_division_match_stepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_match_stepprevioussum_body_steps)) * fs_v_pfc_division_match_stepprevioussum) + (fs_r_pfc_division_match_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_match_stepprevioussum_body_steps_successor. fs_h_pfc_division_match_stepprevioussum_body_steps_successor + S (fs_s_pfc_division_match_stepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_match_stepprevioussum_body_steps)) * fs_v_pfc_division_match_stepprevioussum)) /\ exists fs_q_pfc_division_match_stepprevioussum_body_steps_successor. fs_u_pfc_division_match_stepprevioussum = fs_q_pfc_division_match_stepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_match_stepprevioussum_body_steps)) * fs_v_pfc_division_match_stepprevioussum) + (fs_s_pfc_division_match_stepprevioussum_body_steps))) /\ fs_s_pfc_division_match_stepprevioussum_body_steps = fs_r_pfc_division_match_stepprevioussum_body_steps + fs_a_pfc_division_match_stepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_match_steppreviousresiduebound. pfa_gap_division_match_steppreviousresiduebound + S (pfd_previous_division_match_step) = (p)) /\ ((exists pfa_offset_left_division_match_steppreviousresiduecongruence pfa_offset_right_division_match_steppreviousresiduecongruence. (pfc_natural_sum_division_match_stepprevious) + (p) * pfa_offset_left_division_match_steppreviousresiduecongruence = (pfd_previous_division_match_step) + (p) * pfa_offset_right_division_match_steppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_match_stepsubtractleft. pfa_gap_division_match_stepsubtractleft + S (pfd_previous_division_match_step) = (p)) /\ (((exists pfa_gap_division_match_stepsubtractright. pfa_gap_division_match_stepsubtractright + S (pfd_difference_division_match_step) = (p)) /\ ((((exists pfa_gap_division_match_stepsubtractresultbound. pfa_gap_division_match_stepsubtractresultbound + S (pfd_input_division_match_step) = (p)) /\ ((exists pfa_offset_left_division_match_stepsubtractresultcongruence pfa_offset_right_division_match_stepsubtractresultcongruence. ((pfd_previous_division_match_step) + (pfd_difference_division_match_step)) + (p) * pfa_offset_left_division_match_stepsubtractresultcongruence = (pfd_input_division_match_step) + (p) * pfa_offset_right_division_match_stepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_match_stepmultiplyleft. pfa_gap_division_match_stepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_match_stepmultiplyright. pfa_gap_division_match_stepmultiplyright + S (pfd_difference_division_match_step) = (p)) /\ ((((exists pfa_gap_division_match_stepmultiplyresultbound. pfa_gap_division_match_stepmultiplyresultbound + S (q) = (p)) /\ ((exists pfa_offset_left_division_match_stepmultiplyresultcongruence pfa_offset_right_division_match_stepmultiplyresultcongruence. ((k) * (pfd_difference_division_match_step)) + (p) * pfa_offset_left_division_match_stepmultiplyresultcongruence = (q) + (p) * pfa_offset_right_division_match_stepmultiplyresultcongruence))))))))))))))))))specialize hq (i)apply hqexact hicases hpointcases hpoint_witnesscases hpoint_witness_rightcases hpoint_witness_right_witnesscases hpoint_witness_right_witness_witnesscases hpoint_witness_right_witness_witness_witnesscases hpoint_witness_right_witness_witness_witness_rightcases hpoint_witness_right_witness_witness_witness_right_righthave hqbound : exists pfa_gap_division_match_value_bound. pfa_gap_division_match_value_bound + S (x) = (p)cases hpoint_witness_right_witness_witness_witness_right_right_rightcases hpoint_witness_right_witness_witness_witness_right_right_right_rightcases hpoint_witness_right_witness_witness_witness_right_right_right_right_rightexact hpoint_witness_right_witness_witness_witness_right_right_right_right_right_lefthave hbnd : exists pfa_gap_division_match_head_bound. pfa_gap_division_match_head_bound + S (b) = (p)cases hkcases hk_rightexact hk_right_lefthave hproduct : exists t. (((exists pfa_gap_division_match_productleft. pfa_gap_division_match_productleft + S (x) = (p)) /\ (((exists pfa_gap_division_match_productright. pfa_gap_division_match_productright + S (b) = (p)) /\ ((((exists pfa_gap_division_match_productresultbound. pfa_gap_division_match_productresultbound + S (t) = (p)) /\ ((exists pfa_offset_left_division_match_productresultcongruence pfa_offset_right_division_match_productresultcongruence. ((x) * (b)) + (p) * pfa_offset_left_division_match_productresultcongruence = (t) + (p) * pfa_offset_right_division_match_productresultcongruence)))))))))specialize prime_field_multiply_exists (p)specialize prime_field_multiply_exists (x)specialize prime_field_multiply_exists (b)apply prime_field_multiply_existsexact hpexact hqboundexact hbndcases hproducthave hshort : exists pfc_terms_code_division_match_shorter pfc_terms_scale_division_match_shorter pfc_natural_sum_division_match_shorter. ((forall pfc_index_division_match_shorterdiagonal. (exists pfa_gap_division_match_shorterdiagonalbound. pfa_gap_division_match_shorterdiagonalbound + S (pfc_index_division_match_shorterdiagonal) = (S (i))) -> exists pfc_value_division_match_shorterdiagonal. ((((exists ff_h_pfp_division_match_shorterdiagonalentry. ff_h_pfp_division_match_shorterdiagonalentry + S (pfc_value_division_match_shorterdiagonal) = S ((S (pfc_index_division_match_shorterdiagonal)) * pfc_terms_scale_division_match_shorter)) /\ exists ff_q_pfp_division_match_shorterdiagonalentry. pfc_terms_code_division_match_shorter = ff_q_pfp_division_match_shorterdiagonalentry * S ((S (pfc_index_division_match_shorterdiagonal)) * pfc_terms_scale_division_match_shorter) + (pfc_value_division_match_shorterdiagonal))) /\ ((exists pfc_complement_division_match_shorterdiagonalterm pfc_left_division_match_shorterdiagonalterm pfc_right_division_match_shorterdiagonalterm. (((pfc_index_division_match_shorterdiagonal)+pfc_complement_division_match_shorterdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_match_shorterdiagonaltermleftinside. pfa_gap_division_match_shorterdiagonaltermleftinside + S (pfc_index_division_match_shorterdiagonal) = (S i)) /\ ((((exists ff_h_pfp_division_match_shorterdiagonaltermleftentry. ff_h_pfp_division_match_shorterdiagonaltermleftentry + S (pfc_left_division_match_shorterdiagonalterm) = S ((S (pfc_index_division_match_shorterdiagonal)) * qc)) /\ exists ff_q_pfp_division_match_shorterdiagonaltermleftentry. qb = ff_q_pfp_division_match_shorterdiagonaltermleftentry * S ((S (pfc_index_division_match_shorterdiagonal)) * qc) + (pfc_left_division_match_shorterdiagonalterm)))))) \/ (((exists pfc_gap_division_match_shorterdiagonaltermleftoutside. pfc_gap_division_match_shorterdiagonaltermleftoutside+(S i)=(pfc_index_division_match_shorterdiagonal)) /\ (((pfc_left_division_match_shorterdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_match_shorterdiagonaltermrightinside. pfa_gap_division_match_shorterdiagonaltermrightinside + S (pfc_complement_division_match_shorterdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_match_shorterdiagonaltermrightentry. ff_h_pfp_division_match_shorterdiagonaltermrightentry + S (pfc_right_division_match_shorterdiagonalterm) = S ((S (pfc_complement_division_match_shorterdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_match_shorterdiagonaltermrightentry. bb = ff_q_pfp_division_match_shorterdiagonaltermrightentry * S ((S (pfc_complement_division_match_shorterdiagonalterm)) * bc) + (pfc_right_division_match_shorterdiagonalterm)))))) \/ (((exists pfc_gap_division_match_shorterdiagonaltermrightoutside. pfc_gap_division_match_shorterdiagonaltermrightoutside+(S d)=(pfc_complement_division_match_shorterdiagonalterm)) /\ (((pfc_right_division_match_shorterdiagonalterm)=0))))) /\ (((pfc_value_division_match_shorterdiagonal)=pfc_left_division_match_shorterdiagonalterm*pfc_right_division_match_shorterdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_match_shortersum fs_v_pfc_division_match_shortersum. ((((exists fs_h_pfc_division_match_shortersum_body_start. fs_h_pfc_division_match_shortersum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_match_shortersum)) /\ exists fs_q_pfc_division_match_shortersum_body_start. fs_u_pfc_division_match_shortersum = fs_q_pfc_division_match_shortersum_body_start * S ((S (0)) * fs_v_pfc_division_match_shortersum) + (0))) /\ ((((exists fs_h_pfc_division_match_shortersum_body_terminal. fs_h_pfc_division_match_shortersum_body_terminal + S (pfc_natural_sum_division_match_shorter) = S ((S (S (i))) * fs_v_pfc_division_match_shortersum)) /\ exists fs_q_pfc_division_match_shortersum_body_terminal. fs_u_pfc_division_match_shortersum = fs_q_pfc_division_match_shortersum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_match_shortersum) + (pfc_natural_sum_division_match_shorter))) /\ forall fs_i_pfc_division_match_shortersum_body_steps. (exists fs_lt_pfc_division_match_shortersum_body_steps_bound. fs_lt_pfc_division_match_shortersum_body_steps_bound + S fs_i_pfc_division_match_shortersum_body_steps = S (i)) -> exists fs_a_pfc_division_match_shortersum_body_steps fs_r_pfc_division_match_shortersum_body_steps fs_s_pfc_division_match_shortersum_body_steps. ((((exists fs_h_pfc_division_match_shortersum_body_steps_summand. fs_h_pfc_division_match_shortersum_body_steps_summand + S (fs_a_pfc_division_match_shortersum_body_steps) = S ((S (fs_i_pfc_division_match_shortersum_body_steps)) * pfc_terms_scale_division_match_shorter)) /\ exists fs_q_pfc_division_match_shortersum_body_steps_summand. pfc_terms_code_division_match_shorter = fs_q_pfc_division_match_shortersum_body_steps_summand * S ((S (fs_i_pfc_division_match_shortersum_body_steps)) * pfc_terms_scale_division_match_shorter) + (fs_a_pfc_division_match_shortersum_body_steps))) /\ ((((exists fs_h_pfc_division_match_shortersum_body_steps_partial. fs_h_pfc_division_match_shortersum_body_steps_partial + S (fs_r_pfc_division_match_shortersum_body_steps) = S ((S (fs_i_pfc_division_match_shortersum_body_steps)) * fs_v_pfc_division_match_shortersum)) /\ exists fs_q_pfc_division_match_shortersum_body_steps_partial. fs_u_pfc_division_match_shortersum = fs_q_pfc_division_match_shortersum_body_steps_partial * S ((S (fs_i_pfc_division_match_shortersum_body_steps)) * fs_v_pfc_division_match_shortersum) + (fs_r_pfc_division_match_shortersum_body_steps))) /\ ((((exists fs_h_pfc_division_match_shortersum_body_steps_successor. fs_h_pfc_division_match_shortersum_body_steps_successor + S (fs_s_pfc_division_match_shortersum_body_steps) = S ((S (S fs_i_pfc_division_match_shortersum_body_steps)) * fs_v_pfc_division_match_shortersum)) /\ exists fs_q_pfc_division_match_shortersum_body_steps_successor. fs_u_pfc_division_match_shortersum = fs_q_pfc_division_match_shortersum_body_steps_successor * S ((S (S fs_i_pfc_division_match_shortersum_body_steps)) * fs_v_pfc_division_match_shortersum) + (fs_s_pfc_division_match_shortersum_body_steps))) /\ fs_s_pfc_division_match_shortersum_body_steps = fs_r_pfc_division_match_shortersum_body_steps + fs_a_pfc_division_match_shortersum_body_steps)))))) /\ ((((exists pfa_gap_division_match_shorterresiduebound. pfa_gap_division_match_shorterresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_division_match_shorterresiduecongruence pfa_offset_right_division_match_shorterresiduecongruence. (pfc_natural_sum_division_match_shorter) + (p) * pfa_offset_left_division_match_shorterresiduecongruence = (r) + (p) * pfa_offset_right_division_match_shorterresiduecongruence))))))))specialize prime_field_convolution_coefficient_prefix_transport (p)specialize prime_field_convolution_coefficient_prefix_transport (qb)specialize prime_field_convolution_coefficient_prefix_transport (qc)specialize prime_field_convolution_coefficient_prefix_transport (N)specialize prime_field_convolution_coefficient_prefix_transport (qb)specialize prime_field_convolution_coefficient_prefix_transport (qc)specialize prime_field_convolution_coefficient_prefix_transport (S i)specialize prime_field_convolution_coefficient_prefix_transport (bb)specialize prime_field_convolution_coefficient_prefix_transport (bc)specialize prime_field_convolution_coefficient_prefix_transport (S d)specialize prime_field_convolution_coefficient_prefix_transport (S i)specialize prime_field_convolution_coefficient_prefix_transport (i)specialize prime_field_convolution_coefficient_prefix_transport (r)apply prime_field_convolution_coefficient_prefix_transportexact hispecialize le_refl (S i)apply le_reflintro jintro vintro hjintro hvexact hvspecialize le_refl (S i)apply le_reflexact hrhave hsum : ((exists pfa_gap_division_match_sumleft. pfa_gap_division_match_sumleft + S (x2) = (p)) /\ (((exists pfa_gap_division_match_sumright. pfa_gap_division_match_sumright + S (x4) = (p)) /\ ((((exists pfa_gap_division_match_sumresultbound. pfa_gap_division_match_sumresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_division_match_sumresultcongruence pfa_offset_right_division_match_sumresultcongruence. ((x2) + (x4)) + (p) * pfa_offset_left_division_match_sumresultcongruence = (r) + (p) * pfa_offset_right_division_match_sumresultcongruence))))))))specialize prime_field_convolution_coefficient_append (p)specialize prime_field_convolution_coefficient_append (qb)specialize prime_field_convolution_coefficient_append (qc)specialize prime_field_convolution_coefficient_append (qb)specialize prime_field_convolution_coefficient_append (qc)specialize prime_field_convolution_coefficient_append (bb)specialize prime_field_convolution_coefficient_append (bc)specialize prime_field_convolution_coefficient_append (d)specialize prime_field_convolution_coefficient_append (i)specialize prime_field_convolution_coefficient_append (x)specialize prime_field_convolution_coefficient_append (b)specialize prime_field_convolution_coefficient_append (x2)specialize prime_field_convolution_coefficient_append (x4)specialize prime_field_convolution_coefficient_append (r)apply prime_field_convolution_coefficient_appendintro jintro vintro hjintro hvexact hvexact hpoint_witness_leftexact hbexact hpoint_witness_right_witness_witness_witness_right_leftexact hshortexact hproduct_witnesshave heq : r=x1specialize prime_field_polynomial_quotient_scalar_cancellation (p)specialize prime_field_polynomial_quotient_scalar_cancellation (b)specialize prime_field_polynomial_quotient_scalar_cancellation (k)specialize prime_field_polynomial_quotient_scalar_cancellation (x2)specialize prime_field_polynomial_quotient_scalar_cancellation (x3)specialize prime_field_polynomial_quotient_scalar_cancellation (x1)specialize prime_field_polynomial_quotient_scalar_cancellation (x)specialize prime_field_polynomial_quotient_scalar_cancellation (x4)specialize prime_field_polynomial_quotient_scalar_cancellation (r)apply prime_field_polynomial_quotient_scalar_cancellationexact hpexact hkexact hpoint_witness_right_witness_witness_witness_right_right_leftexact hpoint_witness_right_witness_witness_witness_right_right_rightexact hproduct_witnessexact hsumrewrite heqrewrite heqexact hpoint_witness_right_witness_witness_witness_left
prime_field_polynomial_quotient_prefix_product_matches · unchanged support, not a new admission
forall p k ab ac bb bc d qb qc N b pb pc L. (~((p) = 1) /\ forall pfa_factor_left_division_match_table_prime pfa_factor_right_division_match_table_prime. (p) = pfa_factor_left_division_match_table_prime * pfa_factor_right_division_match_table_prime -> pfa_factor_left_division_match_table_prime = 1 \/ pfa_factor_right_division_match_table_prime = 1) -> (((exists ff_h_pfp_division_match_table_head. ff_h_pfp_division_match_table_head + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_match_table_head. bb = ff_q_pfp_division_match_table_head * S ((S (0)) * bc) + (b))) -> (((~((b) = 0)) /\ ((((exists pfa_gap_division_match_table_inversemultiplicationleft. pfa_gap_division_match_table_inversemultiplicationleft + S (b) = (p)) /\ (((exists pfa_gap_division_match_table_inversemultiplicationright. pfa_gap_division_match_table_inversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_division_match_table_inversemultiplicationresultbound. pfa_gap_division_match_table_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_match_table_inversemultiplicationresultcongruence pfa_offset_right_division_match_table_inversemultiplicationresultcongruence. ((b) * (k)) + (p) * pfa_offset_left_division_match_table_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_match_table_inversemultiplicationresultcongruence)))))))))))) -> (forall pfd_index_division_match_table_execution. (exists pfa_gap_division_match_table_executionbound. pfa_gap_division_match_table_executionbound + S (pfd_index_division_match_table_execution) = (N)) -> exists pfd_value_division_match_table_execution. ((((exists ff_h_pfp_division_match_table_executionentry. ff_h_pfp_division_match_table_executionentry + S (pfd_value_division_match_table_execution) = S ((S (pfd_index_division_match_table_execution)) * qc)) /\ exists ff_q_pfp_division_match_table_executionentry. qb = ff_q_pfp_division_match_table_executionentry * S ((S (pfd_index_division_match_table_execution)) * qc) + (pfd_value_division_match_table_execution))) /\ ((exists pfd_input_division_match_table_executionstep pfd_previous_division_match_table_executionstep pfd_difference_division_match_table_executionstep. ((((exists ff_h_pfp_division_match_table_executionstepinput. ff_h_pfp_division_match_table_executionstepinput + S (pfd_input_division_match_table_executionstep) = S ((S (pfd_index_division_match_table_execution)) * ac)) /\ exists ff_q_pfp_division_match_table_executionstepinput. ab = ff_q_pfp_division_match_table_executionstepinput * S ((S (pfd_index_division_match_table_execution)) * ac) + (pfd_input_division_match_table_executionstep))) /\ (((exists pfc_terms_code_division_match_table_executionstepprevious pfc_terms_scale_division_match_table_executionstepprevious pfc_natural_sum_division_match_table_executionstepprevious. ((forall pfc_index_division_match_table_executionsteppreviousdiagonal. (exists pfa_gap_division_match_table_executionsteppreviousdiagonalbound. pfa_gap_division_match_table_executionsteppreviousdiagonalbound + S (pfc_index_division_match_table_executionsteppreviousdiagonal) = (S (pfd_index_division_match_table_execution))) -> exists pfc_value_division_match_table_executionsteppreviousdiagonal. ((((exists ff_h_pfp_division_match_table_executionsteppreviousdiagonalentry. ff_h_pfp_division_match_table_executionsteppreviousdiagonalentry + S (pfc_value_division_match_table_executionsteppreviousdiagonal) = S ((S (pfc_index_division_match_table_executionsteppreviousdiagonal)) * pfc_terms_scale_division_match_table_executionstepprevious)) /\ exists ff_q_pfp_division_match_table_executionsteppreviousdiagonalentry. pfc_terms_code_division_match_table_executionstepprevious = ff_q_pfp_division_match_table_executionsteppreviousdiagonalentry * S ((S (pfc_index_division_match_table_executionsteppreviousdiagonal)) * pfc_terms_scale_division_match_table_executionstepprevious) + (pfc_value_division_match_table_executionsteppreviousdiagonal))) /\ ((exists pfc_complement_division_match_table_executionsteppreviousdiagonalterm pfc_left_division_match_table_executionsteppreviousdiagonalterm pfc_right_division_match_table_executionsteppreviousdiagonalterm. (((pfc_index_division_match_table_executionsteppreviousdiagonal)+pfc_complement_division_match_table_executionsteppreviousdiagonalterm=(pfd_index_division_match_table_execution)) /\ ((((((exists pfa_gap_division_match_table_executionsteppreviousdiagonaltermleftinside. pfa_gap_division_match_table_executionsteppreviousdiagonaltermleftinside + S (pfc_index_division_match_table_executionsteppreviousdiagonal) = (pfd_index_division_match_table_execution)) /\ ((((exists ff_h_pfp_division_match_table_executionsteppreviousdiagonaltermleftentry. ff_h_pfp_division_match_table_executionsteppreviousdiagonaltermleftentry + S (pfc_left_division_match_table_executionsteppreviousdiagonalterm) = S ((S (pfc_index_division_match_table_executionsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_match_table_executionsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_match_table_executionsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_match_table_executionsteppreviousdiagonal)) * qc) + (pfc_left_division_match_table_executionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_executionsteppreviousdiagonaltermleftoutside. pfc_gap_division_match_table_executionsteppreviousdiagonaltermleftoutside+(pfd_index_division_match_table_execution)=(pfc_index_division_match_table_executionsteppreviousdiagonal)) /\ (((pfc_left_division_match_table_executionsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_match_table_executionsteppreviousdiagonaltermrightinside. pfa_gap_division_match_table_executionsteppreviousdiagonaltermrightinside + S (pfc_complement_division_match_table_executionsteppreviousdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_match_table_executionsteppreviousdiagonaltermrightentry. ff_h_pfp_division_match_table_executionsteppreviousdiagonaltermrightentry + S (pfc_right_division_match_table_executionsteppreviousdiagonalterm) = S ((S (pfc_complement_division_match_table_executionsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_match_table_executionsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_match_table_executionsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_match_table_executionsteppreviousdiagonalterm)) * bc) + (pfc_right_division_match_table_executionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_executionsteppreviousdiagonaltermrightoutside. pfc_gap_division_match_table_executionsteppreviousdiagonaltermrightoutside+(S d)=(pfc_complement_division_match_table_executionsteppreviousdiagonalterm)) /\ (((pfc_right_division_match_table_executionsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_match_table_executionsteppreviousdiagonal)=pfc_left_division_match_table_executionsteppreviousdiagonalterm*pfc_right_division_match_table_executionsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_match_table_executionstepprevioussum fs_v_pfc_division_match_table_executionstepprevioussum. ((((exists fs_h_pfc_division_match_table_executionstepprevioussum_body_start. fs_h_pfc_division_match_table_executionstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_match_table_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_table_executionstepprevioussum_body_start. fs_u_pfc_division_match_table_executionstepprevioussum = fs_q_pfc_division_match_table_executionstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_match_table_executionstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_match_table_executionstepprevioussum_body_terminal. fs_h_pfc_division_match_table_executionstepprevioussum_body_terminal + S (pfc_natural_sum_division_match_table_executionstepprevious) = S ((S (S (pfd_index_division_match_table_execution))) * fs_v_pfc_division_match_table_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_table_executionstepprevioussum_body_terminal. fs_u_pfc_division_match_table_executionstepprevioussum = fs_q_pfc_division_match_table_executionstepprevioussum_body_terminal * S ((S (S (pfd_index_division_match_table_execution))) * fs_v_pfc_division_match_table_executionstepprevioussum) + (pfc_natural_sum_division_match_table_executionstepprevious))) /\ forall fs_i_pfc_division_match_table_executionstepprevioussum_body_steps. (exists fs_lt_pfc_division_match_table_executionstepprevioussum_body_steps_bound. fs_lt_pfc_division_match_table_executionstepprevioussum_body_steps_bound + S fs_i_pfc_division_match_table_executionstepprevioussum_body_steps = S (pfd_index_division_match_table_execution)) -> exists fs_a_pfc_division_match_table_executionstepprevioussum_body_steps fs_r_pfc_division_match_table_executionstepprevioussum_body_steps fs_s_pfc_division_match_table_executionstepprevioussum_body_steps. ((((exists fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_summand. fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_summand + S (fs_a_pfc_division_match_table_executionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * pfc_terms_scale_division_match_table_executionstepprevious)) /\ exists fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_summand. pfc_terms_code_division_match_table_executionstepprevious = fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * pfc_terms_scale_division_match_table_executionstepprevious) + (fs_a_pfc_division_match_table_executionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_partial. fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_partial + S (fs_r_pfc_division_match_table_executionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_table_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_partial. fs_u_pfc_division_match_table_executionstepprevioussum = fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_table_executionstepprevioussum) + (fs_r_pfc_division_match_table_executionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_successor. fs_h_pfc_division_match_table_executionstepprevioussum_body_steps_successor + S (fs_s_pfc_division_match_table_executionstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_table_executionstepprevioussum)) /\ exists fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_successor. fs_u_pfc_division_match_table_executionstepprevioussum = fs_q_pfc_division_match_table_executionstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_match_table_executionstepprevioussum_body_steps)) * fs_v_pfc_division_match_table_executionstepprevioussum) + (fs_s_pfc_division_match_table_executionstepprevioussum_body_steps))) /\ fs_s_pfc_division_match_table_executionstepprevioussum_body_steps = fs_r_pfc_division_match_table_executionstepprevioussum_body_steps + fs_a_pfc_division_match_table_executionstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_match_table_executionsteppreviousresiduebound. pfa_gap_division_match_table_executionsteppreviousresiduebound + S (pfd_previous_division_match_table_executionstep) = (p)) /\ ((exists pfa_offset_left_division_match_table_executionsteppreviousresiduecongruence pfa_offset_right_division_match_table_executionsteppreviousresiduecongruence. (pfc_natural_sum_division_match_table_executionstepprevious) + (p) * pfa_offset_left_division_match_table_executionsteppreviousresiduecongruence = (pfd_previous_division_match_table_executionstep) + (p) * pfa_offset_right_division_match_table_executionsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_match_table_executionstepsubtractleft. pfa_gap_division_match_table_executionstepsubtractleft + S (pfd_previous_division_match_table_executionstep) = (p)) /\ (((exists pfa_gap_division_match_table_executionstepsubtractright. pfa_gap_division_match_table_executionstepsubtractright + S (pfd_difference_division_match_table_executionstep) = (p)) /\ ((((exists pfa_gap_division_match_table_executionstepsubtractresultbound. pfa_gap_division_match_table_executionstepsubtractresultbound + S (pfd_input_division_match_table_executionstep) = (p)) /\ ((exists pfa_offset_left_division_match_table_executionstepsubtractresultcongruence pfa_offset_right_division_match_table_executionstepsubtractresultcongruence. ((pfd_previous_division_match_table_executionstep) + (pfd_difference_division_match_table_executionstep)) + (p) * pfa_offset_left_division_match_table_executionstepsubtractresultcongruence = (pfd_input_division_match_table_executionstep) + (p) * pfa_offset_right_division_match_table_executionstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_match_table_executionstepmultiplyleft. pfa_gap_division_match_table_executionstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_match_table_executionstepmultiplyright. pfa_gap_division_match_table_executionstepmultiplyright + S (pfd_difference_division_match_table_executionstep) = (p)) /\ ((((exists pfa_gap_division_match_table_executionstepmultiplyresultbound. pfa_gap_division_match_table_executionstepmultiplyresultbound + S (pfd_value_division_match_table_execution) = (p)) /\ ((exists pfa_offset_left_division_match_table_executionstepmultiplyresultcongruence pfa_offset_right_division_match_table_executionstepmultiplyresultcongruence. ((k) * (pfd_difference_division_match_table_executionstep)) + (p) * pfa_offset_left_division_match_table_executionstepmultiplyresultcongruence = (pfd_value_division_match_table_execution) + (p) * pfa_offset_right_division_match_table_executionstepmultiplyresultcongruence))))))))))))))))))) -> (exists pfc_gap_division_match_table_length. pfc_gap_division_match_table_length+(N)=(L)) -> (forall pfc_index_division_match_table_product. (exists pfa_gap_division_match_table_productbound. pfa_gap_division_match_table_productbound + S (pfc_index_division_match_table_product) = (L)) -> exists pfc_value_division_match_table_product. ((((exists ff_h_pfp_division_match_table_productentry. ff_h_pfp_division_match_table_productentry + S (pfc_value_division_match_table_product) = S ((S (pfc_index_division_match_table_product)) * pc)) /\ exists ff_q_pfp_division_match_table_productentry. pb = ff_q_pfp_division_match_table_productentry * S ((S (pfc_index_division_match_table_product)) * pc) + (pfc_value_division_match_table_product))) /\ ((exists pfc_terms_code_division_match_table_productcoefficient pfc_terms_scale_division_match_table_productcoefficient pfc_natural_sum_division_match_table_productcoefficient. ((forall pfc_index_division_match_table_productcoefficientdiagonal. (exists pfa_gap_division_match_table_productcoefficientdiagonalbound. pfa_gap_division_match_table_productcoefficientdiagonalbound + S (pfc_index_division_match_table_productcoefficientdiagonal) = (S (pfc_index_division_match_table_product))) -> exists pfc_value_division_match_table_productcoefficientdiagonal. ((((exists ff_h_pfp_division_match_table_productcoefficientdiagonalentry. ff_h_pfp_division_match_table_productcoefficientdiagonalentry + S (pfc_value_division_match_table_productcoefficientdiagonal) = S ((S (pfc_index_division_match_table_productcoefficientdiagonal)) * pfc_terms_scale_division_match_table_productcoefficient)) /\ exists ff_q_pfp_division_match_table_productcoefficientdiagonalentry. pfc_terms_code_division_match_table_productcoefficient = ff_q_pfp_division_match_table_productcoefficientdiagonalentry * S ((S (pfc_index_division_match_table_productcoefficientdiagonal)) * pfc_terms_scale_division_match_table_productcoefficient) + (pfc_value_division_match_table_productcoefficientdiagonal))) /\ ((exists pfc_complement_division_match_table_productcoefficientdiagonalterm pfc_left_division_match_table_productcoefficientdiagonalterm pfc_right_division_match_table_productcoefficientdiagonalterm. (((pfc_index_division_match_table_productcoefficientdiagonal)+pfc_complement_division_match_table_productcoefficientdiagonalterm=(pfc_index_division_match_table_product)) /\ ((((((exists pfa_gap_division_match_table_productcoefficientdiagonaltermleftinside. pfa_gap_division_match_table_productcoefficientdiagonaltermleftinside + S (pfc_index_division_match_table_productcoefficientdiagonal) = (N)) /\ ((((exists ff_h_pfp_division_match_table_productcoefficientdiagonaltermleftentry. ff_h_pfp_division_match_table_productcoefficientdiagonaltermleftentry + S (pfc_left_division_match_table_productcoefficientdiagonalterm) = S ((S (pfc_index_division_match_table_productcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_match_table_productcoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_match_table_productcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_match_table_productcoefficientdiagonal)) * qc) + (pfc_left_division_match_table_productcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_productcoefficientdiagonaltermleftoutside. pfc_gap_division_match_table_productcoefficientdiagonaltermleftoutside+(N)=(pfc_index_division_match_table_productcoefficientdiagonal)) /\ (((pfc_left_division_match_table_productcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_match_table_productcoefficientdiagonaltermrightinside. pfa_gap_division_match_table_productcoefficientdiagonaltermrightinside + S (pfc_complement_division_match_table_productcoefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_match_table_productcoefficientdiagonaltermrightentry. ff_h_pfp_division_match_table_productcoefficientdiagonaltermrightentry + S (pfc_right_division_match_table_productcoefficientdiagonalterm) = S ((S (pfc_complement_division_match_table_productcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_match_table_productcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_match_table_productcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_match_table_productcoefficientdiagonalterm)) * bc) + (pfc_right_division_match_table_productcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_productcoefficientdiagonaltermrightoutside. pfc_gap_division_match_table_productcoefficientdiagonaltermrightoutside+(S d)=(pfc_complement_division_match_table_productcoefficientdiagonalterm)) /\ (((pfc_right_division_match_table_productcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_match_table_productcoefficientdiagonal)=pfc_left_division_match_table_productcoefficientdiagonalterm*pfc_right_division_match_table_productcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_match_table_productcoefficientsum fs_v_pfc_division_match_table_productcoefficientsum. ((((exists fs_h_pfc_division_match_table_productcoefficientsum_body_start. fs_h_pfc_division_match_table_productcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_match_table_productcoefficientsum)) /\ exists fs_q_pfc_division_match_table_productcoefficientsum_body_start. fs_u_pfc_division_match_table_productcoefficientsum = fs_q_pfc_division_match_table_productcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_match_table_productcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_match_table_productcoefficientsum_body_terminal. fs_h_pfc_division_match_table_productcoefficientsum_body_terminal + S (pfc_natural_sum_division_match_table_productcoefficient) = S ((S (S (pfc_index_division_match_table_product))) * fs_v_pfc_division_match_table_productcoefficientsum)) /\ exists fs_q_pfc_division_match_table_productcoefficientsum_body_terminal. fs_u_pfc_division_match_table_productcoefficientsum = fs_q_pfc_division_match_table_productcoefficientsum_body_terminal * S ((S (S (pfc_index_division_match_table_product))) * fs_v_pfc_division_match_table_productcoefficientsum) + (pfc_natural_sum_division_match_table_productcoefficient))) /\ forall fs_i_pfc_division_match_table_productcoefficientsum_body_steps. (exists fs_lt_pfc_division_match_table_productcoefficientsum_body_steps_bound. fs_lt_pfc_division_match_table_productcoefficientsum_body_steps_bound + S fs_i_pfc_division_match_table_productcoefficientsum_body_steps = S (pfc_index_division_match_table_product)) -> exists fs_a_pfc_division_match_table_productcoefficientsum_body_steps fs_r_pfc_division_match_table_productcoefficientsum_body_steps fs_s_pfc_division_match_table_productcoefficientsum_body_steps. ((((exists fs_h_pfc_division_match_table_productcoefficientsum_body_steps_summand. fs_h_pfc_division_match_table_productcoefficientsum_body_steps_summand + S (fs_a_pfc_division_match_table_productcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * pfc_terms_scale_division_match_table_productcoefficient)) /\ exists fs_q_pfc_division_match_table_productcoefficientsum_body_steps_summand. pfc_terms_code_division_match_table_productcoefficient = fs_q_pfc_division_match_table_productcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * pfc_terms_scale_division_match_table_productcoefficient) + (fs_a_pfc_division_match_table_productcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_productcoefficientsum_body_steps_partial. fs_h_pfc_division_match_table_productcoefficientsum_body_steps_partial + S (fs_r_pfc_division_match_table_productcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * fs_v_pfc_division_match_table_productcoefficientsum)) /\ exists fs_q_pfc_division_match_table_productcoefficientsum_body_steps_partial. fs_u_pfc_division_match_table_productcoefficientsum = fs_q_pfc_division_match_table_productcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * fs_v_pfc_division_match_table_productcoefficientsum) + (fs_r_pfc_division_match_table_productcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_productcoefficientsum_body_steps_successor. fs_h_pfc_division_match_table_productcoefficientsum_body_steps_successor + S (fs_s_pfc_division_match_table_productcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * fs_v_pfc_division_match_table_productcoefficientsum)) /\ exists fs_q_pfc_division_match_table_productcoefficientsum_body_steps_successor. fs_u_pfc_division_match_table_productcoefficientsum = fs_q_pfc_division_match_table_productcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_match_table_productcoefficientsum_body_steps)) * fs_v_pfc_division_match_table_productcoefficientsum) + (fs_s_pfc_division_match_table_productcoefficientsum_body_steps))) /\ fs_s_pfc_division_match_table_productcoefficientsum_body_steps = fs_r_pfc_division_match_table_productcoefficientsum_body_steps + fs_a_pfc_division_match_table_productcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_match_table_productcoefficientresiduebound. pfa_gap_division_match_table_productcoefficientresiduebound + S (pfc_value_division_match_table_product) = (p)) /\ ((exists pfa_offset_left_division_match_table_productcoefficientresiduecongruence pfa_offset_right_division_match_table_productcoefficientresiduecongruence. (pfc_natural_sum_division_match_table_productcoefficient) + (p) * pfa_offset_left_division_match_table_productcoefficientresiduecongruence = (pfc_value_division_match_table_product) + (p) * pfa_offset_right_division_match_table_productcoefficientresiduecongruence)))))))))))) -> (forall mdr_i_pfp_division_match_table_result mdr_a_pfp_division_match_table_result. (exists mdr_gap_pfp_division_match_table_resultb. mdr_gap_pfp_division_match_table_resultb + S (mdr_i_pfp_division_match_table_result) = (N)) -> (((exists ff_h_mdr_pfp_division_match_table_resulto. ff_h_mdr_pfp_division_match_table_resulto + S (mdr_a_pfp_division_match_table_result) = S ((S (mdr_i_pfp_division_match_table_result)) * ac)) /\ exists ff_q_mdr_pfp_division_match_table_resulto. ab = ff_q_mdr_pfp_division_match_table_resulto * S ((S (mdr_i_pfp_division_match_table_result)) * ac) + (mdr_a_pfp_division_match_table_result))) -> (((exists ff_h_mdr_pfp_division_match_table_resultn. ff_h_mdr_pfp_division_match_table_resultn + S (mdr_a_pfp_division_match_table_result) = S ((S (mdr_i_pfp_division_match_table_result)) * pc)) /\ exists ff_q_mdr_pfp_division_match_table_resultn. pb = ff_q_mdr_pfp_division_match_table_resultn * S ((S (mdr_i_pfp_division_match_table_result)) * pc) + (mdr_a_pfp_division_match_table_result))))
intro pintro kintro abintro acintro bbintro bcintro dintro qbintro qcintro Nintro bintro pbintro pcintro Lintro hpintro hbintro hkintro hqintro hlenintro hproductintro iintro aintro hiintro hahave hv : exists r. ((((exists ff_h_pfp_division_match_table_entry. ff_h_pfp_division_match_table_entry + S (r) = S ((S (i)) * pc)) /\ exists ff_q_pfp_division_match_table_entry. pb = ff_q_pfp_division_match_table_entry * S ((S (i)) * pc) + (r))) /\ ((exists pfc_terms_code_division_match_table_coefficient pfc_terms_scale_division_match_table_coefficient pfc_natural_sum_division_match_table_coefficient. ((forall pfc_index_division_match_table_coefficientdiagonal. (exists pfa_gap_division_match_table_coefficientdiagonalbound. pfa_gap_division_match_table_coefficientdiagonalbound + S (pfc_index_division_match_table_coefficientdiagonal) = (S (i))) -> exists pfc_value_division_match_table_coefficientdiagonal. ((((exists ff_h_pfp_division_match_table_coefficientdiagonalentry. ff_h_pfp_division_match_table_coefficientdiagonalentry + S (pfc_value_division_match_table_coefficientdiagonal) = S ((S (pfc_index_division_match_table_coefficientdiagonal)) * pfc_terms_scale_division_match_table_coefficient)) /\ exists ff_q_pfp_division_match_table_coefficientdiagonalentry. pfc_terms_code_division_match_table_coefficient = ff_q_pfp_division_match_table_coefficientdiagonalentry * S ((S (pfc_index_division_match_table_coefficientdiagonal)) * pfc_terms_scale_division_match_table_coefficient) + (pfc_value_division_match_table_coefficientdiagonal))) /\ ((exists pfc_complement_division_match_table_coefficientdiagonalterm pfc_left_division_match_table_coefficientdiagonalterm pfc_right_division_match_table_coefficientdiagonalterm. (((pfc_index_division_match_table_coefficientdiagonal)+pfc_complement_division_match_table_coefficientdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_match_table_coefficientdiagonaltermleftinside. pfa_gap_division_match_table_coefficientdiagonaltermleftinside + S (pfc_index_division_match_table_coefficientdiagonal) = (N)) /\ ((((exists ff_h_pfp_division_match_table_coefficientdiagonaltermleftentry. ff_h_pfp_division_match_table_coefficientdiagonaltermleftentry + S (pfc_left_division_match_table_coefficientdiagonalterm) = S ((S (pfc_index_division_match_table_coefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_match_table_coefficientdiagonaltermleftentry. qb = ff_q_pfp_division_match_table_coefficientdiagonaltermleftentry * S ((S (pfc_index_division_match_table_coefficientdiagonal)) * qc) + (pfc_left_division_match_table_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_coefficientdiagonaltermleftoutside. pfc_gap_division_match_table_coefficientdiagonaltermleftoutside+(N)=(pfc_index_division_match_table_coefficientdiagonal)) /\ (((pfc_left_division_match_table_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_match_table_coefficientdiagonaltermrightinside. pfa_gap_division_match_table_coefficientdiagonaltermrightinside + S (pfc_complement_division_match_table_coefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_match_table_coefficientdiagonaltermrightentry. ff_h_pfp_division_match_table_coefficientdiagonaltermrightentry + S (pfc_right_division_match_table_coefficientdiagonalterm) = S ((S (pfc_complement_division_match_table_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_match_table_coefficientdiagonaltermrightentry. bb = ff_q_pfp_division_match_table_coefficientdiagonaltermrightentry * S ((S (pfc_complement_division_match_table_coefficientdiagonalterm)) * bc) + (pfc_right_division_match_table_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_match_table_coefficientdiagonaltermrightoutside. pfc_gap_division_match_table_coefficientdiagonaltermrightoutside+(S d)=(pfc_complement_division_match_table_coefficientdiagonalterm)) /\ (((pfc_right_division_match_table_coefficientdiagonalterm)=0))))) /\ (((pfc_value_division_match_table_coefficientdiagonal)=pfc_left_division_match_table_coefficientdiagonalterm*pfc_right_division_match_table_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_match_table_coefficientsum fs_v_pfc_division_match_table_coefficientsum. ((((exists fs_h_pfc_division_match_table_coefficientsum_body_start. fs_h_pfc_division_match_table_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_match_table_coefficientsum)) /\ exists fs_q_pfc_division_match_table_coefficientsum_body_start. fs_u_pfc_division_match_table_coefficientsum = fs_q_pfc_division_match_table_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_match_table_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_match_table_coefficientsum_body_terminal. fs_h_pfc_division_match_table_coefficientsum_body_terminal + S (pfc_natural_sum_division_match_table_coefficient) = S ((S (S (i))) * fs_v_pfc_division_match_table_coefficientsum)) /\ exists fs_q_pfc_division_match_table_coefficientsum_body_terminal. fs_u_pfc_division_match_table_coefficientsum = fs_q_pfc_division_match_table_coefficientsum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_match_table_coefficientsum) + (pfc_natural_sum_division_match_table_coefficient))) /\ forall fs_i_pfc_division_match_table_coefficientsum_body_steps. (exists fs_lt_pfc_division_match_table_coefficientsum_body_steps_bound. fs_lt_pfc_division_match_table_coefficientsum_body_steps_bound + S fs_i_pfc_division_match_table_coefficientsum_body_steps = S (i)) -> exists fs_a_pfc_division_match_table_coefficientsum_body_steps fs_r_pfc_division_match_table_coefficientsum_body_steps fs_s_pfc_division_match_table_coefficientsum_body_steps. ((((exists fs_h_pfc_division_match_table_coefficientsum_body_steps_summand. fs_h_pfc_division_match_table_coefficientsum_body_steps_summand + S (fs_a_pfc_division_match_table_coefficientsum_body_steps) = S ((S (fs_i_pfc_division_match_table_coefficientsum_body_steps)) * pfc_terms_scale_division_match_table_coefficient)) /\ exists fs_q_pfc_division_match_table_coefficientsum_body_steps_summand. pfc_terms_code_division_match_table_coefficient = fs_q_pfc_division_match_table_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_match_table_coefficientsum_body_steps)) * pfc_terms_scale_division_match_table_coefficient) + (fs_a_pfc_division_match_table_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_coefficientsum_body_steps_partial. fs_h_pfc_division_match_table_coefficientsum_body_steps_partial + S (fs_r_pfc_division_match_table_coefficientsum_body_steps) = S ((S (fs_i_pfc_division_match_table_coefficientsum_body_steps)) * fs_v_pfc_division_match_table_coefficientsum)) /\ exists fs_q_pfc_division_match_table_coefficientsum_body_steps_partial. fs_u_pfc_division_match_table_coefficientsum = fs_q_pfc_division_match_table_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_match_table_coefficientsum_body_steps)) * fs_v_pfc_division_match_table_coefficientsum) + (fs_r_pfc_division_match_table_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_match_table_coefficientsum_body_steps_successor. fs_h_pfc_division_match_table_coefficientsum_body_steps_successor + S (fs_s_pfc_division_match_table_coefficientsum_body_steps) = S ((S (S fs_i_pfc_division_match_table_coefficientsum_body_steps)) * fs_v_pfc_division_match_table_coefficientsum)) /\ exists fs_q_pfc_division_match_table_coefficientsum_body_steps_successor. fs_u_pfc_division_match_table_coefficientsum = fs_q_pfc_division_match_table_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_match_table_coefficientsum_body_steps)) * fs_v_pfc_division_match_table_coefficientsum) + (fs_s_pfc_division_match_table_coefficientsum_body_steps))) /\ fs_s_pfc_division_match_table_coefficientsum_body_steps = fs_r_pfc_division_match_table_coefficientsum_body_steps + fs_a_pfc_division_match_table_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_match_table_coefficientresiduebound. pfa_gap_division_match_table_coefficientresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_division_match_table_coefficientresiduecongruence pfa_offset_right_division_match_table_coefficientresiduecongruence. (pfc_natural_sum_division_match_table_coefficient) + (p) * pfa_offset_left_division_match_table_coefficientresiduecongruence = (r) + (p) * pfa_offset_right_division_match_table_coefficientresiduecongruence)))))))))))specialize hproduct (i)apply hproductspecialize lt_of_lt_of_le (i)specialize lt_of_lt_of_le (N)specialize lt_of_lt_of_le (L)apply lt_of_lt_of_leexact hiexact hlencases hvcases hv_witnesshave hinput : ((exists ff_h_pfp_division_match_table_input. ff_h_pfp_division_match_table_input + S (x) = S ((S (i)) * ac)) /\ exists ff_q_pfp_division_match_table_input. ab = ff_q_pfp_division_match_table_input * S ((S (i)) * ac) + (x))specialize prime_field_polynomial_quotient_prefix_convolution_entry (p)specialize prime_field_polynomial_quotient_prefix_convolution_entry (k)specialize prime_field_polynomial_quotient_prefix_convolution_entry (ab)specialize prime_field_polynomial_quotient_prefix_convolution_entry (ac)specialize prime_field_polynomial_quotient_prefix_convolution_entry (bb)specialize prime_field_polynomial_quotient_prefix_convolution_entry (bc)specialize prime_field_polynomial_quotient_prefix_convolution_entry (d)specialize prime_field_polynomial_quotient_prefix_convolution_entry (qb)specialize prime_field_polynomial_quotient_prefix_convolution_entry (qc)specialize prime_field_polynomial_quotient_prefix_convolution_entry (N)specialize prime_field_polynomial_quotient_prefix_convolution_entry (b)specialize prime_field_polynomial_quotient_prefix_convolution_entry (i)specialize prime_field_polynomial_quotient_prefix_convolution_entry (x)apply prime_field_polynomial_quotient_prefix_convolution_entryexact hpexact hbexact hkexact hqexact hiexact hv_witness_righthave heq : x=aspecialize beta_at_unique (ab)specialize beta_at_unique (ac)specialize beta_at_unique (i)specialize beta_at_unique (x)specialize beta_at_unique (a)apply beta_at_uniqueexact hinputexact harewrite heq at hv_witness_leftrewrite heq at hv_witness_leftexact hv_witness_left
prime_field_polynomial_quotient_prefix_remainder_zero · unchanged support, not a new admission
forall p k ab ac bb bc d qb qc N b pb pc L ub uc. (~((p) = 1) /\ forall pfa_factor_left_division_zero_prime pfa_factor_right_division_zero_prime. (p) = pfa_factor_left_division_zero_prime * pfa_factor_right_division_zero_prime -> pfa_factor_left_division_zero_prime = 1 \/ pfa_factor_right_division_zero_prime = 1) -> (((exists ff_h_pfp_division_zero_head. ff_h_pfp_division_zero_head + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_zero_head. bb = ff_q_pfp_division_zero_head * S ((S (0)) * bc) + (b))) -> (((~((b) = 0)) /\ ((((exists pfa_gap_division_zero_inversemultiplicationleft. pfa_gap_division_zero_inversemultiplicationleft + S (b) = (p)) /\ (((exists pfa_gap_division_zero_inversemultiplicationright. pfa_gap_division_zero_inversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_division_zero_inversemultiplicationresultbound. pfa_gap_division_zero_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_zero_inversemultiplicationresultcongruence pfa_offset_right_division_zero_inversemultiplicationresultcongruence. ((b) * (k)) + (p) * pfa_offset_left_division_zero_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_zero_inversemultiplicationresultcongruence)))))))))))) -> (forall pfd_index_division_zero_execution. (exists pfa_gap_division_zero_executionbound. pfa_gap_division_zero_executionbound + S (pfd_index_division_zero_execution) = (N)) -> exists pfd_value_division_zero_execution. ((((exists ff_h_pfp_division_zero_executionentry. ff_h_pfp_division_zero_executionentry + S (pfd_value_division_zero_execution) = S ((S (pfd_index_division_zero_execution)) * qc)) /\ exists ff_q_pfp_division_zero_executionentry. qb = ff_q_pfp_division_zero_executionentry * S ((S (pfd_index_division_zero_execution)) * qc) + (pfd_value_division_zero_execution))) /\ ((exists pfd_input_division_zero_executionstep pfd_previous_division_zero_executionstep pfd_difference_division_zero_executionstep. ((((exists ff_h_pfp_division_zero_executionstepinput. ff_h_pfp_division_zero_executionstepinput + S (pfd_input_division_zero_executionstep) = S ((S (pfd_index_division_zero_execution)) * ac)) /\ exists ff_q_pfp_division_zero_executionstepinput. ab = ff_q_pfp_division_zero_executionstepinput * S ((S (pfd_index_division_zero_execution)) * ac) + (pfd_input_division_zero_executionstep))) /\ (((exists pfc_terms_code_division_zero_executionstepprevious pfc_terms_scale_division_zero_executionstepprevious pfc_natural_sum_division_zero_executionstepprevious. ((forall pfc_index_division_zero_executionsteppreviousdiagonal. (exists pfa_gap_division_zero_executionsteppreviousdiagonalbound. pfa_gap_division_zero_executionsteppreviousdiagonalbound + S (pfc_index_division_zero_executionsteppreviousdiagonal) = (S (pfd_index_division_zero_execution))) -> exists pfc_value_division_zero_executionsteppreviousdiagonal. ((((exists ff_h_pfp_division_zero_executionsteppreviousdiagonalentry. ff_h_pfp_division_zero_executionsteppreviousdiagonalentry + S (pfc_value_division_zero_executionsteppreviousdiagonal) = S ((S (pfc_index_division_zero_executionsteppreviousdiagonal)) * pfc_terms_scale_division_zero_executionstepprevious)) /\ exists ff_q_pfp_division_zero_executionsteppreviousdiagonalentry. pfc_terms_code_division_zero_executionstepprevious = ff_q_pfp_division_zero_executionsteppreviousdiagonalentry * S ((S (pfc_index_division_zero_executionsteppreviousdiagonal)) * pfc_terms_scale_division_zero_executionstepprevious) + (pfc_value_division_zero_executionsteppreviousdiagonal))) /\ ((exists pfc_complement_division_zero_executionsteppreviousdiagonalterm pfc_left_division_zero_executionsteppreviousdiagonalterm pfc_right_division_zero_executionsteppreviousdiagonalterm. (((pfc_index_division_zero_executionsteppreviousdiagonal)+pfc_complement_division_zero_executionsteppreviousdiagonalterm=(pfd_index_division_zero_execution)) /\ ((((((exists pfa_gap_division_zero_executionsteppreviousdiagonaltermleftinside. pfa_gap_division_zero_executionsteppreviousdiagonaltermleftinside + S (pfc_index_division_zero_executionsteppreviousdiagonal) = (pfd_index_division_zero_execution)) /\ ((((exists ff_h_pfp_division_zero_executionsteppreviousdiagonaltermleftentry. ff_h_pfp_division_zero_executionsteppreviousdiagonaltermleftentry + S (pfc_left_division_zero_executionsteppreviousdiagonalterm) = S ((S (pfc_index_division_zero_executionsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_zero_executionsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_zero_executionsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_zero_executionsteppreviousdiagonal)) * qc) + (pfc_left_division_zero_executionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_zero_executionsteppreviousdiagonaltermleftoutside. pfc_gap_division_zero_executionsteppreviousdiagonaltermleftoutside+(pfd_index_division_zero_execution)=(pfc_index_division_zero_executionsteppreviousdiagonal)) /\ (((pfc_left_division_zero_executionsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_zero_executionsteppreviousdiagonaltermrightinside. pfa_gap_division_zero_executionsteppreviousdiagonaltermrightinside + S (pfc_complement_division_zero_executionsteppreviousdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_zero_executionsteppreviousdiagonaltermrightentry. ff_h_pfp_division_zero_executionsteppreviousdiagonaltermrightentry + S (pfc_right_division_zero_executionsteppreviousdiagonalterm) = S ((S (pfc_complement_division_zero_executionsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_zero_executionsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_zero_executionsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_zero_executionsteppreviousdiagonalterm)) * bc) + (pfc_right_division_zero_executionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_zero_executionsteppreviousdiagonaltermrightoutside. pfc_gap_division_zero_executionsteppreviousdiagonaltermrightoutside+(S d)=(pfc_complement_division_zero_executionsteppreviousdiagonalterm)) /\ (((pfc_right_division_zero_executionsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_zero_executionsteppreviousdiagonal)=pfc_left_division_zero_executionsteppreviousdiagonalterm*pfc_right_division_zero_executionsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_zero_executionstepprevioussum fs_v_pfc_division_zero_executionstepprevioussum. ((((exists fs_h_pfc_division_zero_executionstepprevioussum_body_start. fs_h_pfc_division_zero_executionstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_zero_executionstepprevioussum)) /\ exists fs_q_pfc_division_zero_executionstepprevioussum_body_start. fs_u_pfc_division_zero_executionstepprevioussum = fs_q_pfc_division_zero_executionstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_zero_executionstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_zero_executionstepprevioussum_body_terminal. fs_h_pfc_division_zero_executionstepprevioussum_body_terminal + S (pfc_natural_sum_division_zero_executionstepprevious) = S ((S (S (pfd_index_division_zero_execution))) * fs_v_pfc_division_zero_executionstepprevioussum)) /\ exists fs_q_pfc_division_zero_executionstepprevioussum_body_terminal. fs_u_pfc_division_zero_executionstepprevioussum = fs_q_pfc_division_zero_executionstepprevioussum_body_terminal * S ((S (S (pfd_index_division_zero_execution))) * fs_v_pfc_division_zero_executionstepprevioussum) + (pfc_natural_sum_division_zero_executionstepprevious))) /\ forall fs_i_pfc_division_zero_executionstepprevioussum_body_steps. (exists fs_lt_pfc_division_zero_executionstepprevioussum_body_steps_bound. fs_lt_pfc_division_zero_executionstepprevioussum_body_steps_bound + S fs_i_pfc_division_zero_executionstepprevioussum_body_steps = S (pfd_index_division_zero_execution)) -> exists fs_a_pfc_division_zero_executionstepprevioussum_body_steps fs_r_pfc_division_zero_executionstepprevioussum_body_steps fs_s_pfc_division_zero_executionstepprevioussum_body_steps. ((((exists fs_h_pfc_division_zero_executionstepprevioussum_body_steps_summand. fs_h_pfc_division_zero_executionstepprevioussum_body_steps_summand + S (fs_a_pfc_division_zero_executionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * pfc_terms_scale_division_zero_executionstepprevious)) /\ exists fs_q_pfc_division_zero_executionstepprevioussum_body_steps_summand. pfc_terms_code_division_zero_executionstepprevious = fs_q_pfc_division_zero_executionstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * pfc_terms_scale_division_zero_executionstepprevious) + (fs_a_pfc_division_zero_executionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_zero_executionstepprevioussum_body_steps_partial. fs_h_pfc_division_zero_executionstepprevioussum_body_steps_partial + S (fs_r_pfc_division_zero_executionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * fs_v_pfc_division_zero_executionstepprevioussum)) /\ exists fs_q_pfc_division_zero_executionstepprevioussum_body_steps_partial. fs_u_pfc_division_zero_executionstepprevioussum = fs_q_pfc_division_zero_executionstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * fs_v_pfc_division_zero_executionstepprevioussum) + (fs_r_pfc_division_zero_executionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_zero_executionstepprevioussum_body_steps_successor. fs_h_pfc_division_zero_executionstepprevioussum_body_steps_successor + S (fs_s_pfc_division_zero_executionstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * fs_v_pfc_division_zero_executionstepprevioussum)) /\ exists fs_q_pfc_division_zero_executionstepprevioussum_body_steps_successor. fs_u_pfc_division_zero_executionstepprevioussum = fs_q_pfc_division_zero_executionstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_zero_executionstepprevioussum_body_steps)) * fs_v_pfc_division_zero_executionstepprevioussum) + (fs_s_pfc_division_zero_executionstepprevioussum_body_steps))) /\ fs_s_pfc_division_zero_executionstepprevioussum_body_steps = fs_r_pfc_division_zero_executionstepprevioussum_body_steps + fs_a_pfc_division_zero_executionstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_zero_executionsteppreviousresiduebound. pfa_gap_division_zero_executionsteppreviousresiduebound + S (pfd_previous_division_zero_executionstep) = (p)) /\ ((exists pfa_offset_left_division_zero_executionsteppreviousresiduecongruence pfa_offset_right_division_zero_executionsteppreviousresiduecongruence. (pfc_natural_sum_division_zero_executionstepprevious) + (p) * pfa_offset_left_division_zero_executionsteppreviousresiduecongruence = (pfd_previous_division_zero_executionstep) + (p) * pfa_offset_right_division_zero_executionsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_zero_executionstepsubtractleft. pfa_gap_division_zero_executionstepsubtractleft + S (pfd_previous_division_zero_executionstep) = (p)) /\ (((exists pfa_gap_division_zero_executionstepsubtractright. pfa_gap_division_zero_executionstepsubtractright + S (pfd_difference_division_zero_executionstep) = (p)) /\ ((((exists pfa_gap_division_zero_executionstepsubtractresultbound. pfa_gap_division_zero_executionstepsubtractresultbound + S (pfd_input_division_zero_executionstep) = (p)) /\ ((exists pfa_offset_left_division_zero_executionstepsubtractresultcongruence pfa_offset_right_division_zero_executionstepsubtractresultcongruence. ((pfd_previous_division_zero_executionstep) + (pfd_difference_division_zero_executionstep)) + (p) * pfa_offset_left_division_zero_executionstepsubtractresultcongruence = (pfd_input_division_zero_executionstep) + (p) * pfa_offset_right_division_zero_executionstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_zero_executionstepmultiplyleft. pfa_gap_division_zero_executionstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_zero_executionstepmultiplyright. pfa_gap_division_zero_executionstepmultiplyright + S (pfd_difference_division_zero_executionstep) = (p)) /\ ((((exists pfa_gap_division_zero_executionstepmultiplyresultbound. pfa_gap_division_zero_executionstepmultiplyresultbound + S (pfd_value_division_zero_execution) = (p)) /\ ((exists pfa_offset_left_division_zero_executionstepmultiplyresultcongruence pfa_offset_right_division_zero_executionstepmultiplyresultcongruence. ((k) * (pfd_difference_division_zero_executionstep)) + (p) * pfa_offset_left_division_zero_executionstepmultiplyresultcongruence = (pfd_value_division_zero_execution) + (p) * pfa_offset_right_division_zero_executionstepmultiplyresultcongruence))))))))))))))))))) -> (exists pfc_gap_division_zero_length. pfc_gap_division_zero_length+(N)=(L)) -> (forall pfc_index_division_zero_product. (exists pfa_gap_division_zero_productbound. pfa_gap_division_zero_productbound + S (pfc_index_division_zero_product) = (L)) -> exists pfc_value_division_zero_product. ((((exists ff_h_pfp_division_zero_productentry. ff_h_pfp_division_zero_productentry + S (pfc_value_division_zero_product) = S ((S (pfc_index_division_zero_product)) * pc)) /\ exists ff_q_pfp_division_zero_productentry. pb = ff_q_pfp_division_zero_productentry * S ((S (pfc_index_division_zero_product)) * pc) + (pfc_value_division_zero_product))) /\ ((exists pfc_terms_code_division_zero_productcoefficient pfc_terms_scale_division_zero_productcoefficient pfc_natural_sum_division_zero_productcoefficient. ((forall pfc_index_division_zero_productcoefficientdiagonal. (exists pfa_gap_division_zero_productcoefficientdiagonalbound. pfa_gap_division_zero_productcoefficientdiagonalbound + S (pfc_index_division_zero_productcoefficientdiagonal) = (S (pfc_index_division_zero_product))) -> exists pfc_value_division_zero_productcoefficientdiagonal. ((((exists ff_h_pfp_division_zero_productcoefficientdiagonalentry. ff_h_pfp_division_zero_productcoefficientdiagonalentry + S (pfc_value_division_zero_productcoefficientdiagonal) = S ((S (pfc_index_division_zero_productcoefficientdiagonal)) * pfc_terms_scale_division_zero_productcoefficient)) /\ exists ff_q_pfp_division_zero_productcoefficientdiagonalentry. pfc_terms_code_division_zero_productcoefficient = ff_q_pfp_division_zero_productcoefficientdiagonalentry * S ((S (pfc_index_division_zero_productcoefficientdiagonal)) * pfc_terms_scale_division_zero_productcoefficient) + (pfc_value_division_zero_productcoefficientdiagonal))) /\ ((exists pfc_complement_division_zero_productcoefficientdiagonalterm pfc_left_division_zero_productcoefficientdiagonalterm pfc_right_division_zero_productcoefficientdiagonalterm. (((pfc_index_division_zero_productcoefficientdiagonal)+pfc_complement_division_zero_productcoefficientdiagonalterm=(pfc_index_division_zero_product)) /\ ((((((exists pfa_gap_division_zero_productcoefficientdiagonaltermleftinside. pfa_gap_division_zero_productcoefficientdiagonaltermleftinside + S (pfc_index_division_zero_productcoefficientdiagonal) = (N)) /\ ((((exists ff_h_pfp_division_zero_productcoefficientdiagonaltermleftentry. ff_h_pfp_division_zero_productcoefficientdiagonaltermleftentry + S (pfc_left_division_zero_productcoefficientdiagonalterm) = S ((S (pfc_index_division_zero_productcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_zero_productcoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_zero_productcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_zero_productcoefficientdiagonal)) * qc) + (pfc_left_division_zero_productcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_zero_productcoefficientdiagonaltermleftoutside. pfc_gap_division_zero_productcoefficientdiagonaltermleftoutside+(N)=(pfc_index_division_zero_productcoefficientdiagonal)) /\ (((pfc_left_division_zero_productcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_zero_productcoefficientdiagonaltermrightinside. pfa_gap_division_zero_productcoefficientdiagonaltermrightinside + S (pfc_complement_division_zero_productcoefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_zero_productcoefficientdiagonaltermrightentry. ff_h_pfp_division_zero_productcoefficientdiagonaltermrightentry + S (pfc_right_division_zero_productcoefficientdiagonalterm) = S ((S (pfc_complement_division_zero_productcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_zero_productcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_zero_productcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_zero_productcoefficientdiagonalterm)) * bc) + (pfc_right_division_zero_productcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_zero_productcoefficientdiagonaltermrightoutside. pfc_gap_division_zero_productcoefficientdiagonaltermrightoutside+(S d)=(pfc_complement_division_zero_productcoefficientdiagonalterm)) /\ (((pfc_right_division_zero_productcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_zero_productcoefficientdiagonal)=pfc_left_division_zero_productcoefficientdiagonalterm*pfc_right_division_zero_productcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_zero_productcoefficientsum fs_v_pfc_division_zero_productcoefficientsum. ((((exists fs_h_pfc_division_zero_productcoefficientsum_body_start. fs_h_pfc_division_zero_productcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_zero_productcoefficientsum)) /\ exists fs_q_pfc_division_zero_productcoefficientsum_body_start. fs_u_pfc_division_zero_productcoefficientsum = fs_q_pfc_division_zero_productcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_zero_productcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_zero_productcoefficientsum_body_terminal. fs_h_pfc_division_zero_productcoefficientsum_body_terminal + S (pfc_natural_sum_division_zero_productcoefficient) = S ((S (S (pfc_index_division_zero_product))) * fs_v_pfc_division_zero_productcoefficientsum)) /\ exists fs_q_pfc_division_zero_productcoefficientsum_body_terminal. fs_u_pfc_division_zero_productcoefficientsum = fs_q_pfc_division_zero_productcoefficientsum_body_terminal * S ((S (S (pfc_index_division_zero_product))) * fs_v_pfc_division_zero_productcoefficientsum) + (pfc_natural_sum_division_zero_productcoefficient))) /\ forall fs_i_pfc_division_zero_productcoefficientsum_body_steps. (exists fs_lt_pfc_division_zero_productcoefficientsum_body_steps_bound. fs_lt_pfc_division_zero_productcoefficientsum_body_steps_bound + S fs_i_pfc_division_zero_productcoefficientsum_body_steps = S (pfc_index_division_zero_product)) -> exists fs_a_pfc_division_zero_productcoefficientsum_body_steps fs_r_pfc_division_zero_productcoefficientsum_body_steps fs_s_pfc_division_zero_productcoefficientsum_body_steps. ((((exists fs_h_pfc_division_zero_productcoefficientsum_body_steps_summand. fs_h_pfc_division_zero_productcoefficientsum_body_steps_summand + S (fs_a_pfc_division_zero_productcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * pfc_terms_scale_division_zero_productcoefficient)) /\ exists fs_q_pfc_division_zero_productcoefficientsum_body_steps_summand. pfc_terms_code_division_zero_productcoefficient = fs_q_pfc_division_zero_productcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * pfc_terms_scale_division_zero_productcoefficient) + (fs_a_pfc_division_zero_productcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_zero_productcoefficientsum_body_steps_partial. fs_h_pfc_division_zero_productcoefficientsum_body_steps_partial + S (fs_r_pfc_division_zero_productcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * fs_v_pfc_division_zero_productcoefficientsum)) /\ exists fs_q_pfc_division_zero_productcoefficientsum_body_steps_partial. fs_u_pfc_division_zero_productcoefficientsum = fs_q_pfc_division_zero_productcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * fs_v_pfc_division_zero_productcoefficientsum) + (fs_r_pfc_division_zero_productcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_zero_productcoefficientsum_body_steps_successor. fs_h_pfc_division_zero_productcoefficientsum_body_steps_successor + S (fs_s_pfc_division_zero_productcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * fs_v_pfc_division_zero_productcoefficientsum)) /\ exists fs_q_pfc_division_zero_productcoefficientsum_body_steps_successor. fs_u_pfc_division_zero_productcoefficientsum = fs_q_pfc_division_zero_productcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_zero_productcoefficientsum_body_steps)) * fs_v_pfc_division_zero_productcoefficientsum) + (fs_s_pfc_division_zero_productcoefficientsum_body_steps))) /\ fs_s_pfc_division_zero_productcoefficientsum_body_steps = fs_r_pfc_division_zero_productcoefficientsum_body_steps + fs_a_pfc_division_zero_productcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_zero_productcoefficientresiduebound. pfa_gap_division_zero_productcoefficientresiduebound + S (pfc_value_division_zero_product) = (p)) /\ ((exists pfa_offset_left_division_zero_productcoefficientresiduecongruence pfa_offset_right_division_zero_productcoefficientresiduecongruence. (pfc_natural_sum_division_zero_productcoefficient) + (p) * pfa_offset_left_division_zero_productcoefficientresiduecongruence = (pfc_value_division_zero_product) + (p) * pfa_offset_right_division_zero_productcoefficientresiduecongruence)))))))))))) -> (forall pfs_index_division_zero_subtraction. (exists pfa_gap_division_zero_subtractionindex. pfa_gap_division_zero_subtractionindex + S (pfs_index_division_zero_subtraction) = (L)) -> exists pfs_left_division_zero_subtraction pfs_right_division_zero_subtraction pfs_result_division_zero_subtraction. ((((exists ff_h_pfp_division_zero_subtractionleft. ff_h_pfp_division_zero_subtractionleft + S (pfs_left_division_zero_subtraction) = S ((S (pfs_index_division_zero_subtraction)) * ac)) /\ exists ff_q_pfp_division_zero_subtractionleft. ab = ff_q_pfp_division_zero_subtractionleft * S ((S (pfs_index_division_zero_subtraction)) * ac) + (pfs_left_division_zero_subtraction))) /\ (((((exists ff_h_pfp_division_zero_subtractionright. ff_h_pfp_division_zero_subtractionright + S (pfs_right_division_zero_subtraction) = S ((S (pfs_index_division_zero_subtraction)) * pc)) /\ exists ff_q_pfp_division_zero_subtractionright. pb = ff_q_pfp_division_zero_subtractionright * S ((S (pfs_index_division_zero_subtraction)) * pc) + (pfs_right_division_zero_subtraction))) /\ (((((exists ff_h_pfp_division_zero_subtractionresult. ff_h_pfp_division_zero_subtractionresult + S (pfs_result_division_zero_subtraction) = S ((S (pfs_index_division_zero_subtraction)) * uc)) /\ exists ff_q_pfp_division_zero_subtractionresult. ub = ff_q_pfp_division_zero_subtractionresult * S ((S (pfs_index_division_zero_subtraction)) * uc) + (pfs_result_division_zero_subtraction))) /\ ((((exists pfa_gap_division_zero_subtractionoperationleft. pfa_gap_division_zero_subtractionoperationleft + S (pfs_right_division_zero_subtraction) = (p)) /\ (((exists pfa_gap_division_zero_subtractionoperationright. pfa_gap_division_zero_subtractionoperationright + S (pfs_result_division_zero_subtraction) = (p)) /\ ((((exists pfa_gap_division_zero_subtractionoperationresultbound. pfa_gap_division_zero_subtractionoperationresultbound + S (pfs_left_division_zero_subtraction) = (p)) /\ ((exists pfa_offset_left_division_zero_subtractionoperationresultcongruence pfa_offset_right_division_zero_subtractionoperationresultcongruence. ((pfs_right_division_zero_subtraction) + (pfs_result_division_zero_subtraction)) + (p) * pfa_offset_left_division_zero_subtractionoperationresultcongruence = (pfs_left_division_zero_subtraction) + (p) * pfa_offset_right_division_zero_subtractionoperationresultcongruence)))))))))))))))) -> (forall pfp_repeat_index_division_zero_result. (exists pfa_gap_division_zero_resultindex. pfa_gap_division_zero_resultindex + S (pfp_repeat_index_division_zero_result) = (N)) -> (((exists ff_h_pfp_division_zero_resultentry. ff_h_pfp_division_zero_resultentry + S (0) = S ((S (pfp_repeat_index_division_zero_result)) * uc)) /\ exists ff_q_pfp_division_zero_resultentry. ub = ff_q_pfp_division_zero_resultentry * S ((S (pfp_repeat_index_division_zero_result)) * uc) + (0))))
intro pintro kintro abintro acintro bbintro bcintro dintro qbintro qcintro Nintro bintro pbintro pcintro Lintro ubintro ucintro hpintro hbintro hkintro hqintro hlenintro hproductintro hsubtractspecialize prime_field_polynomial_subtract_equal_zero (p)specialize prime_field_polynomial_subtract_equal_zero (ab)specialize prime_field_polynomial_subtract_equal_zero (ac)specialize prime_field_polynomial_subtract_equal_zero (pb)specialize prime_field_polynomial_subtract_equal_zero (pc)specialize prime_field_polynomial_subtract_equal_zero (ub)specialize prime_field_polynomial_subtract_equal_zero (uc)specialize prime_field_polynomial_subtract_equal_zero (N)apply prime_field_polynomial_subtract_equal_zeroexact hpspecialize prime_field_polynomial_quotient_prefix_product_matches (p)specialize prime_field_polynomial_quotient_prefix_product_matches (k)specialize prime_field_polynomial_quotient_prefix_product_matches (ab)specialize prime_field_polynomial_quotient_prefix_product_matches (ac)specialize prime_field_polynomial_quotient_prefix_product_matches (bb)specialize prime_field_polynomial_quotient_prefix_product_matches (bc)specialize prime_field_polynomial_quotient_prefix_product_matches (d)specialize prime_field_polynomial_quotient_prefix_product_matches (qb)specialize prime_field_polynomial_quotient_prefix_product_matches (qc)specialize prime_field_polynomial_quotient_prefix_product_matches (N)specialize prime_field_polynomial_quotient_prefix_product_matches (b)specialize prime_field_polynomial_quotient_prefix_product_matches (pb)specialize prime_field_polynomial_quotient_prefix_product_matches (pc)specialize prime_field_polynomial_quotient_prefix_product_matches (L)apply prime_field_polynomial_quotient_prefix_product_matchesexact hpexact hbexact hkexact hqexact hlenexact hproductintro iintro hispecialize hsubtract (i)apply hsubtractspecialize lt_of_lt_of_le (i)specialize lt_of_lt_of_le (N)specialize lt_of_lt_of_le (L)apply lt_of_lt_of_leexact hiexact hlen
prime_field_polynomial_division_remainder_degree · unchanged support, not a new admission
forall p ab ac L bb bc d qb qc q rb rc R. (~((p) = 1) /\ forall pfa_factor_left_division_degree_prime pfa_factor_right_division_degree_prime. (p) = pfa_factor_left_division_degree_prime * pfa_factor_right_division_degree_prime -> pfa_factor_left_division_degree_prime = 1 \/ pfa_factor_right_division_degree_prime = 1) -> (((forall fom_index_pfp_division_degree_executioninput. (exists fom_gap_pfp_division_degree_executioninput_index_bound. fom_gap_pfp_division_degree_executioninput_index_bound + S (fom_index_pfp_division_degree_executioninput) = L) -> exists fom_value_pfp_division_degree_executioninput. ((((exists fom_beta_height_pfp_division_degree_executioninput_entry. fom_beta_height_pfp_division_degree_executioninput_entry + S (fom_value_pfp_division_degree_executioninput) = S ((S (fom_index_pfp_division_degree_executioninput)) * ac)) /\ exists fom_beta_quotient_pfp_division_degree_executioninput_entry. ab = fom_beta_quotient_pfp_division_degree_executioninput_entry * S ((S (fom_index_pfp_division_degree_executioninput)) * ac) + (fom_value_pfp_division_degree_executioninput))) /\ (exists fom_gap_pfp_division_degree_executioninput_value_bound. fom_gap_pfp_division_degree_executioninput_value_bound + S (fom_value_pfp_division_degree_executioninput) = p))) /\ (((forall fom_index_pfp_division_degree_executiondivisor. (exists fom_gap_pfp_division_degree_executiondivisor_index_bound. fom_gap_pfp_division_degree_executiondivisor_index_bound + S (fom_index_pfp_division_degree_executiondivisor) = S (d)) -> exists fom_value_pfp_division_degree_executiondivisor. ((((exists fom_beta_height_pfp_division_degree_executiondivisor_entry. fom_beta_height_pfp_division_degree_executiondivisor_entry + S (fom_value_pfp_division_degree_executiondivisor) = S ((S (fom_index_pfp_division_degree_executiondivisor)) * bc)) /\ exists fom_beta_quotient_pfp_division_degree_executiondivisor_entry. bb = fom_beta_quotient_pfp_division_degree_executiondivisor_entry * S ((S (fom_index_pfp_division_degree_executiondivisor)) * bc) + (fom_value_pfp_division_degree_executiondivisor))) /\ (exists fom_gap_pfp_division_degree_executiondivisor_value_bound. fom_gap_pfp_division_degree_executiondivisor_value_bound + S (fom_value_pfp_division_degree_executiondivisor) = p))) /\ (((((((q)=0) /\ ((exists pfc_gap_division_degree_executionlengthshort. pfc_gap_division_degree_executionlengthshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L)))))) /\ ((exists pfd_head_division_degree_execution pfd_inverse_division_degree_execution pfd_product_code_division_degree_execution pfd_product_scale_division_degree_execution pfd_residual_code_division_degree_execution pfd_residual_scale_division_degree_execution pfd_cut_division_degree_execution. ((((exists ff_h_pfp_division_degree_executionhead. ff_h_pfp_division_degree_executionhead + S (pfd_head_division_degree_execution) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_degree_executionhead. bb = ff_q_pfp_division_degree_executionhead * S ((S (0)) * bc) + (pfd_head_division_degree_execution))) /\ (((((~((pfd_head_division_degree_execution) = 0)) /\ ((((exists pfa_gap_division_degree_executioninversemultiplicationleft. pfa_gap_division_degree_executioninversemultiplicationleft + S (pfd_head_division_degree_execution) = (p)) /\ (((exists pfa_gap_division_degree_executioninversemultiplicationright. pfa_gap_division_degree_executioninversemultiplicationright + S (pfd_inverse_division_degree_execution) = (p)) /\ ((((exists pfa_gap_division_degree_executioninversemultiplicationresultbound. pfa_gap_division_degree_executioninversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_degree_executioninversemultiplicationresultcongruence pfa_offset_right_division_degree_executioninversemultiplicationresultcongruence. ((pfd_head_division_degree_execution) * (pfd_inverse_division_degree_execution)) + (p) * pfa_offset_left_division_degree_executioninversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_degree_executioninversemultiplicationresultcongruence)))))))))))) /\ (((forall pfd_index_division_degree_executionquotient. (exists pfa_gap_division_degree_executionquotientbound. pfa_gap_division_degree_executionquotientbound + S (pfd_index_division_degree_executionquotient) = (q)) -> exists pfd_value_division_degree_executionquotient. ((((exists ff_h_pfp_division_degree_executionquotiententry. ff_h_pfp_division_degree_executionquotiententry + S (pfd_value_division_degree_executionquotient) = S ((S (pfd_index_division_degree_executionquotient)) * qc)) /\ exists ff_q_pfp_division_degree_executionquotiententry. qb = ff_q_pfp_division_degree_executionquotiententry * S ((S (pfd_index_division_degree_executionquotient)) * qc) + (pfd_value_division_degree_executionquotient))) /\ ((exists pfd_input_division_degree_executionquotientstep pfd_previous_division_degree_executionquotientstep pfd_difference_division_degree_executionquotientstep. ((((exists ff_h_pfp_division_degree_executionquotientstepinput. ff_h_pfp_division_degree_executionquotientstepinput + S (pfd_input_division_degree_executionquotientstep) = S ((S (pfd_index_division_degree_executionquotient)) * ac)) /\ exists ff_q_pfp_division_degree_executionquotientstepinput. ab = ff_q_pfp_division_degree_executionquotientstepinput * S ((S (pfd_index_division_degree_executionquotient)) * ac) + (pfd_input_division_degree_executionquotientstep))) /\ (((exists pfc_terms_code_division_degree_executionquotientstepprevious pfc_terms_scale_division_degree_executionquotientstepprevious pfc_natural_sum_division_degree_executionquotientstepprevious. ((forall pfc_index_division_degree_executionquotientsteppreviousdiagonal. (exists pfa_gap_division_degree_executionquotientsteppreviousdiagonalbound. pfa_gap_division_degree_executionquotientsteppreviousdiagonalbound + S (pfc_index_division_degree_executionquotientsteppreviousdiagonal) = (S (pfd_index_division_degree_executionquotient))) -> exists pfc_value_division_degree_executionquotientsteppreviousdiagonal. ((((exists ff_h_pfp_division_degree_executionquotientsteppreviousdiagonalentry. ff_h_pfp_division_degree_executionquotientsteppreviousdiagonalentry + S (pfc_value_division_degree_executionquotientsteppreviousdiagonal) = S ((S (pfc_index_division_degree_executionquotientsteppreviousdiagonal)) * pfc_terms_scale_division_degree_executionquotientstepprevious)) /\ exists ff_q_pfp_division_degree_executionquotientsteppreviousdiagonalentry. pfc_terms_code_division_degree_executionquotientstepprevious = ff_q_pfp_division_degree_executionquotientsteppreviousdiagonalentry * S ((S (pfc_index_division_degree_executionquotientsteppreviousdiagonal)) * pfc_terms_scale_division_degree_executionquotientstepprevious) + (pfc_value_division_degree_executionquotientsteppreviousdiagonal))) /\ ((exists pfc_complement_division_degree_executionquotientsteppreviousdiagonalterm pfc_left_division_degree_executionquotientsteppreviousdiagonalterm pfc_right_division_degree_executionquotientsteppreviousdiagonalterm. (((pfc_index_division_degree_executionquotientsteppreviousdiagonal)+pfc_complement_division_degree_executionquotientsteppreviousdiagonalterm=(pfd_index_division_degree_executionquotient)) /\ ((((((exists pfa_gap_division_degree_executionquotientsteppreviousdiagonaltermleftinside. pfa_gap_division_degree_executionquotientsteppreviousdiagonaltermleftinside + S (pfc_index_division_degree_executionquotientsteppreviousdiagonal) = (pfd_index_division_degree_executionquotient)) /\ ((((exists ff_h_pfp_division_degree_executionquotientsteppreviousdiagonaltermleftentry. ff_h_pfp_division_degree_executionquotientsteppreviousdiagonaltermleftentry + S (pfc_left_division_degree_executionquotientsteppreviousdiagonalterm) = S ((S (pfc_index_division_degree_executionquotientsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_degree_executionquotientsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_degree_executionquotientsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_degree_executionquotientsteppreviousdiagonal)) * qc) + (pfc_left_division_degree_executionquotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_degree_executionquotientsteppreviousdiagonaltermleftoutside. pfc_gap_division_degree_executionquotientsteppreviousdiagonaltermleftoutside+(pfd_index_division_degree_executionquotient)=(pfc_index_division_degree_executionquotientsteppreviousdiagonal)) /\ (((pfc_left_division_degree_executionquotientsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_degree_executionquotientsteppreviousdiagonaltermrightinside. pfa_gap_division_degree_executionquotientsteppreviousdiagonaltermrightinside + S (pfc_complement_division_degree_executionquotientsteppreviousdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_degree_executionquotientsteppreviousdiagonaltermrightentry. ff_h_pfp_division_degree_executionquotientsteppreviousdiagonaltermrightentry + S (pfc_right_division_degree_executionquotientsteppreviousdiagonalterm) = S ((S (pfc_complement_division_degree_executionquotientsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_degree_executionquotientsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_degree_executionquotientsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_degree_executionquotientsteppreviousdiagonalterm)) * bc) + (pfc_right_division_degree_executionquotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_degree_executionquotientsteppreviousdiagonaltermrightoutside. pfc_gap_division_degree_executionquotientsteppreviousdiagonaltermrightoutside+(S (d))=(pfc_complement_division_degree_executionquotientsteppreviousdiagonalterm)) /\ (((pfc_right_division_degree_executionquotientsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_degree_executionquotientsteppreviousdiagonal)=pfc_left_division_degree_executionquotientsteppreviousdiagonalterm*pfc_right_division_degree_executionquotientsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_degree_executionquotientstepprevioussum fs_v_pfc_division_degree_executionquotientstepprevioussum. ((((exists fs_h_pfc_division_degree_executionquotientstepprevioussum_body_start. fs_h_pfc_division_degree_executionquotientstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_degree_executionquotientstepprevioussum)) /\ exists fs_q_pfc_division_degree_executionquotientstepprevioussum_body_start. fs_u_pfc_division_degree_executionquotientstepprevioussum = fs_q_pfc_division_degree_executionquotientstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_degree_executionquotientstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_degree_executionquotientstepprevioussum_body_terminal. fs_h_pfc_division_degree_executionquotientstepprevioussum_body_terminal + S (pfc_natural_sum_division_degree_executionquotientstepprevious) = S ((S (S (pfd_index_division_degree_executionquotient))) * fs_v_pfc_division_degree_executionquotientstepprevioussum)) /\ exists fs_q_pfc_division_degree_executionquotientstepprevioussum_body_terminal. fs_u_pfc_division_degree_executionquotientstepprevioussum = fs_q_pfc_division_degree_executionquotientstepprevioussum_body_terminal * S ((S (S (pfd_index_division_degree_executionquotient))) * fs_v_pfc_division_degree_executionquotientstepprevioussum) + (pfc_natural_sum_division_degree_executionquotientstepprevious))) /\ forall fs_i_pfc_division_degree_executionquotientstepprevioussum_body_steps. (exists fs_lt_pfc_division_degree_executionquotientstepprevioussum_body_steps_bound. fs_lt_pfc_division_degree_executionquotientstepprevioussum_body_steps_bound + S fs_i_pfc_division_degree_executionquotientstepprevioussum_body_steps = S (pfd_index_division_degree_executionquotient)) -> exists fs_a_pfc_division_degree_executionquotientstepprevioussum_body_steps fs_r_pfc_division_degree_executionquotientstepprevioussum_body_steps fs_s_pfc_division_degree_executionquotientstepprevioussum_body_steps. ((((exists fs_h_pfc_division_degree_executionquotientstepprevioussum_body_steps_summand. fs_h_pfc_division_degree_executionquotientstepprevioussum_body_steps_summand + S (fs_a_pfc_division_degree_executionquotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_degree_executionquotientstepprevioussum_body_steps)) * pfc_terms_scale_division_degree_executionquotientstepprevious)) /\ exists fs_q_pfc_division_degree_executionquotientstepprevioussum_body_steps_summand. pfc_terms_code_division_degree_executionquotientstepprevious = fs_q_pfc_division_degree_executionquotientstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_degree_executionquotientstepprevioussum_body_steps)) * pfc_terms_scale_division_degree_executionquotientstepprevious) + (fs_a_pfc_division_degree_executionquotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_degree_executionquotientstepprevioussum_body_steps_partial. fs_h_pfc_division_degree_executionquotientstepprevioussum_body_steps_partial + S (fs_r_pfc_division_degree_executionquotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_degree_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_division_degree_executionquotientstepprevioussum)) /\ exists fs_q_pfc_division_degree_executionquotientstepprevioussum_body_steps_partial. fs_u_pfc_division_degree_executionquotientstepprevioussum = fs_q_pfc_division_degree_executionquotientstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_degree_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_division_degree_executionquotientstepprevioussum) + (fs_r_pfc_division_degree_executionquotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_degree_executionquotientstepprevioussum_body_steps_successor. fs_h_pfc_division_degree_executionquotientstepprevioussum_body_steps_successor + S (fs_s_pfc_division_degree_executionquotientstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_degree_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_division_degree_executionquotientstepprevioussum)) /\ exists fs_q_pfc_division_degree_executionquotientstepprevioussum_body_steps_successor. fs_u_pfc_division_degree_executionquotientstepprevioussum = fs_q_pfc_division_degree_executionquotientstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_degree_executionquotientstepprevioussum_body_steps)) * fs_v_pfc_division_degree_executionquotientstepprevioussum) + (fs_s_pfc_division_degree_executionquotientstepprevioussum_body_steps))) /\ fs_s_pfc_division_degree_executionquotientstepprevioussum_body_steps = fs_r_pfc_division_degree_executionquotientstepprevioussum_body_steps + fs_a_pfc_division_degree_executionquotientstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_degree_executionquotientsteppreviousresiduebound. pfa_gap_division_degree_executionquotientsteppreviousresiduebound + S (pfd_previous_division_degree_executionquotientstep) = (p)) /\ ((exists pfa_offset_left_division_degree_executionquotientsteppreviousresiduecongruence pfa_offset_right_division_degree_executionquotientsteppreviousresiduecongruence. (pfc_natural_sum_division_degree_executionquotientstepprevious) + (p) * pfa_offset_left_division_degree_executionquotientsteppreviousresiduecongruence = (pfd_previous_division_degree_executionquotientstep) + (p) * pfa_offset_right_division_degree_executionquotientsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_degree_executionquotientstepsubtractleft. pfa_gap_division_degree_executionquotientstepsubtractleft + S (pfd_previous_division_degree_executionquotientstep) = (p)) /\ (((exists pfa_gap_division_degree_executionquotientstepsubtractright. pfa_gap_division_degree_executionquotientstepsubtractright + S (pfd_difference_division_degree_executionquotientstep) = (p)) /\ ((((exists pfa_gap_division_degree_executionquotientstepsubtractresultbound. pfa_gap_division_degree_executionquotientstepsubtractresultbound + S (pfd_input_division_degree_executionquotientstep) = (p)) /\ ((exists pfa_offset_left_division_degree_executionquotientstepsubtractresultcongruence pfa_offset_right_division_degree_executionquotientstepsubtractresultcongruence. ((pfd_previous_division_degree_executionquotientstep) + (pfd_difference_division_degree_executionquotientstep)) + (p) * pfa_offset_left_division_degree_executionquotientstepsubtractresultcongruence = (pfd_input_division_degree_executionquotientstep) + (p) * pfa_offset_right_division_degree_executionquotientstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_degree_executionquotientstepmultiplyleft. pfa_gap_division_degree_executionquotientstepmultiplyleft + S (pfd_inverse_division_degree_execution) = (p)) /\ (((exists pfa_gap_division_degree_executionquotientstepmultiplyright. pfa_gap_division_degree_executionquotientstepmultiplyright + S (pfd_difference_division_degree_executionquotientstep) = (p)) /\ ((((exists pfa_gap_division_degree_executionquotientstepmultiplyresultbound. pfa_gap_division_degree_executionquotientstepmultiplyresultbound + S (pfd_value_division_degree_executionquotient) = (p)) /\ ((exists pfa_offset_left_division_degree_executionquotientstepmultiplyresultcongruence pfa_offset_right_division_degree_executionquotientstepmultiplyresultcongruence. ((pfd_inverse_division_degree_execution) * (pfd_difference_division_degree_executionquotientstep)) + (p) * pfa_offset_left_division_degree_executionquotientstepmultiplyresultcongruence = (pfd_value_division_degree_executionquotient) + (p) * pfa_offset_right_division_degree_executionquotientstepmultiplyresultcongruence))))))))))))))))))) /\ (((forall pfc_index_division_degree_executionproduct. (exists pfa_gap_division_degree_executionproductbound. pfa_gap_division_degree_executionproductbound + S (pfc_index_division_degree_executionproduct) = (L)) -> exists pfc_value_division_degree_executionproduct. ((((exists ff_h_pfp_division_degree_executionproductentry. ff_h_pfp_division_degree_executionproductentry + S (pfc_value_division_degree_executionproduct) = S ((S (pfc_index_division_degree_executionproduct)) * pfd_product_scale_division_degree_execution)) /\ exists ff_q_pfp_division_degree_executionproductentry. pfd_product_code_division_degree_execution = ff_q_pfp_division_degree_executionproductentry * S ((S (pfc_index_division_degree_executionproduct)) * pfd_product_scale_division_degree_execution) + (pfc_value_division_degree_executionproduct))) /\ ((exists pfc_terms_code_division_degree_executionproductcoefficient pfc_terms_scale_division_degree_executionproductcoefficient pfc_natural_sum_division_degree_executionproductcoefficient. ((forall pfc_index_division_degree_executionproductcoefficientdiagonal. (exists pfa_gap_division_degree_executionproductcoefficientdiagonalbound. pfa_gap_division_degree_executionproductcoefficientdiagonalbound + S (pfc_index_division_degree_executionproductcoefficientdiagonal) = (S (pfc_index_division_degree_executionproduct))) -> exists pfc_value_division_degree_executionproductcoefficientdiagonal. ((((exists ff_h_pfp_division_degree_executionproductcoefficientdiagonalentry. ff_h_pfp_division_degree_executionproductcoefficientdiagonalentry + S (pfc_value_division_degree_executionproductcoefficientdiagonal) = S ((S (pfc_index_division_degree_executionproductcoefficientdiagonal)) * pfc_terms_scale_division_degree_executionproductcoefficient)) /\ exists ff_q_pfp_division_degree_executionproductcoefficientdiagonalentry. pfc_terms_code_division_degree_executionproductcoefficient = ff_q_pfp_division_degree_executionproductcoefficientdiagonalentry * S ((S (pfc_index_division_degree_executionproductcoefficientdiagonal)) * pfc_terms_scale_division_degree_executionproductcoefficient) + (pfc_value_division_degree_executionproductcoefficientdiagonal))) /\ ((exists pfc_complement_division_degree_executionproductcoefficientdiagonalterm pfc_left_division_degree_executionproductcoefficientdiagonalterm pfc_right_division_degree_executionproductcoefficientdiagonalterm. (((pfc_index_division_degree_executionproductcoefficientdiagonal)+pfc_complement_division_degree_executionproductcoefficientdiagonalterm=(pfc_index_division_degree_executionproduct)) /\ ((((((exists pfa_gap_division_degree_executionproductcoefficientdiagonaltermleftinside. pfa_gap_division_degree_executionproductcoefficientdiagonaltermleftinside + S (pfc_index_division_degree_executionproductcoefficientdiagonal) = (q)) /\ ((((exists ff_h_pfp_division_degree_executionproductcoefficientdiagonaltermleftentry. ff_h_pfp_division_degree_executionproductcoefficientdiagonaltermleftentry + S (pfc_left_division_degree_executionproductcoefficientdiagonalterm) = S ((S (pfc_index_division_degree_executionproductcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_degree_executionproductcoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_degree_executionproductcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_degree_executionproductcoefficientdiagonal)) * qc) + (pfc_left_division_degree_executionproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_degree_executionproductcoefficientdiagonaltermleftoutside. pfc_gap_division_degree_executionproductcoefficientdiagonaltermleftoutside+(q)=(pfc_index_division_degree_executionproductcoefficientdiagonal)) /\ (((pfc_left_division_degree_executionproductcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_degree_executionproductcoefficientdiagonaltermrightinside. pfa_gap_division_degree_executionproductcoefficientdiagonaltermrightinside + S (pfc_complement_division_degree_executionproductcoefficientdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_degree_executionproductcoefficientdiagonaltermrightentry. ff_h_pfp_division_degree_executionproductcoefficientdiagonaltermrightentry + S (pfc_right_division_degree_executionproductcoefficientdiagonalterm) = S ((S (pfc_complement_division_degree_executionproductcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_degree_executionproductcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_degree_executionproductcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_degree_executionproductcoefficientdiagonalterm)) * bc) + (pfc_right_division_degree_executionproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_degree_executionproductcoefficientdiagonaltermrightoutside. pfc_gap_division_degree_executionproductcoefficientdiagonaltermrightoutside+(S (d))=(pfc_complement_division_degree_executionproductcoefficientdiagonalterm)) /\ (((pfc_right_division_degree_executionproductcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_degree_executionproductcoefficientdiagonal)=pfc_left_division_degree_executionproductcoefficientdiagonalterm*pfc_right_division_degree_executionproductcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_degree_executionproductcoefficientsum fs_v_pfc_division_degree_executionproductcoefficientsum. ((((exists fs_h_pfc_division_degree_executionproductcoefficientsum_body_start. fs_h_pfc_division_degree_executionproductcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_degree_executionproductcoefficientsum)) /\ exists fs_q_pfc_division_degree_executionproductcoefficientsum_body_start. fs_u_pfc_division_degree_executionproductcoefficientsum = fs_q_pfc_division_degree_executionproductcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_degree_executionproductcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_degree_executionproductcoefficientsum_body_terminal. fs_h_pfc_division_degree_executionproductcoefficientsum_body_terminal + S (pfc_natural_sum_division_degree_executionproductcoefficient) = S ((S (S (pfc_index_division_degree_executionproduct))) * fs_v_pfc_division_degree_executionproductcoefficientsum)) /\ exists fs_q_pfc_division_degree_executionproductcoefficientsum_body_terminal. fs_u_pfc_division_degree_executionproductcoefficientsum = fs_q_pfc_division_degree_executionproductcoefficientsum_body_terminal * S ((S (S (pfc_index_division_degree_executionproduct))) * fs_v_pfc_division_degree_executionproductcoefficientsum) + (pfc_natural_sum_division_degree_executionproductcoefficient))) /\ forall fs_i_pfc_division_degree_executionproductcoefficientsum_body_steps. (exists fs_lt_pfc_division_degree_executionproductcoefficientsum_body_steps_bound. fs_lt_pfc_division_degree_executionproductcoefficientsum_body_steps_bound + S fs_i_pfc_division_degree_executionproductcoefficientsum_body_steps = S (pfc_index_division_degree_executionproduct)) -> exists fs_a_pfc_division_degree_executionproductcoefficientsum_body_steps fs_r_pfc_division_degree_executionproductcoefficientsum_body_steps fs_s_pfc_division_degree_executionproductcoefficientsum_body_steps. ((((exists fs_h_pfc_division_degree_executionproductcoefficientsum_body_steps_summand. fs_h_pfc_division_degree_executionproductcoefficientsum_body_steps_summand + S (fs_a_pfc_division_degree_executionproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_degree_executionproductcoefficientsum_body_steps)) * pfc_terms_scale_division_degree_executionproductcoefficient)) /\ exists fs_q_pfc_division_degree_executionproductcoefficientsum_body_steps_summand. pfc_terms_code_division_degree_executionproductcoefficient = fs_q_pfc_division_degree_executionproductcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_degree_executionproductcoefficientsum_body_steps)) * pfc_terms_scale_division_degree_executionproductcoefficient) + (fs_a_pfc_division_degree_executionproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_degree_executionproductcoefficientsum_body_steps_partial. fs_h_pfc_division_degree_executionproductcoefficientsum_body_steps_partial + S (fs_r_pfc_division_degree_executionproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_degree_executionproductcoefficientsum_body_steps)) * fs_v_pfc_division_degree_executionproductcoefficientsum)) /\ exists fs_q_pfc_division_degree_executionproductcoefficientsum_body_steps_partial. fs_u_pfc_division_degree_executionproductcoefficientsum = fs_q_pfc_division_degree_executionproductcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_degree_executionproductcoefficientsum_body_steps)) * fs_v_pfc_division_degree_executionproductcoefficientsum) + (fs_r_pfc_division_degree_executionproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_degree_executionproductcoefficientsum_body_steps_successor. fs_h_pfc_division_degree_executionproductcoefficientsum_body_steps_successor + S (fs_s_pfc_division_degree_executionproductcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_degree_executionproductcoefficientsum_body_steps)) * fs_v_pfc_division_degree_executionproductcoefficientsum)) /\ exists fs_q_pfc_division_degree_executionproductcoefficientsum_body_steps_successor. fs_u_pfc_division_degree_executionproductcoefficientsum = fs_q_pfc_division_degree_executionproductcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_degree_executionproductcoefficientsum_body_steps)) * fs_v_pfc_division_degree_executionproductcoefficientsum) + (fs_s_pfc_division_degree_executionproductcoefficientsum_body_steps))) /\ fs_s_pfc_division_degree_executionproductcoefficientsum_body_steps = fs_r_pfc_division_degree_executionproductcoefficientsum_body_steps + fs_a_pfc_division_degree_executionproductcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_degree_executionproductcoefficientresiduebound. pfa_gap_division_degree_executionproductcoefficientresiduebound + S (pfc_value_division_degree_executionproduct) = (p)) /\ ((exists pfa_offset_left_division_degree_executionproductcoefficientresiduecongruence pfa_offset_right_division_degree_executionproductcoefficientresiduecongruence. (pfc_natural_sum_division_degree_executionproductcoefficient) + (p) * pfa_offset_left_division_degree_executionproductcoefficientresiduecongruence = (pfc_value_division_degree_executionproduct) + (p) * pfa_offset_right_division_degree_executionproductcoefficientresiduecongruence)))))))))))) /\ (((forall pfs_index_division_degree_executiondifference. (exists pfa_gap_division_degree_executiondifferenceindex. pfa_gap_division_degree_executiondifferenceindex + S (pfs_index_division_degree_executiondifference) = (L)) -> exists pfs_left_division_degree_executiondifference pfs_right_division_degree_executiondifference pfs_result_division_degree_executiondifference. ((((exists ff_h_pfp_division_degree_executiondifferenceleft. ff_h_pfp_division_degree_executiondifferenceleft + S (pfs_left_division_degree_executiondifference) = S ((S (pfs_index_division_degree_executiondifference)) * ac)) /\ exists ff_q_pfp_division_degree_executiondifferenceleft. ab = ff_q_pfp_division_degree_executiondifferenceleft * S ((S (pfs_index_division_degree_executiondifference)) * ac) + (pfs_left_division_degree_executiondifference))) /\ (((((exists ff_h_pfp_division_degree_executiondifferenceright. ff_h_pfp_division_degree_executiondifferenceright + S (pfs_right_division_degree_executiondifference) = S ((S (pfs_index_division_degree_executiondifference)) * pfd_product_scale_division_degree_execution)) /\ exists ff_q_pfp_division_degree_executiondifferenceright. pfd_product_code_division_degree_execution = ff_q_pfp_division_degree_executiondifferenceright * S ((S (pfs_index_division_degree_executiondifference)) * pfd_product_scale_division_degree_execution) + (pfs_right_division_degree_executiondifference))) /\ (((((exists ff_h_pfp_division_degree_executiondifferenceresult. ff_h_pfp_division_degree_executiondifferenceresult + S (pfs_result_division_degree_executiondifference) = S ((S (pfs_index_division_degree_executiondifference)) * pfd_residual_scale_division_degree_execution)) /\ exists ff_q_pfp_division_degree_executiondifferenceresult. pfd_residual_code_division_degree_execution = ff_q_pfp_division_degree_executiondifferenceresult * S ((S (pfs_index_division_degree_executiondifference)) * pfd_residual_scale_division_degree_execution) + (pfs_result_division_degree_executiondifference))) /\ ((((exists pfa_gap_division_degree_executiondifferenceoperationleft. pfa_gap_division_degree_executiondifferenceoperationleft + S (pfs_right_division_degree_executiondifference) = (p)) /\ (((exists pfa_gap_division_degree_executiondifferenceoperationright. pfa_gap_division_degree_executiondifferenceoperationright + S (pfs_result_division_degree_executiondifference) = (p)) /\ ((((exists pfa_gap_division_degree_executiondifferenceoperationresultbound. pfa_gap_division_degree_executiondifferenceoperationresultbound + S (pfs_left_division_degree_executiondifference) = (p)) /\ ((exists pfa_offset_left_division_degree_executiondifferenceoperationresultcongruence pfa_offset_right_division_degree_executiondifferenceoperationresultcongruence. ((pfs_right_division_degree_executiondifference) + (pfs_result_division_degree_executiondifference)) + (p) * pfa_offset_left_division_degree_executiondifferenceoperationresultcongruence = (pfs_left_division_degree_executiondifference) + (p) * pfa_offset_right_division_degree_executiondifferenceoperationresultcongruence)))))))))))))))) /\ (((((L)=(pfd_cut_division_degree_execution)+(R)) /\ (((forall fom_index_pfp_division_degree_executiontriminput. (exists fom_gap_pfp_division_degree_executiontriminput_index_bound. fom_gap_pfp_division_degree_executiontriminput_index_bound + S (fom_index_pfp_division_degree_executiontriminput) = L) -> exists fom_value_pfp_division_degree_executiontriminput. ((((exists fom_beta_height_pfp_division_degree_executiontriminput_entry. fom_beta_height_pfp_division_degree_executiontriminput_entry + S (fom_value_pfp_division_degree_executiontriminput) = S ((S (fom_index_pfp_division_degree_executiontriminput)) * pfd_residual_scale_division_degree_execution)) /\ exists fom_beta_quotient_pfp_division_degree_executiontriminput_entry. pfd_residual_code_division_degree_execution = fom_beta_quotient_pfp_division_degree_executiontriminput_entry * S ((S (fom_index_pfp_division_degree_executiontriminput)) * pfd_residual_scale_division_degree_execution) + (fom_value_pfp_division_degree_executiontriminput))) /\ (exists fom_gap_pfp_division_degree_executiontriminput_value_bound. fom_gap_pfp_division_degree_executiontriminput_value_bound + S (fom_value_pfp_division_degree_executiontriminput) = p))) /\ (((forall pfp_repeat_index_division_degree_executiontrimremoved. (exists pfa_gap_division_degree_executiontrimremovedindex. pfa_gap_division_degree_executiontrimremovedindex + S (pfp_repeat_index_division_degree_executiontrimremoved) = (pfd_cut_division_degree_execution)) -> (((exists ff_h_pfp_division_degree_executiontrimremovedentry. ff_h_pfp_division_degree_executiontrimremovedentry + S (0) = S ((S (pfp_repeat_index_division_degree_executiontrimremoved)) * pfd_residual_scale_division_degree_execution)) /\ exists ff_q_pfp_division_degree_executiontrimremovedentry. pfd_residual_code_division_degree_execution = ff_q_pfp_division_degree_executiontrimremovedentry * S ((S (pfp_repeat_index_division_degree_executiontrimremoved)) * pfd_residual_scale_division_degree_execution) + (0)))) /\ (((forall pftrim_index_division_degree_executiontrimsuffix pftrim_value_division_degree_executiontrimsuffix. (exists pfa_gap_division_degree_executiontrimsuffixbound. pfa_gap_division_degree_executiontrimsuffixbound + S (pftrim_index_division_degree_executiontrimsuffix) = (R)) -> (((exists ff_h_pfp_division_degree_executiontrimsuffixsource. ff_h_pfp_division_degree_executiontrimsuffixsource + S (pftrim_value_division_degree_executiontrimsuffix) = S ((S ((pfd_cut_division_degree_execution)+pftrim_index_division_degree_executiontrimsuffix)) * pfd_residual_scale_division_degree_execution)) /\ exists ff_q_pfp_division_degree_executiontrimsuffixsource. pfd_residual_code_division_degree_execution = ff_q_pfp_division_degree_executiontrimsuffixsource * S ((S ((pfd_cut_division_degree_execution)+pftrim_index_division_degree_executiontrimsuffix)) * pfd_residual_scale_division_degree_execution) + (pftrim_value_division_degree_executiontrimsuffix))) -> (((exists ff_h_pfp_division_degree_executiontrimsuffixoutput. ff_h_pfp_division_degree_executiontrimsuffixoutput + S (pftrim_value_division_degree_executiontrimsuffix) = S ((S (pftrim_index_division_degree_executiontrimsuffix)) * rc)) /\ exists ff_q_pfp_division_degree_executiontrimsuffixoutput. rb = ff_q_pfp_division_degree_executiontrimsuffixoutput * S ((S (pftrim_index_division_degree_executiontrimsuffix)) * rc) + (pftrim_value_division_degree_executiontrimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_degree_executiontrimnormal. ((((exists ff_h_pfp_division_degree_executiontrimnormalentry. ff_h_pfp_division_degree_executiontrimnormalentry + S (pftrim_leading_division_degree_executiontrimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_degree_executiontrimnormalentry. rb = ff_q_pfp_division_degree_executiontrimnormalentry * S ((S (0)) * rc) + (pftrim_leading_division_degree_executiontrimnormal))) /\ ((~(pftrim_leading_division_degree_executiontrimnormal=0))))))))))))))))))))))))))))))))) -> ((R)=0 \/ (exists pfd_remainder_degree_division_degree_result. (((((R)=S (pfd_remainder_degree_division_degree_result)) /\ (((forall fom_index_pfp_division_degree_resultrepresentedcoefficients. (exists fom_gap_pfp_division_degree_resultrepresentedcoefficients_index_bound. fom_gap_pfp_division_degree_resultrepresentedcoefficients_index_bound + S (fom_index_pfp_division_degree_resultrepresentedcoefficients) = R) -> exists fom_value_pfp_division_degree_resultrepresentedcoefficients. ((((exists fom_beta_height_pfp_division_degree_resultrepresentedcoefficients_entry. fom_beta_height_pfp_division_degree_resultrepresentedcoefficients_entry + S (fom_value_pfp_division_degree_resultrepresentedcoefficients) = S ((S (fom_index_pfp_division_degree_resultrepresentedcoefficients)) * rc)) /\ exists fom_beta_quotient_pfp_division_degree_resultrepresentedcoefficients_entry. rb = fom_beta_quotient_pfp_division_degree_resultrepresentedcoefficients_entry * S ((S (fom_index_pfp_division_degree_resultrepresentedcoefficients)) * rc) + (fom_value_pfp_division_degree_resultrepresentedcoefficients))) /\ (exists fom_gap_pfp_division_degree_resultrepresentedcoefficients_value_bound. fom_gap_pfp_division_degree_resultrepresentedcoefficients_value_bound + S (fom_value_pfp_division_degree_resultrepresentedcoefficients) = p))) /\ ((exists pfd_leading_division_degree_resultrepresented. ((((exists ff_h_pfp_division_degree_resultrepresentedentry. ff_h_pfp_division_degree_resultrepresentedentry + S (pfd_leading_division_degree_resultrepresented) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_degree_resultrepresentedentry. rb = ff_q_pfp_division_degree_resultrepresentedentry * S ((S (0)) * rc) + (pfd_leading_division_degree_resultrepresented))) /\ ((~(pfd_leading_division_degree_resultrepresented=0)))))))))) /\ ((exists pfa_gap_division_degree_resultstrict. pfa_gap_division_degree_resultstrict + S (pfd_remainder_degree_division_degree_result) = (d))))))
intro pintro abintro acintro Lintro bbintro bcintro dintro qbintro qcintro qintro rbintro rcintro Rintro hpintro hcases hcases h_rightcases h_right_rightcases h_right_right_rightcases h_right_right_right_witnesscases h_right_right_right_witness_witnesscases h_right_right_right_witness_witness_witnesscases h_right_right_right_witness_witness_witness_witnesscases h_right_right_right_witness_witness_witness_witness_witnesscases h_right_right_right_witness_witness_witness_witness_witness_witnesscases h_right_right_right_witness_witness_witness_witness_witness_witness_witnesscases h_right_right_right_witness_witness_witness_witness_witness_witness_witness_rightcases h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_rightcases h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_rightcases h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_righthave hbounds : ((exists pfc_gap_division_degree_q_bound. pfc_gap_division_degree_q_bound+(q)=(L)) /\ ((exists pfc_gap_division_degree_cover. pfc_gap_division_degree_cover+(L)=(q+d))))specialize polynomial_quotient_length_bounds (L)specialize polynomial_quotient_length_bounds (d)specialize polynomial_quotient_length_bounds (q)apply polynomial_quotient_length_boundsexact h_right_right_leftcases hboundsspecialize prime_field_polynomial_trim_bounded_degree (p)specialize prime_field_polynomial_trim_bounded_degree (x4)specialize prime_field_polynomial_trim_bounded_degree (x5)specialize prime_field_polynomial_trim_bounded_degree (L)specialize prime_field_polynomial_trim_bounded_degree (x6)specialize prime_field_polynomial_trim_bounded_degree (rb)specialize prime_field_polynomial_trim_bounded_degree (rc)specialize prime_field_polynomial_trim_bounded_degree (R)specialize prime_field_polynomial_trim_bounded_degree (d)apply prime_field_polynomial_trim_bounded_degreeexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_rightspecialize prime_field_polynomial_trim_zero_prefix_remainder_bound (p)specialize prime_field_polynomial_trim_zero_prefix_remainder_bound (x4)specialize prime_field_polynomial_trim_zero_prefix_remainder_bound (x5)specialize prime_field_polynomial_trim_zero_prefix_remainder_bound (L)specialize prime_field_polynomial_trim_zero_prefix_remainder_bound (x6)specialize prime_field_polynomial_trim_zero_prefix_remainder_bound (rb)specialize prime_field_polynomial_trim_zero_prefix_remainder_bound (rc)specialize prime_field_polynomial_trim_zero_prefix_remainder_bound (R)specialize prime_field_polynomial_trim_zero_prefix_remainder_bound (q)specialize prime_field_polynomial_trim_zero_prefix_remainder_bound (d)apply prime_field_polynomial_trim_zero_prefix_remainder_boundexact hbounds_leftexact hbounds_rightspecialize prime_field_polynomial_quotient_prefix_remainder_zero (p)specialize prime_field_polynomial_quotient_prefix_remainder_zero (x1)specialize prime_field_polynomial_quotient_prefix_remainder_zero (ab)specialize prime_field_polynomial_quotient_prefix_remainder_zero (ac)specialize prime_field_polynomial_quotient_prefix_remainder_zero (bb)specialize prime_field_polynomial_quotient_prefix_remainder_zero (bc)specialize prime_field_polynomial_quotient_prefix_remainder_zero (d)specialize prime_field_polynomial_quotient_prefix_remainder_zero (qb)specialize prime_field_polynomial_quotient_prefix_remainder_zero (qc)specialize prime_field_polynomial_quotient_prefix_remainder_zero (q)specialize prime_field_polynomial_quotient_prefix_remainder_zero (x)specialize prime_field_polynomial_quotient_prefix_remainder_zero (x2)specialize prime_field_polynomial_quotient_prefix_remainder_zero (x3)specialize prime_field_polynomial_quotient_prefix_remainder_zero (L)specialize prime_field_polynomial_quotient_prefix_remainder_zero (x4)specialize prime_field_polynomial_quotient_prefix_remainder_zero (x5)apply prime_field_polynomial_quotient_prefix_remainder_zeroexact hpexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_leftexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_leftexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_leftexact hbounds_leftexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_leftexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_leftexact h_right_right_right_witness_witness_witness_witness_witness_witness_witness_right_right_right_right_right
prime_field_polynomial_scale_associative · unchanged support, not a new admission
forall p a b k ab ac bb bc ub uc vb vc l. (((exists pfa_gap_scale_assoc_scalarsleft. pfa_gap_scale_assoc_scalarsleft + S (a) = (p)) /\ (((exists pfa_gap_scale_assoc_scalarsright. pfa_gap_scale_assoc_scalarsright + S (b) = (p)) /\ ((((exists pfa_gap_scale_assoc_scalarsresultbound. pfa_gap_scale_assoc_scalarsresultbound + S (k) = (p)) /\ ((exists pfa_offset_left_scale_assoc_scalarsresultcongruence pfa_offset_right_scale_assoc_scalarsresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_scale_assoc_scalarsresultcongruence = (k) + (p) * pfa_offset_right_scale_assoc_scalarsresultcongruence))))))))) -> (((exists pfa_gap_scale_assoc_firstscalar. pfa_gap_scale_assoc_firstscalar + S (b) = (p)) /\ ((forall pfp_index_scale_assoc_first. (exists pfa_gap_scale_assoc_firstindex. pfa_gap_scale_assoc_firstindex + S (pfp_index_scale_assoc_first) = (l)) -> exists pfp_source_scale_assoc_first pfp_value_scale_assoc_first. ((((exists ff_h_pfp_scale_assoc_firstsource. ff_h_pfp_scale_assoc_firstsource + S (pfp_source_scale_assoc_first) = S ((S (pfp_index_scale_assoc_first)) * ac)) /\ exists ff_q_pfp_scale_assoc_firstsource. ab = ff_q_pfp_scale_assoc_firstsource * S ((S (pfp_index_scale_assoc_first)) * ac) + (pfp_source_scale_assoc_first))) /\ (((((exists ff_h_pfp_scale_assoc_firsttarget. ff_h_pfp_scale_assoc_firsttarget + S (pfp_value_scale_assoc_first) = S ((S (pfp_index_scale_assoc_first)) * bc)) /\ exists ff_q_pfp_scale_assoc_firsttarget. bb = ff_q_pfp_scale_assoc_firsttarget * S ((S (pfp_index_scale_assoc_first)) * bc) + (pfp_value_scale_assoc_first))) /\ ((((exists pfa_gap_scale_assoc_firstoperationleft. pfa_gap_scale_assoc_firstoperationleft + S (b) = (p)) /\ (((exists pfa_gap_scale_assoc_firstoperationright. pfa_gap_scale_assoc_firstoperationright + S (pfp_source_scale_assoc_first) = (p)) /\ ((((exists pfa_gap_scale_assoc_firstoperationresultbound. pfa_gap_scale_assoc_firstoperationresultbound + S (pfp_value_scale_assoc_first) = (p)) /\ ((exists pfa_offset_left_scale_assoc_firstoperationresultcongruence pfa_offset_right_scale_assoc_firstoperationresultcongruence. ((b) * (pfp_source_scale_assoc_first)) + (p) * pfa_offset_left_scale_assoc_firstoperationresultcongruence = (pfp_value_scale_assoc_first) + (p) * pfa_offset_right_scale_assoc_firstoperationresultcongruence))))))))))))))))) -> (((exists pfa_gap_scale_assoc_secondscalar. pfa_gap_scale_assoc_secondscalar + S (a) = (p)) /\ ((forall pfp_index_scale_assoc_second. (exists pfa_gap_scale_assoc_secondindex. pfa_gap_scale_assoc_secondindex + S (pfp_index_scale_assoc_second) = (l)) -> exists pfp_source_scale_assoc_second pfp_value_scale_assoc_second. ((((exists ff_h_pfp_scale_assoc_secondsource. ff_h_pfp_scale_assoc_secondsource + S (pfp_source_scale_assoc_second) = S ((S (pfp_index_scale_assoc_second)) * bc)) /\ exists ff_q_pfp_scale_assoc_secondsource. bb = ff_q_pfp_scale_assoc_secondsource * S ((S (pfp_index_scale_assoc_second)) * bc) + (pfp_source_scale_assoc_second))) /\ (((((exists ff_h_pfp_scale_assoc_secondtarget. ff_h_pfp_scale_assoc_secondtarget + S (pfp_value_scale_assoc_second) = S ((S (pfp_index_scale_assoc_second)) * uc)) /\ exists ff_q_pfp_scale_assoc_secondtarget. ub = ff_q_pfp_scale_assoc_secondtarget * S ((S (pfp_index_scale_assoc_second)) * uc) + (pfp_value_scale_assoc_second))) /\ ((((exists pfa_gap_scale_assoc_secondoperationleft. pfa_gap_scale_assoc_secondoperationleft + S (a) = (p)) /\ (((exists pfa_gap_scale_assoc_secondoperationright. pfa_gap_scale_assoc_secondoperationright + S (pfp_source_scale_assoc_second) = (p)) /\ ((((exists pfa_gap_scale_assoc_secondoperationresultbound. pfa_gap_scale_assoc_secondoperationresultbound + S (pfp_value_scale_assoc_second) = (p)) /\ ((exists pfa_offset_left_scale_assoc_secondoperationresultcongruence pfa_offset_right_scale_assoc_secondoperationresultcongruence. ((a) * (pfp_source_scale_assoc_second)) + (p) * pfa_offset_left_scale_assoc_secondoperationresultcongruence = (pfp_value_scale_assoc_second) + (p) * pfa_offset_right_scale_assoc_secondoperationresultcongruence))))))))))))))))) -> (((exists pfa_gap_scale_assoc_productscalar. pfa_gap_scale_assoc_productscalar + S (k) = (p)) /\ ((forall pfp_index_scale_assoc_product. (exists pfa_gap_scale_assoc_productindex. pfa_gap_scale_assoc_productindex + S (pfp_index_scale_assoc_product) = (l)) -> exists pfp_source_scale_assoc_product pfp_value_scale_assoc_product. ((((exists ff_h_pfp_scale_assoc_productsource. ff_h_pfp_scale_assoc_productsource + S (pfp_source_scale_assoc_product) = S ((S (pfp_index_scale_assoc_product)) * ac)) /\ exists ff_q_pfp_scale_assoc_productsource. ab = ff_q_pfp_scale_assoc_productsource * S ((S (pfp_index_scale_assoc_product)) * ac) + (pfp_source_scale_assoc_product))) /\ (((((exists ff_h_pfp_scale_assoc_producttarget. ff_h_pfp_scale_assoc_producttarget + S (pfp_value_scale_assoc_product) = S ((S (pfp_index_scale_assoc_product)) * vc)) /\ exists ff_q_pfp_scale_assoc_producttarget. vb = ff_q_pfp_scale_assoc_producttarget * S ((S (pfp_index_scale_assoc_product)) * vc) + (pfp_value_scale_assoc_product))) /\ ((((exists pfa_gap_scale_assoc_productoperationleft. pfa_gap_scale_assoc_productoperationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_assoc_productoperationright. pfa_gap_scale_assoc_productoperationright + S (pfp_source_scale_assoc_product) = (p)) /\ ((((exists pfa_gap_scale_assoc_productoperationresultbound. pfa_gap_scale_assoc_productoperationresultbound + S (pfp_value_scale_assoc_product) = (p)) /\ ((exists pfa_offset_left_scale_assoc_productoperationresultcongruence pfa_offset_right_scale_assoc_productoperationresultcongruence. ((k) * (pfp_source_scale_assoc_product)) + (p) * pfa_offset_left_scale_assoc_productoperationresultcongruence = (pfp_value_scale_assoc_product) + (p) * pfa_offset_right_scale_assoc_productoperationresultcongruence))))))))))))))))) -> (forall mdr_i_pfp_scale_assoc_result mdr_a_pfp_scale_assoc_result. (exists mdr_gap_pfp_scale_assoc_resultb. mdr_gap_pfp_scale_assoc_resultb + S (mdr_i_pfp_scale_assoc_result) = (l)) -> (((exists ff_h_mdr_pfp_scale_assoc_resulto. ff_h_mdr_pfp_scale_assoc_resulto + S (mdr_a_pfp_scale_assoc_result) = S ((S (mdr_i_pfp_scale_assoc_result)) * uc)) /\ exists ff_q_mdr_pfp_scale_assoc_resulto. ub = ff_q_mdr_pfp_scale_assoc_resulto * S ((S (mdr_i_pfp_scale_assoc_result)) * uc) + (mdr_a_pfp_scale_assoc_result))) -> (((exists ff_h_mdr_pfp_scale_assoc_resultn. ff_h_mdr_pfp_scale_assoc_resultn + S (mdr_a_pfp_scale_assoc_result) = S ((S (mdr_i_pfp_scale_assoc_result)) * vc)) /\ exists ff_q_mdr_pfp_scale_assoc_resultn. vb = ff_q_mdr_pfp_scale_assoc_resultn * S ((S (mdr_i_pfp_scale_assoc_result)) * vc) + (mdr_a_pfp_scale_assoc_result))))
intro pintro aintro bintro kintro abintro acintro bbintro bcintro ubintro ucintro vbintro vcintro lintro hkintro hfirstintro hsecondintro hproductintro iintro rintro hiintro hrhave entry_a : exists z. (((exists ff_h_pfp_scale_assoc_choicea. ff_h_pfp_scale_assoc_choicea + S (z) = S ((S (i)) * ac)) /\ exists ff_q_pfp_scale_assoc_choicea. ab = ff_q_pfp_scale_assoc_choicea * S ((S (i)) * ac) + (z)))specialize beta_at_exists (ab)specialize beta_at_exists (ac)specialize beta_at_exists (i)apply beta_at_existscases entry_ahave entry_b : exists z. (((exists ff_h_pfp_scale_assoc_choiceb. ff_h_pfp_scale_assoc_choiceb + S (z) = S ((S (i)) * bc)) /\ exists ff_q_pfp_scale_assoc_choiceb. bb = ff_q_pfp_scale_assoc_choiceb * S ((S (i)) * bc) + (z)))specialize beta_at_exists (bb)specialize beta_at_exists (bc)specialize beta_at_exists (i)apply beta_at_existscases entry_bhave entry_v : exists z. (((exists ff_h_pfp_scale_assoc_choicev. ff_h_pfp_scale_assoc_choicev + S (z) = S ((S (i)) * vc)) /\ exists ff_q_pfp_scale_assoc_choicev. vb = ff_q_pfp_scale_assoc_choicev * S ((S (i)) * vc) + (z)))specialize beta_at_exists (vb)specialize beta_at_exists (vc)specialize beta_at_exists (i)apply beta_at_existscases entry_vhave heq : r=x2symmspecialize prime_field_multiply_associative (p)specialize prime_field_multiply_associative (a)specialize prime_field_multiply_associative (b)specialize prime_field_multiply_associative (x)specialize prime_field_multiply_associative (k)specialize prime_field_multiply_associative (x1)specialize prime_field_multiply_associative (x2)specialize prime_field_multiply_associative (r)apply prime_field_multiply_associativeexact hkspecialize prime_field_polynomial_scale_entry (p)specialize prime_field_polynomial_scale_entry (k)specialize prime_field_polynomial_scale_entry (ab)specialize prime_field_polynomial_scale_entry (ac)specialize prime_field_polynomial_scale_entry (vb)specialize prime_field_polynomial_scale_entry (vc)specialize prime_field_polynomial_scale_entry (l)specialize prime_field_polynomial_scale_entry (i)specialize prime_field_polynomial_scale_entry (x)specialize prime_field_polynomial_scale_entry (x2)apply prime_field_polynomial_scale_entryexact hproductexact hiexact entry_a_witnessexact entry_v_witnessspecialize prime_field_polynomial_scale_entry (p)specialize prime_field_polynomial_scale_entry (b)specialize prime_field_polynomial_scale_entry (ab)specialize prime_field_polynomial_scale_entry (ac)specialize prime_field_polynomial_scale_entry (bb)specialize prime_field_polynomial_scale_entry (bc)specialize prime_field_polynomial_scale_entry (l)specialize prime_field_polynomial_scale_entry (i)specialize prime_field_polynomial_scale_entry (x)specialize prime_field_polynomial_scale_entry (x1)apply prime_field_polynomial_scale_entryexact hfirstexact hiexact entry_a_witnessexact entry_b_witnessspecialize prime_field_polynomial_scale_entry (p)specialize prime_field_polynomial_scale_entry (a)specialize prime_field_polynomial_scale_entry (bb)specialize prime_field_polynomial_scale_entry (bc)specialize prime_field_polynomial_scale_entry (ub)specialize prime_field_polynomial_scale_entry (uc)specialize prime_field_polynomial_scale_entry (l)specialize prime_field_polynomial_scale_entry (i)specialize prime_field_polynomial_scale_entry (x1)specialize prime_field_polynomial_scale_entry (r)apply prime_field_polynomial_scale_entryexact hsecondexact hiexact entry_b_witnessexact hrrewrite heqrewrite heqexact entry_v_witness
prime_field_polynomial_scale_one · unchanged support, not a new admission
forall p b c l. (~((p) = 1) /\ forall pfa_factor_left_scale_one_prime pfa_factor_right_scale_one_prime. (p) = pfa_factor_left_scale_one_prime * pfa_factor_right_scale_one_prime -> pfa_factor_left_scale_one_prime = 1 \/ pfa_factor_right_scale_one_prime = 1) -> (forall fom_index_pfp_scale_one_coefficients. (exists fom_gap_pfp_scale_one_coefficients_index_bound. fom_gap_pfp_scale_one_coefficients_index_bound + S (fom_index_pfp_scale_one_coefficients) = l) -> exists fom_value_pfp_scale_one_coefficients. ((((exists fom_beta_height_pfp_scale_one_coefficients_entry. fom_beta_height_pfp_scale_one_coefficients_entry + S (fom_value_pfp_scale_one_coefficients) = S ((S (fom_index_pfp_scale_one_coefficients)) * c)) /\ exists fom_beta_quotient_pfp_scale_one_coefficients_entry. b = fom_beta_quotient_pfp_scale_one_coefficients_entry * S ((S (fom_index_pfp_scale_one_coefficients)) * c) + (fom_value_pfp_scale_one_coefficients))) /\ (exists fom_gap_pfp_scale_one_coefficients_value_bound. fom_gap_pfp_scale_one_coefficients_value_bound + S (fom_value_pfp_scale_one_coefficients) = p))) -> (((exists pfa_gap_scale_one_resultscalar. pfa_gap_scale_one_resultscalar + S (1) = (p)) /\ ((forall pfp_index_scale_one_result. (exists pfa_gap_scale_one_resultindex. pfa_gap_scale_one_resultindex + S (pfp_index_scale_one_result) = (l)) -> exists pfp_source_scale_one_result pfp_value_scale_one_result. ((((exists ff_h_pfp_scale_one_resultsource. ff_h_pfp_scale_one_resultsource + S (pfp_source_scale_one_result) = S ((S (pfp_index_scale_one_result)) * c)) /\ exists ff_q_pfp_scale_one_resultsource. b = ff_q_pfp_scale_one_resultsource * S ((S (pfp_index_scale_one_result)) * c) + (pfp_source_scale_one_result))) /\ (((((exists ff_h_pfp_scale_one_resulttarget. ff_h_pfp_scale_one_resulttarget + S (pfp_value_scale_one_result) = S ((S (pfp_index_scale_one_result)) * c)) /\ exists ff_q_pfp_scale_one_resulttarget. b = ff_q_pfp_scale_one_resulttarget * S ((S (pfp_index_scale_one_result)) * c) + (pfp_value_scale_one_result))) /\ ((((exists pfa_gap_scale_one_resultoperationleft. pfa_gap_scale_one_resultoperationleft + S (1) = (p)) /\ (((exists pfa_gap_scale_one_resultoperationright. pfa_gap_scale_one_resultoperationright + S (pfp_source_scale_one_result) = (p)) /\ ((((exists pfa_gap_scale_one_resultoperationresultbound. pfa_gap_scale_one_resultoperationresultbound + S (pfp_value_scale_one_result) = (p)) /\ ((exists pfa_offset_left_scale_one_resultoperationresultcongruence pfa_offset_right_scale_one_resultoperationresultcongruence. ((1) * (pfp_source_scale_one_result)) + (p) * pfa_offset_left_scale_one_resultoperationresultcongruence = (pfp_value_scale_one_result) + (p) * pfa_offset_right_scale_one_resultoperationresultcongruence)))))))))))))))))
intro pintro bintro cintro lintro hpintro hcsplitspecialize prime_two_le (p)apply prime_two_leexact hpintro iintro hihave ha : exists a. ((((exists ff_h_pfp_scale_one_chosen. ff_h_pfp_scale_one_chosen + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_scale_one_chosen. b = ff_q_pfp_scale_one_chosen * S ((S (i)) * c) + (a))) /\ ((exists pfa_gap_scale_one_bound. pfa_gap_scale_one_bound + S (a) = (p))))specialize hc (i)apply hcexact hicases hacases ha_witnessexists xexists xsplitexact ha_witness_leftsplitexact ha_witness_leftspecialize prime_field_multiply_one_left (p)specialize prime_field_multiply_one_left (x)apply prime_field_multiply_one_leftexact hpexact ha_witness_right
prime_field_polynomial_scale_transport · unchanged support, not a new admission
forall p k ab ac bb bc AB AC BB BC l. (forall mdr_i_pfp_scale_transport_source mdr_a_pfp_scale_transport_source. (exists mdr_gap_pfp_scale_transport_sourceb. mdr_gap_pfp_scale_transport_sourceb + S (mdr_i_pfp_scale_transport_source) = (l)) -> (((exists ff_h_mdr_pfp_scale_transport_sourceo. ff_h_mdr_pfp_scale_transport_sourceo + S (mdr_a_pfp_scale_transport_source) = S ((S (mdr_i_pfp_scale_transport_source)) * ac)) /\ exists ff_q_mdr_pfp_scale_transport_sourceo. ab = ff_q_mdr_pfp_scale_transport_sourceo * S ((S (mdr_i_pfp_scale_transport_source)) * ac) + (mdr_a_pfp_scale_transport_source))) -> (((exists ff_h_mdr_pfp_scale_transport_sourcen. ff_h_mdr_pfp_scale_transport_sourcen + S (mdr_a_pfp_scale_transport_source) = S ((S (mdr_i_pfp_scale_transport_source)) * AC)) /\ exists ff_q_mdr_pfp_scale_transport_sourcen. AB = ff_q_mdr_pfp_scale_transport_sourcen * S ((S (mdr_i_pfp_scale_transport_source)) * AC) + (mdr_a_pfp_scale_transport_source)))) -> (forall mdr_i_pfp_scale_transport_target mdr_a_pfp_scale_transport_target. (exists mdr_gap_pfp_scale_transport_targetb. mdr_gap_pfp_scale_transport_targetb + S (mdr_i_pfp_scale_transport_target) = (l)) -> (((exists ff_h_mdr_pfp_scale_transport_targeto. ff_h_mdr_pfp_scale_transport_targeto + S (mdr_a_pfp_scale_transport_target) = S ((S (mdr_i_pfp_scale_transport_target)) * bc)) /\ exists ff_q_mdr_pfp_scale_transport_targeto. bb = ff_q_mdr_pfp_scale_transport_targeto * S ((S (mdr_i_pfp_scale_transport_target)) * bc) + (mdr_a_pfp_scale_transport_target))) -> (((exists ff_h_mdr_pfp_scale_transport_targetn. ff_h_mdr_pfp_scale_transport_targetn + S (mdr_a_pfp_scale_transport_target) = S ((S (mdr_i_pfp_scale_transport_target)) * BC)) /\ exists ff_q_mdr_pfp_scale_transport_targetn. BB = ff_q_mdr_pfp_scale_transport_targetn * S ((S (mdr_i_pfp_scale_transport_target)) * BC) + (mdr_a_pfp_scale_transport_target)))) -> (((exists pfa_gap_scale_transport_oldscalar. pfa_gap_scale_transport_oldscalar + S (k) = (p)) /\ ((forall pfp_index_scale_transport_old. (exists pfa_gap_scale_transport_oldindex. pfa_gap_scale_transport_oldindex + S (pfp_index_scale_transport_old) = (l)) -> exists pfp_source_scale_transport_old pfp_value_scale_transport_old. ((((exists ff_h_pfp_scale_transport_oldsource. ff_h_pfp_scale_transport_oldsource + S (pfp_source_scale_transport_old) = S ((S (pfp_index_scale_transport_old)) * ac)) /\ exists ff_q_pfp_scale_transport_oldsource. ab = ff_q_pfp_scale_transport_oldsource * S ((S (pfp_index_scale_transport_old)) * ac) + (pfp_source_scale_transport_old))) /\ (((((exists ff_h_pfp_scale_transport_oldtarget. ff_h_pfp_scale_transport_oldtarget + S (pfp_value_scale_transport_old) = S ((S (pfp_index_scale_transport_old)) * bc)) /\ exists ff_q_pfp_scale_transport_oldtarget. bb = ff_q_pfp_scale_transport_oldtarget * S ((S (pfp_index_scale_transport_old)) * bc) + (pfp_value_scale_transport_old))) /\ ((((exists pfa_gap_scale_transport_oldoperationleft. pfa_gap_scale_transport_oldoperationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_transport_oldoperationright. pfa_gap_scale_transport_oldoperationright + S (pfp_source_scale_transport_old) = (p)) /\ ((((exists pfa_gap_scale_transport_oldoperationresultbound. pfa_gap_scale_transport_oldoperationresultbound + S (pfp_value_scale_transport_old) = (p)) /\ ((exists pfa_offset_left_scale_transport_oldoperationresultcongruence pfa_offset_right_scale_transport_oldoperationresultcongruence. ((k) * (pfp_source_scale_transport_old)) + (p) * pfa_offset_left_scale_transport_oldoperationresultcongruence = (pfp_value_scale_transport_old) + (p) * pfa_offset_right_scale_transport_oldoperationresultcongruence))))))))))))))))) -> (((exists pfa_gap_scale_transport_newscalar. pfa_gap_scale_transport_newscalar + S (k) = (p)) /\ ((forall pfp_index_scale_transport_new. (exists pfa_gap_scale_transport_newindex. pfa_gap_scale_transport_newindex + S (pfp_index_scale_transport_new) = (l)) -> exists pfp_source_scale_transport_new pfp_value_scale_transport_new. ((((exists ff_h_pfp_scale_transport_newsource. ff_h_pfp_scale_transport_newsource + S (pfp_source_scale_transport_new) = S ((S (pfp_index_scale_transport_new)) * AC)) /\ exists ff_q_pfp_scale_transport_newsource. AB = ff_q_pfp_scale_transport_newsource * S ((S (pfp_index_scale_transport_new)) * AC) + (pfp_source_scale_transport_new))) /\ (((((exists ff_h_pfp_scale_transport_newtarget. ff_h_pfp_scale_transport_newtarget + S (pfp_value_scale_transport_new) = S ((S (pfp_index_scale_transport_new)) * BC)) /\ exists ff_q_pfp_scale_transport_newtarget. BB = ff_q_pfp_scale_transport_newtarget * S ((S (pfp_index_scale_transport_new)) * BC) + (pfp_value_scale_transport_new))) /\ ((((exists pfa_gap_scale_transport_newoperationleft. pfa_gap_scale_transport_newoperationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_transport_newoperationright. pfa_gap_scale_transport_newoperationright + S (pfp_source_scale_transport_new) = (p)) /\ ((((exists pfa_gap_scale_transport_newoperationresultbound. pfa_gap_scale_transport_newoperationresultbound + S (pfp_value_scale_transport_new) = (p)) /\ ((exists pfa_offset_left_scale_transport_newoperationresultcongruence pfa_offset_right_scale_transport_newoperationresultcongruence. ((k) * (pfp_source_scale_transport_new)) + (p) * pfa_offset_left_scale_transport_newoperationresultcongruence = (pfp_value_scale_transport_new) + (p) * pfa_offset_right_scale_transport_newoperationresultcongruence)))))))))))))))))
intro pintro kintro abintro acintro bbintro bcintro ABintro ACintro BBintro BCintro lintro haintro hbintro hcases hsplitexact h_leftintro iintro hihave hv : exists a r. ((((exists ff_h_pfp_scale_transport_a. ff_h_pfp_scale_transport_a + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_scale_transport_a. ab = ff_q_pfp_scale_transport_a * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_scale_transport_r. ff_h_pfp_scale_transport_r + S (r) = S ((S (i)) * bc)) /\ exists ff_q_pfp_scale_transport_r. bb = ff_q_pfp_scale_transport_r * S ((S (i)) * bc) + (r))) /\ ((((exists pfa_gap_scale_transport_operationleft. pfa_gap_scale_transport_operationleft + S (k) = (p)) /\ (((exists pfa_gap_scale_transport_operationright. pfa_gap_scale_transport_operationright + S (a) = (p)) /\ ((((exists pfa_gap_scale_transport_operationresultbound. pfa_gap_scale_transport_operationresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_scale_transport_operationresultcongruence pfa_offset_right_scale_transport_operationresultcongruence. ((k) * (a)) + (p) * pfa_offset_left_scale_transport_operationresultcongruence = (r) + (p) * pfa_offset_right_scale_transport_operationresultcongruence)))))))))))))specialize h_right (i)apply h_rightexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_rightexists xexists x1splitspecialize ha (i)specialize ha (x)apply haexact hiexact hv_witness_witness_leftsplitspecialize hb (i)specialize hb (x1)apply hbexact hiexact hv_witness_witness_right_leftexact hv_witness_witness_right_right
prime_field_polynomial_inverse_scale · unchanged support, not a new admission
forall p a k ab ac bb bc L. (~((p) = 1) /\ forall pfa_factor_left_inverse_scale_prime pfa_factor_right_inverse_scale_prime. (p) = pfa_factor_left_inverse_scale_prime * pfa_factor_right_inverse_scale_prime -> pfa_factor_left_inverse_scale_prime = 1 \/ pfa_factor_right_inverse_scale_prime = 1) -> (((~((a) = 0)) /\ ((((exists pfa_gap_inverse_scale_inversemultiplicationleft. pfa_gap_inverse_scale_inversemultiplicationleft + S (a) = (p)) /\ (((exists pfa_gap_inverse_scale_inversemultiplicationright. pfa_gap_inverse_scale_inversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_inverse_scale_inversemultiplicationresultbound. pfa_gap_inverse_scale_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_inverse_scale_inversemultiplicationresultcongruence pfa_offset_right_inverse_scale_inversemultiplicationresultcongruence. ((a) * (k)) + (p) * pfa_offset_left_inverse_scale_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_inverse_scale_inversemultiplicationresultcongruence)))))))))))) -> (((exists pfa_gap_inverse_scale_forwardscalar. pfa_gap_inverse_scale_forwardscalar + S (k) = (p)) /\ ((forall pfp_index_inverse_scale_forward. (exists pfa_gap_inverse_scale_forwardindex. pfa_gap_inverse_scale_forwardindex + S (pfp_index_inverse_scale_forward) = (L)) -> exists pfp_source_inverse_scale_forward pfp_value_inverse_scale_forward. ((((exists ff_h_pfp_inverse_scale_forwardsource. ff_h_pfp_inverse_scale_forwardsource + S (pfp_source_inverse_scale_forward) = S ((S (pfp_index_inverse_scale_forward)) * ac)) /\ exists ff_q_pfp_inverse_scale_forwardsource. ab = ff_q_pfp_inverse_scale_forwardsource * S ((S (pfp_index_inverse_scale_forward)) * ac) + (pfp_source_inverse_scale_forward))) /\ (((((exists ff_h_pfp_inverse_scale_forwardtarget. ff_h_pfp_inverse_scale_forwardtarget + S (pfp_value_inverse_scale_forward) = S ((S (pfp_index_inverse_scale_forward)) * bc)) /\ exists ff_q_pfp_inverse_scale_forwardtarget. bb = ff_q_pfp_inverse_scale_forwardtarget * S ((S (pfp_index_inverse_scale_forward)) * bc) + (pfp_value_inverse_scale_forward))) /\ ((((exists pfa_gap_inverse_scale_forwardoperationleft. pfa_gap_inverse_scale_forwardoperationleft + S (k) = (p)) /\ (((exists pfa_gap_inverse_scale_forwardoperationright. pfa_gap_inverse_scale_forwardoperationright + S (pfp_source_inverse_scale_forward) = (p)) /\ ((((exists pfa_gap_inverse_scale_forwardoperationresultbound. pfa_gap_inverse_scale_forwardoperationresultbound + S (pfp_value_inverse_scale_forward) = (p)) /\ ((exists pfa_offset_left_inverse_scale_forwardoperationresultcongruence pfa_offset_right_inverse_scale_forwardoperationresultcongruence. ((k) * (pfp_source_inverse_scale_forward)) + (p) * pfa_offset_left_inverse_scale_forwardoperationresultcongruence = (pfp_value_inverse_scale_forward) + (p) * pfa_offset_right_inverse_scale_forwardoperationresultcongruence))))))))))))))))) -> (((exists pfa_gap_inverse_scale_backwardscalar. pfa_gap_inverse_scale_backwardscalar + S (a) = (p)) /\ ((forall pfp_index_inverse_scale_backward. (exists pfa_gap_inverse_scale_backwardindex. pfa_gap_inverse_scale_backwardindex + S (pfp_index_inverse_scale_backward) = (L)) -> exists pfp_source_inverse_scale_backward pfp_value_inverse_scale_backward. ((((exists ff_h_pfp_inverse_scale_backwardsource. ff_h_pfp_inverse_scale_backwardsource + S (pfp_source_inverse_scale_backward) = S ((S (pfp_index_inverse_scale_backward)) * bc)) /\ exists ff_q_pfp_inverse_scale_backwardsource. bb = ff_q_pfp_inverse_scale_backwardsource * S ((S (pfp_index_inverse_scale_backward)) * bc) + (pfp_source_inverse_scale_backward))) /\ (((((exists ff_h_pfp_inverse_scale_backwardtarget. ff_h_pfp_inverse_scale_backwardtarget + S (pfp_value_inverse_scale_backward) = S ((S (pfp_index_inverse_scale_backward)) * ac)) /\ exists ff_q_pfp_inverse_scale_backwardtarget. ab = ff_q_pfp_inverse_scale_backwardtarget * S ((S (pfp_index_inverse_scale_backward)) * ac) + (pfp_value_inverse_scale_backward))) /\ ((((exists pfa_gap_inverse_scale_backwardoperationleft. pfa_gap_inverse_scale_backwardoperationleft + S (a) = (p)) /\ (((exists pfa_gap_inverse_scale_backwardoperationright. pfa_gap_inverse_scale_backwardoperationright + S (pfp_source_inverse_scale_backward) = (p)) /\ ((((exists pfa_gap_inverse_scale_backwardoperationresultbound. pfa_gap_inverse_scale_backwardoperationresultbound + S (pfp_value_inverse_scale_backward) = (p)) /\ ((exists pfa_offset_left_inverse_scale_backwardoperationresultcongruence pfa_offset_right_inverse_scale_backwardoperationresultcongruence. ((a) * (pfp_source_inverse_scale_backward)) + (p) * pfa_offset_left_inverse_scale_backwardoperationresultcongruence = (pfp_value_inverse_scale_backward) + (p) * pfa_offset_right_inverse_scale_backwardoperationresultcongruence)))))))))))))))))
intro pintro aintro kintro abintro acintro bbintro bcintro Lintro hpintro hinvintro hshave hbound : ((forall fom_index_pfp_inverse_scale_A. (exists fom_gap_pfp_inverse_scale_A_index_bound. fom_gap_pfp_inverse_scale_A_index_bound + S (fom_index_pfp_inverse_scale_A) = L) -> exists fom_value_pfp_inverse_scale_A. ((((exists fom_beta_height_pfp_inverse_scale_A_entry. fom_beta_height_pfp_inverse_scale_A_entry + S (fom_value_pfp_inverse_scale_A) = S ((S (fom_index_pfp_inverse_scale_A)) * ac)) /\ exists fom_beta_quotient_pfp_inverse_scale_A_entry. ab = fom_beta_quotient_pfp_inverse_scale_A_entry * S ((S (fom_index_pfp_inverse_scale_A)) * ac) + (fom_value_pfp_inverse_scale_A))) /\ (exists fom_gap_pfp_inverse_scale_A_value_bound. fom_gap_pfp_inverse_scale_A_value_bound + S (fom_value_pfp_inverse_scale_A) = p))) /\ ((forall fom_index_pfp_inverse_scale_B. (exists fom_gap_pfp_inverse_scale_B_index_bound. fom_gap_pfp_inverse_scale_B_index_bound + S (fom_index_pfp_inverse_scale_B) = L) -> exists fom_value_pfp_inverse_scale_B. ((((exists fom_beta_height_pfp_inverse_scale_B_entry. fom_beta_height_pfp_inverse_scale_B_entry + S (fom_value_pfp_inverse_scale_B) = S ((S (fom_index_pfp_inverse_scale_B)) * bc)) /\ exists fom_beta_quotient_pfp_inverse_scale_B_entry. bb = fom_beta_quotient_pfp_inverse_scale_B_entry * S ((S (fom_index_pfp_inverse_scale_B)) * bc) + (fom_value_pfp_inverse_scale_B))) /\ (exists fom_gap_pfp_inverse_scale_B_value_bound. fom_gap_pfp_inverse_scale_B_value_bound + S (fom_value_pfp_inverse_scale_B) = p)))))specialize prime_field_polynomial_scale_bounded (p)specialize prime_field_polynomial_scale_bounded (k)specialize prime_field_polynomial_scale_bounded (ab)specialize prime_field_polynomial_scale_bounded (ac)specialize prime_field_polynomial_scale_bounded (bb)specialize prime_field_polynomial_scale_bounded (bc)specialize prime_field_polynomial_scale_bounded (L)apply prime_field_polynomial_scale_boundedexact hscases hboundcases hinvhave hm : ((exists pfa_gap_inverse_scale_productleft. pfa_gap_inverse_scale_productleft + S (a) = (p)) /\ (((exists pfa_gap_inverse_scale_productright. pfa_gap_inverse_scale_productright + S (k) = (p)) /\ ((((exists pfa_gap_inverse_scale_productresultbound. pfa_gap_inverse_scale_productresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_inverse_scale_productresultcongruence pfa_offset_right_inverse_scale_productresultcongruence. ((a) * (k)) + (p) * pfa_offset_left_inverse_scale_productresultcongruence = (1) + (p) * pfa_offset_right_inverse_scale_productresultcongruence))))))))exact hinv_rightcases hinv_rightcases hinv_right_rightcases hinv_right_right_righthave hr : exists cb cc. (((exists pfa_gap_inverse_scale_actualscalar. pfa_gap_inverse_scale_actualscalar + S (a) = (p)) /\ ((forall pfp_index_inverse_scale_actual. (exists pfa_gap_inverse_scale_actualindex. pfa_gap_inverse_scale_actualindex + S (pfp_index_inverse_scale_actual) = (L)) -> exists pfp_source_inverse_scale_actual pfp_value_inverse_scale_actual. ((((exists ff_h_pfp_inverse_scale_actualsource. ff_h_pfp_inverse_scale_actualsource + S (pfp_source_inverse_scale_actual) = S ((S (pfp_index_inverse_scale_actual)) * bc)) /\ exists ff_q_pfp_inverse_scale_actualsource. bb = ff_q_pfp_inverse_scale_actualsource * S ((S (pfp_index_inverse_scale_actual)) * bc) + (pfp_source_inverse_scale_actual))) /\ (((((exists ff_h_pfp_inverse_scale_actualtarget. ff_h_pfp_inverse_scale_actualtarget + S (pfp_value_inverse_scale_actual) = S ((S (pfp_index_inverse_scale_actual)) * cc)) /\ exists ff_q_pfp_inverse_scale_actualtarget. cb = ff_q_pfp_inverse_scale_actualtarget * S ((S (pfp_index_inverse_scale_actual)) * cc) + (pfp_value_inverse_scale_actual))) /\ ((((exists pfa_gap_inverse_scale_actualoperationleft. pfa_gap_inverse_scale_actualoperationleft + S (a) = (p)) /\ (((exists pfa_gap_inverse_scale_actualoperationright. pfa_gap_inverse_scale_actualoperationright + S (pfp_source_inverse_scale_actual) = (p)) /\ ((((exists pfa_gap_inverse_scale_actualoperationresultbound. pfa_gap_inverse_scale_actualoperationresultbound + S (pfp_value_inverse_scale_actual) = (p)) /\ ((exists pfa_offset_left_inverse_scale_actualoperationresultcongruence pfa_offset_right_inverse_scale_actualoperationresultcongruence. ((a) * (pfp_source_inverse_scale_actual)) + (p) * pfa_offset_left_inverse_scale_actualoperationresultcongruence = (pfp_value_inverse_scale_actual) + (p) * pfa_offset_right_inverse_scale_actualoperationresultcongruence)))))))))))))))))specialize prime_field_polynomial_scale_exists (p)specialize prime_field_polynomial_scale_exists (a)specialize prime_field_polynomial_scale_exists (bb)specialize prime_field_polynomial_scale_exists (bc)specialize prime_field_polynomial_scale_exists (L)apply prime_field_polynomial_scale_existsintro hpzerospecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hpzeroexact hinv_right_leftexact hbound_rightcases hrcases hr_witnesshave he : forall mdr_i_pfp_inverse_scale_result_equal mdr_a_pfp_inverse_scale_result_equal. (exists mdr_gap_pfp_inverse_scale_result_equalb. mdr_gap_pfp_inverse_scale_result_equalb + S (mdr_i_pfp_inverse_scale_result_equal) = (L)) -> (((exists ff_h_mdr_pfp_inverse_scale_result_equalo. ff_h_mdr_pfp_inverse_scale_result_equalo + S (mdr_a_pfp_inverse_scale_result_equal) = S ((S (mdr_i_pfp_inverse_scale_result_equal)) * x1)) /\ exists ff_q_mdr_pfp_inverse_scale_result_equalo. x = ff_q_mdr_pfp_inverse_scale_result_equalo * S ((S (mdr_i_pfp_inverse_scale_result_equal)) * x1) + (mdr_a_pfp_inverse_scale_result_equal))) -> (((exists ff_h_mdr_pfp_inverse_scale_result_equaln. ff_h_mdr_pfp_inverse_scale_result_equaln + S (mdr_a_pfp_inverse_scale_result_equal) = S ((S (mdr_i_pfp_inverse_scale_result_equal)) * ac)) /\ exists ff_q_mdr_pfp_inverse_scale_result_equaln. ab = ff_q_mdr_pfp_inverse_scale_result_equaln * S ((S (mdr_i_pfp_inverse_scale_result_equal)) * ac) + (mdr_a_pfp_inverse_scale_result_equal)))specialize prime_field_polynomial_scale_associative (p)specialize prime_field_polynomial_scale_associative (a)specialize prime_field_polynomial_scale_associative (k)specialize prime_field_polynomial_scale_associative (1)specialize prime_field_polynomial_scale_associative (ab)specialize prime_field_polynomial_scale_associative (ac)specialize prime_field_polynomial_scale_associative (bb)specialize prime_field_polynomial_scale_associative (bc)specialize prime_field_polynomial_scale_associative (x)specialize prime_field_polynomial_scale_associative (x1)specialize prime_field_polynomial_scale_associative (ab)specialize prime_field_polynomial_scale_associative (ac)specialize prime_field_polynomial_scale_associative (L)apply prime_field_polynomial_scale_associativeexact hmexact hsexact hr_witness_witnessspecialize prime_field_polynomial_scale_one (p)specialize prime_field_polynomial_scale_one (ab)specialize prime_field_polynomial_scale_one (ac)specialize prime_field_polynomial_scale_one (L)apply prime_field_polynomial_scale_oneexact hpexact hbound_leftspecialize prime_field_polynomial_scale_transport (p)specialize prime_field_polynomial_scale_transport (a)specialize prime_field_polynomial_scale_transport (bb)specialize prime_field_polynomial_scale_transport (bc)specialize prime_field_polynomial_scale_transport (x)specialize prime_field_polynomial_scale_transport (x1)specialize prime_field_polynomial_scale_transport (bb)specialize prime_field_polynomial_scale_transport (bc)specialize prime_field_polynomial_scale_transport (ab)specialize prime_field_polynomial_scale_transport (ac)specialize prime_field_polynomial_scale_transport (L)apply prime_field_polynomial_scale_transportintro iintro rintro hiintro hatexact hatexact heexact hr_witness_witness
prime_field_polynomial_leading_zero_cut_exists · unchanged support, not a new admission
forall b c L. exists t M. ((((L)=(t)+(M)) /\ (((forall pfp_repeat_index_cut_existszero. (exists pfa_gap_cut_existszeroindex. pfa_gap_cut_existszeroindex + S (pfp_repeat_index_cut_existszero) = (t)) -> (((exists ff_h_pfp_cut_existszeroentry. ff_h_pfp_cut_existszeroentry + S (0) = S ((S (pfp_repeat_index_cut_existszero)) * c)) /\ exists ff_q_pfp_cut_existszeroentry. b = ff_q_pfp_cut_existszeroentry * S ((S (pfp_repeat_index_cut_existszero)) * c) + (0)))) /\ (((M)=0 \/ (((~((M)=0)) /\ ((exists pftrim_leading_cut_existshead. ((((exists ff_h_pfp_cut_existsheadentry. ff_h_pfp_cut_existsheadentry + S (pftrim_leading_cut_existshead) = S ((S (t)) * c)) /\ exists ff_q_pfp_cut_existsheadentry. b = ff_q_pfp_cut_existsheadentry * S ((S (t)) * c) + (pftrim_leading_cut_existshead))) /\ ((~(pftrim_leading_cut_existshead=0))))))))))))))
intro bintro cinduction Lexists 0exists 0splitsimpsplitspecialize beta_repeat_empty (b)specialize beta_repeat_empty (c)specialize beta_repeat_empty (0)specialize beta_repeat_empty (0)apply beta_repeat_emptyreflleftreflhave hold : exists t M. ((((L)=(t)+(M)) /\ (((forall pfp_repeat_index_cut_previouszero. (exists pfa_gap_cut_previouszeroindex. pfa_gap_cut_previouszeroindex + S (pfp_repeat_index_cut_previouszero) = (t)) -> (((exists ff_h_pfp_cut_previouszeroentry. ff_h_pfp_cut_previouszeroentry + S (0) = S ((S (pfp_repeat_index_cut_previouszero)) * c)) /\ exists ff_q_pfp_cut_previouszeroentry. b = ff_q_pfp_cut_previouszeroentry * S ((S (pfp_repeat_index_cut_previouszero)) * c) + (0)))) /\ (((M)=0 \/ (((~((M)=0)) /\ ((exists pftrim_leading_cut_previoushead. ((((exists ff_h_pfp_cut_previousheadentry. ff_h_pfp_cut_previousheadentry + S (pftrim_leading_cut_previoushead) = S ((S (t)) * c)) /\ exists ff_q_pfp_cut_previousheadentry. b = ff_q_pfp_cut_previousheadentry * S ((S (t)) * c) + (pftrim_leading_cut_previoushead))) /\ ((~(pftrim_leading_cut_previoushead=0))))))))))))))exact IHcases holdcases hold_witnesscases hold_witness_witnesscases hold_witness_witness_rightcases hold_witness_witness_right_righthave hlen : L=xtrans x+x1exact hold_witness_witness_leftrewrite hold_witness_witness_right_right_leftsimphave hzero : forall pfp_repeat_index_cut_zero_old. (exists pfa_gap_cut_zero_oldindex. pfa_gap_cut_zero_oldindex + S (pfp_repeat_index_cut_zero_old) = (L)) -> (((exists ff_h_pfp_cut_zero_oldentry. ff_h_pfp_cut_zero_oldentry + S (0) = S ((S (pfp_repeat_index_cut_zero_old)) * c)) /\ exists ff_q_pfp_cut_zero_oldentry. b = ff_q_pfp_cut_zero_oldentry * S ((S (pfp_repeat_index_cut_zero_old)) * c) + (0)))rewrite hlenexact hold_witness_witness_right_lefthave ha : exists a. (((exists ff_h_pfp_cut_last. ff_h_pfp_cut_last + S (a) = S ((S (L)) * c)) /\ exists ff_q_pfp_cut_last. b = ff_q_pfp_cut_last * S ((S (L)) * c) + (a)))specialize beta_at_exists (b)specialize beta_at_exists (c)specialize beta_at_exists (L)apply beta_at_existscases hahave hz : x2=0 \/ ~(x2=0)specialize eq_decidable (x2)specialize eq_decidable (0)apply eq_decidablecases hzexists S Lexists 0splitsimpsplitintro iintro hihave hindex : i=L \/ (exists pfa_gap_cut_old_index. pfa_gap_cut_old_index + S (i) = (L))specialize finite_lt_succ_eq_or_lt (L)specialize finite_lt_succ_eq_or_lt (i)apply finite_lt_succ_eq_or_ltexact hicases hindexrewrite hindex_leftrewrite hindex_leftrewrite hz_left at ha_witnessrewrite hz_left at ha_witnessexact ha_witnessspecialize hzero (i)apply hzeroexact hindex_rightleftreflexists Lexists 1splitsimpsplitexact hzerorightsplitintro hbadspecialize succ_ne_zero (0)apply succ_ne_zeroexact hbadexists x2splitexact ha_witnessexact hz_rightcases hold_witness_witness_right_right_rightexists xexists S x1splittrans S (x+x1)congrexact hold_witness_witness_leftsymmapply PA4splitexact hold_witness_witness_right_leftrightsplitintro hbadspecialize succ_ne_zero (x1)apply succ_ne_zeroexact hbadexact hold_witness_witness_right_right_right_right
prime_field_polynomial_suffix_exists · unchanged support, not a new admission
forall b c t M. exists d e. (forall pftrim_index_suffix_exists pftrim_value_suffix_exists. (exists pfa_gap_suffix_existsbound. pfa_gap_suffix_existsbound + S (pftrim_index_suffix_exists) = (M)) -> (((exists ff_h_pfp_suffix_existssource. ff_h_pfp_suffix_existssource + S (pftrim_value_suffix_exists) = S ((S ((t)+pftrim_index_suffix_exists)) * c)) /\ exists ff_q_pfp_suffix_existssource. b = ff_q_pfp_suffix_existssource * S ((S ((t)+pftrim_index_suffix_exists)) * c) + (pftrim_value_suffix_exists))) -> (((exists ff_h_pfp_suffix_existsoutput. ff_h_pfp_suffix_existsoutput + S (pftrim_value_suffix_exists) = S ((S (pftrim_index_suffix_exists)) * e)) /\ exists ff_q_pfp_suffix_existsoutput. d = ff_q_pfp_suffix_existsoutput * S ((S (pftrim_index_suffix_exists)) * e) + (pftrim_value_suffix_exists))))
intro bintro cintro tintro Mhave hs : exists d e. (forall ff_index_mcp_trim_suffix_actual ff_source_mcp_trim_suffix_actual ff_target_mcp_trim_suffix_actual. (exists mcp_gap_trim_suffix_actual_bound. mcp_gap_trim_suffix_actual_bound + S (ff_index_mcp_trim_suffix_actual) = (M)) -> (((exists fs_h_mcp_trim_suffix_actual_source. fs_h_mcp_trim_suffix_actual_source + S (ff_source_mcp_trim_suffix_actual) = S ((S ((t) + (1) * ff_index_mcp_trim_suffix_actual)) * c)) /\ exists fs_q_mcp_trim_suffix_actual_source. b = fs_q_mcp_trim_suffix_actual_source * S ((S ((t) + (1) * ff_index_mcp_trim_suffix_actual)) * c) + (ff_source_mcp_trim_suffix_actual))) -> (((exists fs_h_mcp_trim_suffix_actual_target. fs_h_mcp_trim_suffix_actual_target + S (ff_target_mcp_trim_suffix_actual) = S ((S (ff_index_mcp_trim_suffix_actual)) * e)) /\ exists fs_q_mcp_trim_suffix_actual_target. d = fs_q_mcp_trim_suffix_actual_target * S ((S (ff_index_mcp_trim_suffix_actual)) * e) + (ff_target_mcp_trim_suffix_actual))) -> ff_target_mcp_trim_suffix_actual = ff_source_mcp_trim_suffix_actual)specialize beta_affine_matrix_slice_exists (b)specialize beta_affine_matrix_slice_exists (c)specialize beta_affine_matrix_slice_exists (t)specialize beta_affine_matrix_slice_exists (1)specialize beta_affine_matrix_slice_exists (M)apply beta_affine_matrix_slice_existscases hscases hs_witnessexists xexists x1intro iintro aintro hiintro hahave hz : exists z. (((exists ff_h_pfp_suffix_output. ff_h_pfp_suffix_output + S (z) = S ((S (i)) * x1)) /\ exists ff_q_pfp_suffix_output. x = ff_q_pfp_suffix_output * S ((S (i)) * x1) + (z)))specialize beta_at_exists (x)specialize beta_at_exists (x1)specialize beta_at_exists (i)apply beta_at_existscases hzhave heq : x2=aspecialize hs_witness_witness (i)specialize hs_witness_witness (a)specialize hs_witness_witness (x2)apply hs_witness_witnessexact hihave hindex : t+1*i=t+isimp [one_mul]rewrite hindexrewrite hindexexact haexact hz_witnessrewrite heq at hz_witnessrewrite heq at hz_witnessexact hz_witness
prime_field_polynomial_trim_from_cut · unchanged support, not a new admission
forall p b c L t d e M. (forall fom_index_pfp_cut_to_trim_coefficients. (exists fom_gap_pfp_cut_to_trim_coefficients_index_bound. fom_gap_pfp_cut_to_trim_coefficients_index_bound + S (fom_index_pfp_cut_to_trim_coefficients) = L) -> exists fom_value_pfp_cut_to_trim_coefficients. ((((exists fom_beta_height_pfp_cut_to_trim_coefficients_entry. fom_beta_height_pfp_cut_to_trim_coefficients_entry + S (fom_value_pfp_cut_to_trim_coefficients) = S ((S (fom_index_pfp_cut_to_trim_coefficients)) * c)) /\ exists fom_beta_quotient_pfp_cut_to_trim_coefficients_entry. b = fom_beta_quotient_pfp_cut_to_trim_coefficients_entry * S ((S (fom_index_pfp_cut_to_trim_coefficients)) * c) + (fom_value_pfp_cut_to_trim_coefficients))) /\ (exists fom_gap_pfp_cut_to_trim_coefficients_value_bound. fom_gap_pfp_cut_to_trim_coefficients_value_bound + S (fom_value_pfp_cut_to_trim_coefficients) = p))) -> ((((L)=(t)+(M)) /\ (((forall pfp_repeat_index_cut_to_trim_sourcezero. (exists pfa_gap_cut_to_trim_sourcezeroindex. pfa_gap_cut_to_trim_sourcezeroindex + S (pfp_repeat_index_cut_to_trim_sourcezero) = (t)) -> (((exists ff_h_pfp_cut_to_trim_sourcezeroentry. ff_h_pfp_cut_to_trim_sourcezeroentry + S (0) = S ((S (pfp_repeat_index_cut_to_trim_sourcezero)) * c)) /\ exists ff_q_pfp_cut_to_trim_sourcezeroentry. b = ff_q_pfp_cut_to_trim_sourcezeroentry * S ((S (pfp_repeat_index_cut_to_trim_sourcezero)) * c) + (0)))) /\ (((M)=0 \/ (((~((M)=0)) /\ ((exists pftrim_leading_cut_to_trim_sourcehead. ((((exists ff_h_pfp_cut_to_trim_sourceheadentry. ff_h_pfp_cut_to_trim_sourceheadentry + S (pftrim_leading_cut_to_trim_sourcehead) = S ((S (t)) * c)) /\ exists ff_q_pfp_cut_to_trim_sourceheadentry. b = ff_q_pfp_cut_to_trim_sourceheadentry * S ((S (t)) * c) + (pftrim_leading_cut_to_trim_sourcehead))) /\ ((~(pftrim_leading_cut_to_trim_sourcehead=0)))))))))))))) -> (forall pftrim_index_cut_to_trim_suffix pftrim_value_cut_to_trim_suffix. (exists pfa_gap_cut_to_trim_suffixbound. pfa_gap_cut_to_trim_suffixbound + S (pftrim_index_cut_to_trim_suffix) = (M)) -> (((exists ff_h_pfp_cut_to_trim_suffixsource. ff_h_pfp_cut_to_trim_suffixsource + S (pftrim_value_cut_to_trim_suffix) = S ((S ((t)+pftrim_index_cut_to_trim_suffix)) * c)) /\ exists ff_q_pfp_cut_to_trim_suffixsource. b = ff_q_pfp_cut_to_trim_suffixsource * S ((S ((t)+pftrim_index_cut_to_trim_suffix)) * c) + (pftrim_value_cut_to_trim_suffix))) -> (((exists ff_h_pfp_cut_to_trim_suffixoutput. ff_h_pfp_cut_to_trim_suffixoutput + S (pftrim_value_cut_to_trim_suffix) = S ((S (pftrim_index_cut_to_trim_suffix)) * e)) /\ exists ff_q_pfp_cut_to_trim_suffixoutput. d = ff_q_pfp_cut_to_trim_suffixoutput * S ((S (pftrim_index_cut_to_trim_suffix)) * e) + (pftrim_value_cut_to_trim_suffix)))) -> ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_cut_to_trim_resultinput. (exists fom_gap_pfp_cut_to_trim_resultinput_index_bound. fom_gap_pfp_cut_to_trim_resultinput_index_bound + S (fom_index_pfp_cut_to_trim_resultinput) = L) -> exists fom_value_pfp_cut_to_trim_resultinput. ((((exists fom_beta_height_pfp_cut_to_trim_resultinput_entry. fom_beta_height_pfp_cut_to_trim_resultinput_entry + S (fom_value_pfp_cut_to_trim_resultinput) = S ((S (fom_index_pfp_cut_to_trim_resultinput)) * c)) /\ exists fom_beta_quotient_pfp_cut_to_trim_resultinput_entry. b = fom_beta_quotient_pfp_cut_to_trim_resultinput_entry * S ((S (fom_index_pfp_cut_to_trim_resultinput)) * c) + (fom_value_pfp_cut_to_trim_resultinput))) /\ (exists fom_gap_pfp_cut_to_trim_resultinput_value_bound. fom_gap_pfp_cut_to_trim_resultinput_value_bound + S (fom_value_pfp_cut_to_trim_resultinput) = p))) /\ (((forall pfp_repeat_index_cut_to_trim_resultremoved. (exists pfa_gap_cut_to_trim_resultremovedindex. pfa_gap_cut_to_trim_resultremovedindex + S (pfp_repeat_index_cut_to_trim_resultremoved) = (t)) -> (((exists ff_h_pfp_cut_to_trim_resultremovedentry. ff_h_pfp_cut_to_trim_resultremovedentry + S (0) = S ((S (pfp_repeat_index_cut_to_trim_resultremoved)) * c)) /\ exists ff_q_pfp_cut_to_trim_resultremovedentry. b = ff_q_pfp_cut_to_trim_resultremovedentry * S ((S (pfp_repeat_index_cut_to_trim_resultremoved)) * c) + (0)))) /\ (((forall pftrim_index_cut_to_trim_resultsuffix pftrim_value_cut_to_trim_resultsuffix. (exists pfa_gap_cut_to_trim_resultsuffixbound. pfa_gap_cut_to_trim_resultsuffixbound + S (pftrim_index_cut_to_trim_resultsuffix) = (M)) -> (((exists ff_h_pfp_cut_to_trim_resultsuffixsource. ff_h_pfp_cut_to_trim_resultsuffixsource + S (pftrim_value_cut_to_trim_resultsuffix) = S ((S ((t)+pftrim_index_cut_to_trim_resultsuffix)) * c)) /\ exists ff_q_pfp_cut_to_trim_resultsuffixsource. b = ff_q_pfp_cut_to_trim_resultsuffixsource * S ((S ((t)+pftrim_index_cut_to_trim_resultsuffix)) * c) + (pftrim_value_cut_to_trim_resultsuffix))) -> (((exists ff_h_pfp_cut_to_trim_resultsuffixoutput. ff_h_pfp_cut_to_trim_resultsuffixoutput + S (pftrim_value_cut_to_trim_resultsuffix) = S ((S (pftrim_index_cut_to_trim_resultsuffix)) * e)) /\ exists ff_q_pfp_cut_to_trim_resultsuffixoutput. d = ff_q_pfp_cut_to_trim_resultsuffixoutput * S ((S (pftrim_index_cut_to_trim_resultsuffix)) * e) + (pftrim_value_cut_to_trim_resultsuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_cut_to_trim_resultnormal. ((((exists ff_h_pfp_cut_to_trim_resultnormalentry. ff_h_pfp_cut_to_trim_resultnormalentry + S (pftrim_leading_cut_to_trim_resultnormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_cut_to_trim_resultnormalentry. d = ff_q_pfp_cut_to_trim_resultnormalentry * S ((S (0)) * e) + (pftrim_leading_cut_to_trim_resultnormal))) /\ ((~(pftrim_leading_cut_to_trim_resultnormal=0)))))))))))))))
intro pintro bintro cintro Lintro tintro dintro eintro Mintro hcintro hcutintro hscases hcutcases hcut_rightsplitexact hcut_leftsplitexact hcsplitexact hcut_right_leftsplitexact hscases hcut_right_rightleftexact hcut_right_right_leftrightcases hcut_right_right_rightcases hcut_right_right_right_rightcases hcut_right_right_right_right_witnessexists xsplitspecialize hs (0)specialize hs (x)apply hsspecialize one_le_of_ne_zero (M)apply one_le_of_ne_zeroexact hcut_right_right_right_lefthave hindex : t+0=tsimprewrite hindexrewrite hindexexact hcut_right_right_right_right_witness_leftexact hcut_right_right_right_right_witness_right
prime_field_polynomial_trim_exists · unchanged support, not a new admission
forall p b c L. (forall fom_index_pfp_trim_exists_source. (exists fom_gap_pfp_trim_exists_source_index_bound. fom_gap_pfp_trim_exists_source_index_bound + S (fom_index_pfp_trim_exists_source) = L) -> exists fom_value_pfp_trim_exists_source. ((((exists fom_beta_height_pfp_trim_exists_source_entry. fom_beta_height_pfp_trim_exists_source_entry + S (fom_value_pfp_trim_exists_source) = S ((S (fom_index_pfp_trim_exists_source)) * c)) /\ exists fom_beta_quotient_pfp_trim_exists_source_entry. b = fom_beta_quotient_pfp_trim_exists_source_entry * S ((S (fom_index_pfp_trim_exists_source)) * c) + (fom_value_pfp_trim_exists_source))) /\ (exists fom_gap_pfp_trim_exists_source_value_bound. fom_gap_pfp_trim_exists_source_value_bound + S (fom_value_pfp_trim_exists_source) = p))) -> exists t d e M. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_trim_exists_resultinput. (exists fom_gap_pfp_trim_exists_resultinput_index_bound. fom_gap_pfp_trim_exists_resultinput_index_bound + S (fom_index_pfp_trim_exists_resultinput) = L) -> exists fom_value_pfp_trim_exists_resultinput. ((((exists fom_beta_height_pfp_trim_exists_resultinput_entry. fom_beta_height_pfp_trim_exists_resultinput_entry + S (fom_value_pfp_trim_exists_resultinput) = S ((S (fom_index_pfp_trim_exists_resultinput)) * c)) /\ exists fom_beta_quotient_pfp_trim_exists_resultinput_entry. b = fom_beta_quotient_pfp_trim_exists_resultinput_entry * S ((S (fom_index_pfp_trim_exists_resultinput)) * c) + (fom_value_pfp_trim_exists_resultinput))) /\ (exists fom_gap_pfp_trim_exists_resultinput_value_bound. fom_gap_pfp_trim_exists_resultinput_value_bound + S (fom_value_pfp_trim_exists_resultinput) = p))) /\ (((forall pfp_repeat_index_trim_exists_resultremoved. (exists pfa_gap_trim_exists_resultremovedindex. pfa_gap_trim_exists_resultremovedindex + S (pfp_repeat_index_trim_exists_resultremoved) = (t)) -> (((exists ff_h_pfp_trim_exists_resultremovedentry. ff_h_pfp_trim_exists_resultremovedentry + S (0) = S ((S (pfp_repeat_index_trim_exists_resultremoved)) * c)) /\ exists ff_q_pfp_trim_exists_resultremovedentry. b = ff_q_pfp_trim_exists_resultremovedentry * S ((S (pfp_repeat_index_trim_exists_resultremoved)) * c) + (0)))) /\ (((forall pftrim_index_trim_exists_resultsuffix pftrim_value_trim_exists_resultsuffix. (exists pfa_gap_trim_exists_resultsuffixbound. pfa_gap_trim_exists_resultsuffixbound + S (pftrim_index_trim_exists_resultsuffix) = (M)) -> (((exists ff_h_pfp_trim_exists_resultsuffixsource. ff_h_pfp_trim_exists_resultsuffixsource + S (pftrim_value_trim_exists_resultsuffix) = S ((S ((t)+pftrim_index_trim_exists_resultsuffix)) * c)) /\ exists ff_q_pfp_trim_exists_resultsuffixsource. b = ff_q_pfp_trim_exists_resultsuffixsource * S ((S ((t)+pftrim_index_trim_exists_resultsuffix)) * c) + (pftrim_value_trim_exists_resultsuffix))) -> (((exists ff_h_pfp_trim_exists_resultsuffixoutput. ff_h_pfp_trim_exists_resultsuffixoutput + S (pftrim_value_trim_exists_resultsuffix) = S ((S (pftrim_index_trim_exists_resultsuffix)) * e)) /\ exists ff_q_pfp_trim_exists_resultsuffixoutput. d = ff_q_pfp_trim_exists_resultsuffixoutput * S ((S (pftrim_index_trim_exists_resultsuffix)) * e) + (pftrim_value_trim_exists_resultsuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_trim_exists_resultnormal. ((((exists ff_h_pfp_trim_exists_resultnormalentry. ff_h_pfp_trim_exists_resultnormalentry + S (pftrim_leading_trim_exists_resultnormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_exists_resultnormalentry. d = ff_q_pfp_trim_exists_resultnormalentry * S ((S (0)) * e) + (pftrim_leading_trim_exists_resultnormal))) /\ ((~(pftrim_leading_trim_exists_resultnormal=0)))))))))))))))
intro pintro bintro cintro Lintro hchave hcut : exists t M. ((((L)=(t)+(M)) /\ (((forall pfp_repeat_index_trim_exists_cutzero. (exists pfa_gap_trim_exists_cutzeroindex. pfa_gap_trim_exists_cutzeroindex + S (pfp_repeat_index_trim_exists_cutzero) = (t)) -> (((exists ff_h_pfp_trim_exists_cutzeroentry. ff_h_pfp_trim_exists_cutzeroentry + S (0) = S ((S (pfp_repeat_index_trim_exists_cutzero)) * c)) /\ exists ff_q_pfp_trim_exists_cutzeroentry. b = ff_q_pfp_trim_exists_cutzeroentry * S ((S (pfp_repeat_index_trim_exists_cutzero)) * c) + (0)))) /\ (((M)=0 \/ (((~((M)=0)) /\ ((exists pftrim_leading_trim_exists_cuthead. ((((exists ff_h_pfp_trim_exists_cutheadentry. ff_h_pfp_trim_exists_cutheadentry + S (pftrim_leading_trim_exists_cuthead) = S ((S (t)) * c)) /\ exists ff_q_pfp_trim_exists_cutheadentry. b = ff_q_pfp_trim_exists_cutheadentry * S ((S (t)) * c) + (pftrim_leading_trim_exists_cuthead))) /\ ((~(pftrim_leading_trim_exists_cuthead=0))))))))))))))specialize prime_field_polynomial_leading_zero_cut_exists (b)specialize prime_field_polynomial_leading_zero_cut_exists (c)specialize prime_field_polynomial_leading_zero_cut_exists (L)apply prime_field_polynomial_leading_zero_cut_existscases hcutcases hcut_witnesshave hs : exists d e. (forall pftrim_index_trim_exists_suffix pftrim_value_trim_exists_suffix. (exists pfa_gap_trim_exists_suffixbound. pfa_gap_trim_exists_suffixbound + S (pftrim_index_trim_exists_suffix) = (x1)) -> (((exists ff_h_pfp_trim_exists_suffixsource. ff_h_pfp_trim_exists_suffixsource + S (pftrim_value_trim_exists_suffix) = S ((S ((x)+pftrim_index_trim_exists_suffix)) * c)) /\ exists ff_q_pfp_trim_exists_suffixsource. b = ff_q_pfp_trim_exists_suffixsource * S ((S ((x)+pftrim_index_trim_exists_suffix)) * c) + (pftrim_value_trim_exists_suffix))) -> (((exists ff_h_pfp_trim_exists_suffixoutput. ff_h_pfp_trim_exists_suffixoutput + S (pftrim_value_trim_exists_suffix) = S ((S (pftrim_index_trim_exists_suffix)) * e)) /\ exists ff_q_pfp_trim_exists_suffixoutput. d = ff_q_pfp_trim_exists_suffixoutput * S ((S (pftrim_index_trim_exists_suffix)) * e) + (pftrim_value_trim_exists_suffix))))specialize prime_field_polynomial_suffix_exists (b)specialize prime_field_polynomial_suffix_exists (c)specialize prime_field_polynomial_suffix_exists (x)specialize prime_field_polynomial_suffix_exists (x1)apply prime_field_polynomial_suffix_existscases hscases hs_witnessexists xexists x2exists x3exists x1specialize prime_field_polynomial_trim_from_cut (p)specialize prime_field_polynomial_trim_from_cut (b)specialize prime_field_polynomial_trim_from_cut (c)specialize prime_field_polynomial_trim_from_cut (L)specialize prime_field_polynomial_trim_from_cut (x)specialize prime_field_polynomial_trim_from_cut (x2)specialize prime_field_polynomial_trim_from_cut (x3)specialize prime_field_polynomial_trim_from_cut (x1)apply prime_field_polynomial_trim_from_cutexact hcexact hcut_witness_witnessexact hs_witness_witness
prime_field_polynomial_trim_nonempty_degree_exists · unchanged support, not a new admission
forall p b c L t d e M. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_trim_nonempty_inputinput. (exists fom_gap_pfp_trim_nonempty_inputinput_index_bound. fom_gap_pfp_trim_nonempty_inputinput_index_bound + S (fom_index_pfp_trim_nonempty_inputinput) = L) -> exists fom_value_pfp_trim_nonempty_inputinput. ((((exists fom_beta_height_pfp_trim_nonempty_inputinput_entry. fom_beta_height_pfp_trim_nonempty_inputinput_entry + S (fom_value_pfp_trim_nonempty_inputinput) = S ((S (fom_index_pfp_trim_nonempty_inputinput)) * c)) /\ exists fom_beta_quotient_pfp_trim_nonempty_inputinput_entry. b = fom_beta_quotient_pfp_trim_nonempty_inputinput_entry * S ((S (fom_index_pfp_trim_nonempty_inputinput)) * c) + (fom_value_pfp_trim_nonempty_inputinput))) /\ (exists fom_gap_pfp_trim_nonempty_inputinput_value_bound. fom_gap_pfp_trim_nonempty_inputinput_value_bound + S (fom_value_pfp_trim_nonempty_inputinput) = p))) /\ (((forall pfp_repeat_index_trim_nonempty_inputremoved. (exists pfa_gap_trim_nonempty_inputremovedindex. pfa_gap_trim_nonempty_inputremovedindex + S (pfp_repeat_index_trim_nonempty_inputremoved) = (t)) -> (((exists ff_h_pfp_trim_nonempty_inputremovedentry. ff_h_pfp_trim_nonempty_inputremovedentry + S (0) = S ((S (pfp_repeat_index_trim_nonempty_inputremoved)) * c)) /\ exists ff_q_pfp_trim_nonempty_inputremovedentry. b = ff_q_pfp_trim_nonempty_inputremovedentry * S ((S (pfp_repeat_index_trim_nonempty_inputremoved)) * c) + (0)))) /\ (((forall pftrim_index_trim_nonempty_inputsuffix pftrim_value_trim_nonempty_inputsuffix. (exists pfa_gap_trim_nonempty_inputsuffixbound. pfa_gap_trim_nonempty_inputsuffixbound + S (pftrim_index_trim_nonempty_inputsuffix) = (M)) -> (((exists ff_h_pfp_trim_nonempty_inputsuffixsource. ff_h_pfp_trim_nonempty_inputsuffixsource + S (pftrim_value_trim_nonempty_inputsuffix) = S ((S ((t)+pftrim_index_trim_nonempty_inputsuffix)) * c)) /\ exists ff_q_pfp_trim_nonempty_inputsuffixsource. b = ff_q_pfp_trim_nonempty_inputsuffixsource * S ((S ((t)+pftrim_index_trim_nonempty_inputsuffix)) * c) + (pftrim_value_trim_nonempty_inputsuffix))) -> (((exists ff_h_pfp_trim_nonempty_inputsuffixoutput. ff_h_pfp_trim_nonempty_inputsuffixoutput + S (pftrim_value_trim_nonempty_inputsuffix) = S ((S (pftrim_index_trim_nonempty_inputsuffix)) * e)) /\ exists ff_q_pfp_trim_nonempty_inputsuffixoutput. d = ff_q_pfp_trim_nonempty_inputsuffixoutput * S ((S (pftrim_index_trim_nonempty_inputsuffix)) * e) + (pftrim_value_trim_nonempty_inputsuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_trim_nonempty_inputnormal. ((((exists ff_h_pfp_trim_nonempty_inputnormalentry. ff_h_pfp_trim_nonempty_inputnormalentry + S (pftrim_leading_trim_nonempty_inputnormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_nonempty_inputnormalentry. d = ff_q_pfp_trim_nonempty_inputnormalentry * S ((S (0)) * e) + (pftrim_leading_trim_nonempty_inputnormal))) /\ ((~(pftrim_leading_trim_nonempty_inputnormal=0))))))))))))))) -> ~(M=0) -> exists q. ((((M)=S (q)) /\ (((forall fom_index_pfp_trim_nonempty_degreecoefficients. (exists fom_gap_pfp_trim_nonempty_degreecoefficients_index_bound. fom_gap_pfp_trim_nonempty_degreecoefficients_index_bound + S (fom_index_pfp_trim_nonempty_degreecoefficients) = M) -> exists fom_value_pfp_trim_nonempty_degreecoefficients. ((((exists fom_beta_height_pfp_trim_nonempty_degreecoefficients_entry. fom_beta_height_pfp_trim_nonempty_degreecoefficients_entry + S (fom_value_pfp_trim_nonempty_degreecoefficients) = S ((S (fom_index_pfp_trim_nonempty_degreecoefficients)) * e)) /\ exists fom_beta_quotient_pfp_trim_nonempty_degreecoefficients_entry. d = fom_beta_quotient_pfp_trim_nonempty_degreecoefficients_entry * S ((S (fom_index_pfp_trim_nonempty_degreecoefficients)) * e) + (fom_value_pfp_trim_nonempty_degreecoefficients))) /\ (exists fom_gap_pfp_trim_nonempty_degreecoefficients_value_bound. fom_gap_pfp_trim_nonempty_degreecoefficients_value_bound + S (fom_value_pfp_trim_nonempty_degreecoefficients) = p))) /\ ((exists pfd_leading_trim_nonempty_degree. ((((exists ff_h_pfp_trim_nonempty_degreeentry. ff_h_pfp_trim_nonempty_degreeentry + S (pfd_leading_trim_nonempty_degree) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_nonempty_degreeentry. d = ff_q_pfp_trim_nonempty_degreeentry * S ((S (0)) * e) + (pfd_leading_trim_nonempty_degree))) /\ ((~(pfd_leading_trim_nonempty_degree=0))))))))))
intro pintro bintro cintro Lintro tintro dintro eintro Mintro hintro hMhave hq : exists q. M=S qspecialize nonzero_is_succ (M)apply nonzero_is_succexact hMcases hqexists xspecialize prime_field_polynomial_trim_represented_degree (p)specialize prime_field_polynomial_trim_represented_degree (b)specialize prime_field_polynomial_trim_represented_degree (c)specialize prime_field_polynomial_trim_represented_degree (L)specialize prime_field_polynomial_trim_represented_degree (t)specialize prime_field_polynomial_trim_represented_degree (d)specialize prime_field_polynomial_trim_represented_degree (e)specialize prime_field_polynomial_trim_represented_degree (M)specialize prime_field_polynomial_trim_represented_degree (x)apply prime_field_polynomial_trim_represented_degreeexact hexact hq_witness
prime_field_inverse_exists · unchanged support, not a new admission
forall p a. (~((p) = 1) /\ forall pfa_factor_left_inverse_domain pfa_factor_right_inverse_domain. (p) = pfa_factor_left_inverse_domain * pfa_factor_right_inverse_domain -> pfa_factor_left_inverse_domain = 1 \/ pfa_factor_right_inverse_domain = 1) -> (exists pfa_gap_inverse_input. pfa_gap_inverse_input + S (a) = (p)) -> ~(a = 0) -> exists b. (((~((a) = 0)) /\ ((((exists pfa_gap_inverse_existsmultiplicationleft. pfa_gap_inverse_existsmultiplicationleft + S (a) = (p)) /\ (((exists pfa_gap_inverse_existsmultiplicationright. pfa_gap_inverse_existsmultiplicationright + S (b) = (p)) /\ ((((exists pfa_gap_inverse_existsmultiplicationresultbound. pfa_gap_inverse_existsmultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_inverse_existsmultiplicationresultcongruence pfa_offset_right_inverse_existsmultiplicationresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_inverse_existsmultiplicationresultcongruence = (1) + (p) * pfa_offset_right_inverse_existsmultiplicationresultcongruence))))))))))))
intro pintro aintro hpintro haintro hnhave hi : exists b. ~(b = 0) /\ ((exists pfa_gap_inverse_bound. pfa_gap_inverse_bound + S (b) = (p)) /\ (exists pfa_offset_left_inverse_mod pfa_offset_right_inverse_mod. (a*b) + (p) * pfa_offset_left_inverse_mod = (1) + (p) * pfa_offset_right_inverse_mod))specialize prime_bounded_nonzero_mod_inverse (p)specialize prime_bounded_nonzero_mod_inverse (a)apply prime_bounded_nonzero_mod_inverseexact hpexact hnexact hacases hicases hi_witnesscases hi_witness_rightexists xsplitexact hnsplitexact hasplitexact hi_witness_right_leftsplitspecialize prime_two_le (p)apply prime_two_leexact hpexact hi_witness_right_right
prime_field_polynomial_monic_normalization_exists · unchanged support, not a new admission
forall p ab ac L d. (~((p) = 1) /\ forall pfa_factor_left_normalization_exists_prime pfa_factor_right_normalization_exists_prime. (p) = pfa_factor_left_normalization_exists_prime * pfa_factor_right_normalization_exists_prime -> pfa_factor_left_normalization_exists_prime = 1 \/ pfa_factor_right_normalization_exists_prime = 1) -> ((((L)=S (d)) /\ (((forall fom_index_pfp_normalization_exists_inputcoefficients. (exists fom_gap_pfp_normalization_exists_inputcoefficients_index_bound. fom_gap_pfp_normalization_exists_inputcoefficients_index_bound + S (fom_index_pfp_normalization_exists_inputcoefficients) = L) -> exists fom_value_pfp_normalization_exists_inputcoefficients. ((((exists fom_beta_height_pfp_normalization_exists_inputcoefficients_entry. fom_beta_height_pfp_normalization_exists_inputcoefficients_entry + S (fom_value_pfp_normalization_exists_inputcoefficients) = S ((S (fom_index_pfp_normalization_exists_inputcoefficients)) * ac)) /\ exists fom_beta_quotient_pfp_normalization_exists_inputcoefficients_entry. ab = fom_beta_quotient_pfp_normalization_exists_inputcoefficients_entry * S ((S (fom_index_pfp_normalization_exists_inputcoefficients)) * ac) + (fom_value_pfp_normalization_exists_inputcoefficients))) /\ (exists fom_gap_pfp_normalization_exists_inputcoefficients_value_bound. fom_gap_pfp_normalization_exists_inputcoefficients_value_bound + S (fom_value_pfp_normalization_exists_inputcoefficients) = p))) /\ ((exists pfd_leading_normalization_exists_input. ((((exists ff_h_pfp_normalization_exists_inputentry. ff_h_pfp_normalization_exists_inputentry + S (pfd_leading_normalization_exists_input) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_exists_inputentry. ab = ff_q_pfp_normalization_exists_inputentry * S ((S (0)) * ac) + (pfd_leading_normalization_exists_input))) /\ ((~(pfd_leading_normalization_exists_input=0)))))))))) -> exists k bb bc. (((~((L) = 0)) /\ (((exists pfm_leading_normalization_exists_result. ((((exists ff_h_pfp_normalization_exists_resultsource. ff_h_pfp_normalization_exists_resultsource + S (pfm_leading_normalization_exists_result) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_exists_resultsource. ab = ff_q_pfp_normalization_exists_resultsource * S ((S (0)) * ac) + (pfm_leading_normalization_exists_result))) /\ ((((~((pfm_leading_normalization_exists_result) = 0)) /\ ((((exists pfa_gap_normalization_exists_resultinversemultiplicationleft. pfa_gap_normalization_exists_resultinversemultiplicationleft + S (pfm_leading_normalization_exists_result) = (p)) /\ (((exists pfa_gap_normalization_exists_resultinversemultiplicationright. pfa_gap_normalization_exists_resultinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_exists_resultinversemultiplicationresultbound. pfa_gap_normalization_exists_resultinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_exists_resultinversemultiplicationresultcongruence pfa_offset_right_normalization_exists_resultinversemultiplicationresultcongruence. ((pfm_leading_normalization_exists_result) * (k)) + (p) * pfa_offset_left_normalization_exists_resultinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_exists_resultinversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_exists_resultscalescalar. pfa_gap_normalization_exists_resultscalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_exists_resultscale. (exists pfa_gap_normalization_exists_resultscaleindex. pfa_gap_normalization_exists_resultscaleindex + S (pfp_index_normalization_exists_resultscale) = (L)) -> exists pfp_source_normalization_exists_resultscale pfp_value_normalization_exists_resultscale. ((((exists ff_h_pfp_normalization_exists_resultscalesource. ff_h_pfp_normalization_exists_resultscalesource + S (pfp_source_normalization_exists_resultscale) = S ((S (pfp_index_normalization_exists_resultscale)) * ac)) /\ exists ff_q_pfp_normalization_exists_resultscalesource. ab = ff_q_pfp_normalization_exists_resultscalesource * S ((S (pfp_index_normalization_exists_resultscale)) * ac) + (pfp_source_normalization_exists_resultscale))) /\ (((((exists ff_h_pfp_normalization_exists_resultscaletarget. ff_h_pfp_normalization_exists_resultscaletarget + S (pfp_value_normalization_exists_resultscale) = S ((S (pfp_index_normalization_exists_resultscale)) * bc)) /\ exists ff_q_pfp_normalization_exists_resultscaletarget. bb = ff_q_pfp_normalization_exists_resultscaletarget * S ((S (pfp_index_normalization_exists_resultscale)) * bc) + (pfp_value_normalization_exists_resultscale))) /\ ((((exists pfa_gap_normalization_exists_resultscaleoperationleft. pfa_gap_normalization_exists_resultscaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_exists_resultscaleoperationright. pfa_gap_normalization_exists_resultscaleoperationright + S (pfp_source_normalization_exists_resultscale) = (p)) /\ ((((exists pfa_gap_normalization_exists_resultscaleoperationresultbound. pfa_gap_normalization_exists_resultscaleoperationresultbound + S (pfp_value_normalization_exists_resultscale) = (p)) /\ ((exists pfa_offset_left_normalization_exists_resultscaleoperationresultcongruence pfa_offset_right_normalization_exists_resultscaleoperationresultcongruence. ((k) * (pfp_source_normalization_exists_resultscale)) + (p) * pfa_offset_left_normalization_exists_resultscaleoperationresultcongruence = (pfp_value_normalization_exists_resultscale) + (p) * pfa_offset_right_normalization_exists_resultscaleoperationresultcongruence))))))))))))))))))))))
intro pintro abintro acintro Lintro dintro hpintro hdcases hdcases hd_rightcases hd_right_rightcases hd_right_right_witnesshave ha : exists pfa_gap_normalization_exists_bound. pfa_gap_normalization_exists_bound + S (x) = (p)specialize matrix_rank_bounded_prefix_value (ab)specialize matrix_rank_bounded_prefix_value (ac)specialize matrix_rank_bounded_prefix_value (L)specialize matrix_rank_bounded_prefix_value (p)specialize matrix_rank_bounded_prefix_value (0)specialize matrix_rank_bounded_prefix_value (x)apply matrix_rank_bounded_prefix_valueexact hd_right_leftrewrite hd_leftexists dsimpexact hd_right_right_witness_lefthave hi : exists k. (((~((x) = 0)) /\ ((((exists pfa_gap_normalization_exists_inversemultiplicationleft. pfa_gap_normalization_exists_inversemultiplicationleft + S (x) = (p)) /\ (((exists pfa_gap_normalization_exists_inversemultiplicationright. pfa_gap_normalization_exists_inversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_exists_inversemultiplicationresultbound. pfa_gap_normalization_exists_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_exists_inversemultiplicationresultcongruence pfa_offset_right_normalization_exists_inversemultiplicationresultcongruence. ((x) * (k)) + (p) * pfa_offset_left_normalization_exists_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_exists_inversemultiplicationresultcongruence))))))))))))specialize prime_field_inverse_exists (p)specialize prime_field_inverse_exists (x)apply prime_field_inverse_existsexact hpexact haexact hd_right_right_witness_rightcases hihave hc : ((~((x) = 0)) /\ ((((exists pfa_gap_normalization_exists_inverse_copymultiplicationleft. pfa_gap_normalization_exists_inverse_copymultiplicationleft + S (x) = (p)) /\ (((exists pfa_gap_normalization_exists_inverse_copymultiplicationright. pfa_gap_normalization_exists_inverse_copymultiplicationright + S (x1) = (p)) /\ ((((exists pfa_gap_normalization_exists_inverse_copymultiplicationresultbound. pfa_gap_normalization_exists_inverse_copymultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_exists_inverse_copymultiplicationresultcongruence pfa_offset_right_normalization_exists_inverse_copymultiplicationresultcongruence. ((x) * (x1)) + (p) * pfa_offset_left_normalization_exists_inverse_copymultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_exists_inverse_copymultiplicationresultcongruence)))))))))))exact hi_witnesscases hccases hc_rightcases hc_right_righthave hs : exists bb bc. (((exists pfa_gap_normalization_exists_scalescalar. pfa_gap_normalization_exists_scalescalar + S (x1) = (p)) /\ ((forall pfp_index_normalization_exists_scale. (exists pfa_gap_normalization_exists_scaleindex. pfa_gap_normalization_exists_scaleindex + S (pfp_index_normalization_exists_scale) = (L)) -> exists pfp_source_normalization_exists_scale pfp_value_normalization_exists_scale. ((((exists ff_h_pfp_normalization_exists_scalesource. ff_h_pfp_normalization_exists_scalesource + S (pfp_source_normalization_exists_scale) = S ((S (pfp_index_normalization_exists_scale)) * ac)) /\ exists ff_q_pfp_normalization_exists_scalesource. ab = ff_q_pfp_normalization_exists_scalesource * S ((S (pfp_index_normalization_exists_scale)) * ac) + (pfp_source_normalization_exists_scale))) /\ (((((exists ff_h_pfp_normalization_exists_scaletarget. ff_h_pfp_normalization_exists_scaletarget + S (pfp_value_normalization_exists_scale) = S ((S (pfp_index_normalization_exists_scale)) * bc)) /\ exists ff_q_pfp_normalization_exists_scaletarget. bb = ff_q_pfp_normalization_exists_scaletarget * S ((S (pfp_index_normalization_exists_scale)) * bc) + (pfp_value_normalization_exists_scale))) /\ ((((exists pfa_gap_normalization_exists_scaleoperationleft. pfa_gap_normalization_exists_scaleoperationleft + S (x1) = (p)) /\ (((exists pfa_gap_normalization_exists_scaleoperationright. pfa_gap_normalization_exists_scaleoperationright + S (pfp_source_normalization_exists_scale) = (p)) /\ ((((exists pfa_gap_normalization_exists_scaleoperationresultbound. pfa_gap_normalization_exists_scaleoperationresultbound + S (pfp_value_normalization_exists_scale) = (p)) /\ ((exists pfa_offset_left_normalization_exists_scaleoperationresultcongruence pfa_offset_right_normalization_exists_scaleoperationresultcongruence. ((x1) * (pfp_source_normalization_exists_scale)) + (p) * pfa_offset_left_normalization_exists_scaleoperationresultcongruence = (pfp_value_normalization_exists_scale) + (p) * pfa_offset_right_normalization_exists_scaleoperationresultcongruence)))))))))))))))))specialize prime_field_polynomial_scale_exists (p)specialize prime_field_polynomial_scale_exists (x1)specialize prime_field_polynomial_scale_exists (ab)specialize prime_field_polynomial_scale_exists (ac)specialize prime_field_polynomial_scale_exists (L)apply prime_field_polynomial_scale_existsintro hzspecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hzexact hc_right_right_leftexact hd_right_leftcases hscases hs_witnessexists x1exists x2exists x3splitintro hzspecialize succ_ne_zero (d)apply succ_ne_zerotrans Lsymmexact hd_leftexact hzsplitexists xsplitexact hd_right_right_witness_leftexact hi_witnessexact hs_witness_witness
prime_field_polynomial_monic_normalization_bounded · unchanged support, not a new admission
forall p k ab ac bb bc L. (((~((L) = 0)) /\ (((exists pfm_leading_normalization_bound_source. ((((exists ff_h_pfp_normalization_bound_sourcesource. ff_h_pfp_normalization_bound_sourcesource + S (pfm_leading_normalization_bound_source) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_bound_sourcesource. ab = ff_q_pfp_normalization_bound_sourcesource * S ((S (0)) * ac) + (pfm_leading_normalization_bound_source))) /\ ((((~((pfm_leading_normalization_bound_source) = 0)) /\ ((((exists pfa_gap_normalization_bound_sourceinversemultiplicationleft. pfa_gap_normalization_bound_sourceinversemultiplicationleft + S (pfm_leading_normalization_bound_source) = (p)) /\ (((exists pfa_gap_normalization_bound_sourceinversemultiplicationright. pfa_gap_normalization_bound_sourceinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_bound_sourceinversemultiplicationresultbound. pfa_gap_normalization_bound_sourceinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_bound_sourceinversemultiplicationresultcongruence pfa_offset_right_normalization_bound_sourceinversemultiplicationresultcongruence. ((pfm_leading_normalization_bound_source) * (k)) + (p) * pfa_offset_left_normalization_bound_sourceinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_bound_sourceinversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_bound_sourcescalescalar. pfa_gap_normalization_bound_sourcescalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_bound_sourcescale. (exists pfa_gap_normalization_bound_sourcescaleindex. pfa_gap_normalization_bound_sourcescaleindex + S (pfp_index_normalization_bound_sourcescale) = (L)) -> exists pfp_source_normalization_bound_sourcescale pfp_value_normalization_bound_sourcescale. ((((exists ff_h_pfp_normalization_bound_sourcescalesource. ff_h_pfp_normalization_bound_sourcescalesource + S (pfp_source_normalization_bound_sourcescale) = S ((S (pfp_index_normalization_bound_sourcescale)) * ac)) /\ exists ff_q_pfp_normalization_bound_sourcescalesource. ab = ff_q_pfp_normalization_bound_sourcescalesource * S ((S (pfp_index_normalization_bound_sourcescale)) * ac) + (pfp_source_normalization_bound_sourcescale))) /\ (((((exists ff_h_pfp_normalization_bound_sourcescaletarget. ff_h_pfp_normalization_bound_sourcescaletarget + S (pfp_value_normalization_bound_sourcescale) = S ((S (pfp_index_normalization_bound_sourcescale)) * bc)) /\ exists ff_q_pfp_normalization_bound_sourcescaletarget. bb = ff_q_pfp_normalization_bound_sourcescaletarget * S ((S (pfp_index_normalization_bound_sourcescale)) * bc) + (pfp_value_normalization_bound_sourcescale))) /\ ((((exists pfa_gap_normalization_bound_sourcescaleoperationleft. pfa_gap_normalization_bound_sourcescaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_bound_sourcescaleoperationright. pfa_gap_normalization_bound_sourcescaleoperationright + S (pfp_source_normalization_bound_sourcescale) = (p)) /\ ((((exists pfa_gap_normalization_bound_sourcescaleoperationresultbound. pfa_gap_normalization_bound_sourcescaleoperationresultbound + S (pfp_value_normalization_bound_sourcescale) = (p)) /\ ((exists pfa_offset_left_normalization_bound_sourcescaleoperationresultcongruence pfa_offset_right_normalization_bound_sourcescaleoperationresultcongruence. ((k) * (pfp_source_normalization_bound_sourcescale)) + (p) * pfa_offset_left_normalization_bound_sourcescaleoperationresultcongruence = (pfp_value_normalization_bound_sourcescale) + (p) * pfa_offset_right_normalization_bound_sourcescaleoperationresultcongruence)))))))))))))))))))))) -> (((exists pfa_gap_normalization_bound_scalar. pfa_gap_normalization_bound_scalar + S (k) = (p)) /\ (((forall fom_index_pfp_normalization_bound_input. (exists fom_gap_pfp_normalization_bound_input_index_bound. fom_gap_pfp_normalization_bound_input_index_bound + S (fom_index_pfp_normalization_bound_input) = L) -> exists fom_value_pfp_normalization_bound_input. ((((exists fom_beta_height_pfp_normalization_bound_input_entry. fom_beta_height_pfp_normalization_bound_input_entry + S (fom_value_pfp_normalization_bound_input) = S ((S (fom_index_pfp_normalization_bound_input)) * ac)) /\ exists fom_beta_quotient_pfp_normalization_bound_input_entry. ab = fom_beta_quotient_pfp_normalization_bound_input_entry * S ((S (fom_index_pfp_normalization_bound_input)) * ac) + (fom_value_pfp_normalization_bound_input))) /\ (exists fom_gap_pfp_normalization_bound_input_value_bound. fom_gap_pfp_normalization_bound_input_value_bound + S (fom_value_pfp_normalization_bound_input) = p))) /\ ((forall fom_index_pfp_normalization_bound_output. (exists fom_gap_pfp_normalization_bound_output_index_bound. fom_gap_pfp_normalization_bound_output_index_bound + S (fom_index_pfp_normalization_bound_output) = L) -> exists fom_value_pfp_normalization_bound_output. ((((exists fom_beta_height_pfp_normalization_bound_output_entry. fom_beta_height_pfp_normalization_bound_output_entry + S (fom_value_pfp_normalization_bound_output) = S ((S (fom_index_pfp_normalization_bound_output)) * bc)) /\ exists fom_beta_quotient_pfp_normalization_bound_output_entry. bb = fom_beta_quotient_pfp_normalization_bound_output_entry * S ((S (fom_index_pfp_normalization_bound_output)) * bc) + (fom_value_pfp_normalization_bound_output))) /\ (exists fom_gap_pfp_normalization_bound_output_value_bound. fom_gap_pfp_normalization_bound_output_value_bound + S (fom_value_pfp_normalization_bound_output) = p))))))))
intro pintro kintro abintro acintro bbintro bcintro Lintro hcases hcases h_righthave hs : ((exists pfa_gap_normalization_bound_scalescalar. pfa_gap_normalization_bound_scalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_bound_scale. (exists pfa_gap_normalization_bound_scaleindex. pfa_gap_normalization_bound_scaleindex + S (pfp_index_normalization_bound_scale) = (L)) -> exists pfp_source_normalization_bound_scale pfp_value_normalization_bound_scale. ((((exists ff_h_pfp_normalization_bound_scalesource. ff_h_pfp_normalization_bound_scalesource + S (pfp_source_normalization_bound_scale) = S ((S (pfp_index_normalization_bound_scale)) * ac)) /\ exists ff_q_pfp_normalization_bound_scalesource. ab = ff_q_pfp_normalization_bound_scalesource * S ((S (pfp_index_normalization_bound_scale)) * ac) + (pfp_source_normalization_bound_scale))) /\ (((((exists ff_h_pfp_normalization_bound_scaletarget. ff_h_pfp_normalization_bound_scaletarget + S (pfp_value_normalization_bound_scale) = S ((S (pfp_index_normalization_bound_scale)) * bc)) /\ exists ff_q_pfp_normalization_bound_scaletarget. bb = ff_q_pfp_normalization_bound_scaletarget * S ((S (pfp_index_normalization_bound_scale)) * bc) + (pfp_value_normalization_bound_scale))) /\ ((((exists pfa_gap_normalization_bound_scaleoperationleft. pfa_gap_normalization_bound_scaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_bound_scaleoperationright. pfa_gap_normalization_bound_scaleoperationright + S (pfp_source_normalization_bound_scale) = (p)) /\ ((((exists pfa_gap_normalization_bound_scaleoperationresultbound. pfa_gap_normalization_bound_scaleoperationresultbound + S (pfp_value_normalization_bound_scale) = (p)) /\ ((exists pfa_offset_left_normalization_bound_scaleoperationresultcongruence pfa_offset_right_normalization_bound_scaleoperationresultcongruence. ((k) * (pfp_source_normalization_bound_scale)) + (p) * pfa_offset_left_normalization_bound_scaleoperationresultcongruence = (pfp_value_normalization_bound_scale) + (p) * pfa_offset_right_normalization_bound_scaleoperationresultcongruence))))))))))))))))exact h_right_rightcases hssplitexact hs_leftspecialize prime_field_polynomial_scale_bounded (p)specialize prime_field_polynomial_scale_bounded (k)specialize prime_field_polynomial_scale_bounded (ab)specialize prime_field_polynomial_scale_bounded (ac)specialize prime_field_polynomial_scale_bounded (bb)specialize prime_field_polynomial_scale_bounded (bc)specialize prime_field_polynomial_scale_bounded (L)apply prime_field_polynomial_scale_boundedexact h_right_right
prime_field_polynomial_monic_normalization_entry · unchanged support, not a new admission
forall p k ab ac bb bc L i a r. (((~((L) = 0)) /\ (((exists pfm_leading_normalization_entry_source. ((((exists ff_h_pfp_normalization_entry_sourcesource. ff_h_pfp_normalization_entry_sourcesource + S (pfm_leading_normalization_entry_source) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_entry_sourcesource. ab = ff_q_pfp_normalization_entry_sourcesource * S ((S (0)) * ac) + (pfm_leading_normalization_entry_source))) /\ ((((~((pfm_leading_normalization_entry_source) = 0)) /\ ((((exists pfa_gap_normalization_entry_sourceinversemultiplicationleft. pfa_gap_normalization_entry_sourceinversemultiplicationleft + S (pfm_leading_normalization_entry_source) = (p)) /\ (((exists pfa_gap_normalization_entry_sourceinversemultiplicationright. pfa_gap_normalization_entry_sourceinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_entry_sourceinversemultiplicationresultbound. pfa_gap_normalization_entry_sourceinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_entry_sourceinversemultiplicationresultcongruence pfa_offset_right_normalization_entry_sourceinversemultiplicationresultcongruence. ((pfm_leading_normalization_entry_source) * (k)) + (p) * pfa_offset_left_normalization_entry_sourceinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_entry_sourceinversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_entry_sourcescalescalar. pfa_gap_normalization_entry_sourcescalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_entry_sourcescale. (exists pfa_gap_normalization_entry_sourcescaleindex. pfa_gap_normalization_entry_sourcescaleindex + S (pfp_index_normalization_entry_sourcescale) = (L)) -> exists pfp_source_normalization_entry_sourcescale pfp_value_normalization_entry_sourcescale. ((((exists ff_h_pfp_normalization_entry_sourcescalesource. ff_h_pfp_normalization_entry_sourcescalesource + S (pfp_source_normalization_entry_sourcescale) = S ((S (pfp_index_normalization_entry_sourcescale)) * ac)) /\ exists ff_q_pfp_normalization_entry_sourcescalesource. ab = ff_q_pfp_normalization_entry_sourcescalesource * S ((S (pfp_index_normalization_entry_sourcescale)) * ac) + (pfp_source_normalization_entry_sourcescale))) /\ (((((exists ff_h_pfp_normalization_entry_sourcescaletarget. ff_h_pfp_normalization_entry_sourcescaletarget + S (pfp_value_normalization_entry_sourcescale) = S ((S (pfp_index_normalization_entry_sourcescale)) * bc)) /\ exists ff_q_pfp_normalization_entry_sourcescaletarget. bb = ff_q_pfp_normalization_entry_sourcescaletarget * S ((S (pfp_index_normalization_entry_sourcescale)) * bc) + (pfp_value_normalization_entry_sourcescale))) /\ ((((exists pfa_gap_normalization_entry_sourcescaleoperationleft. pfa_gap_normalization_entry_sourcescaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_entry_sourcescaleoperationright. pfa_gap_normalization_entry_sourcescaleoperationright + S (pfp_source_normalization_entry_sourcescale) = (p)) /\ ((((exists pfa_gap_normalization_entry_sourcescaleoperationresultbound. pfa_gap_normalization_entry_sourcescaleoperationresultbound + S (pfp_value_normalization_entry_sourcescale) = (p)) /\ ((exists pfa_offset_left_normalization_entry_sourcescaleoperationresultcongruence pfa_offset_right_normalization_entry_sourcescaleoperationresultcongruence. ((k) * (pfp_source_normalization_entry_sourcescale)) + (p) * pfa_offset_left_normalization_entry_sourcescaleoperationresultcongruence = (pfp_value_normalization_entry_sourcescale) + (p) * pfa_offset_right_normalization_entry_sourcescaleoperationresultcongruence)))))))))))))))))))))) -> (exists pfa_gap_normalization_entry_bound. pfa_gap_normalization_entry_bound + S (i) = (L)) -> (((exists ff_h_pfp_normalization_entry_input. ff_h_pfp_normalization_entry_input + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_normalization_entry_input. ab = ff_q_pfp_normalization_entry_input * S ((S (i)) * ac) + (a))) -> (((exists ff_h_pfp_normalization_entry_output. ff_h_pfp_normalization_entry_output + S (r) = S ((S (i)) * bc)) /\ exists ff_q_pfp_normalization_entry_output. bb = ff_q_pfp_normalization_entry_output * S ((S (i)) * bc) + (r))) -> (((exists pfa_gap_normalization_entry_multiplyleft. pfa_gap_normalization_entry_multiplyleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_entry_multiplyright. pfa_gap_normalization_entry_multiplyright + S (a) = (p)) /\ ((((exists pfa_gap_normalization_entry_multiplyresultbound. pfa_gap_normalization_entry_multiplyresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_normalization_entry_multiplyresultcongruence pfa_offset_right_normalization_entry_multiplyresultcongruence. ((k) * (a)) + (p) * pfa_offset_left_normalization_entry_multiplyresultcongruence = (r) + (p) * pfa_offset_right_normalization_entry_multiplyresultcongruence)))))))))
intro pintro kintro abintro acintro bbintro bcintro Lintro iintro aintro rintro hintro hiintro haintro hrcases hcases h_rightspecialize prime_field_polynomial_scale_entry (p)specialize prime_field_polynomial_scale_entry (k)specialize prime_field_polynomial_scale_entry (ab)specialize prime_field_polynomial_scale_entry (ac)specialize prime_field_polynomial_scale_entry (bb)specialize prime_field_polynomial_scale_entry (bc)specialize prime_field_polynomial_scale_entry (L)specialize prime_field_polynomial_scale_entry (i)specialize prime_field_polynomial_scale_entry (a)specialize prime_field_polynomial_scale_entry (r)apply prime_field_polynomial_scale_entryexact h_right_rightexact hiexact haexact hr
prime_field_polynomial_monic_normalization_leading · unchanged support, not a new admission
forall p k ab ac bb bc L. (((~((L) = 0)) /\ (((exists pfm_leading_normalization_leading_source. ((((exists ff_h_pfp_normalization_leading_sourcesource. ff_h_pfp_normalization_leading_sourcesource + S (pfm_leading_normalization_leading_source) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_leading_sourcesource. ab = ff_q_pfp_normalization_leading_sourcesource * S ((S (0)) * ac) + (pfm_leading_normalization_leading_source))) /\ ((((~((pfm_leading_normalization_leading_source) = 0)) /\ ((((exists pfa_gap_normalization_leading_sourceinversemultiplicationleft. pfa_gap_normalization_leading_sourceinversemultiplicationleft + S (pfm_leading_normalization_leading_source) = (p)) /\ (((exists pfa_gap_normalization_leading_sourceinversemultiplicationright. pfa_gap_normalization_leading_sourceinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_leading_sourceinversemultiplicationresultbound. pfa_gap_normalization_leading_sourceinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_leading_sourceinversemultiplicationresultcongruence pfa_offset_right_normalization_leading_sourceinversemultiplicationresultcongruence. ((pfm_leading_normalization_leading_source) * (k)) + (p) * pfa_offset_left_normalization_leading_sourceinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_leading_sourceinversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_leading_sourcescalescalar. pfa_gap_normalization_leading_sourcescalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_leading_sourcescale. (exists pfa_gap_normalization_leading_sourcescaleindex. pfa_gap_normalization_leading_sourcescaleindex + S (pfp_index_normalization_leading_sourcescale) = (L)) -> exists pfp_source_normalization_leading_sourcescale pfp_value_normalization_leading_sourcescale. ((((exists ff_h_pfp_normalization_leading_sourcescalesource. ff_h_pfp_normalization_leading_sourcescalesource + S (pfp_source_normalization_leading_sourcescale) = S ((S (pfp_index_normalization_leading_sourcescale)) * ac)) /\ exists ff_q_pfp_normalization_leading_sourcescalesource. ab = ff_q_pfp_normalization_leading_sourcescalesource * S ((S (pfp_index_normalization_leading_sourcescale)) * ac) + (pfp_source_normalization_leading_sourcescale))) /\ (((((exists ff_h_pfp_normalization_leading_sourcescaletarget. ff_h_pfp_normalization_leading_sourcescaletarget + S (pfp_value_normalization_leading_sourcescale) = S ((S (pfp_index_normalization_leading_sourcescale)) * bc)) /\ exists ff_q_pfp_normalization_leading_sourcescaletarget. bb = ff_q_pfp_normalization_leading_sourcescaletarget * S ((S (pfp_index_normalization_leading_sourcescale)) * bc) + (pfp_value_normalization_leading_sourcescale))) /\ ((((exists pfa_gap_normalization_leading_sourcescaleoperationleft. pfa_gap_normalization_leading_sourcescaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_leading_sourcescaleoperationright. pfa_gap_normalization_leading_sourcescaleoperationright + S (pfp_source_normalization_leading_sourcescale) = (p)) /\ ((((exists pfa_gap_normalization_leading_sourcescaleoperationresultbound. pfa_gap_normalization_leading_sourcescaleoperationresultbound + S (pfp_value_normalization_leading_sourcescale) = (p)) /\ ((exists pfa_offset_left_normalization_leading_sourcescaleoperationresultcongruence pfa_offset_right_normalization_leading_sourcescaleoperationresultcongruence. ((k) * (pfp_source_normalization_leading_sourcescale)) + (p) * pfa_offset_left_normalization_leading_sourcescaleoperationresultcongruence = (pfp_value_normalization_leading_sourcescale) + (p) * pfa_offset_right_normalization_leading_sourcescaleoperationresultcongruence)))))))))))))))))))))) -> (((exists ff_h_pfp_normalization_leading_result. ff_h_pfp_normalization_leading_result + S (1) = S ((S (0)) * bc)) /\ exists ff_q_pfp_normalization_leading_result. bb = ff_q_pfp_normalization_leading_result * S ((S (0)) * bc) + (1)))
intro pintro kintro abintro acintro bbintro bcintro Lintro hhave hc : ((~((L) = 0)) /\ (((exists pfm_leading_normalization_leading_copy. ((((exists ff_h_pfp_normalization_leading_copysource. ff_h_pfp_normalization_leading_copysource + S (pfm_leading_normalization_leading_copy) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_leading_copysource. ab = ff_q_pfp_normalization_leading_copysource * S ((S (0)) * ac) + (pfm_leading_normalization_leading_copy))) /\ ((((~((pfm_leading_normalization_leading_copy) = 0)) /\ ((((exists pfa_gap_normalization_leading_copyinversemultiplicationleft. pfa_gap_normalization_leading_copyinversemultiplicationleft + S (pfm_leading_normalization_leading_copy) = (p)) /\ (((exists pfa_gap_normalization_leading_copyinversemultiplicationright. pfa_gap_normalization_leading_copyinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_leading_copyinversemultiplicationresultbound. pfa_gap_normalization_leading_copyinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_leading_copyinversemultiplicationresultcongruence pfa_offset_right_normalization_leading_copyinversemultiplicationresultcongruence. ((pfm_leading_normalization_leading_copy) * (k)) + (p) * pfa_offset_left_normalization_leading_copyinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_leading_copyinversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_leading_copyscalescalar. pfa_gap_normalization_leading_copyscalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_leading_copyscale. (exists pfa_gap_normalization_leading_copyscaleindex. pfa_gap_normalization_leading_copyscaleindex + S (pfp_index_normalization_leading_copyscale) = (L)) -> exists pfp_source_normalization_leading_copyscale pfp_value_normalization_leading_copyscale. ((((exists ff_h_pfp_normalization_leading_copyscalesource. ff_h_pfp_normalization_leading_copyscalesource + S (pfp_source_normalization_leading_copyscale) = S ((S (pfp_index_normalization_leading_copyscale)) * ac)) /\ exists ff_q_pfp_normalization_leading_copyscalesource. ab = ff_q_pfp_normalization_leading_copyscalesource * S ((S (pfp_index_normalization_leading_copyscale)) * ac) + (pfp_source_normalization_leading_copyscale))) /\ (((((exists ff_h_pfp_normalization_leading_copyscaletarget. ff_h_pfp_normalization_leading_copyscaletarget + S (pfp_value_normalization_leading_copyscale) = S ((S (pfp_index_normalization_leading_copyscale)) * bc)) /\ exists ff_q_pfp_normalization_leading_copyscaletarget. bb = ff_q_pfp_normalization_leading_copyscaletarget * S ((S (pfp_index_normalization_leading_copyscale)) * bc) + (pfp_value_normalization_leading_copyscale))) /\ ((((exists pfa_gap_normalization_leading_copyscaleoperationleft. pfa_gap_normalization_leading_copyscaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_leading_copyscaleoperationright. pfa_gap_normalization_leading_copyscaleoperationright + S (pfp_source_normalization_leading_copyscale) = (p)) /\ ((((exists pfa_gap_normalization_leading_copyscaleoperationresultbound. pfa_gap_normalization_leading_copyscaleoperationresultbound + S (pfp_value_normalization_leading_copyscale) = (p)) /\ ((exists pfa_offset_left_normalization_leading_copyscaleoperationresultcongruence pfa_offset_right_normalization_leading_copyscaleoperationresultcongruence. ((k) * (pfp_source_normalization_leading_copyscale)) + (p) * pfa_offset_left_normalization_leading_copyscaleoperationresultcongruence = (pfp_value_normalization_leading_copyscale) + (p) * pfa_offset_right_normalization_leading_copyscaleoperationresultcongruence)))))))))))))))))))))exact hcases hccases hc_rightcases hc_right_leftcases hc_right_left_witnesscases hc_right_left_witness_righthave hzero : exists pfa_gap_normalization_leading_index. pfa_gap_normalization_leading_index + S (0) = (L)specialize one_le_of_ne_zero (L)apply one_le_of_ne_zeroexact hc_lefthave hr : exists r. (((exists ff_h_pfp_normalization_leading_decoding. ff_h_pfp_normalization_leading_decoding + S (r) = S ((S (0)) * bc)) /\ exists ff_q_pfp_normalization_leading_decoding. bb = ff_q_pfp_normalization_leading_decoding * S ((S (0)) * bc) + (r)))specialize beta_at_exists (bb)specialize beta_at_exists (bc)specialize beta_at_exists (0)apply beta_at_existscases hrhave hm : ((exists pfa_gap_normalization_leading_scaledleft. pfa_gap_normalization_leading_scaledleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_leading_scaledright. pfa_gap_normalization_leading_scaledright + S (x) = (p)) /\ ((((exists pfa_gap_normalization_leading_scaledresultbound. pfa_gap_normalization_leading_scaledresultbound + S (x1) = (p)) /\ ((exists pfa_offset_left_normalization_leading_scaledresultcongruence pfa_offset_right_normalization_leading_scaledresultcongruence. ((k) * (x)) + (p) * pfa_offset_left_normalization_leading_scaledresultcongruence = (x1) + (p) * pfa_offset_right_normalization_leading_scaledresultcongruence))))))))specialize prime_field_polynomial_monic_normalization_entry (p)specialize prime_field_polynomial_monic_normalization_entry (k)specialize prime_field_polynomial_monic_normalization_entry (ab)specialize prime_field_polynomial_monic_normalization_entry (ac)specialize prime_field_polynomial_monic_normalization_entry (bb)specialize prime_field_polynomial_monic_normalization_entry (bc)specialize prime_field_polynomial_monic_normalization_entry (L)specialize prime_field_polynomial_monic_normalization_entry (0)specialize prime_field_polynomial_monic_normalization_entry (x)specialize prime_field_polynomial_monic_normalization_entry (x1)apply prime_field_polynomial_monic_normalization_entryexact hexact hzeroexact hc_right_left_witness_leftexact hr_witnesshave hu : ((exists pfa_gap_normalization_leading_unitleft. pfa_gap_normalization_leading_unitleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_leading_unitright. pfa_gap_normalization_leading_unitright + S (x) = (p)) /\ ((((exists pfa_gap_normalization_leading_unitresultbound. pfa_gap_normalization_leading_unitresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_leading_unitresultcongruence pfa_offset_right_normalization_leading_unitresultcongruence. ((k) * (x)) + (p) * pfa_offset_left_normalization_leading_unitresultcongruence = (1) + (p) * pfa_offset_right_normalization_leading_unitresultcongruence))))))))specialize prime_field_multiply_commutative (p)specialize prime_field_multiply_commutative (x)specialize prime_field_multiply_commutative (k)specialize prime_field_multiply_commutative (1)apply prime_field_multiply_commutativeexact hc_right_left_witness_right_righthave he : x1=1specialize prime_field_multiply_functional (p)specialize prime_field_multiply_functional (k)specialize prime_field_multiply_functional (x)specialize prime_field_multiply_functional (x1)specialize prime_field_multiply_functional (1)apply prime_field_multiply_functionalexact hmexact hurewrite he at hr_witnessrewrite he at hr_witnessexact hr_witness
prime_field_polynomial_monic_normalization_monic · unchanged support, not a new admission
forall p k ab ac bb bc L. (((~((L) = 0)) /\ (((exists pfm_leading_normalization_monic_source. ((((exists ff_h_pfp_normalization_monic_sourcesource. ff_h_pfp_normalization_monic_sourcesource + S (pfm_leading_normalization_monic_source) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_monic_sourcesource. ab = ff_q_pfp_normalization_monic_sourcesource * S ((S (0)) * ac) + (pfm_leading_normalization_monic_source))) /\ ((((~((pfm_leading_normalization_monic_source) = 0)) /\ ((((exists pfa_gap_normalization_monic_sourceinversemultiplicationleft. pfa_gap_normalization_monic_sourceinversemultiplicationleft + S (pfm_leading_normalization_monic_source) = (p)) /\ (((exists pfa_gap_normalization_monic_sourceinversemultiplicationright. pfa_gap_normalization_monic_sourceinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_monic_sourceinversemultiplicationresultbound. pfa_gap_normalization_monic_sourceinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_monic_sourceinversemultiplicationresultcongruence pfa_offset_right_normalization_monic_sourceinversemultiplicationresultcongruence. ((pfm_leading_normalization_monic_source) * (k)) + (p) * pfa_offset_left_normalization_monic_sourceinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_monic_sourceinversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_monic_sourcescalescalar. pfa_gap_normalization_monic_sourcescalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_monic_sourcescale. (exists pfa_gap_normalization_monic_sourcescaleindex. pfa_gap_normalization_monic_sourcescaleindex + S (pfp_index_normalization_monic_sourcescale) = (L)) -> exists pfp_source_normalization_monic_sourcescale pfp_value_normalization_monic_sourcescale. ((((exists ff_h_pfp_normalization_monic_sourcescalesource. ff_h_pfp_normalization_monic_sourcescalesource + S (pfp_source_normalization_monic_sourcescale) = S ((S (pfp_index_normalization_monic_sourcescale)) * ac)) /\ exists ff_q_pfp_normalization_monic_sourcescalesource. ab = ff_q_pfp_normalization_monic_sourcescalesource * S ((S (pfp_index_normalization_monic_sourcescale)) * ac) + (pfp_source_normalization_monic_sourcescale))) /\ (((((exists ff_h_pfp_normalization_monic_sourcescaletarget. ff_h_pfp_normalization_monic_sourcescaletarget + S (pfp_value_normalization_monic_sourcescale) = S ((S (pfp_index_normalization_monic_sourcescale)) * bc)) /\ exists ff_q_pfp_normalization_monic_sourcescaletarget. bb = ff_q_pfp_normalization_monic_sourcescaletarget * S ((S (pfp_index_normalization_monic_sourcescale)) * bc) + (pfp_value_normalization_monic_sourcescale))) /\ ((((exists pfa_gap_normalization_monic_sourcescaleoperationleft. pfa_gap_normalization_monic_sourcescaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_monic_sourcescaleoperationright. pfa_gap_normalization_monic_sourcescaleoperationright + S (pfp_source_normalization_monic_sourcescale) = (p)) /\ ((((exists pfa_gap_normalization_monic_sourcescaleoperationresultbound. pfa_gap_normalization_monic_sourcescaleoperationresultbound + S (pfp_value_normalization_monic_sourcescale) = (p)) /\ ((exists pfa_offset_left_normalization_monic_sourcescaleoperationresultcongruence pfa_offset_right_normalization_monic_sourcescaleoperationresultcongruence. ((k) * (pfp_source_normalization_monic_sourcescale)) + (p) * pfa_offset_left_normalization_monic_sourcescaleoperationresultcongruence = (pfp_value_normalization_monic_sourcescale) + (p) * pfa_offset_right_normalization_monic_sourcescaleoperationresultcongruence)))))))))))))))))))))) -> (((~((L) = 0)) /\ (((forall fom_index_pfp_normalization_monic_resultcoefficients. (exists fom_gap_pfp_normalization_monic_resultcoefficients_index_bound. fom_gap_pfp_normalization_monic_resultcoefficients_index_bound + S (fom_index_pfp_normalization_monic_resultcoefficients) = L) -> exists fom_value_pfp_normalization_monic_resultcoefficients. ((((exists fom_beta_height_pfp_normalization_monic_resultcoefficients_entry. fom_beta_height_pfp_normalization_monic_resultcoefficients_entry + S (fom_value_pfp_normalization_monic_resultcoefficients) = S ((S (fom_index_pfp_normalization_monic_resultcoefficients)) * bc)) /\ exists fom_beta_quotient_pfp_normalization_monic_resultcoefficients_entry. bb = fom_beta_quotient_pfp_normalization_monic_resultcoefficients_entry * S ((S (fom_index_pfp_normalization_monic_resultcoefficients)) * bc) + (fom_value_pfp_normalization_monic_resultcoefficients))) /\ (exists fom_gap_pfp_normalization_monic_resultcoefficients_value_bound. fom_gap_pfp_normalization_monic_resultcoefficients_value_bound + S (fom_value_pfp_normalization_monic_resultcoefficients) = p))) /\ ((((exists ff_h_pfp_normalization_monic_resultleading. ff_h_pfp_normalization_monic_resultleading + S (1) = S ((S (0)) * bc)) /\ exists ff_q_pfp_normalization_monic_resultleading. bb = ff_q_pfp_normalization_monic_resultleading * S ((S (0)) * bc) + (1))))))))
intro pintro kintro abintro acintro bbintro bcintro Lintro hhave hc : ((~((L) = 0)) /\ (((exists pfm_leading_normalization_monic_copy. ((((exists ff_h_pfp_normalization_monic_copysource. ff_h_pfp_normalization_monic_copysource + S (pfm_leading_normalization_monic_copy) = S ((S (0)) * ac)) /\ exists ff_q_pfp_normalization_monic_copysource. ab = ff_q_pfp_normalization_monic_copysource * S ((S (0)) * ac) + (pfm_leading_normalization_monic_copy))) /\ ((((~((pfm_leading_normalization_monic_copy) = 0)) /\ ((((exists pfa_gap_normalization_monic_copyinversemultiplicationleft. pfa_gap_normalization_monic_copyinversemultiplicationleft + S (pfm_leading_normalization_monic_copy) = (p)) /\ (((exists pfa_gap_normalization_monic_copyinversemultiplicationright. pfa_gap_normalization_monic_copyinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_normalization_monic_copyinversemultiplicationresultbound. pfa_gap_normalization_monic_copyinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_normalization_monic_copyinversemultiplicationresultcongruence pfa_offset_right_normalization_monic_copyinversemultiplicationresultcongruence. ((pfm_leading_normalization_monic_copy) * (k)) + (p) * pfa_offset_left_normalization_monic_copyinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_normalization_monic_copyinversemultiplicationresultcongruence))))))))))))))) /\ ((((exists pfa_gap_normalization_monic_copyscalescalar. pfa_gap_normalization_monic_copyscalescalar + S (k) = (p)) /\ ((forall pfp_index_normalization_monic_copyscale. (exists pfa_gap_normalization_monic_copyscaleindex. pfa_gap_normalization_monic_copyscaleindex + S (pfp_index_normalization_monic_copyscale) = (L)) -> exists pfp_source_normalization_monic_copyscale pfp_value_normalization_monic_copyscale. ((((exists ff_h_pfp_normalization_monic_copyscalesource. ff_h_pfp_normalization_monic_copyscalesource + S (pfp_source_normalization_monic_copyscale) = S ((S (pfp_index_normalization_monic_copyscale)) * ac)) /\ exists ff_q_pfp_normalization_monic_copyscalesource. ab = ff_q_pfp_normalization_monic_copyscalesource * S ((S (pfp_index_normalization_monic_copyscale)) * ac) + (pfp_source_normalization_monic_copyscale))) /\ (((((exists ff_h_pfp_normalization_monic_copyscaletarget. ff_h_pfp_normalization_monic_copyscaletarget + S (pfp_value_normalization_monic_copyscale) = S ((S (pfp_index_normalization_monic_copyscale)) * bc)) /\ exists ff_q_pfp_normalization_monic_copyscaletarget. bb = ff_q_pfp_normalization_monic_copyscaletarget * S ((S (pfp_index_normalization_monic_copyscale)) * bc) + (pfp_value_normalization_monic_copyscale))) /\ ((((exists pfa_gap_normalization_monic_copyscaleoperationleft. pfa_gap_normalization_monic_copyscaleoperationleft + S (k) = (p)) /\ (((exists pfa_gap_normalization_monic_copyscaleoperationright. pfa_gap_normalization_monic_copyscaleoperationright + S (pfp_source_normalization_monic_copyscale) = (p)) /\ ((((exists pfa_gap_normalization_monic_copyscaleoperationresultbound. pfa_gap_normalization_monic_copyscaleoperationresultbound + S (pfp_value_normalization_monic_copyscale) = (p)) /\ ((exists pfa_offset_left_normalization_monic_copyscaleoperationresultcongruence pfa_offset_right_normalization_monic_copyscaleoperationresultcongruence. ((k) * (pfp_source_normalization_monic_copyscale)) + (p) * pfa_offset_left_normalization_monic_copyscaleoperationresultcongruence = (pfp_value_normalization_monic_copyscale) + (p) * pfa_offset_right_normalization_monic_copyscaleoperationresultcongruence)))))))))))))))))))))exact hcases hccases hc_rightsplitexact hc_leftsplithave hb : ((exists pfa_gap_normalization_bound_scalar. pfa_gap_normalization_bound_scalar + S (k) = (p)) /\ (((forall fom_index_pfp_normalization_bound_input. (exists fom_gap_pfp_normalization_bound_input_index_bound. fom_gap_pfp_normalization_bound_input_index_bound + S (fom_index_pfp_normalization_bound_input) = L) -> exists fom_value_pfp_normalization_bound_input. ((((exists fom_beta_height_pfp_normalization_bound_input_entry. fom_beta_height_pfp_normalization_bound_input_entry + S (fom_value_pfp_normalization_bound_input) = S ((S (fom_index_pfp_normalization_bound_input)) * ac)) /\ exists fom_beta_quotient_pfp_normalization_bound_input_entry. ab = fom_beta_quotient_pfp_normalization_bound_input_entry * S ((S (fom_index_pfp_normalization_bound_input)) * ac) + (fom_value_pfp_normalization_bound_input))) /\ (exists fom_gap_pfp_normalization_bound_input_value_bound. fom_gap_pfp_normalization_bound_input_value_bound + S (fom_value_pfp_normalization_bound_input) = p))) /\ ((forall fom_index_pfp_normalization_bound_output. (exists fom_gap_pfp_normalization_bound_output_index_bound. fom_gap_pfp_normalization_bound_output_index_bound + S (fom_index_pfp_normalization_bound_output) = L) -> exists fom_value_pfp_normalization_bound_output. ((((exists fom_beta_height_pfp_normalization_bound_output_entry. fom_beta_height_pfp_normalization_bound_output_entry + S (fom_value_pfp_normalization_bound_output) = S ((S (fom_index_pfp_normalization_bound_output)) * bc)) /\ exists fom_beta_quotient_pfp_normalization_bound_output_entry. bb = fom_beta_quotient_pfp_normalization_bound_output_entry * S ((S (fom_index_pfp_normalization_bound_output)) * bc) + (fom_value_pfp_normalization_bound_output))) /\ (exists fom_gap_pfp_normalization_bound_output_value_bound. fom_gap_pfp_normalization_bound_output_value_bound + S (fom_value_pfp_normalization_bound_output) = p)))))))specialize prime_field_polynomial_monic_normalization_bounded (p)specialize prime_field_polynomial_monic_normalization_bounded (k)specialize prime_field_polynomial_monic_normalization_bounded (ab)specialize prime_field_polynomial_monic_normalization_bounded (ac)specialize prime_field_polynomial_monic_normalization_bounded (bb)specialize prime_field_polynomial_monic_normalization_bounded (bc)specialize prime_field_polynomial_monic_normalization_bounded (L)apply prime_field_polynomial_monic_normalization_boundedexact hcases hbcases hb_rightexact hb_right_rightspecialize prime_field_polynomial_monic_normalization_leading (p)specialize prime_field_polynomial_monic_normalization_leading (k)specialize prime_field_polynomial_monic_normalization_leading (ab)specialize prime_field_polynomial_monic_normalization_leading (ac)specialize prime_field_polynomial_monic_normalization_leading (bb)specialize prime_field_polynomial_monic_normalization_leading (bc)specialize prime_field_polynomial_monic_normalization_leading (L)apply prime_field_polynomial_monic_normalization_leadingexact h
prime_field_polynomial_add_zero_right · unchanged support, not a new admission
forall p b c zb zc l. (~((p) = 1) /\ forall pfa_factor_left_add_zero_prime pfa_factor_right_add_zero_prime. (p) = pfa_factor_left_add_zero_prime * pfa_factor_right_add_zero_prime -> pfa_factor_left_add_zero_prime = 1 \/ pfa_factor_right_add_zero_prime = 1) -> (forall fom_index_pfp_add_zero_coefficients. (exists fom_gap_pfp_add_zero_coefficients_index_bound. fom_gap_pfp_add_zero_coefficients_index_bound + S (fom_index_pfp_add_zero_coefficients) = l) -> exists fom_value_pfp_add_zero_coefficients. ((((exists fom_beta_height_pfp_add_zero_coefficients_entry. fom_beta_height_pfp_add_zero_coefficients_entry + S (fom_value_pfp_add_zero_coefficients) = S ((S (fom_index_pfp_add_zero_coefficients)) * c)) /\ exists fom_beta_quotient_pfp_add_zero_coefficients_entry. b = fom_beta_quotient_pfp_add_zero_coefficients_entry * S ((S (fom_index_pfp_add_zero_coefficients)) * c) + (fom_value_pfp_add_zero_coefficients))) /\ (exists fom_gap_pfp_add_zero_coefficients_value_bound. fom_gap_pfp_add_zero_coefficients_value_bound + S (fom_value_pfp_add_zero_coefficients) = p))) -> (forall pfp_repeat_index_add_zero_table. (exists pfa_gap_add_zero_tableindex. pfa_gap_add_zero_tableindex + S (pfp_repeat_index_add_zero_table) = (l)) -> (((exists ff_h_pfp_add_zero_tableentry. ff_h_pfp_add_zero_tableentry + S (0) = S ((S (pfp_repeat_index_add_zero_table)) * zc)) /\ exists ff_q_pfp_add_zero_tableentry. zb = ff_q_pfp_add_zero_tableentry * S ((S (pfp_repeat_index_add_zero_table)) * zc) + (0)))) -> (forall pfp_index_add_zero_result. (exists pfa_gap_add_zero_resultindex. pfa_gap_add_zero_resultindex + S (pfp_index_add_zero_result) = (l)) -> exists pfp_left_add_zero_result pfp_right_add_zero_result pfp_value_add_zero_result. ((((exists ff_h_pfp_add_zero_resultleft. ff_h_pfp_add_zero_resultleft + S (pfp_left_add_zero_result) = S ((S (pfp_index_add_zero_result)) * c)) /\ exists ff_q_pfp_add_zero_resultleft. b = ff_q_pfp_add_zero_resultleft * S ((S (pfp_index_add_zero_result)) * c) + (pfp_left_add_zero_result))) /\ (((((exists ff_h_pfp_add_zero_resultright. ff_h_pfp_add_zero_resultright + S (pfp_right_add_zero_result) = S ((S (pfp_index_add_zero_result)) * zc)) /\ exists ff_q_pfp_add_zero_resultright. zb = ff_q_pfp_add_zero_resultright * S ((S (pfp_index_add_zero_result)) * zc) + (pfp_right_add_zero_result))) /\ (((((exists ff_h_pfp_add_zero_resulttarget. ff_h_pfp_add_zero_resulttarget + S (pfp_value_add_zero_result) = S ((S (pfp_index_add_zero_result)) * c)) /\ exists ff_q_pfp_add_zero_resulttarget. b = ff_q_pfp_add_zero_resulttarget * S ((S (pfp_index_add_zero_result)) * c) + (pfp_value_add_zero_result))) /\ ((((exists pfa_gap_add_zero_resultoperationleft. pfa_gap_add_zero_resultoperationleft + S (pfp_left_add_zero_result) = (p)) /\ (((exists pfa_gap_add_zero_resultoperationright. pfa_gap_add_zero_resultoperationright + S (pfp_right_add_zero_result) = (p)) /\ ((((exists pfa_gap_add_zero_resultoperationresultbound. pfa_gap_add_zero_resultoperationresultbound + S (pfp_value_add_zero_result) = (p)) /\ ((exists pfa_offset_left_add_zero_resultoperationresultcongruence pfa_offset_right_add_zero_resultoperationresultcongruence. ((pfp_left_add_zero_result) + (pfp_right_add_zero_result)) + (p) * pfa_offset_left_add_zero_resultoperationresultcongruence = (pfp_value_add_zero_result) + (p) * pfa_offset_right_add_zero_resultoperationresultcongruence))))))))))))))))
intro pintro bintro cintro zbintro zcintro lintro hpintro hcintro hzintro iintro hihave ha : exists a. ((((exists ff_h_pfp_add_zero_chosen. ff_h_pfp_add_zero_chosen + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_add_zero_chosen. b = ff_q_pfp_add_zero_chosen * S ((S (i)) * c) + (a))) /\ ((exists pfa_gap_add_zero_bound. pfa_gap_add_zero_bound + S (a) = (p))))specialize hc (i)apply hcexact hicases hacases ha_witnessexists xexists 0exists xsplitexact ha_witness_leftsplitspecialize hz (i)apply hzexact hisplitexact ha_witness_leftspecialize prime_field_add_zero_right (p)specialize prime_field_add_zero_right (x)apply prime_field_add_zero_rightexact hpexact ha_witness_right
prime_field_polynomial_trim_length_bounds · unchanged support, not a new admission
forall p b c L t d e M. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_trim_length_sourceinput. (exists fom_gap_pfp_trim_length_sourceinput_index_bound. fom_gap_pfp_trim_length_sourceinput_index_bound + S (fom_index_pfp_trim_length_sourceinput) = L) -> exists fom_value_pfp_trim_length_sourceinput. ((((exists fom_beta_height_pfp_trim_length_sourceinput_entry. fom_beta_height_pfp_trim_length_sourceinput_entry + S (fom_value_pfp_trim_length_sourceinput) = S ((S (fom_index_pfp_trim_length_sourceinput)) * c)) /\ exists fom_beta_quotient_pfp_trim_length_sourceinput_entry. b = fom_beta_quotient_pfp_trim_length_sourceinput_entry * S ((S (fom_index_pfp_trim_length_sourceinput)) * c) + (fom_value_pfp_trim_length_sourceinput))) /\ (exists fom_gap_pfp_trim_length_sourceinput_value_bound. fom_gap_pfp_trim_length_sourceinput_value_bound + S (fom_value_pfp_trim_length_sourceinput) = p))) /\ (((forall pfp_repeat_index_trim_length_sourceremoved. (exists pfa_gap_trim_length_sourceremovedindex. pfa_gap_trim_length_sourceremovedindex + S (pfp_repeat_index_trim_length_sourceremoved) = (t)) -> (((exists ff_h_pfp_trim_length_sourceremovedentry. ff_h_pfp_trim_length_sourceremovedentry + S (0) = S ((S (pfp_repeat_index_trim_length_sourceremoved)) * c)) /\ exists ff_q_pfp_trim_length_sourceremovedentry. b = ff_q_pfp_trim_length_sourceremovedentry * S ((S (pfp_repeat_index_trim_length_sourceremoved)) * c) + (0)))) /\ (((forall pftrim_index_trim_length_sourcesuffix pftrim_value_trim_length_sourcesuffix. (exists pfa_gap_trim_length_sourcesuffixbound. pfa_gap_trim_length_sourcesuffixbound + S (pftrim_index_trim_length_sourcesuffix) = (M)) -> (((exists ff_h_pfp_trim_length_sourcesuffixsource. ff_h_pfp_trim_length_sourcesuffixsource + S (pftrim_value_trim_length_sourcesuffix) = S ((S ((t)+pftrim_index_trim_length_sourcesuffix)) * c)) /\ exists ff_q_pfp_trim_length_sourcesuffixsource. b = ff_q_pfp_trim_length_sourcesuffixsource * S ((S ((t)+pftrim_index_trim_length_sourcesuffix)) * c) + (pftrim_value_trim_length_sourcesuffix))) -> (((exists ff_h_pfp_trim_length_sourcesuffixoutput. ff_h_pfp_trim_length_sourcesuffixoutput + S (pftrim_value_trim_length_sourcesuffix) = S ((S (pftrim_index_trim_length_sourcesuffix)) * e)) /\ exists ff_q_pfp_trim_length_sourcesuffixoutput. d = ff_q_pfp_trim_length_sourcesuffixoutput * S ((S (pftrim_index_trim_length_sourcesuffix)) * e) + (pftrim_value_trim_length_sourcesuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_trim_length_sourcenormal. ((((exists ff_h_pfp_trim_length_sourcenormalentry. ff_h_pfp_trim_length_sourcenormalentry + S (pftrim_leading_trim_length_sourcenormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_trim_length_sourcenormalentry. d = ff_q_pfp_trim_length_sourcenormalentry * S ((S (0)) * e) + (pftrim_leading_trim_length_sourcenormal))) /\ ((~(pftrim_leading_trim_length_sourcenormal=0))))))))))))))) -> ((exists pftrim_gap_removed_bound. pftrim_gap_removed_bound+(t)=(L)) /\ ((exists pftrim_gap_retained_bound. pftrim_gap_retained_bound+(M)=(L))))
intro pintro bintro cintro Lintro tintro dintro eintro Mintro hcases hcases h_rightcases h_right_rightcases h_right_right_rightsplitexists Mtrans t+Mapply add_commsymmexact h_leftexists tsymmexact h_left
polynomial_quotient_length_exists · unchanged support, not a new admission
forall L d. exists q. (((((q)=0) /\ ((exists pfc_gap_division_length_existsshort. pfc_gap_division_length_existsshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L))))))
intro Lintro dhave horder : (exists pfc_gap_division_length_short. pfc_gap_division_length_short+(L)=(d)) \/ (exists pfa_gap_division_length_long. pfa_gap_division_length_long + S (d) = (L))specialize le_or_lt (L)specialize le_or_lt (d)apply le_or_ltcases horderexists 0leftsplitreflexact horder_leftcases horder_rightexists S xrightsplitintro hzspecialize succ_ne_zero (x)apply succ_ne_zeroexact hztrans x+S dsimp [add_succ_left]exact horder_right_witness
prime_field_polynomial_quotient_prefix_empty · unchanged support, not a new admission
forall p k ab ac bb bc M qb qc. forall pfd_index_division_empty. (exists pfa_gap_division_emptybound. pfa_gap_division_emptybound + S (pfd_index_division_empty) = (0)) -> exists pfd_value_division_empty. ((((exists ff_h_pfp_division_emptyentry. ff_h_pfp_division_emptyentry + S (pfd_value_division_empty) = S ((S (pfd_index_division_empty)) * qc)) /\ exists ff_q_pfp_division_emptyentry. qb = ff_q_pfp_division_emptyentry * S ((S (pfd_index_division_empty)) * qc) + (pfd_value_division_empty))) /\ ((exists pfd_input_division_emptystep pfd_previous_division_emptystep pfd_difference_division_emptystep. ((((exists ff_h_pfp_division_emptystepinput. ff_h_pfp_division_emptystepinput + S (pfd_input_division_emptystep) = S ((S (pfd_index_division_empty)) * ac)) /\ exists ff_q_pfp_division_emptystepinput. ab = ff_q_pfp_division_emptystepinput * S ((S (pfd_index_division_empty)) * ac) + (pfd_input_division_emptystep))) /\ (((exists pfc_terms_code_division_emptystepprevious pfc_terms_scale_division_emptystepprevious pfc_natural_sum_division_emptystepprevious. ((forall pfc_index_division_emptysteppreviousdiagonal. (exists pfa_gap_division_emptysteppreviousdiagonalbound. pfa_gap_division_emptysteppreviousdiagonalbound + S (pfc_index_division_emptysteppreviousdiagonal) = (S (pfd_index_division_empty))) -> exists pfc_value_division_emptysteppreviousdiagonal. ((((exists ff_h_pfp_division_emptysteppreviousdiagonalentry. ff_h_pfp_division_emptysteppreviousdiagonalentry + S (pfc_value_division_emptysteppreviousdiagonal) = S ((S (pfc_index_division_emptysteppreviousdiagonal)) * pfc_terms_scale_division_emptystepprevious)) /\ exists ff_q_pfp_division_emptysteppreviousdiagonalentry. pfc_terms_code_division_emptystepprevious = ff_q_pfp_division_emptysteppreviousdiagonalentry * S ((S (pfc_index_division_emptysteppreviousdiagonal)) * pfc_terms_scale_division_emptystepprevious) + (pfc_value_division_emptysteppreviousdiagonal))) /\ ((exists pfc_complement_division_emptysteppreviousdiagonalterm pfc_left_division_emptysteppreviousdiagonalterm pfc_right_division_emptysteppreviousdiagonalterm. (((pfc_index_division_emptysteppreviousdiagonal)+pfc_complement_division_emptysteppreviousdiagonalterm=(pfd_index_division_empty)) /\ ((((((exists pfa_gap_division_emptysteppreviousdiagonaltermleftinside. pfa_gap_division_emptysteppreviousdiagonaltermleftinside + S (pfc_index_division_emptysteppreviousdiagonal) = (pfd_index_division_empty)) /\ ((((exists ff_h_pfp_division_emptysteppreviousdiagonaltermleftentry. ff_h_pfp_division_emptysteppreviousdiagonaltermleftentry + S (pfc_left_division_emptysteppreviousdiagonalterm) = S ((S (pfc_index_division_emptysteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_emptysteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_emptysteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_emptysteppreviousdiagonal)) * qc) + (pfc_left_division_emptysteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_emptysteppreviousdiagonaltermleftoutside. pfc_gap_division_emptysteppreviousdiagonaltermleftoutside+(pfd_index_division_empty)=(pfc_index_division_emptysteppreviousdiagonal)) /\ (((pfc_left_division_emptysteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_emptysteppreviousdiagonaltermrightinside. pfa_gap_division_emptysteppreviousdiagonaltermrightinside + S (pfc_complement_division_emptysteppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_emptysteppreviousdiagonaltermrightentry. ff_h_pfp_division_emptysteppreviousdiagonaltermrightentry + S (pfc_right_division_emptysteppreviousdiagonalterm) = S ((S (pfc_complement_division_emptysteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_emptysteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_emptysteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_emptysteppreviousdiagonalterm)) * bc) + (pfc_right_division_emptysteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_emptysteppreviousdiagonaltermrightoutside. pfc_gap_division_emptysteppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_emptysteppreviousdiagonalterm)) /\ (((pfc_right_division_emptysteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_emptysteppreviousdiagonal)=pfc_left_division_emptysteppreviousdiagonalterm*pfc_right_division_emptysteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_emptystepprevioussum fs_v_pfc_division_emptystepprevioussum. ((((exists fs_h_pfc_division_emptystepprevioussum_body_start. fs_h_pfc_division_emptystepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_emptystepprevioussum)) /\ exists fs_q_pfc_division_emptystepprevioussum_body_start. fs_u_pfc_division_emptystepprevioussum = fs_q_pfc_division_emptystepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_emptystepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_emptystepprevioussum_body_terminal. fs_h_pfc_division_emptystepprevioussum_body_terminal + S (pfc_natural_sum_division_emptystepprevious) = S ((S (S (pfd_index_division_empty))) * fs_v_pfc_division_emptystepprevioussum)) /\ exists fs_q_pfc_division_emptystepprevioussum_body_terminal. fs_u_pfc_division_emptystepprevioussum = fs_q_pfc_division_emptystepprevioussum_body_terminal * S ((S (S (pfd_index_division_empty))) * fs_v_pfc_division_emptystepprevioussum) + (pfc_natural_sum_division_emptystepprevious))) /\ forall fs_i_pfc_division_emptystepprevioussum_body_steps. (exists fs_lt_pfc_division_emptystepprevioussum_body_steps_bound. fs_lt_pfc_division_emptystepprevioussum_body_steps_bound + S fs_i_pfc_division_emptystepprevioussum_body_steps = S (pfd_index_division_empty)) -> exists fs_a_pfc_division_emptystepprevioussum_body_steps fs_r_pfc_division_emptystepprevioussum_body_steps fs_s_pfc_division_emptystepprevioussum_body_steps. ((((exists fs_h_pfc_division_emptystepprevioussum_body_steps_summand. fs_h_pfc_division_emptystepprevioussum_body_steps_summand + S (fs_a_pfc_division_emptystepprevioussum_body_steps) = S ((S (fs_i_pfc_division_emptystepprevioussum_body_steps)) * pfc_terms_scale_division_emptystepprevious)) /\ exists fs_q_pfc_division_emptystepprevioussum_body_steps_summand. pfc_terms_code_division_emptystepprevious = fs_q_pfc_division_emptystepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_emptystepprevioussum_body_steps)) * pfc_terms_scale_division_emptystepprevious) + (fs_a_pfc_division_emptystepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_emptystepprevioussum_body_steps_partial. fs_h_pfc_division_emptystepprevioussum_body_steps_partial + S (fs_r_pfc_division_emptystepprevioussum_body_steps) = S ((S (fs_i_pfc_division_emptystepprevioussum_body_steps)) * fs_v_pfc_division_emptystepprevioussum)) /\ exists fs_q_pfc_division_emptystepprevioussum_body_steps_partial. fs_u_pfc_division_emptystepprevioussum = fs_q_pfc_division_emptystepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_emptystepprevioussum_body_steps)) * fs_v_pfc_division_emptystepprevioussum) + (fs_r_pfc_division_emptystepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_emptystepprevioussum_body_steps_successor. fs_h_pfc_division_emptystepprevioussum_body_steps_successor + S (fs_s_pfc_division_emptystepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_emptystepprevioussum_body_steps)) * fs_v_pfc_division_emptystepprevioussum)) /\ exists fs_q_pfc_division_emptystepprevioussum_body_steps_successor. fs_u_pfc_division_emptystepprevioussum = fs_q_pfc_division_emptystepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_emptystepprevioussum_body_steps)) * fs_v_pfc_division_emptystepprevioussum) + (fs_s_pfc_division_emptystepprevioussum_body_steps))) /\ fs_s_pfc_division_emptystepprevioussum_body_steps = fs_r_pfc_division_emptystepprevioussum_body_steps + fs_a_pfc_division_emptystepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_emptysteppreviousresiduebound. pfa_gap_division_emptysteppreviousresiduebound + S (pfd_previous_division_emptystep) = (p)) /\ ((exists pfa_offset_left_division_emptysteppreviousresiduecongruence pfa_offset_right_division_emptysteppreviousresiduecongruence. (pfc_natural_sum_division_emptystepprevious) + (p) * pfa_offset_left_division_emptysteppreviousresiduecongruence = (pfd_previous_division_emptystep) + (p) * pfa_offset_right_division_emptysteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_emptystepsubtractleft. pfa_gap_division_emptystepsubtractleft + S (pfd_previous_division_emptystep) = (p)) /\ (((exists pfa_gap_division_emptystepsubtractright. pfa_gap_division_emptystepsubtractright + S (pfd_difference_division_emptystep) = (p)) /\ ((((exists pfa_gap_division_emptystepsubtractresultbound. pfa_gap_division_emptystepsubtractresultbound + S (pfd_input_division_emptystep) = (p)) /\ ((exists pfa_offset_left_division_emptystepsubtractresultcongruence pfa_offset_right_division_emptystepsubtractresultcongruence. ((pfd_previous_division_emptystep) + (pfd_difference_division_emptystep)) + (p) * pfa_offset_left_division_emptystepsubtractresultcongruence = (pfd_input_division_emptystep) + (p) * pfa_offset_right_division_emptystepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_emptystepmultiplyleft. pfa_gap_division_emptystepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_emptystepmultiplyright. pfa_gap_division_emptystepmultiplyright + S (pfd_difference_division_emptystep) = (p)) /\ ((((exists pfa_gap_division_emptystepmultiplyresultbound. pfa_gap_division_emptystepmultiplyresultbound + S (pfd_value_division_empty) = (p)) /\ ((exists pfa_offset_left_division_emptystepmultiplyresultcongruence pfa_offset_right_division_emptystepmultiplyresultcongruence. ((k) * (pfd_difference_division_emptystep)) + (p) * pfa_offset_left_division_emptystepmultiplyresultcongruence = (pfd_value_division_empty) + (p) * pfa_offset_right_division_emptystepmultiplyresultcongruence))))))))))))))))))
intro pintro kintro abintro acintro bbintro bcintro Mintro qbintro qcintro iintro hiexfalsospecialize lt_not_le (i)specialize lt_not_le (0)apply lt_not_leexact hispecialize zero_le (i)apply zero_le
polynomial_zero_extended_entry_transport · unchanged support, not a new admission
forall b c d e L i a. (forall mdr_i_pfp_pad_recode mdr_a_pfp_pad_recode. (exists mdr_gap_pfp_pad_recodeb. mdr_gap_pfp_pad_recodeb + S (mdr_i_pfp_pad_recode) = (L)) -> (((exists ff_h_mdr_pfp_pad_recodeo. ff_h_mdr_pfp_pad_recodeo + S (mdr_a_pfp_pad_recode) = S ((S (mdr_i_pfp_pad_recode)) * c)) /\ exists ff_q_mdr_pfp_pad_recodeo. b = ff_q_mdr_pfp_pad_recodeo * S ((S (mdr_i_pfp_pad_recode)) * c) + (mdr_a_pfp_pad_recode))) -> (((exists ff_h_mdr_pfp_pad_recoden. ff_h_mdr_pfp_pad_recoden + S (mdr_a_pfp_pad_recode) = S ((S (mdr_i_pfp_pad_recode)) * e)) /\ exists ff_q_mdr_pfp_pad_recoden. d = ff_q_mdr_pfp_pad_recoden * S ((S (mdr_i_pfp_pad_recode)) * e) + (mdr_a_pfp_pad_recode)))) -> ((((exists pfa_gap_pad_oldinside. pfa_gap_pad_oldinside + S (i) = (L)) /\ ((((exists ff_h_pfp_pad_oldentry. ff_h_pfp_pad_oldentry + S (a) = S ((S (i)) * c)) /\ exists ff_q_pfp_pad_oldentry. b = ff_q_pfp_pad_oldentry * S ((S (i)) * c) + (a)))))) \/ (((exists pfc_gap_pad_oldoutside. pfc_gap_pad_oldoutside+(L)=(i)) /\ (((a)=0))))) -> ((((exists pfa_gap_pad_newinside. pfa_gap_pad_newinside + S (i) = (L)) /\ ((((exists ff_h_pfp_pad_newentry. ff_h_pfp_pad_newentry + S (a) = S ((S (i)) * e)) /\ exists ff_q_pfp_pad_newentry. d = ff_q_pfp_pad_newentry * S ((S (i)) * e) + (a)))))) \/ (((exists pfc_gap_pad_newoutside. pfc_gap_pad_newoutside+(L)=(i)) /\ (((a)=0)))))
intro bintro cintro dintro eintro Lintro iintro aintro heintro hacases hacases ha_leftleftsplitexact ha_left_leftspecialize he (i)specialize he (a)apply heexact ha_left_leftexact ha_left_rightrightexact ha_right
polynomial_diagonal_term_transport · unchanged support, not a new admission
forall ab ac L bb bc M AB AC BB BC i j t. (forall mdr_i_pfp_term_transport_a mdr_a_pfp_term_transport_a. (exists mdr_gap_pfp_term_transport_ab. mdr_gap_pfp_term_transport_ab + S (mdr_i_pfp_term_transport_a) = (L)) -> (((exists ff_h_mdr_pfp_term_transport_ao. ff_h_mdr_pfp_term_transport_ao + S (mdr_a_pfp_term_transport_a) = S ((S (mdr_i_pfp_term_transport_a)) * ac)) /\ exists ff_q_mdr_pfp_term_transport_ao. ab = ff_q_mdr_pfp_term_transport_ao * S ((S (mdr_i_pfp_term_transport_a)) * ac) + (mdr_a_pfp_term_transport_a))) -> (((exists ff_h_mdr_pfp_term_transport_an. ff_h_mdr_pfp_term_transport_an + S (mdr_a_pfp_term_transport_a) = S ((S (mdr_i_pfp_term_transport_a)) * AC)) /\ exists ff_q_mdr_pfp_term_transport_an. AB = ff_q_mdr_pfp_term_transport_an * S ((S (mdr_i_pfp_term_transport_a)) * AC) + (mdr_a_pfp_term_transport_a)))) -> (forall mdr_i_pfp_term_transport_b mdr_a_pfp_term_transport_b. (exists mdr_gap_pfp_term_transport_bb. mdr_gap_pfp_term_transport_bb + S (mdr_i_pfp_term_transport_b) = (M)) -> (((exists ff_h_mdr_pfp_term_transport_bo. ff_h_mdr_pfp_term_transport_bo + S (mdr_a_pfp_term_transport_b) = S ((S (mdr_i_pfp_term_transport_b)) * bc)) /\ exists ff_q_mdr_pfp_term_transport_bo. bb = ff_q_mdr_pfp_term_transport_bo * S ((S (mdr_i_pfp_term_transport_b)) * bc) + (mdr_a_pfp_term_transport_b))) -> (((exists ff_h_mdr_pfp_term_transport_bn. ff_h_mdr_pfp_term_transport_bn + S (mdr_a_pfp_term_transport_b) = S ((S (mdr_i_pfp_term_transport_b)) * BC)) /\ exists ff_q_mdr_pfp_term_transport_bn. BB = ff_q_mdr_pfp_term_transport_bn * S ((S (mdr_i_pfp_term_transport_b)) * BC) + (mdr_a_pfp_term_transport_b)))) -> (exists pfc_complement_term_transport_old pfc_left_term_transport_old pfc_right_term_transport_old. (((j)+pfc_complement_term_transport_old=(i)) /\ ((((((exists pfa_gap_term_transport_oldleftinside. pfa_gap_term_transport_oldleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_transport_oldleftentry. ff_h_pfp_term_transport_oldleftentry + S (pfc_left_term_transport_old) = S ((S (j)) * ac)) /\ exists ff_q_pfp_term_transport_oldleftentry. ab = ff_q_pfp_term_transport_oldleftentry * S ((S (j)) * ac) + (pfc_left_term_transport_old)))))) \/ (((exists pfc_gap_term_transport_oldleftoutside. pfc_gap_term_transport_oldleftoutside+(L)=(j)) /\ (((pfc_left_term_transport_old)=0))))) /\ ((((((exists pfa_gap_term_transport_oldrightinside. pfa_gap_term_transport_oldrightinside + S (pfc_complement_term_transport_old) = (M)) /\ ((((exists ff_h_pfp_term_transport_oldrightentry. ff_h_pfp_term_transport_oldrightentry + S (pfc_right_term_transport_old) = S ((S (pfc_complement_term_transport_old)) * bc)) /\ exists ff_q_pfp_term_transport_oldrightentry. bb = ff_q_pfp_term_transport_oldrightentry * S ((S (pfc_complement_term_transport_old)) * bc) + (pfc_right_term_transport_old)))))) \/ (((exists pfc_gap_term_transport_oldrightoutside. pfc_gap_term_transport_oldrightoutside+(M)=(pfc_complement_term_transport_old)) /\ (((pfc_right_term_transport_old)=0))))) /\ (((t)=pfc_left_term_transport_old*pfc_right_term_transport_old)))))))) -> (exists pfc_complement_term_transport_new pfc_left_term_transport_new pfc_right_term_transport_new. (((j)+pfc_complement_term_transport_new=(i)) /\ ((((((exists pfa_gap_term_transport_newleftinside. pfa_gap_term_transport_newleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_term_transport_newleftentry. ff_h_pfp_term_transport_newleftentry + S (pfc_left_term_transport_new) = S ((S (j)) * AC)) /\ exists ff_q_pfp_term_transport_newleftentry. AB = ff_q_pfp_term_transport_newleftentry * S ((S (j)) * AC) + (pfc_left_term_transport_new)))))) \/ (((exists pfc_gap_term_transport_newleftoutside. pfc_gap_term_transport_newleftoutside+(L)=(j)) /\ (((pfc_left_term_transport_new)=0))))) /\ ((((((exists pfa_gap_term_transport_newrightinside. pfa_gap_term_transport_newrightinside + S (pfc_complement_term_transport_new) = (M)) /\ ((((exists ff_h_pfp_term_transport_newrightentry. ff_h_pfp_term_transport_newrightentry + S (pfc_right_term_transport_new) = S ((S (pfc_complement_term_transport_new)) * BC)) /\ exists ff_q_pfp_term_transport_newrightentry. BB = ff_q_pfp_term_transport_newrightentry * S ((S (pfc_complement_term_transport_new)) * BC) + (pfc_right_term_transport_new)))))) \/ (((exists pfc_gap_term_transport_newrightoutside. pfc_gap_term_transport_newrightoutside+(M)=(pfc_complement_term_transport_new)) /\ (((pfc_right_term_transport_new)=0))))) /\ (((t)=pfc_left_term_transport_new*pfc_right_term_transport_new))))))))
intro abintro acintro Lintro bbintro bcintro Mintro ABintro ACintro BBintro BCintro iintro jintro tintro haintro hbintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_rightexists xexists x1exists x2splitexact ht_witness_witness_witness_leftsplitspecialize polynomial_zero_extended_entry_transport (ab)specialize polynomial_zero_extended_entry_transport (ac)specialize polynomial_zero_extended_entry_transport (AB)specialize polynomial_zero_extended_entry_transport (AC)specialize polynomial_zero_extended_entry_transport (L)specialize polynomial_zero_extended_entry_transport (j)specialize polynomial_zero_extended_entry_transport (x1)apply polynomial_zero_extended_entry_transportexact haexact ht_witness_witness_witness_right_leftsplitspecialize polynomial_zero_extended_entry_transport (bb)specialize polynomial_zero_extended_entry_transport (bc)specialize polynomial_zero_extended_entry_transport (BB)specialize polynomial_zero_extended_entry_transport (BC)specialize polynomial_zero_extended_entry_transport (M)specialize polynomial_zero_extended_entry_transport (x)specialize polynomial_zero_extended_entry_transport (x2)apply polynomial_zero_extended_entry_transportexact hbexact ht_witness_witness_witness_right_right_leftexact ht_witness_witness_witness_right_right_right
polynomial_diagonal_prefix_input_transport · unchanged support, not a new admission
forall ab ac L bb bc M I AB AC BB BC db dc N. (forall mdr_i_pfp_diagonal_recode_a mdr_a_pfp_diagonal_recode_a. (exists mdr_gap_pfp_diagonal_recode_ab. mdr_gap_pfp_diagonal_recode_ab + S (mdr_i_pfp_diagonal_recode_a) = (L)) -> (((exists ff_h_mdr_pfp_diagonal_recode_ao. ff_h_mdr_pfp_diagonal_recode_ao + S (mdr_a_pfp_diagonal_recode_a) = S ((S (mdr_i_pfp_diagonal_recode_a)) * ac)) /\ exists ff_q_mdr_pfp_diagonal_recode_ao. ab = ff_q_mdr_pfp_diagonal_recode_ao * S ((S (mdr_i_pfp_diagonal_recode_a)) * ac) + (mdr_a_pfp_diagonal_recode_a))) -> (((exists ff_h_mdr_pfp_diagonal_recode_an. ff_h_mdr_pfp_diagonal_recode_an + S (mdr_a_pfp_diagonal_recode_a) = S ((S (mdr_i_pfp_diagonal_recode_a)) * AC)) /\ exists ff_q_mdr_pfp_diagonal_recode_an. AB = ff_q_mdr_pfp_diagonal_recode_an * S ((S (mdr_i_pfp_diagonal_recode_a)) * AC) + (mdr_a_pfp_diagonal_recode_a)))) -> (forall mdr_i_pfp_diagonal_recode_b mdr_a_pfp_diagonal_recode_b. (exists mdr_gap_pfp_diagonal_recode_bb. mdr_gap_pfp_diagonal_recode_bb + S (mdr_i_pfp_diagonal_recode_b) = (M)) -> (((exists ff_h_mdr_pfp_diagonal_recode_bo. ff_h_mdr_pfp_diagonal_recode_bo + S (mdr_a_pfp_diagonal_recode_b) = S ((S (mdr_i_pfp_diagonal_recode_b)) * bc)) /\ exists ff_q_mdr_pfp_diagonal_recode_bo. bb = ff_q_mdr_pfp_diagonal_recode_bo * S ((S (mdr_i_pfp_diagonal_recode_b)) * bc) + (mdr_a_pfp_diagonal_recode_b))) -> (((exists ff_h_mdr_pfp_diagonal_recode_bn. ff_h_mdr_pfp_diagonal_recode_bn + S (mdr_a_pfp_diagonal_recode_b) = S ((S (mdr_i_pfp_diagonal_recode_b)) * BC)) /\ exists ff_q_mdr_pfp_diagonal_recode_bn. BB = ff_q_mdr_pfp_diagonal_recode_bn * S ((S (mdr_i_pfp_diagonal_recode_b)) * BC) + (mdr_a_pfp_diagonal_recode_b)))) -> (forall pfc_index_diagonal_old. (exists pfa_gap_diagonal_oldbound. pfa_gap_diagonal_oldbound + S (pfc_index_diagonal_old) = (N)) -> exists pfc_value_diagonal_old. ((((exists ff_h_pfp_diagonal_oldentry. ff_h_pfp_diagonal_oldentry + S (pfc_value_diagonal_old) = S ((S (pfc_index_diagonal_old)) * dc)) /\ exists ff_q_pfp_diagonal_oldentry. db = ff_q_pfp_diagonal_oldentry * S ((S (pfc_index_diagonal_old)) * dc) + (pfc_value_diagonal_old))) /\ ((exists pfc_complement_diagonal_oldterm pfc_left_diagonal_oldterm pfc_right_diagonal_oldterm. (((pfc_index_diagonal_old)+pfc_complement_diagonal_oldterm=(I)) /\ ((((((exists pfa_gap_diagonal_oldtermleftinside. pfa_gap_diagonal_oldtermleftinside + S (pfc_index_diagonal_old) = (L)) /\ ((((exists ff_h_pfp_diagonal_oldtermleftentry. ff_h_pfp_diagonal_oldtermleftentry + S (pfc_left_diagonal_oldterm) = S ((S (pfc_index_diagonal_old)) * ac)) /\ exists ff_q_pfp_diagonal_oldtermleftentry. ab = ff_q_pfp_diagonal_oldtermleftentry * S ((S (pfc_index_diagonal_old)) * ac) + (pfc_left_diagonal_oldterm)))))) \/ (((exists pfc_gap_diagonal_oldtermleftoutside. pfc_gap_diagonal_oldtermleftoutside+(L)=(pfc_index_diagonal_old)) /\ (((pfc_left_diagonal_oldterm)=0))))) /\ ((((((exists pfa_gap_diagonal_oldtermrightinside. pfa_gap_diagonal_oldtermrightinside + S (pfc_complement_diagonal_oldterm) = (M)) /\ ((((exists ff_h_pfp_diagonal_oldtermrightentry. ff_h_pfp_diagonal_oldtermrightentry + S (pfc_right_diagonal_oldterm) = S ((S (pfc_complement_diagonal_oldterm)) * bc)) /\ exists ff_q_pfp_diagonal_oldtermrightentry. bb = ff_q_pfp_diagonal_oldtermrightentry * S ((S (pfc_complement_diagonal_oldterm)) * bc) + (pfc_right_diagonal_oldterm)))))) \/ (((exists pfc_gap_diagonal_oldtermrightoutside. pfc_gap_diagonal_oldtermrightoutside+(M)=(pfc_complement_diagonal_oldterm)) /\ (((pfc_right_diagonal_oldterm)=0))))) /\ (((pfc_value_diagonal_old)=pfc_left_diagonal_oldterm*pfc_right_diagonal_oldterm))))))))))) -> (forall pfc_index_diagonal_new. (exists pfa_gap_diagonal_newbound. pfa_gap_diagonal_newbound + S (pfc_index_diagonal_new) = (N)) -> exists pfc_value_diagonal_new. ((((exists ff_h_pfp_diagonal_newentry. ff_h_pfp_diagonal_newentry + S (pfc_value_diagonal_new) = S ((S (pfc_index_diagonal_new)) * dc)) /\ exists ff_q_pfp_diagonal_newentry. db = ff_q_pfp_diagonal_newentry * S ((S (pfc_index_diagonal_new)) * dc) + (pfc_value_diagonal_new))) /\ ((exists pfc_complement_diagonal_newterm pfc_left_diagonal_newterm pfc_right_diagonal_newterm. (((pfc_index_diagonal_new)+pfc_complement_diagonal_newterm=(I)) /\ ((((((exists pfa_gap_diagonal_newtermleftinside. pfa_gap_diagonal_newtermleftinside + S (pfc_index_diagonal_new) = (L)) /\ ((((exists ff_h_pfp_diagonal_newtermleftentry. ff_h_pfp_diagonal_newtermleftentry + S (pfc_left_diagonal_newterm) = S ((S (pfc_index_diagonal_new)) * AC)) /\ exists ff_q_pfp_diagonal_newtermleftentry. AB = ff_q_pfp_diagonal_newtermleftentry * S ((S (pfc_index_diagonal_new)) * AC) + (pfc_left_diagonal_newterm)))))) \/ (((exists pfc_gap_diagonal_newtermleftoutside. pfc_gap_diagonal_newtermleftoutside+(L)=(pfc_index_diagonal_new)) /\ (((pfc_left_diagonal_newterm)=0))))) /\ ((((((exists pfa_gap_diagonal_newtermrightinside. pfa_gap_diagonal_newtermrightinside + S (pfc_complement_diagonal_newterm) = (M)) /\ ((((exists ff_h_pfp_diagonal_newtermrightentry. ff_h_pfp_diagonal_newtermrightentry + S (pfc_right_diagonal_newterm) = S ((S (pfc_complement_diagonal_newterm)) * BC)) /\ exists ff_q_pfp_diagonal_newtermrightentry. BB = ff_q_pfp_diagonal_newtermrightentry * S ((S (pfc_complement_diagonal_newterm)) * BC) + (pfc_right_diagonal_newterm)))))) \/ (((exists pfc_gap_diagonal_newtermrightoutside. pfc_gap_diagonal_newtermrightoutside+(M)=(pfc_complement_diagonal_newterm)) /\ (((pfc_right_diagonal_newterm)=0))))) /\ (((pfc_value_diagonal_new)=pfc_left_diagonal_newterm*pfc_right_diagonal_newterm)))))))))))
intro abintro acintro Lintro bbintro bcintro Mintro Iintro ABintro ACintro BBintro BCintro dbintro dcintro Nintro haintro hbintro hdintro jintro hjhave hv : exists t. ((((exists ff_h_pfp_diagonal_chosen_entry. ff_h_pfp_diagonal_chosen_entry + S (t) = S ((S (j)) * dc)) /\ exists ff_q_pfp_diagonal_chosen_entry. db = ff_q_pfp_diagonal_chosen_entry * S ((S (j)) * dc) + (t))) /\ ((exists pfc_complement_diagonal_chosen_term pfc_left_diagonal_chosen_term pfc_right_diagonal_chosen_term. (((j)+pfc_complement_diagonal_chosen_term=(I)) /\ ((((((exists pfa_gap_diagonal_chosen_termleftinside. pfa_gap_diagonal_chosen_termleftinside + S (j) = (L)) /\ ((((exists ff_h_pfp_diagonal_chosen_termleftentry. ff_h_pfp_diagonal_chosen_termleftentry + S (pfc_left_diagonal_chosen_term) = S ((S (j)) * ac)) /\ exists ff_q_pfp_diagonal_chosen_termleftentry. ab = ff_q_pfp_diagonal_chosen_termleftentry * S ((S (j)) * ac) + (pfc_left_diagonal_chosen_term)))))) \/ (((exists pfc_gap_diagonal_chosen_termleftoutside. pfc_gap_diagonal_chosen_termleftoutside+(L)=(j)) /\ (((pfc_left_diagonal_chosen_term)=0))))) /\ ((((((exists pfa_gap_diagonal_chosen_termrightinside. pfa_gap_diagonal_chosen_termrightinside + S (pfc_complement_diagonal_chosen_term) = (M)) /\ ((((exists ff_h_pfp_diagonal_chosen_termrightentry. ff_h_pfp_diagonal_chosen_termrightentry + S (pfc_right_diagonal_chosen_term) = S ((S (pfc_complement_diagonal_chosen_term)) * bc)) /\ exists ff_q_pfp_diagonal_chosen_termrightentry. bb = ff_q_pfp_diagonal_chosen_termrightentry * S ((S (pfc_complement_diagonal_chosen_term)) * bc) + (pfc_right_diagonal_chosen_term)))))) \/ (((exists pfc_gap_diagonal_chosen_termrightoutside. pfc_gap_diagonal_chosen_termrightoutside+(M)=(pfc_complement_diagonal_chosen_term)) /\ (((pfc_right_diagonal_chosen_term)=0))))) /\ (((t)=pfc_left_diagonal_chosen_term*pfc_right_diagonal_chosen_term))))))))))specialize hd (j)apply hdexact hjcases hvcases hv_witnessexists xsplitexact hv_witness_leftspecialize polynomial_diagonal_term_transport (ab)specialize polynomial_diagonal_term_transport (ac)specialize polynomial_diagonal_term_transport (L)specialize polynomial_diagonal_term_transport (bb)specialize polynomial_diagonal_term_transport (bc)specialize polynomial_diagonal_term_transport (M)specialize polynomial_diagonal_term_transport (AB)specialize polynomial_diagonal_term_transport (AC)specialize polynomial_diagonal_term_transport (BB)specialize polynomial_diagonal_term_transport (BC)specialize polynomial_diagonal_term_transport (I)specialize polynomial_diagonal_term_transport (j)specialize polynomial_diagonal_term_transport (x)apply polynomial_diagonal_term_transportexact haexact hbexact hv_witness_right
prime_field_convolution_coefficient_transport · unchanged support, not a new admission
forall p ab ac L bb bc M i AB AC BB BC r. (forall mdr_i_pfp_coefficient_recode_a mdr_a_pfp_coefficient_recode_a. (exists mdr_gap_pfp_coefficient_recode_ab. mdr_gap_pfp_coefficient_recode_ab + S (mdr_i_pfp_coefficient_recode_a) = (L)) -> (((exists ff_h_mdr_pfp_coefficient_recode_ao. ff_h_mdr_pfp_coefficient_recode_ao + S (mdr_a_pfp_coefficient_recode_a) = S ((S (mdr_i_pfp_coefficient_recode_a)) * ac)) /\ exists ff_q_mdr_pfp_coefficient_recode_ao. ab = ff_q_mdr_pfp_coefficient_recode_ao * S ((S (mdr_i_pfp_coefficient_recode_a)) * ac) + (mdr_a_pfp_coefficient_recode_a))) -> (((exists ff_h_mdr_pfp_coefficient_recode_an. ff_h_mdr_pfp_coefficient_recode_an + S (mdr_a_pfp_coefficient_recode_a) = S ((S (mdr_i_pfp_coefficient_recode_a)) * AC)) /\ exists ff_q_mdr_pfp_coefficient_recode_an. AB = ff_q_mdr_pfp_coefficient_recode_an * S ((S (mdr_i_pfp_coefficient_recode_a)) * AC) + (mdr_a_pfp_coefficient_recode_a)))) -> (forall mdr_i_pfp_coefficient_recode_b mdr_a_pfp_coefficient_recode_b. (exists mdr_gap_pfp_coefficient_recode_bb. mdr_gap_pfp_coefficient_recode_bb + S (mdr_i_pfp_coefficient_recode_b) = (M)) -> (((exists ff_h_mdr_pfp_coefficient_recode_bo. ff_h_mdr_pfp_coefficient_recode_bo + S (mdr_a_pfp_coefficient_recode_b) = S ((S (mdr_i_pfp_coefficient_recode_b)) * bc)) /\ exists ff_q_mdr_pfp_coefficient_recode_bo. bb = ff_q_mdr_pfp_coefficient_recode_bo * S ((S (mdr_i_pfp_coefficient_recode_b)) * bc) + (mdr_a_pfp_coefficient_recode_b))) -> (((exists ff_h_mdr_pfp_coefficient_recode_bn. ff_h_mdr_pfp_coefficient_recode_bn + S (mdr_a_pfp_coefficient_recode_b) = S ((S (mdr_i_pfp_coefficient_recode_b)) * BC)) /\ exists ff_q_mdr_pfp_coefficient_recode_bn. BB = ff_q_mdr_pfp_coefficient_recode_bn * S ((S (mdr_i_pfp_coefficient_recode_b)) * BC) + (mdr_a_pfp_coefficient_recode_b)))) -> (exists pfc_terms_code_coefficient_old pfc_terms_scale_coefficient_old pfc_natural_sum_coefficient_old. ((forall pfc_index_coefficient_olddiagonal. (exists pfa_gap_coefficient_olddiagonalbound. pfa_gap_coefficient_olddiagonalbound + S (pfc_index_coefficient_olddiagonal) = (S (i))) -> exists pfc_value_coefficient_olddiagonal. ((((exists ff_h_pfp_coefficient_olddiagonalentry. ff_h_pfp_coefficient_olddiagonalentry + S (pfc_value_coefficient_olddiagonal) = S ((S (pfc_index_coefficient_olddiagonal)) * pfc_terms_scale_coefficient_old)) /\ exists ff_q_pfp_coefficient_olddiagonalentry. pfc_terms_code_coefficient_old = ff_q_pfp_coefficient_olddiagonalentry * S ((S (pfc_index_coefficient_olddiagonal)) * pfc_terms_scale_coefficient_old) + (pfc_value_coefficient_olddiagonal))) /\ ((exists pfc_complement_coefficient_olddiagonalterm pfc_left_coefficient_olddiagonalterm pfc_right_coefficient_olddiagonalterm. (((pfc_index_coefficient_olddiagonal)+pfc_complement_coefficient_olddiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_olddiagonaltermleftinside. pfa_gap_coefficient_olddiagonaltermleftinside + S (pfc_index_coefficient_olddiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_olddiagonaltermleftentry. ff_h_pfp_coefficient_olddiagonaltermleftentry + S (pfc_left_coefficient_olddiagonalterm) = S ((S (pfc_index_coefficient_olddiagonal)) * ac)) /\ exists ff_q_pfp_coefficient_olddiagonaltermleftentry. ab = ff_q_pfp_coefficient_olddiagonaltermleftentry * S ((S (pfc_index_coefficient_olddiagonal)) * ac) + (pfc_left_coefficient_olddiagonalterm)))))) \/ (((exists pfc_gap_coefficient_olddiagonaltermleftoutside. pfc_gap_coefficient_olddiagonaltermleftoutside+(L)=(pfc_index_coefficient_olddiagonal)) /\ (((pfc_left_coefficient_olddiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_olddiagonaltermrightinside. pfa_gap_coefficient_olddiagonaltermrightinside + S (pfc_complement_coefficient_olddiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_olddiagonaltermrightentry. ff_h_pfp_coefficient_olddiagonaltermrightentry + S (pfc_right_coefficient_olddiagonalterm) = S ((S (pfc_complement_coefficient_olddiagonalterm)) * bc)) /\ exists ff_q_pfp_coefficient_olddiagonaltermrightentry. bb = ff_q_pfp_coefficient_olddiagonaltermrightentry * S ((S (pfc_complement_coefficient_olddiagonalterm)) * bc) + (pfc_right_coefficient_olddiagonalterm)))))) \/ (((exists pfc_gap_coefficient_olddiagonaltermrightoutside. pfc_gap_coefficient_olddiagonaltermrightoutside+(M)=(pfc_complement_coefficient_olddiagonalterm)) /\ (((pfc_right_coefficient_olddiagonalterm)=0))))) /\ (((pfc_value_coefficient_olddiagonal)=pfc_left_coefficient_olddiagonalterm*pfc_right_coefficient_olddiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_oldsum fs_v_pfc_coefficient_oldsum. ((((exists fs_h_pfc_coefficient_oldsum_body_start. fs_h_pfc_coefficient_oldsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_oldsum)) /\ exists fs_q_pfc_coefficient_oldsum_body_start. fs_u_pfc_coefficient_oldsum = fs_q_pfc_coefficient_oldsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_oldsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_oldsum_body_terminal. fs_h_pfc_coefficient_oldsum_body_terminal + S (pfc_natural_sum_coefficient_old) = S ((S (S (i))) * fs_v_pfc_coefficient_oldsum)) /\ exists fs_q_pfc_coefficient_oldsum_body_terminal. fs_u_pfc_coefficient_oldsum = fs_q_pfc_coefficient_oldsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_oldsum) + (pfc_natural_sum_coefficient_old))) /\ forall fs_i_pfc_coefficient_oldsum_body_steps. (exists fs_lt_pfc_coefficient_oldsum_body_steps_bound. fs_lt_pfc_coefficient_oldsum_body_steps_bound + S fs_i_pfc_coefficient_oldsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_oldsum_body_steps fs_r_pfc_coefficient_oldsum_body_steps fs_s_pfc_coefficient_oldsum_body_steps. ((((exists fs_h_pfc_coefficient_oldsum_body_steps_summand. fs_h_pfc_coefficient_oldsum_body_steps_summand + S (fs_a_pfc_coefficient_oldsum_body_steps) = S ((S (fs_i_pfc_coefficient_oldsum_body_steps)) * pfc_terms_scale_coefficient_old)) /\ exists fs_q_pfc_coefficient_oldsum_body_steps_summand. pfc_terms_code_coefficient_old = fs_q_pfc_coefficient_oldsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_oldsum_body_steps)) * pfc_terms_scale_coefficient_old) + (fs_a_pfc_coefficient_oldsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_oldsum_body_steps_partial. fs_h_pfc_coefficient_oldsum_body_steps_partial + S (fs_r_pfc_coefficient_oldsum_body_steps) = S ((S (fs_i_pfc_coefficient_oldsum_body_steps)) * fs_v_pfc_coefficient_oldsum)) /\ exists fs_q_pfc_coefficient_oldsum_body_steps_partial. fs_u_pfc_coefficient_oldsum = fs_q_pfc_coefficient_oldsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_oldsum_body_steps)) * fs_v_pfc_coefficient_oldsum) + (fs_r_pfc_coefficient_oldsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_oldsum_body_steps_successor. fs_h_pfc_coefficient_oldsum_body_steps_successor + S (fs_s_pfc_coefficient_oldsum_body_steps) = S ((S (S fs_i_pfc_coefficient_oldsum_body_steps)) * fs_v_pfc_coefficient_oldsum)) /\ exists fs_q_pfc_coefficient_oldsum_body_steps_successor. fs_u_pfc_coefficient_oldsum = fs_q_pfc_coefficient_oldsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_oldsum_body_steps)) * fs_v_pfc_coefficient_oldsum) + (fs_s_pfc_coefficient_oldsum_body_steps))) /\ fs_s_pfc_coefficient_oldsum_body_steps = fs_r_pfc_coefficient_oldsum_body_steps + fs_a_pfc_coefficient_oldsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_oldresiduebound. pfa_gap_coefficient_oldresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_coefficient_oldresiduecongruence pfa_offset_right_coefficient_oldresiduecongruence. (pfc_natural_sum_coefficient_old) + (p) * pfa_offset_left_coefficient_oldresiduecongruence = (r) + (p) * pfa_offset_right_coefficient_oldresiduecongruence))))))))) -> (exists pfc_terms_code_coefficient_new pfc_terms_scale_coefficient_new pfc_natural_sum_coefficient_new. ((forall pfc_index_coefficient_newdiagonal. (exists pfa_gap_coefficient_newdiagonalbound. pfa_gap_coefficient_newdiagonalbound + S (pfc_index_coefficient_newdiagonal) = (S (i))) -> exists pfc_value_coefficient_newdiagonal. ((((exists ff_h_pfp_coefficient_newdiagonalentry. ff_h_pfp_coefficient_newdiagonalentry + S (pfc_value_coefficient_newdiagonal) = S ((S (pfc_index_coefficient_newdiagonal)) * pfc_terms_scale_coefficient_new)) /\ exists ff_q_pfp_coefficient_newdiagonalentry. pfc_terms_code_coefficient_new = ff_q_pfp_coefficient_newdiagonalentry * S ((S (pfc_index_coefficient_newdiagonal)) * pfc_terms_scale_coefficient_new) + (pfc_value_coefficient_newdiagonal))) /\ ((exists pfc_complement_coefficient_newdiagonalterm pfc_left_coefficient_newdiagonalterm pfc_right_coefficient_newdiagonalterm. (((pfc_index_coefficient_newdiagonal)+pfc_complement_coefficient_newdiagonalterm=(i)) /\ ((((((exists pfa_gap_coefficient_newdiagonaltermleftinside. pfa_gap_coefficient_newdiagonaltermleftinside + S (pfc_index_coefficient_newdiagonal) = (L)) /\ ((((exists ff_h_pfp_coefficient_newdiagonaltermleftentry. ff_h_pfp_coefficient_newdiagonaltermleftentry + S (pfc_left_coefficient_newdiagonalterm) = S ((S (pfc_index_coefficient_newdiagonal)) * AC)) /\ exists ff_q_pfp_coefficient_newdiagonaltermleftentry. AB = ff_q_pfp_coefficient_newdiagonaltermleftentry * S ((S (pfc_index_coefficient_newdiagonal)) * AC) + (pfc_left_coefficient_newdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_newdiagonaltermleftoutside. pfc_gap_coefficient_newdiagonaltermleftoutside+(L)=(pfc_index_coefficient_newdiagonal)) /\ (((pfc_left_coefficient_newdiagonalterm)=0))))) /\ ((((((exists pfa_gap_coefficient_newdiagonaltermrightinside. pfa_gap_coefficient_newdiagonaltermrightinside + S (pfc_complement_coefficient_newdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_coefficient_newdiagonaltermrightentry. ff_h_pfp_coefficient_newdiagonaltermrightentry + S (pfc_right_coefficient_newdiagonalterm) = S ((S (pfc_complement_coefficient_newdiagonalterm)) * BC)) /\ exists ff_q_pfp_coefficient_newdiagonaltermrightentry. BB = ff_q_pfp_coefficient_newdiagonaltermrightentry * S ((S (pfc_complement_coefficient_newdiagonalterm)) * BC) + (pfc_right_coefficient_newdiagonalterm)))))) \/ (((exists pfc_gap_coefficient_newdiagonaltermrightoutside. pfc_gap_coefficient_newdiagonaltermrightoutside+(M)=(pfc_complement_coefficient_newdiagonalterm)) /\ (((pfc_right_coefficient_newdiagonalterm)=0))))) /\ (((pfc_value_coefficient_newdiagonal)=pfc_left_coefficient_newdiagonalterm*pfc_right_coefficient_newdiagonalterm))))))))))) /\ (((exists fs_u_pfc_coefficient_newsum fs_v_pfc_coefficient_newsum. ((((exists fs_h_pfc_coefficient_newsum_body_start. fs_h_pfc_coefficient_newsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_coefficient_newsum)) /\ exists fs_q_pfc_coefficient_newsum_body_start. fs_u_pfc_coefficient_newsum = fs_q_pfc_coefficient_newsum_body_start * S ((S (0)) * fs_v_pfc_coefficient_newsum) + (0))) /\ ((((exists fs_h_pfc_coefficient_newsum_body_terminal. fs_h_pfc_coefficient_newsum_body_terminal + S (pfc_natural_sum_coefficient_new) = S ((S (S (i))) * fs_v_pfc_coefficient_newsum)) /\ exists fs_q_pfc_coefficient_newsum_body_terminal. fs_u_pfc_coefficient_newsum = fs_q_pfc_coefficient_newsum_body_terminal * S ((S (S (i))) * fs_v_pfc_coefficient_newsum) + (pfc_natural_sum_coefficient_new))) /\ forall fs_i_pfc_coefficient_newsum_body_steps. (exists fs_lt_pfc_coefficient_newsum_body_steps_bound. fs_lt_pfc_coefficient_newsum_body_steps_bound + S fs_i_pfc_coefficient_newsum_body_steps = S (i)) -> exists fs_a_pfc_coefficient_newsum_body_steps fs_r_pfc_coefficient_newsum_body_steps fs_s_pfc_coefficient_newsum_body_steps. ((((exists fs_h_pfc_coefficient_newsum_body_steps_summand. fs_h_pfc_coefficient_newsum_body_steps_summand + S (fs_a_pfc_coefficient_newsum_body_steps) = S ((S (fs_i_pfc_coefficient_newsum_body_steps)) * pfc_terms_scale_coefficient_new)) /\ exists fs_q_pfc_coefficient_newsum_body_steps_summand. pfc_terms_code_coefficient_new = fs_q_pfc_coefficient_newsum_body_steps_summand * S ((S (fs_i_pfc_coefficient_newsum_body_steps)) * pfc_terms_scale_coefficient_new) + (fs_a_pfc_coefficient_newsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_newsum_body_steps_partial. fs_h_pfc_coefficient_newsum_body_steps_partial + S (fs_r_pfc_coefficient_newsum_body_steps) = S ((S (fs_i_pfc_coefficient_newsum_body_steps)) * fs_v_pfc_coefficient_newsum)) /\ exists fs_q_pfc_coefficient_newsum_body_steps_partial. fs_u_pfc_coefficient_newsum = fs_q_pfc_coefficient_newsum_body_steps_partial * S ((S (fs_i_pfc_coefficient_newsum_body_steps)) * fs_v_pfc_coefficient_newsum) + (fs_r_pfc_coefficient_newsum_body_steps))) /\ ((((exists fs_h_pfc_coefficient_newsum_body_steps_successor. fs_h_pfc_coefficient_newsum_body_steps_successor + S (fs_s_pfc_coefficient_newsum_body_steps) = S ((S (S fs_i_pfc_coefficient_newsum_body_steps)) * fs_v_pfc_coefficient_newsum)) /\ exists fs_q_pfc_coefficient_newsum_body_steps_successor. fs_u_pfc_coefficient_newsum = fs_q_pfc_coefficient_newsum_body_steps_successor * S ((S (S fs_i_pfc_coefficient_newsum_body_steps)) * fs_v_pfc_coefficient_newsum) + (fs_s_pfc_coefficient_newsum_body_steps))) /\ fs_s_pfc_coefficient_newsum_body_steps = fs_r_pfc_coefficient_newsum_body_steps + fs_a_pfc_coefficient_newsum_body_steps)))))) /\ ((((exists pfa_gap_coefficient_newresiduebound. pfa_gap_coefficient_newresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_coefficient_newresiduecongruence pfa_offset_right_coefficient_newresiduecongruence. (pfc_natural_sum_coefficient_new) + (p) * pfa_offset_left_coefficient_newresiduecongruence = (r) + (p) * pfa_offset_right_coefficient_newresiduecongruence)))))))))
intro pintro abintro acintro Lintro bbintro bcintro Mintro iintro ABintro ACintro BBintro BCintro rintro haintro hbintro hcases hcases h_witnesscases h_witness_witnesscases h_witness_witness_witnesscases h_witness_witness_witness_rightexists xexists x1exists x2splitspecialize polynomial_diagonal_prefix_input_transport (ab)specialize polynomial_diagonal_prefix_input_transport (ac)specialize polynomial_diagonal_prefix_input_transport (L)specialize polynomial_diagonal_prefix_input_transport (bb)specialize polynomial_diagonal_prefix_input_transport (bc)specialize polynomial_diagonal_prefix_input_transport (M)specialize polynomial_diagonal_prefix_input_transport (i)specialize polynomial_diagonal_prefix_input_transport (AB)specialize polynomial_diagonal_prefix_input_transport (AC)specialize polynomial_diagonal_prefix_input_transport (BB)specialize polynomial_diagonal_prefix_input_transport (BC)specialize polynomial_diagonal_prefix_input_transport (x)specialize polynomial_diagonal_prefix_input_transport (x1)specialize polynomial_diagonal_prefix_input_transport (S i)apply polynomial_diagonal_prefix_input_transportexact haexact hbexact h_witness_witness_witness_leftsplitexact h_witness_witness_witness_right_leftexact h_witness_witness_witness_right_right
prime_field_polynomial_quotient_step_recode · unchanged support, not a new admission
forall p k ab ac bb bc M qb qc QB QC i q. (forall mdr_i_pfp_division_step_recode mdr_a_pfp_division_step_recode. (exists mdr_gap_pfp_division_step_recodeb. mdr_gap_pfp_division_step_recodeb + S (mdr_i_pfp_division_step_recode) = (i)) -> (((exists ff_h_mdr_pfp_division_step_recodeo. ff_h_mdr_pfp_division_step_recodeo + S (mdr_a_pfp_division_step_recode) = S ((S (mdr_i_pfp_division_step_recode)) * qc)) /\ exists ff_q_mdr_pfp_division_step_recodeo. qb = ff_q_mdr_pfp_division_step_recodeo * S ((S (mdr_i_pfp_division_step_recode)) * qc) + (mdr_a_pfp_division_step_recode))) -> (((exists ff_h_mdr_pfp_division_step_recoden. ff_h_mdr_pfp_division_step_recoden + S (mdr_a_pfp_division_step_recode) = S ((S (mdr_i_pfp_division_step_recode)) * QC)) /\ exists ff_q_mdr_pfp_division_step_recoden. QB = ff_q_mdr_pfp_division_step_recoden * S ((S (mdr_i_pfp_division_step_recode)) * QC) + (mdr_a_pfp_division_step_recode)))) -> (exists pfd_input_division_step_old pfd_previous_division_step_old pfd_difference_division_step_old. ((((exists ff_h_pfp_division_step_oldinput. ff_h_pfp_division_step_oldinput + S (pfd_input_division_step_old) = S ((S (i)) * ac)) /\ exists ff_q_pfp_division_step_oldinput. ab = ff_q_pfp_division_step_oldinput * S ((S (i)) * ac) + (pfd_input_division_step_old))) /\ (((exists pfc_terms_code_division_step_oldprevious pfc_terms_scale_division_step_oldprevious pfc_natural_sum_division_step_oldprevious. ((forall pfc_index_division_step_oldpreviousdiagonal. (exists pfa_gap_division_step_oldpreviousdiagonalbound. pfa_gap_division_step_oldpreviousdiagonalbound + S (pfc_index_division_step_oldpreviousdiagonal) = (S (i))) -> exists pfc_value_division_step_oldpreviousdiagonal. ((((exists ff_h_pfp_division_step_oldpreviousdiagonalentry. ff_h_pfp_division_step_oldpreviousdiagonalentry + S (pfc_value_division_step_oldpreviousdiagonal) = S ((S (pfc_index_division_step_oldpreviousdiagonal)) * pfc_terms_scale_division_step_oldprevious)) /\ exists ff_q_pfp_division_step_oldpreviousdiagonalentry. pfc_terms_code_division_step_oldprevious = ff_q_pfp_division_step_oldpreviousdiagonalentry * S ((S (pfc_index_division_step_oldpreviousdiagonal)) * pfc_terms_scale_division_step_oldprevious) + (pfc_value_division_step_oldpreviousdiagonal))) /\ ((exists pfc_complement_division_step_oldpreviousdiagonalterm pfc_left_division_step_oldpreviousdiagonalterm pfc_right_division_step_oldpreviousdiagonalterm. (((pfc_index_division_step_oldpreviousdiagonal)+pfc_complement_division_step_oldpreviousdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_step_oldpreviousdiagonaltermleftinside. pfa_gap_division_step_oldpreviousdiagonaltermleftinside + S (pfc_index_division_step_oldpreviousdiagonal) = (i)) /\ ((((exists ff_h_pfp_division_step_oldpreviousdiagonaltermleftentry. ff_h_pfp_division_step_oldpreviousdiagonaltermleftentry + S (pfc_left_division_step_oldpreviousdiagonalterm) = S ((S (pfc_index_division_step_oldpreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_step_oldpreviousdiagonaltermleftentry. qb = ff_q_pfp_division_step_oldpreviousdiagonaltermleftentry * S ((S (pfc_index_division_step_oldpreviousdiagonal)) * qc) + (pfc_left_division_step_oldpreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_step_oldpreviousdiagonaltermleftoutside. pfc_gap_division_step_oldpreviousdiagonaltermleftoutside+(i)=(pfc_index_division_step_oldpreviousdiagonal)) /\ (((pfc_left_division_step_oldpreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_step_oldpreviousdiagonaltermrightinside. pfa_gap_division_step_oldpreviousdiagonaltermrightinside + S (pfc_complement_division_step_oldpreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_step_oldpreviousdiagonaltermrightentry. ff_h_pfp_division_step_oldpreviousdiagonaltermrightentry + S (pfc_right_division_step_oldpreviousdiagonalterm) = S ((S (pfc_complement_division_step_oldpreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_step_oldpreviousdiagonaltermrightentry. bb = ff_q_pfp_division_step_oldpreviousdiagonaltermrightentry * S ((S (pfc_complement_division_step_oldpreviousdiagonalterm)) * bc) + (pfc_right_division_step_oldpreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_step_oldpreviousdiagonaltermrightoutside. pfc_gap_division_step_oldpreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_step_oldpreviousdiagonalterm)) /\ (((pfc_right_division_step_oldpreviousdiagonalterm)=0))))) /\ (((pfc_value_division_step_oldpreviousdiagonal)=pfc_left_division_step_oldpreviousdiagonalterm*pfc_right_division_step_oldpreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_step_oldprevioussum fs_v_pfc_division_step_oldprevioussum. ((((exists fs_h_pfc_division_step_oldprevioussum_body_start. fs_h_pfc_division_step_oldprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_step_oldprevioussum)) /\ exists fs_q_pfc_division_step_oldprevioussum_body_start. fs_u_pfc_division_step_oldprevioussum = fs_q_pfc_division_step_oldprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_step_oldprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_step_oldprevioussum_body_terminal. fs_h_pfc_division_step_oldprevioussum_body_terminal + S (pfc_natural_sum_division_step_oldprevious) = S ((S (S (i))) * fs_v_pfc_division_step_oldprevioussum)) /\ exists fs_q_pfc_division_step_oldprevioussum_body_terminal. fs_u_pfc_division_step_oldprevioussum = fs_q_pfc_division_step_oldprevioussum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_step_oldprevioussum) + (pfc_natural_sum_division_step_oldprevious))) /\ forall fs_i_pfc_division_step_oldprevioussum_body_steps. (exists fs_lt_pfc_division_step_oldprevioussum_body_steps_bound. fs_lt_pfc_division_step_oldprevioussum_body_steps_bound + S fs_i_pfc_division_step_oldprevioussum_body_steps = S (i)) -> exists fs_a_pfc_division_step_oldprevioussum_body_steps fs_r_pfc_division_step_oldprevioussum_body_steps fs_s_pfc_division_step_oldprevioussum_body_steps. ((((exists fs_h_pfc_division_step_oldprevioussum_body_steps_summand. fs_h_pfc_division_step_oldprevioussum_body_steps_summand + S (fs_a_pfc_division_step_oldprevioussum_body_steps) = S ((S (fs_i_pfc_division_step_oldprevioussum_body_steps)) * pfc_terms_scale_division_step_oldprevious)) /\ exists fs_q_pfc_division_step_oldprevioussum_body_steps_summand. pfc_terms_code_division_step_oldprevious = fs_q_pfc_division_step_oldprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_step_oldprevioussum_body_steps)) * pfc_terms_scale_division_step_oldprevious) + (fs_a_pfc_division_step_oldprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_step_oldprevioussum_body_steps_partial. fs_h_pfc_division_step_oldprevioussum_body_steps_partial + S (fs_r_pfc_division_step_oldprevioussum_body_steps) = S ((S (fs_i_pfc_division_step_oldprevioussum_body_steps)) * fs_v_pfc_division_step_oldprevioussum)) /\ exists fs_q_pfc_division_step_oldprevioussum_body_steps_partial. fs_u_pfc_division_step_oldprevioussum = fs_q_pfc_division_step_oldprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_step_oldprevioussum_body_steps)) * fs_v_pfc_division_step_oldprevioussum) + (fs_r_pfc_division_step_oldprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_step_oldprevioussum_body_steps_successor. fs_h_pfc_division_step_oldprevioussum_body_steps_successor + S (fs_s_pfc_division_step_oldprevioussum_body_steps) = S ((S (S fs_i_pfc_division_step_oldprevioussum_body_steps)) * fs_v_pfc_division_step_oldprevioussum)) /\ exists fs_q_pfc_division_step_oldprevioussum_body_steps_successor. fs_u_pfc_division_step_oldprevioussum = fs_q_pfc_division_step_oldprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_step_oldprevioussum_body_steps)) * fs_v_pfc_division_step_oldprevioussum) + (fs_s_pfc_division_step_oldprevioussum_body_steps))) /\ fs_s_pfc_division_step_oldprevioussum_body_steps = fs_r_pfc_division_step_oldprevioussum_body_steps + fs_a_pfc_division_step_oldprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_step_oldpreviousresiduebound. pfa_gap_division_step_oldpreviousresiduebound + S (pfd_previous_division_step_old) = (p)) /\ ((exists pfa_offset_left_division_step_oldpreviousresiduecongruence pfa_offset_right_division_step_oldpreviousresiduecongruence. (pfc_natural_sum_division_step_oldprevious) + (p) * pfa_offset_left_division_step_oldpreviousresiduecongruence = (pfd_previous_division_step_old) + (p) * pfa_offset_right_division_step_oldpreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_step_oldsubtractleft. pfa_gap_division_step_oldsubtractleft + S (pfd_previous_division_step_old) = (p)) /\ (((exists pfa_gap_division_step_oldsubtractright. pfa_gap_division_step_oldsubtractright + S (pfd_difference_division_step_old) = (p)) /\ ((((exists pfa_gap_division_step_oldsubtractresultbound. pfa_gap_division_step_oldsubtractresultbound + S (pfd_input_division_step_old) = (p)) /\ ((exists pfa_offset_left_division_step_oldsubtractresultcongruence pfa_offset_right_division_step_oldsubtractresultcongruence. ((pfd_previous_division_step_old) + (pfd_difference_division_step_old)) + (p) * pfa_offset_left_division_step_oldsubtractresultcongruence = (pfd_input_division_step_old) + (p) * pfa_offset_right_division_step_oldsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_step_oldmultiplyleft. pfa_gap_division_step_oldmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_step_oldmultiplyright. pfa_gap_division_step_oldmultiplyright + S (pfd_difference_division_step_old) = (p)) /\ ((((exists pfa_gap_division_step_oldmultiplyresultbound. pfa_gap_division_step_oldmultiplyresultbound + S (q) = (p)) /\ ((exists pfa_offset_left_division_step_oldmultiplyresultcongruence pfa_offset_right_division_step_oldmultiplyresultcongruence. ((k) * (pfd_difference_division_step_old)) + (p) * pfa_offset_left_division_step_oldmultiplyresultcongruence = (q) + (p) * pfa_offset_right_division_step_oldmultiplyresultcongruence)))))))))))))))) -> (exists pfd_input_division_step_new pfd_previous_division_step_new pfd_difference_division_step_new. ((((exists ff_h_pfp_division_step_newinput. ff_h_pfp_division_step_newinput + S (pfd_input_division_step_new) = S ((S (i)) * ac)) /\ exists ff_q_pfp_division_step_newinput. ab = ff_q_pfp_division_step_newinput * S ((S (i)) * ac) + (pfd_input_division_step_new))) /\ (((exists pfc_terms_code_division_step_newprevious pfc_terms_scale_division_step_newprevious pfc_natural_sum_division_step_newprevious. ((forall pfc_index_division_step_newpreviousdiagonal. (exists pfa_gap_division_step_newpreviousdiagonalbound. pfa_gap_division_step_newpreviousdiagonalbound + S (pfc_index_division_step_newpreviousdiagonal) = (S (i))) -> exists pfc_value_division_step_newpreviousdiagonal. ((((exists ff_h_pfp_division_step_newpreviousdiagonalentry. ff_h_pfp_division_step_newpreviousdiagonalentry + S (pfc_value_division_step_newpreviousdiagonal) = S ((S (pfc_index_division_step_newpreviousdiagonal)) * pfc_terms_scale_division_step_newprevious)) /\ exists ff_q_pfp_division_step_newpreviousdiagonalentry. pfc_terms_code_division_step_newprevious = ff_q_pfp_division_step_newpreviousdiagonalentry * S ((S (pfc_index_division_step_newpreviousdiagonal)) * pfc_terms_scale_division_step_newprevious) + (pfc_value_division_step_newpreviousdiagonal))) /\ ((exists pfc_complement_division_step_newpreviousdiagonalterm pfc_left_division_step_newpreviousdiagonalterm pfc_right_division_step_newpreviousdiagonalterm. (((pfc_index_division_step_newpreviousdiagonal)+pfc_complement_division_step_newpreviousdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_step_newpreviousdiagonaltermleftinside. pfa_gap_division_step_newpreviousdiagonaltermleftinside + S (pfc_index_division_step_newpreviousdiagonal) = (i)) /\ ((((exists ff_h_pfp_division_step_newpreviousdiagonaltermleftentry. ff_h_pfp_division_step_newpreviousdiagonaltermleftentry + S (pfc_left_division_step_newpreviousdiagonalterm) = S ((S (pfc_index_division_step_newpreviousdiagonal)) * QC)) /\ exists ff_q_pfp_division_step_newpreviousdiagonaltermleftentry. QB = ff_q_pfp_division_step_newpreviousdiagonaltermleftentry * S ((S (pfc_index_division_step_newpreviousdiagonal)) * QC) + (pfc_left_division_step_newpreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_step_newpreviousdiagonaltermleftoutside. pfc_gap_division_step_newpreviousdiagonaltermleftoutside+(i)=(pfc_index_division_step_newpreviousdiagonal)) /\ (((pfc_left_division_step_newpreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_step_newpreviousdiagonaltermrightinside. pfa_gap_division_step_newpreviousdiagonaltermrightinside + S (pfc_complement_division_step_newpreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_step_newpreviousdiagonaltermrightentry. ff_h_pfp_division_step_newpreviousdiagonaltermrightentry + S (pfc_right_division_step_newpreviousdiagonalterm) = S ((S (pfc_complement_division_step_newpreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_step_newpreviousdiagonaltermrightentry. bb = ff_q_pfp_division_step_newpreviousdiagonaltermrightentry * S ((S (pfc_complement_division_step_newpreviousdiagonalterm)) * bc) + (pfc_right_division_step_newpreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_step_newpreviousdiagonaltermrightoutside. pfc_gap_division_step_newpreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_step_newpreviousdiagonalterm)) /\ (((pfc_right_division_step_newpreviousdiagonalterm)=0))))) /\ (((pfc_value_division_step_newpreviousdiagonal)=pfc_left_division_step_newpreviousdiagonalterm*pfc_right_division_step_newpreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_step_newprevioussum fs_v_pfc_division_step_newprevioussum. ((((exists fs_h_pfc_division_step_newprevioussum_body_start. fs_h_pfc_division_step_newprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_step_newprevioussum)) /\ exists fs_q_pfc_division_step_newprevioussum_body_start. fs_u_pfc_division_step_newprevioussum = fs_q_pfc_division_step_newprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_step_newprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_step_newprevioussum_body_terminal. fs_h_pfc_division_step_newprevioussum_body_terminal + S (pfc_natural_sum_division_step_newprevious) = S ((S (S (i))) * fs_v_pfc_division_step_newprevioussum)) /\ exists fs_q_pfc_division_step_newprevioussum_body_terminal. fs_u_pfc_division_step_newprevioussum = fs_q_pfc_division_step_newprevioussum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_step_newprevioussum) + (pfc_natural_sum_division_step_newprevious))) /\ forall fs_i_pfc_division_step_newprevioussum_body_steps. (exists fs_lt_pfc_division_step_newprevioussum_body_steps_bound. fs_lt_pfc_division_step_newprevioussum_body_steps_bound + S fs_i_pfc_division_step_newprevioussum_body_steps = S (i)) -> exists fs_a_pfc_division_step_newprevioussum_body_steps fs_r_pfc_division_step_newprevioussum_body_steps fs_s_pfc_division_step_newprevioussum_body_steps. ((((exists fs_h_pfc_division_step_newprevioussum_body_steps_summand. fs_h_pfc_division_step_newprevioussum_body_steps_summand + S (fs_a_pfc_division_step_newprevioussum_body_steps) = S ((S (fs_i_pfc_division_step_newprevioussum_body_steps)) * pfc_terms_scale_division_step_newprevious)) /\ exists fs_q_pfc_division_step_newprevioussum_body_steps_summand. pfc_terms_code_division_step_newprevious = fs_q_pfc_division_step_newprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_step_newprevioussum_body_steps)) * pfc_terms_scale_division_step_newprevious) + (fs_a_pfc_division_step_newprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_step_newprevioussum_body_steps_partial. fs_h_pfc_division_step_newprevioussum_body_steps_partial + S (fs_r_pfc_division_step_newprevioussum_body_steps) = S ((S (fs_i_pfc_division_step_newprevioussum_body_steps)) * fs_v_pfc_division_step_newprevioussum)) /\ exists fs_q_pfc_division_step_newprevioussum_body_steps_partial. fs_u_pfc_division_step_newprevioussum = fs_q_pfc_division_step_newprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_step_newprevioussum_body_steps)) * fs_v_pfc_division_step_newprevioussum) + (fs_r_pfc_division_step_newprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_step_newprevioussum_body_steps_successor. fs_h_pfc_division_step_newprevioussum_body_steps_successor + S (fs_s_pfc_division_step_newprevioussum_body_steps) = S ((S (S fs_i_pfc_division_step_newprevioussum_body_steps)) * fs_v_pfc_division_step_newprevioussum)) /\ exists fs_q_pfc_division_step_newprevioussum_body_steps_successor. fs_u_pfc_division_step_newprevioussum = fs_q_pfc_division_step_newprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_step_newprevioussum_body_steps)) * fs_v_pfc_division_step_newprevioussum) + (fs_s_pfc_division_step_newprevioussum_body_steps))) /\ fs_s_pfc_division_step_newprevioussum_body_steps = fs_r_pfc_division_step_newprevioussum_body_steps + fs_a_pfc_division_step_newprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_step_newpreviousresiduebound. pfa_gap_division_step_newpreviousresiduebound + S (pfd_previous_division_step_new) = (p)) /\ ((exists pfa_offset_left_division_step_newpreviousresiduecongruence pfa_offset_right_division_step_newpreviousresiduecongruence. (pfc_natural_sum_division_step_newprevious) + (p) * pfa_offset_left_division_step_newpreviousresiduecongruence = (pfd_previous_division_step_new) + (p) * pfa_offset_right_division_step_newpreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_step_newsubtractleft. pfa_gap_division_step_newsubtractleft + S (pfd_previous_division_step_new) = (p)) /\ (((exists pfa_gap_division_step_newsubtractright. pfa_gap_division_step_newsubtractright + S (pfd_difference_division_step_new) = (p)) /\ ((((exists pfa_gap_division_step_newsubtractresultbound. pfa_gap_division_step_newsubtractresultbound + S (pfd_input_division_step_new) = (p)) /\ ((exists pfa_offset_left_division_step_newsubtractresultcongruence pfa_offset_right_division_step_newsubtractresultcongruence. ((pfd_previous_division_step_new) + (pfd_difference_division_step_new)) + (p) * pfa_offset_left_division_step_newsubtractresultcongruence = (pfd_input_division_step_new) + (p) * pfa_offset_right_division_step_newsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_step_newmultiplyleft. pfa_gap_division_step_newmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_step_newmultiplyright. pfa_gap_division_step_newmultiplyright + S (pfd_difference_division_step_new) = (p)) /\ ((((exists pfa_gap_division_step_newmultiplyresultbound. pfa_gap_division_step_newmultiplyresultbound + S (q) = (p)) /\ ((exists pfa_offset_left_division_step_newmultiplyresultcongruence pfa_offset_right_division_step_newmultiplyresultcongruence. ((k) * (pfd_difference_division_step_new)) + (p) * pfa_offset_left_division_step_newmultiplyresultcongruence = (q) + (p) * pfa_offset_right_division_step_newmultiplyresultcongruence))))))))))))))))
intro pintro kintro abintro acintro bbintro bcintro Mintro qbintro qcintro QBintro QCintro iintro qintro heintro hscases hscases hs_witnesscases hs_witness_witnesscases hs_witness_witness_witnesscases hs_witness_witness_witness_rightcases hs_witness_witness_witness_right_rightexists xexists x1exists x2splitexact hs_witness_witness_witness_leftsplitspecialize prime_field_convolution_coefficient_transport (p)specialize prime_field_convolution_coefficient_transport (qb)specialize prime_field_convolution_coefficient_transport (qc)specialize prime_field_convolution_coefficient_transport (i)specialize prime_field_convolution_coefficient_transport (bb)specialize prime_field_convolution_coefficient_transport (bc)specialize prime_field_convolution_coefficient_transport (M)specialize prime_field_convolution_coefficient_transport (i)specialize prime_field_convolution_coefficient_transport (QB)specialize prime_field_convolution_coefficient_transport (QC)specialize prime_field_convolution_coefficient_transport (bb)specialize prime_field_convolution_coefficient_transport (bc)specialize prime_field_convolution_coefficient_transport (x1)apply prime_field_convolution_coefficient_transportexact heintro jintro vintro hjintro hvexact hvexact hs_witness_witness_witness_right_leftsplitexact hs_witness_witness_witness_right_right_leftexact hs_witness_witness_witness_right_right_right
prime_field_polynomial_quotient_prefix_append · unchanged support, not a new admission
forall p k ab ac bb bc M qb qc QB QC N q. (forall pfd_index_division_append_old. (exists pfa_gap_division_append_oldbound. pfa_gap_division_append_oldbound + S (pfd_index_division_append_old) = (N)) -> exists pfd_value_division_append_old. ((((exists ff_h_pfp_division_append_oldentry. ff_h_pfp_division_append_oldentry + S (pfd_value_division_append_old) = S ((S (pfd_index_division_append_old)) * qc)) /\ exists ff_q_pfp_division_append_oldentry. qb = ff_q_pfp_division_append_oldentry * S ((S (pfd_index_division_append_old)) * qc) + (pfd_value_division_append_old))) /\ ((exists pfd_input_division_append_oldstep pfd_previous_division_append_oldstep pfd_difference_division_append_oldstep. ((((exists ff_h_pfp_division_append_oldstepinput. ff_h_pfp_division_append_oldstepinput + S (pfd_input_division_append_oldstep) = S ((S (pfd_index_division_append_old)) * ac)) /\ exists ff_q_pfp_division_append_oldstepinput. ab = ff_q_pfp_division_append_oldstepinput * S ((S (pfd_index_division_append_old)) * ac) + (pfd_input_division_append_oldstep))) /\ (((exists pfc_terms_code_division_append_oldstepprevious pfc_terms_scale_division_append_oldstepprevious pfc_natural_sum_division_append_oldstepprevious. ((forall pfc_index_division_append_oldsteppreviousdiagonal. (exists pfa_gap_division_append_oldsteppreviousdiagonalbound. pfa_gap_division_append_oldsteppreviousdiagonalbound + S (pfc_index_division_append_oldsteppreviousdiagonal) = (S (pfd_index_division_append_old))) -> exists pfc_value_division_append_oldsteppreviousdiagonal. ((((exists ff_h_pfp_division_append_oldsteppreviousdiagonalentry. ff_h_pfp_division_append_oldsteppreviousdiagonalentry + S (pfc_value_division_append_oldsteppreviousdiagonal) = S ((S (pfc_index_division_append_oldsteppreviousdiagonal)) * pfc_terms_scale_division_append_oldstepprevious)) /\ exists ff_q_pfp_division_append_oldsteppreviousdiagonalentry. pfc_terms_code_division_append_oldstepprevious = ff_q_pfp_division_append_oldsteppreviousdiagonalentry * S ((S (pfc_index_division_append_oldsteppreviousdiagonal)) * pfc_terms_scale_division_append_oldstepprevious) + (pfc_value_division_append_oldsteppreviousdiagonal))) /\ ((exists pfc_complement_division_append_oldsteppreviousdiagonalterm pfc_left_division_append_oldsteppreviousdiagonalterm pfc_right_division_append_oldsteppreviousdiagonalterm. (((pfc_index_division_append_oldsteppreviousdiagonal)+pfc_complement_division_append_oldsteppreviousdiagonalterm=(pfd_index_division_append_old)) /\ ((((((exists pfa_gap_division_append_oldsteppreviousdiagonaltermleftinside. pfa_gap_division_append_oldsteppreviousdiagonaltermleftinside + S (pfc_index_division_append_oldsteppreviousdiagonal) = (pfd_index_division_append_old)) /\ ((((exists ff_h_pfp_division_append_oldsteppreviousdiagonaltermleftentry. ff_h_pfp_division_append_oldsteppreviousdiagonaltermleftentry + S (pfc_left_division_append_oldsteppreviousdiagonalterm) = S ((S (pfc_index_division_append_oldsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_append_oldsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_append_oldsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_append_oldsteppreviousdiagonal)) * qc) + (pfc_left_division_append_oldsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_append_oldsteppreviousdiagonaltermleftoutside. pfc_gap_division_append_oldsteppreviousdiagonaltermleftoutside+(pfd_index_division_append_old)=(pfc_index_division_append_oldsteppreviousdiagonal)) /\ (((pfc_left_division_append_oldsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_append_oldsteppreviousdiagonaltermrightinside. pfa_gap_division_append_oldsteppreviousdiagonaltermrightinside + S (pfc_complement_division_append_oldsteppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_append_oldsteppreviousdiagonaltermrightentry. ff_h_pfp_division_append_oldsteppreviousdiagonaltermrightentry + S (pfc_right_division_append_oldsteppreviousdiagonalterm) = S ((S (pfc_complement_division_append_oldsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_append_oldsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_append_oldsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_append_oldsteppreviousdiagonalterm)) * bc) + (pfc_right_division_append_oldsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_append_oldsteppreviousdiagonaltermrightoutside. pfc_gap_division_append_oldsteppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_append_oldsteppreviousdiagonalterm)) /\ (((pfc_right_division_append_oldsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_append_oldsteppreviousdiagonal)=pfc_left_division_append_oldsteppreviousdiagonalterm*pfc_right_division_append_oldsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_append_oldstepprevioussum fs_v_pfc_division_append_oldstepprevioussum. ((((exists fs_h_pfc_division_append_oldstepprevioussum_body_start. fs_h_pfc_division_append_oldstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_append_oldstepprevioussum)) /\ exists fs_q_pfc_division_append_oldstepprevioussum_body_start. fs_u_pfc_division_append_oldstepprevioussum = fs_q_pfc_division_append_oldstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_append_oldstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_append_oldstepprevioussum_body_terminal. fs_h_pfc_division_append_oldstepprevioussum_body_terminal + S (pfc_natural_sum_division_append_oldstepprevious) = S ((S (S (pfd_index_division_append_old))) * fs_v_pfc_division_append_oldstepprevioussum)) /\ exists fs_q_pfc_division_append_oldstepprevioussum_body_terminal. fs_u_pfc_division_append_oldstepprevioussum = fs_q_pfc_division_append_oldstepprevioussum_body_terminal * S ((S (S (pfd_index_division_append_old))) * fs_v_pfc_division_append_oldstepprevioussum) + (pfc_natural_sum_division_append_oldstepprevious))) /\ forall fs_i_pfc_division_append_oldstepprevioussum_body_steps. (exists fs_lt_pfc_division_append_oldstepprevioussum_body_steps_bound. fs_lt_pfc_division_append_oldstepprevioussum_body_steps_bound + S fs_i_pfc_division_append_oldstepprevioussum_body_steps = S (pfd_index_division_append_old)) -> exists fs_a_pfc_division_append_oldstepprevioussum_body_steps fs_r_pfc_division_append_oldstepprevioussum_body_steps fs_s_pfc_division_append_oldstepprevioussum_body_steps. ((((exists fs_h_pfc_division_append_oldstepprevioussum_body_steps_summand. fs_h_pfc_division_append_oldstepprevioussum_body_steps_summand + S (fs_a_pfc_division_append_oldstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_append_oldstepprevioussum_body_steps)) * pfc_terms_scale_division_append_oldstepprevious)) /\ exists fs_q_pfc_division_append_oldstepprevioussum_body_steps_summand. pfc_terms_code_division_append_oldstepprevious = fs_q_pfc_division_append_oldstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_append_oldstepprevioussum_body_steps)) * pfc_terms_scale_division_append_oldstepprevious) + (fs_a_pfc_division_append_oldstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_append_oldstepprevioussum_body_steps_partial. fs_h_pfc_division_append_oldstepprevioussum_body_steps_partial + S (fs_r_pfc_division_append_oldstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_append_oldstepprevioussum_body_steps)) * fs_v_pfc_division_append_oldstepprevioussum)) /\ exists fs_q_pfc_division_append_oldstepprevioussum_body_steps_partial. fs_u_pfc_division_append_oldstepprevioussum = fs_q_pfc_division_append_oldstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_append_oldstepprevioussum_body_steps)) * fs_v_pfc_division_append_oldstepprevioussum) + (fs_r_pfc_division_append_oldstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_append_oldstepprevioussum_body_steps_successor. fs_h_pfc_division_append_oldstepprevioussum_body_steps_successor + S (fs_s_pfc_division_append_oldstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_append_oldstepprevioussum_body_steps)) * fs_v_pfc_division_append_oldstepprevioussum)) /\ exists fs_q_pfc_division_append_oldstepprevioussum_body_steps_successor. fs_u_pfc_division_append_oldstepprevioussum = fs_q_pfc_division_append_oldstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_append_oldstepprevioussum_body_steps)) * fs_v_pfc_division_append_oldstepprevioussum) + (fs_s_pfc_division_append_oldstepprevioussum_body_steps))) /\ fs_s_pfc_division_append_oldstepprevioussum_body_steps = fs_r_pfc_division_append_oldstepprevioussum_body_steps + fs_a_pfc_division_append_oldstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_append_oldsteppreviousresiduebound. pfa_gap_division_append_oldsteppreviousresiduebound + S (pfd_previous_division_append_oldstep) = (p)) /\ ((exists pfa_offset_left_division_append_oldsteppreviousresiduecongruence pfa_offset_right_division_append_oldsteppreviousresiduecongruence. (pfc_natural_sum_division_append_oldstepprevious) + (p) * pfa_offset_left_division_append_oldsteppreviousresiduecongruence = (pfd_previous_division_append_oldstep) + (p) * pfa_offset_right_division_append_oldsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_append_oldstepsubtractleft. pfa_gap_division_append_oldstepsubtractleft + S (pfd_previous_division_append_oldstep) = (p)) /\ (((exists pfa_gap_division_append_oldstepsubtractright. pfa_gap_division_append_oldstepsubtractright + S (pfd_difference_division_append_oldstep) = (p)) /\ ((((exists pfa_gap_division_append_oldstepsubtractresultbound. pfa_gap_division_append_oldstepsubtractresultbound + S (pfd_input_division_append_oldstep) = (p)) /\ ((exists pfa_offset_left_division_append_oldstepsubtractresultcongruence pfa_offset_right_division_append_oldstepsubtractresultcongruence. ((pfd_previous_division_append_oldstep) + (pfd_difference_division_append_oldstep)) + (p) * pfa_offset_left_division_append_oldstepsubtractresultcongruence = (pfd_input_division_append_oldstep) + (p) * pfa_offset_right_division_append_oldstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_append_oldstepmultiplyleft. pfa_gap_division_append_oldstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_append_oldstepmultiplyright. pfa_gap_division_append_oldstepmultiplyright + S (pfd_difference_division_append_oldstep) = (p)) /\ ((((exists pfa_gap_division_append_oldstepmultiplyresultbound. pfa_gap_division_append_oldstepmultiplyresultbound + S (pfd_value_division_append_old) = (p)) /\ ((exists pfa_offset_left_division_append_oldstepmultiplyresultcongruence pfa_offset_right_division_append_oldstepmultiplyresultcongruence. ((k) * (pfd_difference_division_append_oldstep)) + (p) * pfa_offset_left_division_append_oldstepmultiplyresultcongruence = (pfd_value_division_append_old) + (p) * pfa_offset_right_division_append_oldstepmultiplyresultcongruence))))))))))))))))))) -> (forall mdr_i_pfp_division_append_equal mdr_a_pfp_division_append_equal. (exists mdr_gap_pfp_division_append_equalb. mdr_gap_pfp_division_append_equalb + S (mdr_i_pfp_division_append_equal) = (N)) -> (((exists ff_h_mdr_pfp_division_append_equalo. ff_h_mdr_pfp_division_append_equalo + S (mdr_a_pfp_division_append_equal) = S ((S (mdr_i_pfp_division_append_equal)) * qc)) /\ exists ff_q_mdr_pfp_division_append_equalo. qb = ff_q_mdr_pfp_division_append_equalo * S ((S (mdr_i_pfp_division_append_equal)) * qc) + (mdr_a_pfp_division_append_equal))) -> (((exists ff_h_mdr_pfp_division_append_equaln. ff_h_mdr_pfp_division_append_equaln + S (mdr_a_pfp_division_append_equal) = S ((S (mdr_i_pfp_division_append_equal)) * QC)) /\ exists ff_q_mdr_pfp_division_append_equaln. QB = ff_q_mdr_pfp_division_append_equaln * S ((S (mdr_i_pfp_division_append_equal)) * QC) + (mdr_a_pfp_division_append_equal)))) -> (((exists ff_h_pfp_division_append_given_entry. ff_h_pfp_division_append_given_entry + S (q) = S ((S (N)) * QC)) /\ exists ff_q_pfp_division_append_given_entry. QB = ff_q_pfp_division_append_given_entry * S ((S (N)) * QC) + (q))) -> (exists pfd_input_division_append_given_step pfd_previous_division_append_given_step pfd_difference_division_append_given_step. ((((exists ff_h_pfp_division_append_given_stepinput. ff_h_pfp_division_append_given_stepinput + S (pfd_input_division_append_given_step) = S ((S (N)) * ac)) /\ exists ff_q_pfp_division_append_given_stepinput. ab = ff_q_pfp_division_append_given_stepinput * S ((S (N)) * ac) + (pfd_input_division_append_given_step))) /\ (((exists pfc_terms_code_division_append_given_stepprevious pfc_terms_scale_division_append_given_stepprevious pfc_natural_sum_division_append_given_stepprevious. ((forall pfc_index_division_append_given_steppreviousdiagonal. (exists pfa_gap_division_append_given_steppreviousdiagonalbound. pfa_gap_division_append_given_steppreviousdiagonalbound + S (pfc_index_division_append_given_steppreviousdiagonal) = (S (N))) -> exists pfc_value_division_append_given_steppreviousdiagonal. ((((exists ff_h_pfp_division_append_given_steppreviousdiagonalentry. ff_h_pfp_division_append_given_steppreviousdiagonalentry + S (pfc_value_division_append_given_steppreviousdiagonal) = S ((S (pfc_index_division_append_given_steppreviousdiagonal)) * pfc_terms_scale_division_append_given_stepprevious)) /\ exists ff_q_pfp_division_append_given_steppreviousdiagonalentry. pfc_terms_code_division_append_given_stepprevious = ff_q_pfp_division_append_given_steppreviousdiagonalentry * S ((S (pfc_index_division_append_given_steppreviousdiagonal)) * pfc_terms_scale_division_append_given_stepprevious) + (pfc_value_division_append_given_steppreviousdiagonal))) /\ ((exists pfc_complement_division_append_given_steppreviousdiagonalterm pfc_left_division_append_given_steppreviousdiagonalterm pfc_right_division_append_given_steppreviousdiagonalterm. (((pfc_index_division_append_given_steppreviousdiagonal)+pfc_complement_division_append_given_steppreviousdiagonalterm=(N)) /\ ((((((exists pfa_gap_division_append_given_steppreviousdiagonaltermleftinside. pfa_gap_division_append_given_steppreviousdiagonaltermleftinside + S (pfc_index_division_append_given_steppreviousdiagonal) = (N)) /\ ((((exists ff_h_pfp_division_append_given_steppreviousdiagonaltermleftentry. ff_h_pfp_division_append_given_steppreviousdiagonaltermleftentry + S (pfc_left_division_append_given_steppreviousdiagonalterm) = S ((S (pfc_index_division_append_given_steppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_append_given_steppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_append_given_steppreviousdiagonaltermleftentry * S ((S (pfc_index_division_append_given_steppreviousdiagonal)) * qc) + (pfc_left_division_append_given_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_append_given_steppreviousdiagonaltermleftoutside. pfc_gap_division_append_given_steppreviousdiagonaltermleftoutside+(N)=(pfc_index_division_append_given_steppreviousdiagonal)) /\ (((pfc_left_division_append_given_steppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_append_given_steppreviousdiagonaltermrightinside. pfa_gap_division_append_given_steppreviousdiagonaltermrightinside + S (pfc_complement_division_append_given_steppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_append_given_steppreviousdiagonaltermrightentry. ff_h_pfp_division_append_given_steppreviousdiagonaltermrightentry + S (pfc_right_division_append_given_steppreviousdiagonalterm) = S ((S (pfc_complement_division_append_given_steppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_append_given_steppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_append_given_steppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_append_given_steppreviousdiagonalterm)) * bc) + (pfc_right_division_append_given_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_append_given_steppreviousdiagonaltermrightoutside. pfc_gap_division_append_given_steppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_append_given_steppreviousdiagonalterm)) /\ (((pfc_right_division_append_given_steppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_append_given_steppreviousdiagonal)=pfc_left_division_append_given_steppreviousdiagonalterm*pfc_right_division_append_given_steppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_append_given_stepprevioussum fs_v_pfc_division_append_given_stepprevioussum. ((((exists fs_h_pfc_division_append_given_stepprevioussum_body_start. fs_h_pfc_division_append_given_stepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_append_given_stepprevioussum)) /\ exists fs_q_pfc_division_append_given_stepprevioussum_body_start. fs_u_pfc_division_append_given_stepprevioussum = fs_q_pfc_division_append_given_stepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_append_given_stepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_append_given_stepprevioussum_body_terminal. fs_h_pfc_division_append_given_stepprevioussum_body_terminal + S (pfc_natural_sum_division_append_given_stepprevious) = S ((S (S (N))) * fs_v_pfc_division_append_given_stepprevioussum)) /\ exists fs_q_pfc_division_append_given_stepprevioussum_body_terminal. fs_u_pfc_division_append_given_stepprevioussum = fs_q_pfc_division_append_given_stepprevioussum_body_terminal * S ((S (S (N))) * fs_v_pfc_division_append_given_stepprevioussum) + (pfc_natural_sum_division_append_given_stepprevious))) /\ forall fs_i_pfc_division_append_given_stepprevioussum_body_steps. (exists fs_lt_pfc_division_append_given_stepprevioussum_body_steps_bound. fs_lt_pfc_division_append_given_stepprevioussum_body_steps_bound + S fs_i_pfc_division_append_given_stepprevioussum_body_steps = S (N)) -> exists fs_a_pfc_division_append_given_stepprevioussum_body_steps fs_r_pfc_division_append_given_stepprevioussum_body_steps fs_s_pfc_division_append_given_stepprevioussum_body_steps. ((((exists fs_h_pfc_division_append_given_stepprevioussum_body_steps_summand. fs_h_pfc_division_append_given_stepprevioussum_body_steps_summand + S (fs_a_pfc_division_append_given_stepprevioussum_body_steps) = S ((S (fs_i_pfc_division_append_given_stepprevioussum_body_steps)) * pfc_terms_scale_division_append_given_stepprevious)) /\ exists fs_q_pfc_division_append_given_stepprevioussum_body_steps_summand. pfc_terms_code_division_append_given_stepprevious = fs_q_pfc_division_append_given_stepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_append_given_stepprevioussum_body_steps)) * pfc_terms_scale_division_append_given_stepprevious) + (fs_a_pfc_division_append_given_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_append_given_stepprevioussum_body_steps_partial. fs_h_pfc_division_append_given_stepprevioussum_body_steps_partial + S (fs_r_pfc_division_append_given_stepprevioussum_body_steps) = S ((S (fs_i_pfc_division_append_given_stepprevioussum_body_steps)) * fs_v_pfc_division_append_given_stepprevioussum)) /\ exists fs_q_pfc_division_append_given_stepprevioussum_body_steps_partial. fs_u_pfc_division_append_given_stepprevioussum = fs_q_pfc_division_append_given_stepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_append_given_stepprevioussum_body_steps)) * fs_v_pfc_division_append_given_stepprevioussum) + (fs_r_pfc_division_append_given_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_append_given_stepprevioussum_body_steps_successor. fs_h_pfc_division_append_given_stepprevioussum_body_steps_successor + S (fs_s_pfc_division_append_given_stepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_append_given_stepprevioussum_body_steps)) * fs_v_pfc_division_append_given_stepprevioussum)) /\ exists fs_q_pfc_division_append_given_stepprevioussum_body_steps_successor. fs_u_pfc_division_append_given_stepprevioussum = fs_q_pfc_division_append_given_stepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_append_given_stepprevioussum_body_steps)) * fs_v_pfc_division_append_given_stepprevioussum) + (fs_s_pfc_division_append_given_stepprevioussum_body_steps))) /\ fs_s_pfc_division_append_given_stepprevioussum_body_steps = fs_r_pfc_division_append_given_stepprevioussum_body_steps + fs_a_pfc_division_append_given_stepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_append_given_steppreviousresiduebound. pfa_gap_division_append_given_steppreviousresiduebound + S (pfd_previous_division_append_given_step) = (p)) /\ ((exists pfa_offset_left_division_append_given_steppreviousresiduecongruence pfa_offset_right_division_append_given_steppreviousresiduecongruence. (pfc_natural_sum_division_append_given_stepprevious) + (p) * pfa_offset_left_division_append_given_steppreviousresiduecongruence = (pfd_previous_division_append_given_step) + (p) * pfa_offset_right_division_append_given_steppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_append_given_stepsubtractleft. pfa_gap_division_append_given_stepsubtractleft + S (pfd_previous_division_append_given_step) = (p)) /\ (((exists pfa_gap_division_append_given_stepsubtractright. pfa_gap_division_append_given_stepsubtractright + S (pfd_difference_division_append_given_step) = (p)) /\ ((((exists pfa_gap_division_append_given_stepsubtractresultbound. pfa_gap_division_append_given_stepsubtractresultbound + S (pfd_input_division_append_given_step) = (p)) /\ ((exists pfa_offset_left_division_append_given_stepsubtractresultcongruence pfa_offset_right_division_append_given_stepsubtractresultcongruence. ((pfd_previous_division_append_given_step) + (pfd_difference_division_append_given_step)) + (p) * pfa_offset_left_division_append_given_stepsubtractresultcongruence = (pfd_input_division_append_given_step) + (p) * pfa_offset_right_division_append_given_stepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_append_given_stepmultiplyleft. pfa_gap_division_append_given_stepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_append_given_stepmultiplyright. pfa_gap_division_append_given_stepmultiplyright + S (pfd_difference_division_append_given_step) = (p)) /\ ((((exists pfa_gap_division_append_given_stepmultiplyresultbound. pfa_gap_division_append_given_stepmultiplyresultbound + S (q) = (p)) /\ ((exists pfa_offset_left_division_append_given_stepmultiplyresultcongruence pfa_offset_right_division_append_given_stepmultiplyresultcongruence. ((k) * (pfd_difference_division_append_given_step)) + (p) * pfa_offset_left_division_append_given_stepmultiplyresultcongruence = (q) + (p) * pfa_offset_right_division_append_given_stepmultiplyresultcongruence)))))))))))))))) -> (forall pfd_index_division_append_new. (exists pfa_gap_division_append_newbound. pfa_gap_division_append_newbound + S (pfd_index_division_append_new) = (S N)) -> exists pfd_value_division_append_new. ((((exists ff_h_pfp_division_append_newentry. ff_h_pfp_division_append_newentry + S (pfd_value_division_append_new) = S ((S (pfd_index_division_append_new)) * QC)) /\ exists ff_q_pfp_division_append_newentry. QB = ff_q_pfp_division_append_newentry * S ((S (pfd_index_division_append_new)) * QC) + (pfd_value_division_append_new))) /\ ((exists pfd_input_division_append_newstep pfd_previous_division_append_newstep pfd_difference_division_append_newstep. ((((exists ff_h_pfp_division_append_newstepinput. ff_h_pfp_division_append_newstepinput + S (pfd_input_division_append_newstep) = S ((S (pfd_index_division_append_new)) * ac)) /\ exists ff_q_pfp_division_append_newstepinput. ab = ff_q_pfp_division_append_newstepinput * S ((S (pfd_index_division_append_new)) * ac) + (pfd_input_division_append_newstep))) /\ (((exists pfc_terms_code_division_append_newstepprevious pfc_terms_scale_division_append_newstepprevious pfc_natural_sum_division_append_newstepprevious. ((forall pfc_index_division_append_newsteppreviousdiagonal. (exists pfa_gap_division_append_newsteppreviousdiagonalbound. pfa_gap_division_append_newsteppreviousdiagonalbound + S (pfc_index_division_append_newsteppreviousdiagonal) = (S (pfd_index_division_append_new))) -> exists pfc_value_division_append_newsteppreviousdiagonal. ((((exists ff_h_pfp_division_append_newsteppreviousdiagonalentry. ff_h_pfp_division_append_newsteppreviousdiagonalentry + S (pfc_value_division_append_newsteppreviousdiagonal) = S ((S (pfc_index_division_append_newsteppreviousdiagonal)) * pfc_terms_scale_division_append_newstepprevious)) /\ exists ff_q_pfp_division_append_newsteppreviousdiagonalentry. pfc_terms_code_division_append_newstepprevious = ff_q_pfp_division_append_newsteppreviousdiagonalentry * S ((S (pfc_index_division_append_newsteppreviousdiagonal)) * pfc_terms_scale_division_append_newstepprevious) + (pfc_value_division_append_newsteppreviousdiagonal))) /\ ((exists pfc_complement_division_append_newsteppreviousdiagonalterm pfc_left_division_append_newsteppreviousdiagonalterm pfc_right_division_append_newsteppreviousdiagonalterm. (((pfc_index_division_append_newsteppreviousdiagonal)+pfc_complement_division_append_newsteppreviousdiagonalterm=(pfd_index_division_append_new)) /\ ((((((exists pfa_gap_division_append_newsteppreviousdiagonaltermleftinside. pfa_gap_division_append_newsteppreviousdiagonaltermleftinside + S (pfc_index_division_append_newsteppreviousdiagonal) = (pfd_index_division_append_new)) /\ ((((exists ff_h_pfp_division_append_newsteppreviousdiagonaltermleftentry. ff_h_pfp_division_append_newsteppreviousdiagonaltermleftentry + S (pfc_left_division_append_newsteppreviousdiagonalterm) = S ((S (pfc_index_division_append_newsteppreviousdiagonal)) * QC)) /\ exists ff_q_pfp_division_append_newsteppreviousdiagonaltermleftentry. QB = ff_q_pfp_division_append_newsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_append_newsteppreviousdiagonal)) * QC) + (pfc_left_division_append_newsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_append_newsteppreviousdiagonaltermleftoutside. pfc_gap_division_append_newsteppreviousdiagonaltermleftoutside+(pfd_index_division_append_new)=(pfc_index_division_append_newsteppreviousdiagonal)) /\ (((pfc_left_division_append_newsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_append_newsteppreviousdiagonaltermrightinside. pfa_gap_division_append_newsteppreviousdiagonaltermrightinside + S (pfc_complement_division_append_newsteppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_append_newsteppreviousdiagonaltermrightentry. ff_h_pfp_division_append_newsteppreviousdiagonaltermrightentry + S (pfc_right_division_append_newsteppreviousdiagonalterm) = S ((S (pfc_complement_division_append_newsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_append_newsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_append_newsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_append_newsteppreviousdiagonalterm)) * bc) + (pfc_right_division_append_newsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_append_newsteppreviousdiagonaltermrightoutside. pfc_gap_division_append_newsteppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_append_newsteppreviousdiagonalterm)) /\ (((pfc_right_division_append_newsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_append_newsteppreviousdiagonal)=pfc_left_division_append_newsteppreviousdiagonalterm*pfc_right_division_append_newsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_append_newstepprevioussum fs_v_pfc_division_append_newstepprevioussum. ((((exists fs_h_pfc_division_append_newstepprevioussum_body_start. fs_h_pfc_division_append_newstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_append_newstepprevioussum)) /\ exists fs_q_pfc_division_append_newstepprevioussum_body_start. fs_u_pfc_division_append_newstepprevioussum = fs_q_pfc_division_append_newstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_append_newstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_append_newstepprevioussum_body_terminal. fs_h_pfc_division_append_newstepprevioussum_body_terminal + S (pfc_natural_sum_division_append_newstepprevious) = S ((S (S (pfd_index_division_append_new))) * fs_v_pfc_division_append_newstepprevioussum)) /\ exists fs_q_pfc_division_append_newstepprevioussum_body_terminal. fs_u_pfc_division_append_newstepprevioussum = fs_q_pfc_division_append_newstepprevioussum_body_terminal * S ((S (S (pfd_index_division_append_new))) * fs_v_pfc_division_append_newstepprevioussum) + (pfc_natural_sum_division_append_newstepprevious))) /\ forall fs_i_pfc_division_append_newstepprevioussum_body_steps. (exists fs_lt_pfc_division_append_newstepprevioussum_body_steps_bound. fs_lt_pfc_division_append_newstepprevioussum_body_steps_bound + S fs_i_pfc_division_append_newstepprevioussum_body_steps = S (pfd_index_division_append_new)) -> exists fs_a_pfc_division_append_newstepprevioussum_body_steps fs_r_pfc_division_append_newstepprevioussum_body_steps fs_s_pfc_division_append_newstepprevioussum_body_steps. ((((exists fs_h_pfc_division_append_newstepprevioussum_body_steps_summand. fs_h_pfc_division_append_newstepprevioussum_body_steps_summand + S (fs_a_pfc_division_append_newstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_append_newstepprevioussum_body_steps)) * pfc_terms_scale_division_append_newstepprevious)) /\ exists fs_q_pfc_division_append_newstepprevioussum_body_steps_summand. pfc_terms_code_division_append_newstepprevious = fs_q_pfc_division_append_newstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_append_newstepprevioussum_body_steps)) * pfc_terms_scale_division_append_newstepprevious) + (fs_a_pfc_division_append_newstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_append_newstepprevioussum_body_steps_partial. fs_h_pfc_division_append_newstepprevioussum_body_steps_partial + S (fs_r_pfc_division_append_newstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_append_newstepprevioussum_body_steps)) * fs_v_pfc_division_append_newstepprevioussum)) /\ exists fs_q_pfc_division_append_newstepprevioussum_body_steps_partial. fs_u_pfc_division_append_newstepprevioussum = fs_q_pfc_division_append_newstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_append_newstepprevioussum_body_steps)) * fs_v_pfc_division_append_newstepprevioussum) + (fs_r_pfc_division_append_newstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_append_newstepprevioussum_body_steps_successor. fs_h_pfc_division_append_newstepprevioussum_body_steps_successor + S (fs_s_pfc_division_append_newstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_append_newstepprevioussum_body_steps)) * fs_v_pfc_division_append_newstepprevioussum)) /\ exists fs_q_pfc_division_append_newstepprevioussum_body_steps_successor. fs_u_pfc_division_append_newstepprevioussum = fs_q_pfc_division_append_newstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_append_newstepprevioussum_body_steps)) * fs_v_pfc_division_append_newstepprevioussum) + (fs_s_pfc_division_append_newstepprevioussum_body_steps))) /\ fs_s_pfc_division_append_newstepprevioussum_body_steps = fs_r_pfc_division_append_newstepprevioussum_body_steps + fs_a_pfc_division_append_newstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_append_newsteppreviousresiduebound. pfa_gap_division_append_newsteppreviousresiduebound + S (pfd_previous_division_append_newstep) = (p)) /\ ((exists pfa_offset_left_division_append_newsteppreviousresiduecongruence pfa_offset_right_division_append_newsteppreviousresiduecongruence. (pfc_natural_sum_division_append_newstepprevious) + (p) * pfa_offset_left_division_append_newsteppreviousresiduecongruence = (pfd_previous_division_append_newstep) + (p) * pfa_offset_right_division_append_newsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_append_newstepsubtractleft. pfa_gap_division_append_newstepsubtractleft + S (pfd_previous_division_append_newstep) = (p)) /\ (((exists pfa_gap_division_append_newstepsubtractright. pfa_gap_division_append_newstepsubtractright + S (pfd_difference_division_append_newstep) = (p)) /\ ((((exists pfa_gap_division_append_newstepsubtractresultbound. pfa_gap_division_append_newstepsubtractresultbound + S (pfd_input_division_append_newstep) = (p)) /\ ((exists pfa_offset_left_division_append_newstepsubtractresultcongruence pfa_offset_right_division_append_newstepsubtractresultcongruence. ((pfd_previous_division_append_newstep) + (pfd_difference_division_append_newstep)) + (p) * pfa_offset_left_division_append_newstepsubtractresultcongruence = (pfd_input_division_append_newstep) + (p) * pfa_offset_right_division_append_newstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_append_newstepmultiplyleft. pfa_gap_division_append_newstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_append_newstepmultiplyright. pfa_gap_division_append_newstepmultiplyright + S (pfd_difference_division_append_newstep) = (p)) /\ ((((exists pfa_gap_division_append_newstepmultiplyresultbound. pfa_gap_division_append_newstepmultiplyresultbound + S (pfd_value_division_append_new) = (p)) /\ ((exists pfa_offset_left_division_append_newstepmultiplyresultcongruence pfa_offset_right_division_append_newstepmultiplyresultcongruence. ((k) * (pfd_difference_division_append_newstep)) + (p) * pfa_offset_left_division_append_newstepmultiplyresultcongruence = (pfd_value_division_append_new) + (p) * pfa_offset_right_division_append_newstepmultiplyresultcongruence)))))))))))))))))))
intro pintro kintro abintro acintro bbintro bcintro Mintro qbintro qcintro QBintro QCintro Nintro qintro hintro heintro hqintro hsintro iintro hihave hcase : i=N \/ (exists pfa_gap_division_append_earlier. pfa_gap_division_append_earlier + S (i) = (N))specialize finite_lt_succ_eq_or_lt (N)specialize finite_lt_succ_eq_or_lt (i)apply finite_lt_succ_eq_or_ltexact hicases hcaseexists qsplitrewrite hcase_leftrewrite hcase_leftexact hqrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftrewrite hcase_leftspecialize prime_field_polynomial_quotient_step_recode (p)specialize prime_field_polynomial_quotient_step_recode (k)specialize prime_field_polynomial_quotient_step_recode (ab)specialize prime_field_polynomial_quotient_step_recode (ac)specialize prime_field_polynomial_quotient_step_recode (bb)specialize prime_field_polynomial_quotient_step_recode (bc)specialize prime_field_polynomial_quotient_step_recode (M)specialize prime_field_polynomial_quotient_step_recode (qb)specialize prime_field_polynomial_quotient_step_recode (qc)specialize prime_field_polynomial_quotient_step_recode (QB)specialize prime_field_polynomial_quotient_step_recode (QC)specialize prime_field_polynomial_quotient_step_recode (N)specialize prime_field_polynomial_quotient_step_recode (q)apply prime_field_polynomial_quotient_step_recodeexact heexact hshave hv : exists r. ((((exists ff_h_pfp_division_append_old_entry. ff_h_pfp_division_append_old_entry + S (r) = S ((S (i)) * qc)) /\ exists ff_q_pfp_division_append_old_entry. qb = ff_q_pfp_division_append_old_entry * S ((S (i)) * qc) + (r))) /\ ((exists pfd_input_division_append_old_step pfd_previous_division_append_old_step pfd_difference_division_append_old_step. ((((exists ff_h_pfp_division_append_old_stepinput. ff_h_pfp_division_append_old_stepinput + S (pfd_input_division_append_old_step) = S ((S (i)) * ac)) /\ exists ff_q_pfp_division_append_old_stepinput. ab = ff_q_pfp_division_append_old_stepinput * S ((S (i)) * ac) + (pfd_input_division_append_old_step))) /\ (((exists pfc_terms_code_division_append_old_stepprevious pfc_terms_scale_division_append_old_stepprevious pfc_natural_sum_division_append_old_stepprevious. ((forall pfc_index_division_append_old_steppreviousdiagonal. (exists pfa_gap_division_append_old_steppreviousdiagonalbound. pfa_gap_division_append_old_steppreviousdiagonalbound + S (pfc_index_division_append_old_steppreviousdiagonal) = (S (i))) -> exists pfc_value_division_append_old_steppreviousdiagonal. ((((exists ff_h_pfp_division_append_old_steppreviousdiagonalentry. ff_h_pfp_division_append_old_steppreviousdiagonalentry + S (pfc_value_division_append_old_steppreviousdiagonal) = S ((S (pfc_index_division_append_old_steppreviousdiagonal)) * pfc_terms_scale_division_append_old_stepprevious)) /\ exists ff_q_pfp_division_append_old_steppreviousdiagonalentry. pfc_terms_code_division_append_old_stepprevious = ff_q_pfp_division_append_old_steppreviousdiagonalentry * S ((S (pfc_index_division_append_old_steppreviousdiagonal)) * pfc_terms_scale_division_append_old_stepprevious) + (pfc_value_division_append_old_steppreviousdiagonal))) /\ ((exists pfc_complement_division_append_old_steppreviousdiagonalterm pfc_left_division_append_old_steppreviousdiagonalterm pfc_right_division_append_old_steppreviousdiagonalterm. (((pfc_index_division_append_old_steppreviousdiagonal)+pfc_complement_division_append_old_steppreviousdiagonalterm=(i)) /\ ((((((exists pfa_gap_division_append_old_steppreviousdiagonaltermleftinside. pfa_gap_division_append_old_steppreviousdiagonaltermleftinside + S (pfc_index_division_append_old_steppreviousdiagonal) = (i)) /\ ((((exists ff_h_pfp_division_append_old_steppreviousdiagonaltermleftentry. ff_h_pfp_division_append_old_steppreviousdiagonaltermleftentry + S (pfc_left_division_append_old_steppreviousdiagonalterm) = S ((S (pfc_index_division_append_old_steppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_append_old_steppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_append_old_steppreviousdiagonaltermleftentry * S ((S (pfc_index_division_append_old_steppreviousdiagonal)) * qc) + (pfc_left_division_append_old_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_append_old_steppreviousdiagonaltermleftoutside. pfc_gap_division_append_old_steppreviousdiagonaltermleftoutside+(i)=(pfc_index_division_append_old_steppreviousdiagonal)) /\ (((pfc_left_division_append_old_steppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_append_old_steppreviousdiagonaltermrightinside. pfa_gap_division_append_old_steppreviousdiagonaltermrightinside + S (pfc_complement_division_append_old_steppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_append_old_steppreviousdiagonaltermrightentry. ff_h_pfp_division_append_old_steppreviousdiagonaltermrightentry + S (pfc_right_division_append_old_steppreviousdiagonalterm) = S ((S (pfc_complement_division_append_old_steppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_append_old_steppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_append_old_steppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_append_old_steppreviousdiagonalterm)) * bc) + (pfc_right_division_append_old_steppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_append_old_steppreviousdiagonaltermrightoutside. pfc_gap_division_append_old_steppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_append_old_steppreviousdiagonalterm)) /\ (((pfc_right_division_append_old_steppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_append_old_steppreviousdiagonal)=pfc_left_division_append_old_steppreviousdiagonalterm*pfc_right_division_append_old_steppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_append_old_stepprevioussum fs_v_pfc_division_append_old_stepprevioussum. ((((exists fs_h_pfc_division_append_old_stepprevioussum_body_start. fs_h_pfc_division_append_old_stepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_append_old_stepprevioussum)) /\ exists fs_q_pfc_division_append_old_stepprevioussum_body_start. fs_u_pfc_division_append_old_stepprevioussum = fs_q_pfc_division_append_old_stepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_append_old_stepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_append_old_stepprevioussum_body_terminal. fs_h_pfc_division_append_old_stepprevioussum_body_terminal + S (pfc_natural_sum_division_append_old_stepprevious) = S ((S (S (i))) * fs_v_pfc_division_append_old_stepprevioussum)) /\ exists fs_q_pfc_division_append_old_stepprevioussum_body_terminal. fs_u_pfc_division_append_old_stepprevioussum = fs_q_pfc_division_append_old_stepprevioussum_body_terminal * S ((S (S (i))) * fs_v_pfc_division_append_old_stepprevioussum) + (pfc_natural_sum_division_append_old_stepprevious))) /\ forall fs_i_pfc_division_append_old_stepprevioussum_body_steps. (exists fs_lt_pfc_division_append_old_stepprevioussum_body_steps_bound. fs_lt_pfc_division_append_old_stepprevioussum_body_steps_bound + S fs_i_pfc_division_append_old_stepprevioussum_body_steps = S (i)) -> exists fs_a_pfc_division_append_old_stepprevioussum_body_steps fs_r_pfc_division_append_old_stepprevioussum_body_steps fs_s_pfc_division_append_old_stepprevioussum_body_steps. ((((exists fs_h_pfc_division_append_old_stepprevioussum_body_steps_summand. fs_h_pfc_division_append_old_stepprevioussum_body_steps_summand + S (fs_a_pfc_division_append_old_stepprevioussum_body_steps) = S ((S (fs_i_pfc_division_append_old_stepprevioussum_body_steps)) * pfc_terms_scale_division_append_old_stepprevious)) /\ exists fs_q_pfc_division_append_old_stepprevioussum_body_steps_summand. pfc_terms_code_division_append_old_stepprevious = fs_q_pfc_division_append_old_stepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_append_old_stepprevioussum_body_steps)) * pfc_terms_scale_division_append_old_stepprevious) + (fs_a_pfc_division_append_old_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_append_old_stepprevioussum_body_steps_partial. fs_h_pfc_division_append_old_stepprevioussum_body_steps_partial + S (fs_r_pfc_division_append_old_stepprevioussum_body_steps) = S ((S (fs_i_pfc_division_append_old_stepprevioussum_body_steps)) * fs_v_pfc_division_append_old_stepprevioussum)) /\ exists fs_q_pfc_division_append_old_stepprevioussum_body_steps_partial. fs_u_pfc_division_append_old_stepprevioussum = fs_q_pfc_division_append_old_stepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_append_old_stepprevioussum_body_steps)) * fs_v_pfc_division_append_old_stepprevioussum) + (fs_r_pfc_division_append_old_stepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_append_old_stepprevioussum_body_steps_successor. fs_h_pfc_division_append_old_stepprevioussum_body_steps_successor + S (fs_s_pfc_division_append_old_stepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_append_old_stepprevioussum_body_steps)) * fs_v_pfc_division_append_old_stepprevioussum)) /\ exists fs_q_pfc_division_append_old_stepprevioussum_body_steps_successor. fs_u_pfc_division_append_old_stepprevioussum = fs_q_pfc_division_append_old_stepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_append_old_stepprevioussum_body_steps)) * fs_v_pfc_division_append_old_stepprevioussum) + (fs_s_pfc_division_append_old_stepprevioussum_body_steps))) /\ fs_s_pfc_division_append_old_stepprevioussum_body_steps = fs_r_pfc_division_append_old_stepprevioussum_body_steps + fs_a_pfc_division_append_old_stepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_append_old_steppreviousresiduebound. pfa_gap_division_append_old_steppreviousresiduebound + S (pfd_previous_division_append_old_step) = (p)) /\ ((exists pfa_offset_left_division_append_old_steppreviousresiduecongruence pfa_offset_right_division_append_old_steppreviousresiduecongruence. (pfc_natural_sum_division_append_old_stepprevious) + (p) * pfa_offset_left_division_append_old_steppreviousresiduecongruence = (pfd_previous_division_append_old_step) + (p) * pfa_offset_right_division_append_old_steppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_append_old_stepsubtractleft. pfa_gap_division_append_old_stepsubtractleft + S (pfd_previous_division_append_old_step) = (p)) /\ (((exists pfa_gap_division_append_old_stepsubtractright. pfa_gap_division_append_old_stepsubtractright + S (pfd_difference_division_append_old_step) = (p)) /\ ((((exists pfa_gap_division_append_old_stepsubtractresultbound. pfa_gap_division_append_old_stepsubtractresultbound + S (pfd_input_division_append_old_step) = (p)) /\ ((exists pfa_offset_left_division_append_old_stepsubtractresultcongruence pfa_offset_right_division_append_old_stepsubtractresultcongruence. ((pfd_previous_division_append_old_step) + (pfd_difference_division_append_old_step)) + (p) * pfa_offset_left_division_append_old_stepsubtractresultcongruence = (pfd_input_division_append_old_step) + (p) * pfa_offset_right_division_append_old_stepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_append_old_stepmultiplyleft. pfa_gap_division_append_old_stepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_append_old_stepmultiplyright. pfa_gap_division_append_old_stepmultiplyright + S (pfd_difference_division_append_old_step) = (p)) /\ ((((exists pfa_gap_division_append_old_stepmultiplyresultbound. pfa_gap_division_append_old_stepmultiplyresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_division_append_old_stepmultiplyresultcongruence pfa_offset_right_division_append_old_stepmultiplyresultcongruence. ((k) * (pfd_difference_division_append_old_step)) + (p) * pfa_offset_left_division_append_old_stepmultiplyresultcongruence = (r) + (p) * pfa_offset_right_division_append_old_stepmultiplyresultcongruence))))))))))))))))))specialize h (i)apply hexact hcase_rightcases hvcases hv_witnessexists xsplitspecialize he (i)specialize he (x)apply heexact hcase_rightexact hv_witness_leftspecialize prime_field_polynomial_quotient_step_recode (p)specialize prime_field_polynomial_quotient_step_recode (k)specialize prime_field_polynomial_quotient_step_recode (ab)specialize prime_field_polynomial_quotient_step_recode (ac)specialize prime_field_polynomial_quotient_step_recode (bb)specialize prime_field_polynomial_quotient_step_recode (bc)specialize prime_field_polynomial_quotient_step_recode (M)specialize prime_field_polynomial_quotient_step_recode (qb)specialize prime_field_polynomial_quotient_step_recode (qc)specialize prime_field_polynomial_quotient_step_recode (QB)specialize prime_field_polynomial_quotient_step_recode (QC)specialize prime_field_polynomial_quotient_step_recode (i)specialize prime_field_polynomial_quotient_step_recode (x)apply prime_field_polynomial_quotient_step_recodeintro jintro aintro hjintro haspecialize he (j)specialize he (a)apply hespecialize lt_of_lt_of_le (j)specialize lt_of_lt_of_le (S i)specialize lt_of_lt_of_le (N)apply lt_of_lt_of_lespecialize le_succ (S j)specialize le_succ (i)apply le_succexact hjexact hcase_rightexact haexact hv_witness_right
prime_field_polynomial_quotient_prefix_exists · unchanged support, not a new admission
forall p k ab ac bb bc M N. (~((p) = 1) /\ forall pfa_factor_left_division_exists_prime pfa_factor_right_division_exists_prime. (p) = pfa_factor_left_division_exists_prime * pfa_factor_right_division_exists_prime -> pfa_factor_left_division_exists_prime = 1 \/ pfa_factor_right_division_exists_prime = 1) -> (exists pfa_gap_division_exists_scalar. pfa_gap_division_exists_scalar + S (k) = (p)) -> (forall fom_index_pfp_division_exists_source. (exists fom_gap_pfp_division_exists_source_index_bound. fom_gap_pfp_division_exists_source_index_bound + S (fom_index_pfp_division_exists_source) = N) -> exists fom_value_pfp_division_exists_source. ((((exists fom_beta_height_pfp_division_exists_source_entry. fom_beta_height_pfp_division_exists_source_entry + S (fom_value_pfp_division_exists_source) = S ((S (fom_index_pfp_division_exists_source)) * ac)) /\ exists fom_beta_quotient_pfp_division_exists_source_entry. ab = fom_beta_quotient_pfp_division_exists_source_entry * S ((S (fom_index_pfp_division_exists_source)) * ac) + (fom_value_pfp_division_exists_source))) /\ (exists fom_gap_pfp_division_exists_source_value_bound. fom_gap_pfp_division_exists_source_value_bound + S (fom_value_pfp_division_exists_source) = p))) -> exists qb qc. (forall pfd_index_division_exists_result. (exists pfa_gap_division_exists_resultbound. pfa_gap_division_exists_resultbound + S (pfd_index_division_exists_result) = (N)) -> exists pfd_value_division_exists_result. ((((exists ff_h_pfp_division_exists_resultentry. ff_h_pfp_division_exists_resultentry + S (pfd_value_division_exists_result) = S ((S (pfd_index_division_exists_result)) * qc)) /\ exists ff_q_pfp_division_exists_resultentry. qb = ff_q_pfp_division_exists_resultentry * S ((S (pfd_index_division_exists_result)) * qc) + (pfd_value_division_exists_result))) /\ ((exists pfd_input_division_exists_resultstep pfd_previous_division_exists_resultstep pfd_difference_division_exists_resultstep. ((((exists ff_h_pfp_division_exists_resultstepinput. ff_h_pfp_division_exists_resultstepinput + S (pfd_input_division_exists_resultstep) = S ((S (pfd_index_division_exists_result)) * ac)) /\ exists ff_q_pfp_division_exists_resultstepinput. ab = ff_q_pfp_division_exists_resultstepinput * S ((S (pfd_index_division_exists_result)) * ac) + (pfd_input_division_exists_resultstep))) /\ (((exists pfc_terms_code_division_exists_resultstepprevious pfc_terms_scale_division_exists_resultstepprevious pfc_natural_sum_division_exists_resultstepprevious. ((forall pfc_index_division_exists_resultsteppreviousdiagonal. (exists pfa_gap_division_exists_resultsteppreviousdiagonalbound. pfa_gap_division_exists_resultsteppreviousdiagonalbound + S (pfc_index_division_exists_resultsteppreviousdiagonal) = (S (pfd_index_division_exists_result))) -> exists pfc_value_division_exists_resultsteppreviousdiagonal. ((((exists ff_h_pfp_division_exists_resultsteppreviousdiagonalentry. ff_h_pfp_division_exists_resultsteppreviousdiagonalentry + S (pfc_value_division_exists_resultsteppreviousdiagonal) = S ((S (pfc_index_division_exists_resultsteppreviousdiagonal)) * pfc_terms_scale_division_exists_resultstepprevious)) /\ exists ff_q_pfp_division_exists_resultsteppreviousdiagonalentry. pfc_terms_code_division_exists_resultstepprevious = ff_q_pfp_division_exists_resultsteppreviousdiagonalentry * S ((S (pfc_index_division_exists_resultsteppreviousdiagonal)) * pfc_terms_scale_division_exists_resultstepprevious) + (pfc_value_division_exists_resultsteppreviousdiagonal))) /\ ((exists pfc_complement_division_exists_resultsteppreviousdiagonalterm pfc_left_division_exists_resultsteppreviousdiagonalterm pfc_right_division_exists_resultsteppreviousdiagonalterm. (((pfc_index_division_exists_resultsteppreviousdiagonal)+pfc_complement_division_exists_resultsteppreviousdiagonalterm=(pfd_index_division_exists_result)) /\ ((((((exists pfa_gap_division_exists_resultsteppreviousdiagonaltermleftinside. pfa_gap_division_exists_resultsteppreviousdiagonaltermleftinside + S (pfc_index_division_exists_resultsteppreviousdiagonal) = (pfd_index_division_exists_result)) /\ ((((exists ff_h_pfp_division_exists_resultsteppreviousdiagonaltermleftentry. ff_h_pfp_division_exists_resultsteppreviousdiagonaltermleftentry + S (pfc_left_division_exists_resultsteppreviousdiagonalterm) = S ((S (pfc_index_division_exists_resultsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_exists_resultsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_exists_resultsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_exists_resultsteppreviousdiagonal)) * qc) + (pfc_left_division_exists_resultsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_resultsteppreviousdiagonaltermleftoutside. pfc_gap_division_exists_resultsteppreviousdiagonaltermleftoutside+(pfd_index_division_exists_result)=(pfc_index_division_exists_resultsteppreviousdiagonal)) /\ (((pfc_left_division_exists_resultsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_exists_resultsteppreviousdiagonaltermrightinside. pfa_gap_division_exists_resultsteppreviousdiagonaltermrightinside + S (pfc_complement_division_exists_resultsteppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_exists_resultsteppreviousdiagonaltermrightentry. ff_h_pfp_division_exists_resultsteppreviousdiagonaltermrightentry + S (pfc_right_division_exists_resultsteppreviousdiagonalterm) = S ((S (pfc_complement_division_exists_resultsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_exists_resultsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_exists_resultsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_exists_resultsteppreviousdiagonalterm)) * bc) + (pfc_right_division_exists_resultsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_resultsteppreviousdiagonaltermrightoutside. pfc_gap_division_exists_resultsteppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_exists_resultsteppreviousdiagonalterm)) /\ (((pfc_right_division_exists_resultsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_exists_resultsteppreviousdiagonal)=pfc_left_division_exists_resultsteppreviousdiagonalterm*pfc_right_division_exists_resultsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_exists_resultstepprevioussum fs_v_pfc_division_exists_resultstepprevioussum. ((((exists fs_h_pfc_division_exists_resultstepprevioussum_body_start. fs_h_pfc_division_exists_resultstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_exists_resultstepprevioussum)) /\ exists fs_q_pfc_division_exists_resultstepprevioussum_body_start. fs_u_pfc_division_exists_resultstepprevioussum = fs_q_pfc_division_exists_resultstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_exists_resultstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_exists_resultstepprevioussum_body_terminal. fs_h_pfc_division_exists_resultstepprevioussum_body_terminal + S (pfc_natural_sum_division_exists_resultstepprevious) = S ((S (S (pfd_index_division_exists_result))) * fs_v_pfc_division_exists_resultstepprevioussum)) /\ exists fs_q_pfc_division_exists_resultstepprevioussum_body_terminal. fs_u_pfc_division_exists_resultstepprevioussum = fs_q_pfc_division_exists_resultstepprevioussum_body_terminal * S ((S (S (pfd_index_division_exists_result))) * fs_v_pfc_division_exists_resultstepprevioussum) + (pfc_natural_sum_division_exists_resultstepprevious))) /\ forall fs_i_pfc_division_exists_resultstepprevioussum_body_steps. (exists fs_lt_pfc_division_exists_resultstepprevioussum_body_steps_bound. fs_lt_pfc_division_exists_resultstepprevioussum_body_steps_bound + S fs_i_pfc_division_exists_resultstepprevioussum_body_steps = S (pfd_index_division_exists_result)) -> exists fs_a_pfc_division_exists_resultstepprevioussum_body_steps fs_r_pfc_division_exists_resultstepprevioussum_body_steps fs_s_pfc_division_exists_resultstepprevioussum_body_steps. ((((exists fs_h_pfc_division_exists_resultstepprevioussum_body_steps_summand. fs_h_pfc_division_exists_resultstepprevioussum_body_steps_summand + S (fs_a_pfc_division_exists_resultstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * pfc_terms_scale_division_exists_resultstepprevious)) /\ exists fs_q_pfc_division_exists_resultstepprevioussum_body_steps_summand. pfc_terms_code_division_exists_resultstepprevious = fs_q_pfc_division_exists_resultstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * pfc_terms_scale_division_exists_resultstepprevious) + (fs_a_pfc_division_exists_resultstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_resultstepprevioussum_body_steps_partial. fs_h_pfc_division_exists_resultstepprevioussum_body_steps_partial + S (fs_r_pfc_division_exists_resultstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * fs_v_pfc_division_exists_resultstepprevioussum)) /\ exists fs_q_pfc_division_exists_resultstepprevioussum_body_steps_partial. fs_u_pfc_division_exists_resultstepprevioussum = fs_q_pfc_division_exists_resultstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * fs_v_pfc_division_exists_resultstepprevioussum) + (fs_r_pfc_division_exists_resultstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_resultstepprevioussum_body_steps_successor. fs_h_pfc_division_exists_resultstepprevioussum_body_steps_successor + S (fs_s_pfc_division_exists_resultstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * fs_v_pfc_division_exists_resultstepprevioussum)) /\ exists fs_q_pfc_division_exists_resultstepprevioussum_body_steps_successor. fs_u_pfc_division_exists_resultstepprevioussum = fs_q_pfc_division_exists_resultstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_exists_resultstepprevioussum_body_steps)) * fs_v_pfc_division_exists_resultstepprevioussum) + (fs_s_pfc_division_exists_resultstepprevioussum_body_steps))) /\ fs_s_pfc_division_exists_resultstepprevioussum_body_steps = fs_r_pfc_division_exists_resultstepprevioussum_body_steps + fs_a_pfc_division_exists_resultstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_exists_resultsteppreviousresiduebound. pfa_gap_division_exists_resultsteppreviousresiduebound + S (pfd_previous_division_exists_resultstep) = (p)) /\ ((exists pfa_offset_left_division_exists_resultsteppreviousresiduecongruence pfa_offset_right_division_exists_resultsteppreviousresiduecongruence. (pfc_natural_sum_division_exists_resultstepprevious) + (p) * pfa_offset_left_division_exists_resultsteppreviousresiduecongruence = (pfd_previous_division_exists_resultstep) + (p) * pfa_offset_right_division_exists_resultsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_exists_resultstepsubtractleft. pfa_gap_division_exists_resultstepsubtractleft + S (pfd_previous_division_exists_resultstep) = (p)) /\ (((exists pfa_gap_division_exists_resultstepsubtractright. pfa_gap_division_exists_resultstepsubtractright + S (pfd_difference_division_exists_resultstep) = (p)) /\ ((((exists pfa_gap_division_exists_resultstepsubtractresultbound. pfa_gap_division_exists_resultstepsubtractresultbound + S (pfd_input_division_exists_resultstep) = (p)) /\ ((exists pfa_offset_left_division_exists_resultstepsubtractresultcongruence pfa_offset_right_division_exists_resultstepsubtractresultcongruence. ((pfd_previous_division_exists_resultstep) + (pfd_difference_division_exists_resultstep)) + (p) * pfa_offset_left_division_exists_resultstepsubtractresultcongruence = (pfd_input_division_exists_resultstep) + (p) * pfa_offset_right_division_exists_resultstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_exists_resultstepmultiplyleft. pfa_gap_division_exists_resultstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_exists_resultstepmultiplyright. pfa_gap_division_exists_resultstepmultiplyright + S (pfd_difference_division_exists_resultstep) = (p)) /\ ((((exists pfa_gap_division_exists_resultstepmultiplyresultbound. pfa_gap_division_exists_resultstepmultiplyresultbound + S (pfd_value_division_exists_result) = (p)) /\ ((exists pfa_offset_left_division_exists_resultstepmultiplyresultcongruence pfa_offset_right_division_exists_resultstepmultiplyresultcongruence. ((k) * (pfd_difference_division_exists_resultstep)) + (p) * pfa_offset_left_division_exists_resultstepmultiplyresultcongruence = (pfd_value_division_exists_result) + (p) * pfa_offset_right_division_exists_resultstepmultiplyresultcongruence)))))))))))))))))))
intro pintro kintro abintro acintro bbintro bcintro Mintro Nintro hpintro hkinduction Nintro haexists 0exists 0specialize prime_field_polynomial_quotient_prefix_empty (p)specialize prime_field_polynomial_quotient_prefix_empty (k)specialize prime_field_polynomial_quotient_prefix_empty (ab)specialize prime_field_polynomial_quotient_prefix_empty (ac)specialize prime_field_polynomial_quotient_prefix_empty (bb)specialize prime_field_polynomial_quotient_prefix_empty (bc)specialize prime_field_polynomial_quotient_prefix_empty (M)specialize prime_field_polynomial_quotient_prefix_empty (0)specialize prime_field_polynomial_quotient_prefix_empty (0)apply prime_field_polynomial_quotient_prefix_emptyintro hahave hold : exists qb qc. (forall pfd_index_division_exists_old. (exists pfa_gap_division_exists_oldbound. pfa_gap_division_exists_oldbound + S (pfd_index_division_exists_old) = (N)) -> exists pfd_value_division_exists_old. ((((exists ff_h_pfp_division_exists_oldentry. ff_h_pfp_division_exists_oldentry + S (pfd_value_division_exists_old) = S ((S (pfd_index_division_exists_old)) * qc)) /\ exists ff_q_pfp_division_exists_oldentry. qb = ff_q_pfp_division_exists_oldentry * S ((S (pfd_index_division_exists_old)) * qc) + (pfd_value_division_exists_old))) /\ ((exists pfd_input_division_exists_oldstep pfd_previous_division_exists_oldstep pfd_difference_division_exists_oldstep. ((((exists ff_h_pfp_division_exists_oldstepinput. ff_h_pfp_division_exists_oldstepinput + S (pfd_input_division_exists_oldstep) = S ((S (pfd_index_division_exists_old)) * ac)) /\ exists ff_q_pfp_division_exists_oldstepinput. ab = ff_q_pfp_division_exists_oldstepinput * S ((S (pfd_index_division_exists_old)) * ac) + (pfd_input_division_exists_oldstep))) /\ (((exists pfc_terms_code_division_exists_oldstepprevious pfc_terms_scale_division_exists_oldstepprevious pfc_natural_sum_division_exists_oldstepprevious. ((forall pfc_index_division_exists_oldsteppreviousdiagonal. (exists pfa_gap_division_exists_oldsteppreviousdiagonalbound. pfa_gap_division_exists_oldsteppreviousdiagonalbound + S (pfc_index_division_exists_oldsteppreviousdiagonal) = (S (pfd_index_division_exists_old))) -> exists pfc_value_division_exists_oldsteppreviousdiagonal. ((((exists ff_h_pfp_division_exists_oldsteppreviousdiagonalentry. ff_h_pfp_division_exists_oldsteppreviousdiagonalentry + S (pfc_value_division_exists_oldsteppreviousdiagonal) = S ((S (pfc_index_division_exists_oldsteppreviousdiagonal)) * pfc_terms_scale_division_exists_oldstepprevious)) /\ exists ff_q_pfp_division_exists_oldsteppreviousdiagonalentry. pfc_terms_code_division_exists_oldstepprevious = ff_q_pfp_division_exists_oldsteppreviousdiagonalentry * S ((S (pfc_index_division_exists_oldsteppreviousdiagonal)) * pfc_terms_scale_division_exists_oldstepprevious) + (pfc_value_division_exists_oldsteppreviousdiagonal))) /\ ((exists pfc_complement_division_exists_oldsteppreviousdiagonalterm pfc_left_division_exists_oldsteppreviousdiagonalterm pfc_right_division_exists_oldsteppreviousdiagonalterm. (((pfc_index_division_exists_oldsteppreviousdiagonal)+pfc_complement_division_exists_oldsteppreviousdiagonalterm=(pfd_index_division_exists_old)) /\ ((((((exists pfa_gap_division_exists_oldsteppreviousdiagonaltermleftinside. pfa_gap_division_exists_oldsteppreviousdiagonaltermleftinside + S (pfc_index_division_exists_oldsteppreviousdiagonal) = (pfd_index_division_exists_old)) /\ ((((exists ff_h_pfp_division_exists_oldsteppreviousdiagonaltermleftentry. ff_h_pfp_division_exists_oldsteppreviousdiagonaltermleftentry + S (pfc_left_division_exists_oldsteppreviousdiagonalterm) = S ((S (pfc_index_division_exists_oldsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_exists_oldsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_exists_oldsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_exists_oldsteppreviousdiagonal)) * qc) + (pfc_left_division_exists_oldsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_oldsteppreviousdiagonaltermleftoutside. pfc_gap_division_exists_oldsteppreviousdiagonaltermleftoutside+(pfd_index_division_exists_old)=(pfc_index_division_exists_oldsteppreviousdiagonal)) /\ (((pfc_left_division_exists_oldsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_exists_oldsteppreviousdiagonaltermrightinside. pfa_gap_division_exists_oldsteppreviousdiagonaltermrightinside + S (pfc_complement_division_exists_oldsteppreviousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_exists_oldsteppreviousdiagonaltermrightentry. ff_h_pfp_division_exists_oldsteppreviousdiagonaltermrightentry + S (pfc_right_division_exists_oldsteppreviousdiagonalterm) = S ((S (pfc_complement_division_exists_oldsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_exists_oldsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_exists_oldsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_exists_oldsteppreviousdiagonalterm)) * bc) + (pfc_right_division_exists_oldsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_oldsteppreviousdiagonaltermrightoutside. pfc_gap_division_exists_oldsteppreviousdiagonaltermrightoutside+(M)=(pfc_complement_division_exists_oldsteppreviousdiagonalterm)) /\ (((pfc_right_division_exists_oldsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_exists_oldsteppreviousdiagonal)=pfc_left_division_exists_oldsteppreviousdiagonalterm*pfc_right_division_exists_oldsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_exists_oldstepprevioussum fs_v_pfc_division_exists_oldstepprevioussum. ((((exists fs_h_pfc_division_exists_oldstepprevioussum_body_start. fs_h_pfc_division_exists_oldstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_exists_oldstepprevioussum)) /\ exists fs_q_pfc_division_exists_oldstepprevioussum_body_start. fs_u_pfc_division_exists_oldstepprevioussum = fs_q_pfc_division_exists_oldstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_exists_oldstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_exists_oldstepprevioussum_body_terminal. fs_h_pfc_division_exists_oldstepprevioussum_body_terminal + S (pfc_natural_sum_division_exists_oldstepprevious) = S ((S (S (pfd_index_division_exists_old))) * fs_v_pfc_division_exists_oldstepprevioussum)) /\ exists fs_q_pfc_division_exists_oldstepprevioussum_body_terminal. fs_u_pfc_division_exists_oldstepprevioussum = fs_q_pfc_division_exists_oldstepprevioussum_body_terminal * S ((S (S (pfd_index_division_exists_old))) * fs_v_pfc_division_exists_oldstepprevioussum) + (pfc_natural_sum_division_exists_oldstepprevious))) /\ forall fs_i_pfc_division_exists_oldstepprevioussum_body_steps. (exists fs_lt_pfc_division_exists_oldstepprevioussum_body_steps_bound. fs_lt_pfc_division_exists_oldstepprevioussum_body_steps_bound + S fs_i_pfc_division_exists_oldstepprevioussum_body_steps = S (pfd_index_division_exists_old)) -> exists fs_a_pfc_division_exists_oldstepprevioussum_body_steps fs_r_pfc_division_exists_oldstepprevioussum_body_steps fs_s_pfc_division_exists_oldstepprevioussum_body_steps. ((((exists fs_h_pfc_division_exists_oldstepprevioussum_body_steps_summand. fs_h_pfc_division_exists_oldstepprevioussum_body_steps_summand + S (fs_a_pfc_division_exists_oldstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * pfc_terms_scale_division_exists_oldstepprevious)) /\ exists fs_q_pfc_division_exists_oldstepprevioussum_body_steps_summand. pfc_terms_code_division_exists_oldstepprevious = fs_q_pfc_division_exists_oldstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * pfc_terms_scale_division_exists_oldstepprevious) + (fs_a_pfc_division_exists_oldstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_oldstepprevioussum_body_steps_partial. fs_h_pfc_division_exists_oldstepprevioussum_body_steps_partial + S (fs_r_pfc_division_exists_oldstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * fs_v_pfc_division_exists_oldstepprevioussum)) /\ exists fs_q_pfc_division_exists_oldstepprevioussum_body_steps_partial. fs_u_pfc_division_exists_oldstepprevioussum = fs_q_pfc_division_exists_oldstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * fs_v_pfc_division_exists_oldstepprevioussum) + (fs_r_pfc_division_exists_oldstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_oldstepprevioussum_body_steps_successor. fs_h_pfc_division_exists_oldstepprevioussum_body_steps_successor + S (fs_s_pfc_division_exists_oldstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * fs_v_pfc_division_exists_oldstepprevioussum)) /\ exists fs_q_pfc_division_exists_oldstepprevioussum_body_steps_successor. fs_u_pfc_division_exists_oldstepprevioussum = fs_q_pfc_division_exists_oldstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_exists_oldstepprevioussum_body_steps)) * fs_v_pfc_division_exists_oldstepprevioussum) + (fs_s_pfc_division_exists_oldstepprevioussum_body_steps))) /\ fs_s_pfc_division_exists_oldstepprevioussum_body_steps = fs_r_pfc_division_exists_oldstepprevioussum_body_steps + fs_a_pfc_division_exists_oldstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_exists_oldsteppreviousresiduebound. pfa_gap_division_exists_oldsteppreviousresiduebound + S (pfd_previous_division_exists_oldstep) = (p)) /\ ((exists pfa_offset_left_division_exists_oldsteppreviousresiduecongruence pfa_offset_right_division_exists_oldsteppreviousresiduecongruence. (pfc_natural_sum_division_exists_oldstepprevious) + (p) * pfa_offset_left_division_exists_oldsteppreviousresiduecongruence = (pfd_previous_division_exists_oldstep) + (p) * pfa_offset_right_division_exists_oldsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_exists_oldstepsubtractleft. pfa_gap_division_exists_oldstepsubtractleft + S (pfd_previous_division_exists_oldstep) = (p)) /\ (((exists pfa_gap_division_exists_oldstepsubtractright. pfa_gap_division_exists_oldstepsubtractright + S (pfd_difference_division_exists_oldstep) = (p)) /\ ((((exists pfa_gap_division_exists_oldstepsubtractresultbound. pfa_gap_division_exists_oldstepsubtractresultbound + S (pfd_input_division_exists_oldstep) = (p)) /\ ((exists pfa_offset_left_division_exists_oldstepsubtractresultcongruence pfa_offset_right_division_exists_oldstepsubtractresultcongruence. ((pfd_previous_division_exists_oldstep) + (pfd_difference_division_exists_oldstep)) + (p) * pfa_offset_left_division_exists_oldstepsubtractresultcongruence = (pfd_input_division_exists_oldstep) + (p) * pfa_offset_right_division_exists_oldstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_exists_oldstepmultiplyleft. pfa_gap_division_exists_oldstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_exists_oldstepmultiplyright. pfa_gap_division_exists_oldstepmultiplyright + S (pfd_difference_division_exists_oldstep) = (p)) /\ ((((exists pfa_gap_division_exists_oldstepmultiplyresultbound. pfa_gap_division_exists_oldstepmultiplyresultbound + S (pfd_value_division_exists_old) = (p)) /\ ((exists pfa_offset_left_division_exists_oldstepmultiplyresultcongruence pfa_offset_right_division_exists_oldstepmultiplyresultcongruence. ((k) * (pfd_difference_division_exists_oldstep)) + (p) * pfa_offset_left_division_exists_oldstepmultiplyresultcongruence = (pfd_value_division_exists_old) + (p) * pfa_offset_right_division_exists_oldstepmultiplyresultcongruence)))))))))))))))))))apply IHintro iintro hispecialize ha (i)apply haspecialize le_succ (S i)specialize le_succ (N)apply le_succexact hicases holdcases hold_witnesshave hinput : exists a. ((((exists ff_h_pfp_division_exists_input. ff_h_pfp_division_exists_input + S (a) = S ((S (N)) * ac)) /\ exists ff_q_pfp_division_exists_input. ab = ff_q_pfp_division_exists_input * S ((S (N)) * ac) + (a))) /\ ((exists pfa_gap_division_exists_input_bound. pfa_gap_division_exists_input_bound + S (a) = (p))))specialize ha (N)apply haspecialize le_refl (S N)apply le_reflcases hinputcases hinput_witnesshave hc : exists c. (exists pfc_terms_code_division_exists_previous pfc_terms_scale_division_exists_previous pfc_natural_sum_division_exists_previous. ((forall pfc_index_division_exists_previousdiagonal. (exists pfa_gap_division_exists_previousdiagonalbound. pfa_gap_division_exists_previousdiagonalbound + S (pfc_index_division_exists_previousdiagonal) = (S (N))) -> exists pfc_value_division_exists_previousdiagonal. ((((exists ff_h_pfp_division_exists_previousdiagonalentry. ff_h_pfp_division_exists_previousdiagonalentry + S (pfc_value_division_exists_previousdiagonal) = S ((S (pfc_index_division_exists_previousdiagonal)) * pfc_terms_scale_division_exists_previous)) /\ exists ff_q_pfp_division_exists_previousdiagonalentry. pfc_terms_code_division_exists_previous = ff_q_pfp_division_exists_previousdiagonalentry * S ((S (pfc_index_division_exists_previousdiagonal)) * pfc_terms_scale_division_exists_previous) + (pfc_value_division_exists_previousdiagonal))) /\ ((exists pfc_complement_division_exists_previousdiagonalterm pfc_left_division_exists_previousdiagonalterm pfc_right_division_exists_previousdiagonalterm. (((pfc_index_division_exists_previousdiagonal)+pfc_complement_division_exists_previousdiagonalterm=(N)) /\ ((((((exists pfa_gap_division_exists_previousdiagonaltermleftinside. pfa_gap_division_exists_previousdiagonaltermleftinside + S (pfc_index_division_exists_previousdiagonal) = (N)) /\ ((((exists ff_h_pfp_division_exists_previousdiagonaltermleftentry. ff_h_pfp_division_exists_previousdiagonaltermleftentry + S (pfc_left_division_exists_previousdiagonalterm) = S ((S (pfc_index_division_exists_previousdiagonal)) * x1)) /\ exists ff_q_pfp_division_exists_previousdiagonaltermleftentry. x = ff_q_pfp_division_exists_previousdiagonaltermleftentry * S ((S (pfc_index_division_exists_previousdiagonal)) * x1) + (pfc_left_division_exists_previousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_previousdiagonaltermleftoutside. pfc_gap_division_exists_previousdiagonaltermleftoutside+(N)=(pfc_index_division_exists_previousdiagonal)) /\ (((pfc_left_division_exists_previousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_exists_previousdiagonaltermrightinside. pfa_gap_division_exists_previousdiagonaltermrightinside + S (pfc_complement_division_exists_previousdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_division_exists_previousdiagonaltermrightentry. ff_h_pfp_division_exists_previousdiagonaltermrightentry + S (pfc_right_division_exists_previousdiagonalterm) = S ((S (pfc_complement_division_exists_previousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_exists_previousdiagonaltermrightentry. bb = ff_q_pfp_division_exists_previousdiagonaltermrightentry * S ((S (pfc_complement_division_exists_previousdiagonalterm)) * bc) + (pfc_right_division_exists_previousdiagonalterm)))))) \/ (((exists pfc_gap_division_exists_previousdiagonaltermrightoutside. pfc_gap_division_exists_previousdiagonaltermrightoutside+(M)=(pfc_complement_division_exists_previousdiagonalterm)) /\ (((pfc_right_division_exists_previousdiagonalterm)=0))))) /\ (((pfc_value_division_exists_previousdiagonal)=pfc_left_division_exists_previousdiagonalterm*pfc_right_division_exists_previousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_exists_previoussum fs_v_pfc_division_exists_previoussum. ((((exists fs_h_pfc_division_exists_previoussum_body_start. fs_h_pfc_division_exists_previoussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_exists_previoussum)) /\ exists fs_q_pfc_division_exists_previoussum_body_start. fs_u_pfc_division_exists_previoussum = fs_q_pfc_division_exists_previoussum_body_start * S ((S (0)) * fs_v_pfc_division_exists_previoussum) + (0))) /\ ((((exists fs_h_pfc_division_exists_previoussum_body_terminal. fs_h_pfc_division_exists_previoussum_body_terminal + S (pfc_natural_sum_division_exists_previous) = S ((S (S (N))) * fs_v_pfc_division_exists_previoussum)) /\ exists fs_q_pfc_division_exists_previoussum_body_terminal. fs_u_pfc_division_exists_previoussum = fs_q_pfc_division_exists_previoussum_body_terminal * S ((S (S (N))) * fs_v_pfc_division_exists_previoussum) + (pfc_natural_sum_division_exists_previous))) /\ forall fs_i_pfc_division_exists_previoussum_body_steps. (exists fs_lt_pfc_division_exists_previoussum_body_steps_bound. fs_lt_pfc_division_exists_previoussum_body_steps_bound + S fs_i_pfc_division_exists_previoussum_body_steps = S (N)) -> exists fs_a_pfc_division_exists_previoussum_body_steps fs_r_pfc_division_exists_previoussum_body_steps fs_s_pfc_division_exists_previoussum_body_steps. ((((exists fs_h_pfc_division_exists_previoussum_body_steps_summand. fs_h_pfc_division_exists_previoussum_body_steps_summand + S (fs_a_pfc_division_exists_previoussum_body_steps) = S ((S (fs_i_pfc_division_exists_previoussum_body_steps)) * pfc_terms_scale_division_exists_previous)) /\ exists fs_q_pfc_division_exists_previoussum_body_steps_summand. pfc_terms_code_division_exists_previous = fs_q_pfc_division_exists_previoussum_body_steps_summand * S ((S (fs_i_pfc_division_exists_previoussum_body_steps)) * pfc_terms_scale_division_exists_previous) + (fs_a_pfc_division_exists_previoussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_previoussum_body_steps_partial. fs_h_pfc_division_exists_previoussum_body_steps_partial + S (fs_r_pfc_division_exists_previoussum_body_steps) = S ((S (fs_i_pfc_division_exists_previoussum_body_steps)) * fs_v_pfc_division_exists_previoussum)) /\ exists fs_q_pfc_division_exists_previoussum_body_steps_partial. fs_u_pfc_division_exists_previoussum = fs_q_pfc_division_exists_previoussum_body_steps_partial * S ((S (fs_i_pfc_division_exists_previoussum_body_steps)) * fs_v_pfc_division_exists_previoussum) + (fs_r_pfc_division_exists_previoussum_body_steps))) /\ ((((exists fs_h_pfc_division_exists_previoussum_body_steps_successor. fs_h_pfc_division_exists_previoussum_body_steps_successor + S (fs_s_pfc_division_exists_previoussum_body_steps) = S ((S (S fs_i_pfc_division_exists_previoussum_body_steps)) * fs_v_pfc_division_exists_previoussum)) /\ exists fs_q_pfc_division_exists_previoussum_body_steps_successor. fs_u_pfc_division_exists_previoussum = fs_q_pfc_division_exists_previoussum_body_steps_successor * S ((S (S fs_i_pfc_division_exists_previoussum_body_steps)) * fs_v_pfc_division_exists_previoussum) + (fs_s_pfc_division_exists_previoussum_body_steps))) /\ fs_s_pfc_division_exists_previoussum_body_steps = fs_r_pfc_division_exists_previoussum_body_steps + fs_a_pfc_division_exists_previoussum_body_steps)))))) /\ ((((exists pfa_gap_division_exists_previousresiduebound. pfa_gap_division_exists_previousresiduebound + S (c) = (p)) /\ ((exists pfa_offset_left_division_exists_previousresiduecongruence pfa_offset_right_division_exists_previousresiduecongruence. (pfc_natural_sum_division_exists_previous) + (p) * pfa_offset_left_division_exists_previousresiduecongruence = (c) + (p) * pfa_offset_right_division_exists_previousresiduecongruence)))))))))specialize prime_field_convolution_coefficient_exists (p)specialize prime_field_convolution_coefficient_exists (x)specialize prime_field_convolution_coefficient_exists (x1)specialize prime_field_convolution_coefficient_exists (N)specialize prime_field_convolution_coefficient_exists (bb)specialize prime_field_convolution_coefficient_exists (bc)specialize prime_field_convolution_coefficient_exists (M)specialize prime_field_convolution_coefficient_exists (N)apply prime_field_convolution_coefficient_existsintro hzspecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hzcases hchave hs : exists s. (((exists pfa_gap_division_exists_differenceleft. pfa_gap_division_exists_differenceleft + S (x3) = (p)) /\ (((exists pfa_gap_division_exists_differenceright. pfa_gap_division_exists_differenceright + S (s) = (p)) /\ ((((exists pfa_gap_division_exists_differenceresultbound. pfa_gap_division_exists_differenceresultbound + S (x2) = (p)) /\ ((exists pfa_offset_left_division_exists_differenceresultcongruence pfa_offset_right_division_exists_differenceresultcongruence. ((x3) + (s)) + (p) * pfa_offset_left_division_exists_differenceresultcongruence = (x2) + (p) * pfa_offset_right_division_exists_differenceresultcongruence)))))))))specialize prime_field_subtract_exists (p)specialize prime_field_subtract_exists (x2)specialize prime_field_subtract_exists (x3)apply prime_field_subtract_existsexact hpexact hinput_witness_rightspecialize prime_field_convolution_coefficient_bounded (p)specialize prime_field_convolution_coefficient_bounded (x)specialize prime_field_convolution_coefficient_bounded (x1)specialize prime_field_convolution_coefficient_bounded (N)specialize prime_field_convolution_coefficient_bounded (bb)specialize prime_field_convolution_coefficient_bounded (bc)specialize prime_field_convolution_coefficient_bounded (M)specialize prime_field_convolution_coefficient_bounded (N)specialize prime_field_convolution_coefficient_bounded (x3)apply prime_field_convolution_coefficient_boundedexact hc_witnesscases hshave hq : exists q. (((exists pfa_gap_division_exists_quotientleft. pfa_gap_division_exists_quotientleft + S (k) = (p)) /\ (((exists pfa_gap_division_exists_quotientright. pfa_gap_division_exists_quotientright + S (x4) = (p)) /\ ((((exists pfa_gap_division_exists_quotientresultbound. pfa_gap_division_exists_quotientresultbound + S (q) = (p)) /\ ((exists pfa_offset_left_division_exists_quotientresultcongruence pfa_offset_right_division_exists_quotientresultcongruence. ((k) * (x4)) + (p) * pfa_offset_left_division_exists_quotientresultcongruence = (q) + (p) * pfa_offset_right_division_exists_quotientresultcongruence)))))))))specialize prime_field_multiply_exists (p)specialize prime_field_multiply_exists (k)specialize prime_field_multiply_exists (x4)apply prime_field_multiply_existsexact hpexact hkcases hs_witnesscases hs_witness_rightexact hs_witness_right_leftcases hqhave hnew : exists QB QC. ((((exists ff_h_pfp_division_exists_new_entry. ff_h_pfp_division_exists_new_entry + S (x5) = S ((S (N)) * QC)) /\ exists ff_q_pfp_division_exists_new_entry. QB = ff_q_pfp_division_exists_new_entry * S ((S (N)) * QC) + (x5))) /\ ((forall mdr_i_pfp_division_exists_preservation mdr_a_pfp_division_exists_preservation. (exists mdr_gap_pfp_division_exists_preservationb. mdr_gap_pfp_division_exists_preservationb + S (mdr_i_pfp_division_exists_preservation) = (N)) -> (((exists ff_h_mdr_pfp_division_exists_preservationo. ff_h_mdr_pfp_division_exists_preservationo + S (mdr_a_pfp_division_exists_preservation) = S ((S (mdr_i_pfp_division_exists_preservation)) * x1)) /\ exists ff_q_mdr_pfp_division_exists_preservationo. x = ff_q_mdr_pfp_division_exists_preservationo * S ((S (mdr_i_pfp_division_exists_preservation)) * x1) + (mdr_a_pfp_division_exists_preservation))) -> (((exists ff_h_mdr_pfp_division_exists_preservationn. ff_h_mdr_pfp_division_exists_preservationn + S (mdr_a_pfp_division_exists_preservation) = S ((S (mdr_i_pfp_division_exists_preservation)) * QC)) /\ exists ff_q_mdr_pfp_division_exists_preservationn. QB = ff_q_mdr_pfp_division_exists_preservationn * S ((S (mdr_i_pfp_division_exists_preservation)) * QC) + (mdr_a_pfp_division_exists_preservation))))))specialize beta_prefix_extend (N)specialize beta_prefix_extend (x)specialize beta_prefix_extend (x1)specialize beta_prefix_extend (x5)apply beta_prefix_extendcases hnewcases hnew_witnesscases hnew_witness_witnessexists x6exists x7specialize prime_field_polynomial_quotient_prefix_append (p)specialize prime_field_polynomial_quotient_prefix_append (k)specialize prime_field_polynomial_quotient_prefix_append (ab)specialize prime_field_polynomial_quotient_prefix_append (ac)specialize prime_field_polynomial_quotient_prefix_append (bb)specialize prime_field_polynomial_quotient_prefix_append (bc)specialize prime_field_polynomial_quotient_prefix_append (M)specialize prime_field_polynomial_quotient_prefix_append (x)specialize prime_field_polynomial_quotient_prefix_append (x1)specialize prime_field_polynomial_quotient_prefix_append (x6)specialize prime_field_polynomial_quotient_prefix_append (x7)specialize prime_field_polynomial_quotient_prefix_append (N)specialize prime_field_polynomial_quotient_prefix_append (x5)apply prime_field_polynomial_quotient_prefix_appendexact hold_witness_witnessexact hnew_witness_witness_rightexact hnew_witness_witness_leftexists x2exists x3exists x4splitexact hinput_witness_leftsplitexact hc_witnesssplitexact hs_witnessexact hq_witness
prime_field_polynomial_division_quotient_data_exists · unchanged support, not a new admission
forall p ab ac L bb bc d. (~((p) = 1) /\ forall pfa_factor_left_division_quotient_data_prime pfa_factor_right_division_quotient_data_prime. (p) = pfa_factor_left_division_quotient_data_prime * pfa_factor_right_division_quotient_data_prime -> pfa_factor_left_division_quotient_data_prime = 1 \/ pfa_factor_right_division_quotient_data_prime = 1) -> (forall fom_index_pfp_division_quotient_data_input. (exists fom_gap_pfp_division_quotient_data_input_index_bound. fom_gap_pfp_division_quotient_data_input_index_bound + S (fom_index_pfp_division_quotient_data_input) = L) -> exists fom_value_pfp_division_quotient_data_input. ((((exists fom_beta_height_pfp_division_quotient_data_input_entry. fom_beta_height_pfp_division_quotient_data_input_entry + S (fom_value_pfp_division_quotient_data_input) = S ((S (fom_index_pfp_division_quotient_data_input)) * ac)) /\ exists fom_beta_quotient_pfp_division_quotient_data_input_entry. ab = fom_beta_quotient_pfp_division_quotient_data_input_entry * S ((S (fom_index_pfp_division_quotient_data_input)) * ac) + (fom_value_pfp_division_quotient_data_input))) /\ (exists fom_gap_pfp_division_quotient_data_input_value_bound. fom_gap_pfp_division_quotient_data_input_value_bound + S (fom_value_pfp_division_quotient_data_input) = p))) -> ((((S d)=S (d)) /\ (((forall fom_index_pfp_division_quotient_data_divisorcoefficients. (exists fom_gap_pfp_division_quotient_data_divisorcoefficients_index_bound. fom_gap_pfp_division_quotient_data_divisorcoefficients_index_bound + S (fom_index_pfp_division_quotient_data_divisorcoefficients) = S d) -> exists fom_value_pfp_division_quotient_data_divisorcoefficients. ((((exists fom_beta_height_pfp_division_quotient_data_divisorcoefficients_entry. fom_beta_height_pfp_division_quotient_data_divisorcoefficients_entry + S (fom_value_pfp_division_quotient_data_divisorcoefficients) = S ((S (fom_index_pfp_division_quotient_data_divisorcoefficients)) * bc)) /\ exists fom_beta_quotient_pfp_division_quotient_data_divisorcoefficients_entry. bb = fom_beta_quotient_pfp_division_quotient_data_divisorcoefficients_entry * S ((S (fom_index_pfp_division_quotient_data_divisorcoefficients)) * bc) + (fom_value_pfp_division_quotient_data_divisorcoefficients))) /\ (exists fom_gap_pfp_division_quotient_data_divisorcoefficients_value_bound. fom_gap_pfp_division_quotient_data_divisorcoefficients_value_bound + S (fom_value_pfp_division_quotient_data_divisorcoefficients) = p))) /\ ((exists pfd_leading_division_quotient_data_divisor. ((((exists ff_h_pfp_division_quotient_data_divisorentry. ff_h_pfp_division_quotient_data_divisorentry + S (pfd_leading_division_quotient_data_divisor) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_quotient_data_divisorentry. bb = ff_q_pfp_division_quotient_data_divisorentry * S ((S (0)) * bc) + (pfd_leading_division_quotient_data_divisor))) /\ ((~(pfd_leading_division_quotient_data_divisor=0)))))))))) -> exists b k q qb qc. (((((exists ff_h_pfp_division_quotient_data_resulthead. ff_h_pfp_division_quotient_data_resulthead + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_quotient_data_resulthead. bb = ff_q_pfp_division_quotient_data_resulthead * S ((S (0)) * bc) + (b))) /\ (((((~((b) = 0)) /\ ((((exists pfa_gap_division_quotient_data_resultinversemultiplicationleft. pfa_gap_division_quotient_data_resultinversemultiplicationleft + S (b) = (p)) /\ (((exists pfa_gap_division_quotient_data_resultinversemultiplicationright. pfa_gap_division_quotient_data_resultinversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_division_quotient_data_resultinversemultiplicationresultbound. pfa_gap_division_quotient_data_resultinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_quotient_data_resultinversemultiplicationresultcongruence pfa_offset_right_division_quotient_data_resultinversemultiplicationresultcongruence. ((b) * (k)) + (p) * pfa_offset_left_division_quotient_data_resultinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_quotient_data_resultinversemultiplicationresultcongruence)))))))))))) /\ (((((((q)=0) /\ ((exists pfc_gap_division_quotient_data_resultlengthshort. pfc_gap_division_quotient_data_resultlengthshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L)))))) /\ ((forall pfd_index_division_quotient_data_resultexecution. (exists pfa_gap_division_quotient_data_resultexecutionbound. pfa_gap_division_quotient_data_resultexecutionbound + S (pfd_index_division_quotient_data_resultexecution) = (q)) -> exists pfd_value_division_quotient_data_resultexecution. ((((exists ff_h_pfp_division_quotient_data_resultexecutionentry. ff_h_pfp_division_quotient_data_resultexecutionentry + S (pfd_value_division_quotient_data_resultexecution) = S ((S (pfd_index_division_quotient_data_resultexecution)) * qc)) /\ exists ff_q_pfp_division_quotient_data_resultexecutionentry. qb = ff_q_pfp_division_quotient_data_resultexecutionentry * S ((S (pfd_index_division_quotient_data_resultexecution)) * qc) + (pfd_value_division_quotient_data_resultexecution))) /\ ((exists pfd_input_division_quotient_data_resultexecutionstep pfd_previous_division_quotient_data_resultexecutionstep pfd_difference_division_quotient_data_resultexecutionstep. ((((exists ff_h_pfp_division_quotient_data_resultexecutionstepinput. ff_h_pfp_division_quotient_data_resultexecutionstepinput + S (pfd_input_division_quotient_data_resultexecutionstep) = S ((S (pfd_index_division_quotient_data_resultexecution)) * ac)) /\ exists ff_q_pfp_division_quotient_data_resultexecutionstepinput. ab = ff_q_pfp_division_quotient_data_resultexecutionstepinput * S ((S (pfd_index_division_quotient_data_resultexecution)) * ac) + (pfd_input_division_quotient_data_resultexecutionstep))) /\ (((exists pfc_terms_code_division_quotient_data_resultexecutionstepprevious pfc_terms_scale_division_quotient_data_resultexecutionstepprevious pfc_natural_sum_division_quotient_data_resultexecutionstepprevious. ((forall pfc_index_division_quotient_data_resultexecutionsteppreviousdiagonal. (exists pfa_gap_division_quotient_data_resultexecutionsteppreviousdiagonalbound. pfa_gap_division_quotient_data_resultexecutionsteppreviousdiagonalbound + S (pfc_index_division_quotient_data_resultexecutionsteppreviousdiagonal) = (S (pfd_index_division_quotient_data_resultexecution))) -> exists pfc_value_division_quotient_data_resultexecutionsteppreviousdiagonal. ((((exists ff_h_pfp_division_quotient_data_resultexecutionsteppreviousdiagonalentry. ff_h_pfp_division_quotient_data_resultexecutionsteppreviousdiagonalentry + S (pfc_value_division_quotient_data_resultexecutionsteppreviousdiagonal) = S ((S (pfc_index_division_quotient_data_resultexecutionsteppreviousdiagonal)) * pfc_terms_scale_division_quotient_data_resultexecutionstepprevious)) /\ exists ff_q_pfp_division_quotient_data_resultexecutionsteppreviousdiagonalentry. pfc_terms_code_division_quotient_data_resultexecutionstepprevious = ff_q_pfp_division_quotient_data_resultexecutionsteppreviousdiagonalentry * S ((S (pfc_index_division_quotient_data_resultexecutionsteppreviousdiagonal)) * pfc_terms_scale_division_quotient_data_resultexecutionstepprevious) + (pfc_value_division_quotient_data_resultexecutionsteppreviousdiagonal))) /\ ((exists pfc_complement_division_quotient_data_resultexecutionsteppreviousdiagonalterm pfc_left_division_quotient_data_resultexecutionsteppreviousdiagonalterm pfc_right_division_quotient_data_resultexecutionsteppreviousdiagonalterm. (((pfc_index_division_quotient_data_resultexecutionsteppreviousdiagonal)+pfc_complement_division_quotient_data_resultexecutionsteppreviousdiagonalterm=(pfd_index_division_quotient_data_resultexecution)) /\ ((((((exists pfa_gap_division_quotient_data_resultexecutionsteppreviousdiagonaltermleftinside. pfa_gap_division_quotient_data_resultexecutionsteppreviousdiagonaltermleftinside + S (pfc_index_division_quotient_data_resultexecutionsteppreviousdiagonal) = (pfd_index_division_quotient_data_resultexecution)) /\ ((((exists ff_h_pfp_division_quotient_data_resultexecutionsteppreviousdiagonaltermleftentry. ff_h_pfp_division_quotient_data_resultexecutionsteppreviousdiagonaltermleftentry + S (pfc_left_division_quotient_data_resultexecutionsteppreviousdiagonalterm) = S ((S (pfc_index_division_quotient_data_resultexecutionsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_quotient_data_resultexecutionsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_quotient_data_resultexecutionsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_quotient_data_resultexecutionsteppreviousdiagonal)) * qc) + (pfc_left_division_quotient_data_resultexecutionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_quotient_data_resultexecutionsteppreviousdiagonaltermleftoutside. pfc_gap_division_quotient_data_resultexecutionsteppreviousdiagonaltermleftoutside+(pfd_index_division_quotient_data_resultexecution)=(pfc_index_division_quotient_data_resultexecutionsteppreviousdiagonal)) /\ (((pfc_left_division_quotient_data_resultexecutionsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_quotient_data_resultexecutionsteppreviousdiagonaltermrightinside. pfa_gap_division_quotient_data_resultexecutionsteppreviousdiagonaltermrightinside + S (pfc_complement_division_quotient_data_resultexecutionsteppreviousdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_quotient_data_resultexecutionsteppreviousdiagonaltermrightentry. ff_h_pfp_division_quotient_data_resultexecutionsteppreviousdiagonaltermrightentry + S (pfc_right_division_quotient_data_resultexecutionsteppreviousdiagonalterm) = S ((S (pfc_complement_division_quotient_data_resultexecutionsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_quotient_data_resultexecutionsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_quotient_data_resultexecutionsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_quotient_data_resultexecutionsteppreviousdiagonalterm)) * bc) + (pfc_right_division_quotient_data_resultexecutionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_quotient_data_resultexecutionsteppreviousdiagonaltermrightoutside. pfc_gap_division_quotient_data_resultexecutionsteppreviousdiagonaltermrightoutside+(S (d))=(pfc_complement_division_quotient_data_resultexecutionsteppreviousdiagonalterm)) /\ (((pfc_right_division_quotient_data_resultexecutionsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_quotient_data_resultexecutionsteppreviousdiagonal)=pfc_left_division_quotient_data_resultexecutionsteppreviousdiagonalterm*pfc_right_division_quotient_data_resultexecutionsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_quotient_data_resultexecutionstepprevioussum fs_v_pfc_division_quotient_data_resultexecutionstepprevioussum. ((((exists fs_h_pfc_division_quotient_data_resultexecutionstepprevioussum_body_start. fs_h_pfc_division_quotient_data_resultexecutionstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_quotient_data_resultexecutionstepprevioussum)) /\ exists fs_q_pfc_division_quotient_data_resultexecutionstepprevioussum_body_start. fs_u_pfc_division_quotient_data_resultexecutionstepprevioussum = fs_q_pfc_division_quotient_data_resultexecutionstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_quotient_data_resultexecutionstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_quotient_data_resultexecutionstepprevioussum_body_terminal. fs_h_pfc_division_quotient_data_resultexecutionstepprevioussum_body_terminal + S (pfc_natural_sum_division_quotient_data_resultexecutionstepprevious) = S ((S (S (pfd_index_division_quotient_data_resultexecution))) * fs_v_pfc_division_quotient_data_resultexecutionstepprevioussum)) /\ exists fs_q_pfc_division_quotient_data_resultexecutionstepprevioussum_body_terminal. fs_u_pfc_division_quotient_data_resultexecutionstepprevioussum = fs_q_pfc_division_quotient_data_resultexecutionstepprevioussum_body_terminal * S ((S (S (pfd_index_division_quotient_data_resultexecution))) * fs_v_pfc_division_quotient_data_resultexecutionstepprevioussum) + (pfc_natural_sum_division_quotient_data_resultexecutionstepprevious))) /\ forall fs_i_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps. (exists fs_lt_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_bound. fs_lt_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_bound + S fs_i_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps = S (pfd_index_division_quotient_data_resultexecution)) -> exists fs_a_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps fs_r_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps fs_s_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps. ((((exists fs_h_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_summand. fs_h_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_summand + S (fs_a_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps)) * pfc_terms_scale_division_quotient_data_resultexecutionstepprevious)) /\ exists fs_q_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_summand. pfc_terms_code_division_quotient_data_resultexecutionstepprevious = fs_q_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps)) * pfc_terms_scale_division_quotient_data_resultexecutionstepprevious) + (fs_a_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_partial. fs_h_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_partial + S (fs_r_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps)) * fs_v_pfc_division_quotient_data_resultexecutionstepprevioussum)) /\ exists fs_q_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_partial. fs_u_pfc_division_quotient_data_resultexecutionstepprevioussum = fs_q_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps)) * fs_v_pfc_division_quotient_data_resultexecutionstepprevioussum) + (fs_r_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_successor. fs_h_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_successor + S (fs_s_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps)) * fs_v_pfc_division_quotient_data_resultexecutionstepprevioussum)) /\ exists fs_q_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_successor. fs_u_pfc_division_quotient_data_resultexecutionstepprevioussum = fs_q_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps)) * fs_v_pfc_division_quotient_data_resultexecutionstepprevioussum) + (fs_s_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps))) /\ fs_s_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps = fs_r_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps + fs_a_pfc_division_quotient_data_resultexecutionstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_quotient_data_resultexecutionsteppreviousresiduebound. pfa_gap_division_quotient_data_resultexecutionsteppreviousresiduebound + S (pfd_previous_division_quotient_data_resultexecutionstep) = (p)) /\ ((exists pfa_offset_left_division_quotient_data_resultexecutionsteppreviousresiduecongruence pfa_offset_right_division_quotient_data_resultexecutionsteppreviousresiduecongruence. (pfc_natural_sum_division_quotient_data_resultexecutionstepprevious) + (p) * pfa_offset_left_division_quotient_data_resultexecutionsteppreviousresiduecongruence = (pfd_previous_division_quotient_data_resultexecutionstep) + (p) * pfa_offset_right_division_quotient_data_resultexecutionsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_quotient_data_resultexecutionstepsubtractleft. pfa_gap_division_quotient_data_resultexecutionstepsubtractleft + S (pfd_previous_division_quotient_data_resultexecutionstep) = (p)) /\ (((exists pfa_gap_division_quotient_data_resultexecutionstepsubtractright. pfa_gap_division_quotient_data_resultexecutionstepsubtractright + S (pfd_difference_division_quotient_data_resultexecutionstep) = (p)) /\ ((((exists pfa_gap_division_quotient_data_resultexecutionstepsubtractresultbound. pfa_gap_division_quotient_data_resultexecutionstepsubtractresultbound + S (pfd_input_division_quotient_data_resultexecutionstep) = (p)) /\ ((exists pfa_offset_left_division_quotient_data_resultexecutionstepsubtractresultcongruence pfa_offset_right_division_quotient_data_resultexecutionstepsubtractresultcongruence. ((pfd_previous_division_quotient_data_resultexecutionstep) + (pfd_difference_division_quotient_data_resultexecutionstep)) + (p) * pfa_offset_left_division_quotient_data_resultexecutionstepsubtractresultcongruence = (pfd_input_division_quotient_data_resultexecutionstep) + (p) * pfa_offset_right_division_quotient_data_resultexecutionstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_quotient_data_resultexecutionstepmultiplyleft. pfa_gap_division_quotient_data_resultexecutionstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_quotient_data_resultexecutionstepmultiplyright. pfa_gap_division_quotient_data_resultexecutionstepmultiplyright + S (pfd_difference_division_quotient_data_resultexecutionstep) = (p)) /\ ((((exists pfa_gap_division_quotient_data_resultexecutionstepmultiplyresultbound. pfa_gap_division_quotient_data_resultexecutionstepmultiplyresultbound + S (pfd_value_division_quotient_data_resultexecution) = (p)) /\ ((exists pfa_offset_left_division_quotient_data_resultexecutionstepmultiplyresultcongruence pfa_offset_right_division_quotient_data_resultexecutionstepmultiplyresultcongruence. ((k) * (pfd_difference_division_quotient_data_resultexecutionstep)) + (p) * pfa_offset_left_division_quotient_data_resultexecutionstepmultiplyresultcongruence = (pfd_value_division_quotient_data_resultexecution) + (p) * pfa_offset_right_division_quotient_data_resultexecutionstepmultiplyresultcongruence))))))))))))))))))))))))))
intro pintro abintro acintro Lintro bbintro bcintro dintro hpintro haintro hbcases hbcases hb_rightcases hb_right_rightcases hb_right_right_witnesshave hi : exists k. (((~((x) = 0)) /\ ((((exists pfa_gap_division_total_inversemultiplicationleft. pfa_gap_division_total_inversemultiplicationleft + S (x) = (p)) /\ (((exists pfa_gap_division_total_inversemultiplicationright. pfa_gap_division_total_inversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_division_total_inversemultiplicationresultbound. pfa_gap_division_total_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_total_inversemultiplicationresultcongruence pfa_offset_right_division_total_inversemultiplicationresultcongruence. ((x) * (k)) + (p) * pfa_offset_left_division_total_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_total_inversemultiplicationresultcongruence))))))))))))specialize prime_field_inverse_exists (p)specialize prime_field_inverse_exists (x)apply prime_field_inverse_existsexact hpspecialize matrix_rank_bounded_prefix_value (bb)specialize matrix_rank_bounded_prefix_value (bc)specialize matrix_rank_bounded_prefix_value (S d)specialize matrix_rank_bounded_prefix_value (p)specialize matrix_rank_bounded_prefix_value (0)specialize matrix_rank_bounded_prefix_value (x)apply matrix_rank_bounded_prefix_valueexact hb_right_leftexists dsimpexact hb_right_right_witness_leftexact hb_right_right_witness_rightcases hihave hk : exists pfa_gap_division_total_scalar_bound. pfa_gap_division_total_scalar_bound + S (x1) = (p)cases hi_witnesscases hi_witness_rightcases hi_witness_right_rightexact hi_witness_right_right_lefthave hlength : exists q. (((((q)=0) /\ ((exists pfc_gap_division_total_lengthshort. pfc_gap_division_total_lengthshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L))))))specialize polynomial_quotient_length_exists (L)specialize polynomial_quotient_length_exists (d)apply polynomial_quotient_length_existscases hlengthhave hbounds : ((exists pfc_gap_division_total_q_bound. pfc_gap_division_total_q_bound+(x2)=(L)) /\ ((exists pfc_gap_division_total_cover. pfc_gap_division_total_cover+(L)=(x2+d))))specialize polynomial_quotient_length_bounds (L)specialize polynomial_quotient_length_bounds (d)specialize polynomial_quotient_length_bounds (x2)apply polynomial_quotient_length_boundsexact hlength_witnesscases hboundshave hquotient : exists qb qc. (forall pfd_index_division_total_quotient. (exists pfa_gap_division_total_quotientbound. pfa_gap_division_total_quotientbound + S (pfd_index_division_total_quotient) = (x2)) -> exists pfd_value_division_total_quotient. ((((exists ff_h_pfp_division_total_quotiententry. ff_h_pfp_division_total_quotiententry + S (pfd_value_division_total_quotient) = S ((S (pfd_index_division_total_quotient)) * qc)) /\ exists ff_q_pfp_division_total_quotiententry. qb = ff_q_pfp_division_total_quotiententry * S ((S (pfd_index_division_total_quotient)) * qc) + (pfd_value_division_total_quotient))) /\ ((exists pfd_input_division_total_quotientstep pfd_previous_division_total_quotientstep pfd_difference_division_total_quotientstep. ((((exists ff_h_pfp_division_total_quotientstepinput. ff_h_pfp_division_total_quotientstepinput + S (pfd_input_division_total_quotientstep) = S ((S (pfd_index_division_total_quotient)) * ac)) /\ exists ff_q_pfp_division_total_quotientstepinput. ab = ff_q_pfp_division_total_quotientstepinput * S ((S (pfd_index_division_total_quotient)) * ac) + (pfd_input_division_total_quotientstep))) /\ (((exists pfc_terms_code_division_total_quotientstepprevious pfc_terms_scale_division_total_quotientstepprevious pfc_natural_sum_division_total_quotientstepprevious. ((forall pfc_index_division_total_quotientsteppreviousdiagonal. (exists pfa_gap_division_total_quotientsteppreviousdiagonalbound. pfa_gap_division_total_quotientsteppreviousdiagonalbound + S (pfc_index_division_total_quotientsteppreviousdiagonal) = (S (pfd_index_division_total_quotient))) -> exists pfc_value_division_total_quotientsteppreviousdiagonal. ((((exists ff_h_pfp_division_total_quotientsteppreviousdiagonalentry. ff_h_pfp_division_total_quotientsteppreviousdiagonalentry + S (pfc_value_division_total_quotientsteppreviousdiagonal) = S ((S (pfc_index_division_total_quotientsteppreviousdiagonal)) * pfc_terms_scale_division_total_quotientstepprevious)) /\ exists ff_q_pfp_division_total_quotientsteppreviousdiagonalentry. pfc_terms_code_division_total_quotientstepprevious = ff_q_pfp_division_total_quotientsteppreviousdiagonalentry * S ((S (pfc_index_division_total_quotientsteppreviousdiagonal)) * pfc_terms_scale_division_total_quotientstepprevious) + (pfc_value_division_total_quotientsteppreviousdiagonal))) /\ ((exists pfc_complement_division_total_quotientsteppreviousdiagonalterm pfc_left_division_total_quotientsteppreviousdiagonalterm pfc_right_division_total_quotientsteppreviousdiagonalterm. (((pfc_index_division_total_quotientsteppreviousdiagonal)+pfc_complement_division_total_quotientsteppreviousdiagonalterm=(pfd_index_division_total_quotient)) /\ ((((((exists pfa_gap_division_total_quotientsteppreviousdiagonaltermleftinside. pfa_gap_division_total_quotientsteppreviousdiagonaltermleftinside + S (pfc_index_division_total_quotientsteppreviousdiagonal) = (pfd_index_division_total_quotient)) /\ ((((exists ff_h_pfp_division_total_quotientsteppreviousdiagonaltermleftentry. ff_h_pfp_division_total_quotientsteppreviousdiagonaltermleftentry + S (pfc_left_division_total_quotientsteppreviousdiagonalterm) = S ((S (pfc_index_division_total_quotientsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_total_quotientsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_total_quotientsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_total_quotientsteppreviousdiagonal)) * qc) + (pfc_left_division_total_quotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_total_quotientsteppreviousdiagonaltermleftoutside. pfc_gap_division_total_quotientsteppreviousdiagonaltermleftoutside+(pfd_index_division_total_quotient)=(pfc_index_division_total_quotientsteppreviousdiagonal)) /\ (((pfc_left_division_total_quotientsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_total_quotientsteppreviousdiagonaltermrightinside. pfa_gap_division_total_quotientsteppreviousdiagonaltermrightinside + S (pfc_complement_division_total_quotientsteppreviousdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_total_quotientsteppreviousdiagonaltermrightentry. ff_h_pfp_division_total_quotientsteppreviousdiagonaltermrightentry + S (pfc_right_division_total_quotientsteppreviousdiagonalterm) = S ((S (pfc_complement_division_total_quotientsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_total_quotientsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_total_quotientsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_total_quotientsteppreviousdiagonalterm)) * bc) + (pfc_right_division_total_quotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_total_quotientsteppreviousdiagonaltermrightoutside. pfc_gap_division_total_quotientsteppreviousdiagonaltermrightoutside+(S d)=(pfc_complement_division_total_quotientsteppreviousdiagonalterm)) /\ (((pfc_right_division_total_quotientsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_total_quotientsteppreviousdiagonal)=pfc_left_division_total_quotientsteppreviousdiagonalterm*pfc_right_division_total_quotientsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_total_quotientstepprevioussum fs_v_pfc_division_total_quotientstepprevioussum. ((((exists fs_h_pfc_division_total_quotientstepprevioussum_body_start. fs_h_pfc_division_total_quotientstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_total_quotientstepprevioussum)) /\ exists fs_q_pfc_division_total_quotientstepprevioussum_body_start. fs_u_pfc_division_total_quotientstepprevioussum = fs_q_pfc_division_total_quotientstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_total_quotientstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_total_quotientstepprevioussum_body_terminal. fs_h_pfc_division_total_quotientstepprevioussum_body_terminal + S (pfc_natural_sum_division_total_quotientstepprevious) = S ((S (S (pfd_index_division_total_quotient))) * fs_v_pfc_division_total_quotientstepprevioussum)) /\ exists fs_q_pfc_division_total_quotientstepprevioussum_body_terminal. fs_u_pfc_division_total_quotientstepprevioussum = fs_q_pfc_division_total_quotientstepprevioussum_body_terminal * S ((S (S (pfd_index_division_total_quotient))) * fs_v_pfc_division_total_quotientstepprevioussum) + (pfc_natural_sum_division_total_quotientstepprevious))) /\ forall fs_i_pfc_division_total_quotientstepprevioussum_body_steps. (exists fs_lt_pfc_division_total_quotientstepprevioussum_body_steps_bound. fs_lt_pfc_division_total_quotientstepprevioussum_body_steps_bound + S fs_i_pfc_division_total_quotientstepprevioussum_body_steps = S (pfd_index_division_total_quotient)) -> exists fs_a_pfc_division_total_quotientstepprevioussum_body_steps fs_r_pfc_division_total_quotientstepprevioussum_body_steps fs_s_pfc_division_total_quotientstepprevioussum_body_steps. ((((exists fs_h_pfc_division_total_quotientstepprevioussum_body_steps_summand. fs_h_pfc_division_total_quotientstepprevioussum_body_steps_summand + S (fs_a_pfc_division_total_quotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_total_quotientstepprevioussum_body_steps)) * pfc_terms_scale_division_total_quotientstepprevious)) /\ exists fs_q_pfc_division_total_quotientstepprevioussum_body_steps_summand. pfc_terms_code_division_total_quotientstepprevious = fs_q_pfc_division_total_quotientstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_total_quotientstepprevioussum_body_steps)) * pfc_terms_scale_division_total_quotientstepprevious) + (fs_a_pfc_division_total_quotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_total_quotientstepprevioussum_body_steps_partial. fs_h_pfc_division_total_quotientstepprevioussum_body_steps_partial + S (fs_r_pfc_division_total_quotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_total_quotientstepprevioussum_body_steps)) * fs_v_pfc_division_total_quotientstepprevioussum)) /\ exists fs_q_pfc_division_total_quotientstepprevioussum_body_steps_partial. fs_u_pfc_division_total_quotientstepprevioussum = fs_q_pfc_division_total_quotientstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_total_quotientstepprevioussum_body_steps)) * fs_v_pfc_division_total_quotientstepprevioussum) + (fs_r_pfc_division_total_quotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_total_quotientstepprevioussum_body_steps_successor. fs_h_pfc_division_total_quotientstepprevioussum_body_steps_successor + S (fs_s_pfc_division_total_quotientstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_total_quotientstepprevioussum_body_steps)) * fs_v_pfc_division_total_quotientstepprevioussum)) /\ exists fs_q_pfc_division_total_quotientstepprevioussum_body_steps_successor. fs_u_pfc_division_total_quotientstepprevioussum = fs_q_pfc_division_total_quotientstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_total_quotientstepprevioussum_body_steps)) * fs_v_pfc_division_total_quotientstepprevioussum) + (fs_s_pfc_division_total_quotientstepprevioussum_body_steps))) /\ fs_s_pfc_division_total_quotientstepprevioussum_body_steps = fs_r_pfc_division_total_quotientstepprevioussum_body_steps + fs_a_pfc_division_total_quotientstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_total_quotientsteppreviousresiduebound. pfa_gap_division_total_quotientsteppreviousresiduebound + S (pfd_previous_division_total_quotientstep) = (p)) /\ ((exists pfa_offset_left_division_total_quotientsteppreviousresiduecongruence pfa_offset_right_division_total_quotientsteppreviousresiduecongruence. (pfc_natural_sum_division_total_quotientstepprevious) + (p) * pfa_offset_left_division_total_quotientsteppreviousresiduecongruence = (pfd_previous_division_total_quotientstep) + (p) * pfa_offset_right_division_total_quotientsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_total_quotientstepsubtractleft. pfa_gap_division_total_quotientstepsubtractleft + S (pfd_previous_division_total_quotientstep) = (p)) /\ (((exists pfa_gap_division_total_quotientstepsubtractright. pfa_gap_division_total_quotientstepsubtractright + S (pfd_difference_division_total_quotientstep) = (p)) /\ ((((exists pfa_gap_division_total_quotientstepsubtractresultbound. pfa_gap_division_total_quotientstepsubtractresultbound + S (pfd_input_division_total_quotientstep) = (p)) /\ ((exists pfa_offset_left_division_total_quotientstepsubtractresultcongruence pfa_offset_right_division_total_quotientstepsubtractresultcongruence. ((pfd_previous_division_total_quotientstep) + (pfd_difference_division_total_quotientstep)) + (p) * pfa_offset_left_division_total_quotientstepsubtractresultcongruence = (pfd_input_division_total_quotientstep) + (p) * pfa_offset_right_division_total_quotientstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_total_quotientstepmultiplyleft. pfa_gap_division_total_quotientstepmultiplyleft + S (x1) = (p)) /\ (((exists pfa_gap_division_total_quotientstepmultiplyright. pfa_gap_division_total_quotientstepmultiplyright + S (pfd_difference_division_total_quotientstep) = (p)) /\ ((((exists pfa_gap_division_total_quotientstepmultiplyresultbound. pfa_gap_division_total_quotientstepmultiplyresultbound + S (pfd_value_division_total_quotient) = (p)) /\ ((exists pfa_offset_left_division_total_quotientstepmultiplyresultcongruence pfa_offset_right_division_total_quotientstepmultiplyresultcongruence. ((x1) * (pfd_difference_division_total_quotientstep)) + (p) * pfa_offset_left_division_total_quotientstepmultiplyresultcongruence = (pfd_value_division_total_quotient) + (p) * pfa_offset_right_division_total_quotientstepmultiplyresultcongruence)))))))))))))))))))specialize prime_field_polynomial_quotient_prefix_exists (p)specialize prime_field_polynomial_quotient_prefix_exists (x1)specialize prime_field_polynomial_quotient_prefix_exists (ab)specialize prime_field_polynomial_quotient_prefix_exists (ac)specialize prime_field_polynomial_quotient_prefix_exists (bb)specialize prime_field_polynomial_quotient_prefix_exists (bc)specialize prime_field_polynomial_quotient_prefix_exists (S d)specialize prime_field_polynomial_quotient_prefix_exists (x2)apply prime_field_polynomial_quotient_prefix_existsexact hpexact hkintro iintro hindexspecialize ha (i)apply haspecialize lt_of_lt_of_le (i)specialize lt_of_lt_of_le (x2)specialize lt_of_lt_of_le (L)apply lt_of_lt_of_leexact hindexexact hbounds_leftcases hquotientcases hquotient_witnessexists xexists x1exists x2exists x3exists x4splitexact hb_right_right_witness_leftsplitexact hi_witnesssplitexact hlength_witnessexact hquotient_witness_witness
prime_field_polynomial_subtract_bounded · unchanged support, not a new admission
forall p ab ac bb bc rb rc l. (forall pfs_index_subtract_bounded_graph. (exists pfa_gap_subtract_bounded_graphindex. pfa_gap_subtract_bounded_graphindex + S (pfs_index_subtract_bounded_graph) = (l)) -> exists pfs_left_subtract_bounded_graph pfs_right_subtract_bounded_graph pfs_result_subtract_bounded_graph. ((((exists ff_h_pfp_subtract_bounded_graphleft. ff_h_pfp_subtract_bounded_graphleft + S (pfs_left_subtract_bounded_graph) = S ((S (pfs_index_subtract_bounded_graph)) * ac)) /\ exists ff_q_pfp_subtract_bounded_graphleft. ab = ff_q_pfp_subtract_bounded_graphleft * S ((S (pfs_index_subtract_bounded_graph)) * ac) + (pfs_left_subtract_bounded_graph))) /\ (((((exists ff_h_pfp_subtract_bounded_graphright. ff_h_pfp_subtract_bounded_graphright + S (pfs_right_subtract_bounded_graph) = S ((S (pfs_index_subtract_bounded_graph)) * bc)) /\ exists ff_q_pfp_subtract_bounded_graphright. bb = ff_q_pfp_subtract_bounded_graphright * S ((S (pfs_index_subtract_bounded_graph)) * bc) + (pfs_right_subtract_bounded_graph))) /\ (((((exists ff_h_pfp_subtract_bounded_graphresult. ff_h_pfp_subtract_bounded_graphresult + S (pfs_result_subtract_bounded_graph) = S ((S (pfs_index_subtract_bounded_graph)) * rc)) /\ exists ff_q_pfp_subtract_bounded_graphresult. rb = ff_q_pfp_subtract_bounded_graphresult * S ((S (pfs_index_subtract_bounded_graph)) * rc) + (pfs_result_subtract_bounded_graph))) /\ ((((exists pfa_gap_subtract_bounded_graphoperationleft. pfa_gap_subtract_bounded_graphoperationleft + S (pfs_right_subtract_bounded_graph) = (p)) /\ (((exists pfa_gap_subtract_bounded_graphoperationright. pfa_gap_subtract_bounded_graphoperationright + S (pfs_result_subtract_bounded_graph) = (p)) /\ ((((exists pfa_gap_subtract_bounded_graphoperationresultbound. pfa_gap_subtract_bounded_graphoperationresultbound + S (pfs_left_subtract_bounded_graph) = (p)) /\ ((exists pfa_offset_left_subtract_bounded_graphoperationresultcongruence pfa_offset_right_subtract_bounded_graphoperationresultcongruence. ((pfs_right_subtract_bounded_graph) + (pfs_result_subtract_bounded_graph)) + (p) * pfa_offset_left_subtract_bounded_graphoperationresultcongruence = (pfs_left_subtract_bounded_graph) + (p) * pfa_offset_right_subtract_bounded_graphoperationresultcongruence)))))))))))))))) -> ((forall fom_index_pfp_subtract_bounded_ab. (exists fom_gap_pfp_subtract_bounded_ab_index_bound. fom_gap_pfp_subtract_bounded_ab_index_bound + S (fom_index_pfp_subtract_bounded_ab) = l) -> exists fom_value_pfp_subtract_bounded_ab. ((((exists fom_beta_height_pfp_subtract_bounded_ab_entry. fom_beta_height_pfp_subtract_bounded_ab_entry + S (fom_value_pfp_subtract_bounded_ab) = S ((S (fom_index_pfp_subtract_bounded_ab)) * ac)) /\ exists fom_beta_quotient_pfp_subtract_bounded_ab_entry. ab = fom_beta_quotient_pfp_subtract_bounded_ab_entry * S ((S (fom_index_pfp_subtract_bounded_ab)) * ac) + (fom_value_pfp_subtract_bounded_ab))) /\ (exists fom_gap_pfp_subtract_bounded_ab_value_bound. fom_gap_pfp_subtract_bounded_ab_value_bound + S (fom_value_pfp_subtract_bounded_ab) = p))) /\ (((forall fom_index_pfp_subtract_bounded_bb. (exists fom_gap_pfp_subtract_bounded_bb_index_bound. fom_gap_pfp_subtract_bounded_bb_index_bound + S (fom_index_pfp_subtract_bounded_bb) = l) -> exists fom_value_pfp_subtract_bounded_bb. ((((exists fom_beta_height_pfp_subtract_bounded_bb_entry. fom_beta_height_pfp_subtract_bounded_bb_entry + S (fom_value_pfp_subtract_bounded_bb) = S ((S (fom_index_pfp_subtract_bounded_bb)) * bc)) /\ exists fom_beta_quotient_pfp_subtract_bounded_bb_entry. bb = fom_beta_quotient_pfp_subtract_bounded_bb_entry * S ((S (fom_index_pfp_subtract_bounded_bb)) * bc) + (fom_value_pfp_subtract_bounded_bb))) /\ (exists fom_gap_pfp_subtract_bounded_bb_value_bound. fom_gap_pfp_subtract_bounded_bb_value_bound + S (fom_value_pfp_subtract_bounded_bb) = p))) /\ ((forall fom_index_pfp_subtract_bounded_rb. (exists fom_gap_pfp_subtract_bounded_rb_index_bound. fom_gap_pfp_subtract_bounded_rb_index_bound + S (fom_index_pfp_subtract_bounded_rb) = l) -> exists fom_value_pfp_subtract_bounded_rb. ((((exists fom_beta_height_pfp_subtract_bounded_rb_entry. fom_beta_height_pfp_subtract_bounded_rb_entry + S (fom_value_pfp_subtract_bounded_rb) = S ((S (fom_index_pfp_subtract_bounded_rb)) * rc)) /\ exists fom_beta_quotient_pfp_subtract_bounded_rb_entry. rb = fom_beta_quotient_pfp_subtract_bounded_rb_entry * S ((S (fom_index_pfp_subtract_bounded_rb)) * rc) + (fom_value_pfp_subtract_bounded_rb))) /\ (exists fom_gap_pfp_subtract_bounded_rb_value_bound. fom_gap_pfp_subtract_bounded_rb_value_bound + S (fom_value_pfp_subtract_bounded_rb) = p)))))))
intro pintro abintro acintro bbintro bcintro rbintro rcintro lintro hsplitintro iintro hihave hv : exists a b r. (((((exists ff_h_pfp_subtract_bound_chosen0. ff_h_pfp_subtract_bound_chosen0 + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_subtract_bound_chosen0. ab = ff_q_pfp_subtract_bound_chosen0 * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_subtract_bound_chosen1. ff_h_pfp_subtract_bound_chosen1 + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_subtract_bound_chosen1. bb = ff_q_pfp_subtract_bound_chosen1 * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_subtract_bound_chosen2. ff_h_pfp_subtract_bound_chosen2 + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_subtract_bound_chosen2. rb = ff_q_pfp_subtract_bound_chosen2 * S ((S (i)) * rc) + (r))) /\ ((((exists pfa_gap_subtract_bound_chosenoperationleft. pfa_gap_subtract_bound_chosenoperationleft + S (b) = (p)) /\ (((exists pfa_gap_subtract_bound_chosenoperationright. pfa_gap_subtract_bound_chosenoperationright + S (r) = (p)) /\ ((((exists pfa_gap_subtract_bound_chosenoperationresultbound. pfa_gap_subtract_bound_chosenoperationresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_subtract_bound_chosenoperationresultcongruence pfa_offset_right_subtract_bound_chosenoperationresultcongruence. ((b) + (r)) + (p) * pfa_offset_left_subtract_bound_chosenoperationresultcongruence = (a) + (p) * pfa_offset_right_subtract_bound_chosenoperationresultcongruence))))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightcases hv_witness_witness_witness_right_right_rightcases hv_witness_witness_witness_right_right_right_rightcases hv_witness_witness_witness_right_right_right_right_rightexists xsplitexact hv_witness_witness_witness_leftexact hv_witness_witness_witness_right_right_right_right_right_leftsplitintro iintro hihave hv : exists a b r. (((((exists ff_h_pfp_subtract_bound_chosen0. ff_h_pfp_subtract_bound_chosen0 + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_subtract_bound_chosen0. ab = ff_q_pfp_subtract_bound_chosen0 * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_subtract_bound_chosen1. ff_h_pfp_subtract_bound_chosen1 + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_subtract_bound_chosen1. bb = ff_q_pfp_subtract_bound_chosen1 * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_subtract_bound_chosen2. ff_h_pfp_subtract_bound_chosen2 + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_subtract_bound_chosen2. rb = ff_q_pfp_subtract_bound_chosen2 * S ((S (i)) * rc) + (r))) /\ ((((exists pfa_gap_subtract_bound_chosenoperationleft. pfa_gap_subtract_bound_chosenoperationleft + S (b) = (p)) /\ (((exists pfa_gap_subtract_bound_chosenoperationright. pfa_gap_subtract_bound_chosenoperationright + S (r) = (p)) /\ ((((exists pfa_gap_subtract_bound_chosenoperationresultbound. pfa_gap_subtract_bound_chosenoperationresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_subtract_bound_chosenoperationresultcongruence pfa_offset_right_subtract_bound_chosenoperationresultcongruence. ((b) + (r)) + (p) * pfa_offset_left_subtract_bound_chosenoperationresultcongruence = (a) + (p) * pfa_offset_right_subtract_bound_chosenoperationresultcongruence))))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightcases hv_witness_witness_witness_right_right_rightcases hv_witness_witness_witness_right_right_right_rightcases hv_witness_witness_witness_right_right_right_right_rightexists x1splitexact hv_witness_witness_witness_right_leftexact hv_witness_witness_witness_right_right_right_leftintro iintro hihave hv : exists a b r. (((((exists ff_h_pfp_subtract_bound_chosen0. ff_h_pfp_subtract_bound_chosen0 + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_subtract_bound_chosen0. ab = ff_q_pfp_subtract_bound_chosen0 * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_subtract_bound_chosen1. ff_h_pfp_subtract_bound_chosen1 + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_subtract_bound_chosen1. bb = ff_q_pfp_subtract_bound_chosen1 * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_subtract_bound_chosen2. ff_h_pfp_subtract_bound_chosen2 + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_subtract_bound_chosen2. rb = ff_q_pfp_subtract_bound_chosen2 * S ((S (i)) * rc) + (r))) /\ ((((exists pfa_gap_subtract_bound_chosenoperationleft. pfa_gap_subtract_bound_chosenoperationleft + S (b) = (p)) /\ (((exists pfa_gap_subtract_bound_chosenoperationright. pfa_gap_subtract_bound_chosenoperationright + S (r) = (p)) /\ ((((exists pfa_gap_subtract_bound_chosenoperationresultbound. pfa_gap_subtract_bound_chosenoperationresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_subtract_bound_chosenoperationresultcongruence pfa_offset_right_subtract_bound_chosenoperationresultcongruence. ((b) + (r)) + (p) * pfa_offset_left_subtract_bound_chosenoperationresultcongruence = (a) + (p) * pfa_offset_right_subtract_bound_chosenoperationresultcongruence))))))))))))))))specialize h (i)apply hexact hicases hvcases hv_witnesscases hv_witness_witnesscases hv_witness_witness_witnesscases hv_witness_witness_witness_rightcases hv_witness_witness_witness_right_rightcases hv_witness_witness_witness_right_right_rightcases hv_witness_witness_witness_right_right_right_rightcases hv_witness_witness_witness_right_right_right_right_rightexists x2splitexact hv_witness_witness_witness_right_right_leftexact hv_witness_witness_witness_right_right_right_right_left
prime_field_polynomial_division_residual_data_exists · unchanged support, not a new admission
forall p ab ac L bb bc d qb qc q. (~((p) = 1) /\ forall pfa_factor_left_division_residual_data_prime pfa_factor_right_division_residual_data_prime. (p) = pfa_factor_left_division_residual_data_prime * pfa_factor_right_division_residual_data_prime -> pfa_factor_left_division_residual_data_prime = 1 \/ pfa_factor_right_division_residual_data_prime = 1) -> (forall fom_index_pfp_division_residual_data_input. (exists fom_gap_pfp_division_residual_data_input_index_bound. fom_gap_pfp_division_residual_data_input_index_bound + S (fom_index_pfp_division_residual_data_input) = L) -> exists fom_value_pfp_division_residual_data_input. ((((exists fom_beta_height_pfp_division_residual_data_input_entry. fom_beta_height_pfp_division_residual_data_input_entry + S (fom_value_pfp_division_residual_data_input) = S ((S (fom_index_pfp_division_residual_data_input)) * ac)) /\ exists fom_beta_quotient_pfp_division_residual_data_input_entry. ab = fom_beta_quotient_pfp_division_residual_data_input_entry * S ((S (fom_index_pfp_division_residual_data_input)) * ac) + (fom_value_pfp_division_residual_data_input))) /\ (exists fom_gap_pfp_division_residual_data_input_value_bound. fom_gap_pfp_division_residual_data_input_value_bound + S (fom_value_pfp_division_residual_data_input) = p))) -> exists pb pc ub uc t rb rc R. (((forall pfc_index_division_residual_data_resultproduct. (exists pfa_gap_division_residual_data_resultproductbound. pfa_gap_division_residual_data_resultproductbound + S (pfc_index_division_residual_data_resultproduct) = (L)) -> exists pfc_value_division_residual_data_resultproduct. ((((exists ff_h_pfp_division_residual_data_resultproductentry. ff_h_pfp_division_residual_data_resultproductentry + S (pfc_value_division_residual_data_resultproduct) = S ((S (pfc_index_division_residual_data_resultproduct)) * pc)) /\ exists ff_q_pfp_division_residual_data_resultproductentry. pb = ff_q_pfp_division_residual_data_resultproductentry * S ((S (pfc_index_division_residual_data_resultproduct)) * pc) + (pfc_value_division_residual_data_resultproduct))) /\ ((exists pfc_terms_code_division_residual_data_resultproductcoefficient pfc_terms_scale_division_residual_data_resultproductcoefficient pfc_natural_sum_division_residual_data_resultproductcoefficient. ((forall pfc_index_division_residual_data_resultproductcoefficientdiagonal. (exists pfa_gap_division_residual_data_resultproductcoefficientdiagonalbound. pfa_gap_division_residual_data_resultproductcoefficientdiagonalbound + S (pfc_index_division_residual_data_resultproductcoefficientdiagonal) = (S (pfc_index_division_residual_data_resultproduct))) -> exists pfc_value_division_residual_data_resultproductcoefficientdiagonal. ((((exists ff_h_pfp_division_residual_data_resultproductcoefficientdiagonalentry. ff_h_pfp_division_residual_data_resultproductcoefficientdiagonalentry + S (pfc_value_division_residual_data_resultproductcoefficientdiagonal) = S ((S (pfc_index_division_residual_data_resultproductcoefficientdiagonal)) * pfc_terms_scale_division_residual_data_resultproductcoefficient)) /\ exists ff_q_pfp_division_residual_data_resultproductcoefficientdiagonalentry. pfc_terms_code_division_residual_data_resultproductcoefficient = ff_q_pfp_division_residual_data_resultproductcoefficientdiagonalentry * S ((S (pfc_index_division_residual_data_resultproductcoefficientdiagonal)) * pfc_terms_scale_division_residual_data_resultproductcoefficient) + (pfc_value_division_residual_data_resultproductcoefficientdiagonal))) /\ ((exists pfc_complement_division_residual_data_resultproductcoefficientdiagonalterm pfc_left_division_residual_data_resultproductcoefficientdiagonalterm pfc_right_division_residual_data_resultproductcoefficientdiagonalterm. (((pfc_index_division_residual_data_resultproductcoefficientdiagonal)+pfc_complement_division_residual_data_resultproductcoefficientdiagonalterm=(pfc_index_division_residual_data_resultproduct)) /\ ((((((exists pfa_gap_division_residual_data_resultproductcoefficientdiagonaltermleftinside. pfa_gap_division_residual_data_resultproductcoefficientdiagonaltermleftinside + S (pfc_index_division_residual_data_resultproductcoefficientdiagonal) = (q)) /\ ((((exists ff_h_pfp_division_residual_data_resultproductcoefficientdiagonaltermleftentry. ff_h_pfp_division_residual_data_resultproductcoefficientdiagonaltermleftentry + S (pfc_left_division_residual_data_resultproductcoefficientdiagonalterm) = S ((S (pfc_index_division_residual_data_resultproductcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_residual_data_resultproductcoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_residual_data_resultproductcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_residual_data_resultproductcoefficientdiagonal)) * qc) + (pfc_left_division_residual_data_resultproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_residual_data_resultproductcoefficientdiagonaltermleftoutside. pfc_gap_division_residual_data_resultproductcoefficientdiagonaltermleftoutside+(q)=(pfc_index_division_residual_data_resultproductcoefficientdiagonal)) /\ (((pfc_left_division_residual_data_resultproductcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_residual_data_resultproductcoefficientdiagonaltermrightinside. pfa_gap_division_residual_data_resultproductcoefficientdiagonaltermrightinside + S (pfc_complement_division_residual_data_resultproductcoefficientdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_residual_data_resultproductcoefficientdiagonaltermrightentry. ff_h_pfp_division_residual_data_resultproductcoefficientdiagonaltermrightentry + S (pfc_right_division_residual_data_resultproductcoefficientdiagonalterm) = S ((S (pfc_complement_division_residual_data_resultproductcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_residual_data_resultproductcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_residual_data_resultproductcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_residual_data_resultproductcoefficientdiagonalterm)) * bc) + (pfc_right_division_residual_data_resultproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_residual_data_resultproductcoefficientdiagonaltermrightoutside. pfc_gap_division_residual_data_resultproductcoefficientdiagonaltermrightoutside+(S (d))=(pfc_complement_division_residual_data_resultproductcoefficientdiagonalterm)) /\ (((pfc_right_division_residual_data_resultproductcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_residual_data_resultproductcoefficientdiagonal)=pfc_left_division_residual_data_resultproductcoefficientdiagonalterm*pfc_right_division_residual_data_resultproductcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_residual_data_resultproductcoefficientsum fs_v_pfc_division_residual_data_resultproductcoefficientsum. ((((exists fs_h_pfc_division_residual_data_resultproductcoefficientsum_body_start. fs_h_pfc_division_residual_data_resultproductcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_residual_data_resultproductcoefficientsum)) /\ exists fs_q_pfc_division_residual_data_resultproductcoefficientsum_body_start. fs_u_pfc_division_residual_data_resultproductcoefficientsum = fs_q_pfc_division_residual_data_resultproductcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_residual_data_resultproductcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_residual_data_resultproductcoefficientsum_body_terminal. fs_h_pfc_division_residual_data_resultproductcoefficientsum_body_terminal + S (pfc_natural_sum_division_residual_data_resultproductcoefficient) = S ((S (S (pfc_index_division_residual_data_resultproduct))) * fs_v_pfc_division_residual_data_resultproductcoefficientsum)) /\ exists fs_q_pfc_division_residual_data_resultproductcoefficientsum_body_terminal. fs_u_pfc_division_residual_data_resultproductcoefficientsum = fs_q_pfc_division_residual_data_resultproductcoefficientsum_body_terminal * S ((S (S (pfc_index_division_residual_data_resultproduct))) * fs_v_pfc_division_residual_data_resultproductcoefficientsum) + (pfc_natural_sum_division_residual_data_resultproductcoefficient))) /\ forall fs_i_pfc_division_residual_data_resultproductcoefficientsum_body_steps. (exists fs_lt_pfc_division_residual_data_resultproductcoefficientsum_body_steps_bound. fs_lt_pfc_division_residual_data_resultproductcoefficientsum_body_steps_bound + S fs_i_pfc_division_residual_data_resultproductcoefficientsum_body_steps = S (pfc_index_division_residual_data_resultproduct)) -> exists fs_a_pfc_division_residual_data_resultproductcoefficientsum_body_steps fs_r_pfc_division_residual_data_resultproductcoefficientsum_body_steps fs_s_pfc_division_residual_data_resultproductcoefficientsum_body_steps. ((((exists fs_h_pfc_division_residual_data_resultproductcoefficientsum_body_steps_summand. fs_h_pfc_division_residual_data_resultproductcoefficientsum_body_steps_summand + S (fs_a_pfc_division_residual_data_resultproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_residual_data_resultproductcoefficientsum_body_steps)) * pfc_terms_scale_division_residual_data_resultproductcoefficient)) /\ exists fs_q_pfc_division_residual_data_resultproductcoefficientsum_body_steps_summand. pfc_terms_code_division_residual_data_resultproductcoefficient = fs_q_pfc_division_residual_data_resultproductcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_residual_data_resultproductcoefficientsum_body_steps)) * pfc_terms_scale_division_residual_data_resultproductcoefficient) + (fs_a_pfc_division_residual_data_resultproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_residual_data_resultproductcoefficientsum_body_steps_partial. fs_h_pfc_division_residual_data_resultproductcoefficientsum_body_steps_partial + S (fs_r_pfc_division_residual_data_resultproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_residual_data_resultproductcoefficientsum_body_steps)) * fs_v_pfc_division_residual_data_resultproductcoefficientsum)) /\ exists fs_q_pfc_division_residual_data_resultproductcoefficientsum_body_steps_partial. fs_u_pfc_division_residual_data_resultproductcoefficientsum = fs_q_pfc_division_residual_data_resultproductcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_residual_data_resultproductcoefficientsum_body_steps)) * fs_v_pfc_division_residual_data_resultproductcoefficientsum) + (fs_r_pfc_division_residual_data_resultproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_residual_data_resultproductcoefficientsum_body_steps_successor. fs_h_pfc_division_residual_data_resultproductcoefficientsum_body_steps_successor + S (fs_s_pfc_division_residual_data_resultproductcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_residual_data_resultproductcoefficientsum_body_steps)) * fs_v_pfc_division_residual_data_resultproductcoefficientsum)) /\ exists fs_q_pfc_division_residual_data_resultproductcoefficientsum_body_steps_successor. fs_u_pfc_division_residual_data_resultproductcoefficientsum = fs_q_pfc_division_residual_data_resultproductcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_residual_data_resultproductcoefficientsum_body_steps)) * fs_v_pfc_division_residual_data_resultproductcoefficientsum) + (fs_s_pfc_division_residual_data_resultproductcoefficientsum_body_steps))) /\ fs_s_pfc_division_residual_data_resultproductcoefficientsum_body_steps = fs_r_pfc_division_residual_data_resultproductcoefficientsum_body_steps + fs_a_pfc_division_residual_data_resultproductcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_residual_data_resultproductcoefficientresiduebound. pfa_gap_division_residual_data_resultproductcoefficientresiduebound + S (pfc_value_division_residual_data_resultproduct) = (p)) /\ ((exists pfa_offset_left_division_residual_data_resultproductcoefficientresiduecongruence pfa_offset_right_division_residual_data_resultproductcoefficientresiduecongruence. (pfc_natural_sum_division_residual_data_resultproductcoefficient) + (p) * pfa_offset_left_division_residual_data_resultproductcoefficientresiduecongruence = (pfc_value_division_residual_data_resultproduct) + (p) * pfa_offset_right_division_residual_data_resultproductcoefficientresiduecongruence)))))))))))) /\ (((forall pfs_index_division_residual_data_resultdifference. (exists pfa_gap_division_residual_data_resultdifferenceindex. pfa_gap_division_residual_data_resultdifferenceindex + S (pfs_index_division_residual_data_resultdifference) = (L)) -> exists pfs_left_division_residual_data_resultdifference pfs_right_division_residual_data_resultdifference pfs_result_division_residual_data_resultdifference. ((((exists ff_h_pfp_division_residual_data_resultdifferenceleft. ff_h_pfp_division_residual_data_resultdifferenceleft + S (pfs_left_division_residual_data_resultdifference) = S ((S (pfs_index_division_residual_data_resultdifference)) * ac)) /\ exists ff_q_pfp_division_residual_data_resultdifferenceleft. ab = ff_q_pfp_division_residual_data_resultdifferenceleft * S ((S (pfs_index_division_residual_data_resultdifference)) * ac) + (pfs_left_division_residual_data_resultdifference))) /\ (((((exists ff_h_pfp_division_residual_data_resultdifferenceright. ff_h_pfp_division_residual_data_resultdifferenceright + S (pfs_right_division_residual_data_resultdifference) = S ((S (pfs_index_division_residual_data_resultdifference)) * pc)) /\ exists ff_q_pfp_division_residual_data_resultdifferenceright. pb = ff_q_pfp_division_residual_data_resultdifferenceright * S ((S (pfs_index_division_residual_data_resultdifference)) * pc) + (pfs_right_division_residual_data_resultdifference))) /\ (((((exists ff_h_pfp_division_residual_data_resultdifferenceresult. ff_h_pfp_division_residual_data_resultdifferenceresult + S (pfs_result_division_residual_data_resultdifference) = S ((S (pfs_index_division_residual_data_resultdifference)) * uc)) /\ exists ff_q_pfp_division_residual_data_resultdifferenceresult. ub = ff_q_pfp_division_residual_data_resultdifferenceresult * S ((S (pfs_index_division_residual_data_resultdifference)) * uc) + (pfs_result_division_residual_data_resultdifference))) /\ ((((exists pfa_gap_division_residual_data_resultdifferenceoperationleft. pfa_gap_division_residual_data_resultdifferenceoperationleft + S (pfs_right_division_residual_data_resultdifference) = (p)) /\ (((exists pfa_gap_division_residual_data_resultdifferenceoperationright. pfa_gap_division_residual_data_resultdifferenceoperationright + S (pfs_result_division_residual_data_resultdifference) = (p)) /\ ((((exists pfa_gap_division_residual_data_resultdifferenceoperationresultbound. pfa_gap_division_residual_data_resultdifferenceoperationresultbound + S (pfs_left_division_residual_data_resultdifference) = (p)) /\ ((exists pfa_offset_left_division_residual_data_resultdifferenceoperationresultcongruence pfa_offset_right_division_residual_data_resultdifferenceoperationresultcongruence. ((pfs_right_division_residual_data_resultdifference) + (pfs_result_division_residual_data_resultdifference)) + (p) * pfa_offset_left_division_residual_data_resultdifferenceoperationresultcongruence = (pfs_left_division_residual_data_resultdifference) + (p) * pfa_offset_right_division_residual_data_resultdifferenceoperationresultcongruence)))))))))))))))) /\ (((((L)=(t)+(R)) /\ (((forall fom_index_pfp_division_residual_data_resulttriminput. (exists fom_gap_pfp_division_residual_data_resulttriminput_index_bound. fom_gap_pfp_division_residual_data_resulttriminput_index_bound + S (fom_index_pfp_division_residual_data_resulttriminput) = L) -> exists fom_value_pfp_division_residual_data_resulttriminput. ((((exists fom_beta_height_pfp_division_residual_data_resulttriminput_entry. fom_beta_height_pfp_division_residual_data_resulttriminput_entry + S (fom_value_pfp_division_residual_data_resulttriminput) = S ((S (fom_index_pfp_division_residual_data_resulttriminput)) * uc)) /\ exists fom_beta_quotient_pfp_division_residual_data_resulttriminput_entry. ub = fom_beta_quotient_pfp_division_residual_data_resulttriminput_entry * S ((S (fom_index_pfp_division_residual_data_resulttriminput)) * uc) + (fom_value_pfp_division_residual_data_resulttriminput))) /\ (exists fom_gap_pfp_division_residual_data_resulttriminput_value_bound. fom_gap_pfp_division_residual_data_resulttriminput_value_bound + S (fom_value_pfp_division_residual_data_resulttriminput) = p))) /\ (((forall pfp_repeat_index_division_residual_data_resulttrimremoved. (exists pfa_gap_division_residual_data_resulttrimremovedindex. pfa_gap_division_residual_data_resulttrimremovedindex + S (pfp_repeat_index_division_residual_data_resulttrimremoved) = (t)) -> (((exists ff_h_pfp_division_residual_data_resulttrimremovedentry. ff_h_pfp_division_residual_data_resulttrimremovedentry + S (0) = S ((S (pfp_repeat_index_division_residual_data_resulttrimremoved)) * uc)) /\ exists ff_q_pfp_division_residual_data_resulttrimremovedentry. ub = ff_q_pfp_division_residual_data_resulttrimremovedentry * S ((S (pfp_repeat_index_division_residual_data_resulttrimremoved)) * uc) + (0)))) /\ (((forall pftrim_index_division_residual_data_resulttrimsuffix pftrim_value_division_residual_data_resulttrimsuffix. (exists pfa_gap_division_residual_data_resulttrimsuffixbound. pfa_gap_division_residual_data_resulttrimsuffixbound + S (pftrim_index_division_residual_data_resulttrimsuffix) = (R)) -> (((exists ff_h_pfp_division_residual_data_resulttrimsuffixsource. ff_h_pfp_division_residual_data_resulttrimsuffixsource + S (pftrim_value_division_residual_data_resulttrimsuffix) = S ((S ((t)+pftrim_index_division_residual_data_resulttrimsuffix)) * uc)) /\ exists ff_q_pfp_division_residual_data_resulttrimsuffixsource. ub = ff_q_pfp_division_residual_data_resulttrimsuffixsource * S ((S ((t)+pftrim_index_division_residual_data_resulttrimsuffix)) * uc) + (pftrim_value_division_residual_data_resulttrimsuffix))) -> (((exists ff_h_pfp_division_residual_data_resulttrimsuffixoutput. ff_h_pfp_division_residual_data_resulttrimsuffixoutput + S (pftrim_value_division_residual_data_resulttrimsuffix) = S ((S (pftrim_index_division_residual_data_resulttrimsuffix)) * rc)) /\ exists ff_q_pfp_division_residual_data_resulttrimsuffixoutput. rb = ff_q_pfp_division_residual_data_resulttrimsuffixoutput * S ((S (pftrim_index_division_residual_data_resulttrimsuffix)) * rc) + (pftrim_value_division_residual_data_resulttrimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_residual_data_resulttrimnormal. ((((exists ff_h_pfp_division_residual_data_resulttrimnormalentry. ff_h_pfp_division_residual_data_resulttrimnormalentry + S (pftrim_leading_division_residual_data_resulttrimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_residual_data_resulttrimnormalentry. rb = ff_q_pfp_division_residual_data_resulttrimnormalentry * S ((S (0)) * rc) + (pftrim_leading_division_residual_data_resulttrimnormal))) /\ ((~(pftrim_leading_division_residual_data_resulttrimnormal=0))))))))))))))))))))
intro pintro abintro acintro Lintro bbintro bcintro dintro qbintro qcintro qintro hpintro hahave hproduct : exists pb pc. (forall pfc_index_division_residual_product. (exists pfa_gap_division_residual_productbound. pfa_gap_division_residual_productbound + S (pfc_index_division_residual_product) = (L)) -> exists pfc_value_division_residual_product. ((((exists ff_h_pfp_division_residual_productentry. ff_h_pfp_division_residual_productentry + S (pfc_value_division_residual_product) = S ((S (pfc_index_division_residual_product)) * pc)) /\ exists ff_q_pfp_division_residual_productentry. pb = ff_q_pfp_division_residual_productentry * S ((S (pfc_index_division_residual_product)) * pc) + (pfc_value_division_residual_product))) /\ ((exists pfc_terms_code_division_residual_productcoefficient pfc_terms_scale_division_residual_productcoefficient pfc_natural_sum_division_residual_productcoefficient. ((forall pfc_index_division_residual_productcoefficientdiagonal. (exists pfa_gap_division_residual_productcoefficientdiagonalbound. pfa_gap_division_residual_productcoefficientdiagonalbound + S (pfc_index_division_residual_productcoefficientdiagonal) = (S (pfc_index_division_residual_product))) -> exists pfc_value_division_residual_productcoefficientdiagonal. ((((exists ff_h_pfp_division_residual_productcoefficientdiagonalentry. ff_h_pfp_division_residual_productcoefficientdiagonalentry + S (pfc_value_division_residual_productcoefficientdiagonal) = S ((S (pfc_index_division_residual_productcoefficientdiagonal)) * pfc_terms_scale_division_residual_productcoefficient)) /\ exists ff_q_pfp_division_residual_productcoefficientdiagonalentry. pfc_terms_code_division_residual_productcoefficient = ff_q_pfp_division_residual_productcoefficientdiagonalentry * S ((S (pfc_index_division_residual_productcoefficientdiagonal)) * pfc_terms_scale_division_residual_productcoefficient) + (pfc_value_division_residual_productcoefficientdiagonal))) /\ ((exists pfc_complement_division_residual_productcoefficientdiagonalterm pfc_left_division_residual_productcoefficientdiagonalterm pfc_right_division_residual_productcoefficientdiagonalterm. (((pfc_index_division_residual_productcoefficientdiagonal)+pfc_complement_division_residual_productcoefficientdiagonalterm=(pfc_index_division_residual_product)) /\ ((((((exists pfa_gap_division_residual_productcoefficientdiagonaltermleftinside. pfa_gap_division_residual_productcoefficientdiagonaltermleftinside + S (pfc_index_division_residual_productcoefficientdiagonal) = (q)) /\ ((((exists ff_h_pfp_division_residual_productcoefficientdiagonaltermleftentry. ff_h_pfp_division_residual_productcoefficientdiagonaltermleftentry + S (pfc_left_division_residual_productcoefficientdiagonalterm) = S ((S (pfc_index_division_residual_productcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_residual_productcoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_residual_productcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_residual_productcoefficientdiagonal)) * qc) + (pfc_left_division_residual_productcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_residual_productcoefficientdiagonaltermleftoutside. pfc_gap_division_residual_productcoefficientdiagonaltermleftoutside+(q)=(pfc_index_division_residual_productcoefficientdiagonal)) /\ (((pfc_left_division_residual_productcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_residual_productcoefficientdiagonaltermrightinside. pfa_gap_division_residual_productcoefficientdiagonaltermrightinside + S (pfc_complement_division_residual_productcoefficientdiagonalterm) = (S d)) /\ ((((exists ff_h_pfp_division_residual_productcoefficientdiagonaltermrightentry. ff_h_pfp_division_residual_productcoefficientdiagonaltermrightentry + S (pfc_right_division_residual_productcoefficientdiagonalterm) = S ((S (pfc_complement_division_residual_productcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_residual_productcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_residual_productcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_residual_productcoefficientdiagonalterm)) * bc) + (pfc_right_division_residual_productcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_residual_productcoefficientdiagonaltermrightoutside. pfc_gap_division_residual_productcoefficientdiagonaltermrightoutside+(S d)=(pfc_complement_division_residual_productcoefficientdiagonalterm)) /\ (((pfc_right_division_residual_productcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_residual_productcoefficientdiagonal)=pfc_left_division_residual_productcoefficientdiagonalterm*pfc_right_division_residual_productcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_residual_productcoefficientsum fs_v_pfc_division_residual_productcoefficientsum. ((((exists fs_h_pfc_division_residual_productcoefficientsum_body_start. fs_h_pfc_division_residual_productcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_residual_productcoefficientsum)) /\ exists fs_q_pfc_division_residual_productcoefficientsum_body_start. fs_u_pfc_division_residual_productcoefficientsum = fs_q_pfc_division_residual_productcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_residual_productcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_residual_productcoefficientsum_body_terminal. fs_h_pfc_division_residual_productcoefficientsum_body_terminal + S (pfc_natural_sum_division_residual_productcoefficient) = S ((S (S (pfc_index_division_residual_product))) * fs_v_pfc_division_residual_productcoefficientsum)) /\ exists fs_q_pfc_division_residual_productcoefficientsum_body_terminal. fs_u_pfc_division_residual_productcoefficientsum = fs_q_pfc_division_residual_productcoefficientsum_body_terminal * S ((S (S (pfc_index_division_residual_product))) * fs_v_pfc_division_residual_productcoefficientsum) + (pfc_natural_sum_division_residual_productcoefficient))) /\ forall fs_i_pfc_division_residual_productcoefficientsum_body_steps. (exists fs_lt_pfc_division_residual_productcoefficientsum_body_steps_bound. fs_lt_pfc_division_residual_productcoefficientsum_body_steps_bound + S fs_i_pfc_division_residual_productcoefficientsum_body_steps = S (pfc_index_division_residual_product)) -> exists fs_a_pfc_division_residual_productcoefficientsum_body_steps fs_r_pfc_division_residual_productcoefficientsum_body_steps fs_s_pfc_division_residual_productcoefficientsum_body_steps. ((((exists fs_h_pfc_division_residual_productcoefficientsum_body_steps_summand. fs_h_pfc_division_residual_productcoefficientsum_body_steps_summand + S (fs_a_pfc_division_residual_productcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_residual_productcoefficientsum_body_steps)) * pfc_terms_scale_division_residual_productcoefficient)) /\ exists fs_q_pfc_division_residual_productcoefficientsum_body_steps_summand. pfc_terms_code_division_residual_productcoefficient = fs_q_pfc_division_residual_productcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_residual_productcoefficientsum_body_steps)) * pfc_terms_scale_division_residual_productcoefficient) + (fs_a_pfc_division_residual_productcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_residual_productcoefficientsum_body_steps_partial. fs_h_pfc_division_residual_productcoefficientsum_body_steps_partial + S (fs_r_pfc_division_residual_productcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_residual_productcoefficientsum_body_steps)) * fs_v_pfc_division_residual_productcoefficientsum)) /\ exists fs_q_pfc_division_residual_productcoefficientsum_body_steps_partial. fs_u_pfc_division_residual_productcoefficientsum = fs_q_pfc_division_residual_productcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_residual_productcoefficientsum_body_steps)) * fs_v_pfc_division_residual_productcoefficientsum) + (fs_r_pfc_division_residual_productcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_residual_productcoefficientsum_body_steps_successor. fs_h_pfc_division_residual_productcoefficientsum_body_steps_successor + S (fs_s_pfc_division_residual_productcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_residual_productcoefficientsum_body_steps)) * fs_v_pfc_division_residual_productcoefficientsum)) /\ exists fs_q_pfc_division_residual_productcoefficientsum_body_steps_successor. fs_u_pfc_division_residual_productcoefficientsum = fs_q_pfc_division_residual_productcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_residual_productcoefficientsum_body_steps)) * fs_v_pfc_division_residual_productcoefficientsum) + (fs_s_pfc_division_residual_productcoefficientsum_body_steps))) /\ fs_s_pfc_division_residual_productcoefficientsum_body_steps = fs_r_pfc_division_residual_productcoefficientsum_body_steps + fs_a_pfc_division_residual_productcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_residual_productcoefficientresiduebound. pfa_gap_division_residual_productcoefficientresiduebound + S (pfc_value_division_residual_product) = (p)) /\ ((exists pfa_offset_left_division_residual_productcoefficientresiduecongruence pfa_offset_right_division_residual_productcoefficientresiduecongruence. (pfc_natural_sum_division_residual_productcoefficient) + (p) * pfa_offset_left_division_residual_productcoefficientresiduecongruence = (pfc_value_division_residual_product) + (p) * pfa_offset_right_division_residual_productcoefficientresiduecongruence))))))))))))specialize prime_field_convolution_prefix_exists (p)specialize prime_field_convolution_prefix_exists (qb)specialize prime_field_convolution_prefix_exists (qc)specialize prime_field_convolution_prefix_exists (q)specialize prime_field_convolution_prefix_exists (bb)specialize prime_field_convolution_prefix_exists (bc)specialize prime_field_convolution_prefix_exists (S d)specialize prime_field_convolution_prefix_exists (L)apply prime_field_convolution_prefix_existsintro hzspecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hzcases hproductcases hproduct_witnesshave hresidual : exists ub uc. (forall pfs_index_division_residual_difference. (exists pfa_gap_division_residual_differenceindex. pfa_gap_division_residual_differenceindex + S (pfs_index_division_residual_difference) = (L)) -> exists pfs_left_division_residual_difference pfs_right_division_residual_difference pfs_result_division_residual_difference. ((((exists ff_h_pfp_division_residual_differenceleft. ff_h_pfp_division_residual_differenceleft + S (pfs_left_division_residual_difference) = S ((S (pfs_index_division_residual_difference)) * ac)) /\ exists ff_q_pfp_division_residual_differenceleft. ab = ff_q_pfp_division_residual_differenceleft * S ((S (pfs_index_division_residual_difference)) * ac) + (pfs_left_division_residual_difference))) /\ (((((exists ff_h_pfp_division_residual_differenceright. ff_h_pfp_division_residual_differenceright + S (pfs_right_division_residual_difference) = S ((S (pfs_index_division_residual_difference)) * x1)) /\ exists ff_q_pfp_division_residual_differenceright. x = ff_q_pfp_division_residual_differenceright * S ((S (pfs_index_division_residual_difference)) * x1) + (pfs_right_division_residual_difference))) /\ (((((exists ff_h_pfp_division_residual_differenceresult. ff_h_pfp_division_residual_differenceresult + S (pfs_result_division_residual_difference) = S ((S (pfs_index_division_residual_difference)) * uc)) /\ exists ff_q_pfp_division_residual_differenceresult. ub = ff_q_pfp_division_residual_differenceresult * S ((S (pfs_index_division_residual_difference)) * uc) + (pfs_result_division_residual_difference))) /\ ((((exists pfa_gap_division_residual_differenceoperationleft. pfa_gap_division_residual_differenceoperationleft + S (pfs_right_division_residual_difference) = (p)) /\ (((exists pfa_gap_division_residual_differenceoperationright. pfa_gap_division_residual_differenceoperationright + S (pfs_result_division_residual_difference) = (p)) /\ ((((exists pfa_gap_division_residual_differenceoperationresultbound. pfa_gap_division_residual_differenceoperationresultbound + S (pfs_left_division_residual_difference) = (p)) /\ ((exists pfa_offset_left_division_residual_differenceoperationresultcongruence pfa_offset_right_division_residual_differenceoperationresultcongruence. ((pfs_right_division_residual_difference) + (pfs_result_division_residual_difference)) + (p) * pfa_offset_left_division_residual_differenceoperationresultcongruence = (pfs_left_division_residual_difference) + (p) * pfa_offset_right_division_residual_differenceoperationresultcongruence))))))))))))))))specialize prime_field_polynomial_subtract_exists (p)specialize prime_field_polynomial_subtract_exists (ab)specialize prime_field_polynomial_subtract_exists (ac)specialize prime_field_polynomial_subtract_exists (x)specialize prime_field_polynomial_subtract_exists (x1)specialize prime_field_polynomial_subtract_exists (L)apply prime_field_polynomial_subtract_existsexact hpexact haspecialize prime_field_convolution_prefix_bounded (p)specialize prime_field_convolution_prefix_bounded (qb)specialize prime_field_convolution_prefix_bounded (qc)specialize prime_field_convolution_prefix_bounded (q)specialize prime_field_convolution_prefix_bounded (bb)specialize prime_field_convolution_prefix_bounded (bc)specialize prime_field_convolution_prefix_bounded (S d)specialize prime_field_convolution_prefix_bounded (x)specialize prime_field_convolution_prefix_bounded (x1)specialize prime_field_convolution_prefix_bounded (L)apply prime_field_convolution_prefix_boundedexact hproduct_witness_witnesscases hresidualcases hresidual_witnesshave htrim : exists t rb rc R. ((((L)=(t)+(R)) /\ (((forall fom_index_pfp_division_residual_triminput. (exists fom_gap_pfp_division_residual_triminput_index_bound. fom_gap_pfp_division_residual_triminput_index_bound + S (fom_index_pfp_division_residual_triminput) = L) -> exists fom_value_pfp_division_residual_triminput. ((((exists fom_beta_height_pfp_division_residual_triminput_entry. fom_beta_height_pfp_division_residual_triminput_entry + S (fom_value_pfp_division_residual_triminput) = S ((S (fom_index_pfp_division_residual_triminput)) * x3)) /\ exists fom_beta_quotient_pfp_division_residual_triminput_entry. x2 = fom_beta_quotient_pfp_division_residual_triminput_entry * S ((S (fom_index_pfp_division_residual_triminput)) * x3) + (fom_value_pfp_division_residual_triminput))) /\ (exists fom_gap_pfp_division_residual_triminput_value_bound. fom_gap_pfp_division_residual_triminput_value_bound + S (fom_value_pfp_division_residual_triminput) = p))) /\ (((forall pfp_repeat_index_division_residual_trimremoved. (exists pfa_gap_division_residual_trimremovedindex. pfa_gap_division_residual_trimremovedindex + S (pfp_repeat_index_division_residual_trimremoved) = (t)) -> (((exists ff_h_pfp_division_residual_trimremovedentry. ff_h_pfp_division_residual_trimremovedentry + S (0) = S ((S (pfp_repeat_index_division_residual_trimremoved)) * x3)) /\ exists ff_q_pfp_division_residual_trimremovedentry. x2 = ff_q_pfp_division_residual_trimremovedentry * S ((S (pfp_repeat_index_division_residual_trimremoved)) * x3) + (0)))) /\ (((forall pftrim_index_division_residual_trimsuffix pftrim_value_division_residual_trimsuffix. (exists pfa_gap_division_residual_trimsuffixbound. pfa_gap_division_residual_trimsuffixbound + S (pftrim_index_division_residual_trimsuffix) = (R)) -> (((exists ff_h_pfp_division_residual_trimsuffixsource. ff_h_pfp_division_residual_trimsuffixsource + S (pftrim_value_division_residual_trimsuffix) = S ((S ((t)+pftrim_index_division_residual_trimsuffix)) * x3)) /\ exists ff_q_pfp_division_residual_trimsuffixsource. x2 = ff_q_pfp_division_residual_trimsuffixsource * S ((S ((t)+pftrim_index_division_residual_trimsuffix)) * x3) + (pftrim_value_division_residual_trimsuffix))) -> (((exists ff_h_pfp_division_residual_trimsuffixoutput. ff_h_pfp_division_residual_trimsuffixoutput + S (pftrim_value_division_residual_trimsuffix) = S ((S (pftrim_index_division_residual_trimsuffix)) * rc)) /\ exists ff_q_pfp_division_residual_trimsuffixoutput. rb = ff_q_pfp_division_residual_trimsuffixoutput * S ((S (pftrim_index_division_residual_trimsuffix)) * rc) + (pftrim_value_division_residual_trimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_residual_trimnormal. ((((exists ff_h_pfp_division_residual_trimnormalentry. ff_h_pfp_division_residual_trimnormalentry + S (pftrim_leading_division_residual_trimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_residual_trimnormalentry. rb = ff_q_pfp_division_residual_trimnormalentry * S ((S (0)) * rc) + (pftrim_leading_division_residual_trimnormal))) /\ ((~(pftrim_leading_division_residual_trimnormal=0)))))))))))))))specialize prime_field_polynomial_trim_exists (p)specialize prime_field_polynomial_trim_exists (x2)specialize prime_field_polynomial_trim_exists (x3)specialize prime_field_polynomial_trim_exists (L)apply prime_field_polynomial_trim_existshave hcanonical : ((forall fom_index_pfp_division_residual_source_bound. (exists fom_gap_pfp_division_residual_source_bound_index_bound. fom_gap_pfp_division_residual_source_bound_index_bound + S (fom_index_pfp_division_residual_source_bound) = L) -> exists fom_value_pfp_division_residual_source_bound. ((((exists fom_beta_height_pfp_division_residual_source_bound_entry. fom_beta_height_pfp_division_residual_source_bound_entry + S (fom_value_pfp_division_residual_source_bound) = S ((S (fom_index_pfp_division_residual_source_bound)) * ac)) /\ exists fom_beta_quotient_pfp_division_residual_source_bound_entry. ab = fom_beta_quotient_pfp_division_residual_source_bound_entry * S ((S (fom_index_pfp_division_residual_source_bound)) * ac) + (fom_value_pfp_division_residual_source_bound))) /\ (exists fom_gap_pfp_division_residual_source_bound_value_bound. fom_gap_pfp_division_residual_source_bound_value_bound + S (fom_value_pfp_division_residual_source_bound) = p))) /\ (((forall fom_index_pfp_division_residual_product_bound. (exists fom_gap_pfp_division_residual_product_bound_index_bound. fom_gap_pfp_division_residual_product_bound_index_bound + S (fom_index_pfp_division_residual_product_bound) = L) -> exists fom_value_pfp_division_residual_product_bound. ((((exists fom_beta_height_pfp_division_residual_product_bound_entry. fom_beta_height_pfp_division_residual_product_bound_entry + S (fom_value_pfp_division_residual_product_bound) = S ((S (fom_index_pfp_division_residual_product_bound)) * x1)) /\ exists fom_beta_quotient_pfp_division_residual_product_bound_entry. x = fom_beta_quotient_pfp_division_residual_product_bound_entry * S ((S (fom_index_pfp_division_residual_product_bound)) * x1) + (fom_value_pfp_division_residual_product_bound))) /\ (exists fom_gap_pfp_division_residual_product_bound_value_bound. fom_gap_pfp_division_residual_product_bound_value_bound + S (fom_value_pfp_division_residual_product_bound) = p))) /\ ((forall fom_index_pfp_division_residual_result_bound. (exists fom_gap_pfp_division_residual_result_bound_index_bound. fom_gap_pfp_division_residual_result_bound_index_bound + S (fom_index_pfp_division_residual_result_bound) = L) -> exists fom_value_pfp_division_residual_result_bound. ((((exists fom_beta_height_pfp_division_residual_result_bound_entry. fom_beta_height_pfp_division_residual_result_bound_entry + S (fom_value_pfp_division_residual_result_bound) = S ((S (fom_index_pfp_division_residual_result_bound)) * x3)) /\ exists fom_beta_quotient_pfp_division_residual_result_bound_entry. x2 = fom_beta_quotient_pfp_division_residual_result_bound_entry * S ((S (fom_index_pfp_division_residual_result_bound)) * x3) + (fom_value_pfp_division_residual_result_bound))) /\ (exists fom_gap_pfp_division_residual_result_bound_value_bound. fom_gap_pfp_division_residual_result_bound_value_bound + S (fom_value_pfp_division_residual_result_bound) = p)))))))specialize prime_field_polynomial_subtract_bounded (p)specialize prime_field_polynomial_subtract_bounded (ab)specialize prime_field_polynomial_subtract_bounded (ac)specialize prime_field_polynomial_subtract_bounded (x)specialize prime_field_polynomial_subtract_bounded (x1)specialize prime_field_polynomial_subtract_bounded (x2)specialize prime_field_polynomial_subtract_bounded (x3)specialize prime_field_polynomial_subtract_bounded (L)apply prime_field_polynomial_subtract_boundedexact hresidual_witness_witnesscases hcanonicalcases hcanonical_rightexact hcanonical_right_rightcases htrimcases htrim_witnesscases htrim_witness_witnesscases htrim_witness_witness_witnessexists xexists x1exists x2exists x3exists x4exists x5exists x6exists x7splitexact hproduct_witness_witnesssplitexact hresidual_witness_witnessexact htrim_witness_witness_witness_witness
prime_field_polynomial_division_execution_exists · unchanged support, not a new admission
forall p ab ac L bb bc d. (~((p) = 1) /\ forall pfa_factor_left_division_total_prime pfa_factor_right_division_total_prime. (p) = pfa_factor_left_division_total_prime * pfa_factor_right_division_total_prime -> pfa_factor_left_division_total_prime = 1 \/ pfa_factor_right_division_total_prime = 1) -> (forall fom_index_pfp_division_total_input. (exists fom_gap_pfp_division_total_input_index_bound. fom_gap_pfp_division_total_input_index_bound + S (fom_index_pfp_division_total_input) = L) -> exists fom_value_pfp_division_total_input. ((((exists fom_beta_height_pfp_division_total_input_entry. fom_beta_height_pfp_division_total_input_entry + S (fom_value_pfp_division_total_input) = S ((S (fom_index_pfp_division_total_input)) * ac)) /\ exists fom_beta_quotient_pfp_division_total_input_entry. ab = fom_beta_quotient_pfp_division_total_input_entry * S ((S (fom_index_pfp_division_total_input)) * ac) + (fom_value_pfp_division_total_input))) /\ (exists fom_gap_pfp_division_total_input_value_bound. fom_gap_pfp_division_total_input_value_bound + S (fom_value_pfp_division_total_input) = p))) -> ((((S d)=S (d)) /\ (((forall fom_index_pfp_division_total_divisorcoefficients. (exists fom_gap_pfp_division_total_divisorcoefficients_index_bound. fom_gap_pfp_division_total_divisorcoefficients_index_bound + S (fom_index_pfp_division_total_divisorcoefficients) = S d) -> exists fom_value_pfp_division_total_divisorcoefficients. ((((exists fom_beta_height_pfp_division_total_divisorcoefficients_entry. fom_beta_height_pfp_division_total_divisorcoefficients_entry + S (fom_value_pfp_division_total_divisorcoefficients) = S ((S (fom_index_pfp_division_total_divisorcoefficients)) * bc)) /\ exists fom_beta_quotient_pfp_division_total_divisorcoefficients_entry. bb = fom_beta_quotient_pfp_division_total_divisorcoefficients_entry * S ((S (fom_index_pfp_division_total_divisorcoefficients)) * bc) + (fom_value_pfp_division_total_divisorcoefficients))) /\ (exists fom_gap_pfp_division_total_divisorcoefficients_value_bound. fom_gap_pfp_division_total_divisorcoefficients_value_bound + S (fom_value_pfp_division_total_divisorcoefficients) = p))) /\ ((exists pfd_leading_division_total_divisor. ((((exists ff_h_pfp_division_total_divisorentry. ff_h_pfp_division_total_divisorentry + S (pfd_leading_division_total_divisor) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_total_divisorentry. bb = ff_q_pfp_division_total_divisorentry * S ((S (0)) * bc) + (pfd_leading_division_total_divisor))) /\ ((~(pfd_leading_division_total_divisor=0)))))))))) -> exists qb qc q rb rc R. (((forall fom_index_pfp_division_total_resultinput. (exists fom_gap_pfp_division_total_resultinput_index_bound. fom_gap_pfp_division_total_resultinput_index_bound + S (fom_index_pfp_division_total_resultinput) = L) -> exists fom_value_pfp_division_total_resultinput. ((((exists fom_beta_height_pfp_division_total_resultinput_entry. fom_beta_height_pfp_division_total_resultinput_entry + S (fom_value_pfp_division_total_resultinput) = S ((S (fom_index_pfp_division_total_resultinput)) * ac)) /\ exists fom_beta_quotient_pfp_division_total_resultinput_entry. ab = fom_beta_quotient_pfp_division_total_resultinput_entry * S ((S (fom_index_pfp_division_total_resultinput)) * ac) + (fom_value_pfp_division_total_resultinput))) /\ (exists fom_gap_pfp_division_total_resultinput_value_bound. fom_gap_pfp_division_total_resultinput_value_bound + S (fom_value_pfp_division_total_resultinput) = p))) /\ (((forall fom_index_pfp_division_total_resultdivisor. (exists fom_gap_pfp_division_total_resultdivisor_index_bound. fom_gap_pfp_division_total_resultdivisor_index_bound + S (fom_index_pfp_division_total_resultdivisor) = S (d)) -> exists fom_value_pfp_division_total_resultdivisor. ((((exists fom_beta_height_pfp_division_total_resultdivisor_entry. fom_beta_height_pfp_division_total_resultdivisor_entry + S (fom_value_pfp_division_total_resultdivisor) = S ((S (fom_index_pfp_division_total_resultdivisor)) * bc)) /\ exists fom_beta_quotient_pfp_division_total_resultdivisor_entry. bb = fom_beta_quotient_pfp_division_total_resultdivisor_entry * S ((S (fom_index_pfp_division_total_resultdivisor)) * bc) + (fom_value_pfp_division_total_resultdivisor))) /\ (exists fom_gap_pfp_division_total_resultdivisor_value_bound. fom_gap_pfp_division_total_resultdivisor_value_bound + S (fom_value_pfp_division_total_resultdivisor) = p))) /\ (((((((q)=0) /\ ((exists pfc_gap_division_total_resultlengthshort. pfc_gap_division_total_resultlengthshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L)))))) /\ ((exists pfd_head_division_total_result pfd_inverse_division_total_result pfd_product_code_division_total_result pfd_product_scale_division_total_result pfd_residual_code_division_total_result pfd_residual_scale_division_total_result pfd_cut_division_total_result. ((((exists ff_h_pfp_division_total_resulthead. ff_h_pfp_division_total_resulthead + S (pfd_head_division_total_result) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_total_resulthead. bb = ff_q_pfp_division_total_resulthead * S ((S (0)) * bc) + (pfd_head_division_total_result))) /\ (((((~((pfd_head_division_total_result) = 0)) /\ ((((exists pfa_gap_division_total_resultinversemultiplicationleft. pfa_gap_division_total_resultinversemultiplicationleft + S (pfd_head_division_total_result) = (p)) /\ (((exists pfa_gap_division_total_resultinversemultiplicationright. pfa_gap_division_total_resultinversemultiplicationright + S (pfd_inverse_division_total_result) = (p)) /\ ((((exists pfa_gap_division_total_resultinversemultiplicationresultbound. pfa_gap_division_total_resultinversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_total_resultinversemultiplicationresultcongruence pfa_offset_right_division_total_resultinversemultiplicationresultcongruence. ((pfd_head_division_total_result) * (pfd_inverse_division_total_result)) + (p) * pfa_offset_left_division_total_resultinversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_total_resultinversemultiplicationresultcongruence)))))))))))) /\ (((forall pfd_index_division_total_resultquotient. (exists pfa_gap_division_total_resultquotientbound. pfa_gap_division_total_resultquotientbound + S (pfd_index_division_total_resultquotient) = (q)) -> exists pfd_value_division_total_resultquotient. ((((exists ff_h_pfp_division_total_resultquotiententry. ff_h_pfp_division_total_resultquotiententry + S (pfd_value_division_total_resultquotient) = S ((S (pfd_index_division_total_resultquotient)) * qc)) /\ exists ff_q_pfp_division_total_resultquotiententry. qb = ff_q_pfp_division_total_resultquotiententry * S ((S (pfd_index_division_total_resultquotient)) * qc) + (pfd_value_division_total_resultquotient))) /\ ((exists pfd_input_division_total_resultquotientstep pfd_previous_division_total_resultquotientstep pfd_difference_division_total_resultquotientstep. ((((exists ff_h_pfp_division_total_resultquotientstepinput. ff_h_pfp_division_total_resultquotientstepinput + S (pfd_input_division_total_resultquotientstep) = S ((S (pfd_index_division_total_resultquotient)) * ac)) /\ exists ff_q_pfp_division_total_resultquotientstepinput. ab = ff_q_pfp_division_total_resultquotientstepinput * S ((S (pfd_index_division_total_resultquotient)) * ac) + (pfd_input_division_total_resultquotientstep))) /\ (((exists pfc_terms_code_division_total_resultquotientstepprevious pfc_terms_scale_division_total_resultquotientstepprevious pfc_natural_sum_division_total_resultquotientstepprevious. ((forall pfc_index_division_total_resultquotientsteppreviousdiagonal. (exists pfa_gap_division_total_resultquotientsteppreviousdiagonalbound. pfa_gap_division_total_resultquotientsteppreviousdiagonalbound + S (pfc_index_division_total_resultquotientsteppreviousdiagonal) = (S (pfd_index_division_total_resultquotient))) -> exists pfc_value_division_total_resultquotientsteppreviousdiagonal. ((((exists ff_h_pfp_division_total_resultquotientsteppreviousdiagonalentry. ff_h_pfp_division_total_resultquotientsteppreviousdiagonalentry + S (pfc_value_division_total_resultquotientsteppreviousdiagonal) = S ((S (pfc_index_division_total_resultquotientsteppreviousdiagonal)) * pfc_terms_scale_division_total_resultquotientstepprevious)) /\ exists ff_q_pfp_division_total_resultquotientsteppreviousdiagonalentry. pfc_terms_code_division_total_resultquotientstepprevious = ff_q_pfp_division_total_resultquotientsteppreviousdiagonalentry * S ((S (pfc_index_division_total_resultquotientsteppreviousdiagonal)) * pfc_terms_scale_division_total_resultquotientstepprevious) + (pfc_value_division_total_resultquotientsteppreviousdiagonal))) /\ ((exists pfc_complement_division_total_resultquotientsteppreviousdiagonalterm pfc_left_division_total_resultquotientsteppreviousdiagonalterm pfc_right_division_total_resultquotientsteppreviousdiagonalterm. (((pfc_index_division_total_resultquotientsteppreviousdiagonal)+pfc_complement_division_total_resultquotientsteppreviousdiagonalterm=(pfd_index_division_total_resultquotient)) /\ ((((((exists pfa_gap_division_total_resultquotientsteppreviousdiagonaltermleftinside. pfa_gap_division_total_resultquotientsteppreviousdiagonaltermleftinside + S (pfc_index_division_total_resultquotientsteppreviousdiagonal) = (pfd_index_division_total_resultquotient)) /\ ((((exists ff_h_pfp_division_total_resultquotientsteppreviousdiagonaltermleftentry. ff_h_pfp_division_total_resultquotientsteppreviousdiagonaltermleftentry + S (pfc_left_division_total_resultquotientsteppreviousdiagonalterm) = S ((S (pfc_index_division_total_resultquotientsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_total_resultquotientsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_total_resultquotientsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_total_resultquotientsteppreviousdiagonal)) * qc) + (pfc_left_division_total_resultquotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_total_resultquotientsteppreviousdiagonaltermleftoutside. pfc_gap_division_total_resultquotientsteppreviousdiagonaltermleftoutside+(pfd_index_division_total_resultquotient)=(pfc_index_division_total_resultquotientsteppreviousdiagonal)) /\ (((pfc_left_division_total_resultquotientsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_total_resultquotientsteppreviousdiagonaltermrightinside. pfa_gap_division_total_resultquotientsteppreviousdiagonaltermrightinside + S (pfc_complement_division_total_resultquotientsteppreviousdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_total_resultquotientsteppreviousdiagonaltermrightentry. ff_h_pfp_division_total_resultquotientsteppreviousdiagonaltermrightentry + S (pfc_right_division_total_resultquotientsteppreviousdiagonalterm) = S ((S (pfc_complement_division_total_resultquotientsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_total_resultquotientsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_total_resultquotientsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_total_resultquotientsteppreviousdiagonalterm)) * bc) + (pfc_right_division_total_resultquotientsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_total_resultquotientsteppreviousdiagonaltermrightoutside. pfc_gap_division_total_resultquotientsteppreviousdiagonaltermrightoutside+(S (d))=(pfc_complement_division_total_resultquotientsteppreviousdiagonalterm)) /\ (((pfc_right_division_total_resultquotientsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_total_resultquotientsteppreviousdiagonal)=pfc_left_division_total_resultquotientsteppreviousdiagonalterm*pfc_right_division_total_resultquotientsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_total_resultquotientstepprevioussum fs_v_pfc_division_total_resultquotientstepprevioussum. ((((exists fs_h_pfc_division_total_resultquotientstepprevioussum_body_start. fs_h_pfc_division_total_resultquotientstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_total_resultquotientstepprevioussum)) /\ exists fs_q_pfc_division_total_resultquotientstepprevioussum_body_start. fs_u_pfc_division_total_resultquotientstepprevioussum = fs_q_pfc_division_total_resultquotientstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_total_resultquotientstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_total_resultquotientstepprevioussum_body_terminal. fs_h_pfc_division_total_resultquotientstepprevioussum_body_terminal + S (pfc_natural_sum_division_total_resultquotientstepprevious) = S ((S (S (pfd_index_division_total_resultquotient))) * fs_v_pfc_division_total_resultquotientstepprevioussum)) /\ exists fs_q_pfc_division_total_resultquotientstepprevioussum_body_terminal. fs_u_pfc_division_total_resultquotientstepprevioussum = fs_q_pfc_division_total_resultquotientstepprevioussum_body_terminal * S ((S (S (pfd_index_division_total_resultquotient))) * fs_v_pfc_division_total_resultquotientstepprevioussum) + (pfc_natural_sum_division_total_resultquotientstepprevious))) /\ forall fs_i_pfc_division_total_resultquotientstepprevioussum_body_steps. (exists fs_lt_pfc_division_total_resultquotientstepprevioussum_body_steps_bound. fs_lt_pfc_division_total_resultquotientstepprevioussum_body_steps_bound + S fs_i_pfc_division_total_resultquotientstepprevioussum_body_steps = S (pfd_index_division_total_resultquotient)) -> exists fs_a_pfc_division_total_resultquotientstepprevioussum_body_steps fs_r_pfc_division_total_resultquotientstepprevioussum_body_steps fs_s_pfc_division_total_resultquotientstepprevioussum_body_steps. ((((exists fs_h_pfc_division_total_resultquotientstepprevioussum_body_steps_summand. fs_h_pfc_division_total_resultquotientstepprevioussum_body_steps_summand + S (fs_a_pfc_division_total_resultquotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_total_resultquotientstepprevioussum_body_steps)) * pfc_terms_scale_division_total_resultquotientstepprevious)) /\ exists fs_q_pfc_division_total_resultquotientstepprevioussum_body_steps_summand. pfc_terms_code_division_total_resultquotientstepprevious = fs_q_pfc_division_total_resultquotientstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_total_resultquotientstepprevioussum_body_steps)) * pfc_terms_scale_division_total_resultquotientstepprevious) + (fs_a_pfc_division_total_resultquotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_total_resultquotientstepprevioussum_body_steps_partial. fs_h_pfc_division_total_resultquotientstepprevioussum_body_steps_partial + S (fs_r_pfc_division_total_resultquotientstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_total_resultquotientstepprevioussum_body_steps)) * fs_v_pfc_division_total_resultquotientstepprevioussum)) /\ exists fs_q_pfc_division_total_resultquotientstepprevioussum_body_steps_partial. fs_u_pfc_division_total_resultquotientstepprevioussum = fs_q_pfc_division_total_resultquotientstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_total_resultquotientstepprevioussum_body_steps)) * fs_v_pfc_division_total_resultquotientstepprevioussum) + (fs_r_pfc_division_total_resultquotientstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_total_resultquotientstepprevioussum_body_steps_successor. fs_h_pfc_division_total_resultquotientstepprevioussum_body_steps_successor + S (fs_s_pfc_division_total_resultquotientstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_total_resultquotientstepprevioussum_body_steps)) * fs_v_pfc_division_total_resultquotientstepprevioussum)) /\ exists fs_q_pfc_division_total_resultquotientstepprevioussum_body_steps_successor. fs_u_pfc_division_total_resultquotientstepprevioussum = fs_q_pfc_division_total_resultquotientstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_total_resultquotientstepprevioussum_body_steps)) * fs_v_pfc_division_total_resultquotientstepprevioussum) + (fs_s_pfc_division_total_resultquotientstepprevioussum_body_steps))) /\ fs_s_pfc_division_total_resultquotientstepprevioussum_body_steps = fs_r_pfc_division_total_resultquotientstepprevioussum_body_steps + fs_a_pfc_division_total_resultquotientstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_total_resultquotientsteppreviousresiduebound. pfa_gap_division_total_resultquotientsteppreviousresiduebound + S (pfd_previous_division_total_resultquotientstep) = (p)) /\ ((exists pfa_offset_left_division_total_resultquotientsteppreviousresiduecongruence pfa_offset_right_division_total_resultquotientsteppreviousresiduecongruence. (pfc_natural_sum_division_total_resultquotientstepprevious) + (p) * pfa_offset_left_division_total_resultquotientsteppreviousresiduecongruence = (pfd_previous_division_total_resultquotientstep) + (p) * pfa_offset_right_division_total_resultquotientsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_total_resultquotientstepsubtractleft. pfa_gap_division_total_resultquotientstepsubtractleft + S (pfd_previous_division_total_resultquotientstep) = (p)) /\ (((exists pfa_gap_division_total_resultquotientstepsubtractright. pfa_gap_division_total_resultquotientstepsubtractright + S (pfd_difference_division_total_resultquotientstep) = (p)) /\ ((((exists pfa_gap_division_total_resultquotientstepsubtractresultbound. pfa_gap_division_total_resultquotientstepsubtractresultbound + S (pfd_input_division_total_resultquotientstep) = (p)) /\ ((exists pfa_offset_left_division_total_resultquotientstepsubtractresultcongruence pfa_offset_right_division_total_resultquotientstepsubtractresultcongruence. ((pfd_previous_division_total_resultquotientstep) + (pfd_difference_division_total_resultquotientstep)) + (p) * pfa_offset_left_division_total_resultquotientstepsubtractresultcongruence = (pfd_input_division_total_resultquotientstep) + (p) * pfa_offset_right_division_total_resultquotientstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_total_resultquotientstepmultiplyleft. pfa_gap_division_total_resultquotientstepmultiplyleft + S (pfd_inverse_division_total_result) = (p)) /\ (((exists pfa_gap_division_total_resultquotientstepmultiplyright. pfa_gap_division_total_resultquotientstepmultiplyright + S (pfd_difference_division_total_resultquotientstep) = (p)) /\ ((((exists pfa_gap_division_total_resultquotientstepmultiplyresultbound. pfa_gap_division_total_resultquotientstepmultiplyresultbound + S (pfd_value_division_total_resultquotient) = (p)) /\ ((exists pfa_offset_left_division_total_resultquotientstepmultiplyresultcongruence pfa_offset_right_division_total_resultquotientstepmultiplyresultcongruence. ((pfd_inverse_division_total_result) * (pfd_difference_division_total_resultquotientstep)) + (p) * pfa_offset_left_division_total_resultquotientstepmultiplyresultcongruence = (pfd_value_division_total_resultquotient) + (p) * pfa_offset_right_division_total_resultquotientstepmultiplyresultcongruence))))))))))))))))))) /\ (((forall pfc_index_division_total_resultproduct. (exists pfa_gap_division_total_resultproductbound. pfa_gap_division_total_resultproductbound + S (pfc_index_division_total_resultproduct) = (L)) -> exists pfc_value_division_total_resultproduct. ((((exists ff_h_pfp_division_total_resultproductentry. ff_h_pfp_division_total_resultproductentry + S (pfc_value_division_total_resultproduct) = S ((S (pfc_index_division_total_resultproduct)) * pfd_product_scale_division_total_result)) /\ exists ff_q_pfp_division_total_resultproductentry. pfd_product_code_division_total_result = ff_q_pfp_division_total_resultproductentry * S ((S (pfc_index_division_total_resultproduct)) * pfd_product_scale_division_total_result) + (pfc_value_division_total_resultproduct))) /\ ((exists pfc_terms_code_division_total_resultproductcoefficient pfc_terms_scale_division_total_resultproductcoefficient pfc_natural_sum_division_total_resultproductcoefficient. ((forall pfc_index_division_total_resultproductcoefficientdiagonal. (exists pfa_gap_division_total_resultproductcoefficientdiagonalbound. pfa_gap_division_total_resultproductcoefficientdiagonalbound + S (pfc_index_division_total_resultproductcoefficientdiagonal) = (S (pfc_index_division_total_resultproduct))) -> exists pfc_value_division_total_resultproductcoefficientdiagonal. ((((exists ff_h_pfp_division_total_resultproductcoefficientdiagonalentry. ff_h_pfp_division_total_resultproductcoefficientdiagonalentry + S (pfc_value_division_total_resultproductcoefficientdiagonal) = S ((S (pfc_index_division_total_resultproductcoefficientdiagonal)) * pfc_terms_scale_division_total_resultproductcoefficient)) /\ exists ff_q_pfp_division_total_resultproductcoefficientdiagonalentry. pfc_terms_code_division_total_resultproductcoefficient = ff_q_pfp_division_total_resultproductcoefficientdiagonalentry * S ((S (pfc_index_division_total_resultproductcoefficientdiagonal)) * pfc_terms_scale_division_total_resultproductcoefficient) + (pfc_value_division_total_resultproductcoefficientdiagonal))) /\ ((exists pfc_complement_division_total_resultproductcoefficientdiagonalterm pfc_left_division_total_resultproductcoefficientdiagonalterm pfc_right_division_total_resultproductcoefficientdiagonalterm. (((pfc_index_division_total_resultproductcoefficientdiagonal)+pfc_complement_division_total_resultproductcoefficientdiagonalterm=(pfc_index_division_total_resultproduct)) /\ ((((((exists pfa_gap_division_total_resultproductcoefficientdiagonaltermleftinside. pfa_gap_division_total_resultproductcoefficientdiagonaltermleftinside + S (pfc_index_division_total_resultproductcoefficientdiagonal) = (q)) /\ ((((exists ff_h_pfp_division_total_resultproductcoefficientdiagonaltermleftentry. ff_h_pfp_division_total_resultproductcoefficientdiagonaltermleftentry + S (pfc_left_division_total_resultproductcoefficientdiagonalterm) = S ((S (pfc_index_division_total_resultproductcoefficientdiagonal)) * qc)) /\ exists ff_q_pfp_division_total_resultproductcoefficientdiagonaltermleftentry. qb = ff_q_pfp_division_total_resultproductcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_total_resultproductcoefficientdiagonal)) * qc) + (pfc_left_division_total_resultproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_total_resultproductcoefficientdiagonaltermleftoutside. pfc_gap_division_total_resultproductcoefficientdiagonaltermleftoutside+(q)=(pfc_index_division_total_resultproductcoefficientdiagonal)) /\ (((pfc_left_division_total_resultproductcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_total_resultproductcoefficientdiagonaltermrightinside. pfa_gap_division_total_resultproductcoefficientdiagonaltermrightinside + S (pfc_complement_division_total_resultproductcoefficientdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_total_resultproductcoefficientdiagonaltermrightentry. ff_h_pfp_division_total_resultproductcoefficientdiagonaltermrightentry + S (pfc_right_division_total_resultproductcoefficientdiagonalterm) = S ((S (pfc_complement_division_total_resultproductcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_total_resultproductcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_total_resultproductcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_total_resultproductcoefficientdiagonalterm)) * bc) + (pfc_right_division_total_resultproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_total_resultproductcoefficientdiagonaltermrightoutside. pfc_gap_division_total_resultproductcoefficientdiagonaltermrightoutside+(S (d))=(pfc_complement_division_total_resultproductcoefficientdiagonalterm)) /\ (((pfc_right_division_total_resultproductcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_total_resultproductcoefficientdiagonal)=pfc_left_division_total_resultproductcoefficientdiagonalterm*pfc_right_division_total_resultproductcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_total_resultproductcoefficientsum fs_v_pfc_division_total_resultproductcoefficientsum. ((((exists fs_h_pfc_division_total_resultproductcoefficientsum_body_start. fs_h_pfc_division_total_resultproductcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_total_resultproductcoefficientsum)) /\ exists fs_q_pfc_division_total_resultproductcoefficientsum_body_start. fs_u_pfc_division_total_resultproductcoefficientsum = fs_q_pfc_division_total_resultproductcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_total_resultproductcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_total_resultproductcoefficientsum_body_terminal. fs_h_pfc_division_total_resultproductcoefficientsum_body_terminal + S (pfc_natural_sum_division_total_resultproductcoefficient) = S ((S (S (pfc_index_division_total_resultproduct))) * fs_v_pfc_division_total_resultproductcoefficientsum)) /\ exists fs_q_pfc_division_total_resultproductcoefficientsum_body_terminal. fs_u_pfc_division_total_resultproductcoefficientsum = fs_q_pfc_division_total_resultproductcoefficientsum_body_terminal * S ((S (S (pfc_index_division_total_resultproduct))) * fs_v_pfc_division_total_resultproductcoefficientsum) + (pfc_natural_sum_division_total_resultproductcoefficient))) /\ forall fs_i_pfc_division_total_resultproductcoefficientsum_body_steps. (exists fs_lt_pfc_division_total_resultproductcoefficientsum_body_steps_bound. fs_lt_pfc_division_total_resultproductcoefficientsum_body_steps_bound + S fs_i_pfc_division_total_resultproductcoefficientsum_body_steps = S (pfc_index_division_total_resultproduct)) -> exists fs_a_pfc_division_total_resultproductcoefficientsum_body_steps fs_r_pfc_division_total_resultproductcoefficientsum_body_steps fs_s_pfc_division_total_resultproductcoefficientsum_body_steps. ((((exists fs_h_pfc_division_total_resultproductcoefficientsum_body_steps_summand. fs_h_pfc_division_total_resultproductcoefficientsum_body_steps_summand + S (fs_a_pfc_division_total_resultproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_total_resultproductcoefficientsum_body_steps)) * pfc_terms_scale_division_total_resultproductcoefficient)) /\ exists fs_q_pfc_division_total_resultproductcoefficientsum_body_steps_summand. pfc_terms_code_division_total_resultproductcoefficient = fs_q_pfc_division_total_resultproductcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_total_resultproductcoefficientsum_body_steps)) * pfc_terms_scale_division_total_resultproductcoefficient) + (fs_a_pfc_division_total_resultproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_total_resultproductcoefficientsum_body_steps_partial. fs_h_pfc_division_total_resultproductcoefficientsum_body_steps_partial + S (fs_r_pfc_division_total_resultproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_total_resultproductcoefficientsum_body_steps)) * fs_v_pfc_division_total_resultproductcoefficientsum)) /\ exists fs_q_pfc_division_total_resultproductcoefficientsum_body_steps_partial. fs_u_pfc_division_total_resultproductcoefficientsum = fs_q_pfc_division_total_resultproductcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_total_resultproductcoefficientsum_body_steps)) * fs_v_pfc_division_total_resultproductcoefficientsum) + (fs_r_pfc_division_total_resultproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_total_resultproductcoefficientsum_body_steps_successor. fs_h_pfc_division_total_resultproductcoefficientsum_body_steps_successor + S (fs_s_pfc_division_total_resultproductcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_total_resultproductcoefficientsum_body_steps)) * fs_v_pfc_division_total_resultproductcoefficientsum)) /\ exists fs_q_pfc_division_total_resultproductcoefficientsum_body_steps_successor. fs_u_pfc_division_total_resultproductcoefficientsum = fs_q_pfc_division_total_resultproductcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_total_resultproductcoefficientsum_body_steps)) * fs_v_pfc_division_total_resultproductcoefficientsum) + (fs_s_pfc_division_total_resultproductcoefficientsum_body_steps))) /\ fs_s_pfc_division_total_resultproductcoefficientsum_body_steps = fs_r_pfc_division_total_resultproductcoefficientsum_body_steps + fs_a_pfc_division_total_resultproductcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_total_resultproductcoefficientresiduebound. pfa_gap_division_total_resultproductcoefficientresiduebound + S (pfc_value_division_total_resultproduct) = (p)) /\ ((exists pfa_offset_left_division_total_resultproductcoefficientresiduecongruence pfa_offset_right_division_total_resultproductcoefficientresiduecongruence. (pfc_natural_sum_division_total_resultproductcoefficient) + (p) * pfa_offset_left_division_total_resultproductcoefficientresiduecongruence = (pfc_value_division_total_resultproduct) + (p) * pfa_offset_right_division_total_resultproductcoefficientresiduecongruence)))))))))))) /\ (((forall pfs_index_division_total_resultdifference. (exists pfa_gap_division_total_resultdifferenceindex. pfa_gap_division_total_resultdifferenceindex + S (pfs_index_division_total_resultdifference) = (L)) -> exists pfs_left_division_total_resultdifference pfs_right_division_total_resultdifference pfs_result_division_total_resultdifference. ((((exists ff_h_pfp_division_total_resultdifferenceleft. ff_h_pfp_division_total_resultdifferenceleft + S (pfs_left_division_total_resultdifference) = S ((S (pfs_index_division_total_resultdifference)) * ac)) /\ exists ff_q_pfp_division_total_resultdifferenceleft. ab = ff_q_pfp_division_total_resultdifferenceleft * S ((S (pfs_index_division_total_resultdifference)) * ac) + (pfs_left_division_total_resultdifference))) /\ (((((exists ff_h_pfp_division_total_resultdifferenceright. ff_h_pfp_division_total_resultdifferenceright + S (pfs_right_division_total_resultdifference) = S ((S (pfs_index_division_total_resultdifference)) * pfd_product_scale_division_total_result)) /\ exists ff_q_pfp_division_total_resultdifferenceright. pfd_product_code_division_total_result = ff_q_pfp_division_total_resultdifferenceright * S ((S (pfs_index_division_total_resultdifference)) * pfd_product_scale_division_total_result) + (pfs_right_division_total_resultdifference))) /\ (((((exists ff_h_pfp_division_total_resultdifferenceresult. ff_h_pfp_division_total_resultdifferenceresult + S (pfs_result_division_total_resultdifference) = S ((S (pfs_index_division_total_resultdifference)) * pfd_residual_scale_division_total_result)) /\ exists ff_q_pfp_division_total_resultdifferenceresult. pfd_residual_code_division_total_result = ff_q_pfp_division_total_resultdifferenceresult * S ((S (pfs_index_division_total_resultdifference)) * pfd_residual_scale_division_total_result) + (pfs_result_division_total_resultdifference))) /\ ((((exists pfa_gap_division_total_resultdifferenceoperationleft. pfa_gap_division_total_resultdifferenceoperationleft + S (pfs_right_division_total_resultdifference) = (p)) /\ (((exists pfa_gap_division_total_resultdifferenceoperationright. pfa_gap_division_total_resultdifferenceoperationright + S (pfs_result_division_total_resultdifference) = (p)) /\ ((((exists pfa_gap_division_total_resultdifferenceoperationresultbound. pfa_gap_division_total_resultdifferenceoperationresultbound + S (pfs_left_division_total_resultdifference) = (p)) /\ ((exists pfa_offset_left_division_total_resultdifferenceoperationresultcongruence pfa_offset_right_division_total_resultdifferenceoperationresultcongruence. ((pfs_right_division_total_resultdifference) + (pfs_result_division_total_resultdifference)) + (p) * pfa_offset_left_division_total_resultdifferenceoperationresultcongruence = (pfs_left_division_total_resultdifference) + (p) * pfa_offset_right_division_total_resultdifferenceoperationresultcongruence)))))))))))))))) /\ (((((L)=(pfd_cut_division_total_result)+(R)) /\ (((forall fom_index_pfp_division_total_resulttriminput. (exists fom_gap_pfp_division_total_resulttriminput_index_bound. fom_gap_pfp_division_total_resulttriminput_index_bound + S (fom_index_pfp_division_total_resulttriminput) = L) -> exists fom_value_pfp_division_total_resulttriminput. ((((exists fom_beta_height_pfp_division_total_resulttriminput_entry. fom_beta_height_pfp_division_total_resulttriminput_entry + S (fom_value_pfp_division_total_resulttriminput) = S ((S (fom_index_pfp_division_total_resulttriminput)) * pfd_residual_scale_division_total_result)) /\ exists fom_beta_quotient_pfp_division_total_resulttriminput_entry. pfd_residual_code_division_total_result = fom_beta_quotient_pfp_division_total_resulttriminput_entry * S ((S (fom_index_pfp_division_total_resulttriminput)) * pfd_residual_scale_division_total_result) + (fom_value_pfp_division_total_resulttriminput))) /\ (exists fom_gap_pfp_division_total_resulttriminput_value_bound. fom_gap_pfp_division_total_resulttriminput_value_bound + S (fom_value_pfp_division_total_resulttriminput) = p))) /\ (((forall pfp_repeat_index_division_total_resulttrimremoved. (exists pfa_gap_division_total_resulttrimremovedindex. pfa_gap_division_total_resulttrimremovedindex + S (pfp_repeat_index_division_total_resulttrimremoved) = (pfd_cut_division_total_result)) -> (((exists ff_h_pfp_division_total_resulttrimremovedentry. ff_h_pfp_division_total_resulttrimremovedentry + S (0) = S ((S (pfp_repeat_index_division_total_resulttrimremoved)) * pfd_residual_scale_division_total_result)) /\ exists ff_q_pfp_division_total_resulttrimremovedentry. pfd_residual_code_division_total_result = ff_q_pfp_division_total_resulttrimremovedentry * S ((S (pfp_repeat_index_division_total_resulttrimremoved)) * pfd_residual_scale_division_total_result) + (0)))) /\ (((forall pftrim_index_division_total_resulttrimsuffix pftrim_value_division_total_resulttrimsuffix. (exists pfa_gap_division_total_resulttrimsuffixbound. pfa_gap_division_total_resulttrimsuffixbound + S (pftrim_index_division_total_resulttrimsuffix) = (R)) -> (((exists ff_h_pfp_division_total_resulttrimsuffixsource. ff_h_pfp_division_total_resulttrimsuffixsource + S (pftrim_value_division_total_resulttrimsuffix) = S ((S ((pfd_cut_division_total_result)+pftrim_index_division_total_resulttrimsuffix)) * pfd_residual_scale_division_total_result)) /\ exists ff_q_pfp_division_total_resulttrimsuffixsource. pfd_residual_code_division_total_result = ff_q_pfp_division_total_resulttrimsuffixsource * S ((S ((pfd_cut_division_total_result)+pftrim_index_division_total_resulttrimsuffix)) * pfd_residual_scale_division_total_result) + (pftrim_value_division_total_resulttrimsuffix))) -> (((exists ff_h_pfp_division_total_resulttrimsuffixoutput. ff_h_pfp_division_total_resulttrimsuffixoutput + S (pftrim_value_division_total_resulttrimsuffix) = S ((S (pftrim_index_division_total_resulttrimsuffix)) * rc)) /\ exists ff_q_pfp_division_total_resulttrimsuffixoutput. rb = ff_q_pfp_division_total_resulttrimsuffixoutput * S ((S (pftrim_index_division_total_resulttrimsuffix)) * rc) + (pftrim_value_division_total_resulttrimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_total_resulttrimnormal. ((((exists ff_h_pfp_division_total_resulttrimnormalentry. ff_h_pfp_division_total_resulttrimnormalentry + S (pftrim_leading_division_total_resulttrimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_total_resulttrimnormalentry. rb = ff_q_pfp_division_total_resulttrimnormalentry * S ((S (0)) * rc) + (pftrim_leading_division_total_resulttrimnormal))) /\ ((~(pftrim_leading_division_total_resulttrimnormal=0)))))))))))))))))))))))))))))))))
intro pintro abintro acintro Lintro bbintro bcintro dintro hpintro haintro hbhave hquotient : exists b k q qb qc. (((((exists ff_h_pfp_division_total_quotient_datahead. ff_h_pfp_division_total_quotient_datahead + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_division_total_quotient_datahead. bb = ff_q_pfp_division_total_quotient_datahead * S ((S (0)) * bc) + (b))) /\ (((((~((b) = 0)) /\ ((((exists pfa_gap_division_total_quotient_datainversemultiplicationleft. pfa_gap_division_total_quotient_datainversemultiplicationleft + S (b) = (p)) /\ (((exists pfa_gap_division_total_quotient_datainversemultiplicationright. pfa_gap_division_total_quotient_datainversemultiplicationright + S (k) = (p)) /\ ((((exists pfa_gap_division_total_quotient_datainversemultiplicationresultbound. pfa_gap_division_total_quotient_datainversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_division_total_quotient_datainversemultiplicationresultcongruence pfa_offset_right_division_total_quotient_datainversemultiplicationresultcongruence. ((b) * (k)) + (p) * pfa_offset_left_division_total_quotient_datainversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_division_total_quotient_datainversemultiplicationresultcongruence)))))))))))) /\ (((((((q)=0) /\ ((exists pfc_gap_division_total_quotient_datalengthshort. pfc_gap_division_total_quotient_datalengthshort+(L)=(d))))) \/ (((~((q)=0)) /\ (((q)+(d)=(L)))))) /\ ((forall pfd_index_division_total_quotient_dataexecution. (exists pfa_gap_division_total_quotient_dataexecutionbound. pfa_gap_division_total_quotient_dataexecutionbound + S (pfd_index_division_total_quotient_dataexecution) = (q)) -> exists pfd_value_division_total_quotient_dataexecution. ((((exists ff_h_pfp_division_total_quotient_dataexecutionentry. ff_h_pfp_division_total_quotient_dataexecutionentry + S (pfd_value_division_total_quotient_dataexecution) = S ((S (pfd_index_division_total_quotient_dataexecution)) * qc)) /\ exists ff_q_pfp_division_total_quotient_dataexecutionentry. qb = ff_q_pfp_division_total_quotient_dataexecutionentry * S ((S (pfd_index_division_total_quotient_dataexecution)) * qc) + (pfd_value_division_total_quotient_dataexecution))) /\ ((exists pfd_input_division_total_quotient_dataexecutionstep pfd_previous_division_total_quotient_dataexecutionstep pfd_difference_division_total_quotient_dataexecutionstep. ((((exists ff_h_pfp_division_total_quotient_dataexecutionstepinput. ff_h_pfp_division_total_quotient_dataexecutionstepinput + S (pfd_input_division_total_quotient_dataexecutionstep) = S ((S (pfd_index_division_total_quotient_dataexecution)) * ac)) /\ exists ff_q_pfp_division_total_quotient_dataexecutionstepinput. ab = ff_q_pfp_division_total_quotient_dataexecutionstepinput * S ((S (pfd_index_division_total_quotient_dataexecution)) * ac) + (pfd_input_division_total_quotient_dataexecutionstep))) /\ (((exists pfc_terms_code_division_total_quotient_dataexecutionstepprevious pfc_terms_scale_division_total_quotient_dataexecutionstepprevious pfc_natural_sum_division_total_quotient_dataexecutionstepprevious. ((forall pfc_index_division_total_quotient_dataexecutionsteppreviousdiagonal. (exists pfa_gap_division_total_quotient_dataexecutionsteppreviousdiagonalbound. pfa_gap_division_total_quotient_dataexecutionsteppreviousdiagonalbound + S (pfc_index_division_total_quotient_dataexecutionsteppreviousdiagonal) = (S (pfd_index_division_total_quotient_dataexecution))) -> exists pfc_value_division_total_quotient_dataexecutionsteppreviousdiagonal. ((((exists ff_h_pfp_division_total_quotient_dataexecutionsteppreviousdiagonalentry. ff_h_pfp_division_total_quotient_dataexecutionsteppreviousdiagonalentry + S (pfc_value_division_total_quotient_dataexecutionsteppreviousdiagonal) = S ((S (pfc_index_division_total_quotient_dataexecutionsteppreviousdiagonal)) * pfc_terms_scale_division_total_quotient_dataexecutionstepprevious)) /\ exists ff_q_pfp_division_total_quotient_dataexecutionsteppreviousdiagonalentry. pfc_terms_code_division_total_quotient_dataexecutionstepprevious = ff_q_pfp_division_total_quotient_dataexecutionsteppreviousdiagonalentry * S ((S (pfc_index_division_total_quotient_dataexecutionsteppreviousdiagonal)) * pfc_terms_scale_division_total_quotient_dataexecutionstepprevious) + (pfc_value_division_total_quotient_dataexecutionsteppreviousdiagonal))) /\ ((exists pfc_complement_division_total_quotient_dataexecutionsteppreviousdiagonalterm pfc_left_division_total_quotient_dataexecutionsteppreviousdiagonalterm pfc_right_division_total_quotient_dataexecutionsteppreviousdiagonalterm. (((pfc_index_division_total_quotient_dataexecutionsteppreviousdiagonal)+pfc_complement_division_total_quotient_dataexecutionsteppreviousdiagonalterm=(pfd_index_division_total_quotient_dataexecution)) /\ ((((((exists pfa_gap_division_total_quotient_dataexecutionsteppreviousdiagonaltermleftinside. pfa_gap_division_total_quotient_dataexecutionsteppreviousdiagonaltermleftinside + S (pfc_index_division_total_quotient_dataexecutionsteppreviousdiagonal) = (pfd_index_division_total_quotient_dataexecution)) /\ ((((exists ff_h_pfp_division_total_quotient_dataexecutionsteppreviousdiagonaltermleftentry. ff_h_pfp_division_total_quotient_dataexecutionsteppreviousdiagonaltermleftentry + S (pfc_left_division_total_quotient_dataexecutionsteppreviousdiagonalterm) = S ((S (pfc_index_division_total_quotient_dataexecutionsteppreviousdiagonal)) * qc)) /\ exists ff_q_pfp_division_total_quotient_dataexecutionsteppreviousdiagonaltermleftentry. qb = ff_q_pfp_division_total_quotient_dataexecutionsteppreviousdiagonaltermleftentry * S ((S (pfc_index_division_total_quotient_dataexecutionsteppreviousdiagonal)) * qc) + (pfc_left_division_total_quotient_dataexecutionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_total_quotient_dataexecutionsteppreviousdiagonaltermleftoutside. pfc_gap_division_total_quotient_dataexecutionsteppreviousdiagonaltermleftoutside+(pfd_index_division_total_quotient_dataexecution)=(pfc_index_division_total_quotient_dataexecutionsteppreviousdiagonal)) /\ (((pfc_left_division_total_quotient_dataexecutionsteppreviousdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_total_quotient_dataexecutionsteppreviousdiagonaltermrightinside. pfa_gap_division_total_quotient_dataexecutionsteppreviousdiagonaltermrightinside + S (pfc_complement_division_total_quotient_dataexecutionsteppreviousdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_total_quotient_dataexecutionsteppreviousdiagonaltermrightentry. ff_h_pfp_division_total_quotient_dataexecutionsteppreviousdiagonaltermrightentry + S (pfc_right_division_total_quotient_dataexecutionsteppreviousdiagonalterm) = S ((S (pfc_complement_division_total_quotient_dataexecutionsteppreviousdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_total_quotient_dataexecutionsteppreviousdiagonaltermrightentry. bb = ff_q_pfp_division_total_quotient_dataexecutionsteppreviousdiagonaltermrightentry * S ((S (pfc_complement_division_total_quotient_dataexecutionsteppreviousdiagonalterm)) * bc) + (pfc_right_division_total_quotient_dataexecutionsteppreviousdiagonalterm)))))) \/ (((exists pfc_gap_division_total_quotient_dataexecutionsteppreviousdiagonaltermrightoutside. pfc_gap_division_total_quotient_dataexecutionsteppreviousdiagonaltermrightoutside+(S (d))=(pfc_complement_division_total_quotient_dataexecutionsteppreviousdiagonalterm)) /\ (((pfc_right_division_total_quotient_dataexecutionsteppreviousdiagonalterm)=0))))) /\ (((pfc_value_division_total_quotient_dataexecutionsteppreviousdiagonal)=pfc_left_division_total_quotient_dataexecutionsteppreviousdiagonalterm*pfc_right_division_total_quotient_dataexecutionsteppreviousdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_total_quotient_dataexecutionstepprevioussum fs_v_pfc_division_total_quotient_dataexecutionstepprevioussum. ((((exists fs_h_pfc_division_total_quotient_dataexecutionstepprevioussum_body_start. fs_h_pfc_division_total_quotient_dataexecutionstepprevioussum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_total_quotient_dataexecutionstepprevioussum)) /\ exists fs_q_pfc_division_total_quotient_dataexecutionstepprevioussum_body_start. fs_u_pfc_division_total_quotient_dataexecutionstepprevioussum = fs_q_pfc_division_total_quotient_dataexecutionstepprevioussum_body_start * S ((S (0)) * fs_v_pfc_division_total_quotient_dataexecutionstepprevioussum) + (0))) /\ ((((exists fs_h_pfc_division_total_quotient_dataexecutionstepprevioussum_body_terminal. fs_h_pfc_division_total_quotient_dataexecutionstepprevioussum_body_terminal + S (pfc_natural_sum_division_total_quotient_dataexecutionstepprevious) = S ((S (S (pfd_index_division_total_quotient_dataexecution))) * fs_v_pfc_division_total_quotient_dataexecutionstepprevioussum)) /\ exists fs_q_pfc_division_total_quotient_dataexecutionstepprevioussum_body_terminal. fs_u_pfc_division_total_quotient_dataexecutionstepprevioussum = fs_q_pfc_division_total_quotient_dataexecutionstepprevioussum_body_terminal * S ((S (S (pfd_index_division_total_quotient_dataexecution))) * fs_v_pfc_division_total_quotient_dataexecutionstepprevioussum) + (pfc_natural_sum_division_total_quotient_dataexecutionstepprevious))) /\ forall fs_i_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps. (exists fs_lt_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_bound. fs_lt_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_bound + S fs_i_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps = S (pfd_index_division_total_quotient_dataexecution)) -> exists fs_a_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps fs_r_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps fs_s_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps. ((((exists fs_h_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_summand. fs_h_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_summand + S (fs_a_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps)) * pfc_terms_scale_division_total_quotient_dataexecutionstepprevious)) /\ exists fs_q_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_summand. pfc_terms_code_division_total_quotient_dataexecutionstepprevious = fs_q_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_summand * S ((S (fs_i_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps)) * pfc_terms_scale_division_total_quotient_dataexecutionstepprevious) + (fs_a_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_partial. fs_h_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_partial + S (fs_r_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps) = S ((S (fs_i_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps)) * fs_v_pfc_division_total_quotient_dataexecutionstepprevioussum)) /\ exists fs_q_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_partial. fs_u_pfc_division_total_quotient_dataexecutionstepprevioussum = fs_q_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_partial * S ((S (fs_i_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps)) * fs_v_pfc_division_total_quotient_dataexecutionstepprevioussum) + (fs_r_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps))) /\ ((((exists fs_h_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_successor. fs_h_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_successor + S (fs_s_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps) = S ((S (S fs_i_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps)) * fs_v_pfc_division_total_quotient_dataexecutionstepprevioussum)) /\ exists fs_q_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_successor. fs_u_pfc_division_total_quotient_dataexecutionstepprevioussum = fs_q_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps_successor * S ((S (S fs_i_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps)) * fs_v_pfc_division_total_quotient_dataexecutionstepprevioussum) + (fs_s_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps))) /\ fs_s_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps = fs_r_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps + fs_a_pfc_division_total_quotient_dataexecutionstepprevioussum_body_steps)))))) /\ ((((exists pfa_gap_division_total_quotient_dataexecutionsteppreviousresiduebound. pfa_gap_division_total_quotient_dataexecutionsteppreviousresiduebound + S (pfd_previous_division_total_quotient_dataexecutionstep) = (p)) /\ ((exists pfa_offset_left_division_total_quotient_dataexecutionsteppreviousresiduecongruence pfa_offset_right_division_total_quotient_dataexecutionsteppreviousresiduecongruence. (pfc_natural_sum_division_total_quotient_dataexecutionstepprevious) + (p) * pfa_offset_left_division_total_quotient_dataexecutionsteppreviousresiduecongruence = (pfd_previous_division_total_quotient_dataexecutionstep) + (p) * pfa_offset_right_division_total_quotient_dataexecutionsteppreviousresiduecongruence))))))))) /\ (((((exists pfa_gap_division_total_quotient_dataexecutionstepsubtractleft. pfa_gap_division_total_quotient_dataexecutionstepsubtractleft + S (pfd_previous_division_total_quotient_dataexecutionstep) = (p)) /\ (((exists pfa_gap_division_total_quotient_dataexecutionstepsubtractright. pfa_gap_division_total_quotient_dataexecutionstepsubtractright + S (pfd_difference_division_total_quotient_dataexecutionstep) = (p)) /\ ((((exists pfa_gap_division_total_quotient_dataexecutionstepsubtractresultbound. pfa_gap_division_total_quotient_dataexecutionstepsubtractresultbound + S (pfd_input_division_total_quotient_dataexecutionstep) = (p)) /\ ((exists pfa_offset_left_division_total_quotient_dataexecutionstepsubtractresultcongruence pfa_offset_right_division_total_quotient_dataexecutionstepsubtractresultcongruence. ((pfd_previous_division_total_quotient_dataexecutionstep) + (pfd_difference_division_total_quotient_dataexecutionstep)) + (p) * pfa_offset_left_division_total_quotient_dataexecutionstepsubtractresultcongruence = (pfd_input_division_total_quotient_dataexecutionstep) + (p) * pfa_offset_right_division_total_quotient_dataexecutionstepsubtractresultcongruence))))))))) /\ ((((exists pfa_gap_division_total_quotient_dataexecutionstepmultiplyleft. pfa_gap_division_total_quotient_dataexecutionstepmultiplyleft + S (k) = (p)) /\ (((exists pfa_gap_division_total_quotient_dataexecutionstepmultiplyright. pfa_gap_division_total_quotient_dataexecutionstepmultiplyright + S (pfd_difference_division_total_quotient_dataexecutionstep) = (p)) /\ ((((exists pfa_gap_division_total_quotient_dataexecutionstepmultiplyresultbound. pfa_gap_division_total_quotient_dataexecutionstepmultiplyresultbound + S (pfd_value_division_total_quotient_dataexecution) = (p)) /\ ((exists pfa_offset_left_division_total_quotient_dataexecutionstepmultiplyresultcongruence pfa_offset_right_division_total_quotient_dataexecutionstepmultiplyresultcongruence. ((k) * (pfd_difference_division_total_quotient_dataexecutionstep)) + (p) * pfa_offset_left_division_total_quotient_dataexecutionstepmultiplyresultcongruence = (pfd_value_division_total_quotient_dataexecution) + (p) * pfa_offset_right_division_total_quotient_dataexecutionstepmultiplyresultcongruence))))))))))))))))))))))))))specialize prime_field_polynomial_division_quotient_data_exists (p)specialize prime_field_polynomial_division_quotient_data_exists (ab)specialize prime_field_polynomial_division_quotient_data_exists (ac)specialize prime_field_polynomial_division_quotient_data_exists (L)specialize prime_field_polynomial_division_quotient_data_exists (bb)specialize prime_field_polynomial_division_quotient_data_exists (bc)specialize prime_field_polynomial_division_quotient_data_exists (d)apply prime_field_polynomial_division_quotient_data_existsexact hpexact haexact hbcases hquotientcases hquotient_witnesscases hquotient_witness_witnesscases hquotient_witness_witness_witnesscases hquotient_witness_witness_witness_witnesscases hquotient_witness_witness_witness_witness_witnesscases hquotient_witness_witness_witness_witness_witness_rightcases hquotient_witness_witness_witness_witness_witness_right_righthave hresidual : exists pb pc ub uc t rb rc R. (((forall pfc_index_division_total_residual_dataproduct. (exists pfa_gap_division_total_residual_dataproductbound. pfa_gap_division_total_residual_dataproductbound + S (pfc_index_division_total_residual_dataproduct) = (L)) -> exists pfc_value_division_total_residual_dataproduct. ((((exists ff_h_pfp_division_total_residual_dataproductentry. ff_h_pfp_division_total_residual_dataproductentry + S (pfc_value_division_total_residual_dataproduct) = S ((S (pfc_index_division_total_residual_dataproduct)) * pc)) /\ exists ff_q_pfp_division_total_residual_dataproductentry. pb = ff_q_pfp_division_total_residual_dataproductentry * S ((S (pfc_index_division_total_residual_dataproduct)) * pc) + (pfc_value_division_total_residual_dataproduct))) /\ ((exists pfc_terms_code_division_total_residual_dataproductcoefficient pfc_terms_scale_division_total_residual_dataproductcoefficient pfc_natural_sum_division_total_residual_dataproductcoefficient. ((forall pfc_index_division_total_residual_dataproductcoefficientdiagonal. (exists pfa_gap_division_total_residual_dataproductcoefficientdiagonalbound. pfa_gap_division_total_residual_dataproductcoefficientdiagonalbound + S (pfc_index_division_total_residual_dataproductcoefficientdiagonal) = (S (pfc_index_division_total_residual_dataproduct))) -> exists pfc_value_division_total_residual_dataproductcoefficientdiagonal. ((((exists ff_h_pfp_division_total_residual_dataproductcoefficientdiagonalentry. ff_h_pfp_division_total_residual_dataproductcoefficientdiagonalentry + S (pfc_value_division_total_residual_dataproductcoefficientdiagonal) = S ((S (pfc_index_division_total_residual_dataproductcoefficientdiagonal)) * pfc_terms_scale_division_total_residual_dataproductcoefficient)) /\ exists ff_q_pfp_division_total_residual_dataproductcoefficientdiagonalentry. pfc_terms_code_division_total_residual_dataproductcoefficient = ff_q_pfp_division_total_residual_dataproductcoefficientdiagonalentry * S ((S (pfc_index_division_total_residual_dataproductcoefficientdiagonal)) * pfc_terms_scale_division_total_residual_dataproductcoefficient) + (pfc_value_division_total_residual_dataproductcoefficientdiagonal))) /\ ((exists pfc_complement_division_total_residual_dataproductcoefficientdiagonalterm pfc_left_division_total_residual_dataproductcoefficientdiagonalterm pfc_right_division_total_residual_dataproductcoefficientdiagonalterm. (((pfc_index_division_total_residual_dataproductcoefficientdiagonal)+pfc_complement_division_total_residual_dataproductcoefficientdiagonalterm=(pfc_index_division_total_residual_dataproduct)) /\ ((((((exists pfa_gap_division_total_residual_dataproductcoefficientdiagonaltermleftinside. pfa_gap_division_total_residual_dataproductcoefficientdiagonaltermleftinside + S (pfc_index_division_total_residual_dataproductcoefficientdiagonal) = (x2)) /\ ((((exists ff_h_pfp_division_total_residual_dataproductcoefficientdiagonaltermleftentry. ff_h_pfp_division_total_residual_dataproductcoefficientdiagonaltermleftentry + S (pfc_left_division_total_residual_dataproductcoefficientdiagonalterm) = S ((S (pfc_index_division_total_residual_dataproductcoefficientdiagonal)) * x4)) /\ exists ff_q_pfp_division_total_residual_dataproductcoefficientdiagonaltermleftentry. x3 = ff_q_pfp_division_total_residual_dataproductcoefficientdiagonaltermleftentry * S ((S (pfc_index_division_total_residual_dataproductcoefficientdiagonal)) * x4) + (pfc_left_division_total_residual_dataproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_total_residual_dataproductcoefficientdiagonaltermleftoutside. pfc_gap_division_total_residual_dataproductcoefficientdiagonaltermleftoutside+(x2)=(pfc_index_division_total_residual_dataproductcoefficientdiagonal)) /\ (((pfc_left_division_total_residual_dataproductcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_division_total_residual_dataproductcoefficientdiagonaltermrightinside. pfa_gap_division_total_residual_dataproductcoefficientdiagonaltermrightinside + S (pfc_complement_division_total_residual_dataproductcoefficientdiagonalterm) = (S (d))) /\ ((((exists ff_h_pfp_division_total_residual_dataproductcoefficientdiagonaltermrightentry. ff_h_pfp_division_total_residual_dataproductcoefficientdiagonaltermrightentry + S (pfc_right_division_total_residual_dataproductcoefficientdiagonalterm) = S ((S (pfc_complement_division_total_residual_dataproductcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_division_total_residual_dataproductcoefficientdiagonaltermrightentry. bb = ff_q_pfp_division_total_residual_dataproductcoefficientdiagonaltermrightentry * S ((S (pfc_complement_division_total_residual_dataproductcoefficientdiagonalterm)) * bc) + (pfc_right_division_total_residual_dataproductcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_division_total_residual_dataproductcoefficientdiagonaltermrightoutside. pfc_gap_division_total_residual_dataproductcoefficientdiagonaltermrightoutside+(S (d))=(pfc_complement_division_total_residual_dataproductcoefficientdiagonalterm)) /\ (((pfc_right_division_total_residual_dataproductcoefficientdiagonalterm)=0))))) /\ (((pfc_value_division_total_residual_dataproductcoefficientdiagonal)=pfc_left_division_total_residual_dataproductcoefficientdiagonalterm*pfc_right_division_total_residual_dataproductcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_division_total_residual_dataproductcoefficientsum fs_v_pfc_division_total_residual_dataproductcoefficientsum. ((((exists fs_h_pfc_division_total_residual_dataproductcoefficientsum_body_start. fs_h_pfc_division_total_residual_dataproductcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_division_total_residual_dataproductcoefficientsum)) /\ exists fs_q_pfc_division_total_residual_dataproductcoefficientsum_body_start. fs_u_pfc_division_total_residual_dataproductcoefficientsum = fs_q_pfc_division_total_residual_dataproductcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_division_total_residual_dataproductcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_division_total_residual_dataproductcoefficientsum_body_terminal. fs_h_pfc_division_total_residual_dataproductcoefficientsum_body_terminal + S (pfc_natural_sum_division_total_residual_dataproductcoefficient) = S ((S (S (pfc_index_division_total_residual_dataproduct))) * fs_v_pfc_division_total_residual_dataproductcoefficientsum)) /\ exists fs_q_pfc_division_total_residual_dataproductcoefficientsum_body_terminal. fs_u_pfc_division_total_residual_dataproductcoefficientsum = fs_q_pfc_division_total_residual_dataproductcoefficientsum_body_terminal * S ((S (S (pfc_index_division_total_residual_dataproduct))) * fs_v_pfc_division_total_residual_dataproductcoefficientsum) + (pfc_natural_sum_division_total_residual_dataproductcoefficient))) /\ forall fs_i_pfc_division_total_residual_dataproductcoefficientsum_body_steps. (exists fs_lt_pfc_division_total_residual_dataproductcoefficientsum_body_steps_bound. fs_lt_pfc_division_total_residual_dataproductcoefficientsum_body_steps_bound + S fs_i_pfc_division_total_residual_dataproductcoefficientsum_body_steps = S (pfc_index_division_total_residual_dataproduct)) -> exists fs_a_pfc_division_total_residual_dataproductcoefficientsum_body_steps fs_r_pfc_division_total_residual_dataproductcoefficientsum_body_steps fs_s_pfc_division_total_residual_dataproductcoefficientsum_body_steps. ((((exists fs_h_pfc_division_total_residual_dataproductcoefficientsum_body_steps_summand. fs_h_pfc_division_total_residual_dataproductcoefficientsum_body_steps_summand + S (fs_a_pfc_division_total_residual_dataproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_total_residual_dataproductcoefficientsum_body_steps)) * pfc_terms_scale_division_total_residual_dataproductcoefficient)) /\ exists fs_q_pfc_division_total_residual_dataproductcoefficientsum_body_steps_summand. pfc_terms_code_division_total_residual_dataproductcoefficient = fs_q_pfc_division_total_residual_dataproductcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_division_total_residual_dataproductcoefficientsum_body_steps)) * pfc_terms_scale_division_total_residual_dataproductcoefficient) + (fs_a_pfc_division_total_residual_dataproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_total_residual_dataproductcoefficientsum_body_steps_partial. fs_h_pfc_division_total_residual_dataproductcoefficientsum_body_steps_partial + S (fs_r_pfc_division_total_residual_dataproductcoefficientsum_body_steps) = S ((S (fs_i_pfc_division_total_residual_dataproductcoefficientsum_body_steps)) * fs_v_pfc_division_total_residual_dataproductcoefficientsum)) /\ exists fs_q_pfc_division_total_residual_dataproductcoefficientsum_body_steps_partial. fs_u_pfc_division_total_residual_dataproductcoefficientsum = fs_q_pfc_division_total_residual_dataproductcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_division_total_residual_dataproductcoefficientsum_body_steps)) * fs_v_pfc_division_total_residual_dataproductcoefficientsum) + (fs_r_pfc_division_total_residual_dataproductcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_division_total_residual_dataproductcoefficientsum_body_steps_successor. fs_h_pfc_division_total_residual_dataproductcoefficientsum_body_steps_successor + S (fs_s_pfc_division_total_residual_dataproductcoefficientsum_body_steps) = S ((S (S fs_i_pfc_division_total_residual_dataproductcoefficientsum_body_steps)) * fs_v_pfc_division_total_residual_dataproductcoefficientsum)) /\ exists fs_q_pfc_division_total_residual_dataproductcoefficientsum_body_steps_successor. fs_u_pfc_division_total_residual_dataproductcoefficientsum = fs_q_pfc_division_total_residual_dataproductcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_division_total_residual_dataproductcoefficientsum_body_steps)) * fs_v_pfc_division_total_residual_dataproductcoefficientsum) + (fs_s_pfc_division_total_residual_dataproductcoefficientsum_body_steps))) /\ fs_s_pfc_division_total_residual_dataproductcoefficientsum_body_steps = fs_r_pfc_division_total_residual_dataproductcoefficientsum_body_steps + fs_a_pfc_division_total_residual_dataproductcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_division_total_residual_dataproductcoefficientresiduebound. pfa_gap_division_total_residual_dataproductcoefficientresiduebound + S (pfc_value_division_total_residual_dataproduct) = (p)) /\ ((exists pfa_offset_left_division_total_residual_dataproductcoefficientresiduecongruence pfa_offset_right_division_total_residual_dataproductcoefficientresiduecongruence. (pfc_natural_sum_division_total_residual_dataproductcoefficient) + (p) * pfa_offset_left_division_total_residual_dataproductcoefficientresiduecongruence = (pfc_value_division_total_residual_dataproduct) + (p) * pfa_offset_right_division_total_residual_dataproductcoefficientresiduecongruence)))))))))))) /\ (((forall pfs_index_division_total_residual_datadifference. (exists pfa_gap_division_total_residual_datadifferenceindex. pfa_gap_division_total_residual_datadifferenceindex + S (pfs_index_division_total_residual_datadifference) = (L)) -> exists pfs_left_division_total_residual_datadifference pfs_right_division_total_residual_datadifference pfs_result_division_total_residual_datadifference. ((((exists ff_h_pfp_division_total_residual_datadifferenceleft. ff_h_pfp_division_total_residual_datadifferenceleft + S (pfs_left_division_total_residual_datadifference) = S ((S (pfs_index_division_total_residual_datadifference)) * ac)) /\ exists ff_q_pfp_division_total_residual_datadifferenceleft. ab = ff_q_pfp_division_total_residual_datadifferenceleft * S ((S (pfs_index_division_total_residual_datadifference)) * ac) + (pfs_left_division_total_residual_datadifference))) /\ (((((exists ff_h_pfp_division_total_residual_datadifferenceright. ff_h_pfp_division_total_residual_datadifferenceright + S (pfs_right_division_total_residual_datadifference) = S ((S (pfs_index_division_total_residual_datadifference)) * pc)) /\ exists ff_q_pfp_division_total_residual_datadifferenceright. pb = ff_q_pfp_division_total_residual_datadifferenceright * S ((S (pfs_index_division_total_residual_datadifference)) * pc) + (pfs_right_division_total_residual_datadifference))) /\ (((((exists ff_h_pfp_division_total_residual_datadifferenceresult. ff_h_pfp_division_total_residual_datadifferenceresult + S (pfs_result_division_total_residual_datadifference) = S ((S (pfs_index_division_total_residual_datadifference)) * uc)) /\ exists ff_q_pfp_division_total_residual_datadifferenceresult. ub = ff_q_pfp_division_total_residual_datadifferenceresult * S ((S (pfs_index_division_total_residual_datadifference)) * uc) + (pfs_result_division_total_residual_datadifference))) /\ ((((exists pfa_gap_division_total_residual_datadifferenceoperationleft. pfa_gap_division_total_residual_datadifferenceoperationleft + S (pfs_right_division_total_residual_datadifference) = (p)) /\ (((exists pfa_gap_division_total_residual_datadifferenceoperationright. pfa_gap_division_total_residual_datadifferenceoperationright + S (pfs_result_division_total_residual_datadifference) = (p)) /\ ((((exists pfa_gap_division_total_residual_datadifferenceoperationresultbound. pfa_gap_division_total_residual_datadifferenceoperationresultbound + S (pfs_left_division_total_residual_datadifference) = (p)) /\ ((exists pfa_offset_left_division_total_residual_datadifferenceoperationresultcongruence pfa_offset_right_division_total_residual_datadifferenceoperationresultcongruence. ((pfs_right_division_total_residual_datadifference) + (pfs_result_division_total_residual_datadifference)) + (p) * pfa_offset_left_division_total_residual_datadifferenceoperationresultcongruence = (pfs_left_division_total_residual_datadifference) + (p) * pfa_offset_right_division_total_residual_datadifferenceoperationresultcongruence)))))))))))))))) /\ (((((L)=(t)+(R)) /\ (((forall fom_index_pfp_division_total_residual_datatriminput. (exists fom_gap_pfp_division_total_residual_datatriminput_index_bound. fom_gap_pfp_division_total_residual_datatriminput_index_bound + S (fom_index_pfp_division_total_residual_datatriminput) = L) -> exists fom_value_pfp_division_total_residual_datatriminput. ((((exists fom_beta_height_pfp_division_total_residual_datatriminput_entry. fom_beta_height_pfp_division_total_residual_datatriminput_entry + S (fom_value_pfp_division_total_residual_datatriminput) = S ((S (fom_index_pfp_division_total_residual_datatriminput)) * uc)) /\ exists fom_beta_quotient_pfp_division_total_residual_datatriminput_entry. ub = fom_beta_quotient_pfp_division_total_residual_datatriminput_entry * S ((S (fom_index_pfp_division_total_residual_datatriminput)) * uc) + (fom_value_pfp_division_total_residual_datatriminput))) /\ (exists fom_gap_pfp_division_total_residual_datatriminput_value_bound. fom_gap_pfp_division_total_residual_datatriminput_value_bound + S (fom_value_pfp_division_total_residual_datatriminput) = p))) /\ (((forall pfp_repeat_index_division_total_residual_datatrimremoved. (exists pfa_gap_division_total_residual_datatrimremovedindex. pfa_gap_division_total_residual_datatrimremovedindex + S (pfp_repeat_index_division_total_residual_datatrimremoved) = (t)) -> (((exists ff_h_pfp_division_total_residual_datatrimremovedentry. ff_h_pfp_division_total_residual_datatrimremovedentry + S (0) = S ((S (pfp_repeat_index_division_total_residual_datatrimremoved)) * uc)) /\ exists ff_q_pfp_division_total_residual_datatrimremovedentry. ub = ff_q_pfp_division_total_residual_datatrimremovedentry * S ((S (pfp_repeat_index_division_total_residual_datatrimremoved)) * uc) + (0)))) /\ (((forall pftrim_index_division_total_residual_datatrimsuffix pftrim_value_division_total_residual_datatrimsuffix. (exists pfa_gap_division_total_residual_datatrimsuffixbound. pfa_gap_division_total_residual_datatrimsuffixbound + S (pftrim_index_division_total_residual_datatrimsuffix) = (R)) -> (((exists ff_h_pfp_division_total_residual_datatrimsuffixsource. ff_h_pfp_division_total_residual_datatrimsuffixsource + S (pftrim_value_division_total_residual_datatrimsuffix) = S ((S ((t)+pftrim_index_division_total_residual_datatrimsuffix)) * uc)) /\ exists ff_q_pfp_division_total_residual_datatrimsuffixsource. ub = ff_q_pfp_division_total_residual_datatrimsuffixsource * S ((S ((t)+pftrim_index_division_total_residual_datatrimsuffix)) * uc) + (pftrim_value_division_total_residual_datatrimsuffix))) -> (((exists ff_h_pfp_division_total_residual_datatrimsuffixoutput. ff_h_pfp_division_total_residual_datatrimsuffixoutput + S (pftrim_value_division_total_residual_datatrimsuffix) = S ((S (pftrim_index_division_total_residual_datatrimsuffix)) * rc)) /\ exists ff_q_pfp_division_total_residual_datatrimsuffixoutput. rb = ff_q_pfp_division_total_residual_datatrimsuffixoutput * S ((S (pftrim_index_division_total_residual_datatrimsuffix)) * rc) + (pftrim_value_division_total_residual_datatrimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_division_total_residual_datatrimnormal. ((((exists ff_h_pfp_division_total_residual_datatrimnormalentry. ff_h_pfp_division_total_residual_datatrimnormalentry + S (pftrim_leading_division_total_residual_datatrimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_division_total_residual_datatrimnormalentry. rb = ff_q_pfp_division_total_residual_datatrimnormalentry * S ((S (0)) * rc) + (pftrim_leading_division_total_residual_datatrimnormal))) /\ ((~(pftrim_leading_division_total_residual_datatrimnormal=0))))))))))))))))))))specialize prime_field_polynomial_division_residual_data_exists (p)specialize prime_field_polynomial_division_residual_data_exists (ab)specialize prime_field_polynomial_division_residual_data_exists (ac)specialize prime_field_polynomial_division_residual_data_exists (L)specialize prime_field_polynomial_division_residual_data_exists (bb)specialize prime_field_polynomial_division_residual_data_exists (bc)specialize prime_field_polynomial_division_residual_data_exists (d)specialize prime_field_polynomial_division_residual_data_exists (x3)specialize prime_field_polynomial_division_residual_data_exists (x4)specialize prime_field_polynomial_division_residual_data_exists (x2)apply prime_field_polynomial_division_residual_data_existsexact hpexact hacases hresidualcases hresidual_witnesscases hresidual_witness_witnesscases hresidual_witness_witness_witnesscases hresidual_witness_witness_witness_witnesscases hresidual_witness_witness_witness_witness_witnesscases hresidual_witness_witness_witness_witness_witness_witnesscases hresidual_witness_witness_witness_witness_witness_witness_witnesscases hresidual_witness_witness_witness_witness_witness_witness_witness_witnesscases hresidual_witness_witness_witness_witness_witness_witness_witness_witness_rightcases hbcases hb_rightexists x3exists x4exists x2exists x10exists x11exists x12splitexact hasplitexact hb_right_leftsplitexact hquotient_witness_witness_witness_witness_witness_right_right_leftexists xexists x1exists x5exists x6exists x7exists x8exists x9splitexact hquotient_witness_witness_witness_witness_witness_leftsplitexact hquotient_witness_witness_witness_witness_witness_right_leftsplitexact hquotient_witness_witness_witness_witness_witness_right_right_rightsplitexact hresidual_witness_witness_witness_witness_witness_witness_witness_witness_leftsplitexact hresidual_witness_witness_witness_witness_witness_witness_witness_witness_right_leftexact hresidual_witness_witness_witness_witness_witness_witness_witness_witness_right_right
polynomial_product_length_positive_inputs · unchanged support, not a new admission
forall d e N. (((((S d)=0 \/ (S e)=0) /\ (((N)=0)))) \/ (((~((S d)=0)) /\ (((~((S e)=0)) /\ (((S d)+(S e)=S (N)))))))) -> N=S (d+e)
intro dintro eintro Nintro hspecialize polynomial_product_length_functional (S d)specialize polynomial_product_length_functional (S e)specialize polynomial_product_length_functional (N)specialize polynomial_product_length_functional (S (d+e))apply polynomial_product_length_functionalexact hrightsplitintro hzspecialize succ_ne_zero (d)apply succ_ne_zeroexact hzsplitintro hzspecialize succ_ne_zero (e)apply succ_ne_zeroexact hzsimp [add_succ_left]
polynomial_diagonal_term_leading · unchanged support, not a new admission
forall ab ac l bb bc m a b t. (((exists ff_h_pfp_term_first_a. ff_h_pfp_term_first_a + S (a) = S ((S (0)) * ac)) /\ exists ff_q_pfp_term_first_a. ab = ff_q_pfp_term_first_a * S ((S (0)) * ac) + (a))) -> (((exists ff_h_pfp_term_first_b. ff_h_pfp_term_first_b + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_term_first_b. bb = ff_q_pfp_term_first_b * S ((S (0)) * bc) + (b))) -> (exists pfc_complement_term_first_source pfc_left_term_first_source pfc_right_term_first_source. (((0)+pfc_complement_term_first_source=(0)) /\ ((((((exists pfa_gap_term_first_sourceleftinside. pfa_gap_term_first_sourceleftinside + S (0) = (S l)) /\ ((((exists ff_h_pfp_term_first_sourceleftentry. ff_h_pfp_term_first_sourceleftentry + S (pfc_left_term_first_source) = S ((S (0)) * ac)) /\ exists ff_q_pfp_term_first_sourceleftentry. ab = ff_q_pfp_term_first_sourceleftentry * S ((S (0)) * ac) + (pfc_left_term_first_source)))))) \/ (((exists pfc_gap_term_first_sourceleftoutside. pfc_gap_term_first_sourceleftoutside+(S l)=(0)) /\ (((pfc_left_term_first_source)=0))))) /\ ((((((exists pfa_gap_term_first_sourcerightinside. pfa_gap_term_first_sourcerightinside + S (pfc_complement_term_first_source) = (S m)) /\ ((((exists ff_h_pfp_term_first_sourcerightentry. ff_h_pfp_term_first_sourcerightentry + S (pfc_right_term_first_source) = S ((S (pfc_complement_term_first_source)) * bc)) /\ exists ff_q_pfp_term_first_sourcerightentry. bb = ff_q_pfp_term_first_sourcerightentry * S ((S (pfc_complement_term_first_source)) * bc) + (pfc_right_term_first_source)))))) \/ (((exists pfc_gap_term_first_sourcerightoutside. pfc_gap_term_first_sourcerightoutside+(S m)=(pfc_complement_term_first_source)) /\ (((pfc_right_term_first_source)=0))))) /\ (((t)=pfc_left_term_first_source*pfc_right_term_first_source)))))))) -> t=a*b
intro abintro acintro lintro bbintro bcintro mintro aintro bintro tintro haintro hbintro htcases htcases ht_witnesscases ht_witness_witnesscases ht_witness_witness_witnesscases ht_witness_witness_witness_rightcases ht_witness_witness_witness_right_righthave hk : x=0specialize add_eq_zero_right (0)specialize add_eq_zero_right (x)apply add_eq_zero_rightexact ht_witness_witness_witness_leftrewrite hk at ht_witness_witness_witness_right_right_leftrewrite hk at ht_witness_witness_witness_right_right_leftrewrite hk at ht_witness_witness_witness_right_right_leftrewrite hk at ht_witness_witness_witness_right_right_lefthave heqa : x1=aspecialize polynomial_zero_extended_entry_functional (ab)specialize polynomial_zero_extended_entry_functional (ac)specialize polynomial_zero_extended_entry_functional (S l)specialize polynomial_zero_extended_entry_functional (0)specialize polynomial_zero_extended_entry_functional (x1)specialize polynomial_zero_extended_entry_functional (a)apply polynomial_zero_extended_entry_functionalexact ht_witness_witness_witness_right_leftleftsplitexists lsimpexact hahave heqb : x2=bspecialize polynomial_zero_extended_entry_functional (bb)specialize polynomial_zero_extended_entry_functional (bc)specialize polynomial_zero_extended_entry_functional (S m)specialize polynomial_zero_extended_entry_functional (0)specialize polynomial_zero_extended_entry_functional (x2)specialize polynomial_zero_extended_entry_functional (b)apply polynomial_zero_extended_entry_functionalexact ht_witness_witness_witness_right_right_leftleftsplitexists msimpexact hbtrans x1*x2exact ht_witness_witness_witness_right_right_rightcongrexact heqaexact heqb
prime_field_convolution_coefficient_leading · unchanged support, not a new admission
forall p ab ac l bb bc m a b r. (forall fom_index_pfp_leading_left_coefficients. (exists fom_gap_pfp_leading_left_coefficients_index_bound. fom_gap_pfp_leading_left_coefficients_index_bound + S (fom_index_pfp_leading_left_coefficients) = S l) -> exists fom_value_pfp_leading_left_coefficients. ((((exists fom_beta_height_pfp_leading_left_coefficients_entry. fom_beta_height_pfp_leading_left_coefficients_entry + S (fom_value_pfp_leading_left_coefficients) = S ((S (fom_index_pfp_leading_left_coefficients)) * ac)) /\ exists fom_beta_quotient_pfp_leading_left_coefficients_entry. ab = fom_beta_quotient_pfp_leading_left_coefficients_entry * S ((S (fom_index_pfp_leading_left_coefficients)) * ac) + (fom_value_pfp_leading_left_coefficients))) /\ (exists fom_gap_pfp_leading_left_coefficients_value_bound. fom_gap_pfp_leading_left_coefficients_value_bound + S (fom_value_pfp_leading_left_coefficients) = p))) -> (forall fom_index_pfp_leading_right_coefficients. (exists fom_gap_pfp_leading_right_coefficients_index_bound. fom_gap_pfp_leading_right_coefficients_index_bound + S (fom_index_pfp_leading_right_coefficients) = S m) -> exists fom_value_pfp_leading_right_coefficients. ((((exists fom_beta_height_pfp_leading_right_coefficients_entry. fom_beta_height_pfp_leading_right_coefficients_entry + S (fom_value_pfp_leading_right_coefficients) = S ((S (fom_index_pfp_leading_right_coefficients)) * bc)) /\ exists fom_beta_quotient_pfp_leading_right_coefficients_entry. bb = fom_beta_quotient_pfp_leading_right_coefficients_entry * S ((S (fom_index_pfp_leading_right_coefficients)) * bc) + (fom_value_pfp_leading_right_coefficients))) /\ (exists fom_gap_pfp_leading_right_coefficients_value_bound. fom_gap_pfp_leading_right_coefficients_value_bound + S (fom_value_pfp_leading_right_coefficients) = p))) -> (((exists ff_h_pfp_leading_left. ff_h_pfp_leading_left + S (a) = S ((S (0)) * ac)) /\ exists ff_q_pfp_leading_left. ab = ff_q_pfp_leading_left * S ((S (0)) * ac) + (a))) -> (((exists ff_h_pfp_leading_right. ff_h_pfp_leading_right + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_leading_right. bb = ff_q_pfp_leading_right * S ((S (0)) * bc) + (b))) -> (exists pfc_terms_code_leading_coefficient pfc_terms_scale_leading_coefficient pfc_natural_sum_leading_coefficient. ((forall pfc_index_leading_coefficientdiagonal. (exists pfa_gap_leading_coefficientdiagonalbound. pfa_gap_leading_coefficientdiagonalbound + S (pfc_index_leading_coefficientdiagonal) = (S (0))) -> exists pfc_value_leading_coefficientdiagonal. ((((exists ff_h_pfp_leading_coefficientdiagonalentry. ff_h_pfp_leading_coefficientdiagonalentry + S (pfc_value_leading_coefficientdiagonal) = S ((S (pfc_index_leading_coefficientdiagonal)) * pfc_terms_scale_leading_coefficient)) /\ exists ff_q_pfp_leading_coefficientdiagonalentry. pfc_terms_code_leading_coefficient = ff_q_pfp_leading_coefficientdiagonalentry * S ((S (pfc_index_leading_coefficientdiagonal)) * pfc_terms_scale_leading_coefficient) + (pfc_value_leading_coefficientdiagonal))) /\ ((exists pfc_complement_leading_coefficientdiagonalterm pfc_left_leading_coefficientdiagonalterm pfc_right_leading_coefficientdiagonalterm. (((pfc_index_leading_coefficientdiagonal)+pfc_complement_leading_coefficientdiagonalterm=(0)) /\ ((((((exists pfa_gap_leading_coefficientdiagonaltermleftinside. pfa_gap_leading_coefficientdiagonaltermleftinside + S (pfc_index_leading_coefficientdiagonal) = (S l)) /\ ((((exists ff_h_pfp_leading_coefficientdiagonaltermleftentry. ff_h_pfp_leading_coefficientdiagonaltermleftentry + S (pfc_left_leading_coefficientdiagonalterm) = S ((S (pfc_index_leading_coefficientdiagonal)) * ac)) /\ exists ff_q_pfp_leading_coefficientdiagonaltermleftentry. ab = ff_q_pfp_leading_coefficientdiagonaltermleftentry * S ((S (pfc_index_leading_coefficientdiagonal)) * ac) + (pfc_left_leading_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_leading_coefficientdiagonaltermleftoutside. pfc_gap_leading_coefficientdiagonaltermleftoutside+(S l)=(pfc_index_leading_coefficientdiagonal)) /\ (((pfc_left_leading_coefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_leading_coefficientdiagonaltermrightinside. pfa_gap_leading_coefficientdiagonaltermrightinside + S (pfc_complement_leading_coefficientdiagonalterm) = (S m)) /\ ((((exists ff_h_pfp_leading_coefficientdiagonaltermrightentry. ff_h_pfp_leading_coefficientdiagonaltermrightentry + S (pfc_right_leading_coefficientdiagonalterm) = S ((S (pfc_complement_leading_coefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_leading_coefficientdiagonaltermrightentry. bb = ff_q_pfp_leading_coefficientdiagonaltermrightentry * S ((S (pfc_complement_leading_coefficientdiagonalterm)) * bc) + (pfc_right_leading_coefficientdiagonalterm)))))) \/ (((exists pfc_gap_leading_coefficientdiagonaltermrightoutside. pfc_gap_leading_coefficientdiagonaltermrightoutside+(S m)=(pfc_complement_leading_coefficientdiagonalterm)) /\ (((pfc_right_leading_coefficientdiagonalterm)=0))))) /\ (((pfc_value_leading_coefficientdiagonal)=pfc_left_leading_coefficientdiagonalterm*pfc_right_leading_coefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_leading_coefficientsum fs_v_pfc_leading_coefficientsum. ((((exists fs_h_pfc_leading_coefficientsum_body_start. fs_h_pfc_leading_coefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_leading_coefficientsum)) /\ exists fs_q_pfc_leading_coefficientsum_body_start. fs_u_pfc_leading_coefficientsum = fs_q_pfc_leading_coefficientsum_body_start * S ((S (0)) * fs_v_pfc_leading_coefficientsum) + (0))) /\ ((((exists fs_h_pfc_leading_coefficientsum_body_terminal. fs_h_pfc_leading_coefficientsum_body_terminal + S (pfc_natural_sum_leading_coefficient) = S ((S (S (0))) * fs_v_pfc_leading_coefficientsum)) /\ exists fs_q_pfc_leading_coefficientsum_body_terminal. fs_u_pfc_leading_coefficientsum = fs_q_pfc_leading_coefficientsum_body_terminal * S ((S (S (0))) * fs_v_pfc_leading_coefficientsum) + (pfc_natural_sum_leading_coefficient))) /\ forall fs_i_pfc_leading_coefficientsum_body_steps. (exists fs_lt_pfc_leading_coefficientsum_body_steps_bound. fs_lt_pfc_leading_coefficientsum_body_steps_bound + S fs_i_pfc_leading_coefficientsum_body_steps = S (0)) -> exists fs_a_pfc_leading_coefficientsum_body_steps fs_r_pfc_leading_coefficientsum_body_steps fs_s_pfc_leading_coefficientsum_body_steps. ((((exists fs_h_pfc_leading_coefficientsum_body_steps_summand. fs_h_pfc_leading_coefficientsum_body_steps_summand + S (fs_a_pfc_leading_coefficientsum_body_steps) = S ((S (fs_i_pfc_leading_coefficientsum_body_steps)) * pfc_terms_scale_leading_coefficient)) /\ exists fs_q_pfc_leading_coefficientsum_body_steps_summand. pfc_terms_code_leading_coefficient = fs_q_pfc_leading_coefficientsum_body_steps_summand * S ((S (fs_i_pfc_leading_coefficientsum_body_steps)) * pfc_terms_scale_leading_coefficient) + (fs_a_pfc_leading_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_leading_coefficientsum_body_steps_partial. fs_h_pfc_leading_coefficientsum_body_steps_partial + S (fs_r_pfc_leading_coefficientsum_body_steps) = S ((S (fs_i_pfc_leading_coefficientsum_body_steps)) * fs_v_pfc_leading_coefficientsum)) /\ exists fs_q_pfc_leading_coefficientsum_body_steps_partial. fs_u_pfc_leading_coefficientsum = fs_q_pfc_leading_coefficientsum_body_steps_partial * S ((S (fs_i_pfc_leading_coefficientsum_body_steps)) * fs_v_pfc_leading_coefficientsum) + (fs_r_pfc_leading_coefficientsum_body_steps))) /\ ((((exists fs_h_pfc_leading_coefficientsum_body_steps_successor. fs_h_pfc_leading_coefficientsum_body_steps_successor + S (fs_s_pfc_leading_coefficientsum_body_steps) = S ((S (S fs_i_pfc_leading_coefficientsum_body_steps)) * fs_v_pfc_leading_coefficientsum)) /\ exists fs_q_pfc_leading_coefficientsum_body_steps_successor. fs_u_pfc_leading_coefficientsum = fs_q_pfc_leading_coefficientsum_body_steps_successor * S ((S (S fs_i_pfc_leading_coefficientsum_body_steps)) * fs_v_pfc_leading_coefficientsum) + (fs_s_pfc_leading_coefficientsum_body_steps))) /\ fs_s_pfc_leading_coefficientsum_body_steps = fs_r_pfc_leading_coefficientsum_body_steps + fs_a_pfc_leading_coefficientsum_body_steps)))))) /\ ((((exists pfa_gap_leading_coefficientresiduebound. pfa_gap_leading_coefficientresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_leading_coefficientresiduecongruence pfa_offset_right_leading_coefficientresiduecongruence. (pfc_natural_sum_leading_coefficient) + (p) * pfa_offset_left_leading_coefficientresiduecongruence = (r) + (p) * pfa_offset_right_leading_coefficientresiduecongruence))))))))) -> (((exists pfa_gap_leading_productleft. pfa_gap_leading_productleft + S (a) = (p)) /\ (((exists pfa_gap_leading_productright. pfa_gap_leading_productright + S (b) = (p)) /\ ((((exists pfa_gap_leading_productresultbound. pfa_gap_leading_productresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_leading_productresultcongruence pfa_offset_right_leading_productresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_leading_productresultcongruence = (r) + (p) * pfa_offset_right_leading_productresultcongruence)))))))))
intro pintro abintro acintro lintro bbintro bcintro mintro aintro bintro rintro hcaintro hcbintro haintro hbintro hrcases hrcases hr_witnesscases hr_witness_witnesscases hr_witness_witness_witnesscases hr_witness_witness_witness_righthave hs : exists t h. (((((exists ff_h_pfp_leading_summand. ff_h_pfp_leading_summand + S (t) = S ((S (0)) * x1)) /\ exists ff_q_pfp_leading_summand. x = ff_q_pfp_leading_summand * S ((S (0)) * x1) + (t))) /\ (((exists fs_u_pfc_leading_empty_sum fs_v_pfc_leading_empty_sum. ((((exists fs_h_pfc_leading_empty_sum_body_start. fs_h_pfc_leading_empty_sum_body_start + S (0) = S ((S (0)) * fs_v_pfc_leading_empty_sum)) /\ exists fs_q_pfc_leading_empty_sum_body_start. fs_u_pfc_leading_empty_sum = fs_q_pfc_leading_empty_sum_body_start * S ((S (0)) * fs_v_pfc_leading_empty_sum) + (0))) /\ ((((exists fs_h_pfc_leading_empty_sum_body_terminal. fs_h_pfc_leading_empty_sum_body_terminal + S (h) = S ((S (0)) * fs_v_pfc_leading_empty_sum)) /\ exists fs_q_pfc_leading_empty_sum_body_terminal. fs_u_pfc_leading_empty_sum = fs_q_pfc_leading_empty_sum_body_terminal * S ((S (0)) * fs_v_pfc_leading_empty_sum) + (h))) /\ forall fs_i_pfc_leading_empty_sum_body_steps. (exists fs_lt_pfc_leading_empty_sum_body_steps_bound. fs_lt_pfc_leading_empty_sum_body_steps_bound + S fs_i_pfc_leading_empty_sum_body_steps = 0) -> exists fs_a_pfc_leading_empty_sum_body_steps fs_r_pfc_leading_empty_sum_body_steps fs_s_pfc_leading_empty_sum_body_steps. ((((exists fs_h_pfc_leading_empty_sum_body_steps_summand. fs_h_pfc_leading_empty_sum_body_steps_summand + S (fs_a_pfc_leading_empty_sum_body_steps) = S ((S (fs_i_pfc_leading_empty_sum_body_steps)) * x1)) /\ exists fs_q_pfc_leading_empty_sum_body_steps_summand. x = fs_q_pfc_leading_empty_sum_body_steps_summand * S ((S (fs_i_pfc_leading_empty_sum_body_steps)) * x1) + (fs_a_pfc_leading_empty_sum_body_steps))) /\ ((((exists fs_h_pfc_leading_empty_sum_body_steps_partial. fs_h_pfc_leading_empty_sum_body_steps_partial + S (fs_r_pfc_leading_empty_sum_body_steps) = S ((S (fs_i_pfc_leading_empty_sum_body_steps)) * fs_v_pfc_leading_empty_sum)) /\ exists fs_q_pfc_leading_empty_sum_body_steps_partial. fs_u_pfc_leading_empty_sum = fs_q_pfc_leading_empty_sum_body_steps_partial * S ((S (fs_i_pfc_leading_empty_sum_body_steps)) * fs_v_pfc_leading_empty_sum) + (fs_r_pfc_leading_empty_sum_body_steps))) /\ ((((exists fs_h_pfc_leading_empty_sum_body_steps_successor. fs_h_pfc_leading_empty_sum_body_steps_successor + S (fs_s_pfc_leading_empty_sum_body_steps) = S ((S (S fs_i_pfc_leading_empty_sum_body_steps)) * fs_v_pfc_leading_empty_sum)) /\ exists fs_q_pfc_leading_empty_sum_body_steps_successor. fs_u_pfc_leading_empty_sum = fs_q_pfc_leading_empty_sum_body_steps_successor * S ((S (S fs_i_pfc_leading_empty_sum_body_steps)) * fs_v_pfc_leading_empty_sum) + (fs_s_pfc_leading_empty_sum_body_steps))) /\ fs_s_pfc_leading_empty_sum_body_steps = fs_r_pfc_leading_empty_sum_body_steps + fs_a_pfc_leading_empty_sum_body_steps)))))) /\ ((x2=h+t))))))specialize beta_sum_succ_decompose (x)specialize beta_sum_succ_decompose (x1)specialize beta_sum_succ_decompose (0)specialize beta_sum_succ_decompose (x2)apply beta_sum_succ_decomposeexact hr_witness_witness_witness_right_leftcases hscases hs_witnesscases hs_witness_witnesscases hs_witness_witness_righthave hz : x4=0specialize beta_sum_zero (x)specialize beta_sum_zero (x1)specialize beta_sum_zero (x4)apply beta_sum_zeroexact hs_witness_witness_right_lefthave ht : exists pfc_complement_leading_actual_term pfc_left_leading_actual_term pfc_right_leading_actual_term. (((0)+pfc_complement_leading_actual_term=(0)) /\ ((((((exists pfa_gap_leading_actual_termleftinside. pfa_gap_leading_actual_termleftinside + S (0) = (S l)) /\ ((((exists ff_h_pfp_leading_actual_termleftentry. ff_h_pfp_leading_actual_termleftentry + S (pfc_left_leading_actual_term) = S ((S (0)) * ac)) /\ exists ff_q_pfp_leading_actual_termleftentry. ab = ff_q_pfp_leading_actual_termleftentry * S ((S (0)) * ac) + (pfc_left_leading_actual_term)))))) \/ (((exists pfc_gap_leading_actual_termleftoutside. pfc_gap_leading_actual_termleftoutside+(S l)=(0)) /\ (((pfc_left_leading_actual_term)=0))))) /\ ((((((exists pfa_gap_leading_actual_termrightinside. pfa_gap_leading_actual_termrightinside + S (pfc_complement_leading_actual_term) = (S m)) /\ ((((exists ff_h_pfp_leading_actual_termrightentry. ff_h_pfp_leading_actual_termrightentry + S (pfc_right_leading_actual_term) = S ((S (pfc_complement_leading_actual_term)) * bc)) /\ exists ff_q_pfp_leading_actual_termrightentry. bb = ff_q_pfp_leading_actual_termrightentry * S ((S (pfc_complement_leading_actual_term)) * bc) + (pfc_right_leading_actual_term)))))) \/ (((exists pfc_gap_leading_actual_termrightoutside. pfc_gap_leading_actual_termrightoutside+(S m)=(pfc_complement_leading_actual_term)) /\ (((pfc_right_leading_actual_term)=0))))) /\ (((x3)=pfc_left_leading_actual_term*pfc_right_leading_actual_term)))))))specialize polynomial_diagonal_prefix_entry (ab)specialize polynomial_diagonal_prefix_entry (ac)specialize polynomial_diagonal_prefix_entry (S l)specialize polynomial_diagonal_prefix_entry (bb)specialize polynomial_diagonal_prefix_entry (bc)specialize polynomial_diagonal_prefix_entry (S m)specialize polynomial_diagonal_prefix_entry (0)specialize polynomial_diagonal_prefix_entry (x)specialize polynomial_diagonal_prefix_entry (x1)specialize polynomial_diagonal_prefix_entry (1)specialize polynomial_diagonal_prefix_entry (0)specialize polynomial_diagonal_prefix_entry (x3)apply polynomial_diagonal_prefix_entryexact hr_witness_witness_witness_leftexists 0apply zero_addexact hs_witness_witness_lefthave hn : x2=a*btrans x4+x3exact hs_witness_witness_right_righttrans x3rewrite hzapply zero_addspecialize polynomial_diagonal_term_leading (ab)specialize polynomial_diagonal_term_leading (ac)specialize polynomial_diagonal_term_leading (l)specialize polynomial_diagonal_term_leading (bb)specialize polynomial_diagonal_term_leading (bc)specialize polynomial_diagonal_term_leading (m)specialize polynomial_diagonal_term_leading (a)specialize polynomial_diagonal_term_leading (b)specialize polynomial_diagonal_term_leading (x3)apply polynomial_diagonal_term_leadingexact haexact hbexact htsplitspecialize matrix_rank_bounded_prefix_value (ab)specialize matrix_rank_bounded_prefix_value (ac)specialize matrix_rank_bounded_prefix_value (S l)specialize matrix_rank_bounded_prefix_value (p)specialize matrix_rank_bounded_prefix_value (0)specialize matrix_rank_bounded_prefix_value (a)apply matrix_rank_bounded_prefix_valueexact hcaexists lsimpexact hasplitspecialize matrix_rank_bounded_prefix_value (bb)specialize matrix_rank_bounded_prefix_value (bc)specialize matrix_rank_bounded_prefix_value (S m)specialize matrix_rank_bounded_prefix_value (p)specialize matrix_rank_bounded_prefix_value (0)specialize matrix_rank_bounded_prefix_value (b)apply matrix_rank_bounded_prefix_valueexact hcbexists msimpexact hbspecialize prime_field_residue_input_equal (p)specialize prime_field_residue_input_equal (a*b)specialize prime_field_residue_input_equal (x2)specialize prime_field_residue_input_equal (r)apply prime_field_residue_input_equalsymmexact hnexact hr_witness_witness_witness_right_right
prime_field_polynomial_convolution_leading_coefficient · unchanged support, not a new admission
forall p ab ac d bb bc e cb cc N a b r. (((forall fom_index_pfp_leading_productleft. (exists fom_gap_pfp_leading_productleft_index_bound. fom_gap_pfp_leading_productleft_index_bound + S (fom_index_pfp_leading_productleft) = S d) -> exists fom_value_pfp_leading_productleft. ((((exists fom_beta_height_pfp_leading_productleft_entry. fom_beta_height_pfp_leading_productleft_entry + S (fom_value_pfp_leading_productleft) = S ((S (fom_index_pfp_leading_productleft)) * ac)) /\ exists fom_beta_quotient_pfp_leading_productleft_entry. ab = fom_beta_quotient_pfp_leading_productleft_entry * S ((S (fom_index_pfp_leading_productleft)) * ac) + (fom_value_pfp_leading_productleft))) /\ (exists fom_gap_pfp_leading_productleft_value_bound. fom_gap_pfp_leading_productleft_value_bound + S (fom_value_pfp_leading_productleft) = p))) /\ (((forall fom_index_pfp_leading_productright. (exists fom_gap_pfp_leading_productright_index_bound. fom_gap_pfp_leading_productright_index_bound + S (fom_index_pfp_leading_productright) = S e) -> exists fom_value_pfp_leading_productright. ((((exists fom_beta_height_pfp_leading_productright_entry. fom_beta_height_pfp_leading_productright_entry + S (fom_value_pfp_leading_productright) = S ((S (fom_index_pfp_leading_productright)) * bc)) /\ exists fom_beta_quotient_pfp_leading_productright_entry. bb = fom_beta_quotient_pfp_leading_productright_entry * S ((S (fom_index_pfp_leading_productright)) * bc) + (fom_value_pfp_leading_productright))) /\ (exists fom_gap_pfp_leading_productright_value_bound. fom_gap_pfp_leading_productright_value_bound + S (fom_value_pfp_leading_productright) = p))) /\ (((((((S d)=0 \/ (S e)=0) /\ (((N)=0)))) \/ (((~((S d)=0)) /\ (((~((S e)=0)) /\ (((S d)+(S e)=S (N)))))))) /\ ((forall pfc_index_leading_productcoefficients. (exists pfa_gap_leading_productcoefficientsbound. pfa_gap_leading_productcoefficientsbound + S (pfc_index_leading_productcoefficients) = (N)) -> exists pfc_value_leading_productcoefficients. ((((exists ff_h_pfp_leading_productcoefficientsentry. ff_h_pfp_leading_productcoefficientsentry + S (pfc_value_leading_productcoefficients) = S ((S (pfc_index_leading_productcoefficients)) * cc)) /\ exists ff_q_pfp_leading_productcoefficientsentry. cb = ff_q_pfp_leading_productcoefficientsentry * S ((S (pfc_index_leading_productcoefficients)) * cc) + (pfc_value_leading_productcoefficients))) /\ ((exists pfc_terms_code_leading_productcoefficientscoefficient pfc_terms_scale_leading_productcoefficientscoefficient pfc_natural_sum_leading_productcoefficientscoefficient. ((forall pfc_index_leading_productcoefficientscoefficientdiagonal. (exists pfa_gap_leading_productcoefficientscoefficientdiagonalbound. pfa_gap_leading_productcoefficientscoefficientdiagonalbound + S (pfc_index_leading_productcoefficientscoefficientdiagonal) = (S (pfc_index_leading_productcoefficients))) -> exists pfc_value_leading_productcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_leading_productcoefficientscoefficientdiagonalentry. ff_h_pfp_leading_productcoefficientscoefficientdiagonalentry + S (pfc_value_leading_productcoefficientscoefficientdiagonal) = S ((S (pfc_index_leading_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_leading_productcoefficientscoefficient)) /\ exists ff_q_pfp_leading_productcoefficientscoefficientdiagonalentry. pfc_terms_code_leading_productcoefficientscoefficient = ff_q_pfp_leading_productcoefficientscoefficientdiagonalentry * S ((S (pfc_index_leading_productcoefficientscoefficientdiagonal)) * pfc_terms_scale_leading_productcoefficientscoefficient) + (pfc_value_leading_productcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_leading_productcoefficientscoefficientdiagonalterm pfc_left_leading_productcoefficientscoefficientdiagonalterm pfc_right_leading_productcoefficientscoefficientdiagonalterm. (((pfc_index_leading_productcoefficientscoefficientdiagonal)+pfc_complement_leading_productcoefficientscoefficientdiagonalterm=(pfc_index_leading_productcoefficients)) /\ ((((((exists pfa_gap_leading_productcoefficientscoefficientdiagonaltermleftinside. pfa_gap_leading_productcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_leading_productcoefficientscoefficientdiagonal) = (S d)) /\ ((((exists ff_h_pfp_leading_productcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_leading_productcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_leading_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_leading_productcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_leading_productcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_leading_productcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_leading_productcoefficientscoefficientdiagonal)) * ac) + (pfc_left_leading_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_leading_productcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_leading_productcoefficientscoefficientdiagonaltermleftoutside+(S d)=(pfc_index_leading_productcoefficientscoefficientdiagonal)) /\ (((pfc_left_leading_productcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_leading_productcoefficientscoefficientdiagonaltermrightinside. pfa_gap_leading_productcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_leading_productcoefficientscoefficientdiagonalterm) = (S e)) /\ ((((exists ff_h_pfp_leading_productcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_leading_productcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_leading_productcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_leading_productcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_leading_productcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_leading_productcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_leading_productcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_leading_productcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_leading_productcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_leading_productcoefficientscoefficientdiagonaltermrightoutside+(S e)=(pfc_complement_leading_productcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_leading_productcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_leading_productcoefficientscoefficientdiagonal)=pfc_left_leading_productcoefficientscoefficientdiagonalterm*pfc_right_leading_productcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_leading_productcoefficientscoefficientsum fs_v_pfc_leading_productcoefficientscoefficientsum. ((((exists fs_h_pfc_leading_productcoefficientscoefficientsum_body_start. fs_h_pfc_leading_productcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_leading_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_leading_productcoefficientscoefficientsum_body_start. fs_u_pfc_leading_productcoefficientscoefficientsum = fs_q_pfc_leading_productcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_leading_productcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_leading_productcoefficientscoefficientsum_body_terminal. fs_h_pfc_leading_productcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_leading_productcoefficientscoefficient) = S ((S (S (pfc_index_leading_productcoefficients))) * fs_v_pfc_leading_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_leading_productcoefficientscoefficientsum_body_terminal. fs_u_pfc_leading_productcoefficientscoefficientsum = fs_q_pfc_leading_productcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_leading_productcoefficients))) * fs_v_pfc_leading_productcoefficientscoefficientsum) + (pfc_natural_sum_leading_productcoefficientscoefficient))) /\ forall fs_i_pfc_leading_productcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_leading_productcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_leading_productcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_leading_productcoefficientscoefficientsum_body_steps = S (pfc_index_leading_productcoefficients)) -> exists fs_a_pfc_leading_productcoefficientscoefficientsum_body_steps fs_r_pfc_leading_productcoefficientscoefficientsum_body_steps fs_s_pfc_leading_productcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_leading_productcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_leading_productcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_leading_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_leading_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_leading_productcoefficientscoefficient)) /\ exists fs_q_pfc_leading_productcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_leading_productcoefficientscoefficient = fs_q_pfc_leading_productcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_leading_productcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_leading_productcoefficientscoefficient) + (fs_a_pfc_leading_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_leading_productcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_leading_productcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_leading_productcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_leading_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_leading_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_leading_productcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_leading_productcoefficientscoefficientsum = fs_q_pfc_leading_productcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_leading_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_leading_productcoefficientscoefficientsum) + (fs_r_pfc_leading_productcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_leading_productcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_leading_productcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_leading_productcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_leading_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_leading_productcoefficientscoefficientsum)) /\ exists fs_q_pfc_leading_productcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_leading_productcoefficientscoefficientsum = fs_q_pfc_leading_productcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_leading_productcoefficientscoefficientsum_body_steps)) * fs_v_pfc_leading_productcoefficientscoefficientsum) + (fs_s_pfc_leading_productcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_leading_productcoefficientscoefficientsum_body_steps = fs_r_pfc_leading_productcoefficientscoefficientsum_body_steps + fs_a_pfc_leading_productcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_leading_productcoefficientscoefficientresiduebound. pfa_gap_leading_productcoefficientscoefficientresiduebound + S (pfc_value_leading_productcoefficients) = (p)) /\ ((exists pfa_offset_left_leading_productcoefficientscoefficientresiduecongruence pfa_offset_right_leading_productcoefficientscoefficientresiduecongruence. (pfc_natural_sum_leading_productcoefficientscoefficient) + (p) * pfa_offset_left_leading_productcoefficientscoefficientresiduecongruence = (pfc_value_leading_productcoefficients) + (p) * pfa_offset_right_leading_productcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((exists ff_h_pfp_leading_a. ff_h_pfp_leading_a + S (a) = S ((S (0)) * ac)) /\ exists ff_q_pfp_leading_a. ab = ff_q_pfp_leading_a * S ((S (0)) * ac) + (a))) -> (((exists ff_h_pfp_leading_b. ff_h_pfp_leading_b + S (b) = S ((S (0)) * bc)) /\ exists ff_q_pfp_leading_b. bb = ff_q_pfp_leading_b * S ((S (0)) * bc) + (b))) -> (((exists ff_h_pfp_leading_r. ff_h_pfp_leading_r + S (r) = S ((S (0)) * cc)) /\ exists ff_q_pfp_leading_r. cb = ff_q_pfp_leading_r * S ((S (0)) * cc) + (r))) -> (((exists pfa_gap_leading_actual_multiplyleft. pfa_gap_leading_actual_multiplyleft + S (a) = (p)) /\ (((exists pfa_gap_leading_actual_multiplyright. pfa_gap_leading_actual_multiplyright + S (b) = (p)) /\ ((((exists pfa_gap_leading_actual_multiplyresultbound. pfa_gap_leading_actual_multiplyresultbound + S (r) = (p)) /\ ((exists pfa_offset_left_leading_actual_multiplyresultcongruence pfa_offset_right_leading_actual_multiplyresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_leading_actual_multiplyresultcongruence = (r) + (p) * pfa_offset_right_leading_actual_multiplyresultcongruence)))))))))
intro pintro abintro acintro dintro bbintro bcintro eintro cbintro ccintro Nintro aintro bintro rintro hintro haintro hbintro hrhave hcopy : ((forall fom_index_pfp_leading_product_copyleft. (exists fom_gap_pfp_leading_product_copyleft_index_bound. fom_gap_pfp_leading_product_copyleft_index_bound + S (fom_index_pfp_leading_product_copyleft) = S d) -> exists fom_value_pfp_leading_product_copyleft. ((((exists fom_beta_height_pfp_leading_product_copyleft_entry. fom_beta_height_pfp_leading_product_copyleft_entry + S (fom_value_pfp_leading_product_copyleft) = S ((S (fom_index_pfp_leading_product_copyleft)) * ac)) /\ exists fom_beta_quotient_pfp_leading_product_copyleft_entry. ab = fom_beta_quotient_pfp_leading_product_copyleft_entry * S ((S (fom_index_pfp_leading_product_copyleft)) * ac) + (fom_value_pfp_leading_product_copyleft))) /\ (exists fom_gap_pfp_leading_product_copyleft_value_bound. fom_gap_pfp_leading_product_copyleft_value_bound + S (fom_value_pfp_leading_product_copyleft) = p))) /\ (((forall fom_index_pfp_leading_product_copyright. (exists fom_gap_pfp_leading_product_copyright_index_bound. fom_gap_pfp_leading_product_copyright_index_bound + S (fom_index_pfp_leading_product_copyright) = S e) -> exists fom_value_pfp_leading_product_copyright. ((((exists fom_beta_height_pfp_leading_product_copyright_entry. fom_beta_height_pfp_leading_product_copyright_entry + S (fom_value_pfp_leading_product_copyright) = S ((S (fom_index_pfp_leading_product_copyright)) * bc)) /\ exists fom_beta_quotient_pfp_leading_product_copyright_entry. bb = fom_beta_quotient_pfp_leading_product_copyright_entry * S ((S (fom_index_pfp_leading_product_copyright)) * bc) + (fom_value_pfp_leading_product_copyright))) /\ (exists fom_gap_pfp_leading_product_copyright_value_bound. fom_gap_pfp_leading_product_copyright_value_bound + S (fom_value_pfp_leading_product_copyright) = p))) /\ (((((((S d)=0 \/ (S e)=0) /\ (((N)=0)))) \/ (((~((S d)=0)) /\ (((~((S e)=0)) /\ (((S d)+(S e)=S (N)))))))) /\ ((forall pfc_index_leading_product_copycoefficients. (exists pfa_gap_leading_product_copycoefficientsbound. pfa_gap_leading_product_copycoefficientsbound + S (pfc_index_leading_product_copycoefficients) = (N)) -> exists pfc_value_leading_product_copycoefficients. ((((exists ff_h_pfp_leading_product_copycoefficientsentry. ff_h_pfp_leading_product_copycoefficientsentry + S (pfc_value_leading_product_copycoefficients) = S ((S (pfc_index_leading_product_copycoefficients)) * cc)) /\ exists ff_q_pfp_leading_product_copycoefficientsentry. cb = ff_q_pfp_leading_product_copycoefficientsentry * S ((S (pfc_index_leading_product_copycoefficients)) * cc) + (pfc_value_leading_product_copycoefficients))) /\ ((exists pfc_terms_code_leading_product_copycoefficientscoefficient pfc_terms_scale_leading_product_copycoefficientscoefficient pfc_natural_sum_leading_product_copycoefficientscoefficient. ((forall pfc_index_leading_product_copycoefficientscoefficientdiagonal. (exists pfa_gap_leading_product_copycoefficientscoefficientdiagonalbound. pfa_gap_leading_product_copycoefficientscoefficientdiagonalbound + S (pfc_index_leading_product_copycoefficientscoefficientdiagonal) = (S (pfc_index_leading_product_copycoefficients))) -> exists pfc_value_leading_product_copycoefficientscoefficientdiagonal. ((((exists ff_h_pfp_leading_product_copycoefficientscoefficientdiagonalentry. ff_h_pfp_leading_product_copycoefficientscoefficientdiagonalentry + S (pfc_value_leading_product_copycoefficientscoefficientdiagonal) = S ((S (pfc_index_leading_product_copycoefficientscoefficientdiagonal)) * pfc_terms_scale_leading_product_copycoefficientscoefficient)) /\ exists ff_q_pfp_leading_product_copycoefficientscoefficientdiagonalentry. pfc_terms_code_leading_product_copycoefficientscoefficient = ff_q_pfp_leading_product_copycoefficientscoefficientdiagonalentry * S ((S (pfc_index_leading_product_copycoefficientscoefficientdiagonal)) * pfc_terms_scale_leading_product_copycoefficientscoefficient) + (pfc_value_leading_product_copycoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_leading_product_copycoefficientscoefficientdiagonalterm pfc_left_leading_product_copycoefficientscoefficientdiagonalterm pfc_right_leading_product_copycoefficientscoefficientdiagonalterm. (((pfc_index_leading_product_copycoefficientscoefficientdiagonal)+pfc_complement_leading_product_copycoefficientscoefficientdiagonalterm=(pfc_index_leading_product_copycoefficients)) /\ ((((((exists pfa_gap_leading_product_copycoefficientscoefficientdiagonaltermleftinside. pfa_gap_leading_product_copycoefficientscoefficientdiagonaltermleftinside + S (pfc_index_leading_product_copycoefficientscoefficientdiagonal) = (S d)) /\ ((((exists ff_h_pfp_leading_product_copycoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_leading_product_copycoefficientscoefficientdiagonaltermleftentry + S (pfc_left_leading_product_copycoefficientscoefficientdiagonalterm) = S ((S (pfc_index_leading_product_copycoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_leading_product_copycoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_leading_product_copycoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_leading_product_copycoefficientscoefficientdiagonal)) * ac) + (pfc_left_leading_product_copycoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_leading_product_copycoefficientscoefficientdiagonaltermleftoutside. pfc_gap_leading_product_copycoefficientscoefficientdiagonaltermleftoutside+(S d)=(pfc_index_leading_product_copycoefficientscoefficientdiagonal)) /\ (((pfc_left_leading_product_copycoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_leading_product_copycoefficientscoefficientdiagonaltermrightinside. pfa_gap_leading_product_copycoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_leading_product_copycoefficientscoefficientdiagonalterm) = (S e)) /\ ((((exists ff_h_pfp_leading_product_copycoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_leading_product_copycoefficientscoefficientdiagonaltermrightentry + S (pfc_right_leading_product_copycoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_leading_product_copycoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_leading_product_copycoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_leading_product_copycoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_leading_product_copycoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_leading_product_copycoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_leading_product_copycoefficientscoefficientdiagonaltermrightoutside. pfc_gap_leading_product_copycoefficientscoefficientdiagonaltermrightoutside+(S e)=(pfc_complement_leading_product_copycoefficientscoefficientdiagonalterm)) /\ (((pfc_right_leading_product_copycoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_leading_product_copycoefficientscoefficientdiagonal)=pfc_left_leading_product_copycoefficientscoefficientdiagonalterm*pfc_right_leading_product_copycoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_leading_product_copycoefficientscoefficientsum fs_v_pfc_leading_product_copycoefficientscoefficientsum. ((((exists fs_h_pfc_leading_product_copycoefficientscoefficientsum_body_start. fs_h_pfc_leading_product_copycoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_leading_product_copycoefficientscoefficientsum)) /\ exists fs_q_pfc_leading_product_copycoefficientscoefficientsum_body_start. fs_u_pfc_leading_product_copycoefficientscoefficientsum = fs_q_pfc_leading_product_copycoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_leading_product_copycoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_leading_product_copycoefficientscoefficientsum_body_terminal. fs_h_pfc_leading_product_copycoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_leading_product_copycoefficientscoefficient) = S ((S (S (pfc_index_leading_product_copycoefficients))) * fs_v_pfc_leading_product_copycoefficientscoefficientsum)) /\ exists fs_q_pfc_leading_product_copycoefficientscoefficientsum_body_terminal. fs_u_pfc_leading_product_copycoefficientscoefficientsum = fs_q_pfc_leading_product_copycoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_leading_product_copycoefficients))) * fs_v_pfc_leading_product_copycoefficientscoefficientsum) + (pfc_natural_sum_leading_product_copycoefficientscoefficient))) /\ forall fs_i_pfc_leading_product_copycoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_leading_product_copycoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_leading_product_copycoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_leading_product_copycoefficientscoefficientsum_body_steps = S (pfc_index_leading_product_copycoefficients)) -> exists fs_a_pfc_leading_product_copycoefficientscoefficientsum_body_steps fs_r_pfc_leading_product_copycoefficientscoefficientsum_body_steps fs_s_pfc_leading_product_copycoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_leading_product_copycoefficientscoefficientsum_body_steps_summand. fs_h_pfc_leading_product_copycoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_leading_product_copycoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_leading_product_copycoefficientscoefficientsum_body_steps)) * pfc_terms_scale_leading_product_copycoefficientscoefficient)) /\ exists fs_q_pfc_leading_product_copycoefficientscoefficientsum_body_steps_summand. pfc_terms_code_leading_product_copycoefficientscoefficient = fs_q_pfc_leading_product_copycoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_leading_product_copycoefficientscoefficientsum_body_steps)) * pfc_terms_scale_leading_product_copycoefficientscoefficient) + (fs_a_pfc_leading_product_copycoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_leading_product_copycoefficientscoefficientsum_body_steps_partial. fs_h_pfc_leading_product_copycoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_leading_product_copycoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_leading_product_copycoefficientscoefficientsum_body_steps)) * fs_v_pfc_leading_product_copycoefficientscoefficientsum)) /\ exists fs_q_pfc_leading_product_copycoefficientscoefficientsum_body_steps_partial. fs_u_pfc_leading_product_copycoefficientscoefficientsum = fs_q_pfc_leading_product_copycoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_leading_product_copycoefficientscoefficientsum_body_steps)) * fs_v_pfc_leading_product_copycoefficientscoefficientsum) + (fs_r_pfc_leading_product_copycoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_leading_product_copycoefficientscoefficientsum_body_steps_successor. fs_h_pfc_leading_product_copycoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_leading_product_copycoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_leading_product_copycoefficientscoefficientsum_body_steps)) * fs_v_pfc_leading_product_copycoefficientscoefficientsum)) /\ exists fs_q_pfc_leading_product_copycoefficientscoefficientsum_body_steps_successor. fs_u_pfc_leading_product_copycoefficientscoefficientsum = fs_q_pfc_leading_product_copycoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_leading_product_copycoefficientscoefficientsum_body_steps)) * fs_v_pfc_leading_product_copycoefficientscoefficientsum) + (fs_s_pfc_leading_product_copycoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_leading_product_copycoefficientscoefficientsum_body_steps = fs_r_pfc_leading_product_copycoefficientscoefficientsum_body_steps + fs_a_pfc_leading_product_copycoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_leading_product_copycoefficientscoefficientresiduebound. pfa_gap_leading_product_copycoefficientscoefficientresiduebound + S (pfc_value_leading_product_copycoefficients) = (p)) /\ ((exists pfa_offset_left_leading_product_copycoefficientscoefficientresiduecongruence pfa_offset_right_leading_product_copycoefficientscoefficientresiduecongruence. (pfc_natural_sum_leading_product_copycoefficientscoefficient) + (p) * pfa_offset_left_leading_product_copycoefficientscoefficientresiduecongruence = (pfc_value_leading_product_copycoefficients) + (p) * pfa_offset_right_leading_product_copycoefficientscoefficientresiduecongruence))))))))))))))))))exact hcases hcopycases hcopy_rightcases hcopy_right_righthave hlen : N=S (d+e)specialize polynomial_product_length_positive_inputs (d)specialize polynomial_product_length_positive_inputs (e)specialize polynomial_product_length_positive_inputs (N)apply polynomial_product_length_positive_inputsexact hcopy_right_right_leftspecialize prime_field_convolution_coefficient_leading (p)specialize prime_field_convolution_coefficient_leading (ab)specialize prime_field_convolution_coefficient_leading (ac)specialize prime_field_convolution_coefficient_leading (d)specialize prime_field_convolution_coefficient_leading (bb)specialize prime_field_convolution_coefficient_leading (bc)specialize prime_field_convolution_coefficient_leading (e)specialize prime_field_convolution_coefficient_leading (a)specialize prime_field_convolution_coefficient_leading (b)specialize prime_field_convolution_coefficient_leading (r)apply prime_field_convolution_coefficient_leadingexact hcopy_leftexact hcopy_right_leftexact haexact hbspecialize prime_field_polynomial_convolution_entry (p)specialize prime_field_polynomial_convolution_entry (ab)specialize prime_field_polynomial_convolution_entry (ac)specialize prime_field_polynomial_convolution_entry (S d)specialize prime_field_polynomial_convolution_entry (bb)specialize prime_field_polynomial_convolution_entry (bc)specialize prime_field_polynomial_convolution_entry (S e)specialize prime_field_polynomial_convolution_entry (cb)specialize prime_field_polynomial_convolution_entry (cc)specialize prime_field_polynomial_convolution_entry (N)specialize prime_field_polynomial_convolution_entry (0)specialize prime_field_polynomial_convolution_entry (r)apply prime_field_polynomial_convolution_entryexact hrewrite hlenexists d+esimpexact hr
prime_field_nonzero_coprime · unchanged support, not a new admission
forall p a. (~((p) = 1) /\ forall pfa_factor_left_coprime_domain pfa_factor_right_coprime_domain. (p) = pfa_factor_left_coprime_domain * pfa_factor_right_coprime_domain -> pfa_factor_left_coprime_domain = 1 \/ pfa_factor_right_coprime_domain = 1) -> (exists pfa_gap_coprime_bound. pfa_gap_coprime_bound + S (a) = (p)) -> ~(a = 0) -> (forall pfa_divisor_coprime_result. (exists pfa_left_factor_coprime_result. (a) = pfa_divisor_coprime_result * pfa_left_factor_coprime_result) -> (exists pfa_right_factor_coprime_result. (p) = pfa_divisor_coprime_result * pfa_right_factor_coprime_result) -> pfa_divisor_coprime_result = 1)
intro pintro aintro hpintro haintro hnhave hi : exists b. (((~((a) = 0)) /\ ((((exists pfa_gap_coprime_inversemultiplicationleft. pfa_gap_coprime_inversemultiplicationleft + S (a) = (p)) /\ (((exists pfa_gap_coprime_inversemultiplicationright. pfa_gap_coprime_inversemultiplicationright + S (b) = (p)) /\ ((((exists pfa_gap_coprime_inversemultiplicationresultbound. pfa_gap_coprime_inversemultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_coprime_inversemultiplicationresultcongruence pfa_offset_right_coprime_inversemultiplicationresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_coprime_inversemultiplicationresultcongruence = (1) + (p) * pfa_offset_right_coprime_inversemultiplicationresultcongruence))))))))))))specialize prime_field_inverse_exists (p)specialize prime_field_inverse_exists (a)apply prime_field_inverse_existsexact hpexact haexact hncases hicases hi_witnesscases hi_witness_rightcases hi_witness_right_rightcases hi_witness_right_right_rightspecialize mod_inverse_implies_coprime (a)specialize mod_inverse_implies_coprime (p)specialize mod_inverse_implies_coprime (x)apply mod_inverse_implies_coprimeexact hi_witness_right_right_right_right
prime_field_multiply_cancel_nonzero_left · unchanged support, not a new admission
forall p a b c z. (~((p) = 1) /\ forall pfa_factor_left_cancel_mul_domain pfa_factor_right_cancel_mul_domain. (p) = pfa_factor_left_cancel_mul_domain * pfa_factor_right_cancel_mul_domain -> pfa_factor_left_cancel_mul_domain = 1 \/ pfa_factor_right_cancel_mul_domain = 1) -> ~(a = 0) -> (((exists pfa_gap_cancel_mul_firstleft. pfa_gap_cancel_mul_firstleft + S (a) = (p)) /\ (((exists pfa_gap_cancel_mul_firstright. pfa_gap_cancel_mul_firstright + S (b) = (p)) /\ ((((exists pfa_gap_cancel_mul_firstresultbound. pfa_gap_cancel_mul_firstresultbound + S (z) = (p)) /\ ((exists pfa_offset_left_cancel_mul_firstresultcongruence pfa_offset_right_cancel_mul_firstresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_cancel_mul_firstresultcongruence = (z) + (p) * pfa_offset_right_cancel_mul_firstresultcongruence))))))))) -> (((exists pfa_gap_cancel_mul_secondleft. pfa_gap_cancel_mul_secondleft + S (a) = (p)) /\ (((exists pfa_gap_cancel_mul_secondright. pfa_gap_cancel_mul_secondright + S (c) = (p)) /\ ((((exists pfa_gap_cancel_mul_secondresultbound. pfa_gap_cancel_mul_secondresultbound + S (z) = (p)) /\ ((exists pfa_offset_left_cancel_mul_secondresultcongruence pfa_offset_right_cancel_mul_secondresultcongruence. ((a) * (c)) + (p) * pfa_offset_left_cancel_mul_secondresultcongruence = (z) + (p) * pfa_offset_right_cancel_mul_secondresultcongruence))))))))) -> b = c
intro pintro aintro bintro cintro zintro hpintro hnintro hbintro hccases hbcases hb_rightcases hb_right_rightcases hccases hc_rightcases hc_right_rightspecialize mod_eq_bounded_unique (p)specialize mod_eq_bounded_unique (b)specialize mod_eq_bounded_unique (c)apply mod_eq_bounded_uniqueexact hb_right_leftexact hc_right_leftspecialize mod_eq_cancel_coprime (p)specialize mod_eq_cancel_coprime (a)specialize mod_eq_cancel_coprime (b)specialize mod_eq_cancel_coprime (c)apply mod_eq_cancel_coprimeintro hzspecialize prime_nonzero (p)apply prime_nonzeroexact hpexact hzspecialize prime_field_nonzero_coprime (p)specialize prime_field_nonzero_coprime (a)apply prime_field_nonzero_coprimeexact hpexact hb_leftexact hnspecialize mod_eq_trans (p)specialize mod_eq_trans (a * b)specialize mod_eq_trans (z)specialize mod_eq_trans (a * c)apply mod_eq_transexact hb_right_right_rightspecialize mod_eq_symm (p)specialize mod_eq_symm (a * c)specialize mod_eq_symm (z)apply mod_eq_symmexact hc_right_right_right
prime_field_multiply_zero_right · unchanged support, not a new admission
forall p a. (~((p) = 1) /\ forall pfa_factor_left_multiply_zero_domain pfa_factor_right_multiply_zero_domain. (p) = pfa_factor_left_multiply_zero_domain * pfa_factor_right_multiply_zero_domain -> pfa_factor_left_multiply_zero_domain = 1 \/ pfa_factor_right_multiply_zero_domain = 1) -> (exists pfa_gap_multiply_zero_bound. pfa_gap_multiply_zero_bound + S (a) = (p)) -> (((exists pfa_gap_multiply_zeroleft. pfa_gap_multiply_zeroleft + S (a) = (p)) /\ (((exists pfa_gap_multiply_zeroright. pfa_gap_multiply_zeroright + S (0) = (p)) /\ ((((exists pfa_gap_multiply_zeroresultbound. pfa_gap_multiply_zeroresultbound + S (0) = (p)) /\ ((exists pfa_offset_left_multiply_zeroresultcongruence pfa_offset_right_multiply_zeroresultcongruence. ((a) * (0)) + (p) * pfa_offset_left_multiply_zeroresultcongruence = (0) + (p) * pfa_offset_right_multiply_zeroresultcongruence)))))))))
intro pintro aintro hpintro hahave hz : exists pfa_gap_multiply_zero_canonical. pfa_gap_multiply_zero_canonical + S (0) = (p)specialize prime_field_zero_below_prime (p)apply prime_field_zero_below_primeexact hpsplitexact hasplitexact hzsplitexact hzspecialize prime_field_mod_of_equal (p)specialize prime_field_mod_of_equal (a * 0)specialize prime_field_mod_of_equal (0)apply prime_field_mod_of_equalapply PA5
prime_field_no_zero_divisors · unchanged support, not a new admission
forall p a b. (~((p) = 1) /\ forall pfa_factor_left_no_zero_divisors_domain pfa_factor_right_no_zero_divisors_domain. (p) = pfa_factor_left_no_zero_divisors_domain * pfa_factor_right_no_zero_divisors_domain -> pfa_factor_left_no_zero_divisors_domain = 1 \/ pfa_factor_right_no_zero_divisors_domain = 1) -> (((exists pfa_gap_no_zero_divisors_productleft. pfa_gap_no_zero_divisors_productleft + S (a) = (p)) /\ (((exists pfa_gap_no_zero_divisors_productright. pfa_gap_no_zero_divisors_productright + S (b) = (p)) /\ ((((exists pfa_gap_no_zero_divisors_productresultbound. pfa_gap_no_zero_divisors_productresultbound + S (0) = (p)) /\ ((exists pfa_offset_left_no_zero_divisors_productresultcongruence pfa_offset_right_no_zero_divisors_productresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_no_zero_divisors_productresultcongruence = (0) + (p) * pfa_offset_right_no_zero_divisors_productresultcongruence))))))))) -> a = 0 \/ b = 0
intro pintro aintro bintro hpintro hmhave hcases : a = 0 \/ ~(a = 0)specialize eq_decidable (a)specialize eq_decidable (0)apply eq_decidablecases hcasesleftexact hcases_leftrightspecialize prime_field_multiply_cancel_nonzero_left (p)specialize prime_field_multiply_cancel_nonzero_left (a)specialize prime_field_multiply_cancel_nonzero_left (b)specialize prime_field_multiply_cancel_nonzero_left (0)specialize prime_field_multiply_cancel_nonzero_left (0)apply prime_field_multiply_cancel_nonzero_leftexact hpexact hcases_rightexact hmspecialize prime_field_multiply_zero_right (p)specialize prime_field_multiply_zero_right (a)apply prime_field_multiply_zero_rightexact hpcases hmexact hm_left
prime_field_polynomial_convolution_represented_degree · unchanged support, not a new admission
forall p ab ac L d bb bc M e cb cc N. (~((p) = 1) /\ forall pfa_factor_left_degree_product_prime pfa_factor_right_degree_product_prime. (p) = pfa_factor_left_degree_product_prime * pfa_factor_right_degree_product_prime -> pfa_factor_left_degree_product_prime = 1 \/ pfa_factor_right_degree_product_prime = 1) -> ((((L)=S (d)) /\ (((forall fom_index_pfp_degree_product_leftcoefficients. (exists fom_gap_pfp_degree_product_leftcoefficients_index_bound. fom_gap_pfp_degree_product_leftcoefficients_index_bound + S (fom_index_pfp_degree_product_leftcoefficients) = L) -> exists fom_value_pfp_degree_product_leftcoefficients. ((((exists fom_beta_height_pfp_degree_product_leftcoefficients_entry. fom_beta_height_pfp_degree_product_leftcoefficients_entry + S (fom_value_pfp_degree_product_leftcoefficients) = S ((S (fom_index_pfp_degree_product_leftcoefficients)) * ac)) /\ exists fom_beta_quotient_pfp_degree_product_leftcoefficients_entry. ab = fom_beta_quotient_pfp_degree_product_leftcoefficients_entry * S ((S (fom_index_pfp_degree_product_leftcoefficients)) * ac) + (fom_value_pfp_degree_product_leftcoefficients))) /\ (exists fom_gap_pfp_degree_product_leftcoefficients_value_bound. fom_gap_pfp_degree_product_leftcoefficients_value_bound + S (fom_value_pfp_degree_product_leftcoefficients) = p))) /\ ((exists pfd_leading_degree_product_left. ((((exists ff_h_pfp_degree_product_leftentry. ff_h_pfp_degree_product_leftentry + S (pfd_leading_degree_product_left) = S ((S (0)) * ac)) /\ exists ff_q_pfp_degree_product_leftentry. ab = ff_q_pfp_degree_product_leftentry * S ((S (0)) * ac) + (pfd_leading_degree_product_left))) /\ ((~(pfd_leading_degree_product_left=0)))))))))) -> ((((M)=S (e)) /\ (((forall fom_index_pfp_degree_product_rightcoefficients. (exists fom_gap_pfp_degree_product_rightcoefficients_index_bound. fom_gap_pfp_degree_product_rightcoefficients_index_bound + S (fom_index_pfp_degree_product_rightcoefficients) = M) -> exists fom_value_pfp_degree_product_rightcoefficients. ((((exists fom_beta_height_pfp_degree_product_rightcoefficients_entry. fom_beta_height_pfp_degree_product_rightcoefficients_entry + S (fom_value_pfp_degree_product_rightcoefficients) = S ((S (fom_index_pfp_degree_product_rightcoefficients)) * bc)) /\ exists fom_beta_quotient_pfp_degree_product_rightcoefficients_entry. bb = fom_beta_quotient_pfp_degree_product_rightcoefficients_entry * S ((S (fom_index_pfp_degree_product_rightcoefficients)) * bc) + (fom_value_pfp_degree_product_rightcoefficients))) /\ (exists fom_gap_pfp_degree_product_rightcoefficients_value_bound. fom_gap_pfp_degree_product_rightcoefficients_value_bound + S (fom_value_pfp_degree_product_rightcoefficients) = p))) /\ ((exists pfd_leading_degree_product_right. ((((exists ff_h_pfp_degree_product_rightentry. ff_h_pfp_degree_product_rightentry + S (pfd_leading_degree_product_right) = S ((S (0)) * bc)) /\ exists ff_q_pfp_degree_product_rightentry. bb = ff_q_pfp_degree_product_rightentry * S ((S (0)) * bc) + (pfd_leading_degree_product_right))) /\ ((~(pfd_leading_degree_product_right=0)))))))))) -> (((forall fom_index_pfp_degree_product_actualleft. (exists fom_gap_pfp_degree_product_actualleft_index_bound. fom_gap_pfp_degree_product_actualleft_index_bound + S (fom_index_pfp_degree_product_actualleft) = L) -> exists fom_value_pfp_degree_product_actualleft. ((((exists fom_beta_height_pfp_degree_product_actualleft_entry. fom_beta_height_pfp_degree_product_actualleft_entry + S (fom_value_pfp_degree_product_actualleft) = S ((S (fom_index_pfp_degree_product_actualleft)) * ac)) /\ exists fom_beta_quotient_pfp_degree_product_actualleft_entry. ab = fom_beta_quotient_pfp_degree_product_actualleft_entry * S ((S (fom_index_pfp_degree_product_actualleft)) * ac) + (fom_value_pfp_degree_product_actualleft))) /\ (exists fom_gap_pfp_degree_product_actualleft_value_bound. fom_gap_pfp_degree_product_actualleft_value_bound + S (fom_value_pfp_degree_product_actualleft) = p))) /\ (((forall fom_index_pfp_degree_product_actualright. (exists fom_gap_pfp_degree_product_actualright_index_bound. fom_gap_pfp_degree_product_actualright_index_bound + S (fom_index_pfp_degree_product_actualright) = M) -> exists fom_value_pfp_degree_product_actualright. ((((exists fom_beta_height_pfp_degree_product_actualright_entry. fom_beta_height_pfp_degree_product_actualright_entry + S (fom_value_pfp_degree_product_actualright) = S ((S (fom_index_pfp_degree_product_actualright)) * bc)) /\ exists fom_beta_quotient_pfp_degree_product_actualright_entry. bb = fom_beta_quotient_pfp_degree_product_actualright_entry * S ((S (fom_index_pfp_degree_product_actualright)) * bc) + (fom_value_pfp_degree_product_actualright))) /\ (exists fom_gap_pfp_degree_product_actualright_value_bound. fom_gap_pfp_degree_product_actualright_value_bound + S (fom_value_pfp_degree_product_actualright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_degree_product_actualcoefficients. (exists pfa_gap_degree_product_actualcoefficientsbound. pfa_gap_degree_product_actualcoefficientsbound + S (pfc_index_degree_product_actualcoefficients) = (N)) -> exists pfc_value_degree_product_actualcoefficients. ((((exists ff_h_pfp_degree_product_actualcoefficientsentry. ff_h_pfp_degree_product_actualcoefficientsentry + S (pfc_value_degree_product_actualcoefficients) = S ((S (pfc_index_degree_product_actualcoefficients)) * cc)) /\ exists ff_q_pfp_degree_product_actualcoefficientsentry. cb = ff_q_pfp_degree_product_actualcoefficientsentry * S ((S (pfc_index_degree_product_actualcoefficients)) * cc) + (pfc_value_degree_product_actualcoefficients))) /\ ((exists pfc_terms_code_degree_product_actualcoefficientscoefficient pfc_terms_scale_degree_product_actualcoefficientscoefficient pfc_natural_sum_degree_product_actualcoefficientscoefficient. ((forall pfc_index_degree_product_actualcoefficientscoefficientdiagonal. (exists pfa_gap_degree_product_actualcoefficientscoefficientdiagonalbound. pfa_gap_degree_product_actualcoefficientscoefficientdiagonalbound + S (pfc_index_degree_product_actualcoefficientscoefficientdiagonal) = (S (pfc_index_degree_product_actualcoefficients))) -> exists pfc_value_degree_product_actualcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_degree_product_actualcoefficientscoefficientdiagonalentry. ff_h_pfp_degree_product_actualcoefficientscoefficientdiagonalentry + S (pfc_value_degree_product_actualcoefficientscoefficientdiagonal) = S ((S (pfc_index_degree_product_actualcoefficientscoefficientdiagonal)) * pfc_terms_scale_degree_product_actualcoefficientscoefficient)) /\ exists ff_q_pfp_degree_product_actualcoefficientscoefficientdiagonalentry. pfc_terms_code_degree_product_actualcoefficientscoefficient = ff_q_pfp_degree_product_actualcoefficientscoefficientdiagonalentry * S ((S (pfc_index_degree_product_actualcoefficientscoefficientdiagonal)) * pfc_terms_scale_degree_product_actualcoefficientscoefficient) + (pfc_value_degree_product_actualcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_degree_product_actualcoefficientscoefficientdiagonalterm pfc_left_degree_product_actualcoefficientscoefficientdiagonalterm pfc_right_degree_product_actualcoefficientscoefficientdiagonalterm. (((pfc_index_degree_product_actualcoefficientscoefficientdiagonal)+pfc_complement_degree_product_actualcoefficientscoefficientdiagonalterm=(pfc_index_degree_product_actualcoefficients)) /\ ((((((exists pfa_gap_degree_product_actualcoefficientscoefficientdiagonaltermleftinside. pfa_gap_degree_product_actualcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_degree_product_actualcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_degree_product_actualcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_degree_product_actualcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_degree_product_actualcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_degree_product_actualcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_degree_product_actualcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_degree_product_actualcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_degree_product_actualcoefficientscoefficientdiagonal)) * ac) + (pfc_left_degree_product_actualcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_degree_product_actualcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_degree_product_actualcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_degree_product_actualcoefficientscoefficientdiagonal)) /\ (((pfc_left_degree_product_actualcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_degree_product_actualcoefficientscoefficientdiagonaltermrightinside. pfa_gap_degree_product_actualcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_degree_product_actualcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_degree_product_actualcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_degree_product_actualcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_degree_product_actualcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_degree_product_actualcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_degree_product_actualcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_degree_product_actualcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_degree_product_actualcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_degree_product_actualcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_degree_product_actualcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_degree_product_actualcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_degree_product_actualcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_degree_product_actualcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_degree_product_actualcoefficientscoefficientdiagonal)=pfc_left_degree_product_actualcoefficientscoefficientdiagonalterm*pfc_right_degree_product_actualcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_degree_product_actualcoefficientscoefficientsum fs_v_pfc_degree_product_actualcoefficientscoefficientsum. ((((exists fs_h_pfc_degree_product_actualcoefficientscoefficientsum_body_start. fs_h_pfc_degree_product_actualcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_degree_product_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_actualcoefficientscoefficientsum_body_start. fs_u_pfc_degree_product_actualcoefficientscoefficientsum = fs_q_pfc_degree_product_actualcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_degree_product_actualcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_degree_product_actualcoefficientscoefficientsum_body_terminal. fs_h_pfc_degree_product_actualcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_degree_product_actualcoefficientscoefficient) = S ((S (S (pfc_index_degree_product_actualcoefficients))) * fs_v_pfc_degree_product_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_actualcoefficientscoefficientsum_body_terminal. fs_u_pfc_degree_product_actualcoefficientscoefficientsum = fs_q_pfc_degree_product_actualcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_degree_product_actualcoefficients))) * fs_v_pfc_degree_product_actualcoefficientscoefficientsum) + (pfc_natural_sum_degree_product_actualcoefficientscoefficient))) /\ forall fs_i_pfc_degree_product_actualcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_degree_product_actualcoefficientscoefficientsum_body_steps = S (pfc_index_degree_product_actualcoefficients)) -> exists fs_a_pfc_degree_product_actualcoefficientscoefficientsum_body_steps fs_r_pfc_degree_product_actualcoefficientscoefficientsum_body_steps fs_s_pfc_degree_product_actualcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_degree_product_actualcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_degree_product_actualcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_degree_product_actualcoefficientscoefficient)) /\ exists fs_q_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_degree_product_actualcoefficientscoefficient = fs_q_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_degree_product_actualcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_degree_product_actualcoefficientscoefficient) + (fs_a_pfc_degree_product_actualcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_degree_product_actualcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_degree_product_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_degree_product_actualcoefficientscoefficientsum = fs_q_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_degree_product_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_actualcoefficientscoefficientsum) + (fs_r_pfc_degree_product_actualcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_degree_product_actualcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_degree_product_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_actualcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_degree_product_actualcoefficientscoefficientsum = fs_q_pfc_degree_product_actualcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_degree_product_actualcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_actualcoefficientscoefficientsum) + (fs_s_pfc_degree_product_actualcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_degree_product_actualcoefficientscoefficientsum_body_steps = fs_r_pfc_degree_product_actualcoefficientscoefficientsum_body_steps + fs_a_pfc_degree_product_actualcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_degree_product_actualcoefficientscoefficientresiduebound. pfa_gap_degree_product_actualcoefficientscoefficientresiduebound + S (pfc_value_degree_product_actualcoefficients) = (p)) /\ ((exists pfa_offset_left_degree_product_actualcoefficientscoefficientresiduecongruence pfa_offset_right_degree_product_actualcoefficientscoefficientresiduecongruence. (pfc_natural_sum_degree_product_actualcoefficientscoefficient) + (p) * pfa_offset_left_degree_product_actualcoefficientscoefficientresiduecongruence = (pfc_value_degree_product_actualcoefficients) + (p) * pfa_offset_right_degree_product_actualcoefficientscoefficientresiduecongruence))))))))))))))))))) -> ((((N)=S (d+e)) /\ (((forall fom_index_pfp_degree_product_resultcoefficients. (exists fom_gap_pfp_degree_product_resultcoefficients_index_bound. fom_gap_pfp_degree_product_resultcoefficients_index_bound + S (fom_index_pfp_degree_product_resultcoefficients) = N) -> exists fom_value_pfp_degree_product_resultcoefficients. ((((exists fom_beta_height_pfp_degree_product_resultcoefficients_entry. fom_beta_height_pfp_degree_product_resultcoefficients_entry + S (fom_value_pfp_degree_product_resultcoefficients) = S ((S (fom_index_pfp_degree_product_resultcoefficients)) * cc)) /\ exists fom_beta_quotient_pfp_degree_product_resultcoefficients_entry. cb = fom_beta_quotient_pfp_degree_product_resultcoefficients_entry * S ((S (fom_index_pfp_degree_product_resultcoefficients)) * cc) + (fom_value_pfp_degree_product_resultcoefficients))) /\ (exists fom_gap_pfp_degree_product_resultcoefficients_value_bound. fom_gap_pfp_degree_product_resultcoefficients_value_bound + S (fom_value_pfp_degree_product_resultcoefficients) = p))) /\ ((exists pfd_leading_degree_product_result. ((((exists ff_h_pfp_degree_product_resultentry. ff_h_pfp_degree_product_resultentry + S (pfd_leading_degree_product_result) = S ((S (0)) * cc)) /\ exists ff_q_pfp_degree_product_resultentry. cb = ff_q_pfp_degree_product_resultentry * S ((S (0)) * cc) + (pfd_leading_degree_product_result))) /\ ((~(pfd_leading_degree_product_result=0))))))))))
intro pintro abintro acintro Lintro dintro bbintro bcintro Mintro eintro cbintro ccintro Nintro hpintro haintro hbintro hccases hacases ha_rightcases hbcases hb_righthave hcopy : ((forall fom_index_pfp_degree_product_copyleft. (exists fom_gap_pfp_degree_product_copyleft_index_bound. fom_gap_pfp_degree_product_copyleft_index_bound + S (fom_index_pfp_degree_product_copyleft) = L) -> exists fom_value_pfp_degree_product_copyleft. ((((exists fom_beta_height_pfp_degree_product_copyleft_entry. fom_beta_height_pfp_degree_product_copyleft_entry + S (fom_value_pfp_degree_product_copyleft) = S ((S (fom_index_pfp_degree_product_copyleft)) * ac)) /\ exists fom_beta_quotient_pfp_degree_product_copyleft_entry. ab = fom_beta_quotient_pfp_degree_product_copyleft_entry * S ((S (fom_index_pfp_degree_product_copyleft)) * ac) + (fom_value_pfp_degree_product_copyleft))) /\ (exists fom_gap_pfp_degree_product_copyleft_value_bound. fom_gap_pfp_degree_product_copyleft_value_bound + S (fom_value_pfp_degree_product_copyleft) = p))) /\ (((forall fom_index_pfp_degree_product_copyright. (exists fom_gap_pfp_degree_product_copyright_index_bound. fom_gap_pfp_degree_product_copyright_index_bound + S (fom_index_pfp_degree_product_copyright) = M) -> exists fom_value_pfp_degree_product_copyright. ((((exists fom_beta_height_pfp_degree_product_copyright_entry. fom_beta_height_pfp_degree_product_copyright_entry + S (fom_value_pfp_degree_product_copyright) = S ((S (fom_index_pfp_degree_product_copyright)) * bc)) /\ exists fom_beta_quotient_pfp_degree_product_copyright_entry. bb = fom_beta_quotient_pfp_degree_product_copyright_entry * S ((S (fom_index_pfp_degree_product_copyright)) * bc) + (fom_value_pfp_degree_product_copyright))) /\ (exists fom_gap_pfp_degree_product_copyright_value_bound. fom_gap_pfp_degree_product_copyright_value_bound + S (fom_value_pfp_degree_product_copyright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_degree_product_copycoefficients. (exists pfa_gap_degree_product_copycoefficientsbound. pfa_gap_degree_product_copycoefficientsbound + S (pfc_index_degree_product_copycoefficients) = (N)) -> exists pfc_value_degree_product_copycoefficients. ((((exists ff_h_pfp_degree_product_copycoefficientsentry. ff_h_pfp_degree_product_copycoefficientsentry + S (pfc_value_degree_product_copycoefficients) = S ((S (pfc_index_degree_product_copycoefficients)) * cc)) /\ exists ff_q_pfp_degree_product_copycoefficientsentry. cb = ff_q_pfp_degree_product_copycoefficientsentry * S ((S (pfc_index_degree_product_copycoefficients)) * cc) + (pfc_value_degree_product_copycoefficients))) /\ ((exists pfc_terms_code_degree_product_copycoefficientscoefficient pfc_terms_scale_degree_product_copycoefficientscoefficient pfc_natural_sum_degree_product_copycoefficientscoefficient. ((forall pfc_index_degree_product_copycoefficientscoefficientdiagonal. (exists pfa_gap_degree_product_copycoefficientscoefficientdiagonalbound. pfa_gap_degree_product_copycoefficientscoefficientdiagonalbound + S (pfc_index_degree_product_copycoefficientscoefficientdiagonal) = (S (pfc_index_degree_product_copycoefficients))) -> exists pfc_value_degree_product_copycoefficientscoefficientdiagonal. ((((exists ff_h_pfp_degree_product_copycoefficientscoefficientdiagonalentry. ff_h_pfp_degree_product_copycoefficientscoefficientdiagonalentry + S (pfc_value_degree_product_copycoefficientscoefficientdiagonal) = S ((S (pfc_index_degree_product_copycoefficientscoefficientdiagonal)) * pfc_terms_scale_degree_product_copycoefficientscoefficient)) /\ exists ff_q_pfp_degree_product_copycoefficientscoefficientdiagonalentry. pfc_terms_code_degree_product_copycoefficientscoefficient = ff_q_pfp_degree_product_copycoefficientscoefficientdiagonalentry * S ((S (pfc_index_degree_product_copycoefficientscoefficientdiagonal)) * pfc_terms_scale_degree_product_copycoefficientscoefficient) + (pfc_value_degree_product_copycoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_degree_product_copycoefficientscoefficientdiagonalterm pfc_left_degree_product_copycoefficientscoefficientdiagonalterm pfc_right_degree_product_copycoefficientscoefficientdiagonalterm. (((pfc_index_degree_product_copycoefficientscoefficientdiagonal)+pfc_complement_degree_product_copycoefficientscoefficientdiagonalterm=(pfc_index_degree_product_copycoefficients)) /\ ((((((exists pfa_gap_degree_product_copycoefficientscoefficientdiagonaltermleftinside. pfa_gap_degree_product_copycoefficientscoefficientdiagonaltermleftinside + S (pfc_index_degree_product_copycoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_degree_product_copycoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_degree_product_copycoefficientscoefficientdiagonaltermleftentry + S (pfc_left_degree_product_copycoefficientscoefficientdiagonalterm) = S ((S (pfc_index_degree_product_copycoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_degree_product_copycoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_degree_product_copycoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_degree_product_copycoefficientscoefficientdiagonal)) * ac) + (pfc_left_degree_product_copycoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_degree_product_copycoefficientscoefficientdiagonaltermleftoutside. pfc_gap_degree_product_copycoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_degree_product_copycoefficientscoefficientdiagonal)) /\ (((pfc_left_degree_product_copycoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_degree_product_copycoefficientscoefficientdiagonaltermrightinside. pfa_gap_degree_product_copycoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_degree_product_copycoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_degree_product_copycoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_degree_product_copycoefficientscoefficientdiagonaltermrightentry + S (pfc_right_degree_product_copycoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_degree_product_copycoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_degree_product_copycoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_degree_product_copycoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_degree_product_copycoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_degree_product_copycoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_degree_product_copycoefficientscoefficientdiagonaltermrightoutside. pfc_gap_degree_product_copycoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_degree_product_copycoefficientscoefficientdiagonalterm)) /\ (((pfc_right_degree_product_copycoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_degree_product_copycoefficientscoefficientdiagonal)=pfc_left_degree_product_copycoefficientscoefficientdiagonalterm*pfc_right_degree_product_copycoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_degree_product_copycoefficientscoefficientsum fs_v_pfc_degree_product_copycoefficientscoefficientsum. ((((exists fs_h_pfc_degree_product_copycoefficientscoefficientsum_body_start. fs_h_pfc_degree_product_copycoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_degree_product_copycoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_copycoefficientscoefficientsum_body_start. fs_u_pfc_degree_product_copycoefficientscoefficientsum = fs_q_pfc_degree_product_copycoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_degree_product_copycoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_degree_product_copycoefficientscoefficientsum_body_terminal. fs_h_pfc_degree_product_copycoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_degree_product_copycoefficientscoefficient) = S ((S (S (pfc_index_degree_product_copycoefficients))) * fs_v_pfc_degree_product_copycoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_copycoefficientscoefficientsum_body_terminal. fs_u_pfc_degree_product_copycoefficientscoefficientsum = fs_q_pfc_degree_product_copycoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_degree_product_copycoefficients))) * fs_v_pfc_degree_product_copycoefficientscoefficientsum) + (pfc_natural_sum_degree_product_copycoefficientscoefficient))) /\ forall fs_i_pfc_degree_product_copycoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_degree_product_copycoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_degree_product_copycoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_degree_product_copycoefficientscoefficientsum_body_steps = S (pfc_index_degree_product_copycoefficients)) -> exists fs_a_pfc_degree_product_copycoefficientscoefficientsum_body_steps fs_r_pfc_degree_product_copycoefficientscoefficientsum_body_steps fs_s_pfc_degree_product_copycoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_degree_product_copycoefficientscoefficientsum_body_steps_summand. fs_h_pfc_degree_product_copycoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_degree_product_copycoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_degree_product_copycoefficientscoefficientsum_body_steps)) * pfc_terms_scale_degree_product_copycoefficientscoefficient)) /\ exists fs_q_pfc_degree_product_copycoefficientscoefficientsum_body_steps_summand. pfc_terms_code_degree_product_copycoefficientscoefficient = fs_q_pfc_degree_product_copycoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_degree_product_copycoefficientscoefficientsum_body_steps)) * pfc_terms_scale_degree_product_copycoefficientscoefficient) + (fs_a_pfc_degree_product_copycoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_degree_product_copycoefficientscoefficientsum_body_steps_partial. fs_h_pfc_degree_product_copycoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_degree_product_copycoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_degree_product_copycoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_copycoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_copycoefficientscoefficientsum_body_steps_partial. fs_u_pfc_degree_product_copycoefficientscoefficientsum = fs_q_pfc_degree_product_copycoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_degree_product_copycoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_copycoefficientscoefficientsum) + (fs_r_pfc_degree_product_copycoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_degree_product_copycoefficientscoefficientsum_body_steps_successor. fs_h_pfc_degree_product_copycoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_degree_product_copycoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_degree_product_copycoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_copycoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_copycoefficientscoefficientsum_body_steps_successor. fs_u_pfc_degree_product_copycoefficientscoefficientsum = fs_q_pfc_degree_product_copycoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_degree_product_copycoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_copycoefficientscoefficientsum) + (fs_s_pfc_degree_product_copycoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_degree_product_copycoefficientscoefficientsum_body_steps = fs_r_pfc_degree_product_copycoefficientscoefficientsum_body_steps + fs_a_pfc_degree_product_copycoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_degree_product_copycoefficientscoefficientresiduebound. pfa_gap_degree_product_copycoefficientscoefficientresiduebound + S (pfc_value_degree_product_copycoefficients) = (p)) /\ ((exists pfa_offset_left_degree_product_copycoefficientscoefficientresiduecongruence pfa_offset_right_degree_product_copycoefficientscoefficientresiduecongruence. (pfc_natural_sum_degree_product_copycoefficientscoefficient) + (p) * pfa_offset_left_degree_product_copycoefficientscoefficientresiduecongruence = (pfc_value_degree_product_copycoefficients) + (p) * pfa_offset_right_degree_product_copycoefficientscoefficientresiduecongruence))))))))))))))))))exact hccases hcopycases hcopy_rightcases hcopy_right_righthave hl : ((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))exact hcopy_right_right_leftrewrite ha_left at hlrewrite ha_left at hlrewrite ha_left at hlrewrite hb_left at hlrewrite hb_left at hlrewrite hb_left at hlhave hlen : N=S (d+e)specialize polynomial_product_length_positive_inputs (d)specialize polynomial_product_length_positive_inputs (e)specialize polynomial_product_length_positive_inputs (N)apply polynomial_product_length_positive_inputsexact hlsplitexact hlensplitspecialize prime_field_polynomial_convolution_bounded (p)specialize prime_field_polynomial_convolution_bounded (ab)specialize prime_field_polynomial_convolution_bounded (ac)specialize prime_field_polynomial_convolution_bounded (L)specialize prime_field_polynomial_convolution_bounded (bb)specialize prime_field_polynomial_convolution_bounded (bc)specialize prime_field_polynomial_convolution_bounded (M)specialize prime_field_polynomial_convolution_bounded (cb)specialize prime_field_polynomial_convolution_bounded (cc)specialize prime_field_polynomial_convolution_bounded (N)apply prime_field_polynomial_convolution_boundedexact hccases ha_right_rightcases ha_right_right_witnesscases hb_right_rightcases hb_right_right_witnesshave hout : exists r. (((exists ff_h_pfp_degree_product_output. ff_h_pfp_degree_product_output + S (r) = S ((S (0)) * cc)) /\ exists ff_q_pfp_degree_product_output. cb = ff_q_pfp_degree_product_output * S ((S (0)) * cc) + (r)))specialize beta_at_exists (cb)specialize beta_at_exists (cc)specialize beta_at_exists (0)apply beta_at_existscases houtexists x2splitexact hout_witnessintro hzhave hcanon : ((forall fom_index_pfp_degree_product_canonicalleft. (exists fom_gap_pfp_degree_product_canonicalleft_index_bound. fom_gap_pfp_degree_product_canonicalleft_index_bound + S (fom_index_pfp_degree_product_canonicalleft) = S d) -> exists fom_value_pfp_degree_product_canonicalleft. ((((exists fom_beta_height_pfp_degree_product_canonicalleft_entry. fom_beta_height_pfp_degree_product_canonicalleft_entry + S (fom_value_pfp_degree_product_canonicalleft) = S ((S (fom_index_pfp_degree_product_canonicalleft)) * ac)) /\ exists fom_beta_quotient_pfp_degree_product_canonicalleft_entry. ab = fom_beta_quotient_pfp_degree_product_canonicalleft_entry * S ((S (fom_index_pfp_degree_product_canonicalleft)) * ac) + (fom_value_pfp_degree_product_canonicalleft))) /\ (exists fom_gap_pfp_degree_product_canonicalleft_value_bound. fom_gap_pfp_degree_product_canonicalleft_value_bound + S (fom_value_pfp_degree_product_canonicalleft) = p))) /\ (((forall fom_index_pfp_degree_product_canonicalright. (exists fom_gap_pfp_degree_product_canonicalright_index_bound. fom_gap_pfp_degree_product_canonicalright_index_bound + S (fom_index_pfp_degree_product_canonicalright) = S e) -> exists fom_value_pfp_degree_product_canonicalright. ((((exists fom_beta_height_pfp_degree_product_canonicalright_entry. fom_beta_height_pfp_degree_product_canonicalright_entry + S (fom_value_pfp_degree_product_canonicalright) = S ((S (fom_index_pfp_degree_product_canonicalright)) * bc)) /\ exists fom_beta_quotient_pfp_degree_product_canonicalright_entry. bb = fom_beta_quotient_pfp_degree_product_canonicalright_entry * S ((S (fom_index_pfp_degree_product_canonicalright)) * bc) + (fom_value_pfp_degree_product_canonicalright))) /\ (exists fom_gap_pfp_degree_product_canonicalright_value_bound. fom_gap_pfp_degree_product_canonicalright_value_bound + S (fom_value_pfp_degree_product_canonicalright) = p))) /\ (((((((S d)=0 \/ (S e)=0) /\ (((N)=0)))) \/ (((~((S d)=0)) /\ (((~((S e)=0)) /\ (((S d)+(S e)=S (N)))))))) /\ ((forall pfc_index_degree_product_canonicalcoefficients. (exists pfa_gap_degree_product_canonicalcoefficientsbound. pfa_gap_degree_product_canonicalcoefficientsbound + S (pfc_index_degree_product_canonicalcoefficients) = (N)) -> exists pfc_value_degree_product_canonicalcoefficients. ((((exists ff_h_pfp_degree_product_canonicalcoefficientsentry. ff_h_pfp_degree_product_canonicalcoefficientsentry + S (pfc_value_degree_product_canonicalcoefficients) = S ((S (pfc_index_degree_product_canonicalcoefficients)) * cc)) /\ exists ff_q_pfp_degree_product_canonicalcoefficientsentry. cb = ff_q_pfp_degree_product_canonicalcoefficientsentry * S ((S (pfc_index_degree_product_canonicalcoefficients)) * cc) + (pfc_value_degree_product_canonicalcoefficients))) /\ ((exists pfc_terms_code_degree_product_canonicalcoefficientscoefficient pfc_terms_scale_degree_product_canonicalcoefficientscoefficient pfc_natural_sum_degree_product_canonicalcoefficientscoefficient. ((forall pfc_index_degree_product_canonicalcoefficientscoefficientdiagonal. (exists pfa_gap_degree_product_canonicalcoefficientscoefficientdiagonalbound. pfa_gap_degree_product_canonicalcoefficientscoefficientdiagonalbound + S (pfc_index_degree_product_canonicalcoefficientscoefficientdiagonal) = (S (pfc_index_degree_product_canonicalcoefficients))) -> exists pfc_value_degree_product_canonicalcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_degree_product_canonicalcoefficientscoefficientdiagonalentry. ff_h_pfp_degree_product_canonicalcoefficientscoefficientdiagonalentry + S (pfc_value_degree_product_canonicalcoefficientscoefficientdiagonal) = S ((S (pfc_index_degree_product_canonicalcoefficientscoefficientdiagonal)) * pfc_terms_scale_degree_product_canonicalcoefficientscoefficient)) /\ exists ff_q_pfp_degree_product_canonicalcoefficientscoefficientdiagonalentry. pfc_terms_code_degree_product_canonicalcoefficientscoefficient = ff_q_pfp_degree_product_canonicalcoefficientscoefficientdiagonalentry * S ((S (pfc_index_degree_product_canonicalcoefficientscoefficientdiagonal)) * pfc_terms_scale_degree_product_canonicalcoefficientscoefficient) + (pfc_value_degree_product_canonicalcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_degree_product_canonicalcoefficientscoefficientdiagonalterm pfc_left_degree_product_canonicalcoefficientscoefficientdiagonalterm pfc_right_degree_product_canonicalcoefficientscoefficientdiagonalterm. (((pfc_index_degree_product_canonicalcoefficientscoefficientdiagonal)+pfc_complement_degree_product_canonicalcoefficientscoefficientdiagonalterm=(pfc_index_degree_product_canonicalcoefficients)) /\ ((((((exists pfa_gap_degree_product_canonicalcoefficientscoefficientdiagonaltermleftinside. pfa_gap_degree_product_canonicalcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_degree_product_canonicalcoefficientscoefficientdiagonal) = (S d)) /\ ((((exists ff_h_pfp_degree_product_canonicalcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_degree_product_canonicalcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_degree_product_canonicalcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_degree_product_canonicalcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_degree_product_canonicalcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_degree_product_canonicalcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_degree_product_canonicalcoefficientscoefficientdiagonal)) * ac) + (pfc_left_degree_product_canonicalcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_degree_product_canonicalcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_degree_product_canonicalcoefficientscoefficientdiagonaltermleftoutside+(S d)=(pfc_index_degree_product_canonicalcoefficientscoefficientdiagonal)) /\ (((pfc_left_degree_product_canonicalcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_degree_product_canonicalcoefficientscoefficientdiagonaltermrightinside. pfa_gap_degree_product_canonicalcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_degree_product_canonicalcoefficientscoefficientdiagonalterm) = (S e)) /\ ((((exists ff_h_pfp_degree_product_canonicalcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_degree_product_canonicalcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_degree_product_canonicalcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_degree_product_canonicalcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_degree_product_canonicalcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_degree_product_canonicalcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_degree_product_canonicalcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_degree_product_canonicalcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_degree_product_canonicalcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_degree_product_canonicalcoefficientscoefficientdiagonaltermrightoutside+(S e)=(pfc_complement_degree_product_canonicalcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_degree_product_canonicalcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_degree_product_canonicalcoefficientscoefficientdiagonal)=pfc_left_degree_product_canonicalcoefficientscoefficientdiagonalterm*pfc_right_degree_product_canonicalcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_degree_product_canonicalcoefficientscoefficientsum fs_v_pfc_degree_product_canonicalcoefficientscoefficientsum. ((((exists fs_h_pfc_degree_product_canonicalcoefficientscoefficientsum_body_start. fs_h_pfc_degree_product_canonicalcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_degree_product_canonicalcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_canonicalcoefficientscoefficientsum_body_start. fs_u_pfc_degree_product_canonicalcoefficientscoefficientsum = fs_q_pfc_degree_product_canonicalcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_degree_product_canonicalcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_degree_product_canonicalcoefficientscoefficientsum_body_terminal. fs_h_pfc_degree_product_canonicalcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_degree_product_canonicalcoefficientscoefficient) = S ((S (S (pfc_index_degree_product_canonicalcoefficients))) * fs_v_pfc_degree_product_canonicalcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_canonicalcoefficientscoefficientsum_body_terminal. fs_u_pfc_degree_product_canonicalcoefficientscoefficientsum = fs_q_pfc_degree_product_canonicalcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_degree_product_canonicalcoefficients))) * fs_v_pfc_degree_product_canonicalcoefficientscoefficientsum) + (pfc_natural_sum_degree_product_canonicalcoefficientscoefficient))) /\ forall fs_i_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps = S (pfc_index_degree_product_canonicalcoefficients)) -> exists fs_a_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps fs_r_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps fs_s_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_degree_product_canonicalcoefficientscoefficient)) /\ exists fs_q_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_degree_product_canonicalcoefficientscoefficient = fs_q_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_degree_product_canonicalcoefficientscoefficient) + (fs_a_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_canonicalcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_degree_product_canonicalcoefficientscoefficientsum = fs_q_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_canonicalcoefficientscoefficientsum) + (fs_r_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_canonicalcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_degree_product_canonicalcoefficientscoefficientsum = fs_q_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_canonicalcoefficientscoefficientsum) + (fs_s_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps = fs_r_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps + fs_a_pfc_degree_product_canonicalcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_degree_product_canonicalcoefficientscoefficientresiduebound. pfa_gap_degree_product_canonicalcoefficientscoefficientresiduebound + S (pfc_value_degree_product_canonicalcoefficients) = (p)) /\ ((exists pfa_offset_left_degree_product_canonicalcoefficientscoefficientresiduecongruence pfa_offset_right_degree_product_canonicalcoefficientscoefficientresiduecongruence. (pfc_natural_sum_degree_product_canonicalcoefficientscoefficient) + (p) * pfa_offset_left_degree_product_canonicalcoefficientscoefficientresiduecongruence = (pfc_value_degree_product_canonicalcoefficients) + (p) * pfa_offset_right_degree_product_canonicalcoefficientscoefficientresiduecongruence))))))))))))))))))have htemp : ((forall fom_index_pfp_degree_product_originalleft. (exists fom_gap_pfp_degree_product_originalleft_index_bound. fom_gap_pfp_degree_product_originalleft_index_bound + S (fom_index_pfp_degree_product_originalleft) = L) -> exists fom_value_pfp_degree_product_originalleft. ((((exists fom_beta_height_pfp_degree_product_originalleft_entry. fom_beta_height_pfp_degree_product_originalleft_entry + S (fom_value_pfp_degree_product_originalleft) = S ((S (fom_index_pfp_degree_product_originalleft)) * ac)) /\ exists fom_beta_quotient_pfp_degree_product_originalleft_entry. ab = fom_beta_quotient_pfp_degree_product_originalleft_entry * S ((S (fom_index_pfp_degree_product_originalleft)) * ac) + (fom_value_pfp_degree_product_originalleft))) /\ (exists fom_gap_pfp_degree_product_originalleft_value_bound. fom_gap_pfp_degree_product_originalleft_value_bound + S (fom_value_pfp_degree_product_originalleft) = p))) /\ (((forall fom_index_pfp_degree_product_originalright. (exists fom_gap_pfp_degree_product_originalright_index_bound. fom_gap_pfp_degree_product_originalright_index_bound + S (fom_index_pfp_degree_product_originalright) = M) -> exists fom_value_pfp_degree_product_originalright. ((((exists fom_beta_height_pfp_degree_product_originalright_entry. fom_beta_height_pfp_degree_product_originalright_entry + S (fom_value_pfp_degree_product_originalright) = S ((S (fom_index_pfp_degree_product_originalright)) * bc)) /\ exists fom_beta_quotient_pfp_degree_product_originalright_entry. bb = fom_beta_quotient_pfp_degree_product_originalright_entry * S ((S (fom_index_pfp_degree_product_originalright)) * bc) + (fom_value_pfp_degree_product_originalright))) /\ (exists fom_gap_pfp_degree_product_originalright_value_bound. fom_gap_pfp_degree_product_originalright_value_bound + S (fom_value_pfp_degree_product_originalright) = p))) /\ (((((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) /\ ((forall pfc_index_degree_product_originalcoefficients. (exists pfa_gap_degree_product_originalcoefficientsbound. pfa_gap_degree_product_originalcoefficientsbound + S (pfc_index_degree_product_originalcoefficients) = (N)) -> exists pfc_value_degree_product_originalcoefficients. ((((exists ff_h_pfp_degree_product_originalcoefficientsentry. ff_h_pfp_degree_product_originalcoefficientsentry + S (pfc_value_degree_product_originalcoefficients) = S ((S (pfc_index_degree_product_originalcoefficients)) * cc)) /\ exists ff_q_pfp_degree_product_originalcoefficientsentry. cb = ff_q_pfp_degree_product_originalcoefficientsentry * S ((S (pfc_index_degree_product_originalcoefficients)) * cc) + (pfc_value_degree_product_originalcoefficients))) /\ ((exists pfc_terms_code_degree_product_originalcoefficientscoefficient pfc_terms_scale_degree_product_originalcoefficientscoefficient pfc_natural_sum_degree_product_originalcoefficientscoefficient. ((forall pfc_index_degree_product_originalcoefficientscoefficientdiagonal. (exists pfa_gap_degree_product_originalcoefficientscoefficientdiagonalbound. pfa_gap_degree_product_originalcoefficientscoefficientdiagonalbound + S (pfc_index_degree_product_originalcoefficientscoefficientdiagonal) = (S (pfc_index_degree_product_originalcoefficients))) -> exists pfc_value_degree_product_originalcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_degree_product_originalcoefficientscoefficientdiagonalentry. ff_h_pfp_degree_product_originalcoefficientscoefficientdiagonalentry + S (pfc_value_degree_product_originalcoefficientscoefficientdiagonal) = S ((S (pfc_index_degree_product_originalcoefficientscoefficientdiagonal)) * pfc_terms_scale_degree_product_originalcoefficientscoefficient)) /\ exists ff_q_pfp_degree_product_originalcoefficientscoefficientdiagonalentry. pfc_terms_code_degree_product_originalcoefficientscoefficient = ff_q_pfp_degree_product_originalcoefficientscoefficientdiagonalentry * S ((S (pfc_index_degree_product_originalcoefficientscoefficientdiagonal)) * pfc_terms_scale_degree_product_originalcoefficientscoefficient) + (pfc_value_degree_product_originalcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_degree_product_originalcoefficientscoefficientdiagonalterm pfc_left_degree_product_originalcoefficientscoefficientdiagonalterm pfc_right_degree_product_originalcoefficientscoefficientdiagonalterm. (((pfc_index_degree_product_originalcoefficientscoefficientdiagonal)+pfc_complement_degree_product_originalcoefficientscoefficientdiagonalterm=(pfc_index_degree_product_originalcoefficients)) /\ ((((((exists pfa_gap_degree_product_originalcoefficientscoefficientdiagonaltermleftinside. pfa_gap_degree_product_originalcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_degree_product_originalcoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_degree_product_originalcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_degree_product_originalcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_degree_product_originalcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_degree_product_originalcoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_degree_product_originalcoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_degree_product_originalcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_degree_product_originalcoefficientscoefficientdiagonal)) * ac) + (pfc_left_degree_product_originalcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_degree_product_originalcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_degree_product_originalcoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_degree_product_originalcoefficientscoefficientdiagonal)) /\ (((pfc_left_degree_product_originalcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_degree_product_originalcoefficientscoefficientdiagonaltermrightinside. pfa_gap_degree_product_originalcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_degree_product_originalcoefficientscoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_degree_product_originalcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_degree_product_originalcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_degree_product_originalcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_degree_product_originalcoefficientscoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_degree_product_originalcoefficientscoefficientdiagonaltermrightentry. bb = ff_q_pfp_degree_product_originalcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_degree_product_originalcoefficientscoefficientdiagonalterm)) * bc) + (pfc_right_degree_product_originalcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_degree_product_originalcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_degree_product_originalcoefficientscoefficientdiagonaltermrightoutside+(M)=(pfc_complement_degree_product_originalcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_degree_product_originalcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_degree_product_originalcoefficientscoefficientdiagonal)=pfc_left_degree_product_originalcoefficientscoefficientdiagonalterm*pfc_right_degree_product_originalcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_degree_product_originalcoefficientscoefficientsum fs_v_pfc_degree_product_originalcoefficientscoefficientsum. ((((exists fs_h_pfc_degree_product_originalcoefficientscoefficientsum_body_start. fs_h_pfc_degree_product_originalcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_degree_product_originalcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_originalcoefficientscoefficientsum_body_start. fs_u_pfc_degree_product_originalcoefficientscoefficientsum = fs_q_pfc_degree_product_originalcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_degree_product_originalcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_degree_product_originalcoefficientscoefficientsum_body_terminal. fs_h_pfc_degree_product_originalcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_degree_product_originalcoefficientscoefficient) = S ((S (S (pfc_index_degree_product_originalcoefficients))) * fs_v_pfc_degree_product_originalcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_originalcoefficientscoefficientsum_body_terminal. fs_u_pfc_degree_product_originalcoefficientscoefficientsum = fs_q_pfc_degree_product_originalcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_degree_product_originalcoefficients))) * fs_v_pfc_degree_product_originalcoefficientscoefficientsum) + (pfc_natural_sum_degree_product_originalcoefficientscoefficient))) /\ forall fs_i_pfc_degree_product_originalcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_degree_product_originalcoefficientscoefficientsum_body_steps = S (pfc_index_degree_product_originalcoefficients)) -> exists fs_a_pfc_degree_product_originalcoefficientscoefficientsum_body_steps fs_r_pfc_degree_product_originalcoefficientscoefficientsum_body_steps fs_s_pfc_degree_product_originalcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_degree_product_originalcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_degree_product_originalcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_degree_product_originalcoefficientscoefficient)) /\ exists fs_q_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_degree_product_originalcoefficientscoefficient = fs_q_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_degree_product_originalcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_degree_product_originalcoefficientscoefficient) + (fs_a_pfc_degree_product_originalcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_degree_product_originalcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_degree_product_originalcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_originalcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_degree_product_originalcoefficientscoefficientsum = fs_q_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_degree_product_originalcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_originalcoefficientscoefficientsum) + (fs_r_pfc_degree_product_originalcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_degree_product_originalcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_degree_product_originalcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_originalcoefficientscoefficientsum)) /\ exists fs_q_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_degree_product_originalcoefficientscoefficientsum = fs_q_pfc_degree_product_originalcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_degree_product_originalcoefficientscoefficientsum_body_steps)) * fs_v_pfc_degree_product_originalcoefficientscoefficientsum) + (fs_s_pfc_degree_product_originalcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_degree_product_originalcoefficientscoefficientsum_body_steps = fs_r_pfc_degree_product_originalcoefficientscoefficientsum_body_steps + fs_a_pfc_degree_product_originalcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_degree_product_originalcoefficientscoefficientresiduebound. pfa_gap_degree_product_originalcoefficientscoefficientresiduebound + S (pfc_value_degree_product_originalcoefficients) = (p)) /\ ((exists pfa_offset_left_degree_product_originalcoefficientscoefficientresiduecongruence pfa_offset_right_degree_product_originalcoefficientscoefficientresiduecongruence. (pfc_natural_sum_degree_product_originalcoefficientscoefficient) + (p) * pfa_offset_left_degree_product_originalcoefficientscoefficientresiduecongruence = (pfc_value_degree_product_originalcoefficients) + (p) * pfa_offset_right_degree_product_originalcoefficientscoefficientresiduecongruence))))))))))))))))))exact hcrewrite ha_left at htemprewrite ha_left at htemprewrite ha_left at htemprewrite ha_left at htemprewrite ha_left at htemprewrite ha_left at htemprewrite hb_left at htemprewrite hb_left at htemprewrite hb_left at htemprewrite hb_left at htemprewrite hb_left at htemprewrite hb_left at htempexact htemphave hm : ((exists pfa_gap_degree_product_leading_mulleft. pfa_gap_degree_product_leading_mulleft + S (x) = (p)) /\ (((exists pfa_gap_degree_product_leading_mulright. pfa_gap_degree_product_leading_mulright + S (x1) = (p)) /\ ((((exists pfa_gap_degree_product_leading_mulresultbound. pfa_gap_degree_product_leading_mulresultbound + S (x2) = (p)) /\ ((exists pfa_offset_left_degree_product_leading_mulresultcongruence pfa_offset_right_degree_product_leading_mulresultcongruence. ((x) * (x1)) + (p) * pfa_offset_left_degree_product_leading_mulresultcongruence = (x2) + (p) * pfa_offset_right_degree_product_leading_mulresultcongruence))))))))specialize prime_field_polynomial_convolution_leading_coefficient (p)specialize prime_field_polynomial_convolution_leading_coefficient (ab)specialize prime_field_polynomial_convolution_leading_coefficient (ac)specialize prime_field_polynomial_convolution_leading_coefficient (d)specialize prime_field_polynomial_convolution_leading_coefficient (bb)specialize prime_field_polynomial_convolution_leading_coefficient (bc)specialize prime_field_polynomial_convolution_leading_coefficient (e)specialize prime_field_polynomial_convolution_leading_coefficient (cb)specialize prime_field_polynomial_convolution_leading_coefficient (cc)specialize prime_field_polynomial_convolution_leading_coefficient (N)specialize prime_field_polynomial_convolution_leading_coefficient (x)specialize prime_field_polynomial_convolution_leading_coefficient (x1)specialize prime_field_polynomial_convolution_leading_coefficient (x2)apply prime_field_polynomial_convolution_leading_coefficientexact hcanonexact ha_right_right_witness_leftexact hb_right_right_witness_leftexact hout_witnessrewrite hz at hmrewrite hz at hmhave heither : x=0 \/ x1=0specialize prime_field_no_zero_divisors (p)specialize prime_field_no_zero_divisors (x)specialize prime_field_no_zero_divisors (x1)apply prime_field_no_zero_divisorsexact hpexact hmcases heitherapply ha_right_right_witness_rightexact heither_leftapply hb_right_right_witness_rightexact heither_right
prime_field_polynomial_monic_represented_degree · unchanged support, not a new admission
forall p b c L d. (((~((L) = 0)) /\ (((forall fom_index_pfp_monic_degree_sourcecoefficients. (exists fom_gap_pfp_monic_degree_sourcecoefficients_index_bound. fom_gap_pfp_monic_degree_sourcecoefficients_index_bound + S (fom_index_pfp_monic_degree_sourcecoefficients) = L) -> exists fom_value_pfp_monic_degree_sourcecoefficients. ((((exists fom_beta_height_pfp_monic_degree_sourcecoefficients_entry. fom_beta_height_pfp_monic_degree_sourcecoefficients_entry + S (fom_value_pfp_monic_degree_sourcecoefficients) = S ((S (fom_index_pfp_monic_degree_sourcecoefficients)) * c)) /\ exists fom_beta_quotient_pfp_monic_degree_sourcecoefficients_entry. b = fom_beta_quotient_pfp_monic_degree_sourcecoefficients_entry * S ((S (fom_index_pfp_monic_degree_sourcecoefficients)) * c) + (fom_value_pfp_monic_degree_sourcecoefficients))) /\ (exists fom_gap_pfp_monic_degree_sourcecoefficients_value_bound. fom_gap_pfp_monic_degree_sourcecoefficients_value_bound + S (fom_value_pfp_monic_degree_sourcecoefficients) = p))) /\ ((((exists ff_h_pfp_monic_degree_sourceleading. ff_h_pfp_monic_degree_sourceleading + S (1) = S ((S (0)) * c)) /\ exists ff_q_pfp_monic_degree_sourceleading. b = ff_q_pfp_monic_degree_sourceleading * S ((S (0)) * c) + (1)))))))) -> L=S d -> ((((L)=S (d)) /\ (((forall fom_index_pfp_monic_degree_resultcoefficients. (exists fom_gap_pfp_monic_degree_resultcoefficients_index_bound. fom_gap_pfp_monic_degree_resultcoefficients_index_bound + S (fom_index_pfp_monic_degree_resultcoefficients) = L) -> exists fom_value_pfp_monic_degree_resultcoefficients. ((((exists fom_beta_height_pfp_monic_degree_resultcoefficients_entry. fom_beta_height_pfp_monic_degree_resultcoefficients_entry + S (fom_value_pfp_monic_degree_resultcoefficients) = S ((S (fom_index_pfp_monic_degree_resultcoefficients)) * c)) /\ exists fom_beta_quotient_pfp_monic_degree_resultcoefficients_entry. b = fom_beta_quotient_pfp_monic_degree_resultcoefficients_entry * S ((S (fom_index_pfp_monic_degree_resultcoefficients)) * c) + (fom_value_pfp_monic_degree_resultcoefficients))) /\ (exists fom_gap_pfp_monic_degree_resultcoefficients_value_bound. fom_gap_pfp_monic_degree_resultcoefficients_value_bound + S (fom_value_pfp_monic_degree_resultcoefficients) = p))) /\ ((exists pfd_leading_monic_degree_result. ((((exists ff_h_pfp_monic_degree_resultentry. ff_h_pfp_monic_degree_resultentry + S (pfd_leading_monic_degree_result) = S ((S (0)) * c)) /\ exists ff_q_pfp_monic_degree_resultentry. b = ff_q_pfp_monic_degree_resultentry * S ((S (0)) * c) + (pfd_leading_monic_degree_result))) /\ ((~(pfd_leading_monic_degree_result=0))))))))))
intro pintro bintro cintro Lintro dintro hintro hlencases hcases h_rightsplitexact hlensplitexact h_right_leftexists 1splitexact h_right_rightintro hzspecialize succ_ne_zero (0)apply succ_ne_zeroexact hz