
theorem
  for ap,bm,cp being non pair set for dm,cin being set for s being State
of BitFTA1Circ(ap,bm,cp,dm,cin) for a1,a2,a3 being Element of BOOLEAN st a1 = s
.ap & a2 = s.bm & a3 = s.cp holds Following(s,2).BitFTA1CarryOutput(ap,bm,cp,dm
,cin) = (a1 '&' 'not' a2) 'or' ('not' a2 '&' a3) 'or' (a3 '&' a1) & Following(s
  ,2).BitFTA1AdderOutputI(ap,bm,cp,dm,cin) = 'not' (a1 'xor' 'not' a2 'xor' a3)
proof
  let ap,bm,cp be non pair set;
  let dm,cin be set;
  let s be State of BitFTA1Circ(ap,bm,cp,dm,cin);
  set S1 = BitGFA1Str(ap,bm,cp);
  set C1 = BitGFA1Circ(ap,bm,cp);
  set A1 = GFA1AdderOutput(ap,bm,cp);
  set A2 = GFA1CarryOutput(ap,bm,cp);
  set S2 = BitGFA2Str(A1,cin,dm);
  set C2 = BitGFA2Circ(A1,cin,dm);
  let a1,a2,a3 be Element of BOOLEAN such that
A1: a1 = s.ap and
A2: a2 = s.bm and
A3: a3 = s.cp;
  reconsider s1 = s|the carrier of S1 as State of C1 by FACIRC_1:26;
A4: dom s1 = the carrier of S1 by CIRCUIT1:3;
  ap in the carrier of S1 by GFACIRC1:68;
  then
A5: a1 = s1.ap by A1,A4,FUNCT_1:47;
  reconsider t = s as State of C1+*C2;
A6: InputVertices S1 misses InnerVertices S2 by Lm12;
  cp in the carrier of S1 by GFACIRC1:68;
  then
A7: a3 = s1.cp by A3,A4,FUNCT_1:47;
  bm in the carrier of S1 by GFACIRC1:68;
  then
A8: a2 = s1.bm by A2,A4,FUNCT_1:47;
  A2 in the carrier of S1 by GFACIRC1:68;
  then Following(t,2).GFA1CarryOutput(ap,bm,cp) = Following(s1,2).
  GFA1CarryOutput(ap,bm,cp) by A6,FACIRC_1:32;
  hence Following(s,2).BitFTA1CarryOutput(ap,bm,cp,dm,cin) = (a1 '&' 'not' a2)
  'or' ('not' a2 '&' a3) 'or' (a3 '&' a1) by A5,A8,A7,GFACIRC1:71;
  A1 in the carrier of S1 by GFACIRC1:68;
  then Following(t,2).GFA1AdderOutput(ap,bm,cp) = Following(s1,2).
  GFA1AdderOutput(ap,bm,cp) by A6,FACIRC_1:32;
  hence thesis by A5,A8,A7,GFACIRC1:71;
end;
