proposition: Lemma SupDistanceToLinear_translate : forall x c a b (H:a < b) (H0:a+c < b + c), (proj1_sig (SupDistanceToLinear x H) == proj1_sig (SupDistanceToLinear (constStepF (c:QS) + x) H0))%Q.
proof: Proof. induction x. intros; unfold SupDistanceToLinear; simpl. autorewrite with QposElim. apply Qmax_compat; ring. intros c a b H H0. change (constStepF (X:=QS) c + glue o x1 x2) with (glue o (constStepF (c:QS) + x1) (constStepF (c:QS) + x2)). do 2 rewrite -> SupDistanceToLinear_glue. set (A:=(affineCombo_gt (OpenUnitDual o) H)). apply Qmax_compat. eapply Seq_trans. apply Q_Setoid. apply (IHx1 c _ _ A (proj2 (Qplus_lt_l _ _ c) A)). apply SupDistanceToLinear_wd1; try reflexivity. unfold affineCombo; ring. set (B:=(affineCombo_lt (OpenUnitDual o) H)). eapply Seq_trans. apply Q_Setoid. apply (IHx2 c _ _ B (proj2 (Qplus_lt_l _ _ c) B)). apply SupDistanceToLinear_wd1; try reflexivity. unfold affineCombo; ring. Qed.
imports: CoRN.algebra.RSetoid CoRN.metric2.Metric CoRN.metric2.UniformContinuity CoRN.model.metric2.IntegrableFunction CoRN.model.metric2.BoundedFunction CoRN.model.metric2.CRmetric CoRN.reals.fast.CRArith CoRN.reals.fast.CRIR CoRN.ftc.Integral CoRN.model.structures.StepQsec CoRN.model.structures.OpenUnit CoRN.model.totalorder.QMinMax CoRN.model.totalorder.QposMinMax Coq.QArith.Qabs CoRN.tactics.Qauto Coq.QArith.Qround CoRN.model.metric2.L1metric CoRN.model.metric2.LinfMetric CoRN.model.ordfields.Qordfield CoRN.algebra.COrdFields2 CoRN.model.metric2.Qmetric CoRN.reals.fast.ContinuousCorrect CoRN.ftc.IntegrationRules CoRN.ftc.MoreIntegrals CoRN.tactics.CornTac CoRN.model.metric2.LinfDistMonad