def conclude(self,CD): A = CD["A"] B = CD["B"] AxB = Object(CD,"AxB") AxB.namescheme=('{}x{}',('A','B')) #this should be a pair (format string,tuple of names in chardiag), names from main diagram will be substitued when rule is implemented AxB.latexscheme=('{} \\times {}',('A','B')) pi1 = Morphism(AxB,A,"pi1") pi2 = Morphism(AxB,B,"pi2") pi1.latexscheme=('',()) #suppress morphism name display pi2.latexscheme=('',()) #suppress morphism name display ProductProperty(pi1,pi2)
def conclude(self,D): phi = Morphism(D["P"],D["N"],"phi") phi.namescheme=("{} x {}",("f","g")) phi.latexscheme=("{} \\oplus {}",("f","g")) Commute(D["f"],phi*D["i1"]) Commute(D["g"],phi*D["i2"])
def conclude(self,D): ftilde=Morphism(D['B'],D['I']) ftilde.namescheme=("{}tilde",("f")) ftilde.latexscheme=("\\tilde\{{}\}",("f")) Commute(D["f"],ftilde*D['iota'])