case h
F : Type ?u.4278
ι : Type ?u.4281
α : Type u_1
β : Type ?u.4287
γ : Type ?u.4290
f : α → β → β
op : α → α → α
assoc : IsAssociative α op
a x : α
a✝ : List α
h : Set.Pairwise {x | x ∈ a ::ₘ Quotient.mk (List.isSetoid α) a✝} fun x y => op x y = op y x
h' : Set.Pairwise {x | x ∈ Quotient.mk (List.isSetoid α) a✝} fun x y => op x y = op y x
⊢ noncommFold op (a ::ₘ Quotient.mk (List.isSetoid α) a✝) h x =
    op a (noncommFold op (Quotient.mk (List.isSetoid α) a✝) h' x)
F : Type ?u.4278
ι : Type ?u.4281
α : Type u_1
β : Type ?u.4287
γ : Type ?u.4290
f : α → β → β
op : α → α → α
assoc : IsAssociative α op
s : Multiset α
a : α
h : Set.Pairwise {x | x ∈ a ::ₘ s} fun x y => op x y = op y x
h' : Set.Pairwise {x | x ∈ s} fun x y => op x y = op y x
x : α
⊢ noncommFold op (a ::ₘ s) h x = op a (noncommFold op s h' x)
induction s using Quotient.inductionOn
no goals
case h
F : Type ?u.4278
ι : Type ?u.4281
α : Type u_1
β : Type ?u.4287
γ : Type ?u.4290
f : α → β → β
op : α → α → α
assoc : IsAssociative α op
a x : α
a✝ : List α
h : Set.Pairwise {x | x ∈ a ::ₘ Quotient.mk (List.isSetoid α) a✝} fun x y => op x y = op y x
h' : Set.Pairwise {x | x ∈ Quotient.mk (List.isSetoid α) a✝} fun x y => op x y = op y x
⊢ noncommFold op (a ::ₘ Quotient.mk (List.isSetoid α) a✝) h x =
    op a (noncommFold op (Quotient.mk (List.isSetoid α) a✝) h' x)
simp