hereby :: thesis: ( ( for o being object of C holds
( <^o,o^> <> {} & ex i being Morphism of o,o st
for o9 being object of C
for m9 being Morphism of o9,o
for m99 being Morphism of o,o9 holds
( ( <^o9,o^> <> {} implies i * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * i = m99 ) ) ) ) implies C is with_units )
assume A1: C is with_units ; :: thesis: for o being object of C holds
( <^o,o^> <> {} & ex i being Morphism of o,o st
for o9 being object of C
for m9 being Morphism of o9,o
for m99 being Morphism of o,o9 holds
( ( <^o9,o^> <> {} implies i * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * i = m99 ) ) )

then reconsider C9 = C as non empty with_units AltCatStr ;
let o be object of C; :: thesis: ( <^o,o^> <> {} & ex i being Morphism of o,o st
for o9 being object of C
for m9 being Morphism of o9,o
for m99 being Morphism of o,o9 holds
( ( <^o9,o^> <> {} implies i * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * i = m99 ) ) )

thus <^o,o^> <> {} by A1, ALTCAT_1:21; :: thesis: ex i being Morphism of o,o st
for o9 being object of C
for m9 being Morphism of o9,o
for m99 being Morphism of o,o9 holds
( ( <^o9,o^> <> {} implies i * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * i = m99 ) )

reconsider p = o as object of C9 ;
reconsider i = idm p as Morphism of o,o ;
take i = i; :: thesis: for o9 being object of C
for m9 being Morphism of o9,o
for m99 being Morphism of o,o9 holds
( ( <^o9,o^> <> {} implies i * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * i = m99 ) )

let o9 be object of C; :: thesis: for m9 being Morphism of o9,o
for m99 being Morphism of o,o9 holds
( ( <^o9,o^> <> {} implies i * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * i = m99 ) )

let m9 be Morphism of o9,o; :: thesis: for m99 being Morphism of o,o9 holds
( ( <^o9,o^> <> {} implies i * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * i = m99 ) )

let m99 be Morphism of o,o9; :: thesis: ( ( <^o9,o^> <> {} implies i * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * i = m99 ) )
thus ( <^o9,o^> <> {} implies i * m9 = m9 ) by ALTCAT_1:24; :: thesis: ( <^o,o9^> <> {} implies m99 * i = m99 )
thus ( <^o,o9^> <> {} implies m99 * i = m99 ) by ALTCAT_1:def 19; :: thesis: verum
end;
assume A2: for o being object of C holds
( <^o,o^> <> {} & ex i being Morphism of o,o st
for o9 being object of C
for m9 being Morphism of o9,o
for m99 being Morphism of o,o9 holds
( ( <^o9,o^> <> {} implies i * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * i = m99 ) ) ) ; :: thesis: C is with_units
hereby :: according to ALTCAT_1:def 9,ALTCAT_1:def 18 :: thesis: the Comp of C is with_right_units
let j be Element of C; :: thesis: ex e being set st
( e in the Arrows of C . j,j & ( for i being Element of C
for f being set st f in the Arrows of C . i,j holds
(the Comp of C . i,j,j) . e,f = f ) )

reconsider o = j as object of C ;
consider m being Morphism of o,o such that
A3: for o9 being object of C
for m9 being Morphism of o9,o
for m99 being Morphism of o,o9 holds
( ( <^o9,o^> <> {} implies m * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * m = m99 ) ) by A2;
reconsider e = m as set ;
take e = e; :: thesis: ( e in the Arrows of C . j,j & ( for i being Element of C
for f being set st f in the Arrows of C . i,j holds
(the Comp of C . i,j,j) . e,f = f ) )

A4: <^o,o^> <> {} by A2;
hence e in the Arrows of C . j,j ; :: thesis: for i being Element of C
for f being set st f in the Arrows of C . i,j holds
(the Comp of C . i,j,j) . e,f = f

let i be Element of C; :: thesis: for f being set st f in the Arrows of C . i,j holds
(the Comp of C . i,j,j) . e,f = f

let f be set ; :: thesis: ( f in the Arrows of C . i,j implies (the Comp of C . i,j,j) . e,f = f )
assume A5: f in the Arrows of C . i,j ; :: thesis: (the Comp of C . i,j,j) . e,f = f
reconsider o9 = i as object of C ;
reconsider m9 = f as Morphism of o9,o by A5;
thus (the Comp of C . i,j,j) . e,f = m * m9 by A4, A5, ALTCAT_1:def 10
.= f by A3, A5 ; :: thesis: verum
end;
let i be Element of C; :: according to ALTCAT_1:def 8 :: thesis: ex b1 being set st
( b1 in the Arrows of C . i,i & ( for b2 being Element of the carrier of C
for b3 being set holds
( not b3 in the Arrows of C . i,b2 or (the Comp of C . i,i,b2) . b3,b1 = b3 ) ) )

reconsider o = i as object of C ;
consider m being Morphism of o,o such that
A6: for o9 being object of C
for m9 being Morphism of o9,o
for m99 being Morphism of o,o9 holds
( ( <^o9,o^> <> {} implies m * m9 = m9 ) & ( <^o,o9^> <> {} implies m99 * m = m99 ) ) by A2;
take e = m; :: thesis: ( e in the Arrows of C . i,i & ( for b1 being Element of the carrier of C
for b2 being set holds
( not b2 in the Arrows of C . i,b1 or (the Comp of C . i,i,b1) . b2,e = b2 ) ) )

A7: <^o,o^> <> {} by A2;
hence e in the Arrows of C . i,i ; :: thesis: for b1 being Element of the carrier of C
for b2 being set holds
( not b2 in the Arrows of C . i,b1 or (the Comp of C . i,i,b1) . b2,e = b2 )

let j be Element of C; :: thesis: for b1 being set holds
( not b1 in the Arrows of C . i,j or (the Comp of C . i,i,j) . b1,e = b1 )

let f be set ; :: thesis: ( not f in the Arrows of C . i,j or (the Comp of C . i,i,j) . f,e = f )
assume A8: f in the Arrows of C . i,j ; :: thesis: (the Comp of C . i,i,j) . f,e = f
reconsider o9 = j as object of C ;
reconsider m9 = f as Morphism of o,o9 by A8;
thus (the Comp of C . i,i,j) . f,e = m9 * m by A7, A8, ALTCAT_1:def 10
.= f by A6, A8 ; :: thesis: verum