let c, x, y be set ; ( c <> [<*x,y*>,'xor' ] implies for s being State of (2GatesCircuit x,y,c,'xor' )
for a1, a2, a3 being Element of BOOLEAN st a1 = s . x & a2 = s . y & a3 = s . c holds
(Following s,2) . (2GatesCircOutput x,y,c,'xor' ) = (a1 'xor' a2) 'xor' a3 )
set f = 'xor' ;
assume A1:
c <> [<*x,y*>,'xor' ]
; for s being State of (2GatesCircuit x,y,c,'xor' )
for a1, a2, a3 being Element of BOOLEAN st a1 = s . x & a2 = s . y & a3 = s . c holds
(Following s,2) . (2GatesCircOutput x,y,c,'xor' ) = (a1 'xor' a2) 'xor' a3
let s be State of (2GatesCircuit x,y,c,'xor' ); for a1, a2, a3 being Element of BOOLEAN st a1 = s . x & a2 = s . y & a3 = s . c holds
(Following s,2) . (2GatesCircOutput x,y,c,'xor' ) = (a1 'xor' a2) 'xor' a3
let a1, a2, a3 be Element of BOOLEAN ; ( a1 = s . x & a2 = s . y & a3 = s . c implies (Following s,2) . (2GatesCircOutput x,y,c,'xor' ) = (a1 'xor' a2) 'xor' a3 )
assume
( a1 = s . x & a2 = s . y & a3 = s . c )
; (Following s,2) . (2GatesCircOutput x,y,c,'xor' ) = (a1 'xor' a2) 'xor' a3
hence (Following s,2) . (2GatesCircOutput x,y,c,'xor' ) =
'xor' . <*('xor' . <*a1,a2*>),a3*>
by A1, Th62
.=
'xor' . <*(a1 'xor' a2),a3*>
by Def4
.=
(a1 'xor' a2) 'xor' a3
by Def4
;
verum