digraph workshops {
//  clusterrank=none;
  ranksep=1;
  node [fixedsize=true,fontsize=9,height=.3];
  edge [labeldistance=0,fontsize=9,arrowsize=.5];

  subgraph cluster_simple {
    node [width=.68];
    simple_U [label="$U$"];
    simple_pW_W [label="$\\zoutp p W \\parp W$"];
    simple_pW_pW [label="$\\zoutp p W\\parp \\zoutp p W$"];

    simple_U -> simple_pW_W [label="\\ju"];
    simple_pW_W -> simple_pW_pW [label="\\ju"];
    simple_pW_W -> simple_U [label="\\jp"];
    simple_pW_pW -> simple_pW_W [label="\\jp"];

  }


//U            
//abpW B  W    abpW B  abpW
// bpW bB W     bpW bB abpW     bpW bB bpW !
//  pW B  W      pW B  abpW      pW bB bpW     pW B pw



  subgraph cluster_fancy {
    node [width=1.3];
    fancy_U [label="$U'$"];
    fancy_abpW_B_W    [label="$\\jabpW \\parp \\jB  \\parp \\jW$"]; 
    fancy_bpW_bB_W    [label="$\\jbpW  \\parp \\jbB \\parp \\jW$"]; 
    fancy_pW_B_W      [label="$\\jpW   \\parp \\jB  \\parp \\jW$"]; 
//
    fancy_abpW_B_abpW [label="$\\jabpW \\parp \\jB  \\parp \\jabpW$"]; 
    fancy_abpW_bB_bpW [label="$\\jabpW \\parp \\jbB \\parp \\jbpW$"]; 
    fancy_abpW_B_pW   [label="$\\jabpW \\parp \\jB  \\parp \\jpW$"]; 
//
    fancy_bpW_bB_pW   [label="$\\jbpW  \\parp \\jbB \\parp \\jpW$"]; 
//
    fancy_pW_B_pW     [label="$\\jpW   \\parp \\jB  \\parp \\jpW$"]; 


//
    fancy_U -> fancy_abpW_B_W [label="\\ju"];
//
    fancy_abpW_B_W -> fancy_bpW_bB_W [label="\\jt"];
    fancy_abpW_B_W -> fancy_abpW_B_abpW [label="\\ju"];
//
    fancy_bpW_bB_W -> fancy_pW_B_W  [label="\\jt"];
    fancy_bpW_bB_W -> fancy_abpW_bB_bpW  [label="\\ju"];
//
    fancy_pW_B_W -> fancy_U [label="\\jp"];
    fancy_pW_B_W -> fancy_abpW_B_pW [label="\\ju"];
//
    fancy_abpW_B_abpW -> fancy_abpW_bB_bpW [label="\\jt"];
//
    fancy_abpW_bB_bpW -> fancy_abpW_B_pW [label="\\jt"];
//
    fancy_abpW_B_pW -> fancy_abpW_B_W [label="\\jp"];
    fancy_abpW_B_pW -> fancy_bpW_bB_pW [label="\\jt"];
//
    fancy_bpW_bB_pW -> fancy_bpW_bB_W [label="\\jp"];
    fancy_bpW_bB_pW -> fancy_pW_B_pW [label="\\jt"];
//
    fancy_pW_B_pW -> fancy_pW_B_W [label="\\jp"];
  }



  edge [style=dashed,color=red,dir=none];

  fancy_U -> simple_U;


  fancy_abpW_B_W -> simple_pW_W;
  fancy_bpW_bB_W -> simple_pW_W;
  fancy_pW_B_W -> simple_pW_W;



  fancy_abpW_B_abpW -> simple_pW_pW;
  fancy_abpW_bB_bpW -> simple_pW_pW;
  fancy_abpW_B_pW -> simple_pW_pW;
  fancy_bpW_bB_pW -> simple_pW_pW;
  fancy_pW_B_pW -> simple_pW_pW;


  {rank=same;  "simple_U"; "fancy_U"}
//  {rank=same;  "simple_pW_W"; "fancy_abpW_B_W";  "fancy_bpW_bB_W";  "fancy_pW_B_W"}
 // {rank=same;   "simple_pW_pW"; "fancy_abpW_B_abpW";  "fancy_abpW_bB_bpW";  "fancy_abpW_B_pW";  "fancy_bpW_bB_pW";  "fancy_pW_B_pW" }

 {rank=same;   "simple_pW_pW"; "fancy_pW_B_pW" }

}

/*               a -> b -> c;
               a -> {x y};
               b [shape=box];
               c [label="$x^2$hello\nworld",color=blue,fontsize=24,
                    fontname="Palatino-Italic",fontcolor=red,style=filled];
               a -> z [label="$x$"];
               x -> z [label="multi-line\nlabel"];
               edge [style=dashed,color=red,dir=none];
               b -> x;
               {rank=same; b x}
*/



