@@ -95,7 +95,7 @@ def stationary_point {f : padic_seq p} (hf : ¬ f ≈ 0) : ℕ :=
95
95
classical.some $ stationary hf
96
96
97
97
lemma stationary_point_spec {f : padic_seq p} (hf : ¬ f ≈ 0 ) :
98
- ∀ {m n}, m ≥ stationary_point hf → n ≥ stationary_point hf →
98
+ ∀ {m n}, stationary_point hf ≤ m → stationary_point hf ≤ n →
99
99
padic_norm p (f n) = padic_norm p (f m) :=
100
100
classical.some_spec $ stationary hf
101
101
@@ -147,7 +147,7 @@ lemma not_lim_zero_const_of_nonzero {q : ℚ} (hq : q ≠ 0) : ¬ lim_zero (cons
147
147
lemma not_equiv_zero_const_of_nonzero {q : ℚ} (hq : q ≠ 0 ) : ¬ (const (padic_norm p) q) ≈ 0 :=
148
148
λ h : lim_zero (const (padic_norm p) q - 0 ), not_lim_zero_const_of_nonzero hq $ by simpa using h
149
149
150
- lemma norm_nonneg (f : padic_seq p) : f.norm ≥ 0 :=
150
+ lemma norm_nonneg (f : padic_seq p) : 0 ≤ f.norm :=
151
151
if hf : f ≈ 0 then by simp [hf, norm]
152
152
else by simp [norm, hf, padic_norm.nonneg]
153
153
@@ -265,22 +265,22 @@ by simp [h1, norm, hp.one_lt]
265
265
266
266
private lemma norm_eq_of_equiv_aux {f g : padic_seq p} (hf : ¬ f ≈ 0 ) (hg : ¬ g ≈ 0 ) (hfg : f ≈ g)
267
267
(h : padic_norm p (f (stationary_point hf)) ≠ padic_norm p (g (stationary_point hg)))
268
- (hgt : padic_norm p (f (stationary_point hf )) > padic_norm p (g (stationary_point hg ))) :
268
+ (hlt : padic_norm p (g (stationary_point hg )) < padic_norm p (f (stationary_point hf ))) :
269
269
false :=
270
270
begin
271
- have hpn : padic_norm p (f (stationary_point hf)) - padic_norm p (g (stationary_point hg)) > 0 ,
272
- from sub_pos_of_lt hgt ,
271
+ have hpn : 0 < padic_norm p (f (stationary_point hf)) - padic_norm p (g (stationary_point hg)),
272
+ from sub_pos_of_lt hlt ,
273
273
cases hfg _ hpn with N hN,
274
274
let i := max N (max (stationary_point hf) (stationary_point hg)),
275
- have hi : i ≥ N , from le_max_left _ _,
275
+ have hi : N ≤ i , from le_max_left _ _,
276
276
have hN' := hN _ hi,
277
- padic_index_simp [N, hf, hg] at hN' h hgt ,
277
+ padic_index_simp [N, hf, hg] at hN' h hlt ,
278
278
have hpne : padic_norm p (f i) ≠ padic_norm p (-(g i)),
279
279
by rwa [ ←padic_norm.neg p (g i)] at h,
280
280
let hpnem := add_eq_max_of_ne p hpne,
281
281
have hpeq : padic_norm p ((f - g) i) = max (padic_norm p (f i)) (padic_norm p (g i)),
282
282
{ rwa padic_norm.neg at hpnem },
283
- rw [hpeq, max_eq_left_of_lt hgt ] at hN',
283
+ rw [hpeq, max_eq_left_of_lt hlt ] at hN',
284
284
have : padic_norm p (f i) < padic_norm p (f i),
285
285
{ apply lt_of_lt_of_le hN', apply sub_le_self, apply padic_norm.nonneg },
286
286
exact lt_irrefl _ this
@@ -290,13 +290,13 @@ private lemma norm_eq_of_equiv {f g : padic_seq p} (hf : ¬ f ≈ 0) (hg : ¬ g
290
290
padic_norm p (f (stationary_point hf)) = padic_norm p (g (stationary_point hg)) :=
291
291
begin
292
292
by_contradiction h,
293
- cases (decidable.em (padic_norm p (f (stationary_point hf )) >
294
- padic_norm p (g (stationary_point hg ))))
295
- with hgt hngt ,
296
- { exact norm_eq_of_equiv_aux hf hg hfg h hgt },
293
+ cases (decidable.em (padic_norm p (g (stationary_point hg )) <
294
+ padic_norm p (f (stationary_point hf ))))
295
+ with hlt hnlt ,
296
+ { exact norm_eq_of_equiv_aux hf hg hfg h hlt },
297
297
{ apply norm_eq_of_equiv_aux hg hf (setoid.symm hfg) (ne.symm h),
298
298
apply lt_of_le_of_ne,
299
- apply le_of_not_gt hngt ,
299
+ apply le_of_not_gt hnlt ,
300
300
apply h }
301
301
end
302
302
@@ -501,28 +501,28 @@ section embedding
501
501
open padic_seq
502
502
variables {p : ℕ} [fact p.prime]
503
503
504
- lemma defn (f : padic_seq p) {ε : ℚ} (hε : ε > 0 ) : ∃ N, ∀ i ≥ N, padic_norm_e (⟦f⟧ - f i) < ε :=
504
+ lemma defn (f : padic_seq p) {ε : ℚ} (hε : 0 < ε ) : ∃ N, ∀ i ≥ N, padic_norm_e (⟦f⟧ - f i) < ε :=
505
505
begin
506
506
simp only [padic.cast_eq_of_rat],
507
507
change ∃ N, ∀ i ≥ N, (f - const _ (f i)).norm < ε,
508
508
by_contradiction h,
509
509
cases cauchy₂ f hε with N hN,
510
- have : ∀ N, ∃ i ≥ N, (f - const _ (f i)).norm ≥ ε ,
510
+ have : ∀ N, ∃ i ≥ N, ε ≤ (f - const _ (f i)).norm,
511
511
by simpa [not_forall] using h,
512
512
rcases this N with ⟨i, hi, hge⟩,
513
513
have hne : ¬ (f - const (padic_norm p) (f i)) ≈ 0 ,
514
514
{ intro h, unfold padic_seq.norm at hge; split_ifs at hge, exact not_lt_of_ge hge hε },
515
515
unfold padic_seq.norm at hge; split_ifs at hge,
516
516
apply not_le_of_gt _ hge,
517
- cases decidable.em ((stationary_point hne) ≥ N ) with hgen hngen,
517
+ cases decidable.em (N ≤ stationary_point hne ) with hgen hngen,
518
518
{ apply hN; assumption },
519
519
{ have := stationary_point_spec hne (le_refl _) (le_of_not_le hngen),
520
520
rw ←this ,
521
521
apply hN,
522
522
apply le_refl, assumption }
523
523
end
524
524
525
- protected lemma nonneg (q : ℚ_[p]) : padic_norm_e q ≥ 0 :=
525
+ protected lemma nonneg (q : ℚ_[p]) : 0 ≤ padic_norm_e q :=
526
526
quotient.induction_on q $ norm_nonneg
527
527
528
528
lemma zero_def : (0 : ℚ_[p]) = ⟦0 ⟧ := rfl
@@ -595,7 +595,7 @@ namespace padic
595
595
section complete
596
596
open padic_seq padic
597
597
598
- theorem rat_dense' {p : ℕ} [fact p.prime] (q : ℚ_[p]) {ε : ℚ} (hε : ε > 0 ) :
598
+ theorem rat_dense' {p : ℕ} [fact p.prime] (q : ℚ_[p]) {ε : ℚ} (hε : 0 < ε ) :
599
599
∃ r : ℚ, padic_norm_e (q - r) < ε :=
600
600
quotient.induction_on q $ λ q',
601
601
have ∃ N, ∀ m n ≥ N, padic_norm p (q' m - q' n) < ε, from cauchy₂ _ hε,
@@ -609,7 +609,7 @@ quotient.induction_on q $ λ q',
609
609
{ simp only [padic_seq.norm, dif_neg hne'],
610
610
change padic_norm p (q' _ - q' _) < ε,
611
611
have := stationary_point_spec hne',
612
- cases decidable.em (N ≥ stationary_point hne') with hle hle,
612
+ cases decidable.em (stationary_point hne' ≤ N ) with hle hle,
613
613
{ have := eq.symm (this (le_refl _) hle),
614
614
simp at this , simpa [this ] },
615
615
{ apply hN,
@@ -619,7 +619,7 @@ quotient.induction_on q $ λ q',
619
619
variables {p : ℕ} [fact p.prime] (f : cau_seq _ (@padic_norm_e p _))
620
620
open classical
621
621
622
- private lemma div_nat_pos (n : ℕ) : (1 / ((n + 1 ): ℚ)) > 0 :=
622
+ private lemma div_nat_pos (n : ℕ) : 0 < (1 / ((n + 1 ): ℚ)) :=
623
623
div_pos zero_lt_one (by exact_mod_cast succ_pos _)
624
624
625
625
def lim_seq : ℕ → ℚ := λ n, classical.some (rat_dense' (f n) (div_nat_pos n))
638
638
639
639
lemma exi_rat_seq_conv_cauchy : is_cau_seq (padic_norm p) (lim_seq f) :=
640
640
assume ε hε,
641
- have hε3 : ε / 3 > 0 , from div_pos hε (by norm_num),
641
+ have hε3 : 0 < ε / 3 , from div_pos hε (by norm_num),
642
642
let ⟨N, hN⟩ := exi_rat_seq_conv f hε3 ,
643
643
⟨N2, hN2⟩ := f.cauchy₂ hε3 in
644
644
begin
@@ -677,8 +677,8 @@ private def lim : ℚ_[p] := ⟦lim' f⟧
677
677
theorem complete' : ∃ q : ℚ_[p], ∀ ε > 0 , ∃ N, ∀ i ≥ N, padic_norm_e (q - f i) < ε :=
678
678
⟨ lim f,
679
679
λ ε hε,
680
- let ⟨N, hN⟩ := exi_rat_seq_conv f (show ε / 2 > 0 , from div_pos hε (by norm_num)),
681
- ⟨N2, hN2⟩ := padic_norm_e.defn (lim' f) (show ε / 2 > 0 , from div_pos hε (by norm_num)) in
680
+ let ⟨N, hN⟩ := exi_rat_seq_conv f (show 0 < ε / 2 , from div_pos hε (by norm_num)),
681
+ ⟨N2, hN2⟩ := padic_norm_e.defn (lim' f) (show 0 < ε / 2 , from div_pos hε (by norm_num)) in
682
682
begin
683
683
existsi max N N2,
684
684
intros i hi,
@@ -730,7 +730,7 @@ instance : is_absolute_value (λ a : ℚ_[p], ∥a∥) :=
730
730
abv_add := norm_add_le,
731
731
abv_mul := by simp [has_norm.norm, padic_norm_e.mul'] }
732
732
733
- theorem rat_dense {p : ℕ} {hp : fact p.prime} (q : ℚ_[p]) {ε : ℝ} (hε : ε > 0 ) :
733
+ theorem rat_dense {p : ℕ} {hp : fact p.prime} (q : ℚ_[p]) {ε : ℝ} (hε : 0 < ε ) :
734
734
∃ r : ℚ, ∥q - r∥ < ε :=
735
735
let ⟨ε', hε'l, hε'r⟩ := exists_rat_btwn hε,
736
736
⟨r, hr⟩ := rat_dense' q (by simpa using hε'l) in
@@ -858,7 +858,7 @@ begin
858
858
exact_mod_cast hN i hi
859
859
end
860
860
861
- lemma padic_norm_e_lim_le {f : cau_seq ℚ_[p] norm} {a : ℝ} (ha : a > 0 )
861
+ lemma padic_norm_e_lim_le {f : cau_seq ℚ_[p] norm} {a : ℝ} (ha : 0 < a )
862
862
(hf : ∀ i, ∥f i∥ ≤ a) : ∥f.lim∥ ≤ a :=
863
863
let ⟨N, hN⟩ := setoid.symm (cau_seq.equiv_lim f) _ ha in
864
864
calc ∥f.lim∥ = ∥f.lim - f N + f N∥ : by simp
0 commit comments