let V1 be non empty set ; for V2 being non empty Subset of V1
for E1 being symmetric Relation of V1
for E2 being symmetric Relation of V2
for G1 being GraphFromSymRel of V1,E1
for G2 being GraphFromSymRel of V2,E2 st E2 c= E1 holds
ex F being PGraphMapping of G2,G1 st
( F is weak_SG-embedding & F _V = id V2 & ( for v, w being object holds
( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] ) ) )
let V2 be non empty Subset of V1; for E1 being symmetric Relation of V1
for E2 being symmetric Relation of V2
for G1 being GraphFromSymRel of V1,E1
for G2 being GraphFromSymRel of V2,E2 st E2 c= E1 holds
ex F being PGraphMapping of G2,G1 st
( F is weak_SG-embedding & F _V = id V2 & ( for v, w being object holds
( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] ) ) )
let E1 be symmetric Relation of V1; for E2 being symmetric Relation of V2
for G1 being GraphFromSymRel of V1,E1
for G2 being GraphFromSymRel of V2,E2 st E2 c= E1 holds
ex F being PGraphMapping of G2,G1 st
( F is weak_SG-embedding & F _V = id V2 & ( for v, w being object holds
( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] ) ) )
let E2 be symmetric Relation of V2; for G1 being GraphFromSymRel of V1,E1
for G2 being GraphFromSymRel of V2,E2 st E2 c= E1 holds
ex F being PGraphMapping of G2,G1 st
( F is weak_SG-embedding & F _V = id V2 & ( for v, w being object holds
( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] ) ) )
let G1 be GraphFromSymRel of V1,E1; for G2 being GraphFromSymRel of V2,E2 st E2 c= E1 holds
ex F being PGraphMapping of G2,G1 st
( F is weak_SG-embedding & F _V = id V2 & ( for v, w being object holds
( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] ) ) )
let G2 be GraphFromSymRel of V2,E2; ( E2 c= E1 implies ex F being PGraphMapping of G2,G1 st
( F is weak_SG-embedding & F _V = id V2 & ( for v, w being object holds
( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] ) ) ) )
assume A1:
E2 c= E1
; ex F being PGraphMapping of G2,G1 st
( F is weak_SG-embedding & F _V = id V2 & ( for v, w being object holds
( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] ) ) )
set G3 = createGraph (V1,E1);
set G4 = createGraph (V2,E2);
set f = id V2;
( the_Vertices_of G1 = the_Vertices_of (createGraph (V1,E1)) & the_Vertices_of G2 = the_Vertices_of (createGraph (V2,E2)) )
by GLIB_000:def 33;
then A2:
( the_Vertices_of G1 = V1 & the_Vertices_of G2 = V2 )
;
then
( dom (id V2) = the_Vertices_of G2 & rng (id V2) c= the_Vertices_of G1 )
;
then reconsider f = id V2 as PartFunc of (the_Vertices_of G2),(the_Vertices_of G1) by RELSET_1:4;
defpred S1[ object , object ] means ex v, w being object st
( $1 = [v,w] & $2 in the_Edges_of G1 & ( $2 = [v,w] or $2 = [w,v] ) );
A3:
for x, y1, y2 being object st x in the_Edges_of G2 & S1[x,y1] & S1[x,y2] holds
y1 = y2
proof
let x,
y1,
y2 be
object ;
( x in the_Edges_of G2 & S1[x,y1] & S1[x,y2] implies y1 = y2 )
assume A4:
(
x in the_Edges_of G2 &
S1[
x,
y1] &
S1[
x,
y2] )
;
y1 = y2
then consider v,
w being
object such that A5:
(
x = [v,w] &
y1 in the_Edges_of G1 & (
y1 = [v,w] or
y1 = [w,v] ) )
;
consider v0,
w0 being
object such that A6:
(
x = [v0,w0] &
y2 in the_Edges_of G1 & (
y2 = [v0,w0] or
y2 = [w0,v0] ) )
by A4;
A7:
(
v = v0 &
w = w0 )
by A5, A6, XTUPLE_0:1;
per cases
( ( y1 = [v,w] & y2 = [v,w] ) or ( y1 = [v,w] & y2 = [w,v] ) or ( y1 = [w,v] & y2 = [v,w] ) or ( y1 = [w,v] & y2 = [w,v] ) )
by A5, A6, A7;
suppose A8:
(
y1 = [v,w] &
y2 = [w,v] )
;
y1 = y2
(
y1 in E1 &
y2 in E1 )
by A5, A6;
then A9:
(
y1 DJoins v,
w,
createGraph (
V1,
E1) &
y2 DJoins w,
v,
createGraph (
V1,
E1) )
by A8, Th63;
createGraph (
V1,
E1) is
Supergraph of
G1
by GLIB_006:57;
then
(
y1 DJoins v,
w,
G1 &
y2 DJoins w,
v,
G1 )
by A5, A6, A9, GLIB_006:71;
then
(
y1 Joins v,
w,
G1 &
y2 Joins v,
w,
G1 )
by GLIB_000:16;
hence
y1 = y2
by GLIB_000:def 20;
verum end; suppose A10:
(
y1 = [w,v] &
y2 = [v,w] )
;
y1 = y2
(
y1 in E1 &
y2 in E1 )
by A5, A6;
then A11:
(
y1 DJoins w,
v,
createGraph (
V1,
E1) &
y2 DJoins v,
w,
createGraph (
V1,
E1) )
by A10, Th63;
createGraph (
V1,
E1) is
Supergraph of
G1
by GLIB_006:57;
then
(
y1 DJoins w,
v,
G1 &
y2 DJoins v,
w,
G1 )
by A5, A6, A11, GLIB_006:71;
then
(
y1 Joins v,
w,
G1 &
y2 Joins v,
w,
G1 )
by GLIB_000:16;
hence
y1 = y2
by GLIB_000:def 20;
verum end; end;
end;
A12:
for x being object st x in the_Edges_of G2 holds
ex y being object st S1[x,y]
proof
let x be
object ;
( x in the_Edges_of G2 implies ex y being object st S1[x,y] )
assume
x in the_Edges_of G2
;
ex y being object st S1[x,y]
then A13:
x in E2
;
then consider v,
w being
object such that A14:
x = [v,w]
by RELAT_1:def 1;
per cases
( [v,w] DJoins v,w,G1 or [w,v] DJoins w,v,G1 )
by A1, A13, A14, Th88;
suppose A15:
[v,w] DJoins v,
w,
G1
;
ex y being object st S1[x,y]take
[v,w]
;
S1[x,[v,w]]take
v
;
ex w being object st
( x = [v,w] & [v,w] in the_Edges_of G1 & ( [v,w] = [v,w] or [v,w] = [w,v] ) )take
w
;
( x = [v,w] & [v,w] in the_Edges_of G1 & ( [v,w] = [v,w] or [v,w] = [w,v] ) )thus
(
x = [v,w] &
[v,w] in the_Edges_of G1 & (
[v,w] = [v,w] or
[v,w] = [w,v] ) )
by A14, A15, GLIB_000:def 14;
verum end; suppose A16:
[w,v] DJoins w,
v,
G1
;
ex y being object st S1[x,y]take
[w,v]
;
S1[x,[w,v]]take
v
;
ex w being object st
( x = [v,w] & [w,v] in the_Edges_of G1 & ( [w,v] = [v,w] or [w,v] = [w,v] ) )take
w
;
( x = [v,w] & [w,v] in the_Edges_of G1 & ( [w,v] = [v,w] or [w,v] = [w,v] ) )thus
(
x = [v,w] &
[w,v] in the_Edges_of G1 & (
[w,v] = [v,w] or
[w,v] = [w,v] ) )
by A14, A16, GLIB_000:def 14;
verum end; end;
end;
consider g being Function such that
A17:
dom g = the_Edges_of G2
and
A18:
for x being object st x in the_Edges_of G2 holds
S1[x,g . x]
from FUNCT_1:sch 2(A3, A12);
then
rng g c= the_Edges_of G1
by TARSKI:def 3;
then reconsider g = g as PartFunc of (the_Edges_of G2),(the_Edges_of G1) by A17, RELSET_1:4;
now ( ( for e being object st e in dom g holds
( (the_Source_of G2) . e in dom f & (the_Target_of G2) . e in dom f ) ) & ( for e, v, w being object st e in dom g & v in dom f & w in dom f & e Joins v,w,G2 holds
g . e Joins f . v,f . w,G1 ) )let e,
v,
w be
object ;
( e in dom g & v in dom f & w in dom f & e Joins v,w,G2 implies g . b1 Joins f . b2,f . b3,G1 )assume A21:
(
e in dom g &
v in dom f &
w in dom f )
;
( e Joins v,w,G2 implies g . b1 Joins f . b2,f . b3,G1 )assume A22:
e Joins v,
w,
G2
;
g . b1 Joins f . b2,f . b3,G1consider v0,
w0 being
object such that A23:
(
e = [v0,w0] &
g . e in the_Edges_of G1 )
and A24:
(
g . e = [v0,w0] or
g . e = [w0,v0] )
by A18, A21;
e in E2
by A21, TARSKI:def 3;
then
e DJoins v0,
w0,
createGraph (
V2,
E2)
by A23, Th63;
then A25:
e Joins v0,
w0,
createGraph (
V2,
E2)
by GLIB_000:16;
A26:
(
e in the_Edges_of G2 &
e is
set &
v is
set &
w is
set )
by A21;
then
e Joins v,
w,
createGraph (
V2,
E2)
by A22, GLIB_000:72;
then
( (
v = v0 &
w = w0 ) or (
v = w0 &
w = v0 ) )
by A25, GLIB_000:15;
per cases then
( g . e = [v,w] or g . e = [w,v] )
by A24;
suppose A27:
g . e = [v,w]
;
g . b1 Joins f . b2,f . b3,G1
g . e in E1
by A23;
then
g . e DJoins v,
w,
createGraph (
V1,
E1)
by A27, Th63;
then
g . e DJoins v,
w,
G1
by A23, A26, GLIB_000:73;
then
g . e Joins v,
w,
G1
by GLIB_000:16;
then
g . e Joins v,
f . w,
G1
by A21, FUNCT_1:18;
hence
g . e Joins f . v,
f . w,
G1
by A21, FUNCT_1:18;
verum end; suppose A28:
g . e = [w,v]
;
g . b1 Joins f . b2,f . b3,G1
g . e in E1
by A23;
then
g . e DJoins w,
v,
createGraph (
V1,
E1)
by A28, Th63;
then
g . e DJoins w,
v,
G1
by A23, A26, GLIB_000:73;
then
g . e Joins v,
w,
G1
by GLIB_000:16;
then
g . e Joins v,
f . w,
G1
by A21, FUNCT_1:18;
hence
g . e Joins f . v,
f . w,
G1
by A21, FUNCT_1:18;
verum end; end; end;
then reconsider F = [f,g] as PGraphMapping of G2,G1 by GLIB_010:8;
take
F
; ( F is weak_SG-embedding & F _V = id V2 & ( for v, w being object holds
( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] ) ) )
for x1, x2 being object st x1 in dom g & x2 in dom g & g . x1 = g . x2 holds
x1 = x2
proof
let x1,
x2 be
object ;
( x1 in dom g & x2 in dom g & g . x1 = g . x2 implies x1 = x2 )
assume A29:
(
x1 in dom g &
x2 in dom g &
g . x1 = g . x2 )
;
x1 = x2
then consider v1,
w1 being
object such that A30:
(
x1 = [v1,w1] &
g . x1 in the_Edges_of G1 )
and A31:
(
g . x1 = [v1,w1] or
g . x1 = [w1,v1] )
by A18;
consider v2,
w2 being
object such that A32:
(
x2 = [v2,w2] &
g . x2 in the_Edges_of G1 )
and A33:
(
g . x2 = [v2,w2] or
g . x2 = [w2,v2] )
by A18, A29;
per cases
( ( g . x1 = [v1,w1] & g . x2 = [v2,w2] ) or ( g . x1 = [w1,v1] & g . x2 = [w2,v2] ) or ( g . x1 = [v1,w1] & g . x2 = [w2,v2] ) or ( g . x1 = [w1,v1] & g . x2 = [v2,w2] ) )
by A31, A33;
suppose
( (
g . x1 = [v1,w1] &
g . x2 = [w2,v2] ) or (
g . x1 = [w1,v1] &
g . x2 = [v2,w2] ) )
;
x1 = x2then A34:
(
v1 = w2 &
w1 = v2 )
by A29, XTUPLE_0:1;
(
x1 in E2 &
x2 in E2 )
by A29, TARSKI:def 3;
then A35:
(
x1 DJoins v1,
w1,
createGraph (
V2,
E2) &
x2 DJoins w1,
v1,
createGraph (
V2,
E2) )
by A30, A32, A34, Th63;
(
x1 in the_Edges_of G2 &
x2 in the_Edges_of G2 &
x1 is
set &
x2 is
set &
v1 is
set &
w1 is
set )
by A29, TARSKI:1;
then
(
x1 DJoins v1,
w1,
G2 &
x2 DJoins w1,
v1,
G2 )
by A35, GLIB_000:73;
then
(
x1 Joins v1,
w1,
G2 &
x2 Joins v1,
w1,
G2 )
by GLIB_000:16;
hence
x1 = x2
by GLIB_000:def 20;
verum end; end;
end;
then A36:
F _E is one-to-one
by FUNCT_1:def 4;
F _V is one-to-one
;
then A37:
F is one-to-one
by A36, GLIB_010:def 13;
( dom (F _V) = the_Vertices_of G2 & dom (F _E) = the_Edges_of G2 )
by A2, A17;
then
F is total
by GLIB_010:def 11;
hence
F is weak_SG-embedding
by A37; ( F _V = id V2 & ( for v, w being object holds
( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] ) ) )
thus
F _V = id V2
; for v, w being object holds
( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] )
let v, w be object ; ( not [v,w] in the_Edges_of G2 or (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] )
assume
[v,w] in the_Edges_of G2
; ( (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] )
then consider v0, w0 being object such that
A38:
( [v,w] = [v0,w0] & g . [v,w] in the_Edges_of G1 )
and
A39:
( g . [v,w] = [v0,w0] or g . [v,w] = [w0,v0] )
by A18;
( v = v0 & w = w0 )
by A38, XTUPLE_0:1;
hence
( (F _E) . [v,w] = [v,w] or (F _E) . [v,w] = [w,v] )
by A39; verum