1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: tendsto_measure_thickening
File: Mathlib/MeasureTheory/Constructions/BorelSpace/Metric.lean

tactic: rw [closure_eq_iInter_thickening]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s✝ t u : Set α
inst✝³ : PseudoEMetricSpace α
inst✝² : MeasurableSpace α
inst✝¹ : OpensMeasurableSpace α
inst✝ : MeasurableSpace β
x : α
ε : ℝ≥0∞
μ : Measure α
s : Set α
hs : ∃ R > 0, μ (thickening R s) ≠ ⊤
⊢ Tendsto (fun r => μ (thickening r s)) (𝓝[>] 0) (𝓝 (μ (closure s)))
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s✝ t u : Set α
inst✝³ : PseudoEMetricSpace α
inst✝² : MeasurableSpace α
inst✝¹ : OpensMeasurableSpace α
inst✝ : MeasurableSpace β
x : α
ε : ℝ≥0∞
μ : Measure α
s : Set α
hs : ∃ R > 0, μ (thickening R s) ≠ ⊤
⊢ Tendsto (fun r => μ (thickening r s)) (𝓝[>] 0) (𝓝 (μ (⋂ δ, ⋂ (_ : 0 < δ), thickening δ s)))

tactic: exact tendsto_measure_biInter_gt (fun r _ => isOpen_thickening.measurableSet)
    (fun i j _ ij => thickening_mono ij _) hs
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s✝ t u : Set α
inst✝³ : PseudoEMetricSpace α
inst✝² : MeasurableSpace α
inst✝¹ : OpensMeasurableSpace α
inst✝ : MeasurableSpace β
x : α
ε : ℝ≥0∞
μ : Measure α
s : Set α
hs : ∃ R > 0, μ (thickening R s) ≠ ⊤
⊢ Tendsto (fun r => μ (thickening r s)) (𝓝[>] 0) (𝓝 (μ (⋂ δ, ⋂ (_ : 0 < δ), thickening δ s)))
state_after: no goals
Theorem: List.rtake_zero
File: Mathlib/Data/List/DropRight.lean

tactic: simp [rtake]
state_before: α : Type u_1
p : α → Bool
l : List α
n : ℕ
⊢ l.rtake 0 = []
state_after: no goals
Theorem: Matrix.invOf_eq_nonsing_inv
File: Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean

tactic: letI := detInvertibleOfInvertible A
state_before: l : Type u_1
m : Type u
n : Type u'
α : Type v
inst✝³ : Fintype n
inst✝² : DecidableEq n
inst✝¹ : CommRing α
A B : Matrix n n α
inst✝ : Invertible A
⊢ ⅟A = A⁻¹
state_after: l : Type u_1
m : Type u
n : Type u'
α : Type v
inst✝³ : Fintype n
inst✝² : DecidableEq n
inst✝¹ : CommRing α
A B : Matrix n n α
inst✝ : Invertible A
this : Invertible A.det := A.detInvertibleOfInvertible
⊢ ⅟A = A⁻¹

tactic: rw [inv_def, Ring.inverse_invertible, invOf_eq]
state_before: l : Type u_1
m : Type u
n : Type u'
α : Type v
inst✝³ : Fintype n
inst✝² : DecidableEq n
inst✝¹ : CommRing α
A B : Matrix n n α
inst✝ : Invertible A
this : Invertible A.det := A.detInvertibleOfInvertible
⊢ ⅟A = A⁻¹
state_after: no goals
Theorem: CategoryTheory.isSubterminal_of_mono_isTerminal_from
File: Mathlib/CategoryTheory/Subterminal.lean

tactic: rw [← cancel_mono (hT.from A)]
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
A T : C
hT : IsTerminal T
inst✝ : Mono (hT.from A)
Z : C
f g : Z ⟶ A
⊢ f = g
state_after: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
A T : C
hT : IsTerminal T
inst✝ : Mono (hT.from A)
Z : C
f g : Z ⟶ A
⊢ f ≫ hT.from A = g ≫ hT.from A

tactic: apply hT.hom_ext
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
A T : C
hT : IsTerminal T
inst✝ : Mono (hT.from A)
Z : C
f g : Z ⟶ A
⊢ f ≫ hT.from A = g ≫ hT.from A
state_after: no goals
Theorem: SimpleGraph.Walk.copy_nil
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: subst_vars
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u u' : V
hu : u = u'
⊢ nil.copy hu hu = nil
state_after: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u' : V
⊢ nil.copy ⋯ ⋯ = nil

tactic: rfl
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u' : V
⊢ nil.copy ⋯ ⋯ = nil
state_after: no goals
Theorem: CategoryTheory.GrothendieckTopology.isGLB_sInf
File: Mathlib/CategoryTheory/Sites/Grothendieck.lean

tactic: refine @IsGLB.of_image _ _ _ _ sieves ?_ _ _ ?_
state_before: C : Type u
inst✝ : Category.{v, u} C
X Y : C
S R : Sieve X
J : GrothendieckTopology C
s : Set (GrothendieckTopology C)
⊢ IsGLB s (sInf s)
state_after: case refine_1
C : Type u
inst✝ : Category.{v, u} C
X Y : C
S R : Sieve X
J : GrothendieckTopology C
s : Set (GrothendieckTopology C)
⊢ ∀ {x y : GrothendieckTopology C}, x.sieves ≤ y.sieves ↔ x ≤ y

case refine_2
C : Type u
inst✝ : Category.{v, u} C
X Y : C
S R : Sieve X
J : GrothendieckTopology C
s : Set (GrothendieckTopology C)
⊢ IsGLB (sieves '' s) (sInf s).sieves

tactic: intros
state_before: case refine_1
C : Type u
inst✝ : Category.{v, u} C
X Y : C
S R : Sieve X
J : GrothendieckTopology C
s : Set (GrothendieckTopology C)
⊢ ∀ {x y : GrothendieckTopology C}, x.sieves ≤ y.sieves ↔ x ≤ y
state_after: case refine_1
C : Type u
inst✝ : Category.{v, u} C
X Y : C
S R : Sieve X
J : GrothendieckTopology C
s : Set (GrothendieckTopology C)
x✝ y✝ : GrothendieckTopology C
⊢ x✝.sieves ≤ y✝.sieves ↔ x✝ ≤ y✝

tactic: rfl
state_before: case refine_1
C : Type u
inst✝ : Category.{v, u} C
X Y : C
S R : Sieve X
J : GrothendieckTopology C
s : Set (GrothendieckTopology C)
x✝ y✝ : GrothendieckTopology C
⊢ x✝.sieves ≤ y✝.sieves ↔ x✝ ≤ y✝
state_after: no goals

tactic: exact _root_.isGLB_sInf _
state_before: case refine_2
C : Type u
inst✝ : Category.{v, u} C
X Y : C
S R : Sieve X
J : GrothendieckTopology C
s : Set (GrothendieckTopology C)
⊢ IsGLB (sieves '' s) (sInf s).sieves
state_after: no goals
Theorem: Nat.ofDigits_one
File: Mathlib/Data/Nat/Digits.lean

tactic: induction' L with _ _ ih
state_before: n : ℕ
L : List ℕ
⊢ ofDigits 1 L = L.sum
state_after: case nil
n : ℕ
⊢ ofDigits 1 [] = [].sum

case cons
n head✝ : ℕ
tail✝ : List ℕ
ih : ofDigits 1 tail✝ = tail✝.sum
⊢ ofDigits 1 (head✝ :: tail✝) = (head✝ :: tail✝).sum

tactic: rfl
state_before: case nil
n : ℕ
⊢ ofDigits 1 [] = [].sum
state_after: no goals

tactic: simp [ofDigits, List.sum_cons, ih]
state_before: case cons
n head✝ : ℕ
tail✝ : List ℕ
ih : ofDigits 1 tail✝ = tail✝.sum
⊢ ofDigits 1 (head✝ :: tail✝) = (head✝ :: tail✝).sum
state_after: no goals
Theorem: Nat.card_of_subsingleton
File: Mathlib/SetTheory/Cardinal/Finite.lean

tactic: letI := Fintype.ofSubsingleton a
state_before: α : Type u_1
β : Type u_2
a : α
inst✝ : Subsingleton α
⊢ Nat.card α = 1
state_after: α : Type u_1
β : Type u_2
a : α
inst✝ : Subsingleton α
this : Fintype α := Fintype.ofSubsingleton a
⊢ Nat.card α = 1

tactic: rw [card_eq_fintype_card, Fintype.card_ofSubsingleton a]
state_before: α : Type u_1
β : Type u_2
a : α
inst✝ : Subsingleton α
this : Fintype α := Fintype.ofSubsingleton a
⊢ Nat.card α = 1
state_after: no goals
Theorem: CategoryTheory.InjectiveResolution.homotopyEquiv_inv_ι
File: Mathlib/CategoryTheory/Abelian/InjectiveResolution.lean

tactic: simp [homotopyEquiv]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Abelian C
X : C
I J : InjectiveResolution X
⊢ J.ι ≫ (I.homotopyEquiv J).inv = I.ι
state_after: no goals
Theorem: Matrix.fromColumns_inj
File: Mathlib/Data/Matrix/ColumnRowPartitioned.lean

tactic: intros x1 x2 y1 y2
state_before: R : Type u_1
m : Type u_2
m₁ : Type u_3
m₂ : Type u_4
n : Type u_5
n₁ : Type u_6
n₂ : Type u_7
inst✝¹¹ : Fintype m
inst✝¹⁰ : Fintype m₁
inst✝⁹ : Fintype m₂
inst✝⁸ : Fintype n
inst✝⁷ : Fintype n₁
inst✝⁶ : Fintype n₂
inst✝⁵ : DecidableEq m
inst✝⁴ : DecidableEq m₁
inst✝³ : DecidableEq m₂
inst✝² : DecidableEq n
inst✝¹ : DecidableEq n₁
inst✝ : DecidableEq n₂
⊢ Function.Injective2 fromColumns
state_after: R : Type u_1
m : Type u_2
m₁ : Type u_3
m₂ : Type u_4
n : Type u_5
n₁ : Type u_6
n₂ : Type u_7
inst✝¹¹ : Fintype m
inst✝¹⁰ : Fintype m₁
inst✝⁹ : Fintype m₂
inst✝⁸ : Fintype n
inst✝⁷ : Fintype n₁
inst✝⁶ : Fintype n₂
inst✝⁵ : DecidableEq m
inst✝⁴ : DecidableEq m₁
inst✝³ : DecidableEq m₂
inst✝² : DecidableEq n
inst✝¹ : DecidableEq n₁
inst✝ : DecidableEq n₂
x1 x2 : Matrix m n₁ R
y1 y2 : Matrix m n₂ R
⊢ x1.fromColumns y1 = x2.fromColumns y2 → x1 = x2 ∧ y1 = y2

tactic: simp only [Function.funext_iff, ← Matrix.ext_iff]
state_before: R : Type u_1
m : Type u_2
m₁ : Type u_3
m₂ : Type u_4
n : Type u_5
n₁ : Type u_6
n₂ : Type u_7
inst✝¹¹ : Fintype m
inst✝¹⁰ : Fintype m₁
inst✝⁹ : Fintype m₂
inst✝⁸ : Fintype n
inst✝⁷ : Fintype n₁
inst✝⁶ : Fintype n₂
inst✝⁵ : DecidableEq m
inst✝⁴ : DecidableEq m₁
inst✝³ : DecidableEq m₂
inst✝² : DecidableEq n
inst✝¹ : DecidableEq n₁
inst✝ : DecidableEq n₂
x1 x2 : Matrix m n₁ R
y1 y2 : Matrix m n₂ R
⊢ x1.fromColumns y1 = x2.fromColumns y2 → x1 = x2 ∧ y1 = y2
state_after: R : Type u_1
m : Type u_2
m₁ : Type u_3
m₂ : Type u_4
n : Type u_5
n₁ : Type u_6
n₂ : Type u_7
inst✝¹¹ : Fintype m
inst✝¹⁰ : Fintype m₁
inst✝⁹ : Fintype m₂
inst✝⁸ : Fintype n
inst✝⁷ : Fintype n₁
inst✝⁶ : Fintype n₂
inst✝⁵ : DecidableEq m
inst✝⁴ : DecidableEq m₁
inst✝³ : DecidableEq m₂
inst✝² : DecidableEq n
inst✝¹ : DecidableEq n₁
inst✝ : DecidableEq n₂
x1 x2 : Matrix m n₁ R
y1 y2 : Matrix m n₂ R
⊢ (∀ (i : m) (j : n₁ ⊕ n₂), x1.fromColumns y1 i j = x2.fromColumns y2 i j) →
    (∀ (i : m) (j : n₁), x1 i j = x2 i j) ∧ ∀ (i : m) (j : n₂), y1 i j = y2 i j

tactic: aesop
state_before: R : Type u_1
m : Type u_2
m₁ : Type u_3
m₂ : Type u_4
n : Type u_5
n₁ : Type u_6
n₂ : Type u_7
inst✝¹¹ : Fintype m
inst✝¹⁰ : Fintype m₁
inst✝⁹ : Fintype m₂
inst✝⁸ : Fintype n
inst✝⁷ : Fintype n₁
inst✝⁶ : Fintype n₂
inst✝⁵ : DecidableEq m
inst✝⁴ : DecidableEq m₁
inst✝³ : DecidableEq m₂
inst✝² : DecidableEq n
inst✝¹ : DecidableEq n₁
inst✝ : DecidableEq n₂
x1 x2 : Matrix m n₁ R
y1 y2 : Matrix m n₂ R
⊢ (∀ (i : m) (j : n₁ ⊕ n₂), x1.fromColumns y1 i j = x2.fromColumns y2 i j) →
    (∀ (i : m) (j : n₁), x1 i j = x2 i j) ∧ ∀ (i : m) (j : n₂), y1 i j = y2 i j
state_after: no goals
Theorem: Finset.image₂_singleton_left
File: Mathlib/Data/Finset/NAry.lean

tactic: simp
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c x : γ
⊢ x ∈ image₂ f {a} t ↔ x ∈ image (fun b => f a b) t
state_after: no goals
Theorem: Set.mulIndicator_eq_one
File: Mathlib/Algebra/Group/Indicator.lean

tactic: simp only [funext_iff, mulIndicator_apply_eq_one, Set.disjoint_left, mem_mulSupport,
  not_imp_not]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
M : Type u_4
N : Type u_5
inst✝¹ : One M
inst✝ : One N
s t : Set α
f g : α → M
a : α
⊢ (s.mulIndicator f = fun x => 1) ↔ Disjoint (mulSupport f) s
state_after: no goals
Theorem: IsCoprime.of_mul_left_left
File: Mathlib/RingTheory/Coprime/Basic.lean

tactic: rwa [mul_right_comm, mul_assoc]
state_before: R : Type u
inst✝ : CommSemiring R
x y z : R
H : IsCoprime (x * y) z
a b : R
h : a * (x * y) + b * z = 1
⊢ a * y * x + b * z = 1
state_after: no goals
Theorem: Valuation.self_le_supp_comap
File: Mathlib/RingTheory/Valuation/Quotient.lean

tactic: rw [comap_supp, ← Ideal.map_le_iff_le_comap]
state_before: R : Type u_1
Γ₀ : Type u_2
inst✝¹ : CommRing R
inst✝ : LinearOrderedCommMonoidWithZero Γ₀
v✝ : Valuation R Γ₀
J : Ideal R
v : Valuation (R ⧸ J) Γ₀
⊢ J ≤ (comap (Ideal.Quotient.mk J) v).supp
state_after: R : Type u_1
Γ₀ : Type u_2
inst✝¹ : CommRing R
inst✝ : LinearOrderedCommMonoidWithZero Γ₀
v✝ : Valuation R Γ₀
J : Ideal R
v : Valuation (R ⧸ J) Γ₀
⊢ Ideal.map (Ideal.Quotient.mk J) J ≤ v.supp

tactic: simp
state_before: R : Type u_1
Γ₀ : Type u_2
inst✝¹ : CommRing R
inst✝ : LinearOrderedCommMonoidWithZero Γ₀
v✝ : Valuation R Γ₀
J : Ideal R
v : Valuation (R ⧸ J) Γ₀
⊢ Ideal.map (Ideal.Quotient.mk J) J ≤ v.supp
state_after: no goals
Theorem: AddChar.sum_mulShift
File: Mathlib/NumberTheory/LegendreSymbol/AddCharacter.lean

tactic: split_ifs with h
state_before: R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : Fintype R
inst✝² : DecidableEq R
R' : Type u_2
inst✝¹ : CommRing R'
inst✝ : IsDomain R'
ψ : AddChar R R'
b : R
hψ : ψ.IsPrimitive
⊢ ∑ x : R, ψ (x * b) = ↑(if b = 0 then Fintype.card R else 0)
state_after: case pos
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : Fintype R
inst✝² : DecidableEq R
R' : Type u_2
inst✝¹ : CommRing R'
inst✝ : IsDomain R'
ψ : AddChar R R'
b : R
hψ : ψ.IsPrimitive
h : b = 0
⊢ ∑ x : R, ψ (x * b) = ↑(Fintype.card R)

case neg
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : Fintype R
inst✝² : DecidableEq R
R' : Type u_2
inst✝¹ : CommRing R'
inst✝ : IsDomain R'
ψ : AddChar R R'
b : R
hψ : ψ.IsPrimitive
h : ¬b = 0
⊢ ∑ x : R, ψ (x * b) = ↑0

tactic: simp only [h, mul_zero, map_zero_eq_one, Finset.sum_const, Nat.smul_one_eq_cast]
state_before: case pos
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : Fintype R
inst✝² : DecidableEq R
R' : Type u_2
inst✝¹ : CommRing R'
inst✝ : IsDomain R'
ψ : AddChar R R'
b : R
hψ : ψ.IsPrimitive
h : b = 0
⊢ ∑ x : R, ψ (x * b) = ↑(Fintype.card R)
state_after: case pos
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : Fintype R
inst✝² : DecidableEq R
R' : Type u_2
inst✝¹ : CommRing R'
inst✝ : IsDomain R'
ψ : AddChar R R'
b : R
hψ : ψ.IsPrimitive
h : b = 0
⊢ ↑Finset.univ.card = ↑(Fintype.card R)

tactic: rfl
state_before: case pos
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : Fintype R
inst✝² : DecidableEq R
R' : Type u_2
inst✝¹ : CommRing R'
inst✝ : IsDomain R'
ψ : AddChar R R'
b : R
hψ : ψ.IsPrimitive
h : b = 0
⊢ ↑Finset.univ.card = ↑(Fintype.card R)
state_after: no goals

tactic: simp_rw [mul_comm]
state_before: case neg
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : Fintype R
inst✝² : DecidableEq R
R' : Type u_2
inst✝¹ : CommRing R'
inst✝ : IsDomain R'
ψ : AddChar R R'
b : R
hψ : ψ.IsPrimitive
h : ¬b = 0
⊢ ∑ x : R, ψ (x * b) = ↑0
state_after: case neg
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : Fintype R
inst✝² : DecidableEq R
R' : Type u_2
inst✝¹ : CommRing R'
inst✝ : IsDomain R'
ψ : AddChar R R'
b : R
hψ : ψ.IsPrimitive
h : ¬b = 0
⊢ ∑ x : R, ψ (b * x) = ↑0

tactic: exact mod_cast sum_eq_zero_of_ne_one (hψ h)
state_before: case neg
R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : Fintype R
inst✝² : DecidableEq R
R' : Type u_2
inst✝¹ : CommRing R'
inst✝ : IsDomain R'
ψ : AddChar R R'
b : R
hψ : ψ.IsPrimitive
h : ¬b = 0
⊢ ∑ x : R, ψ (b * x) = ↑0
state_after: no goals
Theorem: Submodule.finrank_add_finrank_orthogonal'
File: Mathlib/Analysis/InnerProductSpace/Projection.lean

tactic: rw [← add_right_inj (finrank 𝕜 K)]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K✝ : Submodule 𝕜 E
inst✝ : FiniteDimensional 𝕜 E
K : Submodule 𝕜 E
n : ℕ
h_dim : finrank 𝕜 ↥K + n = finrank 𝕜 E
⊢ finrank 𝕜 ↥Kᗮ = n
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K✝ : Submodule 𝕜 E
inst✝ : FiniteDimensional 𝕜 E
K : Submodule 𝕜 E
n : ℕ
h_dim : finrank 𝕜 ↥K + n = finrank 𝕜 E
⊢ finrank 𝕜 ↥K + finrank 𝕜 ↥Kᗮ = finrank 𝕜 ↥K + n

tactic: simp [Submodule.finrank_add_finrank_orthogonal, h_dim]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K✝ : Submodule 𝕜 E
inst✝ : FiniteDimensional 𝕜 E
K : Submodule 𝕜 E
n : ℕ
h_dim : finrank 𝕜 ↥K + n = finrank 𝕜 E
⊢ finrank 𝕜 ↥K + finrank 𝕜 ↥Kᗮ = finrank 𝕜 ↥K + n
state_after: no goals
Theorem: QuotSMulTop.map_surjective
File: Mathlib/RingTheory/QuotSMulTop.lean

tactic: rwa [← LinearMap.coe_comp, map_comp_mkQ, LinearMap.coe_comp]
state_before: R : Type u_2
inst✝⁶ : CommRing R
r : R
M : Type u_1
M' : Type u_3
M'' : Type ?u.125806
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : AddCommGroup M''
inst✝ : Module R M''
f : M →ₗ[R] M'
hf : Surjective ⇑f
H₁ : Surjective (⇑(r • ⊤).mkQ ∘ ⇑f)
⊢ Surjective (⇑((map r) f) ∘ ⇑(r • ⊤).mkQ)
state_after: no goals
Theorem: LinearMap.BilinForm.isSkewAdjoint_iff_neg_self_adjoint
File: Mathlib/LinearAlgebra/BilinearForm/Properties.lean

tactic: simp only [LinearMap.neg_apply, BilinForm.neg_apply, BilinForm.neg_right]
state_before: R : Type u_1
M : Type u_2
inst✝¹⁸ : CommSemiring R
inst✝¹⁷ : AddCommMonoid M
inst✝¹⁶ : Module R M
R₁ : Type u_3
M₁ : Type u_4
inst✝¹⁵ : CommRing R₁
inst✝¹⁴ : AddCommGroup M₁
inst✝¹³ : Module R₁ M₁
V : Type u_5
K : Type u_6
inst✝¹² : Field K
inst✝¹¹ : AddCommGroup V
inst✝¹⁰ : Module K V
M'✝ : Type u_7
M''✝ : Type u_8
inst✝⁹ : AddCommMonoid M'✝
inst✝⁸ : AddCommMonoid M''✝
inst✝⁷ : Module R M'✝
inst✝⁶ : Module R M''✝
B : BilinForm R M
B₁ : BilinForm R₁ M₁
F : BilinForm R M
M' : Type u_9
inst✝⁵ : AddCommMonoid M'
inst✝⁴ : Module R M'
B' : BilinForm R M'
f✝ f' : M →ₗ[R] M'
g g' : M' →ₗ[R] M
M₁' : Type u_10
inst✝³ : AddCommGroup M₁'
inst✝² : Module R₁ M₁'
B₁' : BilinForm R₁ M₁'
f₁ f₁' : M₁ →ₗ[R₁] M₁'
g₁ g₁' : M₁' →ₗ[R₁] M₁
B₂' : BilinForm R M'
f₂ f₂' : M →ₗ[R] M'
g₂ g₂' : M' →ₗ[R] M
M'' : Type u_11
inst✝¹ : AddCommMonoid M''
inst✝ : Module R M''
B'' : BilinForm R M''
B₂ : ?m.316433
F₂ : BilinForm R M
f : Module.End R₁ M₁
⊢ (∀ (x y : M₁), (B₁ (f x)) y = (B₁ x) ((-f) y)) ↔ ∀ (x y : M₁), (B₁ (f x)) y = ((-B₁) x) (f y)
state_after: no goals
Theorem: HahnSeries.order_pow
File: Mathlib/RingTheory/HahnSeries/Multiplication.lean

tactic: induction' n with h IH
state_before: Γ✝ : Type u_1
Γ' : Type u_2
R : Type u_3
inst✝³ : OrderedCancelAddCommMonoid Γ✝
Γ : Type u_4
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
x : HahnSeries Γ R
n : ℕ
⊢ (x ^ n).order = n • x.order
state_after: case zero
Γ✝ : Type u_1
Γ' : Type u_2
R : Type u_3
inst✝³ : OrderedCancelAddCommMonoid Γ✝
Γ : Type u_4
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
x : HahnSeries Γ R
⊢ (x ^ 0).order = 0 • x.order

case succ
Γ✝ : Type u_1
Γ' : Type u_2
R : Type u_3
inst✝³ : OrderedCancelAddCommMonoid Γ✝
Γ : Type u_4
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
x : HahnSeries Γ R
h : ℕ
IH : (x ^ h).order = h • x.order
⊢ (x ^ (h + 1)).order = (h + 1) • x.order

tactic: rcases eq_or_ne x 0 with (rfl | hx)
state_before: case succ
Γ✝ : Type u_1
Γ' : Type u_2
R : Type u_3
inst✝³ : OrderedCancelAddCommMonoid Γ✝
Γ : Type u_4
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
x : HahnSeries Γ R
h : ℕ
IH : (x ^ h).order = h • x.order
⊢ (x ^ (h + 1)).order = (h + 1) • x.order
state_after: case succ.inl
Γ✝ : Type u_1
Γ' : Type u_2
R : Type u_3
inst✝³ : OrderedCancelAddCommMonoid Γ✝
Γ : Type u_4
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
h : ℕ
IH : (0 ^ h).order = h • order 0
⊢ (0 ^ (h + 1)).order = (h + 1) • order 0

case succ.inr
Γ✝ : Type u_1
Γ' : Type u_2
R : Type u_3
inst✝³ : OrderedCancelAddCommMonoid Γ✝
Γ : Type u_4
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
x : HahnSeries Γ R
h : ℕ
IH : (x ^ h).order = h • x.order
hx : x ≠ 0
⊢ (x ^ (h + 1)).order = (h + 1) • x.order

tactic: rw [pow_succ, order_mul (pow_ne_zero _ hx) hx, succ_nsmul, IH]
state_before: case succ.inr
Γ✝ : Type u_1
Γ' : Type u_2
R : Type u_3
inst✝³ : OrderedCancelAddCommMonoid Γ✝
Γ : Type u_4
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
x : HahnSeries Γ R
h : ℕ
IH : (x ^ h).order = h • x.order
hx : x ≠ 0
⊢ (x ^ (h + 1)).order = (h + 1) • x.order
state_after: no goals

tactic: simp
state_before: case zero
Γ✝ : Type u_1
Γ' : Type u_2
R : Type u_3
inst✝³ : OrderedCancelAddCommMonoid Γ✝
Γ : Type u_4
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
x : HahnSeries Γ R
⊢ (x ^ 0).order = 0 • x.order
state_after: no goals

tactic: simp
state_before: case succ.inl
Γ✝ : Type u_1
Γ' : Type u_2
R : Type u_3
inst✝³ : OrderedCancelAddCommMonoid Γ✝
Γ : Type u_4
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Semiring R
inst✝ : NoZeroDivisors R
h : ℕ
IH : (0 ^ h).order = h • order 0
⊢ (0 ^ (h + 1)).order = (h + 1) • order 0
state_after: no goals
Theorem: Equicontinuous.inducing_uniformFun_iff_pi
File: Mathlib/Topology/UniformSpace/Ascoli.lean

tactic: rw [inducing_iff, inducing_iff]
state_before: ι : Type u_1
X : Type u_2
Y : Type u_3
α : Type u_4
β : Type u_5
inst✝⁴ : TopologicalSpace X
inst✝³ : UniformSpace α
inst✝² : UniformSpace β
F : ι → X → α
G : ι → β → α
inst✝¹ : TopologicalSpace ι
inst✝ : CompactSpace X
F_eqcont : Equicontinuous F
⊢ Inducing (⇑UniformFun.ofFun ∘ F) ↔ Inducing F
state_after: ι : Type u_1
X : Type u_2
Y : Type u_3
α : Type u_4
β : Type u_5
inst✝⁴ : TopologicalSpace X
inst✝³ : UniformSpace α
inst✝² : UniformSpace β
F : ι → X → α
G : ι → β → α
inst✝¹ : TopologicalSpace ι
inst✝ : CompactSpace X
F_eqcont : Equicontinuous F
⊢ inst✝¹ = TopologicalSpace.induced (⇑UniformFun.ofFun ∘ F) (UniformFun.topologicalSpace X α) ↔
    inst✝¹ = TopologicalSpace.induced F Pi.topologicalSpace

tactic: change (_ = (UniformFun.uniformSpace X α |>.comap F |>.toTopologicalSpace)) ↔
       (_ = (Pi.uniformSpace _ |>.comap F |>.toTopologicalSpace))
state_before: ι : Type u_1
X : Type u_2
Y : Type u_3
α : Type u_4
β : Type u_5
inst✝⁴ : TopologicalSpace X
inst✝³ : UniformSpace α
inst✝² : UniformSpace β
F : ι → X → α
G : ι → β → α
inst✝¹ : TopologicalSpace ι
inst✝ : CompactSpace X
F_eqcont : Equicontinuous F
⊢ inst✝¹ = TopologicalSpace.induced (⇑UniformFun.ofFun ∘ F) (UniformFun.topologicalSpace X α) ↔
    inst✝¹ = TopologicalSpace.induced F Pi.topologicalSpace
state_after: ι : Type u_1
X : Type u_2
Y : Type u_3
α : Type u_4
β : Type u_5
inst✝⁴ : TopologicalSpace X
inst✝³ : UniformSpace α
inst✝² : UniformSpace β
F : ι → X → α
G : ι → β → α
inst✝¹ : TopologicalSpace ι
inst✝ : CompactSpace X
F_eqcont : Equicontinuous F
⊢ inst✝¹ = UniformSpace.toTopologicalSpace ↔ inst✝¹ = UniformSpace.toTopologicalSpace

tactic: rw [F_eqcont.comap_uniformFun_eq]
state_before: ι : Type u_1
X : Type u_2
Y : Type u_3
α : Type u_4
β : Type u_5
inst✝⁴ : TopologicalSpace X
inst✝³ : UniformSpace α
inst✝² : UniformSpace β
F : ι → X → α
G : ι → β → α
inst✝¹ : TopologicalSpace ι
inst✝ : CompactSpace X
F_eqcont : Equicontinuous F
⊢ inst✝¹ = UniformSpace.toTopologicalSpace ↔ inst✝¹ = UniformSpace.toTopologicalSpace
state_after: no goals
Theorem: OrderEmbedding.preimage_Ioc
File: Mathlib/Order/Interval/Set/OrderEmbedding.lean

tactic: ext
state_before: α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : Preorder β
e : α ↪o β
x y : α
⊢ ⇑e ⁻¹' Ioc (e x) (e y) = Ioc x y
state_after: case h
α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : Preorder β
e : α ↪o β
x y x✝ : α
⊢ x✝ ∈ ⇑e ⁻¹' Ioc (e x) (e y) ↔ x✝ ∈ Ioc x y

tactic: simp
state_before: case h
α : Type u_1
β : Type u_2
inst✝¹ : Preorder α
inst✝ : Preorder β
e : α ↪o β
x y x✝ : α
⊢ x✝ ∈ ⇑e ⁻¹' Ioc (e x) (e y) ↔ x✝ ∈ Ioc x y
state_after: no goals
Theorem: toIcoMod_inj
File: Mathlib/Algebra/Order/ToIntervalMod.lean

tactic: simp_rw [toIcoMod_eq_toIcoMod, modEq_iff_eq_add_zsmul, sub_eq_iff_eq_add']
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a b c✝ : α
n : ℤ
c : α
⊢ toIcoMod hp c a = toIcoMod hp c b ↔ a ≡ b [PMOD p]
state_after: no goals
Theorem: MeasureTheory.OuterMeasure.isCaratheodory_iUnion_lt
File: Mathlib/MeasureTheory/OuterMeasure/Caratheodory.lean

tactic: simp [Nat.not_lt_zero]
state_before: α : Type u
m : OuterMeasure α
s✝ s₁ s₂ : Set α
s : ℕ → Set α
x✝ : ∀ i < 0, m.IsCaratheodory (s i)
⊢ m.IsCaratheodory (⋃ i, ⋃ (_ : i < 0), s i)
state_after: no goals

tactic: rw [biUnion_lt_succ]
state_before: α : Type u
m : OuterMeasure α
s✝ s₁ s₂ : Set α
s : ℕ → Set α
n : ℕ
h : ∀ i < n + 1, m.IsCaratheodory (s i)
⊢ m.IsCaratheodory (⋃ i, ⋃ (_ : i < n + 1), s i)
state_after: α : Type u
m : OuterMeasure α
s✝ s₁ s₂ : Set α
s : ℕ → Set α
n : ℕ
h : ∀ i < n + 1, m.IsCaratheodory (s i)
⊢ m.IsCaratheodory ((⋃ k, ⋃ (_ : k < n), s k) ∪ s n)

tactic: exact isCaratheodory_union m
        (isCaratheodory_iUnion_lt fun i hi => h i <| lt_of_lt_of_le hi <| Nat.le_succ _)
        (h n (le_refl (n + 1)))
state_before: α : Type u
m : OuterMeasure α
s✝ s₁ s₂ : Set α
s : ℕ → Set α
n : ℕ
h : ∀ i < n + 1, m.IsCaratheodory (s i)
⊢ m.IsCaratheodory ((⋃ k, ⋃ (_ : k < n), s k) ∪ s n)
state_after: no goals