ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Tactic.ReduceModChar.CharP.neg_eq_sub_one_mul
lemma CharP.neg_eq_sub_one_mul {α : Type _} [Ring α] (n : ℕ) (inst : CharP α n) (b : α)
    (a : ℕ) (a' : α) (p : IsNat (n - 1 : α) a) (pa : a = a') :
    -b = a' * b 
Arguments: {α : Type u_1} [Ring α] (n : ℕ) (inst : CharP α n) (b : α) (a : ℕ) (a' : α) (p : Mathlib.Meta.NormNum.IsNat (↑n - 1) a) (pa : ↑a = a')
Goal: -b = a' * b
-- Tactic.ReduceModChar.CharP.neg_mul_eq_sub_one_mul
lemma CharP.neg_mul_eq_sub_one_mul {α : Type _} [Ring α] (n : ℕ) (inst : CharP α n) (a b : α)
    (na : ℕ) (na' : α) (p : IsNat ((n - 1) * a : α) na) (pa : na = na') :
    -(a * b) = na' * b 
Arguments: {α : Type u_1} [Ring α] (n : ℕ) (inst : CharP α n) (a b : α) (na : ℕ) (na' : α) (p : Mathlib.Meta.NormNum.IsNat ((↑n - 1) * a) na) (pa : ↑na = na')
Goal: -(a * b) = na' * b
-- differentiableOn_id'
theorem differentiableOn_id' : DifferentiableOn K (fun x : E => x) s 
Arguments: {K : Type u_1} [NontriviallyNormedField K] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace K E] {s : Set E}
Goal: DifferentiableOn K (fun x => x) s
-- Differentiable.comp'
theorem Differentiable.comp' {g : F → G} (hg : Differentiable K g) (hf : Differentiable K f) :
    Differentiable K (fun x => g (f x)) 
Arguments: {K : Type u_1} [NontriviallyNormedField K] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace K E] {F : Type u_3} [NormedAddCommGroup F] [NormedSpace K F] {G : Type u_4} [NormedAddCommGroup G] [NormedSpace K G] {f : E → F} {g : F → G} (hg : Differentiable K g) (hf : Differentiable K f)
Goal: Differentiable K fun x => g (f x)
-- DifferentiableAt.comp'
theorem DifferentiableAt.comp' {f : E → F} {g : F → G} (hg : DifferentiableAt K g (f x))
    (hf : DifferentiableAt K f x) : DifferentiableAt K (fun x => g (f x)) x 
Arguments: {K : Type u_1} [NontriviallyNormedField K] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace K E] {F : Type u_3} [NormedAddCommGroup F] [NormedSpace K F] {G : Type u_4} [NormedAddCommGroup G] [NormedSpace K G] {x : E} {f : E → F} {g : F → G} (hg : DifferentiableAt K g (f x)) (hf : DifferentiableAt K f x)
Goal: DifferentiableAt K (fun x => g (f x)) x
-- DifferentiableOn.comp'
theorem DifferentiableOn.comp' {g : F → G} {t : Set F} (hg : DifferentiableOn K g t)
    (hf : DifferentiableOn K f s) (st : Set.MapsTo f s t) :
    DifferentiableOn K (fun x => g (f x)) s 
Arguments: {K : Type u_1} [NontriviallyNormedField K] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace K E] {F : Type u_3} [NormedAddCommGroup F] [NormedSpace K F] {G : Type u_4} [NormedAddCommGroup G] [NormedSpace K G] {f : E → F} {s : Set E} {g : F → G} {t : Set F} (hg : DifferentiableOn K g t) (hf : DifferentiableOn K f s) (st : Set.MapsTo f s t)
Goal: DifferentiableOn K (fun x => g (f x)) s
-- IsAddFreimanHom.map_sum_eq_map_sum
structure IsAddFreimanHom [AddCommMonoid α] [AddCommMonoid β] (n : ℕ) (A : Set α) (B : Set β)
    (f : α → β) : Prop where
  mapsTo : MapsTo f A B
    map_sum_eq_map_sum ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x⦄, x ∈ t → x ∈ A)
    (hs : Multiset.card s = n) (ht : Multiset.card t = n) (h : s.sum = t.sum) :
    (s.map f).sum = (t.map f).sum
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {n : ℕ} {A : Set α} {B : Set β} {f : α → β} (self : IsAddFreimanHom n A B f) ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x : α⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x : α⦄, x ∈ t → x ∈ A) (hs : Multiset.card s = n) (ht : Multiset.card t = n) (h : s.sum = t.sum)
Goal: (Multiset.map f s).sum = (Multiset.map f t).sum
-- IsAddFreimanHom.mapsTo
structure IsAddFreimanHom [AddCommMonoid α] [AddCommMonoid β] (n : ℕ) (A : Set α) (B : Set β)
    (f : α → β) : Prop where
  mapsTo : MapsTo f A B
    map_sum_eq_map_sum ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x⦄, x ∈ t → x ∈ A)
    (hs : Multiset.card s = n) (ht : Multiset.card t = n) (h : s.sum = t.sum) :
    (s.map f).sum = (t.map f).sum
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {n : ℕ} {A : Set α} {B : Set β} {f : α → β} (self : IsAddFreimanHom n A B f)
Goal: Set.MapsTo f A B
-- IsMulFreimanHom.map_prod_eq_map_prod
@[to_additive]
structure IsMulFreimanHom (n : ℕ) (A : Set α) (B : Set β) (f : α → β) : Prop where
  mapsTo : MapsTo f A B
    map_prod_eq_map_prod ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x⦄, x ∈ t → x ∈ A)
    (hs : Multiset.card s = n) (ht : Multiset.card t = n) (h : s.prod = t.prod) :
    (s.map f).prod = (t.map f).prod
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {n : ℕ} {A : Set α} {B : Set β} {f : α → β} (self : IsMulFreimanHom n A B f) ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x : α⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x : α⦄, x ∈ t → x ∈ A) (hs : Multiset.card s = n) (ht : Multiset.card t = n) (h : s.prod = t.prod)
Goal: (Multiset.map f s).prod = (Multiset.map f t).prod
-- IsMulFreimanHom.mapsTo
@[to_additive]
structure IsMulFreimanHom (n : ℕ) (A : Set α) (B : Set β) (f : α → β) : Prop where
  mapsTo : MapsTo f A B
    map_prod_eq_map_prod ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x⦄, x ∈ t → x ∈ A)
    (hs : Multiset.card s = n) (ht : Multiset.card t = n) (h : s.prod = t.prod) :
    (s.map f).prod = (t.map f).prod
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {n : ℕ} {A : Set α} {B : Set β} {f : α → β} (self : IsMulFreimanHom n A B f)
Goal: Set.MapsTo f A B
-- IsAddFreimanIso.bijOn
structure IsAddFreimanIso [AddCommMonoid α] [AddCommMonoid β] (n : ℕ) (A : Set α) (B : Set β)
    (f : α → β) : Prop where
  bijOn : BijOn f A B
    map_sum_eq_map_sum ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x⦄, x ∈ t → x ∈ A)
    (hs : Multiset.card s = n) (ht : Multiset.card t = n) :
    (s.map f).sum = (t.map f).sum ↔ s.sum = t.sum
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {n : ℕ} {A : Set α} {B : Set β} {f : α → β} (self : IsAddFreimanIso n A B f)
Goal: Set.BijOn f A B
-- IsAddFreimanIso.map_sum_eq_map_sum
structure IsAddFreimanIso [AddCommMonoid α] [AddCommMonoid β] (n : ℕ) (A : Set α) (B : Set β)
    (f : α → β) : Prop where
  bijOn : BijOn f A B
    map_sum_eq_map_sum ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x⦄, x ∈ t → x ∈ A)
    (hs : Multiset.card s = n) (ht : Multiset.card t = n) :
    (s.map f).sum = (t.map f).sum ↔ s.sum = t.sum
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {n : ℕ} {A : Set α} {B : Set β} {f : α → β} (self : IsAddFreimanIso n A B f) ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x : α⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x : α⦄, x ∈ t → x ∈ A) (hs : Multiset.card s = n) (ht : Multiset.card t = n)
Goal: (Multiset.map f s).sum = (Multiset.map f t).sum ↔ s.sum = t.sum
-- IsMulFreimanIso.map_prod_eq_map_prod
@[to_additive]
structure IsMulFreimanIso (n : ℕ) (A : Set α) (B : Set β) (f : α → β) : Prop where
  bijOn : BijOn f A B
    map_prod_eq_map_prod ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x⦄, x ∈ t → x ∈ A)
    (hs : Multiset.card s = n) (ht : Multiset.card t = n) :
    (s.map f).prod = (t.map f).prod ↔ s.prod = t.prod
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {n : ℕ} {A : Set α} {B : Set β} {f : α → β} (self : IsMulFreimanIso n A B f) ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x : α⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x : α⦄, x ∈ t → x ∈ A) (hs : Multiset.card s = n) (ht : Multiset.card t = n)
Goal: (Multiset.map f s).prod = (Multiset.map f t).prod ↔ s.prod = t.prod
-- IsMulFreimanIso.bijOn
@[to_additive]
structure IsMulFreimanIso (n : ℕ) (A : Set α) (B : Set β) (f : α → β) : Prop where
  bijOn : BijOn f A B
    map_prod_eq_map_prod ⦃s t : Multiset α⦄ (hsA : ∀ ⦃x⦄, x ∈ s → x ∈ A) (htA : ∀ ⦃x⦄, x ∈ t → x ∈ A)
    (hs : Multiset.card s = n) (ht : Multiset.card t = n) :
    (s.map f).prod = (t.map f).prod ↔ s.prod = t.prod
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {n : ℕ} {A : Set α} {B : Set β} {f : α → β} (self : IsMulFreimanIso n A B f)
Goal: Set.BijOn f A B
-- IsAddFreimanIso.isAddFreimanHom
@[to_additive]
lemma IsMulFreimanIso.isMulFreimanHom (hf : IsMulFreimanIso n A B f) : IsMulFreimanHom n A B f 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A : Set α} {B : Set β} {f : α → β} {n : ℕ} (hf : IsAddFreimanIso n A B f)
Goal: IsAddFreimanHom n A B f
-- IsMulFreimanIso.isMulFreimanHom
@[to_additive]
lemma IsMulFreimanIso.isMulFreimanHom (hf : IsMulFreimanIso n A B f) : IsMulFreimanHom n A B f 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A : Set α} {B : Set β} {f : α → β} {n : ℕ} (hf : IsMulFreimanIso n A B f)
Goal: IsMulFreimanHom n A B f
-- IsAddFreimanHom.add_eq_add
@[to_additive]
lemma IsMulFreimanHom.mul_eq_mul (hf : IsMulFreimanHom 2 A B f) {a b c d : α}
    (ha : a ∈ A) (hb : b ∈ A) (hc : c ∈ A) (hd : d ∈ A) (h : a * b = c * d) :
    f a * f b = f c * f d 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A : Set α} {B : Set β} {f : α → β} (hf : IsAddFreimanHom 2 A B f) {a b c d : α} (ha : a ∈ A) (hb : b ∈ A) (hc : c ∈ A) (hd : d ∈ A) (h : a + b = c + d)
Goal: f a + f b = f c + f d
-- IsMulFreimanHom.mul_eq_mul
@[to_additive]
lemma IsMulFreimanHom.mul_eq_mul (hf : IsMulFreimanHom 2 A B f) {a b c d : α}
    (ha : a ∈ A) (hb : b ∈ A) (hc : c ∈ A) (hd : d ∈ A) (h : a * b = c * d) :
    f a * f b = f c * f d 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A : Set α} {B : Set β} {f : α → β} (hf : IsMulFreimanHom 2 A B f) {a b c d : α} (ha : a ∈ A) (hb : b ∈ A) (hc : c ∈ A) (hd : d ∈ A) (h : a * b = c * d)
Goal: f a * f b = f c * f d
-- IsMulFreimanIso.mul_eq_mul
@[to_additive]
lemma IsMulFreimanIso.mul_eq_mul (hf : IsMulFreimanIso 2 A B f) {a b c d : α}
    (ha : a ∈ A) (hb : b ∈ A) (hc : c ∈ A) (hd : d ∈ A) :
    f a * f b = f c * f d ↔ a * b = c * d 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A : Set α} {B : Set β} {f : α → β} (hf : IsMulFreimanIso 2 A B f) {a b c d : α} (ha : a ∈ A) (hb : b ∈ A) (hc : c ∈ A) (hd : d ∈ A)
Goal: f a * f b = f c * f d ↔ a * b = c * d
-- IsAddFreimanIso.add_eq_add
@[to_additive]
lemma IsMulFreimanIso.mul_eq_mul (hf : IsMulFreimanIso 2 A B f) {a b c d : α}
    (ha : a ∈ A) (hb : b ∈ A) (hc : c ∈ A) (hd : d ∈ A) :
    f a * f b = f c * f d ↔ a * b = c * d 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A : Set α} {B : Set β} {f : α → β} (hf : IsAddFreimanIso 2 A B f) {a b c d : α} (ha : a ∈ A) (hb : b ∈ A) (hc : c ∈ A) (hd : d ∈ A)
Goal: f a + f b = f c + f d ↔ a + b = c + d
-- isMulFreimanHom_two
@[to_additive "Characterisation of `2`-Freiman homs."]
lemma isMulFreimanHom_two :
    IsMulFreimanHom 2 A B f ↔ MapsTo f A B ∧ ∀ a ∈ A, ∀ b ∈ A, ∀ c ∈ A, ∀ d ∈ A,
      a * b = c * d → f a * f b = f c * f d 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A : Set α} {B : Set β} {f : α → β}
Goal: IsMulFreimanHom 2 A B f ↔ Set.MapsTo f A B ∧ ∀ a ∈ A, ∀ b ∈ A, ∀ c ∈ A, ∀ d ∈ A, a * b = c * d → f a * f b = f c * f d
-- isAddFreimanHom_two
@[to_additive "Characterisation of `2`-Freiman homs."]
lemma isMulFreimanHom_two :
    IsMulFreimanHom 2 A B f ↔ MapsTo f A B ∧ ∀ a ∈ A, ∀ b ∈ A, ∀ c ∈ A, ∀ d ∈ A,
      a * b = c * d → f a * f b = f c * f d 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A : Set α} {B : Set β} {f : α → β}
Goal: IsAddFreimanHom 2 A B f ↔ Set.MapsTo f A B ∧ ∀ a ∈ A, ∀ b ∈ A, ∀ c ∈ A, ∀ d ∈ A, a + b = c + d → f a + f b = f c + f d
-- isMulFreimanHom_id
@[to_additive] lemma isMulFreimanHom_id (hA : A₁ ⊆ A₂) : IsMulFreimanHom n A₁ A₂ id 
Arguments: {α : Type u_2} [CommMonoid α] {A₁ A₂ : Set α} {n : ℕ} (hA : A₁ ⊆ A₂)
Goal: IsMulFreimanHom n A₁ A₂ id
-- isAddFreimanHom_id
@[to_additive] lemma isMulFreimanHom_id (hA : A₁ ⊆ A₂) : IsMulFreimanHom n A₁ A₂ id 
Arguments: {α : Type u_2} [AddCommMonoid α] {A₁ A₂ : Set α} {n : ℕ} (hA : A₁ ⊆ A₂)
Goal: IsAddFreimanHom n A₁ A₂ id
-- isMulFreimanIso_id
@[to_additive] lemma isMulFreimanIso_id : IsMulFreimanIso n A A id 
Arguments: {α : Type u_2} [CommMonoid α] {A : Set α} {n : ℕ}
Goal: IsMulFreimanIso n A A id
-- isAddFreimanIso_id
@[to_additive] lemma isMulFreimanIso_id : IsMulFreimanIso n A A id 
Arguments: {α : Type u_2} [AddCommMonoid α] {A : Set α} {n : ℕ}
Goal: IsAddFreimanIso n A A id
-- IsAddFreimanHom.comp
@[to_additive] lemma IsMulFreimanHom.comp (hg : IsMulFreimanHom n B C g)
    (hf : IsMulFreimanHom n A B f) : IsMulFreimanHom n A C (g ∘ f) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [AddCommMonoid α] [AddCommMonoid β] [AddCommMonoid γ] {A : Set α} {B : Set β} {C : Set γ} {f : α → β} {g : β → γ} {n : ℕ} (hg : IsAddFreimanHom n B C g) (hf : IsAddFreimanHom n A B f)
Goal: IsAddFreimanHom n A C (g ∘ f)
-- IsMulFreimanHom.comp
@[to_additive] lemma IsMulFreimanHom.comp (hg : IsMulFreimanHom n B C g)
    (hf : IsMulFreimanHom n A B f) : IsMulFreimanHom n A C (g ∘ f) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [CommMonoid α] [CommMonoid β] [CommMonoid γ] {A : Set α} {B : Set β} {C : Set γ} {f : α → β} {g : β → γ} {n : ℕ} (hg : IsMulFreimanHom n B C g) (hf : IsMulFreimanHom n A B f)
Goal: IsMulFreimanHom n A C (g ∘ f)
-- IsAddFreimanIso.comp
@[to_additive] lemma IsMulFreimanIso.comp (hg : IsMulFreimanIso n B C g)
    (hf : IsMulFreimanIso n A B f) : IsMulFreimanIso n A C (g ∘ f) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [AddCommMonoid α] [AddCommMonoid β] [AddCommMonoid γ] {A : Set α} {B : Set β} {C : Set γ} {f : α → β} {g : β → γ} {n : ℕ} (hg : IsAddFreimanIso n B C g) (hf : IsAddFreimanIso n A B f)
Goal: IsAddFreimanIso n A C (g ∘ f)
-- IsMulFreimanIso.comp
@[to_additive] lemma IsMulFreimanIso.comp (hg : IsMulFreimanIso n B C g)
    (hf : IsMulFreimanIso n A B f) : IsMulFreimanIso n A C (g ∘ f) 
Arguments: {α : Type u_2} {β : Type u_3} {γ : Type u_4} [CommMonoid α] [CommMonoid β] [CommMonoid γ] {A : Set α} {B : Set β} {C : Set γ} {f : α → β} {g : β → γ} {n : ℕ} (hg : IsMulFreimanIso n B C g) (hf : IsMulFreimanIso n A B f)
Goal: IsMulFreimanIso n A C (g ∘ f)
-- IsMulFreimanHom.subset
@[to_additive] lemma IsMulFreimanHom.subset (hA : A₁ ⊆ A₂) (hf : IsMulFreimanHom n A₂ B₂ f)
    (hf' : MapsTo f A₁ B₁) : IsMulFreimanHom n A₁ B₁ f 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A₁ A₂ : Set α} {B₁ B₂ : Set β} {f : α → β} {n : ℕ} (hA : A₁ ⊆ A₂) (hf : IsMulFreimanHom n A₂ B₂ f) (hf' : Set.MapsTo f A₁ B₁)
Goal: IsMulFreimanHom n A₁ B₁ f
-- IsAddFreimanHom.subset
@[to_additive] lemma IsMulFreimanHom.subset (hA : A₁ ⊆ A₂) (hf : IsMulFreimanHom n A₂ B₂ f)
    (hf' : MapsTo f A₁ B₁) : IsMulFreimanHom n A₁ B₁ f 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A₁ A₂ : Set α} {B₁ B₂ : Set β} {f : α → β} {n : ℕ} (hA : A₁ ⊆ A₂) (hf : IsAddFreimanHom n A₂ B₂ f) (hf' : Set.MapsTo f A₁ B₁)
Goal: IsAddFreimanHom n A₁ B₁ f
-- IsMulFreimanHom.superset
@[to_additive] lemma IsMulFreimanHom.superset (hB : B₁ ⊆ B₂) (hf : IsMulFreimanHom n A B₁ f) :
    IsMulFreimanHom n A B₂ f 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A : Set α} {B₁ B₂ : Set β} {f : α → β} {n : ℕ} (hB : B₁ ⊆ B₂) (hf : IsMulFreimanHom n A B₁ f)
Goal: IsMulFreimanHom n A B₂ f
-- IsAddFreimanHom.superset
@[to_additive] lemma IsMulFreimanHom.superset (hB : B₁ ⊆ B₂) (hf : IsMulFreimanHom n A B₁ f) :
    IsMulFreimanHom n A B₂ f 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A : Set α} {B₁ B₂ : Set β} {f : α → β} {n : ℕ} (hB : B₁ ⊆ B₂) (hf : IsAddFreimanHom n A B₁ f)
Goal: IsAddFreimanHom n A B₂ f
-- IsAddFreimanIso.subset
@[to_additive] lemma IsMulFreimanIso.subset (hA : A₁ ⊆ A₂) (hf : IsMulFreimanIso n A₂ B₂ f)
    (hf' : BijOn f A₁ B₁) : IsMulFreimanIso n A₁ B₁ f 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A₁ A₂ : Set α} {B₁ B₂ : Set β} {f : α → β} {n : ℕ} (hA : A₁ ⊆ A₂) (hf : IsAddFreimanIso n A₂ B₂ f) (hf' : Set.BijOn f A₁ B₁)
Goal: IsAddFreimanIso n A₁ B₁ f
-- IsMulFreimanIso.subset
@[to_additive] lemma IsMulFreimanIso.subset (hA : A₁ ⊆ A₂) (hf : IsMulFreimanIso n A₂ B₂ f)
    (hf' : BijOn f A₁ B₁) : IsMulFreimanIso n A₁ B₁ f 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A₁ A₂ : Set α} {B₁ B₂ : Set β} {f : α → β} {n : ℕ} (hA : A₁ ⊆ A₂) (hf : IsMulFreimanIso n A₂ B₂ f) (hf' : Set.BijOn f A₁ B₁)
Goal: IsMulFreimanIso n A₁ B₁ f
-- isMulFreimanHom_const
@[to_additive]
lemma isMulFreimanHom_const {b : β} (hb : b ∈ B) : IsMulFreimanHom n A B fun _ ↦ b 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A : Set α} {B : Set β} {n : ℕ} {b : β} (hb : b ∈ B)
Goal: IsMulFreimanHom n A B fun x => b
-- isAddFreimanHom_const
@[to_additive]
lemma isMulFreimanHom_const {b : β} (hb : b ∈ B) : IsMulFreimanHom n A B fun _ ↦ b 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A : Set α} {B : Set β} {n : ℕ} {b : β} (hb : b ∈ B)
Goal: IsAddFreimanHom n A B fun x => b
-- isAddFreimanIso_empty
@[to_additive (attr := simp)]
lemma isMulFreimanIso_empty : IsMulFreimanIso n (∅ : Set α) (∅ : Set β) f 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {f : α → β} {n : ℕ}
Goal: IsAddFreimanIso n ∅ ∅ f
-- isMulFreimanIso_empty
@[to_additive (attr := simp)]
lemma isMulFreimanIso_empty : IsMulFreimanIso n (∅ : Set α) (∅ : Set β) f 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {f : α → β} {n : ℕ}
Goal: IsMulFreimanIso n ∅ ∅ f
-- IsMulFreimanHom.mul
@[to_additive] lemma IsMulFreimanHom.mul (h₁ : IsMulFreimanHom n A B₁ f₁)
    (h₂ : IsMulFreimanHom n A B₂ f₂) : IsMulFreimanHom n A (B₁ * B₂) (f₁ * f₂) 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A : Set α} {B₁ B₂ : Set β} {f₁ f₂ : α → β} {n : ℕ} (h₁ : IsMulFreimanHom n A B₁ f₁) (h₂ : IsMulFreimanHom n A B₂ f₂)
Goal: IsMulFreimanHom n A (B₁ * B₂) (f₁ * f₂)
-- IsAddFreimanHom.add
@[to_additive] lemma IsMulFreimanHom.mul (h₁ : IsMulFreimanHom n A B₁ f₁)
    (h₂ : IsMulFreimanHom n A B₂ f₂) : IsMulFreimanHom n A (B₁ * B₂) (f₁ * f₂) 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A : Set α} {B₁ B₂ : Set β} {f₁ f₂ : α → β} {n : ℕ} (h₁ : IsAddFreimanHom n A B₁ f₁) (h₂ : IsAddFreimanHom n A B₂ f₂)
Goal: IsAddFreimanHom n A (B₁ + B₂) (f₁ + f₂)
-- AddMonoidHomClass.isAddFreimanHom
@[to_additive] lemma MonoidHomClass.isMulFreimanHom [FunLike F α β] [MonoidHomClass F α β] (f : F)
    (hfAB : MapsTo f A B) : IsMulFreimanHom n A B f 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A : Set α} {B : Set β} {n : ℕ} [FunLike F α β] [AddMonoidHomClass F α β] (f : F) (hfAB : Set.MapsTo (⇑f) A B)
Goal: IsAddFreimanHom n A B ⇑f
-- MonoidHomClass.isMulFreimanHom
@[to_additive] lemma MonoidHomClass.isMulFreimanHom [FunLike F α β] [MonoidHomClass F α β] (f : F)
    (hfAB : MapsTo f A B) : IsMulFreimanHom n A B f 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A : Set α} {B : Set β} {n : ℕ} [FunLike F α β] [MonoidHomClass F α β] (f : F) (hfAB : Set.MapsTo (⇑f) A B)
Goal: IsMulFreimanHom n A B ⇑f
-- MulEquivClass.isMulFreimanIso
@[to_additive] lemma MulEquivClass.isMulFreimanIso [EquivLike F α β] [MulEquivClass F α β] (f : F)
    (hfAB : BijOn f A B) : IsMulFreimanIso n A B f 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [CommMonoid α] [CommMonoid β] {A : Set α} {B : Set β} {n : ℕ} [EquivLike F α β] [MulEquivClass F α β] (f : F) (hfAB : Set.BijOn (⇑f) A B)
Goal: IsMulFreimanIso n A B ⇑f
-- AddEquivClass.isAddFreimanIso
@[to_additive] lemma MulEquivClass.isMulFreimanIso [EquivLike F α β] [MulEquivClass F α β] (f : F)
    (hfAB : BijOn f A B) : IsMulFreimanIso n A B f 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCommMonoid β] {A : Set α} {B : Set β} {n : ℕ} [EquivLike F α β] [AddEquivClass F α β] (f : F) (hfAB : Set.BijOn (⇑f) A B)
Goal: IsAddFreimanIso n A B ⇑f
-- IsAddFreimanHom.mono
@[to_additive]
lemma IsMulFreimanHom.mono (hmn : m ≤ n) (hf : IsMulFreimanHom n A B f) :
    IsMulFreimanHom m A B f 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [AddCancelCommMonoid β] {A : Set α} {B : Set β} {f : α → β} {m n : ℕ} (hmn : m ≤ n) (hf : IsAddFreimanHom n A B f)
Goal: IsAddFreimanHom m A B f
-- IsMulFreimanHom.mono
@[to_additive]
lemma IsMulFreimanHom.mono (hmn : m ≤ n) (hf : IsMulFreimanHom n A B f) :
    IsMulFreimanHom m A B f 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [CancelCommMonoid β] {A : Set α} {B : Set β} {f : α → β} {m n : ℕ} (hmn : m ≤ n) (hf : IsMulFreimanHom n A B f)
Goal: IsMulFreimanHom m A B f
-- IsAddFreimanIso.mono
@[to_additive]
lemma IsMulFreimanIso.mono {hmn : m ≤ n} (hf : IsMulFreimanIso n A B f) :
    IsMulFreimanIso m A B f 
Arguments: {α : Type u_2} {β : Type u_3} [AddCancelCommMonoid α] [AddCancelCommMonoid β] {A : Set α} {B : Set β} {f : α → β} {m n : ℕ} {hmn : m ≤ n} (hf : IsAddFreimanIso n A B f)
Goal: IsAddFreimanIso m A B f
-- IsMulFreimanIso.mono
@[to_additive]
lemma IsMulFreimanIso.mono {hmn : m ≤ n} (hf : IsMulFreimanIso n A B f) :
    IsMulFreimanIso m A B f 
Arguments: {α : Type u_2} {β : Type u_3} [CancelCommMonoid α] [CancelCommMonoid β] {A : Set α} {B : Set β} {f : α → β} {m n : ℕ} {hmn : m ≤ n} (hf : IsMulFreimanIso n A B f)
Goal: IsMulFreimanIso m A B f
-- IsMulFreimanHom.inv
@[to_additive]
lemma IsMulFreimanHom.inv (hf : IsMulFreimanHom n A B f) : IsMulFreimanHom n A B⁻¹ f⁻¹ 
Arguments: {α : Type u_2} {β : Type u_3} [CommMonoid α] [DivisionCommMonoid β] {A : Set α} {B : Set β} {f : α → β} {n : ℕ} (hf : IsMulFreimanHom n A B f)
Goal: IsMulFreimanHom n A B⁻¹ f⁻¹
-- IsAddFreimanHom.neg
@[to_additive]
lemma IsMulFreimanHom.inv (hf : IsMulFreimanHom n A B f) : IsMulFreimanHom n A B⁻¹ f⁻¹ 
Arguments: {α : Type u_2} {β : Type u_3} [AddCommMonoid α] [SubtractionCommMonoid β] {A : Set α} {B : Set β} {f : α → β} {n : ℕ} (hf : IsAddFreimanHom n A B f)
Goal: IsAddFreimanHom n A (-B) (-f)
-- IsMulFreimanHom.div
@[to_additive] lemma IsMulFreimanHom.div {β : Type*} [DivisionCommMonoid β] {B₁ B₂ : Set β}
    {f₁ f₂ : α → β} (h₁ : IsMulFreimanHom n A B₁ f₁) (h₂ : IsMulFreimanHom n A B₂ f₂) :
    IsMulFreimanHom n A (B₁ / B₂) (f₁ / f₂) 
Arguments: {α : Type u_2} [CommMonoid α] {A : Set α} {n : ℕ} {β : Type u_5} [DivisionCommMonoid β] {B₁ B₂ : Set β} {f₁ f₂ : α → β} (h₁ : IsMulFreimanHom n A B₁ f₁) (h₂ : IsMulFreimanHom n A B₂ f₂)
Goal: IsMulFreimanHom n A (B₁ / B₂) (f₁ / f₂)
-- IsAddFreimanHom.sub
@[to_additive] lemma IsMulFreimanHom.div {β : Type*} [DivisionCommMonoid β] {B₁ B₂ : Set β}
    {f₁ f₂ : α → β} (h₁ : IsMulFreimanHom n A B₁ f₁) (h₂ : IsMulFreimanHom n A B₂ f₂) :
    IsMulFreimanHom n A (B₁ / B₂) (f₁ / f₂) 
Arguments: {α : Type u_2} [AddCommMonoid α] {A : Set α} {n : ℕ} {β : Type u_5} [SubtractionCommMonoid β] {B₁ B₂ : Set β} {f₁ f₂ : α → β} (h₁ : IsAddFreimanHom n A B₁ f₁) (h₂ : IsAddFreimanHom n A B₂ f₂)
Goal: IsAddFreimanHom n A (B₁ - B₂) (f₁ - f₂)
-- IsAddFreimanHom.sum
@[to_additive]
lemma IsMulFreimanHom.prod (h₁ : IsMulFreimanHom n A₁ B₁ f₁) (h₂ : IsMulFreimanHom n A₂ B₂ f₂) :
    IsMulFreimanHom n (A₁ ×ˢ A₂) (B₁ ×ˢ B₂) (Prod.map f₁ f₂) 
Arguments: {α₁ : Type u_5} {α₂ : Type u_6} {β₁ : Type u_7} {β₂ : Type u_8} [AddCommMonoid α₁] [AddCommMonoid α₂] [AddCommMonoid β₁] [AddCommMonoid β₂] {A₁ : Set α₁} {A₂ : Set α₂} {B₁ : Set β₁} {B₂ : Set β₂} {f₁ : α₁ → β₁} {f₂ : α₂ → β₂} {n : ℕ} (h₁ : IsAddFreimanHom n A₁ B₁ f₁) (h₂ : IsAddFreimanHom n A₂ B₂ f₂)
Goal: IsAddFreimanHom n (A₁ ×ˢ A₂) (B₁ ×ˢ B₂) (Prod.map f₁ f₂)
-- IsMulFreimanHom.prod
@[to_additive]
lemma IsMulFreimanHom.prod (h₁ : IsMulFreimanHom n A₁ B₁ f₁) (h₂ : IsMulFreimanHom n A₂ B₂ f₂) :
    IsMulFreimanHom n (A₁ ×ˢ A₂) (B₁ ×ˢ B₂) (Prod.map f₁ f₂) 
Arguments: {α₁ : Type u_5} {α₂ : Type u_6} {β₁ : Type u_7} {β₂ : Type u_8} [CommMonoid α₁] [CommMonoid α₂] [CommMonoid β₁] [CommMonoid β₂] {A₁ : Set α₁} {A₂ : Set α₂} {B₁ : Set β₁} {B₂ : Set β₂} {f₁ : α₁ → β₁} {f₂ : α₂ → β₂} {n : ℕ} (h₁ : IsMulFreimanHom n A₁ B₁ f₁) (h₂ : IsMulFreimanHom n A₂ B₂ f₂)
Goal: IsMulFreimanHom n (A₁ ×ˢ A₂) (B₁ ×ˢ B₂) (Prod.map f₁ f₂)