End optionSA.
Section exponentialSA.
Definition fun_Join (A B: Type) {J_B: Join B}: Join (A -> B) :=
(fun a b c => forall x, join (a x) (b x) (c x)).
Definition fun_SA
(A B: Type)
{Join_B: Join B}
{SA_B: SeparationAlgebra B}: @SeparationAlgebra (A -> B) (fun_Join A B).

(* Exponential is increasing *)
Lemma fun_incrSA
(A B: Type)
{R_B: Relation B}
{J_B: Join B}
(incr_B: IncreasingSeparationAlgebra B):
@IncreasingSeparationAlgebra (A -> B) (pointwise_relation A R_B) (fun_Join A B).