Beispiel #1
0
 def __init__(self):
     Homomorphism.__init__(self,CD,CD)
     self.CD = CD 
     self.newMorphisms = [F.compose(G,dry = True)]
     self.newObjects = []
     self.newProperties = []
     self.extension = extension
     self.partialInverse = extension
Beispiel #2
0
from ExtensionRequest import ExtensionRequest
from Diagram import Object,Morphism,Diagram
from Homomorphism.base import Homomorphism
from base import Rule
from Rule.abelianProperty import isMorphismZero

CD = Diagram()
A = Object(CD,"A") 
B = Object(CD,"B") 
C = Object(CD,"C") 
F = Morphism(B,C,"F")
G = Morphism(A,B,"G")


#A -> B -> C
extension = Homomorphism(CD,CD)
extension.set_node_image(A, A)
extension.set_node_image(B, B)
extension.set_node_image(C, C)
extension.set_edge_image(F, F)
extension.set_edge_image(G, G)

class ComposeRuleClass(Rule):
    name = "ComposeRule"
    def __init__(self):
        Homomorphism.__init__(self,CD,CD)
        self.CD = CD 
        self.newMorphisms = [F.compose(G,dry = True)]
        self.newObjects = []
        self.newProperties = []
        self.extension = extension
 def get_edge_image(self,item):
     res = Homomorphism.get_edge_image(self,item)
     if res is not None:
         return res
     if isinstance(item,Identity):
         return getIdentity(self.edgeMap[item.source])