Section Three_inputs.
Variable FR : forall n : nat, A -> inf n -> inf n -> A.
Let R (n : nat) (a : A) (x y : inf n) (a' : A) : Prop := a' = FR n a x y.
intros P X Y a.
replace X with (nil (digit BASE)); auto with arith.
replace Y with (nil (digit BASE)); auto with arith.
Qed.

Lemma fact_Rel :
factorizable R ->
forall (n : nat) (X Y : Num (S n)) (a a' : A),
R (exp b n) (FR b a (Hd Digit n X) (Hd Digit n Y))
(Val_bound n (Tl (S n) X)) (Val_bound n (Tl (S n) Y)) a' ->
R (exp b (S n)) a (Val_bound (S n) X) (Val_bound (S n) Y) a'.