reserve x for set;
reserve k, l for Nat;
reserve p, q for FinSequence;
reserve R for Relation;
reserve p, q for RedSequence of R;
reserve E for set;
reserve s, t for XFinSequence;
reserve p, q for XFinSequence-yielding FinSequence;

theorem
  s ^+ (t ^+ p) = (s^t) ^+ p & (p +^ t) +^ s = p +^ (t^s)
proof
A1: now
    let k be Nat;
    assume k in dom (s ^+ (t ^+ p));
    then
A2: k in dom (t ^+ p) by Def2;
    then
A3: k in dom p by Def2;
    thus (s ^+ (t ^+ p)).k = s^((t ^+ p).k) by A2,Def2
      .= s^(t^(p.k)) by A3,Def2
      .= s^t^(p.k) by AFINSQ_1:27
      .= ((s^t) ^+ p).k by A3,Def2;
  end;
  dom (s ^+ (t ^+ p)) = dom (t ^+ p) by Def2
    .= dom p by Def2
    .= dom ((s^t) ^+ p) by Def2;
  hence s ^+ (t ^+ p) = (s^t) ^+ p by A1,FINSEQ_1:13;
A4: now
    let k be Nat;
    assume k in dom ((p +^ t) +^ s);
    then
A5: k in dom (p +^ t) by Def3;
    then
A6: k in dom p by Def3;
    thus ((p +^ t) +^ s).k = ((p +^ t).k)^s by A5,Def3
      .= (p.k)^t^s by A6,Def3
      .= (p.k)^(t^s) by AFINSQ_1:27
      .= (p +^ (t^s)).k by A6,Def3;
  end;
  dom ((p +^ t) +^ s) = dom (p +^ t) by Def3
    .= dom p by Def3
    .= dom (p +^ (t^s)) by Def3;
  hence thesis by A4,FINSEQ_1:13;
end;
