cases v
Δ : RankedAlphabet
H : Type
target : Algebra Δ
f : { a // Vars Δ H a } → target.carrier
a✝ : target ∈ Set.univ
v : (Term.algebra Δ H).carrier
hv : Vars Δ H v
⊢ f { val := v, property := hv } = Hom.hom (Term.algebraHom target f) { val := v, property := hv }.val
case var
Δ : RankedAlphabet
H : Type
target : Algebra Δ
f : { a // Vars Δ H a } → target.carrier
a✝ : target ∈ Set.univ
h✝ : H
hv : Vars Δ H (var h✝)
⊢ f { val := var h✝, property := hv } = Hom.hom (Term.algebraHom target f) { val := var h✝, property := hv }.val

case app
Δ : RankedAlphabet
H : Type
target : Algebra Δ
f : { a // Vars Δ H a } → target.carrier
a✝ : target ∈ Set.univ
σ✝ : Δ.alphabet
v✝ : Fin (RankedAlphabet.rank Δ σ✝) → Term Δ H
hv : Vars Δ H (app σ✝ v✝)
⊢ f { val := app σ✝ v✝, property := hv } = Hom.hom (Term.algebraHom target f) { val := app σ✝ v✝, property := hv }.val