def diagram(state,clauses,implied=false_clauses(),extra_axioms=None,weaken=True): """ Return the diagram of a single model of clauses in state or None if clauses are unsat. """ axioms = state.domain.background_theory(state.in_scope) if extra_axioms: axioms = and_clauses(axioms,extra_axioms) under = clauses_model_to_diagram(clauses,is_skolem,implied,axioms=axioms,weaken=weaken) return under
def get_diagram(goal, weaken=False): axioms = _ivy_interp.background_theory() d = ivy_solver.clauses_model_to_diagram( and_clauses(goal.node.clauses, goal.formula), is_skolem, #None, false_clauses(), axioms=axioms, weaken=weaken, ) return goal_at_arg_node(d, goal.node)
def get_diagram(goal, weaken=False): axioms = _ivy_interp.background_theory() d = ivy_solver.clauses_model_to_diagram( and_clauses(goal.node.clauses, goal.formula), is_skolem, # None, false_clauses(), axioms=axioms, weaken=weaken, ) return goal_at_arg_node(d, goal.node)
def diagram(self): from ivy_solver import clauses_model_to_diagram, get_model_clauses from ivy_transrel import is_skolem, reverse_image if not self.have_cti: if self.check_inductiveness() or len(self.g.states) != 2: return conj = self.current_conjecture post = ilu.dual_clauses(conj) if conj != None else ilu.true_clauses() pre = self.g.states[0].clauses axioms = im.module.background_theory() rev = ilu.and_clauses(reverse_image(post,axioms,self.g.states[1].update), axioms) clauses = ilu.and_clauses(pre,rev) mod = get_model_clauses(clauses) assert mod != None diag = clauses_model_to_diagram(rev,is_skolem,model=mod) self.g.states[0].clauses = diag self.view_state(self.g.states[0], reset=True) self.show_used_relations(diag,both=True)
def diagram(self): from ivy_solver import clauses_model_to_diagram, get_model_clauses from ivy_transrel import is_skolem, reverse_image if not self.have_cti: if self.check_inductiveness() or len(self.g.states) != 2: return conj = self.current_conjecture post = ilu.dual_clauses(conj) if conj != None else ilu.true_clauses() pre = self.g.states[0].clauses axioms = im.module.background_theory() rev = ilu.and_clauses( reverse_image(post, axioms, self.g.states[1].update), axioms) clauses = ilu.and_clauses(pre, rev) mod = get_model_clauses(clauses) assert mod != None diag = clauses_model_to_diagram(rev, is_skolem, model=mod) self.g.states[0].clauses = diag self.view_state(self.g.states[0], reset=True) self.show_used_relations(diag, both=True)