ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- IsPrimitiveRoot.sub_one_norm_isPrimePow
theorem sub_one_norm_isPrimePow (hn : IsPrimePow (n : ℕ)) [IsCyclotomicExtension {n} K L]
    (hirr : Irreducible (cyclotomic (n : ℕ) K)) (h : n ≠ 2) : norm K (ζ - 1) = (n : ℕ).minFac 
Arguments: {n : ℕ+} {K : Type u} {L : Type v} [Field L] {ζ : L} (hζ : IsPrimitiveRoot ζ ↑n) [Field K] [Algebra K L] (hn : IsPrimePow ↑n) [IsCyclotomicExtension {n} K L] (hirr : Irreducible (Polynomial.cyclotomic (↑n) K)) (h : n ≠ 2)
Goal: (Algebra.norm K) (ζ - 1) = ↑(↑n).minFac
-- IsPrimitiveRoot.minpoly_sub_one_eq_cyclotomic_comp
theorem minpoly_sub_one_eq_cyclotomic_comp [Algebra K A] [IsDomain A] {ζ : A}
    [IsCyclotomicExtension {n} K A] (hζ : IsPrimitiveRoot ζ n)
    (h : Irreducible (Polynomial.cyclotomic n K)) :
    minpoly K (ζ - 1) = (cyclotomic n K).comp (X + 1) 
Arguments: {n : ℕ+} {A : Type w} {K : Type u} [CommRing A] [Field K] [Algebra K A] [IsDomain A] {ζ : A} [IsCyclotomicExtension {n} K A] (hζ : IsPrimitiveRoot ζ ↑n) (h : Irreducible (Polynomial.cyclotomic (↑n) K))
Goal: minpoly K (ζ - 1) = (Polynomial.cyclotomic (↑n) K).comp (Polynomial.X + 1)
-- IsPrimitiveRoot.norm_pow_sub_one_of_prime_pow_ne_two
theorem norm_pow_sub_one_of_prime_pow_ne_two {k s : ℕ} (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1)))
    [hpri : Fact (p : ℕ).Prime] [IsCyclotomicExtension {p ^ (k + 1)} K L]
    (hirr : Irreducible (cyclotomic (↑(p ^ (k + 1)) : ℕ) K)) (hs : s ≤ k)
    (htwo : p ^ (k - s + 1) ≠ 2) : norm K (ζ ^ (p : ℕ) ^ s - 1) = (p : K) ^ (p : ℕ) ^ s 
Arguments: {p : ℕ+} {K : Type u} {L : Type v} [Field L] {ζ : L} [Field K] [Algebra K L] {k s : ℕ} (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1))) [hpri : Fact (Nat.Prime ↑p)] [IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (↑(p ^ (k + 1))) K)) (hs : s ≤ k) (htwo : p ^ (k - s + 1) ≠ 2)
Goal: (Algebra.norm K) (ζ ^ ↑p ^ s - 1) = ↑↑p ^ ↑p ^ s
-- IsPrimitiveRoot.norm_pow_sub_one_of_prime_ne_two
theorem norm_pow_sub_one_of_prime_ne_two {k : ℕ} (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1)))
    [hpri : Fact (p : ℕ).Prime] [IsCyclotomicExtension {p ^ (k + 1)} K L]
    (hirr : Irreducible (cyclotomic (↑(p ^ (k + 1)) : ℕ) K)) {s : ℕ} (hs : s ≤ k) (hodd : p ≠ 2) :
    norm K (ζ ^ (p : ℕ) ^ s - 1) = (p : K) ^ (p : ℕ) ^ s 
Arguments: {p : ℕ+} {K : Type u} {L : Type v} [Field L] {ζ : L} [Field K] [Algebra K L] {k : ℕ} (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1))) [hpri : Fact (Nat.Prime ↑p)] [IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (↑(p ^ (k + 1))) K)) {s : ℕ} (hs : s ≤ k) (hodd : p ≠ 2)
Goal: (Algebra.norm K) (ζ ^ ↑p ^ s - 1) = ↑↑p ^ ↑p ^ s
-- IsPrimitiveRoot.norm_sub_one_of_prime_ne_two
theorem norm_sub_one_of_prime_ne_two {k : ℕ} (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1)))
    [hpri : Fact (p : ℕ).Prime] [IsCyclotomicExtension {p ^ (k + 1)} K L]
    (hirr : Irreducible (cyclotomic (↑(p ^ (k + 1)) : ℕ) K)) (h : p ≠ 2) : norm K (ζ - 1) = p 
Arguments: {p : ℕ+} {K : Type u} {L : Type v} [Field L] {ζ : L} [Field K] [Algebra K L] {k : ℕ} (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1))) [hpri : Fact (Nat.Prime ↑p)] [IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (↑(p ^ (k + 1))) K)) (h : p ≠ 2)
Goal: (Algebra.norm K) (ζ - 1) = ↑↑p
-- IsPrimitiveRoot.norm_sub_one_of_prime_ne_two'
theorem norm_sub_one_of_prime_ne_two' [hpri : Fact (p : ℕ).Prime]
    [hcyc : IsCyclotomicExtension {p} K L] (hζ : IsPrimitiveRoot ζ p)
    (hirr : Irreducible (cyclotomic p K)) (h : p ≠ 2) : norm K (ζ - 1) = p 
Arguments: {p : ℕ+} {K : Type u} {L : Type v} [Field L] {ζ : L} [Field K] [Algebra K L] [hpri : Fact (Nat.Prime ↑p)] [hcyc : IsCyclotomicExtension {p} K L] (hζ : IsPrimitiveRoot ζ ↑p) (hirr : Irreducible (Polynomial.cyclotomic (↑p) K)) (h : p ≠ 2)
Goal: (Algebra.norm K) (ζ - 1) = ↑↑p
-- IsPrimitiveRoot.norm_pow_sub_one_two
-- Porting note: writing `(2 : ℕ+)` was not needed (similarly everywhere).
theorem norm_pow_sub_one_two {k : ℕ} (hζ : IsPrimitiveRoot ζ (2 ^ (k + 1)))
    [IsCyclotomicExtension {(2 : ℕ+) ^ (k + 1)} K L]
    (hirr : Irreducible (cyclotomic (2 ^ (k + 1)) K)) :
    norm K (ζ ^ 2 ^ k - 1) = (-2 : K) ^ 2 ^ k 
Arguments: {K : Type u} {L : Type v} [Field L] {ζ : L} [Field K] [Algebra K L] {k : ℕ} (hζ : IsPrimitiveRoot ζ (2 ^ (k + 1))) [IsCyclotomicExtension {2 ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (2 ^ (k + 1)) K))
Goal: (Algebra.norm K) (ζ ^ 2 ^ k - 1) = (-2) ^ 2 ^ k
-- IsPrimitiveRoot.norm_sub_one_two
theorem norm_sub_one_two {k : ℕ} (hζ : IsPrimitiveRoot ζ (2 ^ k)) (hk : 2 ≤ k)
    [H : IsCyclotomicExtension {(2 : ℕ+) ^ k} K L] (hirr : Irreducible (cyclotomic (2 ^ k) K)) :
    norm K (ζ - 1) = 2 
Arguments: {K : Type u} {L : Type v} [Field L] {ζ : L} [Field K] [Algebra K L] {k : ℕ} (hζ : IsPrimitiveRoot ζ (2 ^ k)) (hk : 2 ≤ k) [H : IsCyclotomicExtension {2 ^ k} K L] (hirr : Irreducible (Polynomial.cyclotomic (2 ^ k) K))
Goal: (Algebra.norm K) (ζ - 1) = 2
-- IsPrimitiveRoot.norm_pow_sub_one_eq_prime_pow_of_ne_zero
theorem norm_pow_sub_one_eq_prime_pow_of_ne_zero {k s : ℕ} (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1)))
    [hpri : Fact (p : ℕ).Prime] [hcycl : IsCyclotomicExtension {p ^ (k + 1)} K L]
    (hirr : Irreducible (cyclotomic (↑(p ^ (k + 1)) : ℕ) K)) (hs : s ≤ k) (hk : k ≠ 0) :
    norm K (ζ ^ (p : ℕ) ^ s - 1) = (p : K) ^ (p : ℕ) ^ s 
Arguments: {p : ℕ+} {K : Type u} {L : Type v} [Field L] {ζ : L} [Field K] [Algebra K L] {k s : ℕ} (hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1))) [hpri : Fact (Nat.Prime ↑p)] [hcycl : IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (↑(p ^ (k + 1))) K)) (hs : s ≤ k) (hk : k ≠ 0)
Goal: (Algebra.norm K) (ζ ^ ↑p ^ s - 1) = ↑↑p ^ ↑p ^ s
-- IsCyclotomicExtension.norm_zeta_eq_one
theorem norm_zeta_eq_one [IsCyclotomicExtension {n} K L] (hn : n ≠ 2)
    (hirr : Irreducible (cyclotomic n K)) : norm K (zeta n K L) = 1 
Arguments: {n : ℕ+} {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] [IsCyclotomicExtension {n} K L] (hn : n ≠ 2) (hirr : Irreducible (Polynomial.cyclotomic (↑n) K))
Goal: (Algebra.norm K) (IsCyclotomicExtension.zeta n K L) = 1
-- IsCyclotomicExtension.norm_zeta_sub_one_of_isPrimePow
theorem norm_zeta_sub_one_of_isPrimePow (hn : IsPrimePow (n : ℕ)) [IsCyclotomicExtension {n} K L]
    (hirr : Irreducible (cyclotomic (n : ℕ) K)) (h : n ≠ 2) :
    norm K (zeta n K L - 1) = (n : ℕ).minFac 
Arguments: {n : ℕ+} {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] (hn : IsPrimePow ↑n) [IsCyclotomicExtension {n} K L] (hirr : Irreducible (Polynomial.cyclotomic (↑n) K)) (h : n ≠ 2)
Goal: (Algebra.norm K) (IsCyclotomicExtension.zeta n K L - 1) = ↑(↑n).minFac
-- IsCyclotomicExtension.norm_zeta_pow_sub_one_of_prime_pow_ne_two
theorem norm_zeta_pow_sub_one_of_prime_pow_ne_two {k : ℕ} [Fact (p : ℕ).Prime]
    [IsCyclotomicExtension {p ^ (k + 1)} K L]
    (hirr : Irreducible (cyclotomic (↑(p ^ (k + 1)) : ℕ) K)) {s : ℕ} (hs : s ≤ k)
    (htwo : p ^ (k - s + 1) ≠ 2) :
    norm K (zeta (p ^ (k + 1)) K L ^ (p : ℕ) ^ s - 1) = (p : K) ^ (p : ℕ) ^ s 
Arguments: {p : ℕ+} {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] {k : ℕ} [Fact (Nat.Prime ↑p)] [IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (↑(p ^ (k + 1))) K)) {s : ℕ} (hs : s ≤ k) (htwo : p ^ (k - s + 1) ≠ 2)
Goal: (Algebra.norm K) (IsCyclotomicExtension.zeta (p ^ (k + 1)) K L ^ ↑p ^ s - 1) = ↑↑p ^ ↑p ^ s
-- IsCyclotomicExtension.norm_zeta_pow_sub_one_of_prime_ne_two
theorem norm_zeta_pow_sub_one_of_prime_ne_two {k : ℕ} [Fact (p : ℕ).Prime]
    [IsCyclotomicExtension {p ^ (k + 1)} K L]
    (hirr : Irreducible (cyclotomic (↑(p ^ (k + 1)) : ℕ) K)) (h : p ≠ 2) :
    norm K (zeta (p ^ (k + 1)) K L - 1) = p 
Arguments: {p : ℕ+} {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] {k : ℕ} [Fact (Nat.Prime ↑p)] [IsCyclotomicExtension {p ^ (k + 1)} K L] (hirr : Irreducible (Polynomial.cyclotomic (↑(p ^ (k + 1))) K)) (h : p ≠ 2)
Goal: (Algebra.norm K) (IsCyclotomicExtension.zeta (p ^ (k + 1)) K L - 1) = ↑↑p
-- IsCyclotomicExtension.norm_zeta_sub_one_of_prime_ne_two
theorem norm_zeta_sub_one_of_prime_ne_two [Fact (p : ℕ).Prime]
    [IsCyclotomicExtension {p} K L] (hirr : Irreducible (cyclotomic p K)) (h : p ≠ 2) :
    norm K (zeta p K L - 1) = p 
Arguments: {p : ℕ+} {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] [Fact (Nat.Prime ↑p)] [IsCyclotomicExtension {p} K L] (hirr : Irreducible (Polynomial.cyclotomic (↑p) K)) (h : p ≠ 2)
Goal: (Algebra.norm K) (IsCyclotomicExtension.zeta p K L - 1) = ↑↑p
-- IsCyclotomicExtension.norm_zeta_pow_sub_one_two
theorem norm_zeta_pow_sub_one_two {k : ℕ} (hk : 2 ≤ k)
    [IsCyclotomicExtension {(2 : ℕ+) ^ k} K L] (hirr : Irreducible (cyclotomic (2 ^ k) K)) :
    norm K (zeta ((2 : ℕ+) ^ k) K L - 1) = 2 
Arguments: {K : Type u} (L : Type v) [Field K] [Field L] [Algebra K L] {k : ℕ} (hk : 2 ≤ k) [IsCyclotomicExtension {2 ^ k} K L] (hirr : Irreducible (Polynomial.cyclotomic (2 ^ k) K))
Goal: (Algebra.norm K) (IsCyclotomicExtension.zeta (2 ^ k) K L - 1) = 2
-- MeasureTheory.tendsto_measure_of_tendsto_indicator
lemma tendsto_measure_of_tendsto_indicator [NeBot L] {μ : Measure α}
    (As_mble : ∀ i, MeasurableSet (As i)) {B : Set α} (B_mble : MeasurableSet B)
    (B_finmeas : μ B ≠ ∞) (As_le_B : ∀ᶠ i in L, As i ⊆ B)
    (h_lim : ∀ x, ∀ᶠ i in L, x ∈ As i ↔ x ∈ A) :
    Tendsto (fun i ↦ μ (As i)) L (𝓝 (μ A)) 
Arguments: {α : Type u_1} [MeasurableSpace α] {A : Set α} {ι : Type u_2} (L : Filter ι) [L.IsCountablyGenerated] {As : ι → Set α} [L.NeBot] {μ : MeasureTheory.Measure α} (As_mble : ∀ (i : ι), MeasurableSet (As i)) {B : Set α} (B_mble : MeasurableSet B) (B_finmeas : μ B ≠ ⊤) (As_le_B : ∀ᶠ (i : ι) in L, As i ⊆ B) (h_lim : ∀ (x : α), ∀ᶠ (i : ι) in L, x ∈ As i ↔ x ∈ A)
Goal: Filter.Tendsto (fun i => μ (As i)) L (nhds (μ A))
-- MeasureTheory.tendsto_measure_of_tendsto_indicator_of_isFiniteMeasure
lemma tendsto_measure_of_tendsto_indicator_of_isFiniteMeasure [NeBot L]
    (μ : Measure α) [IsFiniteMeasure μ] (As_mble : ∀ i, MeasurableSet (As i))
    (h_lim : ∀ x, ∀ᶠ i in L, x ∈ As i ↔ x ∈ A) :
    Tendsto (fun i ↦ μ (As i)) L (𝓝 (μ A)) 
Arguments: {α : Type u_1} [MeasurableSpace α] {A : Set α} {ι : Type u_2} (L : Filter ι) [L.IsCountablyGenerated] {As : ι → Set α} [L.NeBot] (μ : MeasureTheory.Measure α) [MeasureTheory.IsFiniteMeasure μ] (As_mble : ∀ (i : ι), MeasurableSet (As i)) (h_lim : ∀ (x : α), ∀ᶠ (i : ι) in L, x ∈ As i ↔ x ∈ A)
Goal: Filter.Tendsto (fun i => μ (As i)) L (nhds (μ A))
-- FirstOrder.Language.Term.realize_var
@[simp]
theorem realize_var (v : α → M) (k) : realize v (var k : L.Term α) = v k 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} (v : α → M) (k : α)
Goal: FirstOrder.Language.Term.realize v (FirstOrder.Language.var k) = v k
-- FirstOrder.Language.Term.realize_func
@[simp]
theorem realize_func (v : α → M) {n} (f : L.Functions n) (ts) :
    realize v (func f ts : L.Term α) = funMap f fun i => (ts i).realize v 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} (v : α → M) {n : ℕ} (f : L.Functions n) (ts : Fin n → L.Term α)
Goal: FirstOrder.Language.Term.realize v (FirstOrder.Language.func f ts) =
  FirstOrder.Language.Structure.funMap f fun i => FirstOrder.Language.Term.realize v (ts i)
-- FirstOrder.Language.Term.realize_relabel
@[simp]
theorem realize_relabel {t : L.Term α} {g : α → β} {v : β → M} :
    (t.relabel g).realize v = t.realize (v ∘ g) 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {β : Type v'} {t : L.Term α} {g : α → β} {v : β → M}
Goal: FirstOrder.Language.Term.realize v (FirstOrder.Language.Term.relabel g t) = FirstOrder.Language.Term.realize (v ∘ g) t
-- FirstOrder.Language.Term.realize_liftAt
@[simp]
theorem realize_liftAt {n n' m : ℕ} {t : L.Term (α ⊕ (Fin n))} {v : α ⊕ (Fin (n + n')) → M} :
    (t.liftAt n' m).realize v =
      t.realize (v ∘ Sum.map id fun i : Fin _ =>
        if ↑i < m then Fin.castAdd n' i else Fin.addNat i n') 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {n n' m : ℕ} {t : L.Term (α ⊕ Fin n)} {v : α ⊕ Fin (n + n') → M}
Goal: FirstOrder.Language.Term.realize v (FirstOrder.Language.Term.liftAt n' m t) =
  FirstOrder.Language.Term.realize (v ∘ Sum.map id fun i => if ↑i < m then Fin.castAdd n' i else i.addNat n') t
-- FirstOrder.Language.Term.realize_constants
@[simp]
theorem realize_constants {c : L.Constants} {v : α → M} : c.term.realize v = c 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {c : L.Constants} {v : α → M}
Goal: FirstOrder.Language.Term.realize v c.term = ↑c
-- FirstOrder.Language.Term.realize_functions_apply₁
@[simp]
theorem realize_functions_apply₁ {f : L.Functions 1} {t : L.Term α} {v : α → M} :
    (f.apply₁ t).realize v = funMap f ![t.realize v] 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {f : L.Functions 1} {t : L.Term α} {v : α → M}
Goal: FirstOrder.Language.Term.realize v (f.apply₁ t) =
  FirstOrder.Language.Structure.funMap f ![FirstOrder.Language.Term.realize v t]
-- FirstOrder.Language.Term.realize_functions_apply₂
@[simp]
theorem realize_functions_apply₂ {f : L.Functions 2} {t₁ t₂ : L.Term α} {v : α → M} :
    (f.apply₂ t₁ t₂).realize v = funMap f ![t₁.realize v, t₂.realize v] 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {f : L.Functions 2} {t₁ t₂ : L.Term α} {v : α → M}
Goal: FirstOrder.Language.Term.realize v (f.apply₂ t₁ t₂) =
  FirstOrder.Language.Structure.funMap f ![FirstOrder.Language.Term.realize v t₁, FirstOrder.Language.Term.realize v t₂]
-- FirstOrder.Language.Term.realize_con
theorem realize_con {A : Set M} {a : A} {v : α → M} : (L.con a).term.realize v = a 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {A : Set M} {a : ↑A} {v : α → M}
Goal: FirstOrder.Language.Term.realize v (L.con a).term = ↑a
-- FirstOrder.Language.Term.realize_subst
@[simp]
theorem realize_subst {t : L.Term α} {tf : α → L.Term β} {v : β → M} :
    (t.subst tf).realize v = t.realize fun a => (tf a).realize v 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {β : Type v'} {t : L.Term α} {tf : α → L.Term β} {v : β → M}
Goal: FirstOrder.Language.Term.realize v (t.subst tf) =
  FirstOrder.Language.Term.realize (fun a => FirstOrder.Language.Term.realize v (tf a)) t
-- FirstOrder.Language.Term.realize_restrictVar
@[simp]
theorem realize_restrictVar [DecidableEq α] {t : L.Term α} {s : Set α} (h : ↑t.varFinset ⊆ s)
    {v : α → M} : (t.restrictVar (Set.inclusion h)).realize (v ∘ (↑)) = t.realize v 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} [DecidableEq α] {t : L.Term α} {s : Set α} (h : ↑t.varFinset ⊆ s) {v : α → M}
Goal: FirstOrder.Language.Term.realize (v ∘ Subtype.val) (t.restrictVar (Set.inclusion h)) =
  FirstOrder.Language.Term.realize v t
-- FirstOrder.Language.Term.realize_restrictVarLeft
@[simp]
theorem realize_restrictVarLeft [DecidableEq α] {γ : Type*} {t : L.Term (α ⊕ γ)} {s : Set α}
    (h : ↑t.varFinsetLeft ⊆ s) {v : α → M} {xs : γ → M} :
    (t.restrictVarLeft (Set.inclusion h)).realize (Sum.elim (v ∘ (↑)) xs) =
      t.realize (Sum.elim v xs) 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} [DecidableEq α] {γ : Type u_4} {t : L.Term (α ⊕ γ)} {s : Set α} (h : ↑t.varFinsetLeft ⊆ s) {v : α → M} {xs : γ → M}
Goal: FirstOrder.Language.Term.realize (Sum.elim (v ∘ Subtype.val) xs) (t.restrictVarLeft (Set.inclusion h)) =
  FirstOrder.Language.Term.realize (Sum.elim v xs) t
-- FirstOrder.Language.Term.realize_constantsToVars
@[simp]
theorem realize_constantsToVars [L[[α]].Structure M] [(lhomWithConstants L α).IsExpansionOn M]
    {t : L[[α]].Term β} {v : β → M} :
    t.constantsToVars.realize (Sum.elim (fun a => ↑(L.con a)) v) = t.realize v 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {β : Type v'} [(L.withConstants α).Structure M] [(L.lhomWithConstants α).IsExpansionOn M] {t : (L.withConstants α).Term β} {v : β → M}
Goal: FirstOrder.Language.Term.realize (Sum.elim (fun a => ↑(L.con a)) v) t.constantsToVars =
  FirstOrder.Language.Term.realize v t
-- FirstOrder.Language.Term.realize_varsToConstants
@[simp]
theorem realize_varsToConstants [L[[α]].Structure M] [(lhomWithConstants L α).IsExpansionOn M]
    {t : L.Term (α ⊕ β)} {v : β → M} :
    t.varsToConstants.realize v = t.realize (Sum.elim (fun a => ↑(L.con a)) v) 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {β : Type v'} [(L.withConstants α).Structure M] [(L.lhomWithConstants α).IsExpansionOn M] {t : L.Term (α ⊕ β)} {v : β → M}
Goal: FirstOrder.Language.Term.realize v t.varsToConstants =
  FirstOrder.Language.Term.realize (Sum.elim (fun a => ↑(L.con a)) v) t
-- FirstOrder.Language.Term.realize_constantsVarsEquivLeft
theorem realize_constantsVarsEquivLeft [L[[α]].Structure M]
    [(lhomWithConstants L α).IsExpansionOn M] {n} {t : L[[α]].Term (β ⊕ (Fin n))} {v : β → M}
    {xs : Fin n → M} :
    (constantsVarsEquivLeft t).realize (Sum.elim (Sum.elim (fun a => ↑(L.con a)) v) xs) =
      t.realize (Sum.elim v xs) 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {β : Type v'} [(L.withConstants α).Structure M] [(L.lhomWithConstants α).IsExpansionOn M] {n : ℕ} {t : (L.withConstants α).Term (β ⊕ Fin n)} {v : β → M} {xs : Fin n → M}
Goal: FirstOrder.Language.Term.realize (Sum.elim (Sum.elim (fun a => ↑(L.con a)) v) xs)
    (FirstOrder.Language.Term.constantsVarsEquivLeft t) =
  FirstOrder.Language.Term.realize (Sum.elim v xs) t
-- FirstOrder.Language.LHom.realize_onTerm
@[simp]
theorem realize_onTerm [L'.Structure M] (φ : L →ᴸ L') [φ.IsExpansionOn M] (t : L.Term α)
    (v : α → M) : (φ.onTerm t).realize v = t.realize v 
Arguments: {L : FirstOrder.Language} {L' : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} [L'.Structure M] (φ : L →ᴸ L') [φ.IsExpansionOn M] (t : L.Term α) (v : α → M)
Goal: FirstOrder.Language.Term.realize v (φ.onTerm t) = FirstOrder.Language.Term.realize v t
-- FirstOrder.Language.Hom.realize_term
@[simp]
theorem Hom.realize_term (g : M →[L] N) {t : L.Term α} {v : α → M} :
    t.realize (g ∘ v) = g (t.realize v) 
Arguments: {L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {α : Type u'} (g : L.Hom M N) {t : L.Term α} {v : α → M}
Goal: FirstOrder.Language.Term.realize (⇑g ∘ v) t = g (FirstOrder.Language.Term.realize v t)
-- FirstOrder.Language.Embedding.realize_term
@[simp]
theorem Embedding.realize_term {v : α → M} (t : L.Term α) (g : M ↪[L] N) :
    t.realize (g ∘ v) = g (t.realize v) 
Arguments: {L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {α : Type u'} {v : α → M} (t : L.Term α) (g : L.Embedding M N)
Goal: FirstOrder.Language.Term.realize (⇑g ∘ v) t = g (FirstOrder.Language.Term.realize v t)
-- FirstOrder.Language.Equiv.realize_term
@[simp]
theorem Equiv.realize_term {v : α → M} (t : L.Term α) (g : M ≃[L] N) :
    t.realize (g ∘ v) = g (t.realize v) 
Arguments: {L : FirstOrder.Language} {M : Type w} {N : Type u_1} [L.Structure M] [L.Structure N] {α : Type u'} {v : α → M} (t : L.Term α) (g : L.Equiv M N)
Goal: FirstOrder.Language.Term.realize (⇑g ∘ v) t = g (FirstOrder.Language.Term.realize v t)
-- FirstOrder.Language.BoundedFormula.realize_bot
@[simp]
theorem realize_bot : (⊥ : L.BoundedFormula α l).Realize v xs ↔ False 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {l : ℕ} {v : α → M} {xs : Fin l → M}
Goal: ⊥.Realize v xs ↔ False
-- FirstOrder.Language.BoundedFormula.realize_not
@[simp]
theorem realize_not : φ.not.Realize v xs ↔ ¬φ.Realize v xs 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {l : ℕ} {φ : L.BoundedFormula α l} {v : α → M} {xs : Fin l → M}
Goal: φ.not.Realize v xs ↔ ¬φ.Realize v xs
-- FirstOrder.Language.BoundedFormula.realize_bdEqual
@[simp]
theorem realize_bdEqual (t₁ t₂ : L.Term (α ⊕ (Fin l))) :
    (t₁.bdEqual t₂).Realize v xs ↔ t₁.realize (Sum.elim v xs) = t₂.realize (Sum.elim v xs) 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {l : ℕ} {v : α → M} {xs : Fin l → M} (t₁ t₂ : L.Term (α ⊕ Fin l))
Goal: (t₁.bdEqual t₂).Realize v xs ↔
  FirstOrder.Language.Term.realize (Sum.elim v xs) t₁ = FirstOrder.Language.Term.realize (Sum.elim v xs) t₂
-- FirstOrder.Language.BoundedFormula.realize_top
@[simp]
theorem realize_top : (⊤ : L.BoundedFormula α l).Realize v xs ↔ True 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {l : ℕ} {v : α → M} {xs : Fin l → M}
Goal: ⊤.Realize v xs ↔ True
-- FirstOrder.Language.BoundedFormula.realize_inf
@[simp]
theorem realize_inf : (φ ⊓ ψ).Realize v xs ↔ φ.Realize v xs ∧ ψ.Realize v xs 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {l : ℕ} {φ ψ : L.BoundedFormula α l} {v : α → M} {xs : Fin l → M}
Goal: (φ ⊓ ψ).Realize v xs ↔ φ.Realize v xs ∧ ψ.Realize v xs
-- FirstOrder.Language.BoundedFormula.realize_foldr_inf
@[simp]
theorem realize_foldr_inf (l : List (L.BoundedFormula α n)) (v : α → M) (xs : Fin n → M) :
    (l.foldr (· ⊓ ·) ⊤).Realize v xs ↔ ∀ φ ∈ l, BoundedFormula.Realize φ v xs 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {n : ℕ} (l : List (L.BoundedFormula α n)) (v : α → M) (xs : Fin n → M)
Goal: (List.foldr (fun x x_1 => x ⊓ x_1) ⊤ l).Realize v xs ↔ ∀ φ ∈ l, φ.Realize v xs
-- FirstOrder.Language.BoundedFormula.realize_imp
@[simp]
theorem realize_imp : (φ.imp ψ).Realize v xs ↔ φ.Realize v xs → ψ.Realize v xs 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {l : ℕ} {φ ψ : L.BoundedFormula α l} {v : α → M} {xs : Fin l → M}
Goal: (φ.imp ψ).Realize v xs ↔ φ.Realize v xs → ψ.Realize v xs
-- FirstOrder.Language.BoundedFormula.realize_rel
@[simp]
theorem realize_rel {k : ℕ} {R : L.Relations k} {ts : Fin k → L.Term _} :
    (R.boundedFormula ts).Realize v xs ↔ RelMap R fun i => (ts i).realize (Sum.elim v xs) 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {l : ℕ} {v : α → M} {xs : Fin l → M} {k : ℕ} {R : L.Relations k} {ts : Fin k → L.Term (α ⊕ Fin l)}
Goal: (R.boundedFormula ts).Realize v xs ↔
  FirstOrder.Language.Structure.RelMap R fun i => FirstOrder.Language.Term.realize (Sum.elim v xs) (ts i)
-- FirstOrder.Language.BoundedFormula.realize_rel₁
@[simp]
theorem realize_rel₁ {R : L.Relations 1} {t : L.Term _} :
    (R.boundedFormula₁ t).Realize v xs ↔ RelMap R ![t.realize (Sum.elim v xs)] 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {l : ℕ} {v : α → M} {xs : Fin l → M} {R : L.Relations 1} {t : L.Term (α ⊕ Fin l)}
Goal: (R.boundedFormula₁ t).Realize v xs ↔
  FirstOrder.Language.Structure.RelMap R ![FirstOrder.Language.Term.realize (Sum.elim v xs) t]
-- FirstOrder.Language.BoundedFormula.realize_rel₂
@[simp]
theorem realize_rel₂ {R : L.Relations 2} {t₁ t₂ : L.Term _} :
    (R.boundedFormula₂ t₁ t₂).Realize v xs ↔
      RelMap R ![t₁.realize (Sum.elim v xs), t₂.realize (Sum.elim v xs)] 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {l : ℕ} {v : α → M} {xs : Fin l → M} {R : L.Relations 2} {t₁ t₂ : L.Term (α ⊕ Fin l)}
Goal: (R.boundedFormula₂ t₁ t₂).Realize v xs ↔
  FirstOrder.Language.Structure.RelMap R
    ![FirstOrder.Language.Term.realize (Sum.elim v xs) t₁, FirstOrder.Language.Term.realize (Sum.elim v xs) t₂]
-- FirstOrder.Language.BoundedFormula.realize_sup
@[simp]
theorem realize_sup : (φ ⊔ ψ).Realize v xs ↔ φ.Realize v xs ∨ ψ.Realize v xs 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {l : ℕ} {φ ψ : L.BoundedFormula α l} {v : α → M} {xs : Fin l → M}
Goal: (φ ⊔ ψ).Realize v xs ↔ φ.Realize v xs ∨ ψ.Realize v xs
-- FirstOrder.Language.BoundedFormula.realize_foldr_sup
@[simp]
theorem realize_foldr_sup (l : List (L.BoundedFormula α n)) (v : α → M) (xs : Fin n → M) :
    (l.foldr (· ⊔ ·) ⊥).Realize v xs ↔ ∃ φ ∈ l, BoundedFormula.Realize φ v xs 
Arguments: {L : FirstOrder.Language} {M : Type w} [L.Structure M] {α : Type u'} {n : ℕ} (l : List (L.BoundedFormula α n)) (v : α → M) (xs : Fin n → M)
Goal: (List.foldr (fun x x_1 => x ⊔ x_1) ⊥ l).Realize v xs ↔ ∃ φ ∈ l, φ.Realize v xs