
theorem ::VALUED146:
  for f be non empty XFinSequence,g be FinSequence holds
  dom(f \/ (Shift(g,len f - 1))) = Segm (len f + len g)
  proof
    let f be non empty XFinSequence, g be FinSequence;
    A0: dom (f \/ (Shift(g,len f - 1))) = dom f \/ dom (Shift (g,len f - 1))
      by XTUPLE_0:23;
    for x be object holds x in dom (f \/ (Shift(g,len f - 1))) iff
      x in Segm (len f + len g)
    proof
      let x be object;
      C1: x in dom (f \/ (Shift(g,len f -1))) implies
        x in Segm (len f + len g)
      proof
        assume
        D1: x in dom (f \/ (Shift(g,len f -1))); then
        reconsider x as Nat;
        per cases by A0,D1,XBOOLE_0:def 3;
        suppose
          x in dom f; then
          x in Segm len f & len f + len g >= len f + 0 by XREAL_1:6; then
          x < len f + len g by XXREAL_0:2, NAT_1:44;
          hence thesis by NAT_1:44;
        end;
        suppose
          x in dom Shift (g,len f - 1); then
          x in {m + (len f - 1) where m is Nat: m in dom g}
            by VALUED_1:def 12; then
          consider m be Nat such that
          E1: x = m + (len f - 1) & m in dom g;
          m <= len g by E1,FINSEQ_3:25; then
          m < len g + 1 by NAT_1:13; then
          m + (len f -1) < (len g + 1) + (len f -1) by XREAL_1:6;
          hence thesis by NAT_1:44,E1;
        end;
      end;
      x in Segm (len f + len g) implies x in dom (f \/ (Shift(g,len f - 1)))
      proof
        assume
        C1: x in Segm (len f + len g); then
        reconsider x as Nat;
        per cases;
        suppose x < len f; then
          x in Segm len f by NAT_1:44;
          hence thesis by A0,XBOOLE_0:def 3;
        end;
        suppose
          x >= len f; then
      D1: (len f + len g) - len f > x - len f >= len f - len f
            by C1,NAT_1:44,XREAL_1:9; then
          reconsider k = x - len f as Nat by INT_1:3;
          k in Segm len g by D1,NAT_1:44; then
          k + 1 in Seg len g by NEWTON02:106; then
          x - (len f - 1) in dom g by FINSEQ_1:def 3; then
          (x - (len f - 1)) + (len f - 1) in dom (Shift (g,len f - 1))
            by VALUED_1:24;
          hence thesis by A0,XBOOLE_0:def 3;
        end;
      end;
      hence thesis by C1;
    end;
    hence thesis by TARSKI:2;
  end;
