reserve
  a for natural Number,
  k,l,m,n,k1,b,c,i for Nat,
  x,y,z,y1,y2 for object,
  X,Y for set,
  f,g for Function;
reserve p,q,r,s,t for FinSequence;
reserve D for set;

theorem Th32:
  p^q^r = p^(q^r)
proof
A1: dom ((p^q)^r) = Seg(len (p^q) + len r) by Def7
    .= Seg(len p + len q + len r) by Th22
    .= Seg(len p + (len q + len r))
    .= Seg(len p + len(q^r)) by Th22;
A2: for k st k in dom p holds ((p^q)^r).k=p.k
  proof
    let k;
    assume
A3: k in dom p;
    dom p c= dom(p^q) by Th26;
    hence (p^q^r).k=(p^q).k by A3,Def7
      .=p.k by A3,Def7;
  end;
  for k st k in dom(q^r) holds ((p^q)^r).(len p + k)=(q^r).k
  proof
    let k;
    assume
A4: k in dom(q^r);
A5: now
      assume
A6:   k in dom q;
      then (len p + k) in dom(p^q) by Th28;
      hence (p^q^r).(len p + k) = (p^q).(len p + k) by Def7
        .=q.k by A6,Def7
        .=(q^r).k by A6,Def7;
    end;
    now
      assume not k in dom q;
      then consider n such that
A7:   n in dom r and
A8:   k=len q + n by A4,Th25;
      thus (p^q^r).(len p + k) =(p^q^r).(len p + len q + n) by A8
        .=(p^q^r).(len(p^q) + n) by Th22
        .=r.n by A7,Def7
        .=(q^r).k by A7,A8,Def7;
    end;
    hence thesis by A5;
  end;
  hence thesis by A1,A2,Def7;
end;
