130 likes | 149 Views
Automated Proof Generation for EG. Bram van Heuveln Spring 2003 AI & Reasoning Lab, RPI. Automated Proof Generation. Automated Proof Generation (APG) tries to come with routines that systematically generate formal derivations (formal proofs).
E N D
Automated Proof Generation for EG Bram van Heuveln Spring 2003 AI & Reasoning Lab, RPI
Automated Proof Generation • Automated Proof Generation (APG) tries to come with routines that systematically generate formal derivations (formal proofs). • APG is a subdivision of ATP, in that in ATP one is not restricted to formal proofs to decide whether something does or does not follow. That is, Proof Generation is one way to do Theorem Proving, but there are other ways as well, such as truth-tables, truth-trees, Davis-Putnam, etc.
APG for EG • I will present an APG routine that systematically derives a conclusion from a set of premises in the EG system, assuming that the conclusion is logically entailed by the premises. • If the conclusion does not follow from the premises, then the procedure produces counterexamples. • Like most ATP routines, this APG routine is based on a consistency checking mechanism, and adds a few routines to make that into a formal proof. • First, we need to define the notion of a satisfaction graph (or model graph).
Satisfaction Graph • A model is a list of literals where for each literal in the list, its complement is not in the list. • A satisfaction graph is a graph of the following form (i.e. it is a graph depicting a disjunction of models): M1 Mn for n = 1: M for n = 0:
Reducing a Graph with regard to a Literal • The reduction of any graph with regard to a literal graph L (i.e. L is either an atomic sentence or the negation of an atomic sentence), is obtained from graph by removing all occurrences of L, and by removing all complements of L with the empty cut. • We’ll write this as L.
Routine for Transforming any Graph into a Satisfaction Graph graph Transform(G) // when applicable, remove DC’s and duplicates begin if G = or return G; L return Paste(L, Transform(L); if G = return if G = 1 n ) Transform( 1 Transform( n ) end
Paste Routine graph Paste(L, G) //L is a literal, G is a satisfaction graph begin if G = return if G = M return L M if G = M1 Mn return L M1 L Mn end
The Trans Routine and Model Graphs • Basically, for any graph G, the Transform routine (Trans) transforms G into satisfaction graph S, where S is a DNF equivalent to G. • The Trans routine also makes sure that all disjuncts (which are conjunctions of literals) are consistent. • Hence, S represents various truth-value assignments (models) that can be used to satisfy G. • If G is unsatisfiable, then there are no models for G, and hence S will be a disjunction of 0 disjuncts, i.e. the empty cut. • Example on next slide.
U W Trans( U V W V ) = W U Trans( U V W U W W U V ) = V Trans( U W U ) Trans( W W U ) = V U W U W = U V W U V W
Final Routine for APG in EG • Given any graphs and , if |= , the following routine systematically transforms into , using the inference rules from EG: Trans DC DC IT(2x) E IN DC
Why the Routine Works • The routine works because: • 1. The Trans routine finds all models that satisfy G. So, if |= , then the graph for and ~ will be unsatisfiable, and hence the Trans routine will output an empty cut. • 2. The Trans(form) and Paste routines can be simulated by following EG rules. That is, reducing a graph with regard to some literal amounts to deiteration, and pasting a literal back to possible models amounts to iteration, and other than that you use Double Cut rules. • It is interesting to note that the Trans routine follows very much the same path as the EGTT satisfiability routine (illustrated on next 2 slides).
X Y X Y Sat( ) = X Y X Y X X X Y Y X Y Sat( ) | | Sat( ) = X Y X Y X Y X Y = Sat( Y Y ) | | Sat( X X ) ) Sat( | | Sat( ) = False | | False = False
X Y X Y ) = Trans( X Y X Y X X X Y Y X Y Trans( ) Trans( ) = X Y X Y X Y X Y = X X Trans( Y Y ) Y Trans( X X ) =