Section IterSepconRules.
Context {L: Language}
{minL: MinimumLanguage L}
{pL: PropositionalLanguage L}
{sepconL: SepconLanguage L}
{wandL: WandLanguage L}
{empL: EmpLanguage L}
{iter_sepcon_L: IterSepconLanguage L}
{iter_wand_L: IterWandLanguage L}
{iter_sepcon_Def: NormalIterSepcon L}
{iter_wand_Def: NormalIterWand L}
{Gamma: Provable L}
{minAX: MinimumAxiomatization L Gamma}
{ipAX: IntuitionisticPropositionalLogic L Gamma}
{sepconAX: SepconAxiomatization L Gamma}
{wandAX: WandAxiomatization L Gamma}
{empAX: EmpAxiomatization L Gamma}.

Lemma sepcon_iter_unfold_left_assoc:
forall xs,
|-- iter_sepcon xs <-->
match xs with
| nil => emp
| x :: xs0 => (fix f xs x :=
match xs with
| nil => x
| x0 :: xs0 => f xs0 (x * x0)
end) xs0 x
end.