(****************************************************************)

Definition full_adder_sum (a b c : bool) :=
  half_adder_sum (half_adder_sum a b) c.Definition full_adder_carry (a b c : bool) :=
  half_adder_carry a b || half_adder_carry (half_adder_sum a b) c.

Lemma full_adder_sum_true : forall a : bool, full_adder_sum a true true = a.