
theorem Th124:
  for F being non empty Graph-yielding Function, S being GraphSum of F holds
    (F is loopless iff S is loopless) &
    (F is non-multi iff S is non-multi) &
    (F is non-Dmulti iff S is non-Dmulti) &
    (F is simple iff S is simple) &
    (F is Dsimple iff S is Dsimple) &
    (F is chordal iff S is chordal) &
    (F is edgeless iff S is edgeless) &
    (F is loopfull iff S is loopfull)
proof
  let F be non empty Graph-yielding Function, S be GraphSum of F;
  consider G9 being GraphUnion of rng canGFDistinction(F) such that
    A1: S is G9-Disomorphic by Def27;
  consider H being PGraphMapping of G9, S such that
    A2: H is Disomorphism by A1, GLIB_010:def 24;
  F, canGFDistinction(F) are_Disomorphic by Th87;
  then A3: F, canGFDistinction(F) are_isomorphic by Th42;
  :: loopless
  thus A4: F is loopless implies S is loopless by A2, GLIB_010:89;
  thus A5: S is loopless implies F is loopless
  proof
    assume S is loopless;
    then G9 is loopless by A2, GLIB_010:89;
    then rng canGFDistinction(F) is loopless by GLIB_014:23;
    hence F is loopless by GLIB_014:3;
  end;
  :: non-multi
  thus A6: F is non-multi implies S is non-multi by A2, GLIB_010:89;
  thus A7: S is non-multi implies F is non-multi
  proof
    assume S is non-multi;
    then G9 is non-multi by A2, GLIB_010:89;
    then rng canGFDistinction(F) is non-multi by Th60;
    hence F is non-multi by GLIB_014:3;
  end;
  :: non-Dmulti
  thus A8: F is non-Dmulti implies S is non-Dmulti by A2, GLIB_010:90;
  thus A9: S is non-Dmulti implies F is non-Dmulti
  proof
    assume S is non-Dmulti;
    then G9 is non-Dmulti by A2, GLIB_010:90;
    then rng canGFDistinction(F) is non-Dmulti by Th60;
    hence F is non-Dmulti by GLIB_014:3;
  end;
  :: simple
  thus F is simple implies S is simple by A4, A6;
  thus S is simple implies F is simple by A5, A7;
  :: Dsimple
  thus F is Dsimple implies S is Dsimple by A4, A8;
  thus S is Dsimple implies F is Dsimple by A5, A9;
  :: chordal
  hereby
    assume F is chordal;
    then canGFDistinction(F) is chordal by A3, Th48;
    then G9 is chordal by Th63;
    hence S is chordal by A2, GLIB_010:140;
  end;
  hereby
    assume S is chordal;
    then G9 is chordal by A2, GLIB_010:140;
    then rng canGFDistinction(F) is chordal by Th63;
    then canGFDistinction(F) is chordal by GLIB_014:3;
    hence F is chordal by A3, Th48;
  end;
  :: edgeless
  thus F is edgeless implies S is edgeless by A2, GLIB_010:89;
  hereby
    assume S is edgeless;
    then G9 is edgeless by A2, GLIB_010:89;
    then rng canGFDistinction(F) is edgeless by GLIB_014:23;
    hence F is edgeless by GLIB_014:3;
  end;
  :: loopfull
  hereby
    assume F is loopfull;
    then canGFDistinction(F) is loopfull by A3, Th48;
    then rng canGFDistinction(F) is loopfull;
    hence S is loopfull by A2, GLIB_012:10;
  end;
  hereby
    assume S is loopfull;
    then G9 is loopfull by A2, GLIB_012:10;
    then rng canGFDistinction(F) is loopfull by Th63;
    then canGFDistinction(F) is loopfull by GLIB_014:3;
    hence F is loopfull by A3, Th48;
  end;
end;
