
theorem Th116:
  for x,y,z being set for s being State of GFA3CarryCirc(x,y,z)
for a1,a2,a3 being Element of BOOLEAN st a1 = s.[<*x,y*>,nor2] & a2 = s.[<*y,z
*>,nor2] & a3 = s.[<*z,x*>,nor2] holds (Following s).GFA3CarryOutput(x,y,z) =
  'not' (a1 'or' a2 'or' a3)
proof
  let x,y,z be set;
  set f1 = nor2, f2 = nor2, f3 = nor2, f4 = nor3;
  let s be State of GFA3CarryCirc(x,y,z);
  set xy =[<*x,y*>,f1], yz = [<*y,z*>,f2], zx = [<*z,x*>,f3];
  let a1,a2,a3 be Element of BOOLEAN such that
A1: a1 = s.xy & a2 = s.yz & a3 = s.zx;
  set S = GFA3CarryStr(x,y,z);
  reconsider xy, yz, zx as Element of InnerVertices S by Th112;
A2: dom s = the carrier of S by CIRCUIT1:3;
  InnerVertices S = the carrier' of S by FACIRC_1:37;
  hence (Following s).GFA3CarryOutput(x,y,z) = f4.(s*<*xy, yz, zx*>) by
FACIRC_1:35
    .= f4.<*a1,a2,a3*> by A1,A2,FINSEQ_2:126
    .= 'not' (a1 'or' a2 'or' a3) by TWOSCOMP:def 28;
end;
