let S1, S2 be non empty gate`1=arity ManySortedSign ; :: thesis: S1 +* S2 is gate`1=arity
set S = S1 +* S2;
A1:
( the carrier' of (S1 +* S2) = the carrier' of S1 \/ the carrier' of S2 & the Arity of (S1 +* S2) = the Arity of S1 +* the Arity of S2 )
by Def2;
let g be set ; :: according to CIRCCOMB:def 8 :: thesis: ( g in the carrier' of (S1 +* S2) implies g = [(the Arity of (S1 +* S2) . g),(g `2 )] )
assume A2:
g in the carrier' of (S1 +* S2)
; :: thesis: g = [(the Arity of (S1 +* S2) . g),(g `2 )]
then reconsider g = g as Gate of (S1 +* S2) ;
A3:
( g in the carrier' of S1 or g in the carrier' of S2 )
by A1, A2, XBOOLE_0:def 3;
A4:
( dom the Arity of (S1 +* S2) = the carrier' of (S1 +* S2) & dom the Arity of S1 = the carrier' of S1 & dom the Arity of S2 = the carrier' of S2 )
by FUNCT_2:def 1;
A5:
now assume A6:
not
g in the
carrier' of
S2
;
:: thesis: g = [(the Arity of (S1 +* S2) . g),(g `2 )]then reconsider g1 =
g as
Gate of
S1 by A1, A2, XBOOLE_0:def 3;
thus g =
[(the Arity of S1 . g1),(g `2 )]
by A3, A6, Def8
.=
[(the Arity of (S1 +* S2) . g),(g `2 )]
by A1, A2, A4, A6, FUNCT_4:def 1
;
:: thesis: verum end;
hence
g = [(the Arity of (S1 +* S2) . g),(g `2 )]
by A5; :: thesis: verum