
theorem
  for am,bp,cm being non pair set for dp,cin being set for s being State
of BitFTA2Circ(am,bp,cm,dp,cin) for a1,a2,a3 being Element of BOOLEAN st a1 = s
.am & a2 = s.bp & a3 = s.cm holds Following(s,2).BitFTA2CarryOutput(am,bp,cm,dp
  ,cin) = 'not' (('not' a1 '&' a2) 'or' (a2 '&' 'not' a3) 'or' ('not' a3 '&'
  'not' a1)) & Following(s,2).BitFTA2AdderOutputI(am,bp,cm,dp,cin) = 'not' a1
  'xor' a2 'xor' 'not' a3
proof
  let am,bp,cm be non pair set;
  let dp,cin be set;
  let s be State of BitFTA2Circ(am,bp,cm,dp,cin);
  set S1 = BitGFA2Str(am,bp,cm);
  set C1 = BitGFA2Circ(am,bp,cm);
  set A1 = GFA2AdderOutput(am,bp,cm);
  set A2 = GFA2CarryOutput(am,bp,cm);
  set S2 = BitGFA1Str(A1,cin,dp);
  set C2 = BitGFA1Circ(A1,cin,dp);
  let a1,a2,a3 be Element of BOOLEAN such that
A1: a1 = s.am and
A2: a2 = s.bp and
A3: a3 = s.cm;
  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;
  am in the carrier of S1 by GFACIRC1:100;
  then
A5: a1 = s1.am by A1,A4,FUNCT_1:47;
  reconsider t = s as State of C1+*C2;
A6: InputVertices S1 misses InnerVertices S2 by Lm22;
  cm in the carrier of S1 by GFACIRC1:100;
  then
A7: a3 = s1.cm by A3,A4,FUNCT_1:47;
  bp in the carrier of S1 by GFACIRC1:100;
  then
A8: a2 = s1.bp by A2,A4,FUNCT_1:47;
  A2 in the carrier of S1 by GFACIRC1:100;
  then Following(t,2).GFA2CarryOutput(am,bp,cm) = Following(s1,2).
  GFA2CarryOutput(am,bp,cm) by A6,FACIRC_1:32;
  hence Following(s,2).BitFTA2CarryOutput(am,bp,cm,dp,cin) = 'not' (('not' a1
  '&' a2) 'or' (a2 '&' 'not' a3) 'or' ('not' a3 '&' 'not' a1)) by A5,A8,A7,
GFACIRC1:103;
  A1 in the carrier of S1 by GFACIRC1:100;
  then Following(t,2).GFA2AdderOutput(am,bp,cm) = Following(s1,2).
  GFA2AdderOutput(am,bp,cm) by A6,FACIRC_1:32;
  hence thesis by A5,A8,A7,GFACIRC1:103;
end;
