def __init__()

in clutrr/relations/builder.py [0:0]


    def __init__(self,args, store:Store, anc):
        self.anc = anc
        self.args = args
        self.rules = store.rules_store
        self.store = store
        self.comp_rules = self.rules['compositional']
        self.inv_rules = self.rules['inverse-equivalence']
        self.sym_rules = self.rules['symmetric']
        self.eq_rules = self.rules['equivalence']
        self.relation_types = self.rules['relation_types']
        self.comp_rules_inv = self._invert_rule(self.rules['compositional'])
        self.inv_rules_inv = self._invert_rule(self.rules['inverse-equivalence'])
        self.sym_rules_inv = self._invert_rule(self.rules['symmetric'])
        self.eq_rules_inv = self._invert_rule(self.rules['equivalence'])
        self.relations_obj = store.relations_store
        self.boundary = args.boundary
        self.num_rel = args.relation_length
        self.puzzles = {}
        self.puzzle_ct = 0
        self.expansions = {} # (a,b) : [list]
        # save the edges which are used already
        self.done_edges = set()
        self.apply_almost_complete()
        self.precompute_expansions(list(self.anc.family.keys()))