reserve x,y,z,c for object,
  f for Function of 2-tuples_on BOOLEAN, BOOLEAN;
reserve s for State of 2GatesCircuit(x,y,c,f);

theorem Th79:
  for x,y,c being non pair object for s being State of MajorityCirc(x
,y,c) for a1,a2,a3 being Element of BOOLEAN st a1 = s.[<*x,y*>,'&'] & a2 = s.[
<*y,c*>,'&'] & a3 = s.[<*c,x*>,'&'] holds (Following s).MajorityOutput(x,y,c) =
  a1 'or' a2 'or' a3
proof
  let x,y,c be non pair object;
  set xy =[<*x,y*>,'&'], yc = [<*y,c*>,'&'], cx = [<*c,x*>,'&'];
  set S = MajorityStr(x,y,c);
  reconsider xy, yc, cx as Element of InnerVertices S by Th73;
  let s be State of MajorityCirc(x,y,c);
  let a1,a2,a3 be Element of BOOLEAN such that
A1: a1 = s.[<*x,y*>,'&'] & a2 = s.[<*y,c*>,'&'] & a3 = s.[<*c,x*>,'&'];
A2: dom s = the carrier of S by CIRCUIT1:3;
  InnerVertices S = the carrier' of S by Th37;
  hence (Following s).MajorityOutput(x,y,c) = or3.(s*<*xy, yc, cx*>) by Th35
    .= or3.<*a1,a2,a3*> by A1,A2,FINSEQ_2:126
    .= a1 'or' a2 'or' a3 by Def6;
end;
