FullAdder: circuit  
  inputs a,b,ci
  outputs s,co
ha1: HalfAdder (a,b),(s1,co1)
ha2: HalfAdder (ci,s1),(s,co2)
g3: or (co1,co2),co
  endcircuit  
     
HalfAdder: circuit  
  inputs a,b
  outputs s,c
g1: xor (a,b),s
g2: and (a,b),c
  endcircuit