|
1 | 1 | (* mathcomp analysis (c) 2026 Inria and AIST. License: CeCILL-C. *) |
| 2 | +From HB Require Import structures. |
2 | 3 | From mathcomp Require Import all_ssreflect_compat finmap ssralg ssrnum ssrint. |
3 | 4 |
|
4 | 5 | (**md**************************************************************************) |
@@ -93,10 +94,33 @@ Proof. by case: C => //= /ltW. Qed. |
93 | 94 | (* MathComp 2.6 additions *) |
94 | 95 | (**************************) |
95 | 96 |
|
96 | | -(* PR in progress: https://github.com/math-comp/math-comp/pull/1515 *) |
97 | 97 | Lemma intrD1 {R : pzRingType} (i : int) : (i + 1)%:~R = i%:~R + 1 :> R. |
98 | 98 | Proof. by rewrite intrD. Qed. |
99 | 99 |
|
100 | | -(* PR in progress: https://github.com/math-comp/math-comp/pull/1515 *) |
101 | 100 | Lemma intr1D {R : pzRingType} (i : int) : (1 + i)%:~R = 1 + i%:~R :> R. |
102 | 101 | Proof. by rewrite intrD. Qed. |
| 102 | + |
| 103 | +Lemma divDl_ge0 (R : numDomainType) (s t : R) (s0 : 0 <= s) (t0 : 0 <= t) : |
| 104 | + 0 <= s / (s + t). |
| 105 | +Proof. |
| 106 | +by apply: divr_ge0 => //; apply: addr_ge0. |
| 107 | +Qed. |
| 108 | + |
| 109 | +Lemma divDl_le1 (R : numFieldType) (s t : R) (s0 : 0 <= s) (t0 : 0 <= t) : |
| 110 | + s / (s + t) <= 1. |
| 111 | +Proof. |
| 112 | +move: s0; rewrite le0r => /predU1P [->|s0]; first by rewrite mul0r. |
| 113 | +by rewrite ler_pdivrMr ?mul1r ?lerDl // ltr_wpDr. |
| 114 | +Qed. |
| 115 | + |
| 116 | +HB.mixin Record Zmodule_isSubNormed (R : numDomainType) |
| 117 | + (M : normedZmodType R) (S : pred M) T & SubChoice M S T |
| 118 | + & Num.NormedZmodule R T := { |
| 119 | + norm_valE : forall x , @Num.norm _ M ((val : T -> M) x) = @Num.norm _ T x |
| 120 | +}. |
| 121 | + |
| 122 | +#[short(type="subNormedZmodType")] |
| 123 | +HB.structure Definition SubNormedZmodule (R : numDomainType) |
| 124 | + (V : normedZmodType R) (S : pred V) := |
| 125 | + { U of SubChoice V S U & Num.NormedZmodule R U & GRing.SubZmodule V S U |
| 126 | + & Zmodule_isSubNormed R V S U }. |
0 commit comments