The exercise is:
Prove that if σ and τ are two substitutions that agree on the variables of the term t, then tσ = tτ. Use structural induction on t.
I understand the principle of substitutions, but I don't really understand the rest.
Does tσ = tτ mean for example: if tσ = f(x,y), tτ = f(x,y) then j(k(t))σ = j(k(f(x,y))) and j(k(t))τ = j(k(f(x,y))) ? I don't really understand what to show.
And I know what structural inducation is, but I don't understand how to use it here.
Say we have two substitutions $\sigma$ and $\tau$, that is to say two injective maps from alphabet $\Sigma$ to alphabet $\Sigma'$, say.
Instead of writing "$t\sigma = t\tau$", which might be confusing, I prefer to extend $\sigma, \tau$ naturally to a function $\sigma^*$ from the set $Term(\Sigma)$ of terms over $\Sigma$ to the set $Term(\Sigma')$. This allows us to write "$\sigma^*(t) = \tau^*(t)$" instead.
Formally, $\sigma^*$ is defined by induction on the construction of terms over alphabet $\Sigma$ as follows :
Case $t = x$ for $x \in \Sigma$ :
We set $\sigma^*(t) = \sigma^*(x) := \sigma(x)$.
Case $t = f(t_1, \dots, t_n)$ for $t_1, \dots, t_n \in Term(\Sigma)$ :
We set $\sigma^*(t) := f\big(\sigma^*(t_1), \dots, \sigma^*(t_n)\big)$.
Suppose $\sigma$ and $\tau$ agree on the variables $V = Var(t)$ of $t$. We show by induction on the construction of $t$ that $\sigma^*$ and $\tau^*$ agree on all terms $t$ whose variables are in $V$ :
Case $t = x$ for $x \in V$ :
We have $\sigma^*(t) = \sigma(x) = \tau(x) = \tau^*(t)$.
Case $t = f(t_1, \dots, t_n)$ for $t_1, \dots, t_n \in Term(\Sigma)$ :
Since $Var(t) = Var(t_1) \cup \dots \cup Var(t_n)$, the variables of $t_i$ belong to $V$ for all $i$. We can hence apply the induction hypothesis and we get $\sigma^*(t_i) = \tau^*(t_i)$ for all $i$. But now, $$\sigma^*(t) := f\big(\sigma^*(t_1), \dots, \sigma^*(t_n)\big) = f\big(\tau^*(t_1), \dots, \tau^*(t_n)\big) = \tau^*(t)$$