reserve U1,U2,U3 for Universal_Algebra,
  n,m for Nat,
  x,y,z for object,
  A,B for non empty set,
  h1 for FinSequence of [:A,B:];
reserve h1 for homogeneous quasi_total non empty PartFunc of
    (the carrier of U1)*,the carrier of U1,
  h2 for homogeneous quasi_total non empty PartFunc of
    (the carrier of U2)*,the carrier of U2;

theorem Th9:
  for f be FinSequence of NAT holds TrivialOps(f) is homogeneous
  quasi_total non-empty
proof
  let f be FinSequence of NAT;
A1: for n be Nat,h be PartFunc of {{}}*,{{}} st n in dom TrivialOps(f) & h =
  (TrivialOps(f)).n holds h is quasi_total
  proof
    let n be Nat,h be PartFunc of {{}}*,{{}};
    assume that
A2: n in dom TrivialOps(f) and
A3: (TrivialOps(f)).n = h;
    dom TrivialOps(f) = Seg len TrivialOps(f) by FINSEQ_1:def 3
      .= Seg len f by Def8
      .= dom f by FINSEQ_1:def 3;
    then reconsider m = f.n as Element of NAT by A2,FINSEQ_2:11;
    (TrivialOps(f)).n = TrivialOp(m) by A2,Def8;
    hence thesis by A3;
  end;
A4: for n be object st n in dom TrivialOps(f)
holds (TrivialOps(f)).n is non empty
  proof
    let n be object;
    assume
A5: n in dom TrivialOps(f);
    then reconsider k = n as Element of NAT;
    dom TrivialOps(f) = Seg len TrivialOps(f) by FINSEQ_1:def 3
      .= Seg len f by Def8
      .= dom f by FINSEQ_1:def 3;
    then reconsider m = f.k as Element of NAT by A5,FINSEQ_2:11;
    (TrivialOps(f)).k = TrivialOp(m) by A5,Def8;
    hence thesis;
  end;
  for n be Nat,h be PartFunc of {{}}*,{{}} st n in dom TrivialOps(f) & h =
  (TrivialOps(f)).n holds h is homogeneous
  proof
    let n be Nat,h be PartFunc of {{}}*,{{}};
    assume that
A6: n in dom TrivialOps(f) and
A7: (TrivialOps(f)).n = h;
    dom TrivialOps(f) = Seg len TrivialOps(f) by FINSEQ_1:def 3
      .= Seg len f by Def8
      .= dom f by FINSEQ_1:def 3;
    then reconsider m = f.n as Element of NAT by A6,FINSEQ_2:11;
    (TrivialOps(f)).n = TrivialOp(m) by A6,Def8;
    hence thesis by A7;
  end;
  hence thesis by A1,A4,FUNCT_1:def 9;
end;
