let C1, C2 be non empty strict quasi-discrete AltCatStr ; :: thesis: ( the carrier of C1 = A & ( for i being object of C1 holds <^i,i^> = {(id i)} ) & the carrier of C2 = A & ( for i being object of C2 holds <^i,i^> = {(id i)} ) implies C1 = C2 )
assume that
A19: the carrier of C1 = A and
A20: for i being object of C1 holds <^i,i^> = {(id i)} and
A21: the carrier of C2 = A and
A22: for i being object of C2 holds <^i,i^> = {(id i)} ; :: thesis: C1 = C2
A23: now
let i, j, k be set ; :: thesis: ( i in A & j in A & k in A implies the Comp of C1 . (b1,b2,b3) = the Comp of C2 . (b1,b2,b3) )
assume that
A24: i in A and
A25: ( j in A & k in A ) ; :: thesis: the Comp of C1 . (b1,b2,b3) = the Comp of C2 . (b1,b2,b3)
reconsider i2 = i as object of C2 by A21, A24;
reconsider i1 = i as object of C1 by A19, A24;
per cases ( ( i = j & j = k ) or i <> j or j <> k ) ;
suppose A26: ( i = j & j = k ) ; :: thesis: the Comp of C1 . (b1,b2,b3) = the Comp of C2 . (b1,b2,b3)
A27: ( <^i2,i2^> = {(id i2)} & the Comp of C2 . (i2,i2,i2) is Function of [:<^i2,i2^>,<^i2,i2^>:],<^i2,i2^> ) by A22;
( <^i1,i1^> = {(id i1)} & the Comp of C1 . (i1,i1,i1) is Function of [:<^i1,i1^>,<^i1,i1^>:],<^i1,i1^> ) by A20;
hence the Comp of C1 . (i,j,k) = ((id i),(id i)) :-> (id i) by A26, FUNCOP_1:def 10
.= the Comp of C2 . (i,j,k) by A26, A27, FUNCOP_1:def 10 ;
:: thesis: verum
end;
suppose A28: ( i <> j or j <> k ) ; :: thesis: the Comp of C1 . (b1,b2,b3) = the Comp of C2 . (b1,b2,b3)
reconsider j1 = j, k1 = k as object of C1 by A19, A25;
A29: ( <^i1,j1^> = {} or <^j1,k1^> = {} ) by A28, Def20;
reconsider j2 = j, k2 = k as object of C2 by A21, A25;
A30: ( the Comp of C2 . (i2,j2,k2) is Function of [:<^j2,k2^>,<^i2,j2^>:],<^i2,k2^> & the Comp of C1 . (i1,j1,k1) is Function of [:<^j1,k1^>,<^i1,j1^>:],<^i1,k1^> ) ;
( <^i2,j2^> = {} or <^j2,k2^> = {} ) by A28, Def20;
hence the Comp of C1 . (i,j,k) = the Comp of C2 . (i,j,k) by A29, A30; :: thesis: verum
end;
end;
end;
now
let i, j be Element of A; :: thesis: the Arrows of C1 . (b1,b2) = the Arrows of C2 . (b1,b2)
reconsider i2 = i as object of C2 by A21;
reconsider i1 = i as object of C1 by A19;
per cases ( i = j or i <> j ) ;
suppose A31: i = j ; :: thesis: the Arrows of C1 . (b1,b2) = the Arrows of C2 . (b1,b2)
hence the Arrows of C1 . (i,j) = <^i1,i1^>
.= {(id i)} by A20
.= <^i2,i2^> by A22
.= the Arrows of C2 . (i,j) by A31 ;
:: thesis: verum
end;
suppose A32: i <> j ; :: thesis: the Arrows of C1 . (b1,b2) = the Arrows of C2 . (b1,b2)
reconsider j2 = j as object of C2 by A21;
reconsider j1 = j as object of C1 by A19;
thus the Arrows of C1 . (i,j) = <^i1,j1^>
.= {} by A32, Def20
.= <^i2,j2^> by A32, Def20
.= the Arrows of C2 . (i,j) ; :: thesis: verum
end;
end;
end;
then the Arrows of C1 = the Arrows of C2 by A19, A21, Th9;
hence C1 = C2 by A19, A21, A23, Th10; :: thesis: verum