Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Eight complete ordinary-certificate checks
- prime_field_polynomial_division_execution_functional · actual ordinary HA certificate: 8744 nodes
- prime_field_polynomial_division_execution_exists_unique · actual ordinary HA certificate: 19739 nodes
- prime_field_polynomial_convolution_both_left_paddings_equivalent · actual ordinary HA certificate: 16447 nodes
- prime_field_polynomial_convolution_both_left_paddings_exists · actual ordinary HA certificate: 16811 nodes
- prime_field_polynomial_equivalent_implies_left_pad · actual ordinary HA certificate: 8711 nodes
- prime_field_polynomial_add_equivalent_congruent · actual ordinary HA certificate: 10075 nodes
- prime_field_polynomial_subtract_equivalent_congruent · actual ordinary HA certificate: 10163 nodes
- prime_field_polynomial_convolution_equivalent_congruent · actual ordinary HA certificate: 17731 nodes
Literal artifacts and first admission
- Actual fresh admission report
- Exact first-admission catalogue records
- Same-byte complete HA/Lean proof bundle
- prime_field_polynomial_convolution_triangular_candidate: exact canonical source
- prime_field_polynomial_representation_candidate: exact canonical source
- prime_field_polynomial_division_candidate: exact canonical source
- prime_field_polynomial_distributivity_candidate: exact canonical source
- prime_field_polynomial_division_uniqueness_candidate: exact canonical source
- prime_field_polynomial_convolution_padding_candidate: exact canonical source
- prime_field_polynomial_equivalence_candidate: exact canonical source
- prime_field_polynomial_convolution_congruence_candidate: exact canonical source
All121 bodies have complete bundle checking. Only the eight listed endpoints claim a separately expanded ordinary-certificate run. Historical working observations are not authority for this admission.
All255 inherited support bodies
zero_add · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 0 · statement SHA-256 b759e0dfbf2a583a91d2b5db09cc55d201ef09cc1690d6ab1a32fcca5af5cdb9
forall n. 0 + n = ninduction nsimpsimp [IH]
add_succ_left · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 1 · statement SHA-256 0bc9b136088bc891fed6c9873f0dbb46abcec3b920de28f42a237cde46f40c8c
forall n m. S n + m = S (n + m)intro ninduction msimpsimp [IH]
add_comm · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 2 · statement SHA-256 d0964c9be754ff543a32b916d0b2a1bc278f849ba40378004f32a397d83a168c
forall n m. n + m = m + nintro ninduction msimp [zero_add]simp [add_succ_left, IH]
add_assoc · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 3 · statement SHA-256 98bb7eada0e16e877b3f05b7f60db70be3cffb4890b28c9cb374e05d028cbd63
forall n m k. (n + m) + k = n + (m + k)intro nintro minduction ksimpsimp [IH]
mul_zero_left · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 4 · statement SHA-256 7c27ee052812f6b8859296a3c956934b801dccecd4ccfc038acd0eb01d1c4d04
forall n. 0 * n = 0induction nsimpsimp [IH]
mul_succ_left · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 5 · statement SHA-256 aebf57da1f9dd2ebc4e114962045c6d3f807af8be3d6da14b246e2275f4851fd
forall n m. S n * m = n * m + mintro ninduction msimpspecialize add_comm nspecialize add_comm msimp [IH, add_comm, add_assoc]
mul_comm · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 6 · statement SHA-256 b5277583d2ad3b537c2ccf0fecc33912b9ff69674ec9659cf8d70f58b691b65d
forall n m. n * m = m * nintro ninduction msimp [mul_zero_left]simp [IH, mul_succ_left]
mul_add · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 7 · statement SHA-256 b1afc7125bb883fa5aaf63be201ec684eb602aaf59b0a608d920685e11d5f0ff
forall n m k. n * (m + k) = n * m + n * kintro nintro minduction ksimpsimp [IH, add_assoc]
mul_assoc · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 8 · statement SHA-256 085c35afadeb1fafeb905d334c75f2799104ead8ddd8e59a301230d6e5b290d6
forall n m k. (n * m) * k = n * (m * k)intro nintro minduction ksimpsimp [IH, mul_add]
one_mul · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 9 · statement SHA-256 a3fba3e972fc2ec6f5a274a8d21550e1081cf5f1581eda98922616aa20cda490
forall n. 1 * n = ninduction nsimpsimp [IH]
mul_one · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 10 · statement SHA-256 1c5292d92762aae47f3833dd3c85aa1275122554525aae695a40d1380c74c24e
forall n. n * 1 = nintro nsimp [zero_add]
add_mul · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 11 · statement SHA-256 fb6f51d471f2e355d6d05d4075b9d56342fca469726d20d04d025dffa754c4f1
forall n m k. (n + m) * k = n * k + m * kintro nintro mintro ksimp [mul_comm, mul_add]
succ_ne_zero · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 12 · statement SHA-256 38711df11e3d8fa1d5014115f8bcef8fbbaf89b5cdab99a80006dc2eb96b952e
forall n. ~(S n = 0)apply PA1
succ_injective · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 13 · statement SHA-256 c16217b6875dcfa0aa358b562b3a38fc782beb9f73523eb15b5daddf7971e6bc
forall n m. S n = S m -> n = mapply PA2
le_refl · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 14 · statement SHA-256 4a63925d2370803a106dd819be4a0b5369ca4575fd36d6bcdb133020703a17fd
forall n. n <= nintro nexists 0simp [zero_add]
le_trans · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 15 · statement SHA-256 9283783a3d2617190746cb05073cdf1f8a1b90c1a6bbdd640a26e28eb44b887d
forall n m k. n <= m -> m <= k -> n <= kintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 16 · statement SHA-256 b6910d70f7897fcc08aea696e57bb6b268d9d4937bcccd9f54999333e318596e
forall p n. S p + n = n -> falseintro pinduction nintro happly PA1rewrite PA3 at hexact hintro happly IHapply PA2rewrite PA4 at hexact h
drop_add_prefix_from_fixed · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 17 · statement SHA-256 fc04eea446bfda394850b9d5a3e53fe40d7440b7ed9c7fc8e0446bd0f53614b4
forall a b n. (b + a) + n = n -> a + n = nintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 18 · statement SHA-256 3d8226729f0ca1a4d22bf215c769a3dac997702556d72df032e159d67f19c546
forall a b n m. a + n = m -> b + m = n -> n = mintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 19 · statement SHA-256 36359f47ba62b2438175755ce85840f484d11507996806089b029bde8060d44b
forall n m. n <= m -> m <= n -> n = mintro nintro mintro h_nmintro h_mncases h_nmcases h_mnapply antisymm_from_witnessesexact h_nm_witnessexact h_mn_witness
le_total · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 20 · statement SHA-256 2ef5c47f3b3ab68662be5f6d251f4137db17cf182408f3856cb3314e230fc443
forall n m. n <= m \/ m <= ninduction 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 21 · statement SHA-256 80f155113c1ed6af4126e1411c83c3c95b9f90b28aca748e5f8c2d4bd31fad9d
forall a b. a + b = 0 -> b = 0intro ainduction bintro hreflintro hexfalsoapply PA1rewrite PA4 at hexact h
mul_eq_zero · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 22 · statement SHA-256 fc8a78012f8f2c9041a232da57ec2f9bfe30f251aad0f88ae89f2dcd267109b0
forall n m. n * m = 0 -> n = 0 \/ m = 0intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 23 · statement SHA-256 bf1c19bef4084f72c4802b8c142a9e877e7fea7b5a9d94dae0acc3ffba746ac5
forall n. n = 0 \/ exists k. n = S kinduction nleftreflrightexists nrefl
nonzero_is_succ · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 24 · statement SHA-256 6f5a7cfea0dc08516fe1b42bfd4dab65d7aadd8f4f19a72e27ebce2919640c38
forall n. ~(n = 0) -> exists k. n = S kinduction nintro hexfalsoapply hreflintro hexists nrefl
add_congr · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 25 · statement SHA-256 8313d9a8e59db84e5f4224d1c0cb0dd21e689e5b3619ce9b00eb1008c8d157da
forall a b c d. a = b -> c = d -> a + c = b + dintro aintro bintro cintro dintro habintro hcdcongrexact habexact hcd
add_right_cancel · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 26 · statement SHA-256 cb6b9c79c0e35aa2a381057e90d5bb8f44b6d21db9895d42d2edec69095d3500
forall a b c. a + c = b + c -> a = bintro aintro binduction cintro hrewrite PA3 at hrewrite PA3 at hexact hintro happly IHapply PA2rewrite PA4 at hrewrite PA4 at hexact h
add_left_cancel · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 27 · statement SHA-256 2f327c37358783cb9ba205146b0b9b5a8960e8a54e54aadda888e43a00ff5a2c
forall a b c. a + b = a + c -> b = cintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 28 · statement SHA-256 d3cad8d0d0ea07e339bdb8eb3b864e3511e648763977ff6882e77d60c984aa01
forall n. 0 <= nintro nexists nrewrite PA3refl
le_succ_self · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 29 · statement SHA-256 60174e116dc1779726af5ab6335933bf94a1278b174352205c842e300e570651
forall n. n <= S nintro nexists 1simp [add_succ_left, zero_add]
le_zero · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 30 · statement SHA-256 f9c4e4faa5263ab84d5c6221a21f22a3a581de21585d30f87fe8e24fcb81faef
forall n. n <= 0 -> n = 0intro nintro hcases happly add_eq_zero_rightexact h_witness
one_le_of_ne_zero · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 31 · statement SHA-256 9f9374fe6969e53321d624beaac819c8e40bb41f0379ab9690a997b7edf9c78d
forall n. ~(n = 0) -> 1 <= ninduction nintro hexfalsoapply hreflintro hexists nsimp
le_add_left · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 32 · statement SHA-256 f85ed618c604015ac31fb7aef5bb6d3fa8518fe542b1bbd1da828e9511531932
forall a b. exists k. k + a = b + aintro aintro bexists brefl
le_add_right · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 33 · statement SHA-256 43a00a7148437b96f81a2d4d1cd1b75d9c6a2c188249e6bf50becde7ec03c021
forall a b. exists k. k + a = a + bintro aintro bexists bapply add_comm
add_le_add_right · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 34 · statement SHA-256 c5ea1fada63b0616885522521837b110911a50154a49e3a6c52b103c50bda6d9
forall a b c. (exists k. k + a = b) -> exists r. r + (a + c) = b + cintro aintro bintro cintro hcases hexists xtrans (x + a) + csymmapply add_assoccongrexact h_witnessrefl
add_le_add_left · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 35 · statement SHA-256 eaf18f9365a225548fa501ab5469364d88741e493376f054045260a20e0cce78
forall a b c. (exists k. k + a = b) -> exists r. r + (c + a) = c + bintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 36 · statement SHA-256 97c872aaa1b7fe31e8728e6f814edf1e967b5a4009d1e7716d52d4c136ac0a06
forall a b. (exists k. k + a = b) -> exists r. r + S a = S bintro aintro bintro hcases hexists xrewrite PA4congrexact h_witness
le_of_succ_le_succ · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 37 · statement SHA-256 bfa8be55903d6a037b942f30e28a0606ad55956d00b47532ab2c1cadb87d9a2a
forall a b. (exists k. k + S a = S b) -> exists r. r + a = bintro aintro bintro hcases hexists xapply PA2trans x + S asymmapply PA4exact h_witness
le_succ · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 38 · statement SHA-256 3adee5fa95d2437f4677d9f9a0937c5b48a7fcebb3350403b5be969ed30c7c50
forall a b. (exists k. k + a = b) -> exists r. r + a = S bintro aintro bintro hcases hexists S xtrans S (x + a)apply add_succ_leftcongrexact h_witness
lt_to_le · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 39 · statement SHA-256 9e493b5dc3b69c4928b6407ba5dcc7ac15a4f742206233f11520326b9263aec3
forall a b. (exists k. k + S a = b) -> exists r. r + a = bintro aintro bintro hcases hexists S xtrans x + S atrans S (x + a)apply add_succ_leftsymmapply PA4exact h_witness
add_le_cancel_right · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 40 · statement SHA-256 22477d2bf94cc82cddafa6b4777e965159776f7f3bdfa5c581186189fc397074
forall a b c. (exists k. k + (a + c) = b + c) -> exists r. r + a = bintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 41 · statement SHA-256 36419ca17cc6063a3e08e29301a4d45b5e6bd4736202b70c0163315dab03f752
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 42 · statement SHA-256 c62d7d9dd2e202f7ef167c085afae1c16f5ee96d7d8269234b68249f5038f72a
forall a b. (exists k. k + a = b) -> a = b \/ exists k. k + S a = bintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 43 · statement SHA-256 77a33ca0318a38749730ba2122d5389160258f4a01039a730ab2843f2f38995e
forall a b c. (exists k. k + S a = b) -> (exists k. k + b = c) -> exists k. k + S a = cintro aintro bintro cintro habintro hbcspecialize le_trans (S a)specialize le_trans bspecialize le_trans capply le_transexact habexact hbc
le_or_lt · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 44 · statement SHA-256 8a03efb24e132c6a02cb9bc952656f9d39e68effdb3b27c76fb2a9a943f2e1a1
forall a b. (exists k. k + a = b) \/ exists k. k + S b = ainduction 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 45 · statement SHA-256 8de4e5aab24028cd322fece1246d528f4edcc1b777e58b18aa81dc0caf3c282c
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 46 · statement SHA-256 67ac242c268a6e5548258ffc82934cea4f21faded2a1a32553e05a7319fad23d
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 47 · statement SHA-256 4076af297701b47b20de01d8b340853f56a9fc06955371a95cd6b71c75d50827
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 48 · statement SHA-256 fa09ddd51c91e615765e8594cb62e9e029397032fb979207ca6a4f5ffaca5d89
forall a b c. (exists k. k + a = b) -> exists r. r + a * c = b * cintro aintro bintro cintro hcases hexists x * ctrans (x + a) * csymmapply add_mulcongrexact h_witnessrefl
division_remainder_succ · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 49 · statement SHA-256 54b369a63ff86b8e1c26e034c4f5570cfd0b8eaa05800eba556760aa544ee73f
forall d n. exists q r. n = S d * q + r /\ S r <= S dintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 50 · statement SHA-256 5129cc09f73a6bfed8749bccdd181148e27fa13ee31c796f9e3a8010fb8197a0
forall m n. ~(m = 0) -> exists q r. n = m * q + r /\ S r <= mintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 51 · statement SHA-256 786ef31fec8c4316918611789ef2dca6e47e7e9f7b851daabfecce387573863b
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 52 · statement SHA-256 4698e0fcd888a3b8421f8bb4c03cc180e8caffaadbb9912cb4a54e53490cab5e
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 = r2intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 53 · statement SHA-256 ac379ac8ead0d1bf27c1085c8406a8af96e793d92368414d19535ff3a4869db0
forall a b. a + b = 0 -> a = 0intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 54 · statement SHA-256 af292cc4e3fc50ce80c3a2ae23dbe2465126642c0ff255428451ef0d61b547ca
forall a b. a * b = 1 -> a = 1 /\ b = 1intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 55 · statement SHA-256 6735bc30f9bc8b28c3d07715c40ff48104313bf5ef4356b2f67502aebe9ac675
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 56 · statement SHA-256 047b84c476678d8a239b7b39ddfab05457e4bed47b5e16252da9eea346a0bd0b
forall a. exists q. 0 = a * qintro aexists 0rewrite PA5refl
multiple_refl · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 57 · statement SHA-256 ad00d15db40a3e58e2850ef3082b58a5f50debb96f5b9fafa94b2e7b886762d0
forall a. exists q. a = a * qintro aexists 1symmapply mul_one
multiple_mul_right · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 58 · statement SHA-256 d6bb86ea470eec921f64256623b7352dbfe18087dba79eaef80075c788127a5b
forall a n m. (exists q. n = a * q) -> exists s. n * m = a * sintro aintro nintro mintro hncases hnexists x * mrewrite hn_witnessapply mul_assoc
multiple_trans · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 59 · statement SHA-256 2ba2b335c4bf2e997debd3b94a8dbb40cc2798f8ac297a1f1d1b467f87a23d70
forall a b n. (exists q. n = a * q) -> (exists r. a = b * r) -> exists s. n = b * sintro aintro bintro nintro hnintro habcases hncases habexists x1 * xrewrite hn_witnessrewrite hab_witnessapply mul_assoc
divisor_le_nonzero · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 60 · statement SHA-256 464577cb5cb19a434e48707cb1fc5d8f8bafc3bf75bb1984d8105de7c0f689ee
forall d n. ~(n = 0) -> (exists q. n = d * q) -> exists k. k + d = nintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 61 · statement SHA-256 1fe13b628abe4610ddc4c81d29f2daa0399dd69a81efbdc1547fbcf431482475
forall d. (exists y. 1 = d * y) -> d = 1intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 62 · statement SHA-256 fc4952ebbd4234812faddef25b4319f0f645871ab977ae50f030658b9d02b7ac
forall c u v r. c * u = c * v + r -> exists w. r = c * wintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 63 · statement SHA-256 ec5e2b8144908b29c0624e773e8e524ae5d4d0cdc7497794d587712715cab00c
forall c a b q r. (exists u. a = c * u) -> (exists v. b = c * v) -> a = b * q + r -> exists w. r = c * wintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 64 · statement SHA-256 9415644052f74b1922b2b229c005100f4c4d378bbc48c63650f048c60ee5fbf3
forall c b q r. (exists u. b = c * u) -> (exists v. r = c * v) -> exists w. b * q + r = c * wintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 65 · statement SHA-256 bc5c62f50355b14e75531ce68a6b9f6308a762c7c7b25fa2d157d2533bd9b813
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 66 · statement SHA-256 0eee24b27ab545ad57f2090e86e4ca5d21840b8a8391f41e9e8074b0ce00cf71
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 67 · statement SHA-256 672b58418edf1a0eb9c7738102c0284176cb530658deda99bef83a40a8966321
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 68 · statement SHA-256 90c22e192ead142cbbeab2f48fdc4e07711a124218e3b8105dc87df7a60f4ee2
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 69 · statement SHA-256 344ae50f597ba7d8033e2f60d4d7d8ce9a304b49aa863298f875a28c7115cb69
forall a d. (exists x. 1 = d * x) -> (exists y. a = d * y) -> d = 1intro aintro dintro h1intro haspecialize divisor_one dapply divisor_oneexact h1
is_gcd_one_to_coprime · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 70 · statement SHA-256 bae190bbc659b21d4af75b8430aed3d2b852082c8fad967dc425f993fd83023f
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 = 1intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 71 · statement SHA-256 259774621ec64b47db54d52c4504abf8c9ecb2a423c0e0b08965f5a44f55ea5a
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 72 · statement SHA-256 3b6f2fba9093863f374428df77f28fc81b787a2103e0fbfbfe9a8f19db83f98a
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 73 · statement SHA-256 ee6ecd53ab81a278d0802f9d2297db20d14c702a45703340efe11f888f1eece7
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 74 · statement SHA-256 a04ae60ae70da68a964c4440c8f521856fdfdcea733d6251294357eaaeab6af8
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 75 · statement SHA-256 59e7bcfea451e25ca739bc2bdbee87e497f83db25712dc3743e1fa10c36e075e
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 76 · statement SHA-256 a1c724b5b09f2645426190ed9da60a61d5fcdd1f1c7f963e768a890d4df4a8de
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 * wintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 77 · statement SHA-256 5a0429f7b8a6b245056b0fe0e9a1651c4eb4818dce780e85f75082d2c19e5cb8
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 78 · statement SHA-256 1c3666be9deded79202818d9d6228aa230fefc0d123b60b73614b8a34483ff9c
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 * wintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 79 · statement SHA-256 c13a817645afe596d7f55f88eb9400073ae742c17213dfbf907f4c497aa1aca1
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 80 · statement SHA-256 f74d3a446b0634b8019db1906e37846c34e3d71f60d5261139ed9ed69b465ed7
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 81 · statement SHA-256 ebafa11a2163b9a35d431eea316b19c434ff1f6fd8d702b76530f1b8c1292bfb
forall p g. (~(p = 1) /\ forall c d. p = c * d -> c = 1 \/ d = 1) -> (exists x. p = g * x) -> g = 1 \/ p = gintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 82 · statement SHA-256 fcff327b653f93b5a53460bbb0dc67a5e04ee9212c0d1a88a04bdecf93d17add
forall m a. exists u v. a + m * u = a + m * vintro mintro aexists 0exists 0refl
mod_eq_symm · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 83 · statement SHA-256 198ad914d976d480b8d9df5b0ada71e74e1be9e0b01656dd7e641038874ff27e
forall m a b. (exists u v. a + m * u = b + m * v) -> exists r s. b + m * r = a + m * sintro mintro aintro bintro hcases hcases h_witnessexists x1exists xsymmexact h_witness_witness
mod_eq_trans · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 84 · statement SHA-256 07009140b6d6d7f4e1e34d6c33bf1b007ea29c26a14eeafa9b2fa3d377abe7a9
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 * yintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 85 · statement SHA-256 6e8c1e97ea5c4221a993e587d4475550418981e5fbef1b4c65e149dee0713ddd
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 * yintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 86 · statement SHA-256 8733e14f0e281c8da5e450d12fe21b7d5929d4b5e9953d867333be510677d636
forall m a b c. (exists u v. a + m * u = b + m * v) -> exists r s. (a * c) + m * r = (b * c) + m * sintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 87 · statement SHA-256 dbadf46b1b0bf5a186fbdd59491a88885e0649b62e28e8465f6dee8bdb9e21fe
forall m a b c. (exists u v. a + m * u = b + m * v) -> exists r s. (c * a) + m * r = (c * b) + m * sintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 88 · statement SHA-256 a3983a74ea581e76450a400c1ed5b4e06e6feac6ff9a6ebb90d8f82f3c316d2b
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 * yintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 89 · statement SHA-256 5329024af13cfcbc0e4662ef24110fcbe2ece3d384ffca5c07cf3f6b7a49b55b
forall m b q x. b = q * m + x -> exists u v. b + m * u = x + m * vintro mintro bintro qintro xintro hexists 0exists qrewrite PA5rewrite PA3trans q * m + xexact htrans x + q * mapply add_commcongrreflapply mul_comm
mod_eq_bounded_unique · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 90 · statement SHA-256 8e73abc172b556b5fb557c527977e6f07c1e366080b207163dd58b7931643c0d
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 = bintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 91 · statement SHA-256 03d36e6993b3691311ccb9e9e75006895f186ff659f1042d9b69fe4811db2360
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 + xintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 92 · statement SHA-256 6701007cb46c44334c05d9bd894078b9b002f9624b4057b9203dd83087294526
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 93 · statement SHA-256 2d7d05bc900916fb1c5e23a402436d7e460ee6ad7ac1de57ba9cc1db76a9c095
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 94 · statement SHA-256 acd7a937d6ec7c3c4d6214357bdfcdf3a975ccd71f7e14a540a1690d5e9b1773
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 95 · statement SHA-256 eac0700b7c24aa059073c61ffdf1541dc02d23400571b003fe964b9df65f5afd
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 = yintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 96 · statement SHA-256 9934b7b533260bf9c2c53f4a06d653873048b3ccb1b78fba0bd897fe6a604536
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 97 · statement SHA-256 3b77bc1178426af328d8421d69095fe945c23fc793c323a9ffe5bb51c5e73799
forall m a. (exists k. a = m * k) -> exists u v. a + m * u = 0 + m * vintro mintro aintro hcases hexists 0exists xrewrite h_witnesssimp [zero_add]
bezout_mod_left · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 98 · statement SHA-256 7c933e89b5e783e0fe57654937ee8202b8b0a917184b23463fccbda85de308b0
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 * vintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 99 · statement SHA-256 2b9829ff7d6d6582927a7b85c058b531717e3d91259f9bcc574a76f687eec068
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 * vintro mintro nintro xpintro ypintro xnintro ynintro hexists ypexists yntrans 1 + (m * xn + n * yn)exact hsymmapply add_assoc
mod_eq_predecessor_cancel · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 100 · statement SHA-256 ff9e6397219fcf402e7a0e46e5d1ce0cee284f43b12ebdd124e21082c0170db4
forall k a z. exists u v. ((a + z) + k * z) + S k * u = a + S k * vintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 101 · statement SHA-256 25e1f5213a9a5b04f3a20077b936ba8814f6ae8951f4f72e5f5e2135d7c9148f
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 102 · statement SHA-256 e3888d0932249958689f3ec9e8d191cf866212c101dabfe5b62c198c39c4d373
forall c k d. (exists u. S (k * c) = d * u) -> (exists v. c = d * v) -> d = 1intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 103 · statement SHA-256 5e42d3c08bd8cc965eac53bfd7e6abfdf30d1a27ee43f0d38ab3febc24389b0f
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 * wintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 104 · statement SHA-256 df6c3daf567bc06a5ca361d2b1cfc976d2ec1bca03f3b8dd5e24dba8b0070602
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 = 1intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 105 · statement SHA-256 7a8fdf6f5a7e1d28efecf7a58005eb7f45d21dccd7aee4cb2cd8acbe7ca792ec
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 106 · statement SHA-256 ad3921906117ef267f82ff3e9be6d228c7872b98fccb582228c9d4a86866019f
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 107 · statement SHA-256 d63d720fac911184a5163168382a134d76d511a2c6708360a83516556f3568df
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 = 1intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 108 · statement SHA-256 eb5bc880e1349d365cef2c73bd1b3412bac10615d2c14180fddbbb2f54dbcc2c
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 = 1intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 109 · statement SHA-256 1060b24a0e43b4388c2ac9ecac0e76f60914ccf6cd449d37592e4b4d22461735
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 = 1intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 110 · statement SHA-256 246654070ff9a4577e17991d9189766a93fe7c11629ec2303a8ad111c86451e3
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 * sintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 111 · statement SHA-256 41595b681a738bcfa873935a4aed93b2a865da235cc68d0910aba631cfd4e432
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 112 · statement SHA-256 4bfe67ec918a0e0f7c189a56fda0d1b256ecaefc78272611b51ec68507987b7d
forall a b. exists k. a * b = b * kintro aintro bexists aapply mul_comm
beta_value_le_code · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 113 · statement SHA-256 a0b0b9cc668ff0d5345e4b2e41b08ac66b3210e536258d53f95b88337c01876c
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 = bintro bintro cintro iintro xintro hatcases hatcases hat_rightexists x1 * S ((S i) * c)symmexact hat_right_witness
base_le_beta_modulus · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 114 · statement SHA-256 850c8372cd6743df77e4354d3cf23d92749917cdda214f1c1ac0dbe0868b32f9
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 115 · statement SHA-256 3a0c9778138f2ee2ecbab9a5c829a4b1f40f19de61b65eae4765f67ebb1dedaa
forall C B. ~(C = 0) -> exists h. h + B = C * Bintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 116 · statement SHA-256 a514ad09db5eae76cb17193a87016a905895f8450a3f9bb35dc77ef00b299945
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 * qintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 117 · statement SHA-256 723e34f7303079ad1d5510dcde76756e36f758aed266f6bf8bd225aa8b568268
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 118 · statement SHA-256 17864693ef24007d91e415865da8a8623b72bb3e2c4aae995e72665c9929fb8c
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 119 · statement SHA-256 623df71bb00a1df01ed2b113ce65eb8e8c1b5ae56fd4a92a05861cd2b914b2bb
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 120 · statement SHA-256 29947a185cb5bd3e6d5f3addc026b0c148f4e5aca0428989ce28c64955dce949
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) * vintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 121 · statement SHA-256 9eaa14524e19b2f11771b44c6676033b3e31080ee96371c11bac0f48ca1c51f6
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 122 · statement SHA-256 29564e9bae7783feeb631c02f82f5e9af720bdfd28c9b4c49aba47a41ff0d6c3
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 123 · statement SHA-256 292c7a2a1abbf591e9a3cfd77ad0533f12761f691460fca7a20f413c6f66a1e0
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 124 · statement SHA-256 e310ccf777e1102929f85585d9a0f2f8e771b6b05ea09fefb03c5026cd529b8d
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 125 · statement SHA-256 9657ca6ff3e3194dc5682b2e780c25ad3330f8b0ca3f2bde6a8d75a22c4bb377
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 126 · statement SHA-256 9ab591572e48818c23c1accbf4f53decd14eef661b0bd6895ebf7e41bb392b3f
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 127 · statement SHA-256 33b236e8989b0560f501fb96456435aa960b02ff3e1287a13ebc3c3e17311d49
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 = aintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 128 · statement SHA-256 612a0e917da04e586df00f3ed45e38c8bb9ecffbc9c915e7406656c5c64df9e1
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 129 · statement SHA-256 97209b3dd1a6cecb2ed728484fcab57198efa167eb4bab80ccdd89abc6807088
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 130 · statement SHA-256 62b0f92e036d1d11e2dcf21fbad7d45678527d8172360c84fa5ef3cbbf67d14c
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 = mintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 131 · statement SHA-256 9f3fed643e53f457ebf661ddcd2751fe7599a5da1ee869289435c099655e5617
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 = mintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 132 · statement SHA-256 a4ad6bb157898eb13c75907ede72658f8ddc10374241fb93e85d8f18316099a3
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 = 0intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 133 · statement SHA-256 4db612970c1ab4a1eae11fcf82cecc2995f92ee6faf50a15913992a659d3b21e
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 134 · statement SHA-256 fd7e87b5f6bf3f681f5119dcb26cf9c39ac85d96285aa1bf7e249703f41caf74
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 * kintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 135 · statement SHA-256 ecf90e2a2b39c046b09e297ac8c4e4a0c9122aa11397c99afae298f12a69ca79
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 = 1intro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 136 · statement SHA-256 3a8ad3ae322bd05c47a4380f4a6b0d4e508ebc5fca17d5fe6bb11284889f30e4
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 * vintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 137 · statement SHA-256 76aa796de70dbf5de160aff93193b6fb873ffc4a3cd16db90390ba6b19865539
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 * vintro 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
prime_mod_inverse · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 138 · statement SHA-256 514c8bb65e398f96a858acb9475416823924b2782fa7282b01477b9ddd379373
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 * vintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 139 · statement SHA-256 4829550fa55790a5ce617b99bbd357d27af724ca5316fbc0a5afef062fb3a1f6
forall n x. (exists h. h + S x = S n) -> x = n \/ exists h. h + S x = nintro 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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 140 · statement SHA-256 3ade15c63f82b8b6f96ddbc586c1b59313dee6864a8e2cc690c3359b19cebc7e
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 · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 141 · statement SHA-256 67905ae851dfcbf579ebf65b1f411b870c81a35367a23dea591006a7d8a1df92
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
bounded_mod_inverse_unique · inherited Alpha-v32 support · Stable member
Not a new v33 admission. Bundle node 142 · statement SHA-256 d4545da3327b3ba077e2ecf511b4f0b00ea44c3afdc5af430ae6495f659e3b99
forall p x y z. (exists wip_strict_gap_unique_y_bound. wip_strict_gap_unique_y_bound + S y = p) -> (exists wip_strict_gap_unique_z_bound. wip_strict_gap_unique_z_bound + S z = p) -> (exists wip_mod_left_unique_xy wip_mod_right_unique_xy. x * y + p * wip_mod_left_unique_xy = 1 + p * wip_mod_right_unique_xy) -> (exists wip_mod_left_unique_xz wip_mod_right_unique_xz. x * z + p * wip_mod_left_unique_xz = 1 + p * wip_mod_right_unique_xz) -> y = zintro pintro xintro yintro zintro hyintro hzintro hxyintro hxzhave hreverse : exists wip_mod_left_unique_reverse_xz wip_mod_right_unique_reverse_xz. 1 + p * wip_mod_left_unique_reverse_xz = x * z + p * wip_mod_right_unique_reverse_xzspecialize mod_eq_symm pspecialize mod_eq_symm (x * z)specialize mod_eq_symm 1apply mod_eq_symmexact hxzhave hleftscaled : exists wip_mod_left_unique_left_scaled wip_mod_right_unique_left_scaled. y * 1 + p * wip_mod_left_unique_left_scaled = y * (x * z) + p * wip_mod_right_unique_left_scaledspecialize mod_eq_mul_left pspecialize mod_eq_mul_left 1specialize mod_eq_mul_left (x * z)specialize mod_eq_mul_left yapply mod_eq_mul_leftexact hreversehave hrightscaled : exists wip_mod_left_unique_right_scaled wip_mod_right_unique_right_scaled. (x * y) * z + p * wip_mod_left_unique_right_scaled = 1 * z + p * wip_mod_right_unique_right_scaledspecialize mod_eq_mul_right pspecialize mod_eq_mul_right (x * y)specialize mod_eq_mul_right 1specialize mod_eq_mul_right zapply mod_eq_mul_rightexact hxyhave hleft : y * 1 = yspecialize mul_one yexact mul_onehave hmiddle : y * (x * z) = (x * y) * ztrans (y * x) * zsymmspecialize mul_assoc yspecialize mul_assoc xspecialize mul_assoc zapply mul_assoccongrapply mul_commreflhave hright : 1 * z = zspecialize one_mul zexact one_mulrewrite hleft at hleftscaledrewrite hmiddle at hleftscaledrewrite hright at hrightscaledhave hyz : exists wip_mod_left_unique_result wip_mod_right_unique_result. y + p * wip_mod_left_unique_result = z + p * wip_mod_right_unique_resultspecialize mod_eq_trans pspecialize mod_eq_trans yspecialize mod_eq_trans ((x * y) * z)specialize mod_eq_trans zapply mod_eq_transexact hleftscaledexact hrightscaledspecialize mod_eq_bounded_unique pspecialize mod_eq_bounded_unique yspecialize mod_eq_bounded_unique zapply mod_eq_bounded_uniqueexact hyexact hzexact hyz
beta_pointwise_mul_prefix_extend · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 143 · statement SHA-256 effadbb2e017f714693b0a8fe3f2353d70a99f85925ad603028899f3d95b54bb
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 144 · statement SHA-256 61170d1ab57371e2d19f5f39e0d8f8a69ca31b2d0918a5e33a3a10c72fba8019
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 145 · statement SHA-256 cec6006a1941b572a48c95a09f08c4d8bf3322a3560c43f2a949767dd791ff87
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 146 · statement SHA-256 d82de890a8fdd2afd3f31bb1621391d7f8385f5ca7d8f78ca5556f6c5f40ec89
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 147 · statement SHA-256 ef6c6fcebc40c7149a557d9037414398349e241100405799e4fc2bbd5c9913b0
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 148 · statement SHA-256 2dfa98ec8006d553d44bd99dabe7b140a4d391a404e6dab15e06197eb7f1e68e
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 149 · statement SHA-256 23d4db00ce4416e5516a6c9dc938a937725631c60c72d4dc7e0c76c61d5ed540
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 * aintro 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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 150 · statement SHA-256 1b3c7c140e6ce0e53d771c6580a3b8cf081835013d994878a22e5de1d1a04e7c
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 151 · statement SHA-256 49d9f50bc9b4d137d364a205bb2afe51958c8cd3f5cc774791700a5e7a601c9e
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 152 · statement SHA-256 5b602c75911b18361b15f04f92ea048d28eed96baaf885cb02fb622830419a50
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
binary_canonical_residue_functional · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 153 · statement SHA-256 6ceca7d1c5171f65ecad03675e8ac1c4a69bfaf38c82b9a3423795134e3c797d
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 = sintro 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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 154 · statement SHA-256 066c15de995914fe5c790c0ff3d913e5968f3e7f03d152ed028aaa9bafc96441
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 155 · statement SHA-256 6087cc007f5164665c5bf8cc8232594a35c74d0229c5249183a6b433d43f4f54
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 156 · statement SHA-256 def8c34a80f6fcb1eeb267cc02a6868ea60a878b61a1f132c9aa8794c16f38d1
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 157 · statement SHA-256 fd0bc4e5fb8aed4bafa978311940d6b51528b6ab4fda3ac0dc6a26838b0f2faa
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 158 · statement SHA-256 cdeb4b26ef07b798ef8fa0f8e5a7407b1566606bbcc549462d3af17ed78a8ea7
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
hensel_canonical_residue_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 159 · statement SHA-256 dc9639fa0704fb3ca2c3f58b70e86c9f0522c288847b73b1163b476cdf712610
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 160 · statement SHA-256 233df7be3e22de3a0fa76280abd2fa68dbe6e4977ec4e247d20cdadad8534453
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_mod_of_equal · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 161 · statement SHA-256 6dae761ed991e6c1ccf4da589783450f2d4cf3ba4cb315292c94a8bba33fdce9
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_zero_below_prime · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 162 · statement SHA-256 0ca8b7560d07740725a4338b9178c29262b28e42b942dd7d3f916ebbc8994a65
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
prime_field_residue_reflexive · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 163 · statement SHA-256 d2f71ba56bfef6344db6ecf06faa53db86a44fa6662b28eb9995f7e78964c34e
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_input_equal · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 164 · statement SHA-256 8a67e6b41afbd90d000146e21cc49bd896ad98a1f49f9abdb1a9dad0ed415f15
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_residue_bounded_value · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 165 · statement SHA-256 b00356da2ba62c76d1f86eaafa4748773449d83bde803ce79ffce841e10c7eb6
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 = aintro 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_add_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 166 · statement SHA-256 f868f012a0cf475ff501e3a1889c43a6ffe188c356b48a599e0c09dc944c249f
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_functional · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 167 · statement SHA-256 30463b4d09266ac2d9772aab0c66c91c7d0cb7d126004461f56772d6c785cc5a
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 = dintro 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_add_commutative · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 168 · statement SHA-256 6b6feebc3278dbe6c1f0e607290ea212c37e926e5deafc09806c985281266eef
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_multiply_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 169 · statement SHA-256 c69574574d3f512ae1f7bee7bd628795a321f8ac444161a4171e9d921cd544a1
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
prime_field_multiply_functional · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 170 · statement SHA-256 f824a9ae47e91cfab40a6fe0f3799442ce2500eef067434c7f2c536be1020d26
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 = dintro 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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 171 · statement SHA-256 aba2977f822869aa78817c12dad704c3d93aebaf2c762692d76be540923655ff
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_add_associative · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 172 · statement SHA-256 c9db339df9862949b1545c9b23388756020fcac89a1a0cbe219a8e6c33138a11
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 = vintro 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_multiply_associative · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 173 · statement SHA-256 336b83b70a36429e4ae3310807df7b0d0becbb681ff562e22ed31ec3d65c76b0
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 = vintro 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_add_zero_right · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 174 · statement SHA-256 da05372cea2d4e4921c6c60c8e37d16e7abc18ed004d242b61f4494eea636530
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 175 · statement SHA-256 469e5eb02eedb1a79a093ee26fb4bb2ca2b7adedf500f210ba12c8ba9db80cf2
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_multiply_one_right · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 176 · statement SHA-256 a5cfe9255b0e4554a42c2f88868228e2f191b53828fac88db3288b5d49cee03d
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 177 · statement SHA-256 2f74146518b15a749b86265bd455b8584ef930b2f1ac71d05ee5d1555eab94ed
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_multiply_zero_right · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 178 · statement SHA-256 0b527a155868a16af18fafdccf7acef9783dabe55f6baf908274dfe83316d93f
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_add_cancel_left · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 179 · statement SHA-256 ca97b53d21ba62d358ca3a26b48dc167952ae24a9ee30ff7680112677759d999
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 = cintro 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_negate_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 180 · statement SHA-256 b3526ca11f4aa9e065f9752287cffc8b5eb89550ee03a199ae84a18556c217ba
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_inverse_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 181 · statement SHA-256 980d7273a6f19d41dc37d9d4918b8a00d4b22d0d13ed871bd9145e36755a6f61
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_inverse_functional · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 182 · statement SHA-256 610f20c0b7bc4fb9539b3bb8757aa90d75f31930c4c7cd620432fcb0916746c7
forall p a b c. (((~((a) = 0)) /\ ((((exists pfa_gap_inverse_firstmultiplicationleft. pfa_gap_inverse_firstmultiplicationleft + S (a) = (p)) /\ (((exists pfa_gap_inverse_firstmultiplicationright. pfa_gap_inverse_firstmultiplicationright + S (b) = (p)) /\ ((((exists pfa_gap_inverse_firstmultiplicationresultbound. pfa_gap_inverse_firstmultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_inverse_firstmultiplicationresultcongruence pfa_offset_right_inverse_firstmultiplicationresultcongruence. ((a) * (b)) + (p) * pfa_offset_left_inverse_firstmultiplicationresultcongruence = (1) + (p) * pfa_offset_right_inverse_firstmultiplicationresultcongruence)))))))))))) -> (((~((a) = 0)) /\ ((((exists pfa_gap_inverse_secondmultiplicationleft. pfa_gap_inverse_secondmultiplicationleft + S (a) = (p)) /\ (((exists pfa_gap_inverse_secondmultiplicationright. pfa_gap_inverse_secondmultiplicationright + S (c) = (p)) /\ ((((exists pfa_gap_inverse_secondmultiplicationresultbound. pfa_gap_inverse_secondmultiplicationresultbound + S (1) = (p)) /\ ((exists pfa_offset_left_inverse_secondmultiplicationresultcongruence pfa_offset_right_inverse_secondmultiplicationresultcongruence. ((a) * (c)) + (p) * pfa_offset_left_inverse_secondmultiplicationresultcongruence = (1) + (p) * pfa_offset_right_inverse_secondmultiplicationresultcongruence)))))))))))) -> b = cintro pintro aintro bintro cintro hbintro hccases hbcases hb_rightcases hb_right_rightcases hb_right_right_rightcases hccases hc_rightcases hc_right_rightcases hc_right_right_rightspecialize bounded_mod_inverse_unique (p)specialize bounded_mod_inverse_unique (a)specialize bounded_mod_inverse_unique (b)specialize bounded_mod_inverse_unique (c)apply bounded_mod_inverse_uniqueexact hb_right_right_leftexact hc_right_right_leftexact hb_right_right_right_rightexact hc_right_right_right_right
prime_field_polynomial_normalization_from_division · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 183 · statement SHA-256 35f1d5d132dc9cfec171139fc1613a31252e42e8fca9a095f8096335d405b306
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 184 · statement SHA-256 fc691cdfddf49e1a62efec0e453562a4f92e605903fd5907835ab03472dba157
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_polynomial_add_entry · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 185 · statement SHA-256 3822c1cb92ee314db9989f85492490b7ebe47dfcd2717f24e7b8fb1de7cfe7b4
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
prime_field_polynomial_add_bounded · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 186 · statement SHA-256 ae4ad7dcaa66a4f97f16aab74c42173cef063ab4b288140bdc566d6b32dfb26e
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_polynomial_add_functional · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 187 · statement SHA-256 8f864f869b0b6846487cae5f80d402f778dbb633c7a8b7f3fd9f238136f4dfa6
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_scale_from_normalization · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 188 · statement SHA-256 1955b2fa2a5b6af239f13b79a825986de4ad0750d5c6b3f717f885d8e1a92631
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 189 · statement SHA-256 05428ef8dbdd1751708288e1153c03b9f565d8b50900118153fa4c031e52b278
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_entry · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 190 · statement SHA-256 7ece59877d49222f32886e569691e4309b9acebdb12238fbda11712669abae4b
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
prime_field_polynomial_scale_bounded · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 191 · statement SHA-256 6fe3b703f788bbfcb279577d621eb93810dcfe01db5526c261f591dad9b11a44
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_polynomial_scale_transport · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 192 · statement SHA-256 bc1419f45446bab30caaa1d0592e30309230605969b0e488af86f983d9a3250f
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_scale_one · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 193 · statement SHA-256 3a93ef4144478db7e14db037c4f9b07e075e5874226cdd5db2fe6afddf998ce5
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_associative · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 194 · statement SHA-256 34783333ce4daff9f00ca102f4fe7f5720249c018a2abd40afabe00c6fb3163f
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
polynomial_zero_extended_entry_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 195 · statement SHA-256 4dbd13a1eb66b9560eeed8d9d77806ca26dc4269488940b011a8d48a69d31fc0
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 196 · statement SHA-256 a808a7fdf4d1fe772fc5dd5752d80a22bbf8b4614ad4bfb897ab07c7e469fa89
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=dintro 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
polynomial_zero_extended_entry_inside · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 197 · statement SHA-256 4a43635d934708c5bee45b52f93a2f4e400770c1af0381714f858a6d24971a0d
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
polynomial_zero_extended_entry_transport · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 198 · statement SHA-256 c3cf5c8d38a4918f961a4ef861eb8198b2272e31e63fe2b73926ddfba2fa3c43
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_zero_extended_zero_value · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 199 · statement SHA-256 ef59f2fce86abd3cb8b1cf822957f9a2046d9f2071abde42b95d1e372d48f026
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=0intro 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_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 200 · statement SHA-256 542cf693d7ac5bdc40c4b9bbe1d0724d9e8238e1b04f4a61192e45c50ec1bbdf
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_term_functional · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 201 · statement SHA-256 5db3f2959a2da32826e254d59a442985a97570cffc91eefbbd3965f23ce3cf4e
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=sintro 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_term_transport · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 202 · statement SHA-256 7211c0336cdb339b1ce4ac105632c77111045932bc2a1761ef4872ec4703f684
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_term_zero_left · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 203 · statement SHA-256 6466b449ceec0861a86b0554524d46c376e33ac60033a24d9ef59b00e2bc8b0d
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=0intro 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
polynomial_diagonal_term_zero_right · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 204 · statement SHA-256 ece90a7924b123ef610b4f56fc568841af320732fc5a366f3c43377467dbdd57
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=0intro 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
polynomial_diagonal_term_past_support · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 205 · statement SHA-256 f7a587b10eee6a825333f18d26c1fe172aee82dc503fc11ca7745765daddc67c
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=0intro 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
polynomial_diagonal_prefix_entry · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 206 · statement SHA-256 395aaa03e1ac5b8cfdd29791cb6a29e93a4c1a933c204ab4d5142d6f919f716a
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_from_pointwise · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 207 · statement SHA-256 b2d3ce425b183f513b3c973323841654b4c4219b05ca49742c8715f60b84b05a
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_prefix_functional · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 208 · statement SHA-256 2c92bd1550e3a3adf207e60f658799e971fbc68ef75f533aed5e33adf707fea9
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
polynomial_diagonal_prefix_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 209 · statement SHA-256 1232289d771ccc9da8f958da18d17273ec63a40683d77c6b702cad274c40da73
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
polynomial_diagonal_prefix_input_transport · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 210 · statement SHA-256 0eee93535c776e98e6667a51d15691fa14640e0e6a968c3e2d15c1962a4f92ce
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_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 211 · statement SHA-256 37b4cfe208f2aa7330d3c96e61d2282a19bd4d480797b309a3142b2ba2345e5f
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_coefficient_functional · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 212 · statement SHA-256 72b9b85d27f8a691468d76df8bfb2cc9817d837000ece5f325f18c496cbfaa9c
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=sintro 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
prime_field_convolution_coefficient_bounded · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 213 · statement SHA-256 cefc4f251e2a51096b96ee5c64ef8bd2b989182937999edde121e721850d0460
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_coefficient_transport · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 214 · statement SHA-256 305624e426212382fffb0e919b607c3122ed712a568572b3eeceb26503d4a5ce
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_convolution_coefficient_zero_left · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 215 · statement SHA-256 8c4c119a6c21ea6e53caab246406b09aebb21072d080af4b29089494c7635274
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=0intro 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
prime_field_convolution_coefficient_zero_right · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 216 · statement SHA-256 669ceda800776b70fdc705d7ffbcef98a19ec46f4d60bea82a3b5bd57b3a7b1b
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=0intro 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
prime_field_convolution_coefficient_zero_past_support · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 217 · statement SHA-256 7e8bd8fc60ea17c8fefd0b1e08b90b8375d2556c1fbdf0a0481c910897ce5e28
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=0intro 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_convolution_prefix_entry · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 218 · statement SHA-256 d21408e47652092765493134991d8b9f3d00417e446dc35f5cc573376e282b11
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
prime_field_convolution_prefix_from_pointwise · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 219 · statement SHA-256 edd6de9b1ef2203a6b165ca7302bbcd9244a0b9de90eb6c138b122a8f14887b3
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
prime_field_convolution_prefix_functional · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 220 · statement SHA-256 cd99928d1d4054c4d2959b1a7f0adf41cc20457a825645848271ee564442a8be
forall p ab ac L bb bc M 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_terms_code_prefix_unique_firstcoefficient pfc_terms_scale_prefix_unique_firstcoefficient pfc_natural_sum_prefix_unique_firstcoefficient. ((forall pfc_index_prefix_unique_firstcoefficientdiagonal. (exists pfa_gap_prefix_unique_firstcoefficientdiagonalbound. pfa_gap_prefix_unique_firstcoefficientdiagonalbound + S (pfc_index_prefix_unique_firstcoefficientdiagonal) = (S (pfc_index_prefix_unique_first))) -> exists pfc_value_prefix_unique_firstcoefficientdiagonal. ((((exists ff_h_pfp_prefix_unique_firstcoefficientdiagonalentry. ff_h_pfp_prefix_unique_firstcoefficientdiagonalentry + S (pfc_value_prefix_unique_firstcoefficientdiagonal) = S ((S (pfc_index_prefix_unique_firstcoefficientdiagonal)) * pfc_terms_scale_prefix_unique_firstcoefficient)) /\ exists ff_q_pfp_prefix_unique_firstcoefficientdiagonalentry. pfc_terms_code_prefix_unique_firstcoefficient = ff_q_pfp_prefix_unique_firstcoefficientdiagonalentry * S ((S (pfc_index_prefix_unique_firstcoefficientdiagonal)) * pfc_terms_scale_prefix_unique_firstcoefficient) + (pfc_value_prefix_unique_firstcoefficientdiagonal))) /\ ((exists pfc_complement_prefix_unique_firstcoefficientdiagonalterm pfc_left_prefix_unique_firstcoefficientdiagonalterm pfc_right_prefix_unique_firstcoefficientdiagonalterm. (((pfc_index_prefix_unique_firstcoefficientdiagonal)+pfc_complement_prefix_unique_firstcoefficientdiagonalterm=(pfc_index_prefix_unique_first)) /\ ((((((exists pfa_gap_prefix_unique_firstcoefficientdiagonaltermleftinside. pfa_gap_prefix_unique_firstcoefficientdiagonaltermleftinside + S (pfc_index_prefix_unique_firstcoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_unique_firstcoefficientdiagonaltermleftentry. ff_h_pfp_prefix_unique_firstcoefficientdiagonaltermleftentry + S (pfc_left_prefix_unique_firstcoefficientdiagonalterm) = S ((S (pfc_index_prefix_unique_firstcoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_prefix_unique_firstcoefficientdiagonaltermleftentry. ab = ff_q_pfp_prefix_unique_firstcoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_unique_firstcoefficientdiagonal)) * ac) + (pfc_left_prefix_unique_firstcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_unique_firstcoefficientdiagonaltermleftoutside. pfc_gap_prefix_unique_firstcoefficientdiagonaltermleftoutside+(L)=(pfc_index_prefix_unique_firstcoefficientdiagonal)) /\ (((pfc_left_prefix_unique_firstcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_unique_firstcoefficientdiagonaltermrightinside. pfa_gap_prefix_unique_firstcoefficientdiagonaltermrightinside + S (pfc_complement_prefix_unique_firstcoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_unique_firstcoefficientdiagonaltermrightentry. ff_h_pfp_prefix_unique_firstcoefficientdiagonaltermrightentry + S (pfc_right_prefix_unique_firstcoefficientdiagonalterm) = S ((S (pfc_complement_prefix_unique_firstcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_unique_firstcoefficientdiagonaltermrightentry. bb = ff_q_pfp_prefix_unique_firstcoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_unique_firstcoefficientdiagonalterm)) * bc) + (pfc_right_prefix_unique_firstcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_unique_firstcoefficientdiagonaltermrightoutside. pfc_gap_prefix_unique_firstcoefficientdiagonaltermrightoutside+(M)=(pfc_complement_prefix_unique_firstcoefficientdiagonalterm)) /\ (((pfc_right_prefix_unique_firstcoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_unique_firstcoefficientdiagonal)=pfc_left_prefix_unique_firstcoefficientdiagonalterm*pfc_right_prefix_unique_firstcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_unique_firstcoefficientsum fs_v_pfc_prefix_unique_firstcoefficientsum. ((((exists fs_h_pfc_prefix_unique_firstcoefficientsum_body_start. fs_h_pfc_prefix_unique_firstcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_unique_firstcoefficientsum)) /\ exists fs_q_pfc_prefix_unique_firstcoefficientsum_body_start. fs_u_pfc_prefix_unique_firstcoefficientsum = fs_q_pfc_prefix_unique_firstcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_unique_firstcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_unique_firstcoefficientsum_body_terminal. fs_h_pfc_prefix_unique_firstcoefficientsum_body_terminal + S (pfc_natural_sum_prefix_unique_firstcoefficient) = S ((S (S (pfc_index_prefix_unique_first))) * fs_v_pfc_prefix_unique_firstcoefficientsum)) /\ exists fs_q_pfc_prefix_unique_firstcoefficientsum_body_terminal. fs_u_pfc_prefix_unique_firstcoefficientsum = fs_q_pfc_prefix_unique_firstcoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_unique_first))) * fs_v_pfc_prefix_unique_firstcoefficientsum) + (pfc_natural_sum_prefix_unique_firstcoefficient))) /\ forall fs_i_pfc_prefix_unique_firstcoefficientsum_body_steps. (exists fs_lt_pfc_prefix_unique_firstcoefficientsum_body_steps_bound. fs_lt_pfc_prefix_unique_firstcoefficientsum_body_steps_bound + S fs_i_pfc_prefix_unique_firstcoefficientsum_body_steps = S (pfc_index_prefix_unique_first)) -> exists fs_a_pfc_prefix_unique_firstcoefficientsum_body_steps fs_r_pfc_prefix_unique_firstcoefficientsum_body_steps fs_s_pfc_prefix_unique_firstcoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_unique_firstcoefficientsum_body_steps_summand. fs_h_pfc_prefix_unique_firstcoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_unique_firstcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_unique_firstcoefficientsum_body_steps)) * pfc_terms_scale_prefix_unique_firstcoefficient)) /\ exists fs_q_pfc_prefix_unique_firstcoefficientsum_body_steps_summand. pfc_terms_code_prefix_unique_firstcoefficient = fs_q_pfc_prefix_unique_firstcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_unique_firstcoefficientsum_body_steps)) * pfc_terms_scale_prefix_unique_firstcoefficient) + (fs_a_pfc_prefix_unique_firstcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_unique_firstcoefficientsum_body_steps_partial. fs_h_pfc_prefix_unique_firstcoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_unique_firstcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_unique_firstcoefficientsum_body_steps)) * fs_v_pfc_prefix_unique_firstcoefficientsum)) /\ exists fs_q_pfc_prefix_unique_firstcoefficientsum_body_steps_partial. fs_u_pfc_prefix_unique_firstcoefficientsum = fs_q_pfc_prefix_unique_firstcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_unique_firstcoefficientsum_body_steps)) * fs_v_pfc_prefix_unique_firstcoefficientsum) + (fs_r_pfc_prefix_unique_firstcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_unique_firstcoefficientsum_body_steps_successor. fs_h_pfc_prefix_unique_firstcoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_unique_firstcoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_unique_firstcoefficientsum_body_steps)) * fs_v_pfc_prefix_unique_firstcoefficientsum)) /\ exists fs_q_pfc_prefix_unique_firstcoefficientsum_body_steps_successor. fs_u_pfc_prefix_unique_firstcoefficientsum = fs_q_pfc_prefix_unique_firstcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_unique_firstcoefficientsum_body_steps)) * fs_v_pfc_prefix_unique_firstcoefficientsum) + (fs_s_pfc_prefix_unique_firstcoefficientsum_body_steps))) /\ fs_s_pfc_prefix_unique_firstcoefficientsum_body_steps = fs_r_pfc_prefix_unique_firstcoefficientsum_body_steps + fs_a_pfc_prefix_unique_firstcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_unique_firstcoefficientresiduebound. pfa_gap_prefix_unique_firstcoefficientresiduebound + S (pfc_value_prefix_unique_first) = (p)) /\ ((exists pfa_offset_left_prefix_unique_firstcoefficientresiduecongruence pfa_offset_right_prefix_unique_firstcoefficientresiduecongruence. (pfc_natural_sum_prefix_unique_firstcoefficient) + (p) * pfa_offset_left_prefix_unique_firstcoefficientresiduecongruence = (pfc_value_prefix_unique_first) + (p) * pfa_offset_right_prefix_unique_firstcoefficientresiduecongruence)))))))))))) -> (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_terms_code_prefix_unique_secondcoefficient pfc_terms_scale_prefix_unique_secondcoefficient pfc_natural_sum_prefix_unique_secondcoefficient. ((forall pfc_index_prefix_unique_secondcoefficientdiagonal. (exists pfa_gap_prefix_unique_secondcoefficientdiagonalbound. pfa_gap_prefix_unique_secondcoefficientdiagonalbound + S (pfc_index_prefix_unique_secondcoefficientdiagonal) = (S (pfc_index_prefix_unique_second))) -> exists pfc_value_prefix_unique_secondcoefficientdiagonal. ((((exists ff_h_pfp_prefix_unique_secondcoefficientdiagonalentry. ff_h_pfp_prefix_unique_secondcoefficientdiagonalentry + S (pfc_value_prefix_unique_secondcoefficientdiagonal) = S ((S (pfc_index_prefix_unique_secondcoefficientdiagonal)) * pfc_terms_scale_prefix_unique_secondcoefficient)) /\ exists ff_q_pfp_prefix_unique_secondcoefficientdiagonalentry. pfc_terms_code_prefix_unique_secondcoefficient = ff_q_pfp_prefix_unique_secondcoefficientdiagonalentry * S ((S (pfc_index_prefix_unique_secondcoefficientdiagonal)) * pfc_terms_scale_prefix_unique_secondcoefficient) + (pfc_value_prefix_unique_secondcoefficientdiagonal))) /\ ((exists pfc_complement_prefix_unique_secondcoefficientdiagonalterm pfc_left_prefix_unique_secondcoefficientdiagonalterm pfc_right_prefix_unique_secondcoefficientdiagonalterm. (((pfc_index_prefix_unique_secondcoefficientdiagonal)+pfc_complement_prefix_unique_secondcoefficientdiagonalterm=(pfc_index_prefix_unique_second)) /\ ((((((exists pfa_gap_prefix_unique_secondcoefficientdiagonaltermleftinside. pfa_gap_prefix_unique_secondcoefficientdiagonaltermleftinside + S (pfc_index_prefix_unique_secondcoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_unique_secondcoefficientdiagonaltermleftentry. ff_h_pfp_prefix_unique_secondcoefficientdiagonaltermleftentry + S (pfc_left_prefix_unique_secondcoefficientdiagonalterm) = S ((S (pfc_index_prefix_unique_secondcoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_prefix_unique_secondcoefficientdiagonaltermleftentry. ab = ff_q_pfp_prefix_unique_secondcoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_unique_secondcoefficientdiagonal)) * ac) + (pfc_left_prefix_unique_secondcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_unique_secondcoefficientdiagonaltermleftoutside. pfc_gap_prefix_unique_secondcoefficientdiagonaltermleftoutside+(L)=(pfc_index_prefix_unique_secondcoefficientdiagonal)) /\ (((pfc_left_prefix_unique_secondcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_unique_secondcoefficientdiagonaltermrightinside. pfa_gap_prefix_unique_secondcoefficientdiagonaltermrightinside + S (pfc_complement_prefix_unique_secondcoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_unique_secondcoefficientdiagonaltermrightentry. ff_h_pfp_prefix_unique_secondcoefficientdiagonaltermrightentry + S (pfc_right_prefix_unique_secondcoefficientdiagonalterm) = S ((S (pfc_complement_prefix_unique_secondcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_unique_secondcoefficientdiagonaltermrightentry. bb = ff_q_pfp_prefix_unique_secondcoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_unique_secondcoefficientdiagonalterm)) * bc) + (pfc_right_prefix_unique_secondcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_unique_secondcoefficientdiagonaltermrightoutside. pfc_gap_prefix_unique_secondcoefficientdiagonaltermrightoutside+(M)=(pfc_complement_prefix_unique_secondcoefficientdiagonalterm)) /\ (((pfc_right_prefix_unique_secondcoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_unique_secondcoefficientdiagonal)=pfc_left_prefix_unique_secondcoefficientdiagonalterm*pfc_right_prefix_unique_secondcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_unique_secondcoefficientsum fs_v_pfc_prefix_unique_secondcoefficientsum. ((((exists fs_h_pfc_prefix_unique_secondcoefficientsum_body_start. fs_h_pfc_prefix_unique_secondcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_unique_secondcoefficientsum)) /\ exists fs_q_pfc_prefix_unique_secondcoefficientsum_body_start. fs_u_pfc_prefix_unique_secondcoefficientsum = fs_q_pfc_prefix_unique_secondcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_unique_secondcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_unique_secondcoefficientsum_body_terminal. fs_h_pfc_prefix_unique_secondcoefficientsum_body_terminal + S (pfc_natural_sum_prefix_unique_secondcoefficient) = S ((S (S (pfc_index_prefix_unique_second))) * fs_v_pfc_prefix_unique_secondcoefficientsum)) /\ exists fs_q_pfc_prefix_unique_secondcoefficientsum_body_terminal. fs_u_pfc_prefix_unique_secondcoefficientsum = fs_q_pfc_prefix_unique_secondcoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_unique_second))) * fs_v_pfc_prefix_unique_secondcoefficientsum) + (pfc_natural_sum_prefix_unique_secondcoefficient))) /\ forall fs_i_pfc_prefix_unique_secondcoefficientsum_body_steps. (exists fs_lt_pfc_prefix_unique_secondcoefficientsum_body_steps_bound. fs_lt_pfc_prefix_unique_secondcoefficientsum_body_steps_bound + S fs_i_pfc_prefix_unique_secondcoefficientsum_body_steps = S (pfc_index_prefix_unique_second)) -> exists fs_a_pfc_prefix_unique_secondcoefficientsum_body_steps fs_r_pfc_prefix_unique_secondcoefficientsum_body_steps fs_s_pfc_prefix_unique_secondcoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_unique_secondcoefficientsum_body_steps_summand. fs_h_pfc_prefix_unique_secondcoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_unique_secondcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_unique_secondcoefficientsum_body_steps)) * pfc_terms_scale_prefix_unique_secondcoefficient)) /\ exists fs_q_pfc_prefix_unique_secondcoefficientsum_body_steps_summand. pfc_terms_code_prefix_unique_secondcoefficient = fs_q_pfc_prefix_unique_secondcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_unique_secondcoefficientsum_body_steps)) * pfc_terms_scale_prefix_unique_secondcoefficient) + (fs_a_pfc_prefix_unique_secondcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_unique_secondcoefficientsum_body_steps_partial. fs_h_pfc_prefix_unique_secondcoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_unique_secondcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_unique_secondcoefficientsum_body_steps)) * fs_v_pfc_prefix_unique_secondcoefficientsum)) /\ exists fs_q_pfc_prefix_unique_secondcoefficientsum_body_steps_partial. fs_u_pfc_prefix_unique_secondcoefficientsum = fs_q_pfc_prefix_unique_secondcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_unique_secondcoefficientsum_body_steps)) * fs_v_pfc_prefix_unique_secondcoefficientsum) + (fs_r_pfc_prefix_unique_secondcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_unique_secondcoefficientsum_body_steps_successor. fs_h_pfc_prefix_unique_secondcoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_unique_secondcoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_unique_secondcoefficientsum_body_steps)) * fs_v_pfc_prefix_unique_secondcoefficientsum)) /\ exists fs_q_pfc_prefix_unique_secondcoefficientsum_body_steps_successor. fs_u_pfc_prefix_unique_secondcoefficientsum = fs_q_pfc_prefix_unique_secondcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_unique_secondcoefficientsum_body_steps)) * fs_v_pfc_prefix_unique_secondcoefficientsum) + (fs_s_pfc_prefix_unique_secondcoefficientsum_body_steps))) /\ fs_s_pfc_prefix_unique_secondcoefficientsum_body_steps = fs_r_pfc_prefix_unique_secondcoefficientsum_body_steps + fs_a_pfc_prefix_unique_secondcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_unique_secondcoefficientresiduebound. pfa_gap_prefix_unique_secondcoefficientresiduebound + S (pfc_value_prefix_unique_second) = (p)) /\ ((exists pfa_offset_left_prefix_unique_secondcoefficientresiduecongruence pfa_offset_right_prefix_unique_secondcoefficientresiduecongruence. (pfc_natural_sum_prefix_unique_secondcoefficient) + (p) * pfa_offset_left_prefix_unique_secondcoefficientresiduecongruence = (pfc_value_prefix_unique_second) + (p) * pfa_offset_right_prefix_unique_secondcoefficientresiduecongruence)))))))))))) -> (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 pintro abintro acintro Lintro bbintro bcintro Mintro 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 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 (M)specialize prime_field_convolution_coefficient_functional (i)specialize prime_field_convolution_coefficient_functional (a)specialize prime_field_convolution_coefficient_functional (x)apply prime_field_convolution_coefficient_functionalspecialize 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 (db)specialize prime_field_convolution_prefix_entry (dc)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 hdexact hiexact haspecialize 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 (eb)specialize prime_field_convolution_prefix_entry (ec)specialize prime_field_convolution_prefix_entry (N)specialize prime_field_convolution_prefix_entry (i)specialize prime_field_convolution_prefix_entry (x)apply prime_field_convolution_prefix_entryexact heexact hiexact hb_witnessrewrite heqrewrite heqexact hb_witness
prime_field_convolution_prefix_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 221 · statement SHA-256 da79e875558867cc0f8e76432e1920208e6a04581bf93d8fbfc335078e91e78b
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_convolution_prefix_bounded · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 222 · statement SHA-256 e01e7fefa29235f5137d9e2477a92427484e72ec8b0bdc207b4607908afb12b6
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_convolution_prefix_input_transport · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 223 · statement SHA-256 6e3327d598c3c5c226bb518292590820ae80264e0a5b27782717c6eaff66eff2
forall p ab ac L bb bc M AB AC BB BC cb cc N. (forall mdr_i_pfp_prefix_input_recode_a mdr_a_pfp_prefix_input_recode_a. (exists mdr_gap_pfp_prefix_input_recode_ab. mdr_gap_pfp_prefix_input_recode_ab + S (mdr_i_pfp_prefix_input_recode_a) = (L)) -> (((exists ff_h_mdr_pfp_prefix_input_recode_ao. ff_h_mdr_pfp_prefix_input_recode_ao + S (mdr_a_pfp_prefix_input_recode_a) = S ((S (mdr_i_pfp_prefix_input_recode_a)) * ac)) /\ exists ff_q_mdr_pfp_prefix_input_recode_ao. ab = ff_q_mdr_pfp_prefix_input_recode_ao * S ((S (mdr_i_pfp_prefix_input_recode_a)) * ac) + (mdr_a_pfp_prefix_input_recode_a))) -> (((exists ff_h_mdr_pfp_prefix_input_recode_an. ff_h_mdr_pfp_prefix_input_recode_an + S (mdr_a_pfp_prefix_input_recode_a) = S ((S (mdr_i_pfp_prefix_input_recode_a)) * AC)) /\ exists ff_q_mdr_pfp_prefix_input_recode_an. AB = ff_q_mdr_pfp_prefix_input_recode_an * S ((S (mdr_i_pfp_prefix_input_recode_a)) * AC) + (mdr_a_pfp_prefix_input_recode_a)))) -> (forall mdr_i_pfp_prefix_input_recode_b mdr_a_pfp_prefix_input_recode_b. (exists mdr_gap_pfp_prefix_input_recode_bb. mdr_gap_pfp_prefix_input_recode_bb + S (mdr_i_pfp_prefix_input_recode_b) = (M)) -> (((exists ff_h_mdr_pfp_prefix_input_recode_bo. ff_h_mdr_pfp_prefix_input_recode_bo + S (mdr_a_pfp_prefix_input_recode_b) = S ((S (mdr_i_pfp_prefix_input_recode_b)) * bc)) /\ exists ff_q_mdr_pfp_prefix_input_recode_bo. bb = ff_q_mdr_pfp_prefix_input_recode_bo * S ((S (mdr_i_pfp_prefix_input_recode_b)) * bc) + (mdr_a_pfp_prefix_input_recode_b))) -> (((exists ff_h_mdr_pfp_prefix_input_recode_bn. ff_h_mdr_pfp_prefix_input_recode_bn + S (mdr_a_pfp_prefix_input_recode_b) = S ((S (mdr_i_pfp_prefix_input_recode_b)) * BC)) /\ exists ff_q_mdr_pfp_prefix_input_recode_bn. BB = ff_q_mdr_pfp_prefix_input_recode_bn * S ((S (mdr_i_pfp_prefix_input_recode_b)) * BC) + (mdr_a_pfp_prefix_input_recode_b)))) -> (forall pfc_index_prefix_input_old. (exists pfa_gap_prefix_input_oldbound. pfa_gap_prefix_input_oldbound + S (pfc_index_prefix_input_old) = (N)) -> exists pfc_value_prefix_input_old. ((((exists ff_h_pfp_prefix_input_oldentry. ff_h_pfp_prefix_input_oldentry + S (pfc_value_prefix_input_old) = S ((S (pfc_index_prefix_input_old)) * cc)) /\ exists ff_q_pfp_prefix_input_oldentry. cb = ff_q_pfp_prefix_input_oldentry * S ((S (pfc_index_prefix_input_old)) * cc) + (pfc_value_prefix_input_old))) /\ ((exists pfc_terms_code_prefix_input_oldcoefficient pfc_terms_scale_prefix_input_oldcoefficient pfc_natural_sum_prefix_input_oldcoefficient. ((forall pfc_index_prefix_input_oldcoefficientdiagonal. (exists pfa_gap_prefix_input_oldcoefficientdiagonalbound. pfa_gap_prefix_input_oldcoefficientdiagonalbound + S (pfc_index_prefix_input_oldcoefficientdiagonal) = (S (pfc_index_prefix_input_old))) -> exists pfc_value_prefix_input_oldcoefficientdiagonal. ((((exists ff_h_pfp_prefix_input_oldcoefficientdiagonalentry. ff_h_pfp_prefix_input_oldcoefficientdiagonalentry + S (pfc_value_prefix_input_oldcoefficientdiagonal) = S ((S (pfc_index_prefix_input_oldcoefficientdiagonal)) * pfc_terms_scale_prefix_input_oldcoefficient)) /\ exists ff_q_pfp_prefix_input_oldcoefficientdiagonalentry. pfc_terms_code_prefix_input_oldcoefficient = ff_q_pfp_prefix_input_oldcoefficientdiagonalentry * S ((S (pfc_index_prefix_input_oldcoefficientdiagonal)) * pfc_terms_scale_prefix_input_oldcoefficient) + (pfc_value_prefix_input_oldcoefficientdiagonal))) /\ ((exists pfc_complement_prefix_input_oldcoefficientdiagonalterm pfc_left_prefix_input_oldcoefficientdiagonalterm pfc_right_prefix_input_oldcoefficientdiagonalterm. (((pfc_index_prefix_input_oldcoefficientdiagonal)+pfc_complement_prefix_input_oldcoefficientdiagonalterm=(pfc_index_prefix_input_old)) /\ ((((((exists pfa_gap_prefix_input_oldcoefficientdiagonaltermleftinside. pfa_gap_prefix_input_oldcoefficientdiagonaltermleftinside + S (pfc_index_prefix_input_oldcoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_input_oldcoefficientdiagonaltermleftentry. ff_h_pfp_prefix_input_oldcoefficientdiagonaltermleftentry + S (pfc_left_prefix_input_oldcoefficientdiagonalterm) = S ((S (pfc_index_prefix_input_oldcoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_prefix_input_oldcoefficientdiagonaltermleftentry. ab = ff_q_pfp_prefix_input_oldcoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_input_oldcoefficientdiagonal)) * ac) + (pfc_left_prefix_input_oldcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_input_oldcoefficientdiagonaltermleftoutside. pfc_gap_prefix_input_oldcoefficientdiagonaltermleftoutside+(L)=(pfc_index_prefix_input_oldcoefficientdiagonal)) /\ (((pfc_left_prefix_input_oldcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_input_oldcoefficientdiagonaltermrightinside. pfa_gap_prefix_input_oldcoefficientdiagonaltermrightinside + S (pfc_complement_prefix_input_oldcoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_input_oldcoefficientdiagonaltermrightentry. ff_h_pfp_prefix_input_oldcoefficientdiagonaltermrightentry + S (pfc_right_prefix_input_oldcoefficientdiagonalterm) = S ((S (pfc_complement_prefix_input_oldcoefficientdiagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_input_oldcoefficientdiagonaltermrightentry. bb = ff_q_pfp_prefix_input_oldcoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_input_oldcoefficientdiagonalterm)) * bc) + (pfc_right_prefix_input_oldcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_input_oldcoefficientdiagonaltermrightoutside. pfc_gap_prefix_input_oldcoefficientdiagonaltermrightoutside+(M)=(pfc_complement_prefix_input_oldcoefficientdiagonalterm)) /\ (((pfc_right_prefix_input_oldcoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_input_oldcoefficientdiagonal)=pfc_left_prefix_input_oldcoefficientdiagonalterm*pfc_right_prefix_input_oldcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_input_oldcoefficientsum fs_v_pfc_prefix_input_oldcoefficientsum. ((((exists fs_h_pfc_prefix_input_oldcoefficientsum_body_start. fs_h_pfc_prefix_input_oldcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_input_oldcoefficientsum)) /\ exists fs_q_pfc_prefix_input_oldcoefficientsum_body_start. fs_u_pfc_prefix_input_oldcoefficientsum = fs_q_pfc_prefix_input_oldcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_input_oldcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_input_oldcoefficientsum_body_terminal. fs_h_pfc_prefix_input_oldcoefficientsum_body_terminal + S (pfc_natural_sum_prefix_input_oldcoefficient) = S ((S (S (pfc_index_prefix_input_old))) * fs_v_pfc_prefix_input_oldcoefficientsum)) /\ exists fs_q_pfc_prefix_input_oldcoefficientsum_body_terminal. fs_u_pfc_prefix_input_oldcoefficientsum = fs_q_pfc_prefix_input_oldcoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_input_old))) * fs_v_pfc_prefix_input_oldcoefficientsum) + (pfc_natural_sum_prefix_input_oldcoefficient))) /\ forall fs_i_pfc_prefix_input_oldcoefficientsum_body_steps. (exists fs_lt_pfc_prefix_input_oldcoefficientsum_body_steps_bound. fs_lt_pfc_prefix_input_oldcoefficientsum_body_steps_bound + S fs_i_pfc_prefix_input_oldcoefficientsum_body_steps = S (pfc_index_prefix_input_old)) -> exists fs_a_pfc_prefix_input_oldcoefficientsum_body_steps fs_r_pfc_prefix_input_oldcoefficientsum_body_steps fs_s_pfc_prefix_input_oldcoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_input_oldcoefficientsum_body_steps_summand. fs_h_pfc_prefix_input_oldcoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_input_oldcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_input_oldcoefficientsum_body_steps)) * pfc_terms_scale_prefix_input_oldcoefficient)) /\ exists fs_q_pfc_prefix_input_oldcoefficientsum_body_steps_summand. pfc_terms_code_prefix_input_oldcoefficient = fs_q_pfc_prefix_input_oldcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_input_oldcoefficientsum_body_steps)) * pfc_terms_scale_prefix_input_oldcoefficient) + (fs_a_pfc_prefix_input_oldcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_input_oldcoefficientsum_body_steps_partial. fs_h_pfc_prefix_input_oldcoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_input_oldcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_input_oldcoefficientsum_body_steps)) * fs_v_pfc_prefix_input_oldcoefficientsum)) /\ exists fs_q_pfc_prefix_input_oldcoefficientsum_body_steps_partial. fs_u_pfc_prefix_input_oldcoefficientsum = fs_q_pfc_prefix_input_oldcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_input_oldcoefficientsum_body_steps)) * fs_v_pfc_prefix_input_oldcoefficientsum) + (fs_r_pfc_prefix_input_oldcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_input_oldcoefficientsum_body_steps_successor. fs_h_pfc_prefix_input_oldcoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_input_oldcoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_input_oldcoefficientsum_body_steps)) * fs_v_pfc_prefix_input_oldcoefficientsum)) /\ exists fs_q_pfc_prefix_input_oldcoefficientsum_body_steps_successor. fs_u_pfc_prefix_input_oldcoefficientsum = fs_q_pfc_prefix_input_oldcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_input_oldcoefficientsum_body_steps)) * fs_v_pfc_prefix_input_oldcoefficientsum) + (fs_s_pfc_prefix_input_oldcoefficientsum_body_steps))) /\ fs_s_pfc_prefix_input_oldcoefficientsum_body_steps = fs_r_pfc_prefix_input_oldcoefficientsum_body_steps + fs_a_pfc_prefix_input_oldcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_input_oldcoefficientresiduebound. pfa_gap_prefix_input_oldcoefficientresiduebound + S (pfc_value_prefix_input_old) = (p)) /\ ((exists pfa_offset_left_prefix_input_oldcoefficientresiduecongruence pfa_offset_right_prefix_input_oldcoefficientresiduecongruence. (pfc_natural_sum_prefix_input_oldcoefficient) + (p) * pfa_offset_left_prefix_input_oldcoefficientresiduecongruence = (pfc_value_prefix_input_old) + (p) * pfa_offset_right_prefix_input_oldcoefficientresiduecongruence)))))))))))) -> (forall pfc_index_prefix_input_new. (exists pfa_gap_prefix_input_newbound. pfa_gap_prefix_input_newbound + S (pfc_index_prefix_input_new) = (N)) -> exists pfc_value_prefix_input_new. ((((exists ff_h_pfp_prefix_input_newentry. ff_h_pfp_prefix_input_newentry + S (pfc_value_prefix_input_new) = S ((S (pfc_index_prefix_input_new)) * cc)) /\ exists ff_q_pfp_prefix_input_newentry. cb = ff_q_pfp_prefix_input_newentry * S ((S (pfc_index_prefix_input_new)) * cc) + (pfc_value_prefix_input_new))) /\ ((exists pfc_terms_code_prefix_input_newcoefficient pfc_terms_scale_prefix_input_newcoefficient pfc_natural_sum_prefix_input_newcoefficient. ((forall pfc_index_prefix_input_newcoefficientdiagonal. (exists pfa_gap_prefix_input_newcoefficientdiagonalbound. pfa_gap_prefix_input_newcoefficientdiagonalbound + S (pfc_index_prefix_input_newcoefficientdiagonal) = (S (pfc_index_prefix_input_new))) -> exists pfc_value_prefix_input_newcoefficientdiagonal. ((((exists ff_h_pfp_prefix_input_newcoefficientdiagonalentry. ff_h_pfp_prefix_input_newcoefficientdiagonalentry + S (pfc_value_prefix_input_newcoefficientdiagonal) = S ((S (pfc_index_prefix_input_newcoefficientdiagonal)) * pfc_terms_scale_prefix_input_newcoefficient)) /\ exists ff_q_pfp_prefix_input_newcoefficientdiagonalentry. pfc_terms_code_prefix_input_newcoefficient = ff_q_pfp_prefix_input_newcoefficientdiagonalentry * S ((S (pfc_index_prefix_input_newcoefficientdiagonal)) * pfc_terms_scale_prefix_input_newcoefficient) + (pfc_value_prefix_input_newcoefficientdiagonal))) /\ ((exists pfc_complement_prefix_input_newcoefficientdiagonalterm pfc_left_prefix_input_newcoefficientdiagonalterm pfc_right_prefix_input_newcoefficientdiagonalterm. (((pfc_index_prefix_input_newcoefficientdiagonal)+pfc_complement_prefix_input_newcoefficientdiagonalterm=(pfc_index_prefix_input_new)) /\ ((((((exists pfa_gap_prefix_input_newcoefficientdiagonaltermleftinside. pfa_gap_prefix_input_newcoefficientdiagonaltermleftinside + S (pfc_index_prefix_input_newcoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_input_newcoefficientdiagonaltermleftentry. ff_h_pfp_prefix_input_newcoefficientdiagonaltermleftentry + S (pfc_left_prefix_input_newcoefficientdiagonalterm) = S ((S (pfc_index_prefix_input_newcoefficientdiagonal)) * AC)) /\ exists ff_q_pfp_prefix_input_newcoefficientdiagonaltermleftentry. AB = ff_q_pfp_prefix_input_newcoefficientdiagonaltermleftentry * S ((S (pfc_index_prefix_input_newcoefficientdiagonal)) * AC) + (pfc_left_prefix_input_newcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_input_newcoefficientdiagonaltermleftoutside. pfc_gap_prefix_input_newcoefficientdiagonaltermleftoutside+(L)=(pfc_index_prefix_input_newcoefficientdiagonal)) /\ (((pfc_left_prefix_input_newcoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_input_newcoefficientdiagonaltermrightinside. pfa_gap_prefix_input_newcoefficientdiagonaltermrightinside + S (pfc_complement_prefix_input_newcoefficientdiagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_input_newcoefficientdiagonaltermrightentry. ff_h_pfp_prefix_input_newcoefficientdiagonaltermrightentry + S (pfc_right_prefix_input_newcoefficientdiagonalterm) = S ((S (pfc_complement_prefix_input_newcoefficientdiagonalterm)) * BC)) /\ exists ff_q_pfp_prefix_input_newcoefficientdiagonaltermrightentry. BB = ff_q_pfp_prefix_input_newcoefficientdiagonaltermrightentry * S ((S (pfc_complement_prefix_input_newcoefficientdiagonalterm)) * BC) + (pfc_right_prefix_input_newcoefficientdiagonalterm)))))) \/ (((exists pfc_gap_prefix_input_newcoefficientdiagonaltermrightoutside. pfc_gap_prefix_input_newcoefficientdiagonaltermrightoutside+(M)=(pfc_complement_prefix_input_newcoefficientdiagonalterm)) /\ (((pfc_right_prefix_input_newcoefficientdiagonalterm)=0))))) /\ (((pfc_value_prefix_input_newcoefficientdiagonal)=pfc_left_prefix_input_newcoefficientdiagonalterm*pfc_right_prefix_input_newcoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_input_newcoefficientsum fs_v_pfc_prefix_input_newcoefficientsum. ((((exists fs_h_pfc_prefix_input_newcoefficientsum_body_start. fs_h_pfc_prefix_input_newcoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_input_newcoefficientsum)) /\ exists fs_q_pfc_prefix_input_newcoefficientsum_body_start. fs_u_pfc_prefix_input_newcoefficientsum = fs_q_pfc_prefix_input_newcoefficientsum_body_start * S ((S (0)) * fs_v_pfc_prefix_input_newcoefficientsum) + (0))) /\ ((((exists fs_h_pfc_prefix_input_newcoefficientsum_body_terminal. fs_h_pfc_prefix_input_newcoefficientsum_body_terminal + S (pfc_natural_sum_prefix_input_newcoefficient) = S ((S (S (pfc_index_prefix_input_new))) * fs_v_pfc_prefix_input_newcoefficientsum)) /\ exists fs_q_pfc_prefix_input_newcoefficientsum_body_terminal. fs_u_pfc_prefix_input_newcoefficientsum = fs_q_pfc_prefix_input_newcoefficientsum_body_terminal * S ((S (S (pfc_index_prefix_input_new))) * fs_v_pfc_prefix_input_newcoefficientsum) + (pfc_natural_sum_prefix_input_newcoefficient))) /\ forall fs_i_pfc_prefix_input_newcoefficientsum_body_steps. (exists fs_lt_pfc_prefix_input_newcoefficientsum_body_steps_bound. fs_lt_pfc_prefix_input_newcoefficientsum_body_steps_bound + S fs_i_pfc_prefix_input_newcoefficientsum_body_steps = S (pfc_index_prefix_input_new)) -> exists fs_a_pfc_prefix_input_newcoefficientsum_body_steps fs_r_pfc_prefix_input_newcoefficientsum_body_steps fs_s_pfc_prefix_input_newcoefficientsum_body_steps. ((((exists fs_h_pfc_prefix_input_newcoefficientsum_body_steps_summand. fs_h_pfc_prefix_input_newcoefficientsum_body_steps_summand + S (fs_a_pfc_prefix_input_newcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_input_newcoefficientsum_body_steps)) * pfc_terms_scale_prefix_input_newcoefficient)) /\ exists fs_q_pfc_prefix_input_newcoefficientsum_body_steps_summand. pfc_terms_code_prefix_input_newcoefficient = fs_q_pfc_prefix_input_newcoefficientsum_body_steps_summand * S ((S (fs_i_pfc_prefix_input_newcoefficientsum_body_steps)) * pfc_terms_scale_prefix_input_newcoefficient) + (fs_a_pfc_prefix_input_newcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_input_newcoefficientsum_body_steps_partial. fs_h_pfc_prefix_input_newcoefficientsum_body_steps_partial + S (fs_r_pfc_prefix_input_newcoefficientsum_body_steps) = S ((S (fs_i_pfc_prefix_input_newcoefficientsum_body_steps)) * fs_v_pfc_prefix_input_newcoefficientsum)) /\ exists fs_q_pfc_prefix_input_newcoefficientsum_body_steps_partial. fs_u_pfc_prefix_input_newcoefficientsum = fs_q_pfc_prefix_input_newcoefficientsum_body_steps_partial * S ((S (fs_i_pfc_prefix_input_newcoefficientsum_body_steps)) * fs_v_pfc_prefix_input_newcoefficientsum) + (fs_r_pfc_prefix_input_newcoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_prefix_input_newcoefficientsum_body_steps_successor. fs_h_pfc_prefix_input_newcoefficientsum_body_steps_successor + S (fs_s_pfc_prefix_input_newcoefficientsum_body_steps) = S ((S (S fs_i_pfc_prefix_input_newcoefficientsum_body_steps)) * fs_v_pfc_prefix_input_newcoefficientsum)) /\ exists fs_q_pfc_prefix_input_newcoefficientsum_body_steps_successor. fs_u_pfc_prefix_input_newcoefficientsum = fs_q_pfc_prefix_input_newcoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_prefix_input_newcoefficientsum_body_steps)) * fs_v_pfc_prefix_input_newcoefficientsum) + (fs_s_pfc_prefix_input_newcoefficientsum_body_steps))) /\ fs_s_pfc_prefix_input_newcoefficientsum_body_steps = fs_r_pfc_prefix_input_newcoefficientsum_body_steps + fs_a_pfc_prefix_input_newcoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_prefix_input_newcoefficientresiduebound. pfa_gap_prefix_input_newcoefficientresiduebound + S (pfc_value_prefix_input_new) = (p)) /\ ((exists pfa_offset_left_prefix_input_newcoefficientresiduecongruence pfa_offset_right_prefix_input_newcoefficientresiduecongruence. (pfc_natural_sum_prefix_input_newcoefficient) + (p) * pfa_offset_left_prefix_input_newcoefficientresiduecongruence = (pfc_value_prefix_input_new) + (p) * pfa_offset_right_prefix_input_newcoefficientresiduecongruence))))))))))))intro pintro abintro acintro Lintro bbintro bcintro Mintro ABintro ACintro BBintro BCintro cbintro ccintro Nintro haintro hbintro hintro iintro hihave hv : exists r. ((((exists ff_h_pfp_prefix_recode_entry. ff_h_pfp_prefix_recode_entry + S (r) = S ((S (i)) * cc)) /\ exists ff_q_pfp_prefix_recode_entry. cb = ff_q_pfp_prefix_recode_entry * S ((S (i)) * cc) + (r))) /\ ((exists pfc_terms_code_prefix_recode_value pfc_terms_scale_prefix_recode_value pfc_natural_sum_prefix_recode_value. ((forall pfc_index_prefix_recode_valuediagonal. (exists pfa_gap_prefix_recode_valuediagonalbound. pfa_gap_prefix_recode_valuediagonalbound + S (pfc_index_prefix_recode_valuediagonal) = (S (i))) -> exists pfc_value_prefix_recode_valuediagonal. ((((exists ff_h_pfp_prefix_recode_valuediagonalentry. ff_h_pfp_prefix_recode_valuediagonalentry + S (pfc_value_prefix_recode_valuediagonal) = S ((S (pfc_index_prefix_recode_valuediagonal)) * pfc_terms_scale_prefix_recode_value)) /\ exists ff_q_pfp_prefix_recode_valuediagonalentry. pfc_terms_code_prefix_recode_value = ff_q_pfp_prefix_recode_valuediagonalentry * S ((S (pfc_index_prefix_recode_valuediagonal)) * pfc_terms_scale_prefix_recode_value) + (pfc_value_prefix_recode_valuediagonal))) /\ ((exists pfc_complement_prefix_recode_valuediagonalterm pfc_left_prefix_recode_valuediagonalterm pfc_right_prefix_recode_valuediagonalterm. (((pfc_index_prefix_recode_valuediagonal)+pfc_complement_prefix_recode_valuediagonalterm=(i)) /\ ((((((exists pfa_gap_prefix_recode_valuediagonaltermleftinside. pfa_gap_prefix_recode_valuediagonaltermleftinside + S (pfc_index_prefix_recode_valuediagonal) = (L)) /\ ((((exists ff_h_pfp_prefix_recode_valuediagonaltermleftentry. ff_h_pfp_prefix_recode_valuediagonaltermleftentry + S (pfc_left_prefix_recode_valuediagonalterm) = S ((S (pfc_index_prefix_recode_valuediagonal)) * ac)) /\ exists ff_q_pfp_prefix_recode_valuediagonaltermleftentry. ab = ff_q_pfp_prefix_recode_valuediagonaltermleftentry * S ((S (pfc_index_prefix_recode_valuediagonal)) * ac) + (pfc_left_prefix_recode_valuediagonalterm)))))) \/ (((exists pfc_gap_prefix_recode_valuediagonaltermleftoutside. pfc_gap_prefix_recode_valuediagonaltermleftoutside+(L)=(pfc_index_prefix_recode_valuediagonal)) /\ (((pfc_left_prefix_recode_valuediagonalterm)=0))))) /\ ((((((exists pfa_gap_prefix_recode_valuediagonaltermrightinside. pfa_gap_prefix_recode_valuediagonaltermrightinside + S (pfc_complement_prefix_recode_valuediagonalterm) = (M)) /\ ((((exists ff_h_pfp_prefix_recode_valuediagonaltermrightentry. ff_h_pfp_prefix_recode_valuediagonaltermrightentry + S (pfc_right_prefix_recode_valuediagonalterm) = S ((S (pfc_complement_prefix_recode_valuediagonalterm)) * bc)) /\ exists ff_q_pfp_prefix_recode_valuediagonaltermrightentry. bb = ff_q_pfp_prefix_recode_valuediagonaltermrightentry * S ((S (pfc_complement_prefix_recode_valuediagonalterm)) * bc) + (pfc_right_prefix_recode_valuediagonalterm)))))) \/ (((exists pfc_gap_prefix_recode_valuediagonaltermrightoutside. pfc_gap_prefix_recode_valuediagonaltermrightoutside+(M)=(pfc_complement_prefix_recode_valuediagonalterm)) /\ (((pfc_right_prefix_recode_valuediagonalterm)=0))))) /\ (((pfc_value_prefix_recode_valuediagonal)=pfc_left_prefix_recode_valuediagonalterm*pfc_right_prefix_recode_valuediagonalterm))))))))))) /\ (((exists fs_u_pfc_prefix_recode_valuesum fs_v_pfc_prefix_recode_valuesum. ((((exists fs_h_pfc_prefix_recode_valuesum_body_start. fs_h_pfc_prefix_recode_valuesum_body_start + S (0) = S ((S (0)) * fs_v_pfc_prefix_recode_valuesum)) /\ exists fs_q_pfc_prefix_recode_valuesum_body_start. fs_u_pfc_prefix_recode_valuesum = fs_q_pfc_prefix_recode_valuesum_body_start * S ((S (0)) * fs_v_pfc_prefix_recode_valuesum) + (0))) /\ ((((exists fs_h_pfc_prefix_recode_valuesum_body_terminal. fs_h_pfc_prefix_recode_valuesum_body_terminal + S (pfc_natural_sum_prefix_recode_value) = S ((S (S (i))) * fs_v_pfc_prefix_recode_valuesum)) /\ exists fs_q_pfc_prefix_recode_valuesum_body_terminal. fs_u_pfc_prefix_recode_valuesum = fs_q_pfc_prefix_recode_valuesum_body_terminal * S ((S (S (i))) * fs_v_pfc_prefix_recode_valuesum) + (pfc_natural_sum_prefix_recode_value))) /\ forall fs_i_pfc_prefix_recode_valuesum_body_steps. (exists fs_lt_pfc_prefix_recode_valuesum_body_steps_bound. fs_lt_pfc_prefix_recode_valuesum_body_steps_bound + S fs_i_pfc_prefix_recode_valuesum_body_steps = S (i)) -> exists fs_a_pfc_prefix_recode_valuesum_body_steps fs_r_pfc_prefix_recode_valuesum_body_steps fs_s_pfc_prefix_recode_valuesum_body_steps. ((((exists fs_h_pfc_prefix_recode_valuesum_body_steps_summand. fs_h_pfc_prefix_recode_valuesum_body_steps_summand + S (fs_a_pfc_prefix_recode_valuesum_body_steps) = S ((S (fs_i_pfc_prefix_recode_valuesum_body_steps)) * pfc_terms_scale_prefix_recode_value)) /\ exists fs_q_pfc_prefix_recode_valuesum_body_steps_summand. pfc_terms_code_prefix_recode_value = fs_q_pfc_prefix_recode_valuesum_body_steps_summand * S ((S (fs_i_pfc_prefix_recode_valuesum_body_steps)) * pfc_terms_scale_prefix_recode_value) + (fs_a_pfc_prefix_recode_valuesum_body_steps))) /\ ((((exists fs_h_pfc_prefix_recode_valuesum_body_steps_partial. fs_h_pfc_prefix_recode_valuesum_body_steps_partial + S (fs_r_pfc_prefix_recode_valuesum_body_steps) = S ((S (fs_i_pfc_prefix_recode_valuesum_body_steps)) * fs_v_pfc_prefix_recode_valuesum)) /\ exists fs_q_pfc_prefix_recode_valuesum_body_steps_partial. fs_u_pfc_prefix_recode_valuesum = fs_q_pfc_prefix_recode_valuesum_body_steps_partial * S ((S (fs_i_pfc_prefix_recode_valuesum_body_steps)) * fs_v_pfc_prefix_recode_valuesum) + (fs_r_pfc_prefix_recode_valuesum_body_steps))) /\ ((((exists fs_h_pfc_prefix_recode_valuesum_body_steps_successor. fs_h_pfc_prefix_recode_valuesum_body_steps_successor + S (fs_s_pfc_prefix_recode_valuesum_body_steps) = S ((S (S fs_i_pfc_prefix_recode_valuesum_body_steps)) * fs_v_pfc_prefix_recode_valuesum)) /\ exists fs_q_pfc_prefix_recode_valuesum_body_steps_successor. fs_u_pfc_prefix_recode_valuesum = fs_q_pfc_prefix_recode_valuesum_body_steps_successor * S ((S (S fs_i_pfc_prefix_recode_valuesum_body_steps)) * fs_v_pfc_prefix_recode_valuesum) + (fs_s_pfc_prefix_recode_valuesum_body_steps))) /\ fs_s_pfc_prefix_recode_valuesum_body_steps = fs_r_pfc_prefix_recode_valuesum_body_steps + fs_a_pfc_prefix_recode_valuesum_body_steps)))))) /\ ((((exists pfa_gap_prefix_recode_valueresiduebound. pfa_gap_prefix_recode_valueresiduebound + S (r) = (p)) /\ ((exists pfa_offset_left_prefix_recode_valueresiduecongruence pfa_offset_right_prefix_recode_valueresiduecongruence. (pfc_natural_sum_prefix_recode_value) + (p) * pfa_offset_left_prefix_recode_valueresiduecongruence = (r) + (p) * pfa_offset_right_prefix_recode_valueresiduecongruence)))))))))))specialize h (i)apply hexact hicases hvcases hv_witnessexists xsplitexact hv_witness_leftspecialize prime_field_convolution_coefficient_transport (p)specialize prime_field_convolution_coefficient_transport (ab)specialize prime_field_convolution_coefficient_transport (ac)specialize prime_field_convolution_coefficient_transport (L)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 (AB)specialize prime_field_convolution_coefficient_transport (AC)specialize prime_field_convolution_coefficient_transport (BB)specialize prime_field_convolution_coefficient_transport (BC)specialize prime_field_convolution_coefficient_transport (x)apply prime_field_convolution_coefficient_transportexact haexact hbexact hv_witness_right
polynomial_product_length_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 224 · statement SHA-256 1e2b5f95f0cd24fa0855ee9a3b0737bdbc18f9ced079435a4894e931ebcd4431
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_polynomial_convolution_entry · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 225 · statement SHA-256 ad6c27efb59cd792dd2840047b1325f9d6cd018561f1cafac0749c5feaf27caf
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_convolution_at_length_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 226 · statement SHA-256 f2919de6415c69620d3b091ebbb0cab8cb9a9bfbbfacb69905d6567c61d44b61
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
prime_field_polynomial_convolution_zero_left · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 227 · statement SHA-256 17472f6910ccbce6a16719a6a65d743e88fc6fb1b6ad91cd8058952e474f3697
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 228 · statement SHA-256 30120967e6a97e55f0c00069a2823b8171f59460c636bb42c0bdf01e139a240a
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_subtract_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 229 · statement SHA-256 929c4f0d125cb8970f92fc6482cb275616236e2148ac7f031fc8583f430966d0
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_subtract_equal_zero · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 230 · statement SHA-256 cbdf064cf9bcabe588e484ea03ec69e1fee6988fe9b58e8f74fa14f23f652cd4
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=0intro 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_empty · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 231 · statement SHA-256 0bc60218a50a6daa78c0b436a82a538308c8e4ef2516fac211ca6d630d26afea
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_polynomial_subtract_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 232 · statement SHA-256 e6a46edf32d7a565ab18ccc9406cec320dbeefc6f0094b7169f28a1080d6a965
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_polynomial_subtract_entry · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 233 · statement SHA-256 cc6c24dbd4619f6c3c816e23c321c3807c59513d416544e857eff4d51e03cb5c
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_bounded · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 234 · statement SHA-256 f45789a4a2ad5c26ef69793b3b7876b32a16df39e5b95abbb9c0cfe07efdc043
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_subtract_functional · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 235 · statement SHA-256 b9ea11e703fa5bd6f0d161527125b33b9006d802e52f619234eae72516ff145d
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_transport · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 236 · statement SHA-256 35585cc5e0d590301623e13c7163f554383514e29af43fe2c46f00fb7a482207
forall p ab ac bb bc rb rc AB AC BB BC RB RC l. (forall mdr_i_pfp_subtract_transport_ab mdr_a_pfp_subtract_transport_ab. (exists mdr_gap_pfp_subtract_transport_abb. mdr_gap_pfp_subtract_transport_abb + S (mdr_i_pfp_subtract_transport_ab) = (l)) -> (((exists ff_h_mdr_pfp_subtract_transport_abo. ff_h_mdr_pfp_subtract_transport_abo + S (mdr_a_pfp_subtract_transport_ab) = S ((S (mdr_i_pfp_subtract_transport_ab)) * ac)) /\ exists ff_q_mdr_pfp_subtract_transport_abo. ab = ff_q_mdr_pfp_subtract_transport_abo * S ((S (mdr_i_pfp_subtract_transport_ab)) * ac) + (mdr_a_pfp_subtract_transport_ab))) -> (((exists ff_h_mdr_pfp_subtract_transport_abn. ff_h_mdr_pfp_subtract_transport_abn + S (mdr_a_pfp_subtract_transport_ab) = S ((S (mdr_i_pfp_subtract_transport_ab)) * AC)) /\ exists ff_q_mdr_pfp_subtract_transport_abn. AB = ff_q_mdr_pfp_subtract_transport_abn * S ((S (mdr_i_pfp_subtract_transport_ab)) * AC) + (mdr_a_pfp_subtract_transport_ab)))) -> (forall mdr_i_pfp_subtract_transport_bb mdr_a_pfp_subtract_transport_bb. (exists mdr_gap_pfp_subtract_transport_bbb. mdr_gap_pfp_subtract_transport_bbb + S (mdr_i_pfp_subtract_transport_bb) = (l)) -> (((exists ff_h_mdr_pfp_subtract_transport_bbo. ff_h_mdr_pfp_subtract_transport_bbo + S (mdr_a_pfp_subtract_transport_bb) = S ((S (mdr_i_pfp_subtract_transport_bb)) * bc)) /\ exists ff_q_mdr_pfp_subtract_transport_bbo. bb = ff_q_mdr_pfp_subtract_transport_bbo * S ((S (mdr_i_pfp_subtract_transport_bb)) * bc) + (mdr_a_pfp_subtract_transport_bb))) -> (((exists ff_h_mdr_pfp_subtract_transport_bbn. ff_h_mdr_pfp_subtract_transport_bbn + S (mdr_a_pfp_subtract_transport_bb) = S ((S (mdr_i_pfp_subtract_transport_bb)) * BC)) /\ exists ff_q_mdr_pfp_subtract_transport_bbn. BB = ff_q_mdr_pfp_subtract_transport_bbn * S ((S (mdr_i_pfp_subtract_transport_bb)) * BC) + (mdr_a_pfp_subtract_transport_bb)))) -> (forall mdr_i_pfp_subtract_transport_rb mdr_a_pfp_subtract_transport_rb. (exists mdr_gap_pfp_subtract_transport_rbb. mdr_gap_pfp_subtract_transport_rbb + S (mdr_i_pfp_subtract_transport_rb) = (l)) -> (((exists ff_h_mdr_pfp_subtract_transport_rbo. ff_h_mdr_pfp_subtract_transport_rbo + S (mdr_a_pfp_subtract_transport_rb) = S ((S (mdr_i_pfp_subtract_transport_rb)) * rc)) /\ exists ff_q_mdr_pfp_subtract_transport_rbo. rb = ff_q_mdr_pfp_subtract_transport_rbo * S ((S (mdr_i_pfp_subtract_transport_rb)) * rc) + (mdr_a_pfp_subtract_transport_rb))) -> (((exists ff_h_mdr_pfp_subtract_transport_rbn. ff_h_mdr_pfp_subtract_transport_rbn + S (mdr_a_pfp_subtract_transport_rb) = S ((S (mdr_i_pfp_subtract_transport_rb)) * RC)) /\ exists ff_q_mdr_pfp_subtract_transport_rbn. RB = ff_q_mdr_pfp_subtract_transport_rbn * S ((S (mdr_i_pfp_subtract_transport_rb)) * RC) + (mdr_a_pfp_subtract_transport_rb)))) -> (forall pfs_index_subtract_transport_old. (exists pfa_gap_subtract_transport_oldindex. pfa_gap_subtract_transport_oldindex + S (pfs_index_subtract_transport_old) = (l)) -> exists pfs_left_subtract_transport_old pfs_right_subtract_transport_old pfs_result_subtract_transport_old. ((((exists ff_h_pfp_subtract_transport_oldleft. ff_h_pfp_subtract_transport_oldleft + S (pfs_left_subtract_transport_old) = S ((S (pfs_index_subtract_transport_old)) * ac)) /\ exists ff_q_pfp_subtract_transport_oldleft. ab = ff_q_pfp_subtract_transport_oldleft * S ((S (pfs_index_subtract_transport_old)) * ac) + (pfs_left_subtract_transport_old))) /\ (((((exists ff_h_pfp_subtract_transport_oldright. ff_h_pfp_subtract_transport_oldright + S (pfs_right_subtract_transport_old) = S ((S (pfs_index_subtract_transport_old)) * bc)) /\ exists ff_q_pfp_subtract_transport_oldright. bb = ff_q_pfp_subtract_transport_oldright * S ((S (pfs_index_subtract_transport_old)) * bc) + (pfs_right_subtract_transport_old))) /\ (((((exists ff_h_pfp_subtract_transport_oldresult. ff_h_pfp_subtract_transport_oldresult + S (pfs_result_subtract_transport_old) = S ((S (pfs_index_subtract_transport_old)) * rc)) /\ exists ff_q_pfp_subtract_transport_oldresult. rb = ff_q_pfp_subtract_transport_oldresult * S ((S (pfs_index_subtract_transport_old)) * rc) + (pfs_result_subtract_transport_old))) /\ ((((exists pfa_gap_subtract_transport_oldoperationleft. pfa_gap_subtract_transport_oldoperationleft + S (pfs_right_subtract_transport_old) = (p)) /\ (((exists pfa_gap_subtract_transport_oldoperationright. pfa_gap_subtract_transport_oldoperationright + S (pfs_result_subtract_transport_old) = (p)) /\ ((((exists pfa_gap_subtract_transport_oldoperationresultbound. pfa_gap_subtract_transport_oldoperationresultbound + S (pfs_left_subtract_transport_old) = (p)) /\ ((exists pfa_offset_left_subtract_transport_oldoperationresultcongruence pfa_offset_right_subtract_transport_oldoperationresultcongruence. ((pfs_right_subtract_transport_old) + (pfs_result_subtract_transport_old)) + (p) * pfa_offset_left_subtract_transport_oldoperationresultcongruence = (pfs_left_subtract_transport_old) + (p) * pfa_offset_right_subtract_transport_oldoperationresultcongruence)))))))))))))))) -> (forall pfs_index_subtract_transport_new. (exists pfa_gap_subtract_transport_newindex. pfa_gap_subtract_transport_newindex + S (pfs_index_subtract_transport_new) = (l)) -> exists pfs_left_subtract_transport_new pfs_right_subtract_transport_new pfs_result_subtract_transport_new. ((((exists ff_h_pfp_subtract_transport_newleft. ff_h_pfp_subtract_transport_newleft + S (pfs_left_subtract_transport_new) = S ((S (pfs_index_subtract_transport_new)) * AC)) /\ exists ff_q_pfp_subtract_transport_newleft. AB = ff_q_pfp_subtract_transport_newleft * S ((S (pfs_index_subtract_transport_new)) * AC) + (pfs_left_subtract_transport_new))) /\ (((((exists ff_h_pfp_subtract_transport_newright. ff_h_pfp_subtract_transport_newright + S (pfs_right_subtract_transport_new) = S ((S (pfs_index_subtract_transport_new)) * BC)) /\ exists ff_q_pfp_subtract_transport_newright. BB = ff_q_pfp_subtract_transport_newright * S ((S (pfs_index_subtract_transport_new)) * BC) + (pfs_right_subtract_transport_new))) /\ (((((exists ff_h_pfp_subtract_transport_newresult. ff_h_pfp_subtract_transport_newresult + S (pfs_result_subtract_transport_new) = S ((S (pfs_index_subtract_transport_new)) * RC)) /\ exists ff_q_pfp_subtract_transport_newresult. RB = ff_q_pfp_subtract_transport_newresult * S ((S (pfs_index_subtract_transport_new)) * RC) + (pfs_result_subtract_transport_new))) /\ ((((exists pfa_gap_subtract_transport_newoperationleft. pfa_gap_subtract_transport_newoperationleft + S (pfs_right_subtract_transport_new) = (p)) /\ (((exists pfa_gap_subtract_transport_newoperationright. pfa_gap_subtract_transport_newoperationright + S (pfs_result_subtract_transport_new) = (p)) /\ ((((exists pfa_gap_subtract_transport_newoperationresultbound. pfa_gap_subtract_transport_newoperationresultbound + S (pfs_left_subtract_transport_new) = (p)) /\ ((exists pfa_offset_left_subtract_transport_newoperationresultcongruence pfa_offset_right_subtract_transport_newoperationresultcongruence. ((pfs_right_subtract_transport_new) + (pfs_result_subtract_transport_new)) + (p) * pfa_offset_left_subtract_transport_newoperationresultcongruence = (pfs_left_subtract_transport_new) + (p) * pfa_offset_right_subtract_transport_newoperationresultcongruence))))))))))))))))intro pintro abintro acintro bbintro bcintro rbintro rcintro ABintro ACintro BBintro BCintro RBintro RCintro lintro h0intro h1intro h2intro hintro iintro hihave hv : exists a b r. (((((exists ff_h_pfp_subtract_transport_chosen0. ff_h_pfp_subtract_transport_chosen0 + S (a) = S ((S (i)) * ac)) /\ exists ff_q_pfp_subtract_transport_chosen0. ab = ff_q_pfp_subtract_transport_chosen0 * S ((S (i)) * ac) + (a))) /\ (((((exists ff_h_pfp_subtract_transport_chosen1. ff_h_pfp_subtract_transport_chosen1 + S (b) = S ((S (i)) * bc)) /\ exists ff_q_pfp_subtract_transport_chosen1. bb = ff_q_pfp_subtract_transport_chosen1 * S ((S (i)) * bc) + (b))) /\ (((((exists ff_h_pfp_subtract_transport_chosen2. ff_h_pfp_subtract_transport_chosen2 + S (r) = S ((S (i)) * rc)) /\ exists ff_q_pfp_subtract_transport_chosen2. rb = ff_q_pfp_subtract_transport_chosen2 * S ((S (i)) * rc) + (r))) /\ ((((exists pfa_gap_subtract_transport_chosenoperationleft. pfa_gap_subtract_transport_chosenoperationleft + S (b) = (p)) /\ (((exists pfa_gap_subtract_transport_chosenoperationright. pfa_gap_subtract_transport_chosenoperationright + S (r) = (p)) /\ ((((exists pfa_gap_subtract_transport_chosenoperationresultbound. pfa_gap_subtract_transport_chosenoperationresultbound + S (a) = (p)) /\ ((exists pfa_offset_left_subtract_transport_chosenoperationresultcongruence pfa_offset_right_subtract_transport_chosenoperationresultcongruence. ((b) + (r)) + (p) * pfa_offset_left_subtract_transport_chosenoperationresultcongruence = (a) + (p) * pfa_offset_right_subtract_transport_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_rightexists xexists x1exists x2splitspecialize h0 (i)specialize h0 (x)apply h0exact hiexact hv_witness_witness_witness_leftsplitspecialize h1 (i)specialize h1 (x1)apply h1exact hiexact hv_witness_witness_witness_right_leftsplitspecialize h2 (i)specialize h2 (x2)apply h2exact hiexact hv_witness_witness_witness_right_right_leftexact hv_witness_witness_witness_right_right_right
prime_field_polynomial_subtract_recover_add · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 237 · statement SHA-256 5c32956806d9cd0511d0be1d233e6c2b57bc935ece4a67ce1a91aa1f69480b7d
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_from_add · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 238 · statement SHA-256 a02cf0a4b99c0c2cb09715665214d43f99816a426dcaf36b6d4ef79f23a805b2
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_subtract_equal_entry_zero · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 239 · statement SHA-256 3118752edd6a4c565e9ee8e1df306346fac51eb229632e75018386b4cb0ed516
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=0intro 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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 240 · statement SHA-256 b08ed8bb998138cf22b6f3aefd4a3c88b7a3e4a1205174a05fe72d9cae162dcd
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_polynomial_suffix_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 241 · statement SHA-256 f2282e8f60487a7f4b3a84e1221938950e6559f87a2736bf7a10e6ab5598f1af
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_suffix_bounded · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 242 · statement SHA-256 dd439ab6bc37ee42cf0ea9326ed23762d45ef07f8d97fd4d109cecd0fb636963
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_suffix_equal · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 243 · statement SHA-256 46332d08fdcb99b9b26a71dfdea4c4e8766e820944f8246e9a43a8b3f9cbc7ab
forall b c t d e f g M. (forall pftrim_index_suffix_equal_left pftrim_value_suffix_equal_left. (exists pfa_gap_suffix_equal_leftbound. pfa_gap_suffix_equal_leftbound + S (pftrim_index_suffix_equal_left) = (M)) -> (((exists ff_h_pfp_suffix_equal_leftsource. ff_h_pfp_suffix_equal_leftsource + S (pftrim_value_suffix_equal_left) = S ((S ((t)+pftrim_index_suffix_equal_left)) * c)) /\ exists ff_q_pfp_suffix_equal_leftsource. b = ff_q_pfp_suffix_equal_leftsource * S ((S ((t)+pftrim_index_suffix_equal_left)) * c) + (pftrim_value_suffix_equal_left))) -> (((exists ff_h_pfp_suffix_equal_leftoutput. ff_h_pfp_suffix_equal_leftoutput + S (pftrim_value_suffix_equal_left) = S ((S (pftrim_index_suffix_equal_left)) * e)) /\ exists ff_q_pfp_suffix_equal_leftoutput. d = ff_q_pfp_suffix_equal_leftoutput * S ((S (pftrim_index_suffix_equal_left)) * e) + (pftrim_value_suffix_equal_left)))) -> (forall pftrim_index_suffix_equal_right pftrim_value_suffix_equal_right. (exists pfa_gap_suffix_equal_rightbound. pfa_gap_suffix_equal_rightbound + S (pftrim_index_suffix_equal_right) = (M)) -> (((exists ff_h_pfp_suffix_equal_rightsource. ff_h_pfp_suffix_equal_rightsource + S (pftrim_value_suffix_equal_right) = S ((S ((t)+pftrim_index_suffix_equal_right)) * c)) /\ exists ff_q_pfp_suffix_equal_rightsource. b = ff_q_pfp_suffix_equal_rightsource * S ((S ((t)+pftrim_index_suffix_equal_right)) * c) + (pftrim_value_suffix_equal_right))) -> (((exists ff_h_pfp_suffix_equal_rightoutput. ff_h_pfp_suffix_equal_rightoutput + S (pftrim_value_suffix_equal_right) = S ((S (pftrim_index_suffix_equal_right)) * g)) /\ exists ff_q_pfp_suffix_equal_rightoutput. f = ff_q_pfp_suffix_equal_rightoutput * S ((S (pftrim_index_suffix_equal_right)) * g) + (pftrim_value_suffix_equal_right)))) -> (forall mdr_i_pfp_suffix_equal_result mdr_a_pfp_suffix_equal_result. (exists mdr_gap_pfp_suffix_equal_resultb. mdr_gap_pfp_suffix_equal_resultb + S (mdr_i_pfp_suffix_equal_result) = (M)) -> (((exists ff_h_mdr_pfp_suffix_equal_resulto. ff_h_mdr_pfp_suffix_equal_resulto + S (mdr_a_pfp_suffix_equal_result) = S ((S (mdr_i_pfp_suffix_equal_result)) * e)) /\ exists ff_q_mdr_pfp_suffix_equal_resulto. d = ff_q_mdr_pfp_suffix_equal_resulto * S ((S (mdr_i_pfp_suffix_equal_result)) * e) + (mdr_a_pfp_suffix_equal_result))) -> (((exists ff_h_mdr_pfp_suffix_equal_resultn. ff_h_mdr_pfp_suffix_equal_resultn + S (mdr_a_pfp_suffix_equal_result) = S ((S (mdr_i_pfp_suffix_equal_result)) * g)) /\ exists ff_q_mdr_pfp_suffix_equal_resultn. f = ff_q_mdr_pfp_suffix_equal_resultn * S ((S (mdr_i_pfp_suffix_equal_result)) * g) + (mdr_a_pfp_suffix_equal_result))))intro bintro cintro tintro dintro eintro fintro gintro Mintro hdintro hfintro iintro aintro hiintro hahave hz : exists z. (((exists ff_h_pfp_suffix_equal_source. ff_h_pfp_suffix_equal_source + S (z) = S ((S (t+i)) * c)) /\ exists ff_q_pfp_suffix_equal_source. b = ff_q_pfp_suffix_equal_source * S ((S (t+i)) * c) + (z)))specialize beta_at_exists (b)specialize beta_at_exists (c)specialize beta_at_exists (t+i)apply beta_at_existscases hzhave heq : a=xspecialize beta_at_unique (d)specialize beta_at_unique (e)specialize beta_at_unique (i)specialize beta_at_unique (a)specialize beta_at_unique (x)apply beta_at_uniqueexact haspecialize hd (i)specialize hd (x)apply hdexact hiexact hz_witnessrewrite heqrewrite heqspecialize hf (i)specialize hf (x)apply hfexact hiexact hz_witness
prime_field_polynomial_leading_zero_cut_exists · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 244 · statement SHA-256 a4a4616cc9e62984eb3063646296e53f9d6b108885d580b71a8f4aaf5ae54d5f
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_trim_from_cut · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 245 · statement SHA-256 580c2c6f8fc5b412e8f4ebca972e51d365f2fe2af3a862df976d58f7f6846076
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 · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 246 · statement SHA-256 97c6ba61a72ea2e0b9a692fd8c9b026a8904c325f38e89d4f9836f1f31c3a056
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_output_coefficients · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 247 · statement SHA-256 9931ce1139d8cfaee0f5c58d7b4780f1ae87e1bfe9ad34db96a6632d91e5e831
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_trim_length_bounds · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 248 · statement SHA-256 f8e81984ba3fb092294196ded3431b97d8712419a223421244d7539319382b6b
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
prime_field_polynomial_trim_leading_source_nonzero · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 249 · statement SHA-256 f57beef2a2c4349ab6a5cc43462160afd3e32c9905ff0b0636a951e6a07f00a0
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_removed_le · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 250 · statement SHA-256 bf1a6f90d2a8d4429a44190f19938279e86e1b8c8dc6fb017e81977bdadc4531
forall p b c L t d e M u f g N. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_unique_firstinput. (exists fom_gap_pfp_unique_firstinput_index_bound. fom_gap_pfp_unique_firstinput_index_bound + S (fom_index_pfp_unique_firstinput) = L) -> exists fom_value_pfp_unique_firstinput. ((((exists fom_beta_height_pfp_unique_firstinput_entry. fom_beta_height_pfp_unique_firstinput_entry + S (fom_value_pfp_unique_firstinput) = S ((S (fom_index_pfp_unique_firstinput)) * c)) /\ exists fom_beta_quotient_pfp_unique_firstinput_entry. b = fom_beta_quotient_pfp_unique_firstinput_entry * S ((S (fom_index_pfp_unique_firstinput)) * c) + (fom_value_pfp_unique_firstinput))) /\ (exists fom_gap_pfp_unique_firstinput_value_bound. fom_gap_pfp_unique_firstinput_value_bound + S (fom_value_pfp_unique_firstinput) = p))) /\ (((forall pfp_repeat_index_unique_firstremoved. (exists pfa_gap_unique_firstremovedindex. pfa_gap_unique_firstremovedindex + S (pfp_repeat_index_unique_firstremoved) = (t)) -> (((exists ff_h_pfp_unique_firstremovedentry. ff_h_pfp_unique_firstremovedentry + S (0) = S ((S (pfp_repeat_index_unique_firstremoved)) * c)) /\ exists ff_q_pfp_unique_firstremovedentry. b = ff_q_pfp_unique_firstremovedentry * S ((S (pfp_repeat_index_unique_firstremoved)) * c) + (0)))) /\ (((forall pftrim_index_unique_firstsuffix pftrim_value_unique_firstsuffix. (exists pfa_gap_unique_firstsuffixbound. pfa_gap_unique_firstsuffixbound + S (pftrim_index_unique_firstsuffix) = (M)) -> (((exists ff_h_pfp_unique_firstsuffixsource. ff_h_pfp_unique_firstsuffixsource + S (pftrim_value_unique_firstsuffix) = S ((S ((t)+pftrim_index_unique_firstsuffix)) * c)) /\ exists ff_q_pfp_unique_firstsuffixsource. b = ff_q_pfp_unique_firstsuffixsource * S ((S ((t)+pftrim_index_unique_firstsuffix)) * c) + (pftrim_value_unique_firstsuffix))) -> (((exists ff_h_pfp_unique_firstsuffixoutput. ff_h_pfp_unique_firstsuffixoutput + S (pftrim_value_unique_firstsuffix) = S ((S (pftrim_index_unique_firstsuffix)) * e)) /\ exists ff_q_pfp_unique_firstsuffixoutput. d = ff_q_pfp_unique_firstsuffixoutput * S ((S (pftrim_index_unique_firstsuffix)) * e) + (pftrim_value_unique_firstsuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_unique_firstnormal. ((((exists ff_h_pfp_unique_firstnormalentry. ff_h_pfp_unique_firstnormalentry + S (pftrim_leading_unique_firstnormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_unique_firstnormalentry. d = ff_q_pfp_unique_firstnormalentry * S ((S (0)) * e) + (pftrim_leading_unique_firstnormal))) /\ ((~(pftrim_leading_unique_firstnormal=0))))))))))))))) -> ((((L)=(u)+(N)) /\ (((forall fom_index_pfp_unique_secondinput. (exists fom_gap_pfp_unique_secondinput_index_bound. fom_gap_pfp_unique_secondinput_index_bound + S (fom_index_pfp_unique_secondinput) = L) -> exists fom_value_pfp_unique_secondinput. ((((exists fom_beta_height_pfp_unique_secondinput_entry. fom_beta_height_pfp_unique_secondinput_entry + S (fom_value_pfp_unique_secondinput) = S ((S (fom_index_pfp_unique_secondinput)) * c)) /\ exists fom_beta_quotient_pfp_unique_secondinput_entry. b = fom_beta_quotient_pfp_unique_secondinput_entry * S ((S (fom_index_pfp_unique_secondinput)) * c) + (fom_value_pfp_unique_secondinput))) /\ (exists fom_gap_pfp_unique_secondinput_value_bound. fom_gap_pfp_unique_secondinput_value_bound + S (fom_value_pfp_unique_secondinput) = p))) /\ (((forall pfp_repeat_index_unique_secondremoved. (exists pfa_gap_unique_secondremovedindex. pfa_gap_unique_secondremovedindex + S (pfp_repeat_index_unique_secondremoved) = (u)) -> (((exists ff_h_pfp_unique_secondremovedentry. ff_h_pfp_unique_secondremovedentry + S (0) = S ((S (pfp_repeat_index_unique_secondremoved)) * c)) /\ exists ff_q_pfp_unique_secondremovedentry. b = ff_q_pfp_unique_secondremovedentry * S ((S (pfp_repeat_index_unique_secondremoved)) * c) + (0)))) /\ (((forall pftrim_index_unique_secondsuffix pftrim_value_unique_secondsuffix. (exists pfa_gap_unique_secondsuffixbound. pfa_gap_unique_secondsuffixbound + S (pftrim_index_unique_secondsuffix) = (N)) -> (((exists ff_h_pfp_unique_secondsuffixsource. ff_h_pfp_unique_secondsuffixsource + S (pftrim_value_unique_secondsuffix) = S ((S ((u)+pftrim_index_unique_secondsuffix)) * c)) /\ exists ff_q_pfp_unique_secondsuffixsource. b = ff_q_pfp_unique_secondsuffixsource * S ((S ((u)+pftrim_index_unique_secondsuffix)) * c) + (pftrim_value_unique_secondsuffix))) -> (((exists ff_h_pfp_unique_secondsuffixoutput. ff_h_pfp_unique_secondsuffixoutput + S (pftrim_value_unique_secondsuffix) = S ((S (pftrim_index_unique_secondsuffix)) * g)) /\ exists ff_q_pfp_unique_secondsuffixoutput. f = ff_q_pfp_unique_secondsuffixoutput * S ((S (pftrim_index_unique_secondsuffix)) * g) + (pftrim_value_unique_secondsuffix)))) /\ (((N)=0 \/ (exists pftrim_leading_unique_secondnormal. ((((exists ff_h_pfp_unique_secondnormalentry. ff_h_pfp_unique_secondnormalentry + S (pftrim_leading_unique_secondnormal) = S ((S (0)) * g)) /\ exists ff_q_pfp_unique_secondnormalentry. f = ff_q_pfp_unique_secondnormalentry * S ((S (0)) * g) + (pftrim_leading_unique_secondnormal))) /\ ((~(pftrim_leading_unique_secondnormal=0))))))))))))))) -> (exists pftrim_gap_unique_removed_le. pftrim_gap_unique_removed_le+(t)=(u))intro pintro bintro cintro Lintro tintro dintro eintro Mintro uintro fintro gintro Nintro hintro hkhave hbound : ((exists pftrim_gap_compare_t. pftrim_gap_compare_t+(t)=(L)) /\ ((exists pftrim_gap_compare_M. pftrim_gap_compare_M+(M)=(L))))specialize prime_field_polynomial_trim_length_bounds (p)specialize prime_field_polynomial_trim_length_bounds (b)specialize prime_field_polynomial_trim_length_bounds (c)specialize prime_field_polynomial_trim_length_bounds (L)specialize prime_field_polynomial_trim_length_bounds (t)specialize prime_field_polynomial_trim_length_bounds (d)specialize prime_field_polynomial_trim_length_bounds (e)specialize prime_field_polynomial_trim_length_bounds (M)apply prime_field_polynomial_trim_length_boundsexact hcases hboundhave horder : (exists pftrim_gap_compare_le. pftrim_gap_compare_le+(t)=(u)) \/ (exists pfa_gap_compare_lt. pfa_gap_compare_lt + S (u) = (t))specialize le_or_lt (t)specialize le_or_lt (u)apply le_or_ltcases horderexact horder_leftexfalsohave hN : N=0 \/ ~(N=0)specialize eq_decidable (N)specialize eq_decidable (0)apply eq_decidablecases hNhave hkcopy : (((L)=(u)+(N)) /\ (((forall fom_index_pfp_compare_second_copyinput. (exists fom_gap_pfp_compare_second_copyinput_index_bound. fom_gap_pfp_compare_second_copyinput_index_bound + S (fom_index_pfp_compare_second_copyinput) = L) -> exists fom_value_pfp_compare_second_copyinput. ((((exists fom_beta_height_pfp_compare_second_copyinput_entry. fom_beta_height_pfp_compare_second_copyinput_entry + S (fom_value_pfp_compare_second_copyinput) = S ((S (fom_index_pfp_compare_second_copyinput)) * c)) /\ exists fom_beta_quotient_pfp_compare_second_copyinput_entry. b = fom_beta_quotient_pfp_compare_second_copyinput_entry * S ((S (fom_index_pfp_compare_second_copyinput)) * c) + (fom_value_pfp_compare_second_copyinput))) /\ (exists fom_gap_pfp_compare_second_copyinput_value_bound. fom_gap_pfp_compare_second_copyinput_value_bound + S (fom_value_pfp_compare_second_copyinput) = p))) /\ (((forall pfp_repeat_index_compare_second_copyremoved. (exists pfa_gap_compare_second_copyremovedindex. pfa_gap_compare_second_copyremovedindex + S (pfp_repeat_index_compare_second_copyremoved) = (u)) -> (((exists ff_h_pfp_compare_second_copyremovedentry. ff_h_pfp_compare_second_copyremovedentry + S (0) = S ((S (pfp_repeat_index_compare_second_copyremoved)) * c)) /\ exists ff_q_pfp_compare_second_copyremovedentry. b = ff_q_pfp_compare_second_copyremovedentry * S ((S (pfp_repeat_index_compare_second_copyremoved)) * c) + (0)))) /\ (((forall pftrim_index_compare_second_copysuffix pftrim_value_compare_second_copysuffix. (exists pfa_gap_compare_second_copysuffixbound. pfa_gap_compare_second_copysuffixbound + S (pftrim_index_compare_second_copysuffix) = (N)) -> (((exists ff_h_pfp_compare_second_copysuffixsource. ff_h_pfp_compare_second_copysuffixsource + S (pftrim_value_compare_second_copysuffix) = S ((S ((u)+pftrim_index_compare_second_copysuffix)) * c)) /\ exists ff_q_pfp_compare_second_copysuffixsource. b = ff_q_pfp_compare_second_copysuffixsource * S ((S ((u)+pftrim_index_compare_second_copysuffix)) * c) + (pftrim_value_compare_second_copysuffix))) -> (((exists ff_h_pfp_compare_second_copysuffixoutput. ff_h_pfp_compare_second_copysuffixoutput + S (pftrim_value_compare_second_copysuffix) = S ((S (pftrim_index_compare_second_copysuffix)) * g)) /\ exists ff_q_pfp_compare_second_copysuffixoutput. f = ff_q_pfp_compare_second_copysuffixoutput * S ((S (pftrim_index_compare_second_copysuffix)) * g) + (pftrim_value_compare_second_copysuffix)))) /\ (((N)=0 \/ (exists pftrim_leading_compare_second_copynormal. ((((exists ff_h_pfp_compare_second_copynormalentry. ff_h_pfp_compare_second_copynormalentry + S (pftrim_leading_compare_second_copynormal) = S ((S (0)) * g)) /\ exists ff_q_pfp_compare_second_copynormalentry. f = ff_q_pfp_compare_second_copynormalentry * S ((S (0)) * g) + (pftrim_leading_compare_second_copynormal))) /\ ((~(pftrim_leading_compare_second_copynormal=0))))))))))))))exact hkcases hkcopycases hkcopy_rightcases hkcopy_right_rightcases hkcopy_right_right_righthave hlen : L=utrans u+Nexact hkcopy_leftrewrite hN_leftsimprewrite hlen at hbound_leftspecialize lt_not_le (u)specialize lt_not_le (t)apply lt_not_leexact horder_rightexact hbound_lefthave hcopy : (((L)=(t)+(M)) /\ (((forall fom_index_pfp_compare_first_copyinput. (exists fom_gap_pfp_compare_first_copyinput_index_bound. fom_gap_pfp_compare_first_copyinput_index_bound + S (fom_index_pfp_compare_first_copyinput) = L) -> exists fom_value_pfp_compare_first_copyinput. ((((exists fom_beta_height_pfp_compare_first_copyinput_entry. fom_beta_height_pfp_compare_first_copyinput_entry + S (fom_value_pfp_compare_first_copyinput) = S ((S (fom_index_pfp_compare_first_copyinput)) * c)) /\ exists fom_beta_quotient_pfp_compare_first_copyinput_entry. b = fom_beta_quotient_pfp_compare_first_copyinput_entry * S ((S (fom_index_pfp_compare_first_copyinput)) * c) + (fom_value_pfp_compare_first_copyinput))) /\ (exists fom_gap_pfp_compare_first_copyinput_value_bound. fom_gap_pfp_compare_first_copyinput_value_bound + S (fom_value_pfp_compare_first_copyinput) = p))) /\ (((forall pfp_repeat_index_compare_first_copyremoved. (exists pfa_gap_compare_first_copyremovedindex. pfa_gap_compare_first_copyremovedindex + S (pfp_repeat_index_compare_first_copyremoved) = (t)) -> (((exists ff_h_pfp_compare_first_copyremovedentry. ff_h_pfp_compare_first_copyremovedentry + S (0) = S ((S (pfp_repeat_index_compare_first_copyremoved)) * c)) /\ exists ff_q_pfp_compare_first_copyremovedentry. b = ff_q_pfp_compare_first_copyremovedentry * S ((S (pfp_repeat_index_compare_first_copyremoved)) * c) + (0)))) /\ (((forall pftrim_index_compare_first_copysuffix pftrim_value_compare_first_copysuffix. (exists pfa_gap_compare_first_copysuffixbound. pfa_gap_compare_first_copysuffixbound + S (pftrim_index_compare_first_copysuffix) = (M)) -> (((exists ff_h_pfp_compare_first_copysuffixsource. ff_h_pfp_compare_first_copysuffixsource + S (pftrim_value_compare_first_copysuffix) = S ((S ((t)+pftrim_index_compare_first_copysuffix)) * c)) /\ exists ff_q_pfp_compare_first_copysuffixsource. b = ff_q_pfp_compare_first_copysuffixsource * S ((S ((t)+pftrim_index_compare_first_copysuffix)) * c) + (pftrim_value_compare_first_copysuffix))) -> (((exists ff_h_pfp_compare_first_copysuffixoutput. ff_h_pfp_compare_first_copysuffixoutput + S (pftrim_value_compare_first_copysuffix) = S ((S (pftrim_index_compare_first_copysuffix)) * e)) /\ exists ff_q_pfp_compare_first_copysuffixoutput. d = ff_q_pfp_compare_first_copysuffixoutput * S ((S (pftrim_index_compare_first_copysuffix)) * e) + (pftrim_value_compare_first_copysuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_compare_first_copynormal. ((((exists ff_h_pfp_compare_first_copynormalentry. ff_h_pfp_compare_first_copynormalentry + S (pftrim_leading_compare_first_copynormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_compare_first_copynormalentry. d = ff_q_pfp_compare_first_copynormalentry * S ((S (0)) * e) + (pftrim_leading_compare_first_copynormal))) /\ ((~(pftrim_leading_compare_first_copynormal=0))))))))))))))exact hcases hcopycases hcopy_rightcases hcopy_right_rightcases hcopy_right_right_righthave hz : ((exists ff_h_pfp_compare_zero. ff_h_pfp_compare_zero + S (0) = S ((S (u)) * c)) /\ exists ff_q_pfp_compare_zero. b = ff_q_pfp_compare_zero * S ((S (u)) * c) + (0))specialize hcopy_right_right_left (u)apply hcopy_right_right_leftexact horder_rightspecialize prime_field_polynomial_trim_leading_source_nonzero (p)specialize prime_field_polynomial_trim_leading_source_nonzero (b)specialize prime_field_polynomial_trim_leading_source_nonzero (c)specialize prime_field_polynomial_trim_leading_source_nonzero (L)specialize prime_field_polynomial_trim_leading_source_nonzero (u)specialize prime_field_polynomial_trim_leading_source_nonzero (f)specialize prime_field_polynomial_trim_leading_source_nonzero (g)specialize prime_field_polynomial_trim_leading_source_nonzero (N)specialize prime_field_polynomial_trim_leading_source_nonzero (0)apply prime_field_polynomial_trim_leading_source_nonzeroexact hkexact hN_rightexact hzrefl
prime_field_polynomial_trim_removed_count_unique · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 251 · statement SHA-256 740b717477213c9f00805fd5737ff74bfad4119b93295f27754cda5f36043081
forall p b c L t d e M u f g N. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_unique_firstinput. (exists fom_gap_pfp_unique_firstinput_index_bound. fom_gap_pfp_unique_firstinput_index_bound + S (fom_index_pfp_unique_firstinput) = L) -> exists fom_value_pfp_unique_firstinput. ((((exists fom_beta_height_pfp_unique_firstinput_entry. fom_beta_height_pfp_unique_firstinput_entry + S (fom_value_pfp_unique_firstinput) = S ((S (fom_index_pfp_unique_firstinput)) * c)) /\ exists fom_beta_quotient_pfp_unique_firstinput_entry. b = fom_beta_quotient_pfp_unique_firstinput_entry * S ((S (fom_index_pfp_unique_firstinput)) * c) + (fom_value_pfp_unique_firstinput))) /\ (exists fom_gap_pfp_unique_firstinput_value_bound. fom_gap_pfp_unique_firstinput_value_bound + S (fom_value_pfp_unique_firstinput) = p))) /\ (((forall pfp_repeat_index_unique_firstremoved. (exists pfa_gap_unique_firstremovedindex. pfa_gap_unique_firstremovedindex + S (pfp_repeat_index_unique_firstremoved) = (t)) -> (((exists ff_h_pfp_unique_firstremovedentry. ff_h_pfp_unique_firstremovedentry + S (0) = S ((S (pfp_repeat_index_unique_firstremoved)) * c)) /\ exists ff_q_pfp_unique_firstremovedentry. b = ff_q_pfp_unique_firstremovedentry * S ((S (pfp_repeat_index_unique_firstremoved)) * c) + (0)))) /\ (((forall pftrim_index_unique_firstsuffix pftrim_value_unique_firstsuffix. (exists pfa_gap_unique_firstsuffixbound. pfa_gap_unique_firstsuffixbound + S (pftrim_index_unique_firstsuffix) = (M)) -> (((exists ff_h_pfp_unique_firstsuffixsource. ff_h_pfp_unique_firstsuffixsource + S (pftrim_value_unique_firstsuffix) = S ((S ((t)+pftrim_index_unique_firstsuffix)) * c)) /\ exists ff_q_pfp_unique_firstsuffixsource. b = ff_q_pfp_unique_firstsuffixsource * S ((S ((t)+pftrim_index_unique_firstsuffix)) * c) + (pftrim_value_unique_firstsuffix))) -> (((exists ff_h_pfp_unique_firstsuffixoutput. ff_h_pfp_unique_firstsuffixoutput + S (pftrim_value_unique_firstsuffix) = S ((S (pftrim_index_unique_firstsuffix)) * e)) /\ exists ff_q_pfp_unique_firstsuffixoutput. d = ff_q_pfp_unique_firstsuffixoutput * S ((S (pftrim_index_unique_firstsuffix)) * e) + (pftrim_value_unique_firstsuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_unique_firstnormal. ((((exists ff_h_pfp_unique_firstnormalentry. ff_h_pfp_unique_firstnormalentry + S (pftrim_leading_unique_firstnormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_unique_firstnormalentry. d = ff_q_pfp_unique_firstnormalentry * S ((S (0)) * e) + (pftrim_leading_unique_firstnormal))) /\ ((~(pftrim_leading_unique_firstnormal=0))))))))))))))) -> ((((L)=(u)+(N)) /\ (((forall fom_index_pfp_unique_secondinput. (exists fom_gap_pfp_unique_secondinput_index_bound. fom_gap_pfp_unique_secondinput_index_bound + S (fom_index_pfp_unique_secondinput) = L) -> exists fom_value_pfp_unique_secondinput. ((((exists fom_beta_height_pfp_unique_secondinput_entry. fom_beta_height_pfp_unique_secondinput_entry + S (fom_value_pfp_unique_secondinput) = S ((S (fom_index_pfp_unique_secondinput)) * c)) /\ exists fom_beta_quotient_pfp_unique_secondinput_entry. b = fom_beta_quotient_pfp_unique_secondinput_entry * S ((S (fom_index_pfp_unique_secondinput)) * c) + (fom_value_pfp_unique_secondinput))) /\ (exists fom_gap_pfp_unique_secondinput_value_bound. fom_gap_pfp_unique_secondinput_value_bound + S (fom_value_pfp_unique_secondinput) = p))) /\ (((forall pfp_repeat_index_unique_secondremoved. (exists pfa_gap_unique_secondremovedindex. pfa_gap_unique_secondremovedindex + S (pfp_repeat_index_unique_secondremoved) = (u)) -> (((exists ff_h_pfp_unique_secondremovedentry. ff_h_pfp_unique_secondremovedentry + S (0) = S ((S (pfp_repeat_index_unique_secondremoved)) * c)) /\ exists ff_q_pfp_unique_secondremovedentry. b = ff_q_pfp_unique_secondremovedentry * S ((S (pfp_repeat_index_unique_secondremoved)) * c) + (0)))) /\ (((forall pftrim_index_unique_secondsuffix pftrim_value_unique_secondsuffix. (exists pfa_gap_unique_secondsuffixbound. pfa_gap_unique_secondsuffixbound + S (pftrim_index_unique_secondsuffix) = (N)) -> (((exists ff_h_pfp_unique_secondsuffixsource. ff_h_pfp_unique_secondsuffixsource + S (pftrim_value_unique_secondsuffix) = S ((S ((u)+pftrim_index_unique_secondsuffix)) * c)) /\ exists ff_q_pfp_unique_secondsuffixsource. b = ff_q_pfp_unique_secondsuffixsource * S ((S ((u)+pftrim_index_unique_secondsuffix)) * c) + (pftrim_value_unique_secondsuffix))) -> (((exists ff_h_pfp_unique_secondsuffixoutput. ff_h_pfp_unique_secondsuffixoutput + S (pftrim_value_unique_secondsuffix) = S ((S (pftrim_index_unique_secondsuffix)) * g)) /\ exists ff_q_pfp_unique_secondsuffixoutput. f = ff_q_pfp_unique_secondsuffixoutput * S ((S (pftrim_index_unique_secondsuffix)) * g) + (pftrim_value_unique_secondsuffix)))) /\ (((N)=0 \/ (exists pftrim_leading_unique_secondnormal. ((((exists ff_h_pfp_unique_secondnormalentry. ff_h_pfp_unique_secondnormalentry + S (pftrim_leading_unique_secondnormal) = S ((S (0)) * g)) /\ exists ff_q_pfp_unique_secondnormalentry. f = ff_q_pfp_unique_secondnormalentry * S ((S (0)) * g) + (pftrim_leading_unique_secondnormal))) /\ ((~(pftrim_leading_unique_secondnormal=0))))))))))))))) -> t=uintro pintro bintro cintro Lintro tintro dintro eintro Mintro uintro fintro gintro Nintro hintro hkspecialize le_antisymm (t)specialize le_antisymm (u)apply le_antisymmspecialize prime_field_polynomial_trim_removed_le (p)specialize prime_field_polynomial_trim_removed_le (b)specialize prime_field_polynomial_trim_removed_le (c)specialize prime_field_polynomial_trim_removed_le (L)specialize prime_field_polynomial_trim_removed_le (t)specialize prime_field_polynomial_trim_removed_le (d)specialize prime_field_polynomial_trim_removed_le (e)specialize prime_field_polynomial_trim_removed_le (M)specialize prime_field_polynomial_trim_removed_le (u)specialize prime_field_polynomial_trim_removed_le (f)specialize prime_field_polynomial_trim_removed_le (g)specialize prime_field_polynomial_trim_removed_le (N)apply prime_field_polynomial_trim_removed_leexact hexact hkspecialize prime_field_polynomial_trim_removed_le (p)specialize prime_field_polynomial_trim_removed_le (b)specialize prime_field_polynomial_trim_removed_le (c)specialize prime_field_polynomial_trim_removed_le (L)specialize prime_field_polynomial_trim_removed_le (u)specialize prime_field_polynomial_trim_removed_le (f)specialize prime_field_polynomial_trim_removed_le (g)specialize prime_field_polynomial_trim_removed_le (N)specialize prime_field_polynomial_trim_removed_le (t)specialize prime_field_polynomial_trim_removed_le (d)specialize prime_field_polynomial_trim_removed_le (e)specialize prime_field_polynomial_trim_removed_le (M)apply prime_field_polynomial_trim_removed_leexact hkexact h
prime_field_polynomial_trim_retained_length_unique · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 252 · statement SHA-256 0b747d8e1965ef0a5643affaa0c885db6fd7aa3e39ab85e6c6b54946dfae2409
forall p b c L t d e M u f g N. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_unique_firstinput. (exists fom_gap_pfp_unique_firstinput_index_bound. fom_gap_pfp_unique_firstinput_index_bound + S (fom_index_pfp_unique_firstinput) = L) -> exists fom_value_pfp_unique_firstinput. ((((exists fom_beta_height_pfp_unique_firstinput_entry. fom_beta_height_pfp_unique_firstinput_entry + S (fom_value_pfp_unique_firstinput) = S ((S (fom_index_pfp_unique_firstinput)) * c)) /\ exists fom_beta_quotient_pfp_unique_firstinput_entry. b = fom_beta_quotient_pfp_unique_firstinput_entry * S ((S (fom_index_pfp_unique_firstinput)) * c) + (fom_value_pfp_unique_firstinput))) /\ (exists fom_gap_pfp_unique_firstinput_value_bound. fom_gap_pfp_unique_firstinput_value_bound + S (fom_value_pfp_unique_firstinput) = p))) /\ (((forall pfp_repeat_index_unique_firstremoved. (exists pfa_gap_unique_firstremovedindex. pfa_gap_unique_firstremovedindex + S (pfp_repeat_index_unique_firstremoved) = (t)) -> (((exists ff_h_pfp_unique_firstremovedentry. ff_h_pfp_unique_firstremovedentry + S (0) = S ((S (pfp_repeat_index_unique_firstremoved)) * c)) /\ exists ff_q_pfp_unique_firstremovedentry. b = ff_q_pfp_unique_firstremovedentry * S ((S (pfp_repeat_index_unique_firstremoved)) * c) + (0)))) /\ (((forall pftrim_index_unique_firstsuffix pftrim_value_unique_firstsuffix. (exists pfa_gap_unique_firstsuffixbound. pfa_gap_unique_firstsuffixbound + S (pftrim_index_unique_firstsuffix) = (M)) -> (((exists ff_h_pfp_unique_firstsuffixsource. ff_h_pfp_unique_firstsuffixsource + S (pftrim_value_unique_firstsuffix) = S ((S ((t)+pftrim_index_unique_firstsuffix)) * c)) /\ exists ff_q_pfp_unique_firstsuffixsource. b = ff_q_pfp_unique_firstsuffixsource * S ((S ((t)+pftrim_index_unique_firstsuffix)) * c) + (pftrim_value_unique_firstsuffix))) -> (((exists ff_h_pfp_unique_firstsuffixoutput. ff_h_pfp_unique_firstsuffixoutput + S (pftrim_value_unique_firstsuffix) = S ((S (pftrim_index_unique_firstsuffix)) * e)) /\ exists ff_q_pfp_unique_firstsuffixoutput. d = ff_q_pfp_unique_firstsuffixoutput * S ((S (pftrim_index_unique_firstsuffix)) * e) + (pftrim_value_unique_firstsuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_unique_firstnormal. ((((exists ff_h_pfp_unique_firstnormalentry. ff_h_pfp_unique_firstnormalentry + S (pftrim_leading_unique_firstnormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_unique_firstnormalentry. d = ff_q_pfp_unique_firstnormalentry * S ((S (0)) * e) + (pftrim_leading_unique_firstnormal))) /\ ((~(pftrim_leading_unique_firstnormal=0))))))))))))))) -> ((((L)=(u)+(N)) /\ (((forall fom_index_pfp_unique_secondinput. (exists fom_gap_pfp_unique_secondinput_index_bound. fom_gap_pfp_unique_secondinput_index_bound + S (fom_index_pfp_unique_secondinput) = L) -> exists fom_value_pfp_unique_secondinput. ((((exists fom_beta_height_pfp_unique_secondinput_entry. fom_beta_height_pfp_unique_secondinput_entry + S (fom_value_pfp_unique_secondinput) = S ((S (fom_index_pfp_unique_secondinput)) * c)) /\ exists fom_beta_quotient_pfp_unique_secondinput_entry. b = fom_beta_quotient_pfp_unique_secondinput_entry * S ((S (fom_index_pfp_unique_secondinput)) * c) + (fom_value_pfp_unique_secondinput))) /\ (exists fom_gap_pfp_unique_secondinput_value_bound. fom_gap_pfp_unique_secondinput_value_bound + S (fom_value_pfp_unique_secondinput) = p))) /\ (((forall pfp_repeat_index_unique_secondremoved. (exists pfa_gap_unique_secondremovedindex. pfa_gap_unique_secondremovedindex + S (pfp_repeat_index_unique_secondremoved) = (u)) -> (((exists ff_h_pfp_unique_secondremovedentry. ff_h_pfp_unique_secondremovedentry + S (0) = S ((S (pfp_repeat_index_unique_secondremoved)) * c)) /\ exists ff_q_pfp_unique_secondremovedentry. b = ff_q_pfp_unique_secondremovedentry * S ((S (pfp_repeat_index_unique_secondremoved)) * c) + (0)))) /\ (((forall pftrim_index_unique_secondsuffix pftrim_value_unique_secondsuffix. (exists pfa_gap_unique_secondsuffixbound. pfa_gap_unique_secondsuffixbound + S (pftrim_index_unique_secondsuffix) = (N)) -> (((exists ff_h_pfp_unique_secondsuffixsource. ff_h_pfp_unique_secondsuffixsource + S (pftrim_value_unique_secondsuffix) = S ((S ((u)+pftrim_index_unique_secondsuffix)) * c)) /\ exists ff_q_pfp_unique_secondsuffixsource. b = ff_q_pfp_unique_secondsuffixsource * S ((S ((u)+pftrim_index_unique_secondsuffix)) * c) + (pftrim_value_unique_secondsuffix))) -> (((exists ff_h_pfp_unique_secondsuffixoutput. ff_h_pfp_unique_secondsuffixoutput + S (pftrim_value_unique_secondsuffix) = S ((S (pftrim_index_unique_secondsuffix)) * g)) /\ exists ff_q_pfp_unique_secondsuffixoutput. f = ff_q_pfp_unique_secondsuffixoutput * S ((S (pftrim_index_unique_secondsuffix)) * g) + (pftrim_value_unique_secondsuffix)))) /\ (((N)=0 \/ (exists pftrim_leading_unique_secondnormal. ((((exists ff_h_pfp_unique_secondnormalentry. ff_h_pfp_unique_secondnormalentry + S (pftrim_leading_unique_secondnormal) = S ((S (0)) * g)) /\ exists ff_q_pfp_unique_secondnormalentry. f = ff_q_pfp_unique_secondnormalentry * S ((S (0)) * g) + (pftrim_leading_unique_secondnormal))) /\ ((~(pftrim_leading_unique_secondnormal=0))))))))))))))) -> M=Nintro pintro bintro cintro Lintro tintro dintro eintro Mintro uintro fintro gintro Nintro hintro hkhave ht : t=uspecialize prime_field_polynomial_trim_removed_count_unique (p)specialize prime_field_polynomial_trim_removed_count_unique (b)specialize prime_field_polynomial_trim_removed_count_unique (c)specialize prime_field_polynomial_trim_removed_count_unique (L)specialize prime_field_polynomial_trim_removed_count_unique (t)specialize prime_field_polynomial_trim_removed_count_unique (d)specialize prime_field_polynomial_trim_removed_count_unique (e)specialize prime_field_polynomial_trim_removed_count_unique (M)specialize prime_field_polynomial_trim_removed_count_unique (u)specialize prime_field_polynomial_trim_removed_count_unique (f)specialize prime_field_polynomial_trim_removed_count_unique (g)specialize prime_field_polynomial_trim_removed_count_unique (N)apply prime_field_polynomial_trim_removed_count_uniqueexact hexact hkcases hcases h_rightcases h_right_rightcases h_right_right_rightcases hkcases hk_rightcases hk_right_rightcases hk_right_right_rightspecialize add_left_cancel (t)specialize add_left_cancel (M)specialize add_left_cancel (N)apply add_left_canceltrans Lsymmexact h_lefttrans u+Nexact hk_leftcongrsymmexact htrefl
prime_field_polynomial_trim_output_equal · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 253 · statement SHA-256 6b164bd03ffa37df21c1bea56aedaef6ce38da25feb7fa58c3360e1b561ba928
forall p b c L t d e M u f g N. ((((L)=(t)+(M)) /\ (((forall fom_index_pfp_unique_firstinput. (exists fom_gap_pfp_unique_firstinput_index_bound. fom_gap_pfp_unique_firstinput_index_bound + S (fom_index_pfp_unique_firstinput) = L) -> exists fom_value_pfp_unique_firstinput. ((((exists fom_beta_height_pfp_unique_firstinput_entry. fom_beta_height_pfp_unique_firstinput_entry + S (fom_value_pfp_unique_firstinput) = S ((S (fom_index_pfp_unique_firstinput)) * c)) /\ exists fom_beta_quotient_pfp_unique_firstinput_entry. b = fom_beta_quotient_pfp_unique_firstinput_entry * S ((S (fom_index_pfp_unique_firstinput)) * c) + (fom_value_pfp_unique_firstinput))) /\ (exists fom_gap_pfp_unique_firstinput_value_bound. fom_gap_pfp_unique_firstinput_value_bound + S (fom_value_pfp_unique_firstinput) = p))) /\ (((forall pfp_repeat_index_unique_firstremoved. (exists pfa_gap_unique_firstremovedindex. pfa_gap_unique_firstremovedindex + S (pfp_repeat_index_unique_firstremoved) = (t)) -> (((exists ff_h_pfp_unique_firstremovedentry. ff_h_pfp_unique_firstremovedentry + S (0) = S ((S (pfp_repeat_index_unique_firstremoved)) * c)) /\ exists ff_q_pfp_unique_firstremovedentry. b = ff_q_pfp_unique_firstremovedentry * S ((S (pfp_repeat_index_unique_firstremoved)) * c) + (0)))) /\ (((forall pftrim_index_unique_firstsuffix pftrim_value_unique_firstsuffix. (exists pfa_gap_unique_firstsuffixbound. pfa_gap_unique_firstsuffixbound + S (pftrim_index_unique_firstsuffix) = (M)) -> (((exists ff_h_pfp_unique_firstsuffixsource. ff_h_pfp_unique_firstsuffixsource + S (pftrim_value_unique_firstsuffix) = S ((S ((t)+pftrim_index_unique_firstsuffix)) * c)) /\ exists ff_q_pfp_unique_firstsuffixsource. b = ff_q_pfp_unique_firstsuffixsource * S ((S ((t)+pftrim_index_unique_firstsuffix)) * c) + (pftrim_value_unique_firstsuffix))) -> (((exists ff_h_pfp_unique_firstsuffixoutput. ff_h_pfp_unique_firstsuffixoutput + S (pftrim_value_unique_firstsuffix) = S ((S (pftrim_index_unique_firstsuffix)) * e)) /\ exists ff_q_pfp_unique_firstsuffixoutput. d = ff_q_pfp_unique_firstsuffixoutput * S ((S (pftrim_index_unique_firstsuffix)) * e) + (pftrim_value_unique_firstsuffix)))) /\ (((M)=0 \/ (exists pftrim_leading_unique_firstnormal. ((((exists ff_h_pfp_unique_firstnormalentry. ff_h_pfp_unique_firstnormalentry + S (pftrim_leading_unique_firstnormal) = S ((S (0)) * e)) /\ exists ff_q_pfp_unique_firstnormalentry. d = ff_q_pfp_unique_firstnormalentry * S ((S (0)) * e) + (pftrim_leading_unique_firstnormal))) /\ ((~(pftrim_leading_unique_firstnormal=0))))))))))))))) -> ((((L)=(u)+(N)) /\ (((forall fom_index_pfp_unique_secondinput. (exists fom_gap_pfp_unique_secondinput_index_bound. fom_gap_pfp_unique_secondinput_index_bound + S (fom_index_pfp_unique_secondinput) = L) -> exists fom_value_pfp_unique_secondinput. ((((exists fom_beta_height_pfp_unique_secondinput_entry. fom_beta_height_pfp_unique_secondinput_entry + S (fom_value_pfp_unique_secondinput) = S ((S (fom_index_pfp_unique_secondinput)) * c)) /\ exists fom_beta_quotient_pfp_unique_secondinput_entry. b = fom_beta_quotient_pfp_unique_secondinput_entry * S ((S (fom_index_pfp_unique_secondinput)) * c) + (fom_value_pfp_unique_secondinput))) /\ (exists fom_gap_pfp_unique_secondinput_value_bound. fom_gap_pfp_unique_secondinput_value_bound + S (fom_value_pfp_unique_secondinput) = p))) /\ (((forall pfp_repeat_index_unique_secondremoved. (exists pfa_gap_unique_secondremovedindex. pfa_gap_unique_secondremovedindex + S (pfp_repeat_index_unique_secondremoved) = (u)) -> (((exists ff_h_pfp_unique_secondremovedentry. ff_h_pfp_unique_secondremovedentry + S (0) = S ((S (pfp_repeat_index_unique_secondremoved)) * c)) /\ exists ff_q_pfp_unique_secondremovedentry. b = ff_q_pfp_unique_secondremovedentry * S ((S (pfp_repeat_index_unique_secondremoved)) * c) + (0)))) /\ (((forall pftrim_index_unique_secondsuffix pftrim_value_unique_secondsuffix. (exists pfa_gap_unique_secondsuffixbound. pfa_gap_unique_secondsuffixbound + S (pftrim_index_unique_secondsuffix) = (N)) -> (((exists ff_h_pfp_unique_secondsuffixsource. ff_h_pfp_unique_secondsuffixsource + S (pftrim_value_unique_secondsuffix) = S ((S ((u)+pftrim_index_unique_secondsuffix)) * c)) /\ exists ff_q_pfp_unique_secondsuffixsource. b = ff_q_pfp_unique_secondsuffixsource * S ((S ((u)+pftrim_index_unique_secondsuffix)) * c) + (pftrim_value_unique_secondsuffix))) -> (((exists ff_h_pfp_unique_secondsuffixoutput. ff_h_pfp_unique_secondsuffixoutput + S (pftrim_value_unique_secondsuffix) = S ((S (pftrim_index_unique_secondsuffix)) * g)) /\ exists ff_q_pfp_unique_secondsuffixoutput. f = ff_q_pfp_unique_secondsuffixoutput * S ((S (pftrim_index_unique_secondsuffix)) * g) + (pftrim_value_unique_secondsuffix)))) /\ (((N)=0 \/ (exists pftrim_leading_unique_secondnormal. ((((exists ff_h_pfp_unique_secondnormalentry. ff_h_pfp_unique_secondnormalentry + S (pftrim_leading_unique_secondnormal) = S ((S (0)) * g)) /\ exists ff_q_pfp_unique_secondnormalentry. f = ff_q_pfp_unique_secondnormalentry * S ((S (0)) * g) + (pftrim_leading_unique_secondnormal))) /\ ((~(pftrim_leading_unique_secondnormal=0))))))))))))))) -> (forall mdr_i_pfp_unique_coefficients mdr_a_pfp_unique_coefficients. (exists mdr_gap_pfp_unique_coefficientsb. mdr_gap_pfp_unique_coefficientsb + S (mdr_i_pfp_unique_coefficients) = (M)) -> (((exists ff_h_mdr_pfp_unique_coefficientso. ff_h_mdr_pfp_unique_coefficientso + S (mdr_a_pfp_unique_coefficients) = S ((S (mdr_i_pfp_unique_coefficients)) * e)) /\ exists ff_q_mdr_pfp_unique_coefficientso. d = ff_q_mdr_pfp_unique_coefficientso * S ((S (mdr_i_pfp_unique_coefficients)) * e) + (mdr_a_pfp_unique_coefficients))) -> (((exists ff_h_mdr_pfp_unique_coefficientsn. ff_h_mdr_pfp_unique_coefficientsn + S (mdr_a_pfp_unique_coefficients) = S ((S (mdr_i_pfp_unique_coefficients)) * g)) /\ exists ff_q_mdr_pfp_unique_coefficientsn. f = ff_q_mdr_pfp_unique_coefficientsn * S ((S (mdr_i_pfp_unique_coefficients)) * g) + (mdr_a_pfp_unique_coefficients))))intro pintro bintro cintro Lintro tintro dintro eintro Mintro uintro fintro gintro Nintro hintro hkhave ht : t=uspecialize prime_field_polynomial_trim_removed_count_unique (p)specialize prime_field_polynomial_trim_removed_count_unique (b)specialize prime_field_polynomial_trim_removed_count_unique (c)specialize prime_field_polynomial_trim_removed_count_unique (L)specialize prime_field_polynomial_trim_removed_count_unique (t)specialize prime_field_polynomial_trim_removed_count_unique (d)specialize prime_field_polynomial_trim_removed_count_unique (e)specialize prime_field_polynomial_trim_removed_count_unique (M)specialize prime_field_polynomial_trim_removed_count_unique (u)specialize prime_field_polynomial_trim_removed_count_unique (f)specialize prime_field_polynomial_trim_removed_count_unique (g)specialize prime_field_polynomial_trim_removed_count_unique (N)apply prime_field_polynomial_trim_removed_count_uniqueexact hexact hkhave hM : M=Nspecialize prime_field_polynomial_trim_retained_length_unique (p)specialize prime_field_polynomial_trim_retained_length_unique (b)specialize prime_field_polynomial_trim_retained_length_unique (c)specialize prime_field_polynomial_trim_retained_length_unique (L)specialize prime_field_polynomial_trim_retained_length_unique (t)specialize prime_field_polynomial_trim_retained_length_unique (d)specialize prime_field_polynomial_trim_retained_length_unique (e)specialize prime_field_polynomial_trim_retained_length_unique (M)specialize prime_field_polynomial_trim_retained_length_unique (u)specialize prime_field_polynomial_trim_retained_length_unique (f)specialize prime_field_polynomial_trim_retained_length_unique (g)specialize prime_field_polynomial_trim_retained_length_unique (N)apply prime_field_polynomial_trim_retained_length_uniqueexact hexact hkcases hcases h_rightcases h_right_rightcases h_right_right_rightcases hkcases hk_rightcases hk_right_rightcases hk_right_right_rightrewrite ht at h_right_right_right_leftrewrite ht at h_right_right_right_leftrewrite hM at h_right_right_right_leftrewrite hMspecialize prime_field_polynomial_suffix_equal (b)specialize prime_field_polynomial_suffix_equal (c)specialize prime_field_polynomial_suffix_equal (u)specialize prime_field_polynomial_suffix_equal (d)specialize prime_field_polynomial_suffix_equal (e)specialize prime_field_polynomial_suffix_equal (f)specialize prime_field_polynomial_suffix_equal (g)specialize prime_field_polynomial_suffix_equal (N)apply prime_field_polynomial_suffix_equalexact h_right_right_right_leftexact hk_right_right_right_left
prime_field_polynomial_trim_represented_degree · inherited Alpha-v32 support · not Stable
Not a new v33 admission. Bundle node 254 · statement SHA-256 0fdd9a531d8218df97eeef68f54a4952e294eeda30a419ae7e442005a2811f76
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