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[ Nat] means n -BitMajorityOutput (x,y) is pair ;
A2:
S1[ 0 ]
by A1;
A3:
for n being Nat st S1[n] holds
S1[n + 1]
proof
let n be
Nat;
( S1[n] implies S1[n + 1] )
(n + 1) -BitMajorityOutput (
x,
y) =
MajorityOutput (
(x . (n + 1)),
(y . (n + 1)),
(n -BitMajorityOutput (x,y)))
by Th12
.=
[<*[<*(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 Nat holds S1[n]
from NAT_1:sch 2(A2, A3);
hence
n -BitMajorityOutput (x,y) is pair
; verum