(* ::Package:: *)

(************************************************************************)
(* This file was generated automatically by the Mathematica front end.  *)
(* It contains Initialization cells from a Notebook file, which         *)
(* typically will have the same name as this file except ending in      *)
(* ".nb" instead of ".m".                                               *)
(*                                                                      *)
(* This file is intended to be loaded into the Mathematica kernel using *)
(* the package loading commands Get or Needs.  Doing so is equivalent   *)
(* to using the Evaluate Initialization Cells menu command in the front *)
(* end.                                                                 *)
(*                                                                      *)
(* DO NOT EDIT THIS FILE.  This entire file is regenerated              *)
(* automatically each time the parent Notebook file is saved in the     *)
(* Mathematica front end.  Any changes you make to this file will be    *)
(* overwritten.                                                         *)
(************************************************************************)



(* ::Input::Initialization:: *)
SetDirectory@"C:\\drorbn\\AcademicPensieve\\Projects\\OU";
<< "OU-Programs.m"


(* ::Input::Initialization:: *)
A_\[Backslash]B_:=Complement[A,B];
VPBGens[n_]:=VPBGens[n]=Flatten@Table[{Subscript[\[Sigma], i,j],Subscript[\!\(\*OverscriptBox[\(\[Sigma]\), \(_\)]\), i,j]},{i,n},{j,Range[n]\[Backslash]{i}}];


(* ::Input::Initialization:: *)
PF[n_,Subscript[\[Sigma], i_,j_]] :=PF[n,Subscript[\[Sigma], i,j]]=Module[{p,q,s},
Flatten@{Subscript[\[Sigma], i,j],Subscript[\[Sigma], j,i],Subscript[\!\(\*OverscriptBox[\(\[Sigma]\), \(_\)]\), j,i],
Table[{Subscript[\[Sigma], p,q],Subscript[\[Sigma], q,p],Subscript[\!\(\*OverscriptBox[\(\[Sigma]\), \(_\)]\), p,q],Subscript[\!\(\*OverscriptBox[\(\[Sigma]\), \(_\)]\), q,p]},{p,{i,j}},{q,Range[n]\[Backslash]{i,j}}],
Table[{Subscript[\[Sigma], p,q],Subscript[\!\(\*OverscriptBox[\(\[Sigma]\), \(_\)]\), p,q]},{p,Range[i+1,n]\[Backslash]{j}},{q,Range[n]\[Backslash]{i,j,p}}] }];
PF[n_,Subscript[\!\(\*OverscriptBox[\(\[Sigma]\), \(_\)]\), i_,j_]] := PF[n,Subscript[\!\(\*OverscriptBox[\(\[Sigma]\), \(_\)]\), i,j]]=PF[n,Subscript[\[Sigma], i,j]]/.Subscript[\[Sigma], i,j]->Subscript[\!\(\*OverscriptBox[\(\[Sigma]\), \(_\)]\), i,j]


(* ::Input::Initialization:: *)
PVPBDs[n_,0]:={VPB[n]};
PVPBDs[n_,1]:=VPB[n,#]&/@VPBGens[n];
PVPBDs[n_,m_]:=Flatten[PVPBDs[n,m-1]/.VPB[n,\[Sigma]s___,\[Sigma]_]:>(VPB[n,\[Sigma]s,\[Sigma],#]&/@PF[n,\[Sigma]])]


(* ::Input::Initialization:: *)
AllVPBs[n_,m_]:=DeleteDuplicatesBy[\!\(\*OverscriptBox[\(\[CapitalGamma]\), \(_\)]\)]@Flatten@Table[b, {k,0,m},{b,PVPBDs[n,k]}]



