reserve a,x,y for object, A,B for set,
  l,m,n for Nat;
reserve X,Y for set, x for object,
  p,q for Function-yielding FinSequence,
  f,g,h for Function;
reserve m,n,k for Nat, R for Relation;

theorem
  for f,g being Function, a,b be object,
     A being set st f|A = g|A holds (f+*(a,b))|
  A = (g+*(a,b))|A
proof
  let f,g be Function, a,b be object, A be set such that
A1: f|A = g|A;
  per cases;
  suppose that
A2: a in A and
A3: a in dom g;
    now
      assume not a in dom f;
      then not a in dom f /\ A by XBOOLE_0:def 4;
      then not a in dom(g|A) by A1,RELAT_1:61;
      then not a in dom g /\ A by RELAT_1:61;
      hence contradiction by A2,A3,XBOOLE_0:def 4;
    end;
    hence (f+*(a,b))|A = (f +* (a.-->b))|A by Def2
      .= g|A +* (a.-->b)|A by A1,FUNCT_4:71
      .= (g +* (a.-->b))|A by FUNCT_4:71
      .= (g+*(a,b))|A by A3,Def2;
  end;
  suppose that
A4: a in A and
A5: not a in dom g;
    now
      assume a in dom f;
      then a in dom f /\ A by A4,XBOOLE_0:def 4;
      then a in dom(g|A) by A1,RELAT_1:61;
      then a in dom g /\ A by RELAT_1:61;
      hence contradiction by A5,XBOOLE_0:def 4;
    end;
    hence (f+*(a,b))|A = g|A by A1,Def2
      .= (g+*(a,b))|A by A5,Def2;
  end;
  suppose
A6: not a in A;
    hence (f+*(a,b))|A = f|A by Th91
      .= (g+*(a,b))|A by A1,A6,Th91;
  end;
end;
