theorem Th78:
  r is x1-omitting x2-omitting implies Hom(T,x1,x2).r = r
  proof
    set s0 = s;
    defpred P[Element of T] means $1 is x1-omitting x2-omitting implies
    Hom(T,x1,x2).(the_sort_of $1).$1 = $1;
A1: for s,x,r st r = x-term holds P[r]
    proof
      let s,x,r;
      assume Z0: r = x-term;
      assume r is x1-omitting & r is x2-omitting;
      then x-term is x1-omitting x2-omitting by Z0;
      then (s0 <> s or x <> x1) & (s0 <> s or x <> x2);
      then Hom(T,x1,x2).s.r = r & the_sort_of @r = the_sort_of r
      by Z0,HOM,Lem00;
      hence Hom(T,x1,x2).(the_sort_of r).r = r by Z0,SORT;
    end;
A2: for o, p, r st r = o-term p &
      for t being Element of T st t in rng p holds P[t]
    holds P[r]
    proof
      let o, p, r;
      assume Z1: r = o-term p;
      assume Z2: for t being Element of T st t in rng p holds P[t];
      assume r is x1-omitting x2-omitting;
      then
Z4:   o-term p is x1-omitting x2-omitting by Z1;
A9:   the_sort_of @r = the_sort_of r by Lem00;
      then the_sort_of r = the_result_sort_of o by Z1,Th8;
      then
      o-term p in (the Sorts of T).the_result_sort_of o by Z1,SORT;
      then
A5:   Den(o,Free(S,X)).p in (the Sorts of T).the_result_sort_of o
      by MSAFREE4:13;
      then reconsider q = p as Element of Args(o,T) by MSAFREE4:def 8;
A7:   Den(o,T).q = Den(o,Free(S,X)).p = o-term p by A5,MSAFREE4:def 8,13;
A8:   Hom(T,x1,x2).(the_result_sort_of o).r = Den(o,T).(Hom(T,x1,x2)#q)
      by Z1,A7,MSUALG_3:def 7,MSUALG_6:def 2;
      q = Hom(T,x1,x2)#q
      proof
B1:     dom q = dom the_arity_of o = dom (Hom(T,x1,x2)#q) by MSUALG_3:6;
        hence len q = len (Hom(T,x1,x2)#q) by FINSEQ_3:29;
        let i; assume
B5:     1 <= i <= len q;
        then
B4:     i in dom q by FINSEQ_3:25;
        then
B2:     p/.i is x1-omitting x2-omitting & p/.i = p.i = q/.i & p.i in rng p
        by Z4,Th54,FUNCT_1:def 3,PARTFUN1:def 6;
        then q/.i is x1-omitting x2-omitting;
        then
B3:     Hom(T,x1,x2).(the_sort_of (q/.i)).(q/.i) = q/.i by Z2,B2;
        q/.i in (the Sorts of T).((the_arity_of o)/.i)
        by B1,B5,B2,FINSEQ_3:25,MSUALG_6:2;
        then the_sort_of (q/.i) = (the_arity_of o)/.i by SORT;
        hence q.i = (Hom(T,x1,x2)#q).i by B4,B2,B3,MSUALG_3:def 6;
      end;
      hence Hom(T,x1,x2).(the_sort_of r).r = r by Z1,A9,A7,A8,Th8;
    end;
    P[r] from TermAlgebraInd(A1,A2);
    hence thesis by ABBR;
  end;
