tasksource/leandojo huggingface dataset:
Theorem: Polynomial.iterate_comp_eval₂
File: Mathlib/Data/Polynomial/Eval.lean

tactic: induction' k with k IH
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n : ℕ
inst✝¹ : Semiring R
p q : R[X]
x : R
inst✝ : CommSemiring S
f : R →+* S
k : ℕ
t : S
⊢ eval₂ f t ((comp p^[k]) q) = ((fun x => eval₂ f x p)^[k]) (eval₂ f t q)

tactic: simp
state_before: case zero
R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n : ℕ
inst✝¹ : Semiring R
p q : R[X]
x : R
inst✝ : CommSemiring S
f : R →+* S
t : S
⊢ eval₂ f t ((comp p^[Nat.zero]) q) = ((fun x => eval₂ f x p)^[Nat.zero]) (eval₂ f t q)

tactic: rw [Function.iterate_succ_apply', Function.iterate_succ_apply', eval₂_comp, IH]
state_before: case succ
R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n : ℕ
inst✝¹ : Semiring R
p q : R[X]
x : R
inst✝ : CommSemiring S
f : R →+* S
t : S
k : ℕ
IH : eval₂ f t ((comp p^[k]) q) = ((fun x => eval₂ f x p)^[k]) (eval₂ f t q)
⊢ eval₂ f t ((comp p^[Nat.succ k]) q) = ((fun x => eval₂ f x p)^[Nat.succ k]) (eval₂ f t q)
Theorem: isAlgebraic_of_pow
File: Mathlib/RingTheory/Algebraic.lean

tactic: obtain ⟨p, p_nonzero, hp⟩ := ht
state_before: R : Type u
S : Type ?u.226844
A : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Ring A
inst✝³ : Algebra R A
inst✝² : Algebra R S
inst✝¹ : Algebra S A
inst✝ : IsScalarTower R S A
r : A
n : ℕ
hn : 0 < n
ht : IsAlgebraic R (r ^ n)
⊢ IsAlgebraic R r

tactic: refine ⟨Polynomial.expand _ n p, ?_, ?_⟩
state_before: case intro.intro
R : Type u
S : Type ?u.226844
A : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Ring A
inst✝³ : Algebra R A
inst✝² : Algebra R S
inst✝¹ : Algebra S A
inst✝ : IsScalarTower R S A
r : A
n : ℕ
hn : 0 < n
p : R[X]
p_nonzero : p ≠ 0
hp : ↑(aeval (r ^ n)) p = 0
⊢ IsAlgebraic R r

tactic: rwa [Polynomial.expand_ne_zero hn]
state_before: case intro.intro.refine_1
R : Type u
S : Type ?u.226844
A : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Ring A
inst✝³ : Algebra R A
inst✝² : Algebra R S
inst✝¹ : Algebra S A
inst✝ : IsScalarTower R S A
r : A
n : ℕ
hn : 0 < n
p : R[X]
p_nonzero : p ≠ 0
hp : ↑(aeval (r ^ n)) p = 0
⊢ ↑(expand R n) p ≠ 0

tactic: rwa [Polynomial.expand_aeval n p r]
state_before: case intro.intro.refine_2
R : Type u
S : Type ?u.226844
A : Type v
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : Ring A
inst✝³ : Algebra R A
inst✝² : Algebra R S
inst✝¹ : Algebra S A
inst✝ : IsScalarTower R S A
r : A
n : ℕ
hn : 0 < n
p : R[X]
p_nonzero : p ≠ 0
hp : ↑(aeval (r ^ n)) p = 0
⊢ ↑(aeval r) (↑(expand R n) p) = 0
Theorem: ite_inter_closure_compl_eq_of_inter_frontier_eq
File: Mathlib/Topology/ContinuousOn.lean

tactic: rw [← ite_compl, ite_inter_closure_eq_of_inter_frontier_eq]
state_before: α : Type u_1
β : Type ?u.398706
γ : Type ?u.398709
δ : Type ?u.398712
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
s s' t : Set α
ht : s ∩ frontier t = s' ∩ frontier t
⊢ Set.ite t s s' ∩ closure (tᶜ) = s' ∩ closure (tᶜ)

tactic: rwa [frontier_compl, eq_comm]
state_before: α : Type u_1
β : Type ?u.398706
γ : Type ?u.398709
δ : Type ?u.398712
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
s s' t : Set α
ht : s ∩ frontier t = s' ∩ frontier t
⊢ s' ∩ frontier (tᶜ) = s ∩ frontier (tᶜ)
Theorem: MeasureTheory.piPremeasure_pi_eval
File: Mathlib/MeasureTheory/Constructions/Pi.lean

tactic: simp [piPremeasure_pi']
state_before: ι : Type u_1
ι' : Type ?u.1733303
α : ι → Type u_2
inst✝ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
s : Set ((i : ι) → α i)
⊢ piPremeasure m (Set.pi univ fun i => eval i '' s) = piPremeasure m s

tactic: rfl
state_before: ι : Type u_1
ι' : Type ?u.1733303
α : ι → Type u_2
inst✝ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
s : Set ((i : ι) → α i)
⊢ ∏ i : ι, ↑(m i) ((fun a => a i) '' s) = piPremeasure m s
Theorem: integral_pow
File: Mathlib/Analysis/SpecialFunctions/Integrals.lean

tactic: simpa only [← Int.ofNat_succ, zpow_ofNat] using integral_zpow (Or.inl (Int.coe_nat_nonneg n))
state_before: a b : ℝ
n : ℕ
⊢ (∫ (x : ℝ) in a..b, x ^ n) = (b ^ (n + 1) - a ^ (n + 1)) / (↑n + 1)
Theorem: RatFunc.ofFractionRing_inv
File: Mathlib/FieldTheory/RatFunc.lean

tactic: simp only [Inv.inv, RatFunc.inv]
state_before: K : Type u
inst✝¹ : CommRing K
inst✝ : IsDomain K
p : FractionRing K[X]
⊢ { toFractionRing := p⁻¹ } = { toFractionRing := p }⁻¹
Theorem: Cardinal.mk_compl_of_infinite
File: Mathlib/SetTheory/Cardinal/Ordinal.lean

tactic: refine' eq_of_add_eq_of_aleph0_le _ h2 (aleph0_le_mk α)
state_before: α : Type u_1
inst✝ : Infinite α
s : Set α
h2 : (#↑s) < (#α)
⊢ (#↑(sᶜ)) = (#α)

tactic: exact mk_sum_compl s
state_before: α : Type u_1
inst✝ : Infinite α
s : Set α
h2 : (#↑s) < (#α)
⊢ (#↑s) + (#↑(sᶜ)) = (#α)
Theorem: IsIntegral.algebraMap
File: Mathlib/RingTheory/IntegralClosure.lean

tactic: rcases h with ⟨f, hf, hx⟩
state_before: R : Type u_3
A : Type u_1
B : Type u_2
S : Type ?u.210572
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : CommRing B
inst✝⁴ : CommRing S
inst✝³ : Algebra R A
inst✝² : Algebra R B
f : R →+* S
inst✝¹ : Algebra A B
inst✝ : IsScalarTower R A B
x : A
h : IsIntegral R x
⊢ IsIntegral R (↑(_root_.algebraMap A B) x)

tactic: use f, hf
state_before: case intro.intro
R : Type u_3
A : Type u_1
B : Type u_2
S : Type ?u.210572
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : CommRing B
inst✝⁴ : CommRing S
inst✝³ : Algebra R A
inst✝² : Algebra R B
f✝ : R →+* S
inst✝¹ : Algebra A B
inst✝ : IsScalarTower R A B
x : A
f : R[X]
hf : Monic f
hx : eval₂ (_root_.algebraMap R A) x f = 0
⊢ IsIntegral R (↑(_root_.algebraMap A B) x)

tactic: rw [IsScalarTower.algebraMap_eq R A B, ← hom_eval₂, hx, RingHom.map_zero]
state_before: case intro.intro
R : Type u_3
A : Type u_1
B : Type u_2
S : Type ?u.210572
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : CommRing B
inst✝⁴ : CommRing S
inst✝³ : Algebra R A
inst✝² : Algebra R B
f✝ : R →+* S
inst✝¹ : Algebra A B
inst✝ : IsScalarTower R A B
x : A
f : R[X]
hf : Monic f
hx : eval₂ (_root_.algebraMap R A) x f = 0
⊢ eval₂ (_root_.algebraMap R ((fun x => B) x)) (↑(_root_.algebraMap A B) x) f = 0
Theorem: wbtw_iff_right_eq_or_left_mem_image_Ici
File: Mathlib/Analysis/Convex/Between.lean

tactic: rw [wbtw_comm, wbtw_iff_left_eq_or_right_mem_image_Ici]
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.504435
P : Type u_3
P' : Type ?u.504441
inst✝³ : LinearOrderedField R
inst✝² : AddCommGroup V
inst✝¹ : Module R V
inst✝ : AddTorsor V P
x y z : P
⊢ Wbtw R x y z ↔ z = y ∨ x ∈ ↑(lineMap z y) '' Set.Ici 1
Theorem: ProbabilityTheory.kernel.ext_iff'
File: Mathlib/Probability/Kernel/Basic.lean

tactic: simp_rw [ext_iff, Measure.ext_iff]
state_before: α : Type u_1
β : Type u_2
ι : Type ?u.361579
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ η : { x // x ∈ kernel α β }
⊢ κ = η ↔ ∀ (a : α) (s : Set β), MeasurableSet s → ↑↑(↑κ a) s = ↑↑(↑η a) s
Theorem: Matrix.smul_cons
File: Mathlib/Data/Fin/VecNotation.lean

tactic: ext i
state_before: α : Type u
m n o : ℕ
m' : Type ?u.54537
n' : Type ?u.54540
o' : Type ?u.54543
M : Type u_1
inst✝ : SMul M α
x : M
y : α
v : Fin n → α
⊢ x • vecCons y v = vecCons (x • y) (x • v)

tactic: refine' Fin.cases _ _ i <;> simp
state_before: case h
α : Type u
m n o : ℕ
m' : Type ?u.54537
n' : Type ?u.54540
o' : Type ?u.54543
M : Type u_1
inst✝ : SMul M α
x : M
y : α
v : Fin n → α
i : Fin (Nat.succ n)
⊢ (x • vecCons y v) i = vecCons (x • y) (x • v) i
Theorem: Int.map_ceil
File: Mathlib/Algebra/Order/Floor.lean

tactic: rw [← map_intCast f, hf.le_iff_le]
state_before: F : Type u_3
α : Type u_1
β : Type u_2
inst✝⁴ : LinearOrderedRing α
inst✝³ : LinearOrderedRing β
inst✝² : FloorRing α
inst✝¹ : FloorRing β
inst✝ : RingHomClass F α β
a✝ : α
b : β
f : F
hf : StrictMono ↑f
a : α
n : ℤ
⊢ ↑f a ≤ ↑n ↔ a ≤ ↑n
Theorem: Set.Iio_subset_Iio_iff
File: Mathlib/Data/Set/Intervals/Basic.lean

tactic: refine' ⟨fun h => _, fun h => Iio_subset_Iio h⟩
state_before: α : Type u_1
β : Type ?u.73808
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d : α
⊢ Iio a ⊆ Iio b ↔ a ≤ b

tactic: by_contra ab
state_before: α : Type u_1
β : Type ?u.73808
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d : α
h : Iio a ⊆ Iio b
⊢ a ≤ b

tactic: exact lt_irrefl _ (h (not_le.mp ab))
state_before: α : Type u_1
β : Type ?u.73808
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d : α
h : Iio a ⊆ Iio b
ab : ¬a ≤ b
⊢ False
Theorem: Complex.cos_mul_I
File: Mathlib/Data/Complex/Exponential.lean

tactic: rw [← cosh_mul_I]
state_before: x y : ℂ
⊢ cos (x * I) = cosh x

tactic: ring_nf
state_before: x y : ℂ
⊢ cosh (x * I * I) = cosh x

tactic: simp
state_before: x y : ℂ
⊢ cosh (x * I ^ 2) = cosh x
Theorem: vsub_midpoint
File: Mathlib/LinearAlgebra/AffineSpace/Midpoint.lean

tactic: rw [← neg_vsub_eq_vsub_rev, midpoint_vsub, neg_add, ← smul_neg, ← smul_neg, neg_vsub_eq_vsub_rev,
  neg_vsub_eq_vsub_rev]
state_before: R : Type u_3
V : Type u_1
V' : Type ?u.65321
P : Type u_2
P' : Type ?u.65327
inst✝⁷ : Ring R
inst✝⁶ : Invertible 2
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
x y z p₁ p₂ p : P
⊢ p -ᵥ midpoint R p₁ p₂ = ⅟2 • (p -ᵥ p₁) + ⅟2 • (p -ᵥ p₂)
Theorem: Finsupp.le_iff'
File: Mathlib/Data/Finsupp/Order.lean

tactic: classical exact
    if H : s ∈ f.support then h s (hf H) else (not_mem_support_iff.1 H).symm ▸ zero_le (g s)
state_before: ι : Type u_1
α : Type u_2
inst✝ : CanonicallyOrderedAddMonoid α
f g : ι →₀ α
s✝ : Finset ι
hf : f.support ⊆ s✝
h : ∀ (i : ι), i ∈ s✝ → ↑f i ≤ ↑g i
s : ι
⊢ ↑f s ≤ ↑g s

tactic: exact
if H : s ∈ f.support then h s (hf H) else (not_mem_support_iff.1 H).symm ▸ zero_le (g s)
state_before: ι : Type u_1
α : Type u_2
inst✝ : CanonicallyOrderedAddMonoid α
f g : ι →₀ α
s✝ : Finset ι
hf : f.support ⊆ s✝
h : ∀ (i : ι), i ∈ s✝ → ↑f i ≤ ↑g i
s : ι
⊢ ↑f s ≤ ↑g s
Theorem: Ordinal.isNormal_iff_lt_succ_and_blsub_eq
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: rw [isNormal_iff_lt_succ_and_bsup_eq.{u, v}, and_congr_right_iff]
state_before: α : Type ?u.366887
β : Type ?u.366890
γ : Type ?u.366893
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
f : Ordinal → Ordinal
⊢ IsNormal f ↔ (∀ (a : Ordinal), f a < f (succ a)) ∧ ∀ (o : Ordinal), IsLimit o → (blsub o fun x x_1 => f x) = f o

tactic: intro h
state_before: α : Type ?u.366887
β : Type ?u.366890
γ : Type ?u.366893
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
f : Ordinal → Ordinal
⊢ (∀ (a : Ordinal), f a < f (succ a)) →
    ((∀ (o : Ordinal), IsLimit o → (bsup o fun x x_1 => f x) = f o) ↔
      ∀ (o : Ordinal), IsLimit o → (blsub o fun x x_1 => f x) = f o)

tactic: constructor <;> intro H o ho <;> have := H o ho <;>
  rwa [← bsup_eq_blsub_of_lt_succ_limit ho fun a _ => h a] at *
state_before: α : Type ?u.366887
β : Type ?u.366890
γ : Type ?u.366893
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
f : Ordinal → Ordinal
h : ∀ (a : Ordinal), f a < f (succ a)
⊢ (∀ (o : Ordinal), IsLimit o → (bsup o fun x x_1 => f x) = f o) ↔
    ∀ (o : Ordinal), IsLimit o → (blsub o fun x x_1 => f x) = f o
Theorem: sup_himp_distrib
File: Mathlib/Order/Heyting/Basic.lean

tactic: rw [le_inf_iff, le_himp_comm, sup_le_iff]
state_before: ι : Type ?u.71182
α : Type u_1
β : Type ?u.71188
inst✝ : GeneralizedHeytingAlgebra α
a✝ b✝ c✝ d✝ a b c d : α
⊢ d ≤ a ⊔ b ⇨ c ↔ d ≤ (a ⇨ c) ⊓ (b ⇨ c)

tactic: simp_rw [le_himp_comm]
state_before: ι : Type ?u.71182
α : Type u_1
β : Type ?u.71188
inst✝ : GeneralizedHeytingAlgebra α
a✝ b✝ c✝ d✝ a b c d : α
⊢ a ≤ d ⇨ c ∧ b ≤ d ⇨ c ↔ d ≤ a ⇨ c ∧ d ≤ b ⇨ c
Theorem: EuclideanDomain.mod_zero
File: Mathlib/Algebra/EuclideanDomain/Defs.lean

tactic: simpa only [zero_mul, zero_add] using div_add_mod a 0
state_before: R : Type u
inst✝ : EuclideanDomain R
a : R
⊢ a % 0 = a
Theorem: Relation.cutExpand_singleton_singleton
File: Mathlib/Logic/Hydra.lean

tactic: rwa [mem_singleton.1 h]
state_before: α : Type u_1
r : α → α → Prop
x' x : α
h✝ : r x' x
a : α
h : a ∈ {x'}
⊢ r a x
Theorem: ZMod.frobenius_zmod
File: Mathlib/FieldTheory/Finite/Basic.lean

tactic: ext a
state_before: K : Type ?u.1003397
R : Type ?u.1003400
p : ℕ
inst✝ : Fact (Nat.Prime p)
⊢ frobenius (ZMod p) p = RingHom.id (ZMod p)

tactic: rw [frobenius_def, ZMod.pow_card, RingHom.id_apply]
state_before: case a
K : Type ?u.1003397
R : Type ?u.1003400
p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ZMod p
⊢ ↑(frobenius (ZMod p) p) a = ↑(RingHom.id (ZMod p)) a
Theorem: Pell.isPell_nat
File: Mathlib/NumberTheory/PellMatiyasevic.lean

tactic: rw [Int.ofNat_sub (Int.le_of_ofNat_le_ofNat <| Int.le.intro_sub _ h)]
state_before: a : ℕ
a1 : 1 < a
x y : ℕ
h : IsPell { re := ↑x, im := ↑y }
⊢ ↑(x * x - Pell.d a1 * y * y) = ↑1

tactic: exact h
state_before: a : ℕ
a1 : 1 < a
x y : ℕ
h : IsPell { re := ↑x, im := ↑y }
⊢ ↑(x * x) - ↑(Pell.d a1 * y * y) = ↑1

tactic: rw [← Int.ofNat_sub <| le_of_lt <| Nat.lt_of_sub_eq_succ h, h]
state_before: a : ℕ
a1 : 1 < a
x y : ℕ
h : x * x - Pell.d a1 * y * y = 1
⊢ ↑(x * x) - ↑(Pell.d a1 * y * y) = 1

tactic: rfl
state_before: a : ℕ
a1 : 1 < a
x y : ℕ
h : x * x - Pell.d a1 * y * y = 1
⊢ ↑1 = 1
Theorem: norm_sub_le_of_geometric_bound_of_hasSum
File: Mathlib/Analysis/SpecificLimits/Normed.lean

tactic: rw [← dist_eq_norm]
state_before: α : Type u_1
β : Type ?u.749948
ι : Type ?u.749951
inst✝ : SeminormedAddCommGroup α
r C : ℝ
f : ℕ → α
hr : r < 1
hf : ∀ (n : ℕ), ‖f n‖ ≤ C * r ^ n
a : α
ha : HasSum f a
n : ℕ
⊢ ‖∑ x in Finset.range n, f x - a‖ ≤ C * r ^ n / (1 - r)

tactic: apply dist_le_of_le_geometric_of_tendsto r C hr (dist_partial_sum_le_of_le_geometric hf)
state_before: α : Type u_1
β : Type ?u.749948
ι : Type ?u.749951
inst✝ : SeminormedAddCommGroup α
r C : ℝ
f : ℕ → α
hr : r < 1
hf : ∀ (n : ℕ), ‖f n‖ ≤ C * r ^ n
a : α
ha : HasSum f a
n : ℕ
⊢ dist (∑ x in Finset.range n, f x) a ≤ C * r ^ n / (1 - r)

tactic: exact ha.tendsto_sum_nat
state_before: case ha
α : Type u_1
β : Type ?u.749948
ι : Type ?u.749951
inst✝ : SeminormedAddCommGroup α
r C : ℝ
f : ℕ → α
hr : r < 1
hf : ∀ (n : ℕ), ‖f n‖ ≤ C * r ^ n
a : α
ha : HasSum f a
n : ℕ
⊢ Tendsto (fun n => ∑ i in Finset.range n, f i) atTop (𝓝 a)
Theorem: inf_sSup_eq_iSup_inf_sup_finset
File: Mathlib/Order/CompactlyGenerated.lean

tactic: rw [le_iff_compact_le_imp]
state_before: ι : Sort ?u.103797
α : Type u_1
inst✝² : CompleteLattice α
f : ι → α
inst✝¹ : CompleteLattice α
inst✝ : IsCompactlyGenerated α
a b : α
s : Set α
⊢ a ⊓ sSup s ≤ ⨆ (t : Finset α) (_ : ↑t ⊆ s), a ⊓ Finset.sup t id

tactic: intro c hc hcinf
state_before: ι : Sort ?u.103797
α : Type u_1
inst✝² : CompleteLattice α
f : ι → α
inst✝¹ : CompleteLattice α
inst✝ : IsCompactlyGenerated α
a b : α
s : Set α
⊢ ∀ (c : α),
    CompleteLattice.IsCompactElement c → c ≤ a ⊓ sSup s → c ≤ ⨆ (t : Finset α) (_ : ↑t ⊆ s), a ⊓ Finset.sup t id

tactic: rw [le_inf_iff] at hcinf
state_before: ι : Sort ?u.103797
α : Type u_1
inst✝² : CompleteLattice α
f : ι → α
inst✝¹ : CompleteLattice α
inst✝ : IsCompactlyGenerated α
a b : α
s : Set α
c : α
hc : CompleteLattice.IsCompactElement c
hcinf : c ≤ a ⊓ sSup s
⊢ c ≤ ⨆ (t : Finset α) (_ : ↑t ⊆ s), a ⊓ Finset.sup t id

tactic: rcases hc s hcinf.2 with ⟨t, ht1, ht2⟩
state_before: ι : Sort ?u.103797
α : Type u_1
inst✝² : CompleteLattice α
f : ι → α
inst✝¹ : CompleteLattice α
inst✝ : IsCompactlyGenerated α
a b : α
s : Set α
c : α
hc : CompleteLattice.IsCompactElement c
hcinf : c ≤ a ∧ c ≤ sSup s
⊢ c ≤ ⨆ (t : Finset α) (_ : ↑t ⊆ s), a ⊓ Finset.sup t id

tactic: refine' (le_inf hcinf.1 ht2).trans (le_trans _ (le_iSup₂ t ht1))
state_before: case intro.intro
ι : Sort ?u.103797
α : Type u_1
inst✝² : CompleteLattice α
f : ι → α
inst✝¹ : CompleteLattice α
inst✝ : IsCompactlyGenerated α
a b : α
s : Set α
c : α
hc : CompleteLattice.IsCompactElement c
hcinf : c ≤ a ∧ c ≤ sSup s
t : Finset α
ht1 : ↑t ⊆ s
ht2 : c ≤ Finset.sup t id
⊢ c ≤ ⨆ (t : Finset α) (_ : ↑t ⊆ s), a ⊓ Finset.sup t id

tactic: rfl
state_before: case intro.intro
ι : Sort ?u.103797
α : Type u_1
inst✝² : CompleteLattice α
f : ι → α
inst✝¹ : CompleteLattice α
inst✝ : IsCompactlyGenerated α
a b : α
s : Set α
c : α
hc : CompleteLattice.IsCompactElement c
hcinf : c ≤ a ∧ c ≤ sSup s
t : Finset α
ht1 : ↑t ⊆ s
ht2 : c ≤ Finset.sup t id
⊢ a ⊓ Finset.sup t id ≤ a ⊓ Finset.sup t id
Theorem: BoundedContinuousFunction.integral_eq_integral_nnrealPart_sub
File: Mathlib/MeasureTheory/Measure/FiniteMeasure.lean

tactic: simp only [f.self_eq_nnrealPart_sub_nnrealPart_neg, Pi.sub_apply, integral_sub,
  integrable_of_boundedContinuous_to_nnreal]
state_before: Ω : Type u_1
inst✝³ : MeasurableSpace Ω
inst✝² : TopologicalSpace Ω
inst✝¹ : OpensMeasurableSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ
⊢ (∫ (ω : Ω), ↑f ω ∂μ) = (∫ (ω : Ω), ↑(↑(nnrealPart f) ω) ∂μ) - ∫ (ω : Ω), ↑(↑(nnrealPart (-f)) ω) ∂μ

tactic: rfl
state_before: Ω : Type u_1
inst✝³ : MeasurableSpace Ω
inst✝² : TopologicalSpace Ω
inst✝¹ : OpensMeasurableSpace Ω
μ : Measure Ω
inst✝ : IsFiniteMeasure μ
f : Ω →ᵇ ℝ
⊢ ((∫ (a : Ω), (NNReal.toReal ∘ ↑(nnrealPart f)) a ∂μ) - ∫ (a : Ω), (NNReal.toReal ∘ ↑(nnrealPart (-f))) a ∂μ) =
    (∫ (ω : Ω), ↑(↑(nnrealPart f) ω) ∂μ) - ∫ (ω : Ω), ↑(↑(nnrealPart (-f)) ω) ∂μ
Theorem: WithSeminorms.hasBasis
File: Mathlib/Analysis/LocallyConvex/WithSeminorms.lean

tactic: rw [congr_fun (congr_arg (@nhds E) hp.1) 0]
state_before: 𝕜 : Type u_1
𝕜₂ : Type ?u.182411
𝕝 : Type ?u.182414
𝕝₂ : Type ?u.182417
E : Type u_2
F : Type ?u.182423
G : Type ?u.182426
ι : Type u_3
ι' : Type ?u.182432
inst✝⁴ : NormedField 𝕜
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : Nonempty ι
inst✝ : TopologicalSpace E
p : SeminormFamily 𝕜 E ι
hp : WithSeminorms p
⊢ Filter.HasBasis (𝓝 0) (fun s => s ∈ SeminormFamily.basisSets p) id

tactic: exact AddGroupFilterBasis.nhds_zero_hasBasis _
state_before: 𝕜 : Type u_1
𝕜₂ : Type ?u.182411
𝕝 : Type ?u.182414
𝕝₂ : Type ?u.182417
E : Type u_2
F : Type ?u.182423
G : Type ?u.182426
ι : Type u_3
ι' : Type ?u.182432
inst✝⁴ : NormedField 𝕜
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : Nonempty ι
inst✝ : TopologicalSpace E
p : SeminormFamily 𝕜 E ι
hp : WithSeminorms p
⊢ Filter.HasBasis (𝓝 0) (fun s => s ∈ SeminormFamily.basisSets p) id
Theorem: Orientation.measure_orthonormalBasis
File: Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean

tactic: have e : ι ≃ Fin n := by
  refine' Fintype.equivFinOfCardEq _
  rw [← _i.out, finrank_eq_card_basis b.toBasis]
state_before: ι : Type u_2
F : Type u_1
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
m n : ℕ
_i : Fact (finrank ℝ F = n)
o : Orientation ℝ F (Fin n)
b : OrthonormalBasis ι ℝ F
⊢ ↑↑(AlternatingMap.measure (volumeForm o)) (parallelepiped ↑b) = 1

tactic: have A : ⇑b = b.reindex e ∘ e := by
  ext x
  simp only [OrthonormalBasis.coe_reindex, Function.comp_apply, Equiv.symm_apply_apply]
state_before: ι : Type u_2
F : Type u_1
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
m n : ℕ
_i : Fact (finrank ℝ F = n)
o : Orientation ℝ F (Fin n)
b : OrthonormalBasis ι ℝ F
e : ι ≃ Fin n
⊢ ↑↑(AlternatingMap.measure (volumeForm o)) (parallelepiped ↑b) = 1

tactic: rw [A, parallelepiped_comp_equiv, AlternatingMap.measure_parallelepiped,
  o.abs_volumeForm_apply_of_orthonormal, ENNReal.ofReal_one]
state_before: ι : Type u_2
F : Type u_1
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
m n : ℕ
_i : Fact (finrank ℝ F = n)
o : Orientation ℝ F (Fin n)
b : OrthonormalBasis ι ℝ F
e : ι ≃ Fin n
A : ↑b = ↑(OrthonormalBasis.reindex b e) ∘ ↑e
⊢ ↑↑(AlternatingMap.measure (volumeForm o)) (parallelepiped ↑b) = 1

tactic: refine' Fintype.equivFinOfCardEq _
state_before: ι : Type u_2
F : Type u_1
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
m n : ℕ
_i : Fact (finrank ℝ F = n)
o : Orientation ℝ F (Fin n)
b : OrthonormalBasis ι ℝ F
⊢ ι ≃ Fin n

tactic: rw [← _i.out, finrank_eq_card_basis b.toBasis]
state_before: ι : Type u_2
F : Type u_1
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
m n : ℕ
_i : Fact (finrank ℝ F = n)
o : Orientation ℝ F (Fin n)
b : OrthonormalBasis ι ℝ F
⊢ Fintype.card ι = n

tactic: ext x
state_before: ι : Type u_2
F : Type u_1
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
m n : ℕ
_i : Fact (finrank ℝ F = n)
o : Orientation ℝ F (Fin n)
b : OrthonormalBasis ι ℝ F
e : ι ≃ Fin n
⊢ ↑b = ↑(OrthonormalBasis.reindex b e) ∘ ↑e

tactic: simp only [OrthonormalBasis.coe_reindex, Function.comp_apply, Equiv.symm_apply_apply]
state_before: case h
ι : Type u_2
F : Type u_1
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
m n : ℕ
_i : Fact (finrank ℝ F = n)
o : Orientation ℝ F (Fin n)
b : OrthonormalBasis ι ℝ F
e : ι ≃ Fin n
x : ι
⊢ ↑b x = (↑(OrthonormalBasis.reindex b e) ∘ ↑e) x
Theorem: IsPrimitiveRoot.iff
File: Mathlib/RingTheory/RootsOfUnity/Basic.lean

tactic: refine' ⟨fun h => ⟨h.pow_eq_one, fun l hl' hl => _⟩,
  fun ⟨hζ, hl⟩ => IsPrimitiveRoot.mk_of_lt ζ hk hζ hl⟩
state_before: M : Type u_1
N : Type ?u.2067990
G : Type ?u.2067993
R : Type ?u.2067996
S : Type ?u.2067999
F : Type ?u.2068002
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : M
f : F
h : IsPrimitiveRoot ζ k
hk : 0 < k
⊢ IsPrimitiveRoot ζ k ↔ ζ ^ k = 1 ∧ ∀ (l : ℕ), 0 < l → l < k → ζ ^ l ≠ 1

tactic: rw [h.eq_orderOf] at hl
state_before: M : Type u_1
N : Type ?u.2067990
G : Type ?u.2067993
R : Type ?u.2067996
S : Type ?u.2067999
F : Type ?u.2068002
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l✝ : ℕ
ζ : M
f : F
h✝ : IsPrimitiveRoot ζ k
hk : 0 < k
h : IsPrimitiveRoot ζ k
l : ℕ
hl' : 0 < l
hl : l < k
⊢ ζ ^ l ≠ 1

tactic: exact pow_ne_one_of_lt_orderOf' hl'.ne' hl
state_before: M : Type u_1
N : Type ?u.2067990
G : Type ?u.2067993
R : Type ?u.2067996
S : Type ?u.2067999
F : Type ?u.2068002
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l✝ : ℕ
ζ : M
f : F
h✝ : IsPrimitiveRoot ζ k
hk : 0 < k
h : IsPrimitiveRoot ζ k
l : ℕ
hl' : 0 < l
hl : l < orderOf ζ
⊢ ζ ^ l ≠ 1
Theorem: Equiv.equivCongr_symm
File: Mathlib/Logic/Equiv/Defs.lean

tactic: ext
state_before: α : Sort u
β : Sort v
γ : Sort w
δ : Sort u_1
ab : α ≃ β
cd : γ ≃ δ
⊢ (equivCongr ab cd).symm = equivCongr ab.symm cd.symm

tactic: rfl
state_before: case H.H
α : Sort u
β : Sort v
γ : Sort w
δ : Sort u_1
ab : α ≃ β
cd : γ ≃ δ
x✝¹ : β ≃ δ
x✝ : α
⊢ ↑(↑(equivCongr ab cd).symm x✝¹) x✝ = ↑(↑(equivCongr ab.symm cd.symm) x✝¹) x✝
Theorem: Ordinal.sub_self
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: simpa only [add_zero] using add_sub_cancel a 0
state_before: α : Type ?u.131882
β : Type ?u.131885
γ : Type ?u.131888
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
a : Ordinal
⊢ a - a = 0
Theorem: Matrix.det_mul_comm
File: Mathlib/LinearAlgebra/Matrix/Determinant.lean

tactic: rw [det_mul, det_mul, mul_comm]
state_before: m : Type u_1
n : Type ?u.897636
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
R : Type v
inst✝ : CommRing R
M N : Matrix m m R
⊢ det (M ⬝ N) = det (N ⬝ M)
Theorem: Zsqrtd.coe_int_re
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

tactic: cases n <;> rfl
state_before: d n : ℤ
⊢ (↑n).re = n
Theorem: Polynomial.natDegree_le_iff_coeff_eq_zero
File: Mathlib/Data/Polynomial/Degree/Lemmas.lean

tactic: simp_rw [natDegree_le_iff_degree_le, degree_le_iff_coeff_zero, Nat.cast_withBot,
  WithBot.coe_lt_coe]
state_before: R : Type u
S : Type v
ι : Type w
a b : R
m n : ℕ
inst✝ : Semiring R
p q r : R[X]
⊢ natDegree p ≤ n ↔ ∀ (N : ℕ), n < N → coeff p N = 0