:: Graphs of Functions
:: by Czes{\l}aw Byli\'nski
::
:: Received April 14, 1989
:: Copyright (c) 1990-2011 Association of Mizar Users


begin

theorem :: GRFUNC_1:1
canceled;

theorem :: GRFUNC_1:2
canceled;

theorem :: GRFUNC_1:3
canceled;

theorem :: GRFUNC_1:4
canceled;

theorem :: GRFUNC_1:5
canceled;

theorem Th6: :: GRFUNC_1:6
for f being Function
for G being set st G c= f holds
G is Function ;

theorem :: GRFUNC_1:7
canceled;

theorem Th8: :: GRFUNC_1:8
for f, g being Function holds
( f c= g iff ( dom f c= dom g & ( for x being set st x in dom f holds
f . x = g . x ) ) )
proof end;

theorem :: GRFUNC_1:9
for f, g being Function st dom f = dom g & f c= g holds
f = g
proof end;

Lm1: for x, y being set
for f, h being Function st (rng f) /\ (rng h) = {} & x in dom f & y in dom h holds
f . x <> h . y
proof end;

theorem :: GRFUNC_1:10
canceled;

theorem :: GRFUNC_1:11
canceled;

theorem :: GRFUNC_1:12
for x, z being set
for g, f being Function st [x,z] in g * f holds
( [x,(f . x)] in f & [(f . x),z] in g )
proof end;

theorem :: GRFUNC_1:13
canceled;

theorem :: GRFUNC_1:14
canceled;

theorem :: GRFUNC_1:15
for x, y being set holds {[x,y]} is Function ;

Lm2: for x, y, x1, y1 being set st [x,y] in {[x1,y1]} holds
( x = x1 & y = y1 )
proof end;

theorem :: GRFUNC_1:16
for x, y being set
for f being Function st f = {[x,y]} holds
f . x = y
proof end;

theorem :: GRFUNC_1:17
canceled;

theorem Th18: :: GRFUNC_1:18
for x being set
for f being Function st dom f = {x} holds
f = {[x,(f . x)]}
proof end;

theorem :: GRFUNC_1:19
for x1, y1, x2, y2 being set holds
( {[x1,y1],[x2,y2]} is Function iff ( x1 = x2 implies y1 = y2 ) )
proof end;

theorem :: GRFUNC_1:20
canceled;

theorem :: GRFUNC_1:21
canceled;

theorem :: GRFUNC_1:22
canceled;

theorem :: GRFUNC_1:23
canceled;

theorem :: GRFUNC_1:24
canceled;

theorem Th25: :: GRFUNC_1:25
for f being Function holds
( f is one-to-one iff for x1, x2, y being set st [x1,y] in f & [x2,y] in f holds
x1 = x2 )
proof end;

theorem Th26: :: GRFUNC_1:26
for g, f being Function st g c= f & f is one-to-one holds
g is one-to-one
proof end;

registration
let f be Function;
let X be set ;
cluster f /\ X -> Function-like ;
coherence
f /\ X is Function-like
by Th6, XBOOLE_1:17;
end;

theorem :: GRFUNC_1:27
canceled;

theorem :: GRFUNC_1:28
canceled;

theorem :: GRFUNC_1:29
for x being set
for f, g being Function st x in dom (f /\ g) holds
(f /\ g) . x = f . x
proof end;

theorem :: GRFUNC_1:30
for f, g being Function st f is one-to-one holds
f /\ g is one-to-one by Th26, XBOOLE_1:17;

theorem :: GRFUNC_1:31
for f, g being Function st dom f misses dom g holds
f \/ g is Function
proof end;

theorem :: GRFUNC_1:32
for f, h, g being Function st f c= h & g c= h holds
f \/ g is Function by Th6, XBOOLE_1:8;

Lm3: for x being set
for h, f, g being Function st h = f \/ g holds
( x in dom h iff ( x in dom f or x in dom g ) )
proof end;

theorem :: GRFUNC_1:33
canceled;

theorem :: GRFUNC_1:34
canceled;

theorem Th35: :: GRFUNC_1:35
for x being set
for g, h, f being Function st x in dom g & h = f \/ g holds
h . x = g . x
proof end;

theorem :: GRFUNC_1:36
for x being set
for h, f, g being Function st x in dom h & h = f \/ g & not h . x = f . x holds
h . x = g . x
proof end;

theorem :: GRFUNC_1:37
for f, g, h being Function st f is one-to-one & g is one-to-one & h = f \/ g & rng f misses rng g holds
h is one-to-one
proof end;

theorem :: GRFUNC_1:38
for X being set
for f being Function holds f \ X is Function ;

theorem :: GRFUNC_1:39
canceled;

theorem :: GRFUNC_1:40
canceled;

theorem :: GRFUNC_1:41
canceled;

theorem :: GRFUNC_1:42
canceled;

theorem :: GRFUNC_1:43
canceled;

theorem :: GRFUNC_1:44
canceled;

theorem :: GRFUNC_1:45
canceled;

theorem :: GRFUNC_1:46
for f being Function st f = {} holds
f is one-to-one ;

theorem :: GRFUNC_1:47
for f being Function st f is one-to-one holds
for x, y being set holds
( [y,x] in f " iff [x,y] in f )
proof end;

theorem :: GRFUNC_1:48
canceled;

theorem :: GRFUNC_1:49
for f being Function st f = {} holds
f " = {}
proof end;

theorem :: GRFUNC_1:50
canceled;

theorem :: GRFUNC_1:51
canceled;

theorem :: GRFUNC_1:52
for x, X being set
for f being Function holds
( ( x in dom f & x in X ) iff [x,(f . x)] in f | X )
proof end;

theorem :: GRFUNC_1:53
canceled;

theorem :: GRFUNC_1:54
canceled;

theorem :: GRFUNC_1:55
canceled;

theorem :: GRFUNC_1:56
canceled;

theorem :: GRFUNC_1:57
canceled;

theorem :: GRFUNC_1:58
canceled;

theorem :: GRFUNC_1:59
canceled;

theorem :: GRFUNC_1:60
canceled;

theorem :: GRFUNC_1:61
canceled;

theorem :: GRFUNC_1:62
canceled;

theorem :: GRFUNC_1:63
canceled;

theorem Th64: :: GRFUNC_1:64
for g, f being Function st g c= f holds
f | (dom g) = g
proof end;

theorem :: GRFUNC_1:65
canceled;

theorem :: GRFUNC_1:66
canceled;

theorem :: GRFUNC_1:67
for x, Y being set
for f being Function holds
( ( x in dom f & f . x in Y ) iff [x,(f . x)] in Y | f )
proof end;

theorem :: GRFUNC_1:68
canceled;

theorem :: GRFUNC_1:69
canceled;

theorem :: GRFUNC_1:70
canceled;

theorem :: GRFUNC_1:71
canceled;

theorem :: GRFUNC_1:72
canceled;

theorem :: GRFUNC_1:73
canceled;

theorem :: GRFUNC_1:74
canceled;

theorem :: GRFUNC_1:75
canceled;

theorem :: GRFUNC_1:76
canceled;

theorem :: GRFUNC_1:77
canceled;

theorem :: GRFUNC_1:78
canceled;

theorem :: GRFUNC_1:79
for g, f being Function st g c= f & f is one-to-one holds
(rng g) | f = g
proof end;

theorem :: GRFUNC_1:80
canceled;

theorem :: GRFUNC_1:81
canceled;

theorem :: GRFUNC_1:82
canceled;

theorem :: GRFUNC_1:83
canceled;

theorem :: GRFUNC_1:84
canceled;

theorem :: GRFUNC_1:85
canceled;

theorem :: GRFUNC_1:86
canceled;

theorem :: GRFUNC_1:87
for x, Y being set
for f being Function holds
( x in f " Y iff ( [x,(f . x)] in f & f . x in Y ) )
proof end;

begin

theorem :: GRFUNC_1:88
for X being set
for f, g being Function st X c= dom f & f c= g holds
f | X = g | X
proof end;

theorem Th89: :: GRFUNC_1:89
for f being Function
for x being set st x in dom f holds
f | {x} = {[x,(f . x)]}
proof end;

theorem Th90: :: GRFUNC_1:90
for f, g being Function
for x being set st dom f = dom g & f . x = g . x holds
f | {x} = g | {x}
proof end;

theorem Th91: :: GRFUNC_1:91
for f, g being Function
for x, y being set st dom f = dom g & f . x = g . x & f . y = g . y holds
f | {x,y} = g | {x,y}
proof end;

theorem :: GRFUNC_1:92
for f, g being Function
for x, y, z being set st dom f = dom g & f . x = g . x & f . y = g . y & f . z = g . z holds
f | {x,y,z} = g | {x,y,z}
proof end;

registration
let f be Function;
let A be set ;
cluster f \ A -> Function-like ;
coherence
f \ A is Function-like
;
end;

theorem :: GRFUNC_1:93
for x being set
for f, g being Function st x in (dom f) \ (dom g) holds
(f \ g) . x = f . x
proof end;

theorem :: GRFUNC_1:94
for f, g, h being Function st f c= g & f c= h holds
g | (dom f) = h | (dom f)
proof end;

theorem :: GRFUNC_1:95
for X being set
for f, g being Function st f c= g & X c= dom f holds
f | X = g | X
proof end;

registration
let f be Function;
let g be Subset of f;
cluster Relation-like Function-like g -compatible -> f -compatible set ;
coherence
for b1 being Function st b1 is g -compatible holds
b1 is f -compatible
proof end;
end;

theorem Th96: :: GRFUNC_1:96
for g, f being Function st g c= f holds
g = f | (dom g)
proof end;

registration
let f be Function;
let g be f -compatible Function;
cluster -> f -compatible Element of K10(g);
coherence
for b1 being Subset of g holds b1 is f -compatible
proof end;
end;

theorem :: GRFUNC_1:97
for x, X being set
for g, f being Function st g c= f & x in X & X /\ (dom f) c= dom g holds
f . x = g . x
proof end;