awhecmu/canonical-drafter-extract-mathlib huggingface dataset:
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (hypothesis)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Semifield S
inst_2 : LinearOrder S
v w : AbsoluteValue R S
inst_3 : IsStrictOrderedRing S
inst_4 : Archimedean S
inst_5 : ExistsAddOfLE S
hv : v.IsNontrivial
h :
  ∀ (x : R),
    LT.lt.{u_2} (α := S) ((v : (a : R) → S) x : S) (1 : S) → LT.lt.{u_2} (α := S) ((w : (a : R) → S) x : S) (1 : S)
a : R
ha₀ : a ≠ 0
hw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) a : S) (1 : S)
x₀ : R
hx₀ : x₀ ≠ 0 ∧ LT.lt.{u_2} (α := S) ((v : (a : R) → S) x₀ : S) (1 : S)
⊢ LT.lt.{u_2} (α := S) ((v : (a : R) → S) a : S) (1 : S)
have hpow : ∀ (n : ℕ) (hv : LE.le.{u_2} (α := S) (1 : S) ((v : (a : R) → S) a : S)),
  (w : (a : R) → S) x₀ < HPow.hPow (α := S) ((w : (a : R) → S) a : S) n
Tactic: have hpow (n : ℕ) (hv : 1 ≤ v a) : w x₀ < w a ^ n := by
    rw [← one_mul (_ ^ _), ← mul_inv_lt_iff₀ (pow_pos (by simp_all) _),
      ← map_pow, ← map_inv₀, ← map_mul]
    apply h
    rw [map_mul, map_inv₀, map_pow, mul_inv_lt_iff₀ (pow_pos (by simp [ha₀]) _), one_mul]
    exact lt_of_lt_of_le hx₀.2 <| one_le_pow₀ hv
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Semifield S
inst_2 : LinearOrder S
v w : AbsoluteValue R S
inst_3 : IsStrictOrderedRing S
inst_4 : Archimedean S
inst_5 : ExistsAddOfLE S
hv : v.IsNontrivial
h :
  ∀ (x : R),
    LT.lt.{u_2} (α := S) ((v : (a : R) → S) x : S) (1 : S) → LT.lt.{u_2} (α := S) ((w : (a : R) → S) x : S) (1 : S)
a : R
ha₀ : a ≠ 0
hw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) a : S) (1 : S)
x₀ : R
hx₀ : x₀ ≠ 0 ∧ LT.lt.{u_2} (α := S) ((v : (a : R) → S) x₀ : S) (1 : S)
hpow :
  ∀ (n : ℕ) (hv : LE.le.{u_2} (α := S) (1 : S) ((v : (a : R) → S) a : S)),
    (w : (a : R) → S) x₀ < HPow.hPow (α := S) ((w : (a : R) → S) a : S) n
⊢ LT.lt.{u_2} (α := S) ((v : (a : R) → S) a : S) (1 : S)
have inr : ∀ (n : ℕ) (hn : HPow.hPow (α := S) ((w : (a : R) → S) a : S) n < (w : (a : R) → S) x₀),
  LT.lt.{u_2} (α := S) ((v : (a : R) → S) a : S) (1 : S)
Tactic: obtain ⟨n, hn⟩ := exists_pow_lt_of_lt_one (w.pos hx₀.1) hw
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Semifield S
inst_2 : LinearOrder S
inst_3 : IsStrictOrderedRing S
inst_4 : Archimedean S
inst_5 : ExistsAddOfLE S
v w : AbsoluteValue R S
hv : v.IsNontrivial
h : ¬v.IsEquiv w
⊢ ∃ (a : R),
    LT.lt.{u_2} (α := S) ((v : (a : R) → S) a : S) (1 : S) ∧ LE.le.{u_2} (α := S) (1 : S) ((w : (a : R) → S) a : S)
have contrapose! : ∀
  (h :
    ∀ (a : R) (_ : LT.lt.{u_2} (α := S) ((v : (a : R) → S) a : S) (1 : S)),
      LT.lt.{u_2} (α := S) ((w : (a : R) → S) a : S) (1 : S)),
  v.IsEquiv w
Tactic: contrapose! h
Cleared hypotheses: h
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Semifield S
inst_2 : LinearOrder S
inst_3 : IsStrictOrderedRing S
inst_4 : Archimedean S
inst_5 : ExistsAddOfLE S
v w : AbsoluteValue R S
hv : v.IsNontrivial
hw : w.IsNontrivial
h : ¬v.IsEquiv w
⊢ ∃ (a : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v : (a : R) → S) a : S) ∧ LT.lt.{u_2} (α := S) ((w : (a : R) → S) a : S) (1 : S)
have let : ∀ (a : R) (hva : LT.lt.{u_2} (α := S) ((v : (a : R) → S) a : S) (1 : S))
  (hwa : LE.le.{u_2} (α := S) (1 : S) ((w : (a : R) → S) a : S)),
  ∃ (a : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v : (a : R) → S) a : S) ∧ LT.lt.{u_2} (α := S) ((w : (a : R) → S) a : S) (1 : S)
Tactic: let ⟨a, hva, hwa⟩ := exists_lt_one_one_le_of_not_isEquiv hv h
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Semifield S
inst_2 : LinearOrder S
inst_3 : IsStrictOrderedRing S
inst_4 : Archimedean S
inst_5 : ExistsAddOfLE S
v w : AbsoluteValue R S
hv : v.IsNontrivial
hw : w.IsNontrivial
h : ¬v.IsEquiv w
a : R
hva : LT.lt.{u_2} (α := S) ((v : (a : R) → S) a : S) (1 : S)
hwa : LE.le.{u_2} (α := S) (1 : S) ((w : (a : R) → S) a : S)
⊢ ∃ (a : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v : (a : R) → S) a : S) ∧ LT.lt.{u_2} (α := S) ((w : (a : R) → S) a : S) (1 : S)
have let : ∀ (b : R) (hwb : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S))
  (hvb : LE.le.{u_2} (α := S) (1 : S) ((v : (a : R) → S) b : S)),
  ∃ (a : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v : (a : R) → S) a : S) ∧ LT.lt.{u_2} (α := S) ((w : (a : R) → S) a : S) (1 : S)
Tactic: let ⟨b, hwb, hvb⟩ := exists_lt_one_one_le_of_not_isEquiv hw (mt .symm h)
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b
⊢ LT.lt.{u_2} (α := S) (0 : S) ((v i : (a : R) → S) b : S)
have linarith : LE.le.{u_2} (α := S) ((v i : (a : R) → S) b : S) (0 : S) →
  -1 + HSub.hSub (α := S) (β := S) (1 : S) ((v i : (a : R) → S) b : S) +
      HSub.hSub (α := S) (β := S) ((v i : (a : R) → S) b : S) (0 : S) =
    0
Tactic: linarith
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (hypothesis)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b
⊢ ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
have hcᵢ : Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v i : (a : R) → S) (c n)) atTop atTop
Tactic: have hcᵢ : Tendsto (fun n ↦ (v i) (c n)) atTop atTop := by
    simpa [c] using Tendsto.atTop_mul_const (by linarith) (tendsto_pow_atTop_atTop_of_one_lt ha)
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (hypothesis)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b
hcᵢ : Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v i : (a : R) → S) (c n)) atTop atTop
⊢ ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
have hcⱼ : ∀ (j : ι) (hj : j ≠ i), Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v j : (a : R) → S) (c n)) atTop (𝓝 0)
Tactic: have hcⱼ (j : ι) (hj : j ≠ i) : Tendsto (fun n ↦ (v j) (c n)) atTop (𝓝 0) := by
    simpa [c] using (tendsto_pow_atTop_nhds_zero_of_lt_one ((v j).nonneg _) (haj j hj)).mul_const _
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (hypothesis)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b
hcᵢ : Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v i : (a : R) → S) (c n)) atTop atTop
hcⱼ : ∀ (j : ι) (hj : j ≠ i), Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v j : (a : R) → S) (c n)) atTop (𝓝 0)
⊢ ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
have hcⱼ₁ : ∀ (j : ι) (hj : j ≠ i) (s : Set S),
  Membership.mem (γ := Set (Set S)) {s : Set S | ∃ (a : S), s = Set.Ioi a ∨ s = Set.Iio a} s →
    0 ∈ s → ∃ (a : ℕ), ∀ b ≥ a, Membership.mem (α := S) s ((v j : (a : R) → S) (c b) : S)
Tactic: simp_rw +instances [OrderTopology.topology_eq_generate_intervals,
    TopologicalSpace.tendsto_nhds_generateFrom_iff, mem_atTop_sets, Set.mem_preimage] at hcⱼ
Cleared hypotheses: hcⱼ
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b
hcᵢ : Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v i : (a : R) → S) (c n)) atTop atTop
hcⱼ :
  ∀ (j : ι) (hj : j ≠ i) (s : Set S),
    Membership.mem (γ := Set (Set S)) {s : Set S | ∃ (a : S), s = Set.Ioi a ∨ s = Set.Iio a} s →
      0 ∈ s → ∃ (a : ℕ), ∀ b ≥ a, Membership.mem (α := S) s ((v j : (a : R) → S) (c b) : S)
⊢ ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
have choose : ∀ (r₁ : ℕ) (hr₁ : ∀ (a : ℕ), r₁ ≤ a → LE.le.{u_2} (α := S) (2 : S) ((v i : (a : R) → S) (c a) : S)),
  ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
Tactic: choose r₁ hr₁ using tendsto_atTop_atTop.1 hcᵢ 2
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b
hcᵢ : Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v i : (a : R) → S) (c n)) atTop atTop
hcⱼ :
  ∀ (j : ι) (hj : j ≠ i) (s : Set S),
    Membership.mem (γ := Set (Set S)) {s : Set S | ∃ (a : S), s = Set.Ioi a ∨ s = Set.Iio a} s →
      0 ∈ s → ∃ (a : ℕ), ∀ b ≥ a, Membership.mem (α := S) s ((v j : (a : R) → S) (c b) : S)
r₁ : ℕ
hr₁ : ∀ (a : ℕ), r₁ ≤ a → LE.le.{u_2} (α := S) (2 : S) ((v i : (a : R) → S) (c a) : S)
⊢ ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
have choose : ∀ (rₙ : (j : ι) → (hj : j ≠ i) → ℕ)
  (hrₙ :
    ∀ (j : ι) (hj : j ≠ i),
      ∀ b ≥ rₙ j hj, Membership.mem.{u_2, u_2} (α := S) (γ := Set S) (Set.Iio 1) ((v j : (a : R) → S) (c b) : S)),
  ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
Tactic: choose rₙ hrₙ using fun j hj ↦ hcⱼ j hj (.Iio 1) (by simpa using ⟨1, .inr rfl⟩) (by simp)
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b
hcᵢ : Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v i : (a : R) → S) (c n)) atTop atTop
hcⱼ :
  ∀ (j : ι) (hj : j ≠ i) (s : Set S),
    Membership.mem (γ := Set (Set S)) {s : Set S | ∃ (a : S), s = Set.Ioi a ∨ s = Set.Iio a} s →
      0 ∈ s → ∃ (a : ℕ), ∀ b ≥ a, Membership.mem (α := S) s ((v j : (a : R) → S) (c b) : S)
r₁ : ℕ
hr₁ : ∀ (a : ℕ), r₁ ≤ a → LE.le.{u_2} (α := S) (2 : S) ((v i : (a : R) → S) (c a) : S)
rₙ : (j : ι) → (hj : j ≠ i) → ℕ
hrₙ :
  ∀ (j : ι) (hj : j ≠ i),
    ∀ b ≥ rₙ j hj, Membership.mem.{u_2, u_2} (α := S) (γ := Set S) (Set.Iio 1) ((v j : (a : R) → S) (c b) : S)
⊢ ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
have have : ∀ (this : Fintype ι),
  ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
Tactic: have := Fintype.ofFinite ι
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b
hcᵢ : Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v i : (a : R) → S) (c n)) atTop atTop
hcⱼ :
  ∀ (j : ι) (hj : j ≠ i) (s : Set S),
    Membership.mem (γ := Set (Set S)) {s : Set S | ∃ (a : S), s = Set.Ioi a ∨ s = Set.Iio a} s →
      0 ∈ s → ∃ (a : ℕ), ∀ b ≥ a, Membership.mem (α := S) s ((v j : (a : R) → S) (c b) : S)
r₁ : ℕ
hr₁ : ∀ (a : ℕ), r₁ ≤ a → LE.le.{u_2} (α := S) (2 : S) ((v i : (a : R) → S) (c a) : S)
rₙ : (j : ι) → (hj : j ≠ i) → ℕ
hrₙ :
  ∀ (j : ι) (hj : j ≠ i),
    ∀ b ≥ rₙ j hj, Membership.mem.{u_2, u_2} (α := S) (γ := Set S) (Set.Iio 1) ((v j : (a : R) → S) (c b) : S)
this : Fintype ι
r : ℕ := Finset.sup Finset.univ fun (j : ι) ↦ if h : j = i then r₁ else rₙ j h
⊢ LT.lt.{u_2} (α := S) 1 2
have linarith : LE.le.{u_2} (α := S) 2 1 → -1 + HSub.hSub (α := S) 2 1 = 0
Tactic: linarith
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b
hcᵢ : Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v i : (a : R) → S) (c n)) atTop atTop
hcⱼ :
  ∀ (j : ι) (hj : j ≠ i) (s : Set S),
    Membership.mem (γ := Set (Set S)) {s : Set S | ∃ (a : S), s = Set.Ioi a ∨ s = Set.Iio a} s →
      0 ∈ s → ∃ (a : ℕ), ∀ b ≥ a, Membership.mem (α := S) s ((v j : (a : R) → S) (c b) : S)
r₁ : ℕ
hr₁ : ∀ (a : ℕ), r₁ ≤ a → LE.le.{u_2} (α := S) (2 : S) ((v i : (a : R) → S) (c a) : S)
rₙ : (j : ι) → (hj : j ≠ i) → ℕ
hrₙ :
  ∀ (j : ι) (hj : j ≠ i),
    ∀ b ≥ rₙ j hj, Membership.mem.{u_2, u_2} (α := S) (γ := Set S) (Set.Iio 1) ((v j : (a : R) → S) (c b) : S)
this : Fintype ι
r : ℕ := Finset.sup Finset.univ fun (j : ι) ↦ if h : j = i then r₁ else rₙ j h
⊢ ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
have refine_1 : r₁ ≤ r
Tactic: refine ⟨c r, lt_of_lt_of_le (by linarith) (hr₁ r ?_), fun j hj ↦ ?_, by simpa [c, haw]⟩
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b
hcᵢ : Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v i : (a : R) → S) (c n)) atTop atTop
hcⱼ :
  ∀ (j : ι) (hj : j ≠ i) (s : Set S),
    Membership.mem (γ := Set (Set S)) {s : Set S | ∃ (a : S), s = Set.Ioi a ∨ s = Set.Iio a} s →
      0 ∈ s → ∃ (a : ℕ), ∀ b ≥ a, Membership.mem (α := S) s ((v j : (a : R) → S) (c b) : S)
r₁ : ℕ
hr₁ : ∀ (a : ℕ), r₁ ≤ a → LE.le.{u_2} (α := S) (2 : S) ((v i : (a : R) → S) (c a) : S)
rₙ : (j : ι) → (hj : j ≠ i) → ℕ
hrₙ :
  ∀ (j : ι) (hj : j ≠ i),
    ∀ b ≥ rₙ j hj, Membership.mem.{u_2, u_2} (α := S) (γ := Set S) (Set.Iio 1) ((v j : (a : R) → S) (c b) : S)
this : Fintype ι
r : ℕ := Finset.sup Finset.univ fun (j : ι) ↦ if h : j = i then r₁ else rₙ j h
refine_1 : r₁ ≤ r
⊢ ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
have refine_2 : ∀ (j : ι) (hj : j ≠ i), LT.lt.{u_2} (α := S) ((v j : (a : R) → S) (c r) : S) (1 : S)
Tactic: refine ⟨c r, lt_of_lt_of_le (by linarith) (hr₁ r ?_), fun j hj ↦ ?_, by simpa [c, haw]⟩
-- Lean 4 proof step from Mathlib.Analysis.AbsoluteValue.Equivalence (goal)
Goal:
R : Type u_1
S : Type u_2
inst : Field R
inst_1 : Field S
inst_2 : LinearOrder S
inst_3 : TopologicalSpace S
inst_4 : IsStrictOrderedRing S
inst_5 : Archimedean S
inst_6 : OrderTopology S
ι : Type u_3
inst_7 : Finite ι
v : ι → AbsoluteValue R S
w : AbsoluteValue R S
a b : R
i : ι
ha : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) a : S)
haj : ∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) a : S) (1 : S)
haw : Eq.{u_2 + 1} (α := S) ((w : (a : R) → S) a : S) (1 : S)
hb : LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) b : S)
hbw : LT.lt.{u_2} (α := S) ((w : (a : R) → S) b : S) (1 : S)
let let₁ let₂ :
  ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
⊢ ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
have let₃ : let c : ℕ → R := fun (n : ℕ) ↦ a ^ n * b;
∀ (hcᵢ : Tendsto.{0, u_2} (β := S) (fun (n : ℕ) ↦ (v i : (a : R) → S) (c n)) atTop atTop),
  ∃ (k : R),
    LT.lt.{u_2} (α := S) (1 : S) ((v i : (a : R) → S) k : S) ∧
      (∀ (j : ι), j ≠ i → LT.lt.{u_2} (α := S) ((v j : (a : R) → S) k : S) (1 : S)) ∧
        LT.lt.{u_2} (α := S) ((w : (a : R) → S) k : S) (1 : S)
Tactic: classical
  let c : ℕ → R := fun n ↦ a ^ n * b
  have hcᵢ : Tendsto (fun n ↦ (v i) (c n)) atTop atTop := by
    simpa [c] using Tendsto.atTop_mul_const (by linarith) (tendsto_pow_atTop_atTop_of_one_lt ha)
  have hcⱼ (j : ι) (hj : j ≠ i) : Tendsto (fun n ↦ (v j) (c n)) atTop (𝓝 0) := by
    simpa [c] using (tendsto_pow_atTop_nhds_zero_of_lt_one ((v j).nonneg _) (haj j hj)).mul_const _
  simp_rw +instances [OrderTopology.topology_eq_generate_intervals,
    TopologicalSpace.tendsto_nhds_generateFrom_iff, mem_atTop_sets, Set.mem_preimage] at hcⱼ
  choose r₁ hr₁ using tendsto_atTop_atTop.1 hcᵢ 2
  choose rₙ hrₙ using fun j hj ↦ hcⱼ j hj (.Iio 1) (by simpa using ⟨1, .inr rfl⟩) (by simp)
  have := Fintype.ofFinite ι
  let r := Finset.univ.sup fun j ↦ if h : j = i then r₁ else rₙ j h
  refine ⟨c r, lt_of_lt_of_le (by linarith) (hr₁ r ?_), fun j hj ↦ ?_, by simpa [c, haw]⟩
  · exact Finset.le_sup_dite_pos (p := fun j ↦ j = i) (f := fun _ _ ↦ r₁) (Finset.mem_univ _) rfl
  · simpa using hrₙ j hj _ <| Finset.le_sup_dite_neg (fun j ↦ j = i) (Finset.mem_univ j) _