proposition: Lemma size_lagrange_basis {R: fieldType} (x: R) (s: seq R): (size (lagrange_basis s x) <= S (size s))%N.
proof: Proof. rewrite /lagrange_basis. elim: s => [|a s IHs]. 1: by rewrite big_nil size_poly1. rewrite big_cons. destruct (x == a) eqn:Heq. 1: { move /eqP in Heq. by rewrite Heq GRing.subrr GRing.invr0 -mul_polyC polyC0 !GRing.mul0r size_poly0. } apply negbT in Heq. apply: leq_trans. 1: by apply: size_mul_leq. rewrite size_scale. - by rewrite (@PolyK R 0) // GRing.oner_neq0. - by rewrite GRing.invr_neq0 // GRing.subr_eq0. Qed.
imports: Relational(OrderEnrichedCategory GenericRulesSimple) mathcomp(all_ssreflect all_algebra reals distr realsum ssrnat ssreflect ssrfun ssrbool ssrnum eqtype choice seq) Mon(SPropBase) Crypt(Axioms ChoiceAsOrd SubDistr Couplings UniformDistrLemmas FreeProbProg Theta_dens RulesStateProb pkg_core_definition choice_type pkg_composition pkg_rhl Package Prelude) extructures(ord fset fmap) Equations(Equations)