
theorem Th128:
  for G1, G2 being _Graph, S being GraphSum of G1, G2 holds
    (G1 is loopless & G2 is loopless iff S is loopless) &
    (G1 is non-multi & G2 is non-multi iff S is non-multi) &
    (G1 is non-Dmulti & G2 is non-Dmulti iff S is non-Dmulti) &
    (G1 is simple & G2 is simple iff S is simple) &
    (G1 is Dsimple & G2 is Dsimple iff S is Dsimple) &
    (G1 is acyclic & G2 is acyclic iff S is acyclic) &
    (G1 is chordal & G2 is chordal iff S is chordal) &
    (G1 is edgeless & G2 is edgeless iff S is edgeless) &
    (G1 is loopfull & G2 is loopfull iff S is loopfull)
proof
  let G1, G2 be _Graph, S be GraphSum of G1, G2;
  1 in {1,2} & 2 in {1,2} by TARSKI:def 2;
  then A1: 1 in dom <* G1, G2 *> & 2 in dom <* G1, G2 *> by FINSEQ_1:92;
  A2: <* G1, G2 *>.1 = G1 & <* G1, G2 *>.2 = G2;
  A3: S is GraphSum of <* G1, G2 *> by Def28;
  :: loopless
  thus G1 is loopless & G2 is loopless implies S is loopless by A3;
  hereby
    assume S is loopless;
    then <* G1, G2 *> is loopless by A3;
    hence G1 is loopless & G2 is loopless by A1, A2;
  end;
  :: non-multi
  thus G1 is non-multi & G2 is non-multi implies S is non-multi by A3;
  hereby
    assume S is non-multi;
    then <* G1, G2 *> is non-multi by A3;
    hence G1 is non-multi & G2 is non-multi by A1, A2;
  end;
  :: non-Dmulti
  thus G1 is non-Dmulti & G2 is non-Dmulti implies S is non-Dmulti by A3;
  hereby
    assume S is non-Dmulti;
    then <* G1, G2 *> is non-Dmulti by A3;
    hence G1 is non-Dmulti & G2 is non-Dmulti by A1, A2;
  end;
  :: simple
  thus G1 is simple & G2 is simple implies S is simple by A3;
  hereby
    assume S is simple;
    then <* G1, G2 *> is simple by A3, Th124;
    hence G1 is simple & G2 is simple by A1, A2;
  end;
  :: Dsimple
  thus G1 is Dsimple & G2 is Dsimple implies S is Dsimple by A3;
  hereby
    assume S is Dsimple;
    then <* G1, G2 *> is Dsimple by A3, Th124;
    hence G1 is Dsimple & G2 is Dsimple by A1, A2;
  end;
  :: acyclic
  thus G1 is acyclic & G2 is acyclic implies S is acyclic by A3;
  hereby
    assume S is acyclic;
    then <* G1, G2 *> is acyclic by A3;
    hence G1 is acyclic & G2 is acyclic by A1, A2;
  end;
  :: chordal
  thus G1 is chordal & G2 is chordal implies S is chordal by A3, Th124;
  hereby
    assume S is chordal;
    then <* G1, G2 *> is chordal by A3, Th124;
    hence G1 is chordal & G2 is chordal by A1, A2;
  end;
  :: edgeless
  thus G1 is edgeless & G2 is edgeless implies S is edgeless by A3;
  hereby
    assume S is edgeless;
    then <* G1, G2 *> is edgeless by A3;
    hence G1 is edgeless & G2 is edgeless by A1, A2;
  end;
  :: loopfull
  thus G1 is loopfull & G2 is loopfull implies S is loopfull by A3;
  hereby
    assume S is loopfull;
    then <* G1, G2 *> is loopfull by A3;
    hence G1 is loopfull & G2 is loopfull by A1, A2;
  end;
end;
