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 Th24:
  for g being Function-yielding Function, X being Function, d being object
  holds dom NDentry(g,X,d) = rng X
  proof
    let g be Function-yielding Function;
    let X be Function;
    let d be object;
    set f = NDentry(g,X,d);
    set h = NDdataSeq(g,X,d);
A1: dom h = dom X by Def4;
    thus dom f c= rng X
    proof
      let x;
      assume x in dom f;
      then consider v such that
A2:   [x,v] in f by XTUPLE_0:def 12;
      consider z being object such that
A3:   z in dom h and
A4:   h.z = [x,v] by A2,FUNCT_1:def 3;
      h.z = [X.z,g.z.d] by A1,A3,Def4;
      then X.z = x by A4,XTUPLE_0:1;
      hence thesis by A1,A3,FUNCT_1:def 3;
    end;
    let x;
    assume x in rng X;
    then consider z being object such that
A5: z in dom X and
A6: X.z = x by FUNCT_1:def 3;
    h.z = [X.z,g.z.d] by A5,Def4;
    then [X.z,g.z.d] in rng h by A1,A5,FUNCT_1:3;
    hence thesis by A6,XTUPLE_0:def 12;
  end;
