let x, y, c be object ; for s being State of (MajorityICirc (x,y,c))
for a, b being Element of BOOLEAN st a = s . x & b = s . y holds
(Following s) . [<*x,y*>,'&'] = a '&' b
set xy = <*x,y*>;
set S1 = 1GateCircStr (<*x,y*>,'&');
set A1 = 1GateCircuit (x,y,'&');
reconsider xx = x, yy = y as Vertex of (1GateCircStr (<*x,y*>,'&')) by Th43;
reconsider v1 = [<*x,y*>,'&'] as Element of InnerVertices (1GateCircStr (<*x,y*>,'&')) by Th47;
set S2 = 1GateCircStr (<*y,c*>,'&');
set A2 = 1GateCircuit (y,c,'&');
set S3 = 1GateCircStr (<*c,x*>,'&');
set A3 = 1GateCircuit (c,x,'&');
set S = MajorityIStr (x,y,c);
set A = MajorityICirc (x,y,c);
let s be State of (MajorityICirc (x,y,c)); for a, b being Element of BOOLEAN st a = s . x & b = s . y holds
(Following s) . [<*x,y*>,'&'] = a '&' b
let a, b be Element of BOOLEAN ; ( a = s . x & b = s . y implies (Following s) . [<*x,y*>,'&'] = a '&' b )
assume A1:
( a = s . x & b = s . y )
; (Following s) . [<*x,y*>,'&'] = a '&' b
A2:
MajorityICirc (x,y,c) = (1GateCircuit (x,y,'&')) +* ((1GateCircuit (y,c,'&')) +* (1GateCircuit (c,x,'&')))
by Th25;
then reconsider s1 = s | the carrier of (1GateCircStr (<*x,y*>,'&')) as State of (1GateCircuit (x,y,'&')) by Th26;
A3:
MajorityIStr (x,y,c) = (1GateCircStr (<*x,y*>,'&')) +* ((1GateCircStr (<*y,c*>,'&')) +* (1GateCircStr (<*c,x*>,'&')))
by CIRCCOMB:6;
then reconsider v = v1 as Element of InnerVertices (MajorityIStr (x,y,c)) by Th21;
reconsider xx = xx, yy = yy as Vertex of (MajorityIStr (x,y,c)) by A3, Th20;
A4:
dom s1 = the carrier of (1GateCircStr (<*x,y*>,'&'))
by CIRCUIT1:3;
thus (Following s) . [<*x,y*>,'&'] =
(Following s1) . v
by A3, A2, CIRCCOMB:64
.=
'&' . <*(s1 . xx),(s1 . yy)*>
by Th48
.=
'&' . <*(s . xx),(s1 . yy)*>
by A4, FUNCT_1:47
.=
'&' . <*(s . xx),(s . yy)*>
by A4, FUNCT_1:47
.=
a '&' b
by A1, Def5
; verum