let C be non empty set ; :: thesis: for V being non empty addLoopStr
for f1, f2 being PartFunc of C,V holds f1 - f2 = f1 + (- f2)

let V be non empty addLoopStr ; :: thesis: for f1, f2 being PartFunc of C,V holds f1 - f2 = f1 + (- f2)
let f1, f2 be PartFunc of C,V; :: thesis: f1 - f2 = f1 + (- f2)
A1: dom (f1 - f2) = (dom f1) /\ (dom f2) by Def2
.= (dom f1) /\ (dom (- f2)) by Def5
.= dom (f1 + (- f2)) by Def1 ;
now :: thesis: for c being Element of C st c in dom (f1 + (- f2)) holds
(f1 + (- f2)) /. c = (f1 - f2) /. c
let c be Element of C; :: thesis: ( c in dom (f1 + (- f2)) implies (f1 + (- f2)) /. c = (f1 - f2) /. c )
assume A2: c in dom (f1 + (- f2)) ; :: thesis: (f1 + (- f2)) /. c = (f1 - f2) /. c
then c in (dom f1) /\ (dom (- f2)) by Def1;
then A3: c in dom (- f2) by XBOOLE_0:def 4;
thus (f1 + (- f2)) /. c = (f1 /. c) + ((- f2) /. c) by A2, Def1
.= (f1 /. c) - (f2 /. c) by A3, Def5
.= (f1 - f2) /. c by A1, A2, Def2 ; :: thesis: verum
end;
hence f1 - f2 = f1 + (- f2) by A1, PARTFUN2:1; :: thesis: verum