let F1, F2 be Graph-yielding Function; :: thesis: ( F1,F2 are_isomorphic implies ( ( F1 is empty implies F2 is empty ) & ( F1 is loopless implies F2 is loopless ) & ( F1 is non-multi implies F2 is non-multi ) & ( F1 is simple implies F2 is simple ) & ( F1 is acyclic implies F2 is acyclic ) & ( F1 is connected implies F2 is connected ) & ( F1 is Tree-like implies F2 is Tree-like ) & ( F1 is chordal implies F2 is chordal ) & ( F1 is edgeless implies F2 is edgeless ) & ( F1 is loopfull implies F2 is loopfull ) ) )
assume F1,F2 are_isomorphic ; :: thesis: ( ( F1 is empty implies F2 is empty ) & ( F1 is loopless implies F2 is loopless ) & ( F1 is non-multi implies F2 is non-multi ) & ( F1 is simple implies F2 is simple ) & ( F1 is acyclic implies F2 is acyclic ) & ( F1 is connected implies F2 is connected ) & ( F1 is Tree-like implies F2 is Tree-like ) & ( F1 is chordal implies F2 is chordal ) & ( F1 is edgeless implies F2 is edgeless ) & ( F1 is loopfull implies F2 is loopfull ) )
then consider p being one-to-one Function such that
A1: ( dom p = dom F1 & rng p = dom F2 ) and
A2: for x being object st x in dom F1 holds
ex G1, G2 being _Graph st
( G1 = F1 . x & G2 = F2 . (p . x) & G2 is G1 -isomorphic ) ;
hereby :: thesis: ( ( F1 is loopless implies F2 is loopless ) & ( F1 is non-multi implies F2 is non-multi ) & ( F1 is simple implies F2 is simple ) & ( F1 is acyclic implies F2 is acyclic ) & ( F1 is connected implies F2 is connected ) & ( F1 is Tree-like implies F2 is Tree-like ) & ( F1 is chordal implies F2 is chordal ) & ( F1 is edgeless implies F2 is edgeless ) & ( F1 is loopfull implies F2 is loopfull ) ) end;
hereby :: thesis: ( ( F1 is non-multi implies F2 is non-multi ) & ( F1 is simple implies F2 is simple ) & ( F1 is acyclic implies F2 is acyclic ) & ( F1 is connected implies F2 is connected ) & ( F1 is Tree-like implies F2 is Tree-like ) & ( F1 is chordal implies F2 is chordal ) & ( F1 is edgeless implies F2 is edgeless ) & ( F1 is loopfull implies F2 is loopfull ) )
assume A3: F1 is loopless ; :: thesis: F2 is loopless
now :: thesis: for x being object st x in dom F2 holds
ex G2 being _Graph st
( F2 . x = G2 & G2 is loopless )
let x be object ; :: thesis: ( x in dom F2 implies ex G2 being _Graph st
( F2 . x = G2 & G2 is loopless ) )

assume x in dom F2 ; :: thesis: ex G2 being _Graph st
( F2 . x = G2 & G2 is loopless )

then consider x0 being object such that
A4: ( x0 in dom p & p . x0 = x ) by A1, FUNCT_1:def 3;
consider G1, G2 being _Graph such that
A5: ( G1 = F1 . x0 & G2 = F2 . (p . x0) & G2 is G1 -isomorphic ) by A1, A2, A4;
take G2 = G2; :: thesis: ( F2 . x = G2 & G2 is loopless )
thus F2 . x = G2 by A4, A5; :: thesis: G2 is loopless
consider G9 being _Graph such that
A6: ( F1 . x0 = G9 & G9 is loopless ) by A1, A3, A4, GLIB_000:def 59;
thus G2 is loopless by A5, A6; :: thesis: verum
end;
hence F2 is loopless by GLIB_000:def 59; :: thesis: verum
end;
hereby :: thesis: ( ( F1 is simple implies F2 is simple ) & ( F1 is acyclic implies F2 is acyclic ) & ( F1 is connected implies F2 is connected ) & ( F1 is Tree-like implies F2 is Tree-like ) & ( F1 is chordal implies F2 is chordal ) & ( F1 is edgeless implies F2 is edgeless ) & ( F1 is loopfull implies F2 is loopfull ) )
assume A7: F1 is non-multi ; :: thesis: F2 is non-multi
now :: thesis: for x being object st x in dom F2 holds
ex G2 being _Graph st
( F2 . x = G2 & G2 is non-multi )
let x be object ; :: thesis: ( x in dom F2 implies ex G2 being _Graph st
( F2 . x = G2 & G2 is non-multi ) )

assume x in dom F2 ; :: thesis: ex G2 being _Graph st
( F2 . x = G2 & G2 is non-multi )

then consider x0 being object such that
A8: ( x0 in dom p & p . x0 = x ) by A1, FUNCT_1:def 3;
consider G1, G2 being _Graph such that
A9: ( G1 = F1 . x0 & G2 = F2 . (p . x0) & G2 is G1 -isomorphic ) by A1, A2, A8;
take G2 = G2; :: thesis: ( F2 . x = G2 & G2 is non-multi )
thus F2 . x = G2 by A8, A9; :: thesis: G2 is non-multi
consider G9 being _Graph such that
A10: ( F1 . x0 = G9 & G9 is non-multi ) by A1, A7, A8, GLIB_000:def 62;
consider G being PGraphMapping of G1,G2 such that
A11: G is isomorphism by A9, GLIB_010:def 23;
thus G2 is non-multi by A9, A10, A11, GLIB_010:89; :: thesis: verum
end;
hence F2 is non-multi by GLIB_000:def 62; :: thesis: verum
end;
hereby :: thesis: ( ( F1 is acyclic implies F2 is acyclic ) & ( F1 is connected implies F2 is connected ) & ( F1 is Tree-like implies F2 is Tree-like ) & ( F1 is chordal implies F2 is chordal ) & ( F1 is edgeless implies F2 is edgeless ) & ( F1 is loopfull implies F2 is loopfull ) )
assume A12: F1 is simple ; :: thesis: F2 is simple
now :: thesis: for x being object st x in dom F2 holds
ex G2 being _Graph st
( F2 . x = G2 & G2 is simple )
let x be object ; :: thesis: ( x in dom F2 implies ex G2 being _Graph st
( F2 . x = G2 & G2 is simple ) )

assume x in dom F2 ; :: thesis: ex G2 being _Graph st
( F2 . x = G2 & G2 is simple )

then consider x0 being object such that
A13: ( x0 in dom p & p . x0 = x ) by A1, FUNCT_1:def 3;
consider G1, G2 being _Graph such that
A14: ( G1 = F1 . x0 & G2 = F2 . (p . x0) & G2 is G1 -isomorphic ) by A1, A2, A13;
take G2 = G2; :: thesis: ( F2 . x = G2 & G2 is simple )
thus F2 . x = G2 by A13, A14; :: thesis: G2 is simple
consider G9 being _Graph such that
A15: ( F1 . x0 = G9 & G9 is simple ) by A1, A12, A13, GLIB_000:def 64;
consider G being PGraphMapping of G1,G2 such that
A16: G is isomorphism by A14, GLIB_010:def 23;
thus G2 is simple by A14, A15, A16, GLIB_010:89; :: thesis: verum
end;
hence F2 is simple by GLIB_000:def 64; :: thesis: verum
end;
hereby :: thesis: ( ( F1 is connected implies F2 is connected ) & ( F1 is Tree-like implies F2 is Tree-like ) & ( F1 is chordal implies F2 is chordal ) & ( F1 is edgeless implies F2 is edgeless ) & ( F1 is loopfull implies F2 is loopfull ) )
assume A17: F1 is acyclic ; :: thesis: F2 is acyclic
now :: thesis: for x being object st x in dom F2 holds
ex G2 being _Graph st
( F2 . x = G2 & G2 is acyclic )
let x be object ; :: thesis: ( x in dom F2 implies ex G2 being _Graph st
( F2 . x = G2 & G2 is acyclic ) )

assume x in dom F2 ; :: thesis: ex G2 being _Graph st
( F2 . x = G2 & G2 is acyclic )

then consider x0 being object such that
A18: ( x0 in dom p & p . x0 = x ) by A1, FUNCT_1:def 3;
consider G1, G2 being _Graph such that
A19: ( G1 = F1 . x0 & G2 = F2 . (p . x0) & G2 is G1 -isomorphic ) by A1, A2, A18;
take G2 = G2; :: thesis: ( F2 . x = G2 & G2 is acyclic )
thus F2 . x = G2 by A18, A19; :: thesis: G2 is acyclic
consider G9 being _Graph such that
A20: ( F1 . x0 = G9 & G9 is acyclic ) by A1, A17, A18, GLIB_002:def 13;
consider G being PGraphMapping of G1,G2 such that
A21: G is isomorphism by A19, GLIB_010:def 23;
thus G2 is acyclic by A19, A20, A21, GLIB_010:140; :: thesis: verum
end;
hence F2 is acyclic by GLIB_002:def 13; :: thesis: verum
end;
hereby :: thesis: ( ( F1 is Tree-like implies F2 is Tree-like ) & ( F1 is chordal implies F2 is chordal ) & ( F1 is edgeless implies F2 is edgeless ) & ( F1 is loopfull implies F2 is loopfull ) )
assume A22: F1 is connected ; :: thesis: F2 is connected
now :: thesis: for x being object st x in dom F2 holds
ex G2 being _Graph st
( F2 . x = G2 & G2 is connected )
let x be object ; :: thesis: ( x in dom F2 implies ex G2 being _Graph st
( F2 . x = G2 & G2 is connected ) )

assume x in dom F2 ; :: thesis: ex G2 being _Graph st
( F2 . x = G2 & G2 is connected )

then consider x0 being object such that
A23: ( x0 in dom p & p . x0 = x ) by A1, FUNCT_1:def 3;
consider G1, G2 being _Graph such that
A24: ( G1 = F1 . x0 & G2 = F2 . (p . x0) & G2 is G1 -isomorphic ) by A1, A2, A23;
take G2 = G2; :: thesis: ( F2 . x = G2 & G2 is connected )
thus F2 . x = G2 by A23, A24; :: thesis: G2 is connected
consider G9 being _Graph such that
A25: ( F1 . x0 = G9 & G9 is connected ) by A1, A22, A23, GLIB_002:def 12;
consider G being PGraphMapping of G1,G2 such that
A26: G is isomorphism by A24, GLIB_010:def 23;
thus G2 is connected by A24, A25, A26, GLIB_010:140; :: thesis: verum
end;
hence F2 is connected by GLIB_002:def 12; :: thesis: verum
end;
hereby :: thesis: ( ( F1 is chordal implies F2 is chordal ) & ( F1 is edgeless implies F2 is edgeless ) & ( F1 is loopfull implies F2 is loopfull ) )
assume A27: F1 is Tree-like ; :: thesis: F2 is Tree-like
now :: thesis: for x being object st x in dom F2 holds
ex G2 being _Graph st
( F2 . x = G2 & G2 is Tree-like )
let x be object ; :: thesis: ( x in dom F2 implies ex G2 being _Graph st
( F2 . x = G2 & G2 is Tree-like ) )

assume x in dom F2 ; :: thesis: ex G2 being _Graph st
( F2 . x = G2 & G2 is Tree-like )

then consider x0 being object such that
A28: ( x0 in dom p & p . x0 = x ) by A1, FUNCT_1:def 3;
consider G1, G2 being _Graph such that
A29: ( G1 = F1 . x0 & G2 = F2 . (p . x0) & G2 is G1 -isomorphic ) by A1, A2, A28;
take G2 = G2; :: thesis: ( F2 . x = G2 & G2 is Tree-like )
thus F2 . x = G2 by A28, A29; :: thesis: G2 is Tree-like
consider G9 being _Graph such that
A30: ( F1 . x0 = G9 & G9 is Tree-like ) by A1, A27, A28, GLIB_002:def 14;
consider G being PGraphMapping of G1,G2 such that
A31: G is isomorphism by A29, GLIB_010:def 23;
( G2 is connected & G2 is acyclic ) by A29, A30, A31, GLIB_010:140;
hence G2 is Tree-like ; :: thesis: verum
end;
hence F2 is Tree-like by GLIB_002:def 14; :: thesis: verum
end;
hereby :: thesis: ( ( F1 is edgeless implies F2 is edgeless ) & ( F1 is loopfull implies F2 is loopfull ) )
assume A32: F1 is chordal ; :: thesis: F2 is chordal
now :: thesis: for x being object st x in dom F2 holds
ex G2 being _Graph st
( F2 . x = G2 & G2 is chordal )
let x be object ; :: thesis: ( x in dom F2 implies ex G2 being _Graph st
( F2 . x = G2 & G2 is chordal ) )

assume x in dom F2 ; :: thesis: ex G2 being _Graph st
( F2 . x = G2 & G2 is chordal )

then consider x0 being object such that
A33: ( x0 in dom p & p . x0 = x ) by A1, FUNCT_1:def 3;
consider G1, G2 being _Graph such that
A34: ( G1 = F1 . x0 & G2 = F2 . (p . x0) & G2 is G1 -isomorphic ) by A1, A2, A33;
take G2 = G2; :: thesis: ( F2 . x = G2 & G2 is chordal )
thus F2 . x = G2 by A33, A34; :: thesis: G2 is chordal
consider G9 being _Graph such that
A35: ( F1 . x0 = G9 & G9 is chordal ) by A1, A32, A33, GLIBPRE0:def 4;
consider G being PGraphMapping of G1,G2 such that
A36: G is isomorphism by A34, GLIB_010:def 23;
thus G2 is chordal by A34, A35, A36, GLIB_010:140; :: thesis: verum
end;
hence F2 is chordal by GLIBPRE0:def 4; :: thesis: verum
end;
hereby :: thesis: ( F1 is loopfull implies F2 is loopfull )
assume A37: F1 is edgeless ; :: thesis: F2 is edgeless
now :: thesis: for x being object st x in dom F2 holds
ex G2 being _Graph st
( F2 . x = G2 & G2 is edgeless )
let x be object ; :: thesis: ( x in dom F2 implies ex G2 being _Graph st
( F2 . x = G2 & G2 is edgeless ) )

assume x in dom F2 ; :: thesis: ex G2 being _Graph st
( F2 . x = G2 & G2 is edgeless )

then consider x0 being object such that
A38: ( x0 in dom p & p . x0 = x ) by A1, FUNCT_1:def 3;
consider G1, G2 being _Graph such that
A39: ( G1 = F1 . x0 & G2 = F2 . (p . x0) & G2 is G1 -isomorphic ) by A1, A2, A38;
take G2 = G2; :: thesis: ( F2 . x = G2 & G2 is edgeless )
thus F2 . x = G2 by A38, A39; :: thesis: G2 is edgeless
consider G9 being _Graph such that
A40: ( F1 . x0 = G9 & G9 is edgeless ) by A1, A37, A38, GLIB_008:def 2;
consider G being PGraphMapping of G1,G2 such that
A41: G is isomorphism by A39, GLIB_010:def 23;
thus G2 is edgeless by A39, A40, A41, GLIB_010:89; :: thesis: verum
end;
hence F2 is edgeless by GLIB_008:def 2; :: thesis: verum
end;
hereby :: thesis: verum
assume A42: F1 is loopfull ; :: thesis: F2 is loopfull
now :: thesis: for x being object st x in dom F2 holds
ex G2 being _Graph st
( F2 . x = G2 & G2 is loopfull )
let x be object ; :: thesis: ( x in dom F2 implies ex G2 being _Graph st
( F2 . x = G2 & G2 is loopfull ) )

assume x in dom F2 ; :: thesis: ex G2 being _Graph st
( F2 . x = G2 & G2 is loopfull )

then consider x0 being object such that
A43: ( x0 in dom p & p . x0 = x ) by A1, FUNCT_1:def 3;
consider G1, G2 being _Graph such that
A44: ( G1 = F1 . x0 & G2 = F2 . (p . x0) & G2 is G1 -isomorphic ) by A1, A2, A43;
take G2 = G2; :: thesis: ( F2 . x = G2 & G2 is loopfull )
thus F2 . x = G2 by A43, A44; :: thesis: G2 is loopfull
consider G9 being _Graph such that
A45: ( F1 . x0 = G9 & G9 is loopfull ) by A1, A42, A43, GLIB_012:def 2;
consider G being PGraphMapping of G1,G2 such that
A46: G is isomorphism by A44, GLIB_010:def 23;
thus G2 is loopfull by A44, A45, A46, GLIB_012:10; :: thesis: verum
end;
hence F2 is loopfull by GLIB_012:def 2; :: thesis: verum
end;