Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> dofile "zhas.lua"
> 
> -- The (v*) cube
> mp = mpnew({def="orStarCubeArchetypal"}, "12321L"):addcuts("c 21/0 0|12")
> mp:put(v"10", "P"):put(v"20", "P*", "P^*")
> mp:put(v"01", "Q"):put(v"02", "Q*", "Q^*"):print()
   /  \         
                
   \     \      
                
   /        \   
                
/  \        /  \
 P*          Q* 
\     \  /     /
    P     Q     
   \  /  \  /   
                
      \  /      
> 
> -- The (&*) cube
> mp = mpnew({def="andStarCubeArchetypal"}, "12321"):addcuts("c 2/10 01|2")
> mp:put(v"20", "P"):put(v"21", "P*", "P^*")
> mp:put(v"02", "Q"):put(v"12", "Q*", "Q^*"):print()
      /  \      
                
   /  \  /  \   
    P*    Q*    
/     /  \     \
 P           Q  
\  /        \  /
                
   \        /   
                
      \  /      
> 
> -- The (->*) cube
> mp = mpnew({def="impStarCubeArchetypal"}, "12321"):addcuts("c 2/10 01|2")
> mp:put(v"10", "P")
> mp:put(v"00", "Q"):print()
      /  \      
                
   /  \  /  \   
                
/     /  \     \
                
\  /        \  /
    P           
   \        /   
       Q        
      \  /      
> 
> -- (&R) is *-functorial
> mp = mpnew({def="andRIsStarFunctorial"}, "1234R321"):addcuts("c 32/10 01|23|4")
> mp:put(v"30", "P"):put(v"31", "P*", "P^*")
> mp:put(v"22", "Q"):put(v"33", "Q*", "Q^*")
> mp:put(v"04", "R"):put(v"14", "R*", "R^*"):print()
            /  \         
                         
         /  \     \      
          Q*             
      /        \  /  \   
                   R*    
   /  \        /  \     \
    P*    Q           R  
/        \  /        \  /
 P                       
\        /  \        /   
                         
   \  /        \  /      
                         
      \        /         
                         
         \  /            
> 
> -- (Pv) is *-functorial
> mp = mpnew({def="PvIsStarFunctorial"}, "1234R3L21L"):addcuts("c 5432/10 0|12|34")
> mp:put(v"20", "P"):put(v"30", "P*", "P^*")
> mp:put(v"11", "Q"):put(v"12", "Q*", "Q^*")
> mp:put(v"03", "R"):put(v"14", "R*", "R^*"):print()
      /  \               
                         
      \     \            
                         
      /        \         
                         
   /  \           \      
                         
   \     \        /  \   
                   R*    
   /        \  /        \
                         
/  \        /  \        /
 P*          Q*    R     
\     \  /        \  /   
    P     Q              
   \  /  \        /      
                         
      \     \  /         
                         
         \  /            
> 
>