Skip to content

Commit be778e5

Browse files
committed
Fix notation
1 parent b91c720 commit be778e5

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

hermite.v

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Section Hermite.
2121

2222
Variable R : archiRealFieldType.
2323

24-
Local Notation " `⌊ x ⌋ " := ((Num.floor x)%:~R) (format "`⌊ x ⌋" ).
24+
Local Notation " `⌊ x ⌋ " := ((Num.floor x)%:~R : R) (format "`⌊ x ⌋" ).
2525

2626
Definition frac_part (x : R) := x - `⌊ x ⌋.
2727

@@ -110,22 +110,21 @@ rewrite [X in _ <= _ + X]splitr -[X in X <= _]add0r mul1r addrA lerD2r.
110110
by rewrite addrAC subr_ge0.
111111
Qed.
112112

113-
Lemma hermite_id (n : nat) x :
114-
`⌊n%:R * x⌋ = \sum_(k < n) (`⌊x + k%:R / (n%:R:R)⌋ : R).
113+
Lemma hermite_id (n : nat) (x : R) :
114+
`⌊n%:R * x⌋ = \sum_(k < n) `⌊x + k%:R / (n%:R)⌋.
115115
Proof.
116116
have [//|n_gt0|->] := ltngtP n 0; last by rewrite big_ord0 mul0r floor0.
117117
have n_neq0 : n%:R != 0 :> R by rewrite (eqr_nat _ _ 0); case: (n) n_gt0.
118118
have nr_nt0 : (0 : R) < n%:R by rewrite (ltr_nat _ 0).
119-
pose g (k : nat) : R := `⌊x + k%:R / (n%:R : R)⌋.
119+
pose g (k : nat) : R := `⌊x + k%:R / n%:R⌋.
120120
rewrite -(@big_mkord _ _ _ _ xpredT g) {}/g.
121121
rewrite (fracE x) mulrDr addrC -(intrM _ (Posz n)) floorDrz // intrD.
122122
rewrite [X in _ + X = _]floorK // intrM.
123123
under eq_bigr do rewrite -addrA addrC floorDrz // intrD.
124124
rewrite big_split /=.
125125
rewrite sumr_const_nat subn0.
126126
rewrite [in X in _ = _ + X]floorK // [X in _ + X = _]mulr_natl.
127-
suff <- : `⌊n%:R * `{ x}⌋ = (\sum_(0 <= i < n) `⌊`{ x} + i%:R / n%:R⌋ : R).
128-
by [].
127+
suff <- : `⌊n%:R * `{ x}⌋ = \sum_(0 <= i < n) `⌊`{ x} + i%:R / n%:R⌋ by [].
129128
have /andP[x_ge0 x_lt1] := frac_le x.
130129
pose fnx := Num.floor (n%:R * `{x}).
131130
have fnx_pos : 0 <= fnx by rewrite floor_ge0 mulr_ge0.
@@ -142,11 +141,11 @@ have nLcnx : (`|cnx| <= n)%N.
142141
have /le_ceil : n%:R * (1 - `{x}) <= n%:R.
143142
by rewrite mulrBr mulr1 gerBl mulr_ge0.
144143
rewrite -/cnx -(ler_int R) //.
145-
suff /eqP->// : (Num.Def.ceil (n%:R : R))%:~R == (n%:R : R) by [].
144+
suff /eqP->// : (Num.Def.ceil (n%:R : R))%:~R == n%:R :> R by [].
146145
by rewrite -intrEceil.
147146
have tE : t = (`|cnx| : nat).
148147
rewrite /cnx mulrBr mulr1 addrC ceilDrz // ceilNfloor opprK addrC.
149-
have -> : Num.Def.ceil (n%:R : R) = (n : int).
148+
have -> : Num.Def.ceil (n%:R : R) = n :> int.
150149
by apply/eqP; rewrite -(eqr_int R) -intrEceil.
151150
by rewrite -[LHS]distnEl ?intOrdered.gez0_norm.
152151
rewrite (big_cat_nat_idem _ (_ : 0 <= t)%N) //=; last 2 first.
@@ -185,4 +184,4 @@ rewrite hermite_id big_ord_recr /= big_ord1 mul0r addr0.
185184
by rewrite mul1r /half_up addrAC subrr add0r.
186185
Qed.
187186

188-
End Hermite.
187+
End Hermite.

0 commit comments

Comments
 (0)