Theory Stream_Distributive_Law2

theory Stream_Distributive_Law2
imports Stream_Integrate_New_Op2
header {* Distributive law for the sum of 2 *}

(* This is similar to Distributive_Law, but assumes a distributive law Λ2 over (SpK,ΣΣ2,F)
instead of (S,ΣΣ2,F): *)

theory Stream_Distributive_Law2
imports Stream_Integrate_New_Op2
begin

(* We assume (S,ΣΣ,F)-distributive law, where:
 -- S is the syntactic signature and T is its term extension (free algebra extension)
 -- F is the behavior functor  *)

(*
(* Distributive law: *)
consts Λ2 :: "('a × 'a F) SpK => 'a ΣΣ2 F"

axiomatization where
  Λ2_natural: "Λ2 o SpKmap (f ** Fmap f) = Fmap (T1_map f) o Λ2"

*)


end