let F be Graph-yielding Function; :: thesis: ( ( F is plain implies rng F is plain ) & ( rng F is plain implies F is plain ) & ( F is loopless implies rng F is loopless ) & ( rng F is loopless implies F is loopless ) & ( F is non-multi implies rng F is non-multi ) & ( rng F is non-multi implies F is non-multi ) & ( F is non-Dmulti implies rng F is non-Dmulti ) & ( rng F is non-Dmulti implies F is non-Dmulti ) & ( F is acyclic implies rng F is acyclic ) & ( rng F is acyclic implies F is acyclic ) & ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
hereby :: thesis: ( ( rng F is plain implies F is plain ) & ( F is loopless implies rng F is loopless ) & ( rng F is loopless implies F is loopless ) & ( F is non-multi implies rng F is non-multi ) & ( rng F is non-multi implies F is non-multi ) & ( F is non-Dmulti implies rng F is non-Dmulti ) & ( rng F is non-Dmulti implies F is non-Dmulti ) & ( F is acyclic implies rng F is acyclic ) & ( rng F is acyclic implies F is acyclic ) & ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A1: F is plain ; :: thesis: rng F is plain
now :: thesis: for G being _Graph st G in rng F holds
G is plain
let G be _Graph; :: thesis: ( G in rng F implies G is plain )
assume G in rng F ; :: thesis: G is plain
then consider x being object such that
A2: ( x in dom F & F . x = G ) by FUNCT_1:def 3;
consider G0 being _Graph such that
A3: ( F . x = G0 & G0 is plain ) by A1, A2, GLIBPRE0:def 1;
thus G is plain by A2, A3; :: thesis: verum
end;
hence rng F is plain ; :: thesis: verum
end;
hereby :: thesis: ( ( F is loopless implies rng F is loopless ) & ( rng F is loopless implies F is loopless ) & ( F is non-multi implies rng F is non-multi ) & ( rng F is non-multi implies F is non-multi ) & ( F is non-Dmulti implies rng F is non-Dmulti ) & ( rng F is non-Dmulti implies F is non-Dmulti ) & ( F is acyclic implies rng F is acyclic ) & ( rng F is acyclic implies F is acyclic ) & ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A4: rng F is plain ; :: thesis: F is plain
now :: thesis: for x being object st x in dom F holds
ex G being _Graph st
( F . x = G & G is plain )
let x be object ; :: thesis: ( x in dom F implies ex G being _Graph st
( F . x = G & G is plain ) )

assume A5: x in dom F ; :: thesis: ex G being _Graph st
( F . x = G & G is plain )

then reconsider G = F . x as _Graph by GLIB_000:def 53;
take G = G; :: thesis: ( F . x = G & G is plain )
G in rng F by A5, FUNCT_1:3;
hence ( F . x = G & G is plain ) by A4; :: thesis: verum
end;
hence F is plain by GLIBPRE0:def 1; :: thesis: verum
end;
hereby :: thesis: ( ( rng F is loopless implies F is loopless ) & ( F is non-multi implies rng F is non-multi ) & ( rng F is non-multi implies F is non-multi ) & ( F is non-Dmulti implies rng F is non-Dmulti ) & ( rng F is non-Dmulti implies F is non-Dmulti ) & ( F is acyclic implies rng F is acyclic ) & ( rng F is acyclic implies F is acyclic ) & ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A6: F is loopless ; :: thesis: rng F is loopless
now :: thesis: for G being _Graph st G in rng F holds
G is loopless
let G be _Graph; :: thesis: ( G in rng F implies G is loopless )
assume G in rng F ; :: thesis: G is loopless
then consider x being object such that
A7: ( x in dom F & F . x = G ) by FUNCT_1:def 3;
consider G0 being _Graph such that
A8: ( F . x = G0 & G0 is loopless ) by A6, A7, GLIB_000:def 59;
thus G is loopless by A7, A8; :: thesis: verum
end;
hence rng F is loopless ; :: thesis: verum
end;
hereby :: thesis: ( ( F is non-multi implies rng F is non-multi ) & ( rng F is non-multi implies F is non-multi ) & ( F is non-Dmulti implies rng F is non-Dmulti ) & ( rng F is non-Dmulti implies F is non-Dmulti ) & ( F is acyclic implies rng F is acyclic ) & ( rng F is acyclic implies F is acyclic ) & ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A9: rng F is loopless ; :: thesis: F is loopless
now :: thesis: for x being object st x in dom F holds
ex G being _Graph st
( F . x = G & G is loopless )
let x be object ; :: thesis: ( x in dom F implies ex G being _Graph st
( F . x = G & G is loopless ) )

assume A10: x in dom F ; :: thesis: ex G being _Graph st
( F . x = G & G is loopless )

then reconsider G = F . x as _Graph by GLIB_000:def 53;
take G = G; :: thesis: ( F . x = G & G is loopless )
G in rng F by A10, FUNCT_1:3;
hence ( F . x = G & G is loopless ) by A9; :: thesis: verum
end;
hence F is loopless by GLIB_000:def 59; :: thesis: verum
end;
hereby :: thesis: ( ( rng F is non-multi implies F is non-multi ) & ( F is non-Dmulti implies rng F is non-Dmulti ) & ( rng F is non-Dmulti implies F is non-Dmulti ) & ( F is acyclic implies rng F is acyclic ) & ( rng F is acyclic implies F is acyclic ) & ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A11: F is non-multi ; :: thesis: rng F is non-multi
now :: thesis: for G being _Graph st G in rng F holds
G is non-multi
let G be _Graph; :: thesis: ( G in rng F implies G is non-multi )
assume G in rng F ; :: thesis: G is non-multi
then consider x being object such that
A12: ( x in dom F & F . x = G ) by FUNCT_1:def 3;
consider G0 being _Graph such that
A13: ( F . x = G0 & G0 is non-multi ) by A11, A12, GLIB_000:def 62;
thus G is non-multi by A12, A13; :: thesis: verum
end;
hence rng F is non-multi ; :: thesis: verum
end;
hereby :: thesis: ( ( F is non-Dmulti implies rng F is non-Dmulti ) & ( rng F is non-Dmulti implies F is non-Dmulti ) & ( F is acyclic implies rng F is acyclic ) & ( rng F is acyclic implies F is acyclic ) & ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A14: rng F is non-multi ; :: thesis: F is non-multi
now :: thesis: for x being object st x in dom F holds
ex G being _Graph st
( F . x = G & G is non-multi )
let x be object ; :: thesis: ( x in dom F implies ex G being _Graph st
( F . x = G & G is non-multi ) )

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

then reconsider G = F . x as _Graph by GLIB_000:def 53;
take G = G; :: thesis: ( F . x = G & G is non-multi )
G in rng F by A15, FUNCT_1:3;
hence ( F . x = G & G is non-multi ) by A14; :: thesis: verum
end;
hence F is non-multi by GLIB_000:def 62; :: thesis: verum
end;
hereby :: thesis: ( ( rng F is non-Dmulti implies F is non-Dmulti ) & ( F is acyclic implies rng F is acyclic ) & ( rng F is acyclic implies F is acyclic ) & ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A16: F is non-Dmulti ; :: thesis: rng F is non-Dmulti
now :: thesis: for G being _Graph st G in rng F holds
G is non-Dmulti
let G be _Graph; :: thesis: ( G in rng F implies G is non-Dmulti )
assume G in rng F ; :: thesis: G is non-Dmulti
then consider x being object such that
A17: ( x in dom F & F . x = G ) by FUNCT_1:def 3;
consider G0 being _Graph such that
A18: ( F . x = G0 & G0 is non-Dmulti ) by A16, A17, GLIB_000:def 63;
thus G is non-Dmulti by A17, A18; :: thesis: verum
end;
hence rng F is non-Dmulti ; :: thesis: verum
end;
hereby :: thesis: ( ( F is acyclic implies rng F is acyclic ) & ( rng F is acyclic implies F is acyclic ) & ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A19: rng F is non-Dmulti ; :: thesis: F is non-Dmulti
now :: thesis: for x being object st x in dom F holds
ex G being _Graph st
( F . x = G & G is non-Dmulti )
let x be object ; :: thesis: ( x in dom F implies ex G being _Graph st
( F . x = G & G is non-Dmulti ) )

assume A20: x in dom F ; :: thesis: ex G being _Graph st
( F . x = G & G is non-Dmulti )

then reconsider G = F . x as _Graph by GLIB_000:def 53;
take G = G; :: thesis: ( F . x = G & G is non-Dmulti )
G in rng F by A20, FUNCT_1:3;
hence ( F . x = G & G is non-Dmulti ) by A19; :: thesis: verum
end;
hence F is non-Dmulti by GLIB_000:def 63; :: thesis: verum
end;
hereby :: thesis: ( ( rng F is acyclic implies F is acyclic ) & ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A21: F is acyclic ; :: thesis: rng F is acyclic
now :: thesis: for G being _Graph st G in rng F holds
G is acyclic
let G be _Graph; :: thesis: ( G in rng F implies G is acyclic )
assume G in rng F ; :: thesis: G is acyclic
then consider x being object such that
A22: ( x in dom F & F . x = G ) by FUNCT_1:def 3;
consider G0 being _Graph such that
A23: ( F . x = G0 & G0 is acyclic ) by A21, A22, GLIB_002:def 13;
thus G is acyclic by A22, A23; :: thesis: verum
end;
hence rng F is acyclic ; :: thesis: verum
end;
hereby :: thesis: ( ( F is connected implies rng F is connected ) & ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A24: rng F is acyclic ; :: thesis: F is acyclic
now :: thesis: for x being object st x in dom F holds
ex G being _Graph st
( F . x = G & G is acyclic )
let x be object ; :: thesis: ( x in dom F implies ex G being _Graph st
( F . x = G & G is acyclic ) )

assume A25: x in dom F ; :: thesis: ex G being _Graph st
( F . x = G & G is acyclic )

then reconsider G = F . x as _Graph by GLIB_000:def 53;
take G = G; :: thesis: ( F . x = G & G is acyclic )
G in rng F by A25, FUNCT_1:3;
hence ( F . x = G & G is acyclic ) by A24; :: thesis: verum
end;
hence F is acyclic by GLIB_002:def 13; :: thesis: verum
end;
hereby :: thesis: ( ( rng F is connected implies F is connected ) & ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A26: F is connected ; :: thesis: rng F is connected
now :: thesis: for G being _Graph st G in rng F holds
G is connected
let G be _Graph; :: thesis: ( G in rng F implies G is connected )
assume G in rng F ; :: thesis: G is connected
then consider x being object such that
A27: ( x in dom F & F . x = G ) by FUNCT_1:def 3;
consider G0 being _Graph such that
A28: ( F . x = G0 & G0 is connected ) by A26, A27, GLIB_002:def 12;
thus G is connected by A27, A28; :: thesis: verum
end;
hence rng F is connected ; :: thesis: verum
end;
hereby :: thesis: ( ( F is chordal implies rng F is chordal ) & ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A29: rng F is connected ; :: thesis: F is connected
now :: thesis: for x being object st x in dom F holds
ex G being _Graph st
( F . x = G & G is connected )
let x be object ; :: thesis: ( x in dom F implies ex G being _Graph st
( F . x = G & G is connected ) )

assume A30: x in dom F ; :: thesis: ex G being _Graph st
( F . x = G & G is connected )

then reconsider G = F . x as _Graph by GLIB_000:def 53;
take G = G; :: thesis: ( F . x = G & G is connected )
G in rng F by A30, FUNCT_1:3;
hence ( F . x = G & G is connected ) by A29; :: thesis: verum
end;
hence F is connected by GLIB_002:def 12; :: thesis: verum
end;
hereby :: thesis: ( ( rng F is chordal implies F is chordal ) & ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A31: F is chordal ; :: thesis: rng F is chordal
now :: thesis: for G being _Graph st G in rng F holds
G is chordal
let G be _Graph; :: thesis: ( G in rng F implies G is chordal )
assume G in rng F ; :: thesis: G is chordal
then consider x being object such that
A32: ( x in dom F & F . x = G ) by FUNCT_1:def 3;
consider G0 being _Graph such that
A33: ( F . x = G0 & G0 is chordal ) by A31, A32, GLIBPRE0:def 4;
thus G is chordal by A32, A33; :: thesis: verum
end;
hence rng F is chordal ; :: thesis: verum
end;
hereby :: thesis: ( ( F is edgeless implies rng F is edgeless ) & ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A34: rng F is chordal ; :: thesis: F is chordal
now :: thesis: for x being object st x in dom F holds
ex G being _Graph st
( F . x = G & G is chordal )
let x be object ; :: thesis: ( x in dom F implies ex G being _Graph st
( F . x = G & G is chordal ) )

assume A35: x in dom F ; :: thesis: ex G being _Graph st
( F . x = G & G is chordal )

then reconsider G = F . x as _Graph by GLIB_000:def 53;
take G = G; :: thesis: ( F . x = G & G is chordal )
G in rng F by A35, FUNCT_1:3;
hence ( F . x = G & G is chordal ) by A34; :: thesis: verum
end;
hence F is chordal by GLIBPRE0:def 4; :: thesis: verum
end;
hereby :: thesis: ( ( rng F is edgeless implies F is edgeless ) & ( F is loopfull implies rng F is loopfull ) & ( rng F is loopfull implies F is loopfull ) )
assume A36: F is edgeless ; :: thesis: rng F is edgeless
now :: thesis: for G being _Graph st G in rng F holds
G is edgeless
let G be _Graph; :: thesis: ( G in rng F implies G is edgeless )
assume G in rng F ; :: thesis: G is edgeless
then consider x being object such that
A37: ( x in dom F & F . x = G ) by FUNCT_1:def 3;
consider G0 being _Graph such that
A38: ( F . x = G0 & G0 is edgeless ) by A36, A37, GLIB_008:def 2;
thus G is edgeless by A37, A38; :: thesis: verum
end;
hence rng F is edgeless ; :: thesis: verum
end;
hereby :: thesis: ( F is loopfull iff rng F is loopfull )
assume A39: rng F is edgeless ; :: thesis: F is edgeless
now :: thesis: for x being object st x in dom F holds
ex G being _Graph st
( F . x = G & G is edgeless )
let x be object ; :: thesis: ( x in dom F implies ex G being _Graph st
( F . x = G & G is edgeless ) )

assume A40: x in dom F ; :: thesis: ex G being _Graph st
( F . x = G & G is edgeless )

then reconsider G = F . x as _Graph by GLIB_000:def 53;
take G = G; :: thesis: ( F . x = G & G is edgeless )
G in rng F by A40, FUNCT_1:3;
hence ( F . x = G & G is edgeless ) by A39; :: thesis: verum
end;
hence F is edgeless by GLIB_008:def 2; :: thesis: verum
end;
hereby :: thesis: ( rng F is loopfull implies F is loopfull )
assume A41: F is loopfull ; :: thesis: rng F is loopfull
now :: thesis: for G being _Graph st G in rng F holds
G is loopfull
let G be _Graph; :: thesis: ( G in rng F implies G is loopfull )
assume G in rng F ; :: thesis: G is loopfull
then consider x being object such that
A42: ( x in dom F & F . x = G ) by FUNCT_1:def 3;
consider G0 being _Graph such that
A43: ( F . x = G0 & G0 is loopfull ) by A41, A42, GLIB_012:def 2;
thus G is loopfull by A42, A43; :: thesis: verum
end;
hence rng F is loopfull ; :: thesis: verum
end;
hereby :: thesis: verum
assume A44: rng F is loopfull ; :: thesis: F is loopfull
now :: thesis: for x being object st x in dom F holds
ex G being _Graph st
( F . x = G & G is loopfull )
let x be object ; :: thesis: ( x in dom F implies ex G being _Graph st
( F . x = G & G is loopfull ) )

assume A45: x in dom F ; :: thesis: ex G being _Graph st
( F . x = G & G is loopfull )

then reconsider G = F . x as _Graph by GLIB_000:def 53;
take G = G; :: thesis: ( F . x = G & G is loopfull )
G in rng F by A45, FUNCT_1:3;
hence ( F . x = G & G is loopfull ) by A44; :: thesis: verum
end;
hence F is loopfull by GLIB_012:def 2; :: thesis: verum
end;