proposition: Lemma AQexp_neg_bound_correct : -2 ^ Z.to_nat (Z.log2_up (Qceiling(-'a))) ≤ a.
proof: Proof. apply (order_reflecting (cast AQ Q)). rewrite rings.preserves_negate. rewrite preserves_nat_pow. rewrite rings.preserves_2. rewrite <-(int_pow_nat_pow (f:=Z_of_nat)). assert ('a <= 0)%Q as H5. { apply (order_preserving (cast AQ Q)) in Pa. rewrite rings.preserves_0 in Pa. exact Pa. } pose proof (rational_exp_bound_power_2 H5). rewrite Qpower.Zpower_Qpower in H6. apply H6. apply Nat2Z.is_nonneg. Qed.
imports: CoRN.algebra.RSetoid CoRN.metric2.Metric CoRN.metric2.UniformContinuity Coq.Program.Program MathClasses.misc.workaround_tactics CoRN.model.totalorder.QposMinMax CoRN.model.totalorder.QMinMax Coq.QArith.Qround Coq.QArith.Qabs CoRN.util.Qdlog CoRN.stdlib_omissions.Q CoRN.reals.fast.CRexp CoRN.reals.fast.CRstreams CoRN.reals.fast.CRAlternatingSum CoRN.reals.fast.Compress CoRN.reals.fast.CRpower CoRN.metric2.MetricMorphisms CoRN.reals.faster.ARAlternatingSum MathClasses.interfaces.abstract_algebra MathClasses.orders.minmax MathClasses.theory.nat_pow MathClasses.theory.int_pow CoRN.reals.faster.ARArith