A1:
ex h being ManySortedSet of NAT st
( 0 -BitMajorityOutput x,y = h . 0 & h . 0 = [<*> ,((0 -tuples_on BOOLEAN ) --> FALSE )] & ( for n being Nat
for z being set st z = h . n holds
h . (n + 1) = MajorityOutput (x . (n + 1)),(y . (n + 1)),z ) )
by Def5;
defpred S1[ Element of NAT ] means n -BitMajorityOutput x,y is pair ;
A2:
S1[ 0 ]
by A1;
A3:
for n being Element of NAT st S1[n] holds
S1[n + 1]
proof
let n be
Element of
NAT ;
( S1[n] implies S1[n + 1] )
(n + 1) -BitMajorityOutput x,
y =
MajorityOutput (x . (n + 1)),
(y . (n + 1)),
(n -BitMajorityOutput x,y)
by Th13
.=
[<*[<*(x . (n + 1)),(y . (n + 1))*>,'&' ],[<*(y . (n + 1)),(n -BitMajorityOutput x,y)*>,'&' ],[<*(n -BitMajorityOutput x,y),(x . (n + 1))*>,'&' ]*>,or3 ]
;
hence
(
S1[
n] implies
S1[
n + 1] )
;
verum
end;
for n being Element of NAT holds S1[n]
from NAT_1:sch 1(A2, A3);
hence
n -BitMajorityOutput x,y is pair
; verum