reserve a,b,c,v,v1,x,y for object;
reserve V,A for set;
reserve d for TypeSCNominativeData of V,A;
reserve p,q,r for SCPartialNominativePredicate of V,A;
reserve n for Nat;
reserve X for Function;

theorem Th22:
  for f,g being Function, a,b,d being object holds
  NDentry(<*f,g*>,<*a,b*>,d) = {[a,f.d],[b,g.d]}
  proof
    let f,g be Function;
    let a,b,d be object;
    set X = <*a,b*>;
    set G = <*f,g*>;
    set A = {[a,f.d],[b,g.d]};
    set N = NDdataSeq(G,X,d);
    set F = NDentry(G,X,d);
A1: dom N = dom X by Def4;
A2: dom X = {1,2} by FINSEQ_1:92;
A3: 1 in {1,2} by TARSKI:def 2;
    then
A4: N.1 = [X.1,G.1.d] by A2,Def4;
A5: 2 in {1,2} by TARSKI:def 2;
    then
A6: N.2 = [X.2,G.2.d] by A2,Def4;
    thus F c= A
    proof
      let y be object;
      assume y in F;
      then consider z being object such that
A8:   z in dom N and
A9:   N.z = y by FUNCT_1:def 3;
      z = 1 or z = 2 by A1,A2,A8,TARSKI:def 2;
      hence thesis by A4,A6,A9,TARSKI:def 2;
    end;
    let y,z be object;
    assume [y,z] in A;
    then [y,z] = [a,f.d] or [y,z] = [b,g.d] by TARSKI:def 2;
    hence thesis by A1,A2,A3,A4,A5,A6,FUNCT_1:def 3;
  end;
