:: The Modification of a Function by a Function and the Iteration of the Composition of a Function :: by Czes{\l}aw Byli\'nski :: :: Received March 1, 1990 :: Copyright (c) 1990-2012 Association of Mizar Users begin Lm1: for x, x9, y, y9, x1, x19, y1, y19 being set st [[x,x9],[y,y9]] = [[x1,x19],[y1,y19]] holds ( x = x1 & y = y1 & x9 = x19 & y9 = y19 ) proofend; theorem Th1: :: FUNCT_4:1 for Z being set st ( for z being set st z in Z holds ex x, y being set st z = [x,y] ) holds ex X, Y being set st Z c= [:X,Y:] proofend; theorem :: FUNCT_4:2 for g, f being Function holds g * f = (g | (rng f)) * f proofend; theorem :: FUNCT_4:3 for X, Y being set holds ( id X c= id Y iff X c= Y ) proofend; theorem :: FUNCT_4:4 for X, Y, a being set st X c= Y holds X --> a c= Y --> a proofend; theorem Th5: :: FUNCT_4:5 for X, a, Y, b being set st X --> a c= Y --> b holds X c= Y proofend; theorem :: FUNCT_4:6 for X, a, Y, b being set st X <> {} & X --> a c= Y --> b holds a = b proofend; theorem :: FUNCT_4:7 for x being set for f being Function st x in dom f holds x .--> (f . x) c= f proofend; :: Natural order on functions theorem :: FUNCT_4:8 for Y, X being set for f being Function holds (Y |` f) | X c= f proofend; theorem :: FUNCT_4:9 for Y, X being set for f, g being Function st f c= g holds (Y |` f) | X c= (Y |` g) | X proofend; definition let f, g be Function; funcf +* g -> Function means :Def1: :: FUNCT_4:def 1 ( dom it = (dom f) \/ (dom g) & ( for x being set st x in (dom f) \/ (dom g) holds ( ( x in dom g implies it . x = g . x ) & ( not x in dom g implies it . x = f . x ) ) ) ); existence ex b1 being Function st ( dom b1 = (dom f) \/ (dom g) & ( for x being set st x in (dom f) \/ (dom g) holds ( ( x in dom g implies b1 . x = g . x ) & ( not x in dom g implies b1 . x = f . x ) ) ) ) proofend; uniqueness for b1, b2 being Function st dom b1 = (dom f) \/ (dom g) & ( for x being set st x in (dom f) \/ (dom g) holds ( ( x in dom g implies b1 . x = g . x ) & ( not x in dom g implies b1 . x = f . x ) ) ) & dom b2 = (dom f) \/ (dom g) & ( for x being set st x in (dom f) \/ (dom g) holds ( ( x in dom g implies b2 . x = g . x ) & ( not x in dom g implies b2 . x = f . x ) ) ) holds b1 = b2 proofend; idempotence for f being Function holds ( dom f = (dom f) \/ (dom f) & ( for x being set st x in (dom f) \/ (dom f) holds ( ( x in dom f implies f . x = f . x ) & ( not x in dom f implies f . x = f . x ) ) ) ) ; end; :: deftheorem Def1 defines +* FUNCT_4:def_1_:_ for f, g, b3 being Function holds ( b3 = f +* g iff ( dom b3 = (dom f) \/ (dom g) & ( for x being set st x in (dom f) \/ (dom g) holds ( ( x in dom g implies b3 . x = g . x ) & ( not x in dom g implies b3 . x = f . x ) ) ) ) ); theorem Th10: :: FUNCT_4:10 for f, g being Function holds ( dom f c= dom (f +* g) & dom g c= dom (f +* g) ) proofend; theorem Th11: :: FUNCT_4:11 for x being set for g, f being Function st not x in dom g holds (f +* g) . x = f . x proofend; theorem Th12: :: FUNCT_4:12 for x being set for f, g being Function holds ( x in dom (f +* g) iff ( x in dom f or x in dom g ) ) proofend; theorem Th13: :: FUNCT_4:13 for x being set for g, f being Function st x in dom g holds (f +* g) . x = g . x proofend; theorem Th14: :: FUNCT_4:14 for f, g, h being Function holds (f +* g) +* h = f +* (g +* h) proofend; theorem Th15: :: FUNCT_4:15 for x being set for f, g being Function st f tolerates g & x in dom f holds (f +* g) . x = f . x proofend; theorem :: FUNCT_4:16 for x being set for f, g being Function st dom f misses dom g & x in dom f holds (f +* g) . x = f . x proofend; theorem Th17: :: FUNCT_4:17 for f, g being Function holds rng (f +* g) c= (rng f) \/ (rng g) proofend; theorem :: FUNCT_4:18 for g, f being Function holds rng g c= rng (f +* g) proofend; theorem Th19: :: FUNCT_4:19 for f, g being Function st dom f c= dom g holds f +* g = g proofend; registration let f be Function; let g be empty Function; reduceg +* f to f; reducibility g +* f = f proofend; reducef +* g to f; reducibility f +* g = f proofend; end; theorem Th20: :: FUNCT_4:20 for f being Function holds {} +* f = f ; theorem Th21: :: FUNCT_4:21 for f being Function holds f +* {} = f ; theorem :: FUNCT_4:22 for X, Y being set holds (id X) +* (id Y) = id (X \/ Y) proofend; theorem :: FUNCT_4:23 for f, g being Function holds (f +* g) | (dom g) = g proofend; theorem Th24: :: FUNCT_4:24 for f, g being Function holds (f +* g) | ((dom f) \ (dom g)) c= f proofend; theorem Th25: :: FUNCT_4:25 for g, f being Function holds g c= f +* g proofend; theorem :: FUNCT_4:26 for f, g, h being Function st f tolerates g +* h holds f | ((dom f) \ (dom h)) tolerates g proofend; theorem Th27: :: FUNCT_4:27 for f, g, h being Function st f tolerates g +* h holds f tolerates h proofend; theorem Th28: :: FUNCT_4:28 for f, g being Function holds ( f tolerates g iff f c= f +* g ) proofend; theorem Th29: :: FUNCT_4:29 for f, g being Function holds f +* g c= f \/ g proofend; theorem Th30: :: FUNCT_4:30 for f, g being Function holds ( f tolerates g iff f \/ g = f +* g ) proofend; theorem Th31: :: FUNCT_4:31 for f, g being Function st dom f misses dom g holds f \/ g = f +* g proofend; theorem Th32: :: FUNCT_4:32 for f, g being Function st dom f misses dom g holds f c= f +* g proofend; theorem :: FUNCT_4:33 for f, g being Function st dom f misses dom g holds (f +* g) | (dom f) = f proofend; theorem Th34: :: FUNCT_4:34 for f, g being Function holds ( f tolerates g iff f +* g = g +* f ) proofend; theorem Th35: :: FUNCT_4:35 for f, g being Function st dom f misses dom g holds f +* g = g +* f proofend; theorem :: FUNCT_4:36 for X, Y being set for f, g being PartFunc of X,Y st g is total holds f +* g = g proofend; theorem Th37: :: FUNCT_4:37 for X, Y being set for f, g being Function of X,Y st ( Y = {} implies X = {} ) holds f +* g = g proofend; theorem :: FUNCT_4:38 for X being set for f, g being Function of X,X holds f +* g = g by Th37; theorem :: FUNCT_4:39 for X being set for D being non empty set for f, g being Function of X,D holds f +* g = g by Th37; theorem :: FUNCT_4:40 for X, Y being set for f, g being PartFunc of X,Y holds f +* g is PartFunc of X,Y proofend; :: The converse function whenever domain definition let f be Function; func ~ f -> Function means :Def2: :: FUNCT_4:def 2 ( ( for x being set holds ( x in dom it iff ex y, z being set st ( x = [z,y] & [y,z] in dom f ) ) ) & ( for y, z being set st [y,z] in dom f holds it . (z,y) = f . (y,z) ) ); existence ex b1 being Function st ( ( for x being set holds ( x in dom b1 iff ex y, z being set st ( x = [z,y] & [y,z] in dom f ) ) ) & ( for y, z being set st [y,z] in dom f holds b1 . (z,y) = f . (y,z) ) ) proofend; uniqueness for b1, b2 being Function st ( for x being set holds ( x in dom b1 iff ex y, z being set st ( x = [z,y] & [y,z] in dom f ) ) ) & ( for y, z being set st [y,z] in dom f holds b1 . (z,y) = f . (y,z) ) & ( for x being set holds ( x in dom b2 iff ex y, z being set st ( x = [z,y] & [y,z] in dom f ) ) ) & ( for y, z being set st [y,z] in dom f holds b2 . (z,y) = f . (y,z) ) holds b1 = b2 proofend; end; :: deftheorem Def2 defines ~ FUNCT_4:def_2_:_ for f, b2 being Function holds ( b2 = ~ f iff ( ( for x being set holds ( x in dom b2 iff ex y, z being set st ( x = [z,y] & [y,z] in dom f ) ) ) & ( for y, z being set st [y,z] in dom f holds b2 . (z,y) = f . (y,z) ) ) ); theorem Th41: :: FUNCT_4:41 for f being Function holds rng (~ f) c= rng f proofend; theorem Th42: :: FUNCT_4:42 for x, y being set for f being Function holds ( [x,y] in dom f iff [y,x] in dom (~ f) ) proofend; theorem :: FUNCT_4:43 for y, x being set for f being Function st [y,x] in dom (~ f) holds (~ f) . (y,x) = f . (x,y) proofend; theorem :: FUNCT_4:44 for f being Function ex X, Y being set st dom (~ f) c= [:X,Y:] proofend; theorem Th45: :: FUNCT_4:45 for X, Y being set for f being Function st dom f c= [:X,Y:] holds dom (~ f) c= [:Y,X:] proofend; theorem Th46: :: FUNCT_4:46 for X, Y being set for f being Function st dom f = [:X,Y:] holds dom (~ f) = [:Y,X:] proofend; theorem Th47: :: FUNCT_4:47 for X, Y being set for f being Function st dom f c= [:X,Y:] holds rng (~ f) = rng f proofend; theorem :: FUNCT_4:48 for X, Y, Z being set for f being PartFunc of [:X,Y:],Z holds ~ f is PartFunc of [:Y,X:],Z proofend; theorem Th49: :: FUNCT_4:49 for X, Y, Z being set for f being Function of [:X,Y:],Z st Z <> {} holds ~ f is Function of [:Y,X:],Z proofend; theorem :: FUNCT_4:50 for X, Y being set for D being non empty set for f being Function of [:X,Y:],D holds ~ f is Function of [:Y,X:],D by Th49; theorem Th51: :: FUNCT_4:51 for f being Function holds ~ (~ f) c= f proofend; theorem Th52: :: FUNCT_4:52 for X, Y being set for f being Function st dom f c= [:X,Y:] holds ~ (~ f) = f proofend; theorem :: FUNCT_4:53 for X, Y, Z being set for f being PartFunc of [:X,Y:],Z holds ~ (~ f) = f proofend; :: Product of 2'ary functions definition let f, g be Function; func|:f,g:| -> Function means :Def3: :: FUNCT_4:def 3 ( ( for z being set holds ( z in dom it iff ex x, y, x9, y9 being set st ( z = [[x,x9],[y,y9]] & [x,y] in dom f & [x9,y9] in dom g ) ) ) & ( for x, y, x9, y9 being set st [x,y] in dom f & [x9,y9] in dom g holds it . ([x,x9],[y,y9]) = [(f . (x,y)),(g . (x9,y9))] ) ); existence ex b1 being Function st ( ( for z being set holds ( z in dom b1 iff ex x, y, x9, y9 being set st ( z = [[x,x9],[y,y9]] & [x,y] in dom f & [x9,y9] in dom g ) ) ) & ( for x, y, x9, y9 being set st [x,y] in dom f & [x9,y9] in dom g holds b1 . ([x,x9],[y,y9]) = [(f . (x,y)),(g . (x9,y9))] ) ) proofend; uniqueness for b1, b2 being Function st ( for z being set holds ( z in dom b1 iff ex x, y, x9, y9 being set st ( z = [[x,x9],[y,y9]] & [x,y] in dom f & [x9,y9] in dom g ) ) ) & ( for x, y, x9, y9 being set st [x,y] in dom f & [x9,y9] in dom g holds b1 . ([x,x9],[y,y9]) = [(f . (x,y)),(g . (x9,y9))] ) & ( for z being set holds ( z in dom b2 iff ex x, y, x9, y9 being set st ( z = [[x,x9],[y,y9]] & [x,y] in dom f & [x9,y9] in dom g ) ) ) & ( for x, y, x9, y9 being set st [x,y] in dom f & [x9,y9] in dom g holds b2 . ([x,x9],[y,y9]) = [(f . (x,y)),(g . (x9,y9))] ) holds b1 = b2 proofend; end; :: deftheorem Def3 defines |: FUNCT_4:def_3_:_ for f, g, b3 being Function holds ( b3 = |:f,g:| iff ( ( for z being set holds ( z in dom b3 iff ex x, y, x9, y9 being set st ( z = [[x,x9],[y,y9]] & [x,y] in dom f & [x9,y9] in dom g ) ) ) & ( for x, y, x9, y9 being set st [x,y] in dom f & [x9,y9] in dom g holds b3 . ([x,x9],[y,y9]) = [(f . (x,y)),(g . (x9,y9))] ) ) ); theorem Th54: :: FUNCT_4:54 for x, x9, y, y9 being set for f, g being Function holds ( [[x,x9],[y,y9]] in dom |:f,g:| iff ( [x,y] in dom f & [x9,y9] in dom g ) ) proofend; theorem :: FUNCT_4:55 for x, x9, y, y9 being set for f, g being Function st [[x,x9],[y,y9]] in dom |:f,g:| holds |:f,g:| . ([x,x9],[y,y9]) = [(f . (x,y)),(g . (x9,y9))] proofend; theorem Th56: :: FUNCT_4:56 for f, g being Function holds rng |:f,g:| c= [:(rng f),(rng g):] proofend; theorem Th57: :: FUNCT_4:57 for X, Y, X9, Y9 being set for f, g being Function st dom f c= [:X,Y:] & dom g c= [:X9,Y9:] holds dom |:f,g:| c= [:[:X,X9:],[:Y,Y9:]:] proofend; theorem Th58: :: FUNCT_4:58 for X, Y, X9, Y9 being set for f, g being Function st dom f = [:X,Y:] & dom g = [:X9,Y9:] holds dom |:f,g:| = [:[:X,X9:],[:Y,Y9:]:] proofend; theorem :: FUNCT_4:59 for X, Y, Z, X9, Y9, Z9 being set for f being PartFunc of [:X,Y:],Z for g being PartFunc of [:X9,Y9:],Z9 holds |:f,g:| is PartFunc of [:[:X,X9:],[:Y,Y9:]:],[:Z,Z9:] proofend; theorem Th60: :: FUNCT_4:60 for X, Y, Z, X9, Y9, Z9 being set for f being Function of [:X,Y:],Z for g being Function of [:X9,Y9:],Z9 st Z <> {} & Z9 <> {} holds |:f,g:| is Function of [:[:X,X9:],[:Y,Y9:]:],[:Z,Z9:] proofend; theorem :: FUNCT_4:61 for X, Y, X9, Y9 being set for D, D9 being non empty set for f being Function of [:X,Y:],D for g being Function of [:X9,Y9:],D9 holds |:f,g:| is Function of [:[:X,X9:],[:Y,Y9:]:],[:D,D9:] by Th60; definition let x, y, a, b be set ; func(x,y) --> (a,b) -> set equals :: FUNCT_4:def 4 (x .--> a) +* (y .--> b); correctness coherence (x .--> a) +* (y .--> b) is set ; ; end; :: deftheorem defines --> FUNCT_4:def_4_:_ for x, y, a, b being set holds (x,y) --> (a,b) = (x .--> a) +* (y .--> b); registration let x, y, a, b be set ; cluster(x,y) --> (a,b) -> Relation-like Function-like ; coherence ( (x,y) --> (a,b) is Function-like & (x,y) --> (a,b) is Relation-like ) ; end; theorem Th62: :: FUNCT_4:62 for x1, x2, y1, y2 being set holds ( dom ((x1,x2) --> (y1,y2)) = {x1,x2} & rng ((x1,x2) --> (y1,y2)) c= {y1,y2} ) proofend; theorem Th63: :: FUNCT_4:63 for x1, x2, y1, y2 being set holds ( ( x1 <> x2 implies ((x1,x2) --> (y1,y2)) . x1 = y1 ) & ((x1,x2) --> (y1,y2)) . x2 = y2 ) proofend; theorem :: FUNCT_4:64 for x1, x2, y1, y2 being set st x1 <> x2 holds rng ((x1,x2) --> (y1,y2)) = {y1,y2} proofend; theorem :: FUNCT_4:65 for x1, x2, y being set holds (x1,x2) --> (y,y) = {x1,x2} --> y proofend; definition let A be non empty set ; let x1, x2 be set ; let y1, y2 be Element of A; :: original:--> redefine func(x1,x2) --> (y1,y2) -> Function of {x1,x2},A; coherence (x1,x2) --> (y1,y2) is Function of {x1,x2},A proofend; end; theorem :: FUNCT_4:66 for a, b, c, d being set for g being Function st dom g = {a,b} & g . a = c & g . b = d holds g = (a,b) --> (c,d) proofend; theorem Th67: :: FUNCT_4:67 for a, b, c, d being set st a <> c holds (a,c) --> (b,d) = {[a,b],[c,d]} proofend; theorem :: FUNCT_4:68 for a, b, x, y, x9, y9 being set st a <> b & (a,b) --> (x,y) = (a,b) --> (x9,y9) holds ( x = x9 & y = y9 ) proofend; begin :: from CIRCCOMB theorem :: FUNCT_4:69 for f1, f2, g1, g2 being Function st rng g1 c= dom f1 & rng g2 c= dom f2 & f1 tolerates f2 holds (f1 +* f2) * (g1 +* g2) = (f1 * g1) +* (f2 * g2) proofend; theorem Th70: :: FUNCT_4:70 for f being Function for A, B being set st dom f c= A \/ B holds (f | A) +* (f | B) = f proofend; :: from AMI_5 theorem Th71: :: FUNCT_4:71 for p, q being Function for A being set holds (p +* q) | A = (p | A) +* (q | A) proofend; theorem Th72: :: FUNCT_4:72 for f, g being Function for A being set st A misses dom g holds (f +* g) | A = f | A proofend; theorem :: FUNCT_4:73 for f, g being Function for A being set st dom f misses A holds (f +* g) | A = g | A proofend; theorem :: FUNCT_4:74 for f, g, h being Function st dom g = dom h holds (f +* g) +* h = f +* h proofend; Lm2: for f, g being Function st f c= g holds g +* f = g proofend; theorem :: FUNCT_4:75 for f being Function for A being set holds f +* (f | A) = f by Lm2, RELAT_1:59; theorem :: FUNCT_4:76 for f, g being Function for B, C being set st dom f c= B & dom g c= C & B misses C holds ( (f +* g) | B = f & (f +* g) | C = g ) proofend; theorem :: FUNCT_4:77 for p, q being Function for A being set st dom p c= A & dom q misses A holds (p +* q) | A = p proofend; theorem :: FUNCT_4:78 for f being Function for A, B being set holds f | (A \/ B) = (f | A) +* (f | B) proofend; theorem :: FUNCT_4:79 for i, j, k being set holds (i,j) :-> k = [i,j] .--> k ; theorem :: FUNCT_4:80 for i, j, k being set holds ((i,j) :-> k) . (i,j) = k by FUNCOP_1:71; :: from AMI_1, 2006.03.14, A.T. theorem :: FUNCT_4:81 for a, b, c being set holds (a,a) --> (b,c) = a .--> c proofend; theorem :: FUNCT_4:82 for x, y being set holds x .--> y = {[x,y]} by ZFMISC_1:29; :: from SCMPDS_9, 2006.03.26, A.T. theorem :: FUNCT_4:83 for f being Function for a, b, c being set st a <> c holds (f +* (a .--> b)) . c = f . c proofend; theorem :: FUNCT_4:84 for f being Function for a, b, c, d being set st a <> b holds ( (f +* ((a,b) --> (c,d))) . a = c & (f +* ((a,b) --> (c,d))) . b = d ) proofend; :: from AMI_3, 2007.06.14, A.T. theorem Th85: :: FUNCT_4:85 for a, b being set for f being Function st a in dom f & f . a = b holds a .--> b c= f proofend; theorem :: FUNCT_4:86 for a, b, c, d being set for f being Function st a in dom f & c in dom f & f . a = b & f . c = d holds (a,c) --> (b,d) c= f proofend; :: from SCMFSA6A, 2007.07.23, A.T. theorem Th87: :: FUNCT_4:87 for f, g, h being Function st f c= h & g c= h holds f +* g c= h proofend; :: from SCMFSA6B, 2007.07.25, A.T. theorem :: FUNCT_4:88 for f, g being Function for A being set st A /\ (dom f) c= A /\ (dom g) holds (f +* (g | A)) | A = g | A proofend; :: from SCMBSORT, 2007.07.26, A.T. theorem :: FUNCT_4:89 for f being Function for a, b, n, m being set holds ((f +* (a .--> b)) +* (m .--> n)) . m = n proofend; theorem :: FUNCT_4:90 for f being Function for n, m being set holds ((f +* (n .--> m)) +* (m .--> n)) . n = m proofend; theorem :: FUNCT_4:91 for f being Function for a, b, n, m, x being set st x <> m & x <> a holds ((f +* (a .--> b)) +* (m .--> n)) . x = f . x proofend; :: from KNASTER, 2007.010.28, A.T. theorem :: FUNCT_4:92 for f, g being Function st f is one-to-one & g is one-to-one & rng f misses rng g holds f +* g is one-to-one proofend; registration let f, g be Function; reduce(f +* g) +* g to f +* g; reducibility (f +* g) +* g = f +* g proofend; end; :: from SCMFSA_9, 2008.03.04, A.T. theorem :: FUNCT_4:93 for f, g being Function holds (f +* g) +* g = f +* g ; theorem :: FUNCT_4:94 for f, g, h being Function for D being set st (f +* g) | D = h | D holds (h +* g) | D = (f +* g) | D proofend; theorem :: FUNCT_4:95 for f, g, h being Function for D being set st f | D = h | D holds (h +* g) | D = (f +* g) | D proofend; :: missing, 2008.03.20, A.T. theorem Th96: :: FUNCT_4:96 for x being set holds x .--> x = id {x} proofend; theorem Th97: :: FUNCT_4:97 for f, g being Function st f c= g holds f +* g = g proofend; theorem Th98: :: FUNCT_4:98 for f, g being Function st f c= g holds g +* f = g proofend; begin definition let f be Function; let x, y be set ; funcf +~ (x,y) -> set equals :: FUNCT_4:def 5 f +* ((x .--> y) * f); coherence f +* ((x .--> y) * f) is set ; end; :: deftheorem defines +~ FUNCT_4:def_5_:_ for f being Function for x, y being set holds f +~ (x,y) = f +* ((x .--> y) * f); registration let f be Function; let x, y be set ; clusterf +~ (x,y) -> Relation-like Function-like ; coherence ( f +~ (x,y) is Relation-like & f +~ (x,y) is Function-like ) ; end; theorem Th99: :: FUNCT_4:99 for f being Function for x, y being set holds dom (f +~ (x,y)) = dom f proofend; theorem Th100: :: FUNCT_4:100 for f being Function for x, y being set st x <> y holds not x in rng (f +~ (x,y)) proofend; theorem :: FUNCT_4:101 for f being Function for x, y being set st x in rng f holds y in rng (f +~ (x,y)) proofend; theorem Th102: :: FUNCT_4:102 for f being Function for x being set holds f +~ (x,x) = f proofend; theorem Th103: :: FUNCT_4:103 for f being Function for x, y being set st not x in rng f holds f +~ (x,y) = f proofend; theorem :: FUNCT_4:104 for f being Function for x, y being set holds rng (f +~ (x,y)) c= ((rng f) \ {x}) \/ {y} proofend; theorem :: FUNCT_4:105 for z being set for f being Function for x, y being set st f . z <> x holds (f +~ (x,y)) . z = f . z proofend; theorem :: FUNCT_4:106 for z being set for f being Function for x, y being set st z in dom f & f . z = x holds (f +~ (x,y)) . z = y proofend; :: missing, 2008.04.06, A.T. theorem :: FUNCT_4:107 for f being Function for x, y being set st not x in dom f holds f c= f +* (x .--> y) proofend; theorem :: FUNCT_4:108 for X, Y being set for f being PartFunc of X,Y for x, y being set st x in X & y in Y holds f +* (x .--> y) is PartFunc of X,Y proofend; :: from FINSEQ_1, 2008.05.06, A.T. registration let f be Function; let g be non empty Function; clusterf +* g -> non empty ; coherence not f +* g is empty proofend; clusterg +* f -> non empty ; coherence not g +* f is empty proofend; end; :: from CIRCCOMB, 2009.01.26, A.T. registration let f, g be non-empty Function; clusterf +* g -> non-empty ; coherence f +* g is non-empty proofend; end; definition let X, Y be set ; let f, g be PartFunc of X,Y; :: original:+* redefine funcf +* g -> PartFunc of X,Y; coherence f +* g is PartFunc of X,Y proofend; end; :: 2009.08.31, A.T. theorem :: FUNCT_4:109 for z, x, y being set holds dom ((x --> y) +* (x .--> z)) = succ x proofend; theorem :: FUNCT_4:110 for z, x, y being set holds dom (((x --> y) +* (x .--> z)) +* ((succ x) .--> z)) = succ (succ x) proofend; :: 2009.09.08, A.T. registration let f, g be Function-yielding Function; clusterf +* g -> Function-yielding ; coherence f +* g is Function-yielding proofend; end; :: 2009.10.03, A.T. registration let I be set ; let f, g be I -defined Function; clusterf +* g -> I -defined ; coherence f +* g is I -defined proofend; end; registration let I be set ; let f be I -defined total Function; let g be I -defined Function; clusterf +* g -> I -defined total for I -defined Function; coherence for b1 being I -defined Function st b1 = f +* g holds b1 is total proofend; clusterg +* f -> I -defined total for I -defined Function; coherence for b1 being I -defined Function st b1 = g +* f holds b1 is total proofend; end; registration let I be set ; let g, h be I -valued Function; clusterg +* h -> I -valued ; coherence g +* h is I -valued proofend; end; registration let f be Function; let g, h be f -compatible Function; clusterg +* h -> f -compatible ; coherence g +* h is f -compatible proofend; end; :: missing, 2010.01.6, A.T theorem :: FUNCT_4:111 for f being Function for A being set holds (f | A) +* f = f by Th97, RELAT_1:59; :: from AMISTD_3, 2010.01.10, A.T theorem :: FUNCT_4:112 for x, y being set for R being Relation st dom R = {x} & rng R = {y} holds R = x .--> y proofend; theorem :: FUNCT_4:113 for f being Function for x, y being set holds (f +* (x .--> y)) . x = y proofend; theorem :: FUNCT_4:114 for z1, z2 being set for f being Function for x being set holds (f +* (x .--> z1)) +* (x .--> z2) = f +* (x .--> z2) proofend; registration let A be non empty set ; let a, b be Element of A; let x, y be set ; cluster(a,b) --> (x,y) -> A -defined ; coherence (a,b) --> (x,y) is A -defined ; end; theorem :: FUNCT_4:115 for g, h, f being Function st dom g misses dom h holds ((f +* g) +* h) +* g = (f +* g) +* h proofend; theorem :: FUNCT_4:116 for f, h, g being Function st dom f misses dom h & f c= g +* h holds f c= g proofend; theorem Th117: :: FUNCT_4:117 for f, h, g being Function st dom f misses dom h & f c= g holds f c= g +* h proofend; theorem :: FUNCT_4:118 for g, h, f being Function st dom g misses dom h holds (f +* g) +* h = (f +* h) +* g proofend; theorem :: FUNCT_4:119 for f, g being Function st dom f misses dom g holds (f +* g) \ g = f proofend; theorem :: FUNCT_4:120 for f, g being Function st dom f misses dom g holds f \ g = f proofend; theorem :: FUNCT_4:121 for g, h, f being Function st dom g misses dom h holds (f \ g) +* h = (f +* h) \ g proofend; theorem :: FUNCT_4:122 for f1, f2, g1, g2 being Function st f1 c= g1 & f2 c= g2 & dom f1 misses dom g2 holds f1 +* f2 c= g1 +* g2 proofend; theorem Th123: :: FUNCT_4:123 for f, g, h being Function st f c= g holds f +* h c= g +* h proofend; theorem :: FUNCT_4:124 for f, g, h being Function st f c= g & dom f misses dom h holds f c= g +* h proofend; registration let x, y be set ; clusterx .--> y -> trivial ; coherence x .--> y is trivial proofend; end; :: from CIRCCOMB, 2011.04.19, A.T theorem :: FUNCT_4:125 for f, g, h being Function st f tolerates g & g tolerates h & h tolerates f holds f +* g tolerates h proofend;