case singleton
ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j i✝ : ι
x✝ : M i✝
a✝ : x✝ ≠ 1
x : M i✝
hnotone : x ≠ 1
⊢ head (replaceHead x hnotone (singleton x✝ a✝)) = x

case append
ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j i✝ j✝ k✝ l✝ : ι
_w₁✝ : NeWord M i✝ j✝
_hne✝ : j✝ ≠ k✝
_w₂✝ : NeWord M k✝ l✝
_w₁_ih✝ : ∀ (x : M i✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₁✝) = x
_w₂_ih✝ : ∀ (x : M k✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₂✝) = x
x : M i✝
hnotone : x ≠ 1
⊢ head (replaceHead x hnotone (append _w₁✝ _hne✝ _w₂✝)) = x
ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j : ι
x : M i
hnotone : x ≠ 1
w : NeWord M i j
⊢ head (replaceHead x hnotone w) = x
induction w
case append
ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j i✝ j✝ k✝ l✝ : ι
_w₁✝ : NeWord M i✝ j✝
_hne✝ : j✝ ≠ k✝
_w₂✝ : NeWord M k✝ l✝
_w₁_ih✝ : ∀ (x : M i✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₁✝) = x
_w₂_ih✝ : ∀ (x : M k✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₂✝) = x
x : M i✝
hnotone : x ≠ 1
⊢ head (replaceHead x hnotone (append _w₁✝ _hne✝ _w₂✝)) = x
case singleton
ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j i✝ : ι
x✝ : M i✝
a✝ : x✝ ≠ 1
x : M i✝
hnotone : x ≠ 1
⊢ head (replaceHead x hnotone (singleton x✝ a✝)) = x

case append
ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j i✝ j✝ k✝ l✝ : ι
_w₁✝ : NeWord M i✝ j✝
_hne✝ : j✝ ≠ k✝
_w₂✝ : NeWord M k✝ l✝
_w₁_ih✝ : ∀ (x : M i✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₁✝) = x
_w₂_ih✝ : ∀ (x : M k✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₂✝) = x
x : M i✝
hnotone : x ≠ 1
⊢ head (replaceHead x hnotone (append _w₁✝ _hne✝ _w₂✝)) = x
rfl
no goals
case append
ι : Type u_2
M : ι → Type u_1
inst✝¹ : (i : ι) → Monoid (M i)
N : Type ?u.614378
inst✝ : Monoid N
i j i✝ j✝ k✝ l✝ : ι
_w₁✝ : NeWord M i✝ j✝
_hne✝ : j✝ ≠ k✝
_w₂✝ : NeWord M k✝ l✝
_w₁_ih✝ : ∀ (x : M i✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₁✝) = x
_w₂_ih✝ : ∀ (x : M k✝) (hnotone : x ≠ 1), head (replaceHead x hnotone _w₂✝) = x
x : M i✝
hnotone : x ≠ 1
⊢ head (replaceHead x hnotone (append _w₁✝ _hne✝ _w₂✝)) = x
simp [*]