
theorem
  for S1, S2 being Graph-membered set st S1,S2 are_isomorphic holds
    (S1 is empty implies S2 is empty) &
    (S1 is loopless implies S2 is loopless) &
    (S1 is non-multi implies S2 is non-multi) &
    (S1 is simple implies S2 is simple) &
    (S1 is acyclic implies S2 is acyclic) &
    (S1 is connected implies S2 is connected) &
    (S1 is Tree-like implies S2 is Tree-like) &
    (S1 is chordal implies S2 is chordal) &
    (S1 is edgeless implies S2 is edgeless) &
    (S1 is loopfull implies S2 is loopfull)
proof
  let S1, S2 be Graph-membered set;
  assume S1,S2 are_isomorphic;
  then consider f being one-to-one Function such that
    A1: dom f = S1 & rng f = S2 and
    A2: for G being _Graph st G in S1 holds f.G is G-isomorphic _Graph;
  hereby
    assume S1 is empty;
    then f = {}  by A1;
    hence S2 is empty by A1;
  end;
  hereby
    assume A3: S1 is loopless;
    now
      let G2 be _Graph;
      assume G2 in S2;
      then consider G1 being object such that
        A4: G1 in dom f & f.G1 = G2 by A1, FUNCT_1:def 3;
      reconsider G1 as _Graph by A1, A4;
      G2 is G1-isomorphic by A1, A2, A4;
      then consider G being PGraphMapping of G1, G2 such that
        A5: G is isomorphism by GLIB_010:def 23;
      thus G2 is loopless by A1, A3, A4, A5, GLIB_010:89;
    end;
    hence S2 is loopless by GLIB_014:def 3;
  end;
  hereby
    assume A6: S1 is non-multi;
    now
      let G2 be _Graph;
      assume G2 in S2;
      then consider G1 being object such that
        A7: G1 in dom f & f.G1 = G2 by A1, FUNCT_1:def 3;
      reconsider G1 as _Graph by A1, A7;
      G2 is G1-isomorphic by A1, A2, A7;
      then consider G being PGraphMapping of G1, G2 such that
        A8: G is isomorphism by GLIB_010:def 23;
      thus G2 is non-multi by A1, A6, A7, A8, GLIB_010:89;
    end;
    hence S2 is non-multi by GLIB_014:def 4;
  end;
  hereby
    assume A9: S1 is simple;
    now
      let G2 be _Graph;
      assume G2 in S2;
      then consider G1 being object such that
        A10: G1 in dom f & f.G1 = G2 by A1, FUNCT_1:def 3;
      reconsider G1 as _Graph by A1, A10;
      G2 is G1-isomorphic by A1, A2, A10;
      then consider G being PGraphMapping of G1, G2 such that
        A11: G is isomorphism by GLIB_010:def 23;
      thus G2 is simple by A1, A9, A10, A11, GLIB_010:89;
    end;
    hence S2 is simple by GLIB_014:def 6;
  end;
  hereby
    assume A12: S1 is acyclic;
    now
      let G2 be _Graph;
      assume G2 in S2;
      then consider G1 being object such that
        A13: G1 in dom f & f.G1 = G2 by A1, FUNCT_1:def 3;
      reconsider G1 as _Graph by A1, A13;
      G2 is G1-isomorphic by A1, A2, A13;
      then consider G being PGraphMapping of G1, G2 such that
        A14: G is isomorphism by GLIB_010:def 23;
      thus G2 is acyclic by A1, A12, A13, A14, GLIB_010:140;
    end;
    hence S2 is acyclic by GLIB_014:def 8;
  end;
  hereby
    assume A15: S1 is connected;
    now
      let G2 be _Graph;
      assume G2 in S2;
      then consider G1 being object such that
        A16: G1 in dom f & f.G1 = G2 by A1, FUNCT_1:def 3;
      reconsider G1 as _Graph by A1, A16;
      G2 is G1-isomorphic by A1, A2, A16;
      then consider G being PGraphMapping of G1, G2 such that
        A17: G is isomorphism by GLIB_010:def 23;
      thus G2 is connected by A1, A15, A16, A17, GLIB_010:140;
    end;
    hence S2 is connected by GLIB_014:def 9;
  end;
  hereby
    assume A18: S1 is Tree-like;
    now
      let G2 be _Graph;
      assume G2 in S2;
      then consider G1 being object such that
        A19: G1 in dom f & f.G1 = G2 by A1, FUNCT_1:def 3;
      reconsider G1 as _Graph by A1, A19;
      G2 is G1-isomorphic by A1, A2, A19;
      then consider G being PGraphMapping of G1, G2 such that
        A20: G is isomorphism by GLIB_010:def 23;
      G2 is connected acyclic by A1, A18, A19, A20, GLIB_010:140;
      hence G2 is Tree-like;
    end;
    hence S2 is Tree-like by GLIB_014:def 10;
  end;
  hereby
    assume A21: S1 is chordal;
    now
      let G2 be _Graph;
      assume G2 in S2;
      then consider G1 being object such that
        A22: G1 in dom f & f.G1 = G2 by A1, FUNCT_1:def 3;
      reconsider G1 as _Graph by A1, A22;
      G2 is G1-isomorphic by A1, A2, A22;
      then consider G being PGraphMapping of G1, G2 such that
        A23: G is isomorphism by GLIB_010:def 23;
      thus G2 is chordal by A1, A21, A22, A23, GLIB_010:140;
    end;
    hence S2 is chordal by GLIB_014:def 11;
  end;
  hereby
    assume A24: S1 is edgeless;
    now
      let G2 be _Graph;
      assume G2 in S2;
      then consider G1 being object such that
        A25: G1 in dom f & f.G1 = G2 by A1, FUNCT_1:def 3;
      reconsider G1 as _Graph by A1, A25;
      G2 is G1-isomorphic by A1, A2, A25;
      then consider G being PGraphMapping of G1, G2 such that
        A26: G is isomorphism by GLIB_010:def 23;
      thus G2 is edgeless by A1, A24, A25, A26, GLIB_010:89;
    end;
    hence S2 is edgeless by GLIB_014:def 12;
  end;
  hereby
    assume A27: S1 is loopfull;
    now
      let G2 be _Graph;
      assume G2 in S2;
      then consider G1 being object such that
        A28: G1 in dom f & f.G1 = G2 by A1, FUNCT_1:def 3;
      reconsider G1 as _Graph by A1, A28;
      G2 is G1-isomorphic by A1, A2, A28;
      then consider G being PGraphMapping of G1, G2 such that
        A29: G is isomorphism by GLIB_010:def 23;
      thus G2 is loopfull by A1, A27, A28, A29, GLIB_012:10;
    end;
    hence S2 is loopfull by GLIB_014:def 13;
  end;
end;
