algebra.continued_fractions.computation.translationsMathlib.Algebra.ContinuedFractions.Computation.Translations

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -75,7 +75,7 @@ theorem stream_eq_none_of_fr_eq_zero {ifp_n : IntFractPair K}
     IntFractPair.stream v (n + 1) = none :=
   by
   cases' ifp_n with _ fr
-  change fr = 0 at nth_fr_eq_zero 
+  change fr = 0 at nth_fr_eq_zero
   simp [int_fract_pair.stream, stream_nth_eq, nth_fr_eq_zero]
 #align generalized_continued_fraction.int_fract_pair.stream_eq_none_of_fr_eq_zero GeneralizedContinuedFraction.IntFractPair.stream_eq_none_of_fr_eq_zero
 -/
@@ -155,11 +155,11 @@ theorem stream_succ (h : Int.fract v ≠ 0) (n : ℕ) :
   · have H : (int_fract_pair.of v).fr = Int.fract v := rfl
     rw [stream_zero, stream_succ_of_some (stream_zero v) (ne_of_eq_of_ne H h), H]
   · cases' eq_or_ne (int_fract_pair.stream (Int.fract v)⁻¹ n) none with hnone hsome
-    · rw [hnone] at ih 
+    · rw [hnone] at ih
       rw [succ_nth_stream_eq_none_iff.mpr (Or.inl hnone),
         succ_nth_stream_eq_none_iff.mpr (Or.inl ih)]
     · obtain ⟨p, hp⟩ := option.ne_none_iff_exists'.mp hsome
-      rw [hp] at ih 
+      rw [hp] at ih
       cases' eq_or_ne p.fr 0 with hz hnz
       · rw [stream_eq_none_of_fr_eq_zero hp hz, stream_eq_none_of_fr_eq_zero ih hz]
       · rw [stream_succ_of_some hp hnz, stream_succ_of_some ih hnz]
@@ -267,8 +267,8 @@ theorem IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some {gp_n : Pair
   obtain ⟨ifp, stream_succ_nth_eq, gp_n_eq⟩ :
     ∃ ifp, int_fract_pair.stream v (n + 1) = some ifp ∧ pair.mk 1 (ifp.b : K) = gp_n :=
     by
-    unfold of int_fract_pair.seq1 at s_nth_eq 
-    rwa [seq.map_tail, seq.nth_tail, seq.map_nth, Option.map_eq_some'] at s_nth_eq 
+    unfold of int_fract_pair.seq1 at s_nth_eq
+    rwa [seq.map_tail, seq.nth_tail, seq.map_nth, Option.map_eq_some'] at s_nth_eq
   cases gp_n_eq
   injection gp_n_eq with _ ifp_b_eq_gp_n_b
   exists ifp
@@ -365,7 +365,7 @@ theorem of_s_succ (n : ℕ) : (of v).s.get? (n + 1) = (of (fract v)⁻¹).s.get?
   · obtain ⟨p, hp⟩ := option.ne_none_iff_exists'.mp h₁
     obtain ⟨p', hp'₁, _⟩ := exists_succ_nth_stream_of_gcf_of_nth_eq_some hp
     have Hp := nth_of_eq_some_of_succ_nth_int_fract_pair_stream hp'₁
-    rw [← stream_succ h] at hp'₁ 
+    rw [← stream_succ h] at hp'₁
     rw [Hp, nth_of_eq_some_of_succ_nth_int_fract_pair_stream hp'₁]
 #align generalized_continued_fraction.of_s_succ GeneralizedContinuedFraction.of_s_succ
 -/
Diff
@@ -315,7 +315,7 @@ theorem of_s_head_aux (v : K) :
   by
   rw [of, int_fract_pair.seq1, of._match_1]
   simp only [seq.map_tail, seq.map, seq.tail, seq.head, seq.nth, Stream'.map]
-  rw [← Stream'.nth_succ, Stream'.nth, Option.map]
+  rw [← Stream'.get_succ, Stream'.get, Option.map]
 #align generalized_continued_fraction.of_s_head_aux GeneralizedContinuedFraction.of_s_head_aux
 -/
 
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Kappelmann
 -/
-import Mathbin.Algebra.ContinuedFractions.Computation.Basic
-import Mathbin.Algebra.ContinuedFractions.Translations
+import Algebra.ContinuedFractions.Computation.Basic
+import Algebra.ContinuedFractions.Translations
 
 #align_import algebra.continued_fractions.computation.translations from "leanprover-community/mathlib"@"7d34004e19699895c13c86b78ae62bbaea0bc893"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Kevin Kappelmann. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Kappelmann
-
-! This file was ported from Lean 3 source module algebra.continued_fractions.computation.translations
-! leanprover-community/mathlib commit 7d34004e19699895c13c86b78ae62bbaea0bc893
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.ContinuedFractions.Computation.Basic
 import Mathbin.Algebra.ContinuedFractions.Translations
 
+#align_import algebra.continued_fractions.computation.translations from "leanprover-community/mathlib"@"7d34004e19699895c13c86b78ae62bbaea0bc893"
+
 /-!
 # Basic Translation Lemmas Between Structures Defined for Computing Continued Fractions
 
Diff
@@ -72,6 +72,7 @@ theorem stream_zero (v : K) : IntFractPair.stream v 0 = some (IntFractPair.of v)
 
 variable {n : ℕ}
 
+#print GeneralizedContinuedFraction.IntFractPair.stream_eq_none_of_fr_eq_zero /-
 theorem stream_eq_none_of_fr_eq_zero {ifp_n : IntFractPair K}
     (stream_nth_eq : IntFractPair.stream v n = some ifp_n) (nth_fr_eq_zero : ifp_n.fr = 0) :
     IntFractPair.stream v (n + 1) = none :=
@@ -80,7 +81,9 @@ theorem stream_eq_none_of_fr_eq_zero {ifp_n : IntFractPair K}
   change fr = 0 at nth_fr_eq_zero 
   simp [int_fract_pair.stream, stream_nth_eq, nth_fr_eq_zero]
 #align generalized_continued_fraction.int_fract_pair.stream_eq_none_of_fr_eq_zero GeneralizedContinuedFraction.IntFractPair.stream_eq_none_of_fr_eq_zero
+-/
 
+#print GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_none_iff /-
 /-- Gives a recurrence to compute the `n + 1`th value of the sequence of integer and fractional
 parts of a value in case of termination.
 -/
@@ -91,7 +94,9 @@ theorem succ_nth_stream_eq_none_iff :
   rw [int_fract_pair.stream]
   cases int_fract_pair.stream v n <;> simp [imp_false]
 #align generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_none_iff GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_none_iff
+-/
 
+#print GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_some_iff /-
 /-- Gives a recurrence to compute the `n + 1`th value of the sequence of integer and fractional
 parts of a value in case of non-termination.
 -/
@@ -102,7 +107,9 @@ theorem succ_nth_stream_eq_some_iff {ifp_succ_n : IntFractPair K} :
           ifp_n.fr ≠ 0 ∧ IntFractPair.of ifp_n.fr⁻¹ = ifp_succ_n :=
   by simp [int_fract_pair.stream, ite_eq_iff]
 #align generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_some_iff GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_some_iff
+-/
 
+#print GeneralizedContinuedFraction.IntFractPair.stream_succ_of_some /-
 /-- An easier to use version of one direction of
 `generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_some_iff`.
 -/
@@ -110,7 +117,9 @@ theorem stream_succ_of_some {p : IntFractPair K} (h : IntFractPair.stream v n =
     (h' : p.fr ≠ 0) : IntFractPair.stream v (n + 1) = some (IntFractPair.of p.fr⁻¹) :=
   succ_nth_stream_eq_some_iff.mpr ⟨p, h, h', rfl⟩
 #align generalized_continued_fraction.int_fract_pair.stream_succ_of_some GeneralizedContinuedFraction.IntFractPair.stream_succ_of_some
+-/
 
+#print GeneralizedContinuedFraction.IntFractPair.stream_succ_of_int /-
 /-- The stream of `int_fract_pair`s of an integer stops after the first term.
 -/
 theorem stream_succ_of_int (a : ℤ) (n : ℕ) : IntFractPair.stream (a : K) (n + 1) = none :=
@@ -120,7 +129,9 @@ theorem stream_succ_of_int (a : ℤ) (n : ℕ) : IntFractPair.stream (a : K) (n
     simp only [int_fract_pair.of, Int.fract_intCast]
   · exact int_fract_pair.succ_nth_stream_eq_none_iff.mpr (Or.inl ih)
 #align generalized_continued_fraction.int_fract_pair.stream_succ_of_int GeneralizedContinuedFraction.IntFractPair.stream_succ_of_int
+-/
 
+#print GeneralizedContinuedFraction.IntFractPair.exists_succ_nth_stream_of_fr_zero /-
 theorem exists_succ_nth_stream_of_fr_zero {ifp_succ_n : IntFractPair K}
     (stream_succ_nth_eq : IntFractPair.stream v (n + 1) = some ifp_succ_n)
     (succ_nth_fr_eq_zero : ifp_succ_n.fr = 0) :
@@ -133,7 +144,9 @@ theorem exists_succ_nth_stream_of_fr_zero {ifp_succ_n : IntFractPair K}
   refine' ⟨ifp_n, seq_nth_eq, _⟩
   simpa only [int_fract_pair.of, Int.fract, sub_eq_zero] using succ_nth_fr_eq_zero
 #align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_fr_zero GeneralizedContinuedFraction.IntFractPair.exists_succ_nth_stream_of_fr_zero
+-/
 
+#print GeneralizedContinuedFraction.IntFractPair.stream_succ /-
 /-- A recurrence relation that expresses the `(n+1)`th term of the stream of `int_fract_pair`s
 of `v` for non-integer `v` in terms of the `n`th term of the stream associated to
 the inverse of the fractional part of `v`.
@@ -154,6 +167,7 @@ theorem stream_succ (h : Int.fract v ≠ 0) (n : ℕ) :
       · rw [stream_eq_none_of_fr_eq_zero hp hz, stream_eq_none_of_fr_eq_zero ih hz]
       · rw [stream_succ_of_some hp hnz, stream_succ_of_some ih hnz]
 #align generalized_continued_fraction.int_fract_pair.stream_succ GeneralizedContinuedFraction.IntFractPair.stream_succ
+-/
 
 end IntFractPair
 
@@ -176,15 +190,19 @@ theorem IntFractPair.seq1_fst_eq_of : (IntFractPair.seq1 v).fst = IntFractPair.o
 #align generalized_continued_fraction.int_fract_pair.seq1_fst_eq_of GeneralizedContinuedFraction.IntFractPair.seq1_fst_eq_of
 -/
 
+#print GeneralizedContinuedFraction.of_h_eq_intFractPair_seq1_fst_b /-
 theorem of_h_eq_intFractPair_seq1_fst_b : (of v).h = (IntFractPair.seq1 v).fst.b := by
   cases aux_seq_eq : int_fract_pair.seq1 v; simp [of, aux_seq_eq]
 #align generalized_continued_fraction.of_h_eq_int_fract_pair_seq1_fst_b GeneralizedContinuedFraction.of_h_eq_intFractPair_seq1_fst_b
+-/
 
+#print GeneralizedContinuedFraction.of_h_eq_floor /-
 /-- The head term of the gcf of `v` is `⌊v⌋`. -/
 @[simp]
 theorem of_h_eq_floor : (of v).h = ⌊v⌋ := by
   simp [of_h_eq_int_fract_pair_seq1_fst_b, int_fract_pair.of]
 #align generalized_continued_fraction.of_h_eq_floor GeneralizedContinuedFraction.of_h_eq_floor
+-/
 
 end Head
 
@@ -244,6 +262,7 @@ Now let's show how the values of the sequences correspond to one another.
 -/
 
 
+#print GeneralizedContinuedFraction.IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some /-
 theorem IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some {gp_n : Pair K}
     (s_nth_eq : (of v).s.get? n = some gp_n) :
     ∃ ifp : IntFractPair K, IntFractPair.stream v (n + 1) = some ifp ∧ (ifp.b : K) = gp_n.b :=
@@ -258,7 +277,9 @@ theorem IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some {gp_n : Pair
   exists ifp
   exact ⟨stream_succ_nth_eq, ifp_b_eq_gp_n_b⟩
 #align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_gcf_of_nth_eq_some GeneralizedContinuedFraction.IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some
+-/
 
+#print GeneralizedContinuedFraction.get?_of_eq_some_of_succ_get?_intFractPair_stream /-
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
 integer parts of the stream of integer and fractional parts.
 -/
@@ -270,7 +291,9 @@ theorem get?_of_eq_some_of_succ_get?_intFractPair_stream {ifp_succ_n : IntFractP
   rw [seq.map_tail, seq.nth_tail, seq.map_nth]
   simp [seq.nth, stream_succ_nth_eq]
 #align generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream GeneralizedContinuedFraction.get?_of_eq_some_of_succ_get?_intFractPair_stream
+-/
 
+#print GeneralizedContinuedFraction.get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero /-
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
 fractional parts of the stream of integer and fractional parts.
 -/
@@ -281,9 +304,11 @@ theorem get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero {ifp_n : IntFract
     simp [int_fract_pair.stream, stream_nth_eq, nth_fr_ne_zero]
   get?_of_eq_some_of_succ_get?_intFractPair_stream this
 #align generalized_continued_fraction.nth_of_eq_some_of_nth_int_fract_pair_stream_fr_ne_zero GeneralizedContinuedFraction.get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero
+-/
 
 open Int IntFractPair
 
+#print GeneralizedContinuedFraction.of_s_head_aux /-
 theorem of_s_head_aux (v : K) :
     (of v).s.get? 0 =
       (IntFractPair.stream v 1).bind
@@ -295,7 +320,9 @@ theorem of_s_head_aux (v : K) :
   simp only [seq.map_tail, seq.map, seq.tail, seq.head, seq.nth, Stream'.map]
   rw [← Stream'.nth_succ, Stream'.nth, Option.map]
 #align generalized_continued_fraction.of_s_head_aux GeneralizedContinuedFraction.of_s_head_aux
+-/
 
+#print GeneralizedContinuedFraction.of_s_head /-
 /-- This gives the first pair of coefficients of the continued fraction of a non-integer `v`.
 -/
 theorem of_s_head (h : fract v ≠ 0) : (of v).s.headI = some ⟨1, ⌊(fract v)⁻¹⌋⟩ :=
@@ -304,9 +331,11 @@ theorem of_s_head (h : fract v ≠ 0) : (of v).s.headI = some ⟨1, ⌊(fract v)
   rw [of_s_head_aux, stream_succ_of_some (stream_zero v) h, Option.bind]
   rfl
 #align generalized_continued_fraction.of_s_head GeneralizedContinuedFraction.of_s_head
+-/
 
 variable (K)
 
+#print GeneralizedContinuedFraction.of_s_of_int /-
 /-- If `a` is an integer, then the coefficient sequence of its continued fraction is empty.
 -/
 theorem of_s_of_int (a : ℤ) : (of (a : K)).s = Seq.nil :=
@@ -318,9 +347,11 @@ theorem of_s_of_int (a : ℤ) : (of (a : K)).s = Seq.nil :=
     · exact (of (a : K)).s.Prop ih
   seq.ext fun n => (h n).trans (seq.nth_nil n).symm
 #align generalized_continued_fraction.of_s_of_int GeneralizedContinuedFraction.of_s_of_int
+-/
 
 variable {K} (v)
 
+#print GeneralizedContinuedFraction.of_s_succ /-
 /-- Recurrence for the `generalized_continued_fraction.of` an element `v` of `K` in terms of
 that of the inverse of the fractional part of `v`.
 -/
@@ -340,7 +371,9 @@ theorem of_s_succ (n : ℕ) : (of v).s.get? (n + 1) = (of (fract v)⁻¹).s.get?
     rw [← stream_succ h] at hp'₁ 
     rw [Hp, nth_of_eq_some_of_succ_nth_int_fract_pair_stream hp'₁]
 #align generalized_continued_fraction.of_s_succ GeneralizedContinuedFraction.of_s_succ
+-/
 
+#print GeneralizedContinuedFraction.of_s_tail /-
 /-- This expresses the tail of the coefficient sequence of the `generalized_continued_fraction.of`
 an element `v` of `K` as the coefficient sequence of that of the inverse of the
 fractional part of `v`.
@@ -348,9 +381,11 @@ fractional part of `v`.
 theorem of_s_tail : (of v).s.tail = (of (fract v)⁻¹).s :=
   Seq.ext fun n => Seq.get?_tail (of v).s n ▸ of_s_succ v n
 #align generalized_continued_fraction.of_s_tail GeneralizedContinuedFraction.of_s_tail
+-/
 
 variable (K) (n)
 
+#print GeneralizedContinuedFraction.convergents'_of_int /-
 /-- If `a` is an integer, then the `convergents'` of its continued fraction expansion
 are all equal to `a`.
 -/
@@ -361,9 +396,11 @@ theorem convergents'_of_int (a : ℤ) : (of (a : K)).convergents' n = a :=
   · rw [convergents', of_h_eq_floor, floor_int_cast, add_right_eq_self]
     exact convergents'_aux_succ_none ((of_s_of_int K a).symm ▸ seq.nth_nil 0) _
 #align generalized_continued_fraction.convergents'_of_int GeneralizedContinuedFraction.convergents'_of_int
+-/
 
 variable {K} (v)
 
+#print GeneralizedContinuedFraction.convergents'_succ /-
 /-- The recurrence relation for the `convergents'` of the continued fraction expansion
 of an element `v` of `K` in terms of the convergents of the inverse of its fractional part.
 -/
@@ -377,6 +414,7 @@ theorem convergents'_succ :
   · rw [convergents', of_h_eq_floor, add_right_inj, convergents'_aux_succ_some (of_s_head h)]
     exact congr_arg ((· / ·) 1) (by rw [convergents', of_h_eq_floor, add_right_inj, of_s_tail])
 #align generalized_continued_fraction.convergents'_succ GeneralizedContinuedFraction.convergents'_succ
+-/
 
 end Values
 
Diff
@@ -50,7 +50,7 @@ namespace GeneralizedContinuedFraction
 
 open GeneralizedContinuedFraction (of)
 
-/- ./././Mathport/Syntax/Translate/Command.lean:229:11: unsupported: unusual advanced open style -/
+/- ./././Mathport/Syntax/Translate/Command.lean:230:11: unsupported: unusual advanced open style -/
 -- Fix a discrete linear ordered floor field and a value `v`.
 variable {K : Type _} [LinearOrderedField K] [FloorRing K] {v : K}
 
Diff
@@ -77,7 +77,7 @@ theorem stream_eq_none_of_fr_eq_zero {ifp_n : IntFractPair K}
     IntFractPair.stream v (n + 1) = none :=
   by
   cases' ifp_n with _ fr
-  change fr = 0 at nth_fr_eq_zero
+  change fr = 0 at nth_fr_eq_zero 
   simp [int_fract_pair.stream, stream_nth_eq, nth_fr_eq_zero]
 #align generalized_continued_fraction.int_fract_pair.stream_eq_none_of_fr_eq_zero GeneralizedContinuedFraction.IntFractPair.stream_eq_none_of_fr_eq_zero
 
@@ -145,11 +145,11 @@ theorem stream_succ (h : Int.fract v ≠ 0) (n : ℕ) :
   · have H : (int_fract_pair.of v).fr = Int.fract v := rfl
     rw [stream_zero, stream_succ_of_some (stream_zero v) (ne_of_eq_of_ne H h), H]
   · cases' eq_or_ne (int_fract_pair.stream (Int.fract v)⁻¹ n) none with hnone hsome
-    · rw [hnone] at ih
+    · rw [hnone] at ih 
       rw [succ_nth_stream_eq_none_iff.mpr (Or.inl hnone),
         succ_nth_stream_eq_none_iff.mpr (Or.inl ih)]
     · obtain ⟨p, hp⟩ := option.ne_none_iff_exists'.mp hsome
-      rw [hp] at ih
+      rw [hp] at ih 
       cases' eq_or_ne p.fr 0 with hz hnz
       · rw [stream_eq_none_of_fr_eq_zero hp hz, stream_eq_none_of_fr_eq_zero ih hz]
       · rw [stream_succ_of_some hp hnz, stream_succ_of_some ih hnz]
@@ -251,8 +251,8 @@ theorem IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some {gp_n : Pair
   obtain ⟨ifp, stream_succ_nth_eq, gp_n_eq⟩ :
     ∃ ifp, int_fract_pair.stream v (n + 1) = some ifp ∧ pair.mk 1 (ifp.b : K) = gp_n :=
     by
-    unfold of int_fract_pair.seq1 at s_nth_eq
-    rwa [seq.map_tail, seq.nth_tail, seq.map_nth, Option.map_eq_some'] at s_nth_eq
+    unfold of int_fract_pair.seq1 at s_nth_eq 
+    rwa [seq.map_tail, seq.nth_tail, seq.map_nth, Option.map_eq_some'] at s_nth_eq 
   cases gp_n_eq
   injection gp_n_eq with _ ifp_b_eq_gp_n_b
   exists ifp
@@ -337,7 +337,7 @@ theorem of_s_succ (n : ℕ) : (of v).s.get? (n + 1) = (of (fract v)⁻¹).s.get?
   · obtain ⟨p, hp⟩ := option.ne_none_iff_exists'.mp h₁
     obtain ⟨p', hp'₁, _⟩ := exists_succ_nth_stream_of_gcf_of_nth_eq_some hp
     have Hp := nth_of_eq_some_of_succ_nth_int_fract_pair_stream hp'₁
-    rw [← stream_succ h] at hp'₁
+    rw [← stream_succ h] at hp'₁ 
     rw [Hp, nth_of_eq_some_of_succ_nth_int_fract_pair_stream hp'₁]
 #align generalized_continued_fraction.of_s_succ GeneralizedContinuedFraction.of_s_succ
 
Diff
@@ -72,12 +72,6 @@ theorem stream_zero (v : K) : IntFractPair.stream v 0 = some (IntFractPair.of v)
 
 variable {n : ℕ}
 
-/- warning: generalized_continued_fraction.int_fract_pair.stream_eq_none_of_fr_eq_zero -> GeneralizedContinuedFraction.IntFractPair.stream_eq_none_of_fr_eq_zero is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.stream_eq_none_of_fr_eq_zero GeneralizedContinuedFraction.IntFractPair.stream_eq_none_of_fr_eq_zeroₓ'. -/
 theorem stream_eq_none_of_fr_eq_zero {ifp_n : IntFractPair K}
     (stream_nth_eq : IntFractPair.stream v n = some ifp_n) (nth_fr_eq_zero : ifp_n.fr = 0) :
     IntFractPair.stream v (n + 1) = none :=
@@ -87,12 +81,6 @@ theorem stream_eq_none_of_fr_eq_zero {ifp_n : IntFractPair K}
   simp [int_fract_pair.stream, stream_nth_eq, nth_fr_eq_zero]
 #align generalized_continued_fraction.int_fract_pair.stream_eq_none_of_fr_eq_zero GeneralizedContinuedFraction.IntFractPair.stream_eq_none_of_fr_eq_zero
 
-/- warning: generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_none_iff -> GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_none_iff is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat}, Iff (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))) (Or (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))) (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp)) (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat}, Iff (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))) (Or (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))) (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp)) (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_none_iff GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_none_iffₓ'. -/
 /-- Gives a recurrence to compute the `n + 1`th value of the sequence of integer and fractional
 parts of a value in case of termination.
 -/
@@ -104,12 +92,6 @@ theorem succ_nth_stream_eq_none_iff :
   cases int_fract_pair.stream v n <;> simp [imp_false]
 #align generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_none_iff GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_none_iff
 
-/- warning: generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_some_iff -> GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_some_iff is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, Iff (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) (And (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) (Eq.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))) ifp_succ_n))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, Iff (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) (And (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (Eq.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))) ifp_succ_n))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_some_iff GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_some_iffₓ'. -/
 /-- Gives a recurrence to compute the `n + 1`th value of the sequence of integer and fractional
 parts of a value in case of non-termination.
 -/
@@ -121,12 +103,6 @@ theorem succ_nth_stream_eq_some_iff {ifp_succ_n : IntFractPair K} :
   by simp [int_fract_pair.stream, ite_eq_iff]
 #align generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_some_iff GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_some_iff
 
-/- warning: generalized_continued_fraction.int_fract_pair.stream_succ_of_some -> GeneralizedContinuedFraction.IntFractPair.stream_succ_of_some is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {p : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) p)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K p) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K p)))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {p : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) p)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K p) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K p)))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.stream_succ_of_some GeneralizedContinuedFraction.IntFractPair.stream_succ_of_someₓ'. -/
 /-- An easier to use version of one direction of
 `generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_some_iff`.
 -/
@@ -135,12 +111,6 @@ theorem stream_succ_of_some {p : IntFractPair K} (h : IntFractPair.stream v n =
   succ_nth_stream_eq_some_iff.mpr ⟨p, h, h', rfl⟩
 #align generalized_continued_fraction.int_fract_pair.stream_succ_of_some GeneralizedContinuedFraction.IntFractPair.stream_succ_of_some
 
-/- warning: generalized_continued_fraction.int_fract_pair.stream_succ_of_int -> GeneralizedContinuedFraction.IntFractPair.stream_succ_of_int is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (a : Int) (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) a) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (a : Int) (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) a) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.stream_succ_of_int GeneralizedContinuedFraction.IntFractPair.stream_succ_of_intₓ'. -/
 /-- The stream of `int_fract_pair`s of an integer stops after the first term.
 -/
 theorem stream_succ_of_int (a : ℤ) (n : ℕ) : IntFractPair.stream (a : K) (n + 1) = none :=
@@ -151,12 +121,6 @@ theorem stream_succ_of_int (a : ℤ) (n : ℕ) : IntFractPair.stream (a : K) (n
   · exact int_fract_pair.succ_nth_stream_eq_none_iff.mpr (Or.inl ih)
 #align generalized_continued_fraction.int_fract_pair.stream_succ_of_int GeneralizedContinuedFraction.IntFractPair.stream_succ_of_int
 
-/- warning: generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_fr_zero -> GeneralizedContinuedFraction.IntFractPair.exists_succ_nth_stream_of_fr_zero is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_succ_n) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) (Eq.{succ u1} K (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n)))))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_succ_n) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) (Eq.{succ u1} K (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n)) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n)))))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_fr_zero GeneralizedContinuedFraction.IntFractPair.exists_succ_nth_stream_of_fr_zeroₓ'. -/
 theorem exists_succ_nth_stream_of_fr_zero {ifp_succ_n : IntFractPair K}
     (stream_succ_nth_eq : IntFractPair.stream v (n + 1) = some ifp_succ_n)
     (succ_nth_fr_eq_zero : ifp_succ_n.fr = 0) :
@@ -170,12 +134,6 @@ theorem exists_succ_nth_stream_of_fr_zero {ifp_succ_n : IntFractPair K}
   simpa only [int_fract_pair.of, Int.fract, sub_eq_zero] using succ_nth_fr_eq_zero
 #align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_fr_zero GeneralizedContinuedFraction.IntFractPair.exists_succ_nth_stream_of_fr_zero
 
-/- warning: generalized_continued_fraction.int_fract_pair.stream_succ -> GeneralizedContinuedFraction.IntFractPair.stream_succ is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (forall (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) n))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (forall (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) n))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.stream_succ GeneralizedContinuedFraction.IntFractPair.stream_succₓ'. -/
 /-- A recurrence relation that expresses the `(n+1)`th term of the stream of `int_fract_pair`s
 of `v` for non-integer `v` in terms of the `n`th term of the stream associated to
 the inverse of the fractional part of `v`.
@@ -218,22 +176,10 @@ theorem IntFractPair.seq1_fst_eq_of : (IntFractPair.seq1 v).fst = IntFractPair.o
 #align generalized_continued_fraction.int_fract_pair.seq1_fst_eq_of GeneralizedContinuedFraction.IntFractPair.seq1_fst_eq_of
 -/
 
-/- warning: generalized_continued_fraction.of_h_eq_int_fract_pair_seq1_fst_b -> GeneralizedContinuedFraction.of_h_eq_intFractPair_seq1_fst_b is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, Eq.{succ u1} K (GeneralizedContinuedFraction.h.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (Prod.fst.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (Stream'.Seq.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.seq1.{u1} K _inst_1 _inst_2 v))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, Eq.{succ u1} K (GeneralizedContinuedFraction.h.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (Prod.fst.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (Stream'.Seq.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.seq1.{u1} K _inst_1 _inst_2 v))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_h_eq_int_fract_pair_seq1_fst_b GeneralizedContinuedFraction.of_h_eq_intFractPair_seq1_fst_bₓ'. -/
 theorem of_h_eq_intFractPair_seq1_fst_b : (of v).h = (IntFractPair.seq1 v).fst.b := by
   cases aux_seq_eq : int_fract_pair.seq1 v; simp [of, aux_seq_eq]
 #align generalized_continued_fraction.of_h_eq_int_fract_pair_seq1_fst_b GeneralizedContinuedFraction.of_h_eq_intFractPair_seq1_fst_b
 
-/- warning: generalized_continued_fraction.of_h_eq_floor -> GeneralizedContinuedFraction.of_h_eq_floor is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, Eq.{succ u1} K (GeneralizedContinuedFraction.h.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, Eq.{succ u1} K (GeneralizedContinuedFraction.h.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_h_eq_floor GeneralizedContinuedFraction.of_h_eq_floorₓ'. -/
 /-- The head term of the gcf of `v` is `⌊v⌋`. -/
 @[simp]
 theorem of_h_eq_floor : (of v).h = ⌊v⌋ := by
@@ -298,12 +244,6 @@ Now let's show how the values of the sequences correspond to one another.
 -/
 
 
-/- warning: generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_gcf_of_nth_eq_some -> GeneralizedContinuedFraction.IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {gp_n : GeneralizedContinuedFraction.Pair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) gp_n)) -> (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp)) (Eq.{succ u1} K ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp)) (GeneralizedContinuedFraction.Pair.b.{u1} K gp_n))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {gp_n : GeneralizedContinuedFraction.Pair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) gp_n)) -> (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp)) (Eq.{succ u1} K (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp)) (GeneralizedContinuedFraction.Pair.b.{u1} K gp_n))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_gcf_of_nth_eq_some GeneralizedContinuedFraction.IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_someₓ'. -/
 theorem IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some {gp_n : Pair K}
     (s_nth_eq : (of v).s.get? n = some gp_n) :
     ∃ ifp : IntFractPair K, IntFractPair.stream v (n + 1) = some ifp ∧ (ifp.b : K) = gp_n.b :=
@@ -319,12 +259,6 @@ theorem IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some {gp_n : Pair
   exact ⟨stream_succ_nth_eq, ifp_b_eq_gp_n_b⟩
 #align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_gcf_of_nth_eq_some GeneralizedContinuedFraction.IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some
 
-/- warning: generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream -> GeneralizedContinuedFraction.get?_of_eq_some_of_succ_get?_intFractPair_stream is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp_succ_n)))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (Semiring.toOne.{u1} K (StrictOrderedSemiring.toSemiring.{u1} K (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} K (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} K (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp_succ_n)))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream GeneralizedContinuedFraction.get?_of_eq_some_of_succ_get?_intFractPair_streamₓ'. -/
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
 integer parts of the stream of integer and fractional parts.
 -/
@@ -337,12 +271,6 @@ theorem get?_of_eq_some_of_succ_get?_intFractPair_stream {ifp_succ_n : IntFractP
   simp [seq.nth, stream_succ_nth_eq]
 #align generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream GeneralizedContinuedFraction.get?_of_eq_some_of_succ_get?_intFractPair_stream
 
-/- warning: generalized_continued_fraction.nth_of_eq_some_of_nth_int_fract_pair_stream_fr_ne_zero -> GeneralizedContinuedFraction.get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))))))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (Semiring.toOne.{u1} K (StrictOrderedSemiring.toSemiring.{u1} K (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} K (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} K (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))))))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.nth_of_eq_some_of_nth_int_fract_pair_stream_fr_ne_zero GeneralizedContinuedFraction.get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zeroₓ'. -/
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
 fractional parts of the stream of integer and fractional parts.
 -/
@@ -356,12 +284,6 @@ theorem get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero {ifp_n : IntFract
 
 open Int IntFractPair
 
-/- warning: generalized_continued_fraction.of_s_head_aux -> GeneralizedContinuedFraction.of_s_head_aux is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Option.bind.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Function.comp.{succ u1, succ u1, succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (fun (p : GeneralizedContinuedFraction.IntFractPair.{u1} K) => GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K p)))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Option.bind.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Function.comp.{succ u1, succ u1, succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (fun (p : GeneralizedContinuedFraction.IntFractPair.{u1} K) => GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (Semiring.toOne.{u1} K (StrictOrderedSemiring.toSemiring.{u1} K (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} K (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} K (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K p)))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_head_aux GeneralizedContinuedFraction.of_s_head_auxₓ'. -/
 theorem of_s_head_aux (v : K) :
     (of v).s.get? 0 =
       (IntFractPair.stream v 1).bind
@@ -374,12 +296,6 @@ theorem of_s_head_aux (v : K) :
   rw [← Stream'.nth_succ, Stream'.nth, Option.map]
 #align generalized_continued_fraction.of_s_head_aux GeneralizedContinuedFraction.of_s_head_aux
 
-/- warning: generalized_continued_fraction.of_s_head -> GeneralizedContinuedFraction.of_s_head is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.head.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.head.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (Semiring.toOne.{u1} K (StrictOrderedSemiring.toSemiring.{u1} K (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} K (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} K (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_head GeneralizedContinuedFraction.of_s_headₓ'. -/
 /-- This gives the first pair of coefficients of the continued fraction of a non-integer `v`.
 -/
 theorem of_s_head (h : fract v ≠ 0) : (of v).s.headI = some ⟨1, ⌊(fract v)⁻¹⌋⟩ :=
@@ -391,12 +307,6 @@ theorem of_s_head (h : fract v ≠ 0) : (of v).s.headI = some ⟨1, ⌊(fract v)
 
 variable (K)
 
-/- warning: generalized_continued_fraction.of_s_of_int -> GeneralizedContinuedFraction.of_s_of_int is a dubious translation:
-lean 3 declaration is
-  forall (K : Type.{u1}) [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (a : Int), Eq.{succ u1} (Stream'.Seq.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) a))) (Stream'.Seq.nil.{u1} (GeneralizedContinuedFraction.Pair.{u1} K))
-but is expected to have type
-  forall (K : Type.{u1}) [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (a : Int), Eq.{succ u1} (Stream'.Seq.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) a))) (Stream'.Seq.nil.{u1} (GeneralizedContinuedFraction.Pair.{u1} K))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_of_int GeneralizedContinuedFraction.of_s_of_intₓ'. -/
 /-- If `a` is an integer, then the coefficient sequence of its continued fraction is empty.
 -/
 theorem of_s_of_int (a : ℤ) : (of (a : K)).s = Seq.nil :=
@@ -411,12 +321,6 @@ theorem of_s_of_int (a : ℤ) : (of (a : K)).s = Seq.nil :=
 
 variable {K} (v)
 
-/- warning: generalized_continued_fraction.of_s_succ -> GeneralizedContinuedFraction.of_s_succ is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))) n)
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))) n)
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_succ GeneralizedContinuedFraction.of_s_succₓ'. -/
 /-- Recurrence for the `generalized_continued_fraction.of` an element `v` of `K` in terms of
 that of the inverse of the fractional part of `v`.
 -/
@@ -437,12 +341,6 @@ theorem of_s_succ (n : ℕ) : (of v).s.get? (n + 1) = (of (fract v)⁻¹).s.get?
     rw [Hp, nth_of_eq_some_of_succ_nth_int_fract_pair_stream hp'₁]
 #align generalized_continued_fraction.of_s_succ GeneralizedContinuedFraction.of_s_succ
 
-/- warning: generalized_continued_fraction.of_s_tail -> GeneralizedContinuedFraction.of_s_tail is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Stream'.Seq.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.tail.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Stream'.Seq.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.tail.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_tail GeneralizedContinuedFraction.of_s_tailₓ'. -/
 /-- This expresses the tail of the coefficient sequence of the `generalized_continued_fraction.of`
 an element `v` of `K` as the coefficient sequence of that of the inverse of the
 fractional part of `v`.
@@ -453,12 +351,6 @@ theorem of_s_tail : (of v).s.tail = (of (fract v)⁻¹).s :=
 
 variable (K) (n)
 
-/- warning: generalized_continued_fraction.convergents'_of_int -> GeneralizedContinuedFraction.convergents'_of_int is a dubious translation:
-lean 3 declaration is
-  forall (K : Type.{u1}) [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (n : Nat) (a : Int), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) a)) n) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) a)
-but is expected to have type
-  forall (K : Type.{u1}) [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (n : Nat) (a : Int), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) a)) n) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) a)
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.convergents'_of_int GeneralizedContinuedFraction.convergents'_of_intₓ'. -/
 /-- If `a` is an integer, then the `convergents'` of its continued fraction expansion
 are all equal to `a`.
 -/
@@ -472,12 +364,6 @@ theorem convergents'_of_int (a : ℤ) : (of (a : K)).convergents' n = a :=
 
 variable {K} (v)
 
-/- warning: generalized_continued_fraction.convergents'_succ -> GeneralizedContinuedFraction.convergents'_succ is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HAdd.hAdd.{u1, u1, u1} K K K (instHAdd.{u1} K (Distrib.toHasAdd.{u1} K (Ring.toDistrib.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) (HDiv.hDiv.{u1, u1, u1} K K K (instHDiv.{u1} K (DivInvMonoid.toHasDiv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))) (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))) n)))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HAdd.hAdd.{u1, u1, u1} K K K (instHAdd.{u1} K (Distrib.toAdd.{u1} K (NonUnitalNonAssocSemiring.toDistrib.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) (HDiv.hDiv.{u1, u1, u1} K K K (instHDiv.{u1} K (LinearOrderedField.toDiv.{u1} K _inst_1)) (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (Semiring.toOne.{u1} K (StrictOrderedSemiring.toSemiring.{u1} K (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} K (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} K (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))) n)))
-Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.convergents'_succ GeneralizedContinuedFraction.convergents'_succₓ'. -/
 /-- The recurrence relation for the `convergents'` of the continued fraction expansion
 of an element `v` of `K` in terms of the convergents of the inverse of its fractional part.
 -/
Diff
@@ -224,10 +224,8 @@ lean 3 declaration is
 but is expected to have type
   forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, Eq.{succ u1} K (GeneralizedContinuedFraction.h.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (Prod.fst.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (Stream'.Seq.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.seq1.{u1} K _inst_1 _inst_2 v))))
 Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_h_eq_int_fract_pair_seq1_fst_b GeneralizedContinuedFraction.of_h_eq_intFractPair_seq1_fst_bₓ'. -/
-theorem of_h_eq_intFractPair_seq1_fst_b : (of v).h = (IntFractPair.seq1 v).fst.b :=
-  by
-  cases aux_seq_eq : int_fract_pair.seq1 v
-  simp [of, aux_seq_eq]
+theorem of_h_eq_intFractPair_seq1_fst_b : (of v).h = (IntFractPair.seq1 v).fst.b := by
+  cases aux_seq_eq : int_fract_pair.seq1 v; simp [of, aux_seq_eq]
 #align generalized_continued_fraction.of_h_eq_int_fract_pair_seq1_fst_b GeneralizedContinuedFraction.of_h_eq_intFractPair_seq1_fst_b
 
 /- warning: generalized_continued_fraction.of_h_eq_floor -> GeneralizedContinuedFraction.of_h_eq_floor is a dubious translation:
@@ -351,9 +349,7 @@ fractional parts of the stream of integer and fractional parts.
 theorem get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero {ifp_n : IntFractPair K}
     (stream_nth_eq : IntFractPair.stream v n = some ifp_n) (nth_fr_ne_zero : ifp_n.fr ≠ 0) :
     (of v).s.get? n = some ⟨1, (IntFractPair.of ifp_n.fr⁻¹).b⟩ :=
-  have : IntFractPair.stream v (n + 1) = some (IntFractPair.of ifp_n.fr⁻¹) :=
-    by
-    cases ifp_n
+  have : IntFractPair.stream v (n + 1) = some (IntFractPair.of ifp_n.fr⁻¹) := by cases ifp_n;
     simp [int_fract_pair.stream, stream_nth_eq, nth_fr_ne_zero]
   get?_of_eq_some_of_succ_get?_intFractPair_stream this
 #align generalized_continued_fraction.nth_of_eq_some_of_nth_int_fract_pair_stream_fr_ne_zero GeneralizedContinuedFraction.get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Kappelmann
 
 ! This file was ported from Lean 3 source module algebra.continued_fractions.computation.translations
-! leanprover-community/mathlib commit a7e36e48519ab281320c4d192da6a7b348ce40ad
+! leanprover-community/mathlib commit 7d34004e19699895c13c86b78ae62bbaea0bc893
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.Algebra.ContinuedFractions.Translations
 /-!
 # Basic Translation Lemmas Between Structures Defined for Computing Continued Fractions
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 ## Summary
 
 This is a collection of simple lemmas between the different structures used for the computation
Diff
@@ -322,7 +322,7 @@ theorem IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some {gp_n : Pair
 lean 3 declaration is
   forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp_succ_n)))))
 but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (NonAssocRing.toOne.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp_succ_n)))))
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (Semiring.toOne.{u1} K (StrictOrderedSemiring.toSemiring.{u1} K (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} K (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} K (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp_succ_n)))))
 Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream GeneralizedContinuedFraction.get?_of_eq_some_of_succ_get?_intFractPair_streamₓ'. -/
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
 integer parts of the stream of integer and fractional parts.
@@ -340,7 +340,7 @@ theorem get?_of_eq_some_of_succ_get?_intFractPair_stream {ifp_succ_n : IntFractP
 lean 3 declaration is
   forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))))))))
 but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (NonAssocRing.toOne.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))))))))
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (Semiring.toOne.{u1} K (StrictOrderedSemiring.toSemiring.{u1} K (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} K (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} K (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))))))))
 Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.nth_of_eq_some_of_nth_int_fract_pair_stream_fr_ne_zero GeneralizedContinuedFraction.get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zeroₓ'. -/
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
 fractional parts of the stream of integer and fractional parts.
@@ -361,7 +361,7 @@ open Int IntFractPair
 lean 3 declaration is
   forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Option.bind.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Function.comp.{succ u1, succ u1, succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (fun (p : GeneralizedContinuedFraction.IntFractPair.{u1} K) => GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K p)))))
 but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Option.bind.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Function.comp.{succ u1, succ u1, succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (fun (p : GeneralizedContinuedFraction.IntFractPair.{u1} K) => GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (NonAssocRing.toOne.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K p)))))
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Option.bind.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Function.comp.{succ u1, succ u1, succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (fun (p : GeneralizedContinuedFraction.IntFractPair.{u1} K) => GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (Semiring.toOne.{u1} K (StrictOrderedSemiring.toSemiring.{u1} K (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} K (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} K (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K p)))))
 Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_head_aux GeneralizedContinuedFraction.of_s_head_auxₓ'. -/
 theorem of_s_head_aux (v : K) :
     (of v).s.get? 0 =
@@ -379,7 +379,7 @@ theorem of_s_head_aux (v : K) :
 lean 3 declaration is
   forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.head.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))))))
 but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.head.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (NonAssocRing.toOne.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))))))
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.head.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (Semiring.toOne.{u1} K (StrictOrderedSemiring.toSemiring.{u1} K (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} K (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} K (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))))))
 Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_head GeneralizedContinuedFraction.of_s_headₓ'. -/
 /-- This gives the first pair of coefficients of the continued fraction of a non-integer `v`.
 -/
@@ -477,7 +477,7 @@ variable {K} (v)
 lean 3 declaration is
   forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HAdd.hAdd.{u1, u1, u1} K K K (instHAdd.{u1} K (Distrib.toHasAdd.{u1} K (Ring.toDistrib.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) (HDiv.hDiv.{u1, u1, u1} K K K (instHDiv.{u1} K (DivInvMonoid.toHasDiv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))) (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))) n)))
 but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HAdd.hAdd.{u1, u1, u1} K K K (instHAdd.{u1} K (Distrib.toAdd.{u1} K (NonUnitalNonAssocSemiring.toDistrib.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) (HDiv.hDiv.{u1, u1, u1} K K K (instHDiv.{u1} K (LinearOrderedField.toDiv.{u1} K _inst_1)) (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (NonAssocRing.toOne.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))) (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))) n)))
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HAdd.hAdd.{u1, u1, u1} K K K (instHAdd.{u1} K (Distrib.toAdd.{u1} K (NonUnitalNonAssocSemiring.toDistrib.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) (HDiv.hDiv.{u1, u1, u1} K K K (instHDiv.{u1} K (LinearOrderedField.toDiv.{u1} K _inst_1)) (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (Semiring.toOne.{u1} K (StrictOrderedSemiring.toSemiring.{u1} K (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} K (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} K (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))) n)))
 Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.convergents'_succ GeneralizedContinuedFraction.convergents'_succₓ'. -/
 /-- The recurrence relation for the `convergents'` of the continued fraction expansion
 of an element `v` of `K` in terms of the convergents of the inverse of its fractional part.
Diff
@@ -61,12 +61,20 @@ stream of integer and fractional parts of a value.
 -/
 
 
+#print GeneralizedContinuedFraction.IntFractPair.stream_zero /-
 theorem stream_zero (v : K) : IntFractPair.stream v 0 = some (IntFractPair.of v) :=
   rfl
 #align generalized_continued_fraction.int_fract_pair.stream_zero GeneralizedContinuedFraction.IntFractPair.stream_zero
+-/
 
 variable {n : ℕ}
 
+/- warning: generalized_continued_fraction.int_fract_pair.stream_eq_none_of_fr_eq_zero -> GeneralizedContinuedFraction.IntFractPair.stream_eq_none_of_fr_eq_zero is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.stream_eq_none_of_fr_eq_zero GeneralizedContinuedFraction.IntFractPair.stream_eq_none_of_fr_eq_zeroₓ'. -/
 theorem stream_eq_none_of_fr_eq_zero {ifp_n : IntFractPair K}
     (stream_nth_eq : IntFractPair.stream v n = some ifp_n) (nth_fr_eq_zero : ifp_n.fr = 0) :
     IntFractPair.stream v (n + 1) = none :=
@@ -76,6 +84,12 @@ theorem stream_eq_none_of_fr_eq_zero {ifp_n : IntFractPair K}
   simp [int_fract_pair.stream, stream_nth_eq, nth_fr_eq_zero]
 #align generalized_continued_fraction.int_fract_pair.stream_eq_none_of_fr_eq_zero GeneralizedContinuedFraction.IntFractPair.stream_eq_none_of_fr_eq_zero
 
+/- warning: generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_none_iff -> GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_none_iff is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat}, Iff (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))) (Or (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))) (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp)) (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat}, Iff (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))) (Or (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))) (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp)) (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_none_iff GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_none_iffₓ'. -/
 /-- Gives a recurrence to compute the `n + 1`th value of the sequence of integer and fractional
 parts of a value in case of termination.
 -/
@@ -87,6 +101,12 @@ theorem succ_nth_stream_eq_none_iff :
   cases int_fract_pair.stream v n <;> simp [imp_false]
 #align generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_none_iff GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_none_iff
 
+/- warning: generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_some_iff -> GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_some_iff is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, Iff (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) (And (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) (Eq.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))) ifp_succ_n))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, Iff (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) (And (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) (Eq.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))) ifp_succ_n))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_some_iff GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_some_iffₓ'. -/
 /-- Gives a recurrence to compute the `n + 1`th value of the sequence of integer and fractional
 parts of a value in case of non-termination.
 -/
@@ -98,6 +118,12 @@ theorem succ_nth_stream_eq_some_iff {ifp_succ_n : IntFractPair K} :
   by simp [int_fract_pair.stream, ite_eq_iff]
 #align generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_some_iff GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_some_iff
 
+/- warning: generalized_continued_fraction.int_fract_pair.stream_succ_of_some -> GeneralizedContinuedFraction.IntFractPair.stream_succ_of_some is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {p : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) p)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K p) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K p)))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {p : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) p)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K p) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K p)))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.stream_succ_of_some GeneralizedContinuedFraction.IntFractPair.stream_succ_of_someₓ'. -/
 /-- An easier to use version of one direction of
 `generalized_continued_fraction.int_fract_pair.succ_nth_stream_eq_some_iff`.
 -/
@@ -106,6 +132,12 @@ theorem stream_succ_of_some {p : IntFractPair K} (h : IntFractPair.stream v n =
   succ_nth_stream_eq_some_iff.mpr ⟨p, h, h', rfl⟩
 #align generalized_continued_fraction.int_fract_pair.stream_succ_of_some GeneralizedContinuedFraction.IntFractPair.stream_succ_of_some
 
+/- warning: generalized_continued_fraction.int_fract_pair.stream_succ_of_int -> GeneralizedContinuedFraction.IntFractPair.stream_succ_of_int is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (a : Int) (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) a) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (a : Int) (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) a) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.none.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.stream_succ_of_int GeneralizedContinuedFraction.IntFractPair.stream_succ_of_intₓ'. -/
 /-- The stream of `int_fract_pair`s of an integer stops after the first term.
 -/
 theorem stream_succ_of_int (a : ℤ) (n : ℕ) : IntFractPair.stream (a : K) (n + 1) = none :=
@@ -116,6 +148,12 @@ theorem stream_succ_of_int (a : ℤ) (n : ℕ) : IntFractPair.stream (a : K) (n
   · exact int_fract_pair.succ_nth_stream_eq_none_iff.mpr (Or.inl ih)
 #align generalized_continued_fraction.int_fract_pair.stream_succ_of_int GeneralizedContinuedFraction.IntFractPair.stream_succ_of_int
 
+/- warning: generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_fr_zero -> GeneralizedContinuedFraction.IntFractPair.exists_succ_nth_stream_of_fr_zero is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_succ_n) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) (Eq.{succ u1} K (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n)))))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_succ_n) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) (Eq.{succ u1} K (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n)) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n)))))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_fr_zero GeneralizedContinuedFraction.IntFractPair.exists_succ_nth_stream_of_fr_zeroₓ'. -/
 theorem exists_succ_nth_stream_of_fr_zero {ifp_succ_n : IntFractPair K}
     (stream_succ_nth_eq : IntFractPair.stream v (n + 1) = some ifp_succ_n)
     (succ_nth_fr_eq_zero : ifp_succ_n.fr = 0) :
@@ -129,6 +167,12 @@ theorem exists_succ_nth_stream_of_fr_zero {ifp_succ_n : IntFractPair K}
   simpa only [int_fract_pair.of, Int.fract, sub_eq_zero] using succ_nth_fr_eq_zero
 #align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_fr_zero GeneralizedContinuedFraction.IntFractPair.exists_succ_nth_stream_of_fr_zero
 
+/- warning: generalized_continued_fraction.int_fract_pair.stream_succ -> GeneralizedContinuedFraction.IntFractPair.stream_succ is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (forall (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) n))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (forall (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) n))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.stream_succ GeneralizedContinuedFraction.IntFractPair.stream_succₓ'. -/
 /-- A recurrence relation that expresses the `(n+1)`th term of the stream of `int_fract_pair`s
 of `v` for non-integer `v` in terms of the `n`th term of the stream associated to
 the inverse of the fractional part of `v`.
@@ -163,18 +207,32 @@ process.
 -/
 
 
+#print GeneralizedContinuedFraction.IntFractPair.seq1_fst_eq_of /-
 /-- The head term of the sequence with head of `v` is just the integer part of `v`. -/
 @[simp]
 theorem IntFractPair.seq1_fst_eq_of : (IntFractPair.seq1 v).fst = IntFractPair.of v :=
   rfl
 #align generalized_continued_fraction.int_fract_pair.seq1_fst_eq_of GeneralizedContinuedFraction.IntFractPair.seq1_fst_eq_of
+-/
 
+/- warning: generalized_continued_fraction.of_h_eq_int_fract_pair_seq1_fst_b -> GeneralizedContinuedFraction.of_h_eq_intFractPair_seq1_fst_b is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, Eq.{succ u1} K (GeneralizedContinuedFraction.h.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (Prod.fst.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (Stream'.Seq.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.seq1.{u1} K _inst_1 _inst_2 v))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, Eq.{succ u1} K (GeneralizedContinuedFraction.h.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (Prod.fst.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (Stream'.Seq.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.seq1.{u1} K _inst_1 _inst_2 v))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_h_eq_int_fract_pair_seq1_fst_b GeneralizedContinuedFraction.of_h_eq_intFractPair_seq1_fst_bₓ'. -/
 theorem of_h_eq_intFractPair_seq1_fst_b : (of v).h = (IntFractPair.seq1 v).fst.b :=
   by
   cases aux_seq_eq : int_fract_pair.seq1 v
   simp [of, aux_seq_eq]
 #align generalized_continued_fraction.of_h_eq_int_fract_pair_seq1_fst_b GeneralizedContinuedFraction.of_h_eq_intFractPair_seq1_fst_b
 
+/- warning: generalized_continued_fraction.of_h_eq_floor -> GeneralizedContinuedFraction.of_h_eq_floor is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, Eq.{succ u1} K (GeneralizedContinuedFraction.h.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, Eq.{succ u1} K (GeneralizedContinuedFraction.h.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_h_eq_floor GeneralizedContinuedFraction.of_h_eq_floorₓ'. -/
 /-- The head term of the gcf of `v` is `⌊v⌋`. -/
 @[simp]
 theorem of_h_eq_floor : (of v).h = ⌊v⌋ := by
@@ -197,10 +255,12 @@ sequence implies the termination of another sequence.
 
 variable {n : ℕ}
 
+#print GeneralizedContinuedFraction.IntFractPair.get?_seq1_eq_succ_get?_stream /-
 theorem IntFractPair.get?_seq1_eq_succ_get?_stream :
     (IntFractPair.seq1 v).snd.get? n = (IntFractPair.stream v) (n + 1) :=
   rfl
 #align generalized_continued_fraction.int_fract_pair.nth_seq1_eq_succ_nth_stream GeneralizedContinuedFraction.IntFractPair.get?_seq1_eq_succ_get?_stream
+-/
 
 section Termination
 
@@ -211,16 +271,20 @@ Let's first show how the termination of one sequence implies the termination of
 -/
 
 
+#print GeneralizedContinuedFraction.of_terminatedAt_iff_intFractPair_seq1_terminatedAt /-
 theorem of_terminatedAt_iff_intFractPair_seq1_terminatedAt :
     (of v).TerminatedAt n ↔ (IntFractPair.seq1 v).snd.TerminatedAt n :=
   Option.map_eq_none
 #align generalized_continued_fraction.of_terminated_at_iff_int_fract_pair_seq1_terminated_at GeneralizedContinuedFraction.of_terminatedAt_iff_intFractPair_seq1_terminatedAt
+-/
 
+#print GeneralizedContinuedFraction.of_terminatedAt_n_iff_succ_nth_intFractPair_stream_eq_none /-
 theorem of_terminatedAt_n_iff_succ_nth_intFractPair_stream_eq_none :
     (of v).TerminatedAt n ↔ IntFractPair.stream v (n + 1) = none := by
   rw [of_terminated_at_iff_int_fract_pair_seq1_terminated_at, Stream'.Seq.TerminatedAt,
     int_fract_pair.nth_seq1_eq_succ_nth_stream]
 #align generalized_continued_fraction.of_terminated_at_n_iff_succ_nth_int_fract_pair_stream_eq_none GeneralizedContinuedFraction.of_terminatedAt_n_iff_succ_nth_intFractPair_stream_eq_none
+-/
 
 end Termination
 
@@ -233,6 +297,12 @@ Now let's show how the values of the sequences correspond to one another.
 -/
 
 
+/- warning: generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_gcf_of_nth_eq_some -> GeneralizedContinuedFraction.IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {gp_n : GeneralizedContinuedFraction.Pair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) gp_n)) -> (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp)) (Eq.{succ u1} K ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp)) (GeneralizedContinuedFraction.Pair.b.{u1} K gp_n))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {gp_n : GeneralizedContinuedFraction.Pair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) gp_n)) -> (Exists.{succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (fun (ifp : GeneralizedContinuedFraction.IntFractPair.{u1} K) => And (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp)) (Eq.{succ u1} K (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp)) (GeneralizedContinuedFraction.Pair.b.{u1} K gp_n))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_gcf_of_nth_eq_some GeneralizedContinuedFraction.IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_someₓ'. -/
 theorem IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some {gp_n : Pair K}
     (s_nth_eq : (of v).s.get? n = some gp_n) :
     ∃ ifp : IntFractPair K, IntFractPair.stream v (n + 1) = some ifp ∧ (ifp.b : K) = gp_n.b :=
@@ -248,6 +318,12 @@ theorem IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some {gp_n : Pair
   exact ⟨stream_succ_nth_eq, ifp_b_eq_gp_n_b⟩
 #align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_gcf_of_nth_eq_some GeneralizedContinuedFraction.IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some
 
+/- warning: generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream -> GeneralizedContinuedFraction.get?_of_eq_some_of_succ_get?_intFractPair_stream is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp_succ_n)))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_succ_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_succ_n)) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (NonAssocRing.toOne.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K ifp_succ_n)))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream GeneralizedContinuedFraction.get?_of_eq_some_of_succ_get?_intFractPair_streamₓ'. -/
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
 integer parts of the stream of integer and fractional parts.
 -/
@@ -260,6 +336,12 @@ theorem get?_of_eq_some_of_succ_get?_intFractPair_stream {ifp_succ_n : IntFractP
   simp [seq.nth, stream_succ_nth_eq]
 #align generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream GeneralizedContinuedFraction.get?_of_eq_some_of_succ_get?_intFractPair_stream
 
+/- warning: generalized_continued_fraction.nth_of_eq_some_of_nth_int_fract_pair_stream_fr_ne_zero -> GeneralizedContinuedFraction.get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))))))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K} {n : Nat} {ifp_n : GeneralizedContinuedFraction.IntFractPair.{u1} K}, (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K)) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v n) (Option.some.{u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) ifp_n)) -> (Ne.{succ u1} K (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) n) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (NonAssocRing.toOne.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K (GeneralizedContinuedFraction.IntFractPair.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (GeneralizedContinuedFraction.IntFractPair.fr.{u1} K ifp_n))))))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.nth_of_eq_some_of_nth_int_fract_pair_stream_fr_ne_zero GeneralizedContinuedFraction.get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zeroₓ'. -/
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
 fractional parts of the stream of integer and fractional parts.
 -/
@@ -275,6 +357,12 @@ theorem get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero {ifp_n : IntFract
 
 open Int IntFractPair
 
+/- warning: generalized_continued_fraction.of_s_head_aux -> GeneralizedContinuedFraction.of_s_head_aux is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) (Option.bind.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))) (Function.comp.{succ u1, succ u1, succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (fun (p : GeneralizedContinuedFraction.IntFractPair.{u1} K) => GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K p)))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) (Option.bind.{u1, u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.IntFractPair.stream.{u1} K _inst_1 _inst_2 v (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))) (Function.comp.{succ u1, succ u1, succ u1} (GeneralizedContinuedFraction.IntFractPair.{u1} K) (GeneralizedContinuedFraction.Pair.{u1} K) (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (fun (p : GeneralizedContinuedFraction.IntFractPair.{u1} K) => GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (NonAssocRing.toOne.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (GeneralizedContinuedFraction.IntFractPair.b.{u1} K p)))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_head_aux GeneralizedContinuedFraction.of_s_head_auxₓ'. -/
 theorem of_s_head_aux (v : K) :
     (of v).s.get? 0 =
       (IntFractPair.stream v 1).bind
@@ -287,6 +375,12 @@ theorem of_s_head_aux (v : K) :
   rw [← Stream'.nth_succ, Stream'.nth, Option.map]
 #align generalized_continued_fraction.of_s_head_aux GeneralizedContinuedFraction.of_s_head_aux
 
+/- warning: generalized_continued_fraction.of_s_head -> GeneralizedContinuedFraction.of_s_head is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (OfNat.mk.{u1} K 0 (Zero.zero.{u1} K (MulZeroClass.toHasZero.{u1} K (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.head.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] {v : K}, (Ne.{succ u1} K (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v) (OfNat.ofNat.{u1} K 0 (Zero.toOfNat0.{u1} K (CommMonoidWithZero.toZero.{u1} K (CommGroupWithZero.toCommMonoidWithZero.{u1} K (Semifield.toCommGroupWithZero.{u1} K (LinearOrderedSemifield.toSemifield.{u1} K (LinearOrderedField.toLinearOrderedSemifield.{u1} K _inst_1)))))))) -> (Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.head.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (Option.some.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.Pair.mk.{u1} K (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (NonAssocRing.toOne.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_head GeneralizedContinuedFraction.of_s_headₓ'. -/
 /-- This gives the first pair of coefficients of the continued fraction of a non-integer `v`.
 -/
 theorem of_s_head (h : fract v ≠ 0) : (of v).s.headI = some ⟨1, ⌊(fract v)⁻¹⌋⟩ :=
@@ -298,6 +392,12 @@ theorem of_s_head (h : fract v ≠ 0) : (of v).s.headI = some ⟨1, ⌊(fract v)
 
 variable (K)
 
+/- warning: generalized_continued_fraction.of_s_of_int -> GeneralizedContinuedFraction.of_s_of_int is a dubious translation:
+lean 3 declaration is
+  forall (K : Type.{u1}) [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (a : Int), Eq.{succ u1} (Stream'.Seq.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) a))) (Stream'.Seq.nil.{u1} (GeneralizedContinuedFraction.Pair.{u1} K))
+but is expected to have type
+  forall (K : Type.{u1}) [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (a : Int), Eq.{succ u1} (Stream'.Seq.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) a))) (Stream'.Seq.nil.{u1} (GeneralizedContinuedFraction.Pair.{u1} K))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_of_int GeneralizedContinuedFraction.of_s_of_intₓ'. -/
 /-- If `a` is an integer, then the coefficient sequence of its continued fraction is empty.
 -/
 theorem of_s_of_int (a : ℤ) : (of (a : K)).s = Seq.nil :=
@@ -312,6 +412,12 @@ theorem of_s_of_int (a : ℤ) : (of (a : K)).s = Seq.nil :=
 
 variable {K} (v)
 
+/- warning: generalized_continued_fraction.of_s_succ -> GeneralizedContinuedFraction.of_s_succ is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))) n)
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} (Option.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v)) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Stream'.Seq.get?.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)))) n)
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_succ GeneralizedContinuedFraction.of_s_succₓ'. -/
 /-- Recurrence for the `generalized_continued_fraction.of` an element `v` of `K` in terms of
 that of the inverse of the fractional part of `v`.
 -/
@@ -332,6 +438,12 @@ theorem of_s_succ (n : ℕ) : (of v).s.get? (n + 1) = (of (fract v)⁻¹).s.get?
     rw [Hp, nth_of_eq_some_of_succ_nth_int_fract_pair_stream hp'₁]
 #align generalized_continued_fraction.of_s_succ GeneralizedContinuedFraction.of_s_succ
 
+/- warning: generalized_continued_fraction.of_s_tail -> GeneralizedContinuedFraction.of_s_tail is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Stream'.Seq.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.tail.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K), Eq.{succ u1} (Stream'.Seq.{u1} (GeneralizedContinuedFraction.Pair.{u1} K)) (Stream'.Seq.tail.{u1} (GeneralizedContinuedFraction.Pair.{u1} K) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v))) (GeneralizedContinuedFraction.s.{u1} K (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.of_s_tail GeneralizedContinuedFraction.of_s_tailₓ'. -/
 /-- This expresses the tail of the coefficient sequence of the `generalized_continued_fraction.of`
 an element `v` of `K` as the coefficient sequence of that of the inverse of the
 fractional part of `v`.
@@ -342,6 +454,12 @@ theorem of_s_tail : (of v).s.tail = (of (fract v)⁻¹).s :=
 
 variable (K) (n)
 
+/- warning: generalized_continued_fraction.convergents'_of_int -> GeneralizedContinuedFraction.convergents'_of_int is a dubious translation:
+lean 3 declaration is
+  forall (K : Type.{u1}) [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (n : Nat) (a : Int), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) a)) n) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) a)
+but is expected to have type
+  forall (K : Type.{u1}) [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (n : Nat) (a : Int), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) a)) n) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) a)
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.convergents'_of_int GeneralizedContinuedFraction.convergents'_of_intₓ'. -/
 /-- If `a` is an integer, then the `convergents'` of its continued fraction expansion
 are all equal to `a`.
 -/
@@ -355,6 +473,12 @@ theorem convergents'_of_int (a : ℤ) : (of (a : K)).convergents' n = a :=
 
 variable {K} (v)
 
+/- warning: generalized_continued_fraction.convergents'_succ -> GeneralizedContinuedFraction.convergents'_succ is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (HAdd.hAdd.{u1, u1, u1} K K K (instHAdd.{u1} K (Distrib.toHasAdd.{u1} K (Ring.toDistrib.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))) ((fun (a : Type) (b : Type.{u1}) [self : HasLiftT.{1, succ u1} a b] => self.0) Int K (HasLiftT.mk.{1, succ u1} Int K (CoeTCₓ.coe.{1, succ u1} Int K (Int.castCoe.{u1} K (AddGroupWithOne.toHasIntCast.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) (HDiv.hDiv.{u1, u1, u1} K K K (instHDiv.{u1} K (DivInvMonoid.toHasDiv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1))))) (OfNat.ofNat.{u1} K 1 (OfNat.mk.{u1} K 1 (One.one.{u1} K (AddMonoidWithOne.toOne.{u1} K (AddGroupWithOne.toAddMonoidWithOne.{u1} K (AddCommGroupWithOne.toAddGroupWithOne.{u1} K (Ring.toAddCommGroupWithOne.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))))))))) (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (DivInvMonoid.toHasInv.{u1} K (DivisionRing.toDivInvMonoid.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)))) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))) n)))
+but is expected to have type
+  forall {K : Type.{u1}} [_inst_1 : LinearOrderedField.{u1} K] [_inst_2 : FloorRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))] (v : K) (n : Nat), Eq.{succ u1} K (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 v) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (HAdd.hAdd.{u1, u1, u1} K K K (instHAdd.{u1} K (Distrib.toAdd.{u1} K (NonUnitalNonAssocSemiring.toDistrib.{u1} K (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} K (NonAssocRing.toNonUnitalNonAssocRing.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))))) (Int.cast.{u1} K (Ring.toIntCast.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1))))) (Int.floor.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v)) (HDiv.hDiv.{u1, u1, u1} K K K (instHDiv.{u1} K (LinearOrderedField.toDiv.{u1} K _inst_1)) (OfNat.ofNat.{u1} K 1 (One.toOfNat1.{u1} K (NonAssocRing.toOne.{u1} K (Ring.toNonAssocRing.{u1} K (StrictOrderedRing.toRing.{u1} K (LinearOrderedRing.toStrictOrderedRing.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)))))))) (GeneralizedContinuedFraction.convergents'.{u1} K (Field.toDivisionRing.{u1} K (LinearOrderedField.toField.{u1} K _inst_1)) (GeneralizedContinuedFraction.of.{u1} K _inst_1 _inst_2 (Inv.inv.{u1} K (LinearOrderedField.toInv.{u1} K _inst_1) (Int.fract.{u1} K (LinearOrderedCommRing.toLinearOrderedRing.{u1} K (LinearOrderedField.toLinearOrderedCommRing.{u1} K _inst_1)) _inst_2 v))) n)))
+Case conversion may be inaccurate. Consider using '#align generalized_continued_fraction.convergents'_succ GeneralizedContinuedFraction.convergents'_succₓ'. -/
 /-- The recurrence relation for the `convergents'` of the continued fraction expansion
 of an element `v` of `K` in terms of the convergents of the inverse of its fractional part.
 -/
Diff
@@ -47,7 +47,7 @@ namespace GeneralizedContinuedFraction
 
 open GeneralizedContinuedFraction (of)
 
-/- ./././Mathport/Syntax/Translate/Command.lean:224:11: unsupported: unusual advanced open style -/
+/- ./././Mathport/Syntax/Translate/Command.lean:229:11: unsupported: unusual advanced open style -/
 -- Fix a discrete linear ordered floor field and a value `v`.
 variable {K : Type _} [LinearOrderedField K] [FloorRing K] {v : K}
 
Diff
@@ -197,10 +197,10 @@ sequence implies the termination of another sequence.
 
 variable {n : ℕ}
 
-theorem IntFractPair.nth_seq1_eq_succ_nth_stream :
+theorem IntFractPair.get?_seq1_eq_succ_get?_stream :
     (IntFractPair.seq1 v).snd.get? n = (IntFractPair.stream v) (n + 1) :=
   rfl
-#align generalized_continued_fraction.int_fract_pair.nth_seq1_eq_succ_nth_stream GeneralizedContinuedFraction.IntFractPair.nth_seq1_eq_succ_nth_stream
+#align generalized_continued_fraction.int_fract_pair.nth_seq1_eq_succ_nth_stream GeneralizedContinuedFraction.IntFractPair.get?_seq1_eq_succ_get?_stream
 
 section Termination
 
@@ -233,7 +233,7 @@ Now let's show how the values of the sequences correspond to one another.
 -/
 
 
-theorem IntFractPair.exists_succ_nth_stream_of_gcf_of_nth_eq_some {gp_n : Pair K}
+theorem IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some {gp_n : Pair K}
     (s_nth_eq : (of v).s.get? n = some gp_n) :
     ∃ ifp : IntFractPair K, IntFractPair.stream v (n + 1) = some ifp ∧ (ifp.b : K) = gp_n.b :=
   by
@@ -246,32 +246,32 @@ theorem IntFractPair.exists_succ_nth_stream_of_gcf_of_nth_eq_some {gp_n : Pair K
   injection gp_n_eq with _ ifp_b_eq_gp_n_b
   exists ifp
   exact ⟨stream_succ_nth_eq, ifp_b_eq_gp_n_b⟩
-#align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_gcf_of_nth_eq_some GeneralizedContinuedFraction.IntFractPair.exists_succ_nth_stream_of_gcf_of_nth_eq_some
+#align generalized_continued_fraction.int_fract_pair.exists_succ_nth_stream_of_gcf_of_nth_eq_some GeneralizedContinuedFraction.IntFractPair.exists_succ_get?_stream_of_gcf_of_get?_eq_some
 
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
 integer parts of the stream of integer and fractional parts.
 -/
-theorem nth_of_eq_some_of_succ_nth_intFractPair_stream {ifp_succ_n : IntFractPair K}
+theorem get?_of_eq_some_of_succ_get?_intFractPair_stream {ifp_succ_n : IntFractPair K}
     (stream_succ_nth_eq : IntFractPair.stream v (n + 1) = some ifp_succ_n) :
     (of v).s.get? n = some ⟨1, ifp_succ_n.b⟩ :=
   by
   unfold of int_fract_pair.seq1
   rw [seq.map_tail, seq.nth_tail, seq.map_nth]
   simp [seq.nth, stream_succ_nth_eq]
-#align generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream GeneralizedContinuedFraction.nth_of_eq_some_of_succ_nth_intFractPair_stream
+#align generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream GeneralizedContinuedFraction.get?_of_eq_some_of_succ_get?_intFractPair_stream
 
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
 fractional parts of the stream of integer and fractional parts.
 -/
-theorem nth_of_eq_some_of_nth_intFractPair_stream_fr_ne_zero {ifp_n : IntFractPair K}
+theorem get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero {ifp_n : IntFractPair K}
     (stream_nth_eq : IntFractPair.stream v n = some ifp_n) (nth_fr_ne_zero : ifp_n.fr ≠ 0) :
     (of v).s.get? n = some ⟨1, (IntFractPair.of ifp_n.fr⁻¹).b⟩ :=
   have : IntFractPair.stream v (n + 1) = some (IntFractPair.of ifp_n.fr⁻¹) :=
     by
     cases ifp_n
     simp [int_fract_pair.stream, stream_nth_eq, nth_fr_ne_zero]
-  nth_of_eq_some_of_succ_nth_intFractPair_stream this
-#align generalized_continued_fraction.nth_of_eq_some_of_nth_int_fract_pair_stream_fr_ne_zero GeneralizedContinuedFraction.nth_of_eq_some_of_nth_intFractPair_stream_fr_ne_zero
+  get?_of_eq_some_of_succ_get?_intFractPair_stream this
+#align generalized_continued_fraction.nth_of_eq_some_of_nth_int_fract_pair_stream_fr_ne_zero GeneralizedContinuedFraction.get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero
 
 open Int IntFractPair
 
@@ -337,7 +337,7 @@ an element `v` of `K` as the coefficient sequence of that of the inverse of the
 fractional part of `v`.
 -/
 theorem of_s_tail : (of v).s.tail = (of (fract v)⁻¹).s :=
-  Seq.ext fun n => Seq.nth_tail (of v).s n ▸ of_s_succ v n
+  Seq.ext fun n => Seq.get?_tail (of v).s n ▸ of_s_succ v n
 #align generalized_continued_fraction.of_s_tail GeneralizedContinuedFraction.of_s_tail
 
 variable (K) (n)
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Kappelmann
 
 ! This file was ported from Lean 3 source module algebra.continued_fractions.computation.translations
-! leanprover-community/mathlib commit 10d887272d1a72b99da88bcb301d1da9d9d33696
+! leanprover-community/mathlib commit a7e36e48519ab281320c4d192da6a7b348ce40ad
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -47,6 +47,7 @@ namespace GeneralizedContinuedFraction
 
 open GeneralizedContinuedFraction (of)
 
+/- ./././Mathport/Syntax/Translate/Command.lean:224:11: unsupported: unusual advanced open style -/
 -- Fix a discrete linear ordered floor field and a value `v`.
 variable {K : Type _} [LinearOrderedField K] [FloorRing K] {v : K}
 
@@ -217,7 +218,7 @@ theorem of_terminatedAt_iff_intFractPair_seq1_terminatedAt :
 
 theorem of_terminatedAt_n_iff_succ_nth_intFractPair_stream_eq_none :
     (of v).TerminatedAt n ↔ IntFractPair.stream v (n + 1) = none := by
-  rw [of_terminated_at_iff_int_fract_pair_seq1_terminated_at, SeqCat.TerminatedAt,
+  rw [of_terminated_at_iff_int_fract_pair_seq1_terminated_at, Stream'.Seq.TerminatedAt,
     int_fract_pair.nth_seq1_eq_succ_nth_stream]
 #align generalized_continued_fraction.of_terminated_at_n_iff_succ_nth_int_fract_pair_stream_eq_none GeneralizedContinuedFraction.of_terminatedAt_n_iff_succ_nth_intFractPair_stream_eq_none
 
@@ -240,7 +241,7 @@ theorem IntFractPair.exists_succ_nth_stream_of_gcf_of_nth_eq_some {gp_n : Pair K
     ∃ ifp, int_fract_pair.stream v (n + 1) = some ifp ∧ pair.mk 1 (ifp.b : K) = gp_n :=
     by
     unfold of int_fract_pair.seq1 at s_nth_eq
-    rwa [SeqCat.map_tail, SeqCat.nth_tail, SeqCat.map_nth, Option.map_eq_some'] at s_nth_eq
+    rwa [seq.map_tail, seq.nth_tail, seq.map_nth, Option.map_eq_some'] at s_nth_eq
   cases gp_n_eq
   injection gp_n_eq with _ ifp_b_eq_gp_n_b
   exists ifp
@@ -255,8 +256,8 @@ theorem nth_of_eq_some_of_succ_nth_intFractPair_stream {ifp_succ_n : IntFractPai
     (of v).s.get? n = some ⟨1, ifp_succ_n.b⟩ :=
   by
   unfold of int_fract_pair.seq1
-  rw [SeqCat.map_tail, SeqCat.nth_tail, SeqCat.map_nth]
-  simp [SeqCat.nth, stream_succ_nth_eq]
+  rw [seq.map_tail, seq.nth_tail, seq.map_nth]
+  simp [seq.nth, stream_succ_nth_eq]
 #align generalized_continued_fraction.nth_of_eq_some_of_succ_nth_int_fract_pair_stream GeneralizedContinuedFraction.nth_of_eq_some_of_succ_nth_intFractPair_stream
 
 /-- Shows how the entries of the sequence of the computed continued fraction can be obtained by the
@@ -282,7 +283,7 @@ theorem of_s_head_aux (v : K) :
             b := p.b }) :=
   by
   rw [of, int_fract_pair.seq1, of._match_1]
-  simp only [SeqCat.map_tail, SeqCat.map, SeqCat.tail, SeqCat.head, SeqCat.nth, Stream'.map]
+  simp only [seq.map_tail, seq.map, seq.tail, seq.head, seq.nth, Stream'.map]
   rw [← Stream'.nth_succ, Stream'.nth, Option.map]
 #align generalized_continued_fraction.of_s_head_aux GeneralizedContinuedFraction.of_s_head_aux
 
@@ -299,14 +300,14 @@ variable (K)
 
 /-- If `a` is an integer, then the coefficient sequence of its continued fraction is empty.
 -/
-theorem of_s_of_int (a : ℤ) : (of (a : K)).s = SeqCat.nil :=
+theorem of_s_of_int (a : ℤ) : (of (a : K)).s = Seq.nil :=
   haveI h : ∀ n, (of (a : K)).s.get? n = none :=
     by
     intro n
     induction' n with n ih
     · rw [of_s_head_aux, stream_succ_of_int, Option.bind]
     · exact (of (a : K)).s.Prop ih
-  SeqCat.ext fun n => (h n).trans (SeqCat.nth_nil n).symm
+  seq.ext fun n => (h n).trans (seq.nth_nil n).symm
 #align generalized_continued_fraction.of_s_of_int GeneralizedContinuedFraction.of_s_of_int
 
 variable {K} (v)
@@ -318,8 +319,7 @@ theorem of_s_succ (n : ℕ) : (of v).s.get? (n + 1) = (of (fract v)⁻¹).s.get?
   by
   cases' eq_or_ne (fract v) 0 with h h
   · obtain ⟨a, rfl⟩ : ∃ a : ℤ, v = a := ⟨⌊v⌋, eq_of_sub_eq_zero h⟩
-    rw [fract_int_cast, inv_zero, of_s_of_int, ← cast_zero, of_s_of_int, SeqCat.nth_nil,
-      SeqCat.nth_nil]
+    rw [fract_int_cast, inv_zero, of_s_of_int, ← cast_zero, of_s_of_int, seq.nth_nil, seq.nth_nil]
   cases' eq_or_ne ((of (fract v)⁻¹).s.get? n) none with h₁ h₁
   ·
     rwa [h₁, ← terminated_at_iff_s_none,
@@ -337,7 +337,7 @@ an element `v` of `K` as the coefficient sequence of that of the inverse of the
 fractional part of `v`.
 -/
 theorem of_s_tail : (of v).s.tail = (of (fract v)⁻¹).s :=
-  SeqCat.ext fun n => SeqCat.nth_tail (of v).s n ▸ of_s_succ v n
+  Seq.ext fun n => Seq.nth_tail (of v).s n ▸ of_s_succ v n
 #align generalized_continued_fraction.of_s_tail GeneralizedContinuedFraction.of_s_tail
 
 variable (K) (n)
@@ -350,7 +350,7 @@ theorem convergents'_of_int (a : ℤ) : (of (a : K)).convergents' n = a :=
   induction' n with n ih
   · simp only [zeroth_convergent'_eq_h, of_h_eq_floor, floor_int_cast]
   · rw [convergents', of_h_eq_floor, floor_int_cast, add_right_eq_self]
-    exact convergents'_aux_succ_none ((of_s_of_int K a).symm ▸ SeqCat.nth_nil 0) _
+    exact convergents'_aux_succ_none ((of_s_of_int K a).symm ▸ seq.nth_nil 0) _
 #align generalized_continued_fraction.convergents'_of_int GeneralizedContinuedFraction.convergents'_of_int
 
 variable {K} (v)

Changes in mathlib4

mathlib3
mathlib4
chore: Remove Init.CCLemmas (#10696)

Those lemmas were weird and unused, except the last few about transitivity of = and , which I moved to Logic.Basic

Diff
@@ -3,7 +3,6 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Kappelmann
 -/
-import Mathlib.Init.CCLemmas
 import Mathlib.Algebra.ContinuedFractions.Computation.Basic
 import Mathlib.Algebra.ContinuedFractions.Translations
 
chore: remove uses of cases' (#9171)

I literally went through and regex'd some uses of cases', replacing them with rcases; this is meant to be a low effort PR as I hope that tools can do this in the future.

rcases is an easier replacement than cases, though with better tools we could in future do a second pass converting simple rcases added here (and existing ones) to cases.

Diff
@@ -131,13 +131,13 @@ theorem stream_succ (h : Int.fract v ≠ 0) (n : ℕ) :
   induction' n with n ih
   · have H : (IntFractPair.of v).fr = Int.fract v := rfl
     rw [stream_zero, stream_succ_of_some (stream_zero v) (ne_of_eq_of_ne H h), H]
-  · cases' eq_or_ne (IntFractPair.stream (Int.fract v)⁻¹ n) none with hnone hsome
+  · rcases eq_or_ne (IntFractPair.stream (Int.fract v)⁻¹ n) none with hnone | hsome
     · rw [hnone] at ih
       rw [succ_nth_stream_eq_none_iff.mpr (Or.inl hnone),
         succ_nth_stream_eq_none_iff.mpr (Or.inl ih)]
     · obtain ⟨p, hp⟩ := Option.ne_none_iff_exists'.mp hsome
       rw [hp] at ih
-      cases' eq_or_ne p.fr 0 with hz hnz
+      rcases eq_or_ne p.fr 0 with hz | hnz
       · rw [stream_eq_none_of_fr_eq_zero hp hz, stream_eq_none_of_fr_eq_zero ih hz]
       · rw [stream_succ_of_some hp hnz, stream_succ_of_some ih hnz]
 #align generalized_continued_fraction.int_fract_pair.stream_succ GeneralizedContinuedFraction.IntFractPair.stream_succ
@@ -298,11 +298,11 @@ variable {K} (v)
 that of the inverse of the fractional part of `v`.
 -/
 theorem of_s_succ (n : ℕ) : (of v).s.get? (n + 1) = (of (fract v)⁻¹).s.get? n := by
-  cases' eq_or_ne (fract v) 0 with h h
+  rcases eq_or_ne (fract v) 0 with h | h
   · obtain ⟨a, rfl⟩ : ∃ a : ℤ, v = a := ⟨⌊v⌋, eq_of_sub_eq_zero h⟩
     rw [fract_intCast, inv_zero, of_s_of_int, ← cast_zero, of_s_of_int,
       Stream'.Seq.get?_nil, Stream'.Seq.get?_nil]
-  cases' eq_or_ne ((of (fract v)⁻¹).s.get? n) none with h₁ h₁
+  rcases eq_or_ne ((of (fract v)⁻¹).s.get? n) none with h₁ | h₁
   · rwa [h₁, ← terminatedAt_iff_s_none,
       of_terminatedAt_n_iff_succ_nth_intFractPair_stream_eq_none, stream_succ h, ←
       of_terminatedAt_n_iff_succ_nth_intFractPair_stream_eq_none, terminatedAt_iff_s_none]
@@ -340,7 +340,7 @@ of an element `v` of `K` in terms of the convergents of the inverse of its fract
 -/
 theorem convergents'_succ :
     (of v).convergents' (n + 1) = ⌊v⌋ + 1 / (of (fract v)⁻¹).convergents' n := by
-  cases' eq_or_ne (fract v) 0 with h h
+  rcases eq_or_ne (fract v) 0 with h | h
   · obtain ⟨a, rfl⟩ : ∃ a : ℤ, v = a := ⟨⌊v⌋, eq_of_sub_eq_zero h⟩
     rw [convergents'_of_int, fract_intCast, inv_zero, ← cast_zero, convergents'_of_int, cast_zero,
       div_zero, add_zero, floor_intCast]
chore: Replace (· op ·) a by (a op ·) (#8843)

I used the regex \(\(· (.) ·\) (.)\), replacing with ($2 $1 ·).

Diff
@@ -345,7 +345,7 @@ theorem convergents'_succ :
     rw [convergents'_of_int, fract_intCast, inv_zero, ← cast_zero, convergents'_of_int, cast_zero,
       div_zero, add_zero, floor_intCast]
   · rw [convergents', of_h_eq_floor, add_right_inj, convergents'Aux_succ_some (of_s_head h)]
-    exact congr_arg ((· / ·) 1) (by rw [convergents', of_h_eq_floor, add_right_inj, of_s_tail])
+    exact congr_arg (1 / ·) (by rw [convergents', of_h_eq_floor, add_right_inj, of_s_tail])
 #align generalized_continued_fraction.convergents'_succ GeneralizedContinuedFraction.convergents'_succ
 
 end Values
style: rename Stream'.nth to Stream'.get (#7514)

Many of nth (e.g. list.nth, stream.seq.nth) are renamed to get? in Mathlib 4, but Stream'.nth had been remained as it.

Diff
@@ -267,7 +267,7 @@ theorem of_s_head_aux (v : K) : (of v).s.get? 0 = (IntFractPair.stream v 1).bind
   rw [of, IntFractPair.seq1]
   simp only [of, Stream'.Seq.map_tail, Stream'.Seq.map, Stream'.Seq.tail, Stream'.Seq.head,
     Stream'.Seq.get?, Stream'.map]
-  rw [← Stream'.nth_succ, Stream'.nth, Option.map]
+  rw [← Stream'.get_succ, Stream'.get, Option.map]
   split <;> simp_all only [Option.some_bind, Option.none_bind, Function.comp_apply]
 #align generalized_continued_fraction.of_s_head_aux GeneralizedContinuedFraction.of_s_head_aux
 
chore: remove nonterminal simp (#7580)

Removes nonterminal simps on lines looking like simp [...]

Diff
@@ -253,7 +253,8 @@ theorem get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero {ifp_n : IntFract
     (of v).s.get? n = some ⟨1, (IntFractPair.of ifp_n.fr⁻¹).b⟩ :=
   have : IntFractPair.stream v (n + 1) = some (IntFractPair.of ifp_n.fr⁻¹) := by
     cases ifp_n
-    simp [IntFractPair.stream, stream_nth_eq, nth_fr_ne_zero]
+    simp only [IntFractPair.stream, Nat.add_eq, add_zero, stream_nth_eq, Option.some_bind,
+      ite_eq_right_iff]
     intro; contradiction
   get?_of_eq_some_of_succ_get?_intFractPair_stream this
 #align generalized_continued_fraction.nth_of_eq_some_of_nth_int_fract_pair_stream_fr_ne_zero GeneralizedContinuedFraction.get?_of_eq_some_of_get?_intFractPair_stream_fr_ne_zero
refactor: split Algebra.Hom.Group and Algebra.Hom.Ring (#7094)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -3,6 +3,7 @@ Copyright (c) 2020 Kevin Kappelmann. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Kappelmann
 -/
+import Mathlib.Init.CCLemmas
 import Mathlib.Algebra.ContinuedFractions.Computation.Basic
 import Mathlib.Algebra.ContinuedFractions.Translations
 
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -45,7 +45,7 @@ namespace GeneralizedContinuedFraction
 open GeneralizedContinuedFraction (of)
 
 -- Fix a discrete linear ordered floor field and a value `v`.
-variable {K : Type _} [LinearOrderedField K] [FloorRing K] {v : K}
+variable {K : Type*} [LinearOrderedField K] [FloorRing K] {v : K}
 
 namespace IntFractPair
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Kevin Kappelmann. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kevin Kappelmann
-
-! This file was ported from Lean 3 source module algebra.continued_fractions.computation.translations
-! leanprover-community/mathlib commit a7e36e48519ab281320c4d192da6a7b348ce40ad
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.ContinuedFractions.Computation.Basic
 import Mathlib.Algebra.ContinuedFractions.Translations
 
+#align_import algebra.continued_fractions.computation.translations from "leanprover-community/mathlib"@"a7e36e48519ab281320c4d192da6a7b348ce40ad"
+
 /-!
 # Basic Translation Lemmas Between Structures Defined for Computing Continued Fractions
 
feat: port Algebra.ContinuedFractions.Computation.Translations (#3794)

Co-authored-by: Moritz Firsching <firsching@google.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Dependencies 4 + 153

154 files ported (97.5%)
68968 lines ported (98.3%)
Show graph

The unported dependencies are