clasohm@1465: (* Title: HOL/ex/unsolved clasohm@969: ID: $Id$ clasohm@1465: Author: Lawrence C Paulson, Cambridge University Computer Laboratory clasohm@969: Copyright 1992 University of Cambridge clasohm@969: clasohm@969: Problems that currently defeat the MESON procedure as well as best_tac clasohm@969: *) clasohm@969: paulson@1586: (*from Vladimir Lifschitz, What Is the Inverse Method?, JAR 5 1989. 1--23*) paulson@2031: (*27 clauses; 81 Horn clauses*) paulson@1586: goal HOL.thy "? x x'. ! y. ? z z'. (~P y y | P x x | ~S z x) & \ paulson@1586: \ (S x y | ~S y z | Q z' z') & \ paulson@1586: \ (Q x' y | ~Q y z' | S x' x')"; clasohm@969: clasohm@969: clasohm@969: clasohm@969: writeln"Problem 55"; clasohm@969: paulson@1586: (*Original, equational version by Len Schubert [via Pelletier] *) clasohm@969: goal HOL.thy paulson@1586: "(? x. lives x & killed x agatha) & \ paulson@1586: \ lives agatha & lives butler & lives charles & \ paulson@1586: \ (! x. lives x --> x=agatha | x=butler | x=charles) & \ paulson@1586: \ (! x y. killed x y --> hates x y) & \ paulson@1586: \ (! x y. killed x y --> ~richer x y) & \ paulson@1586: \ (! x. hates agatha x --> ~hates charles x) & \ paulson@1586: \ (! x. ~ x=butler --> hates agatha x) & \ paulson@1586: \ (! x. ~richer x agatha --> hates butler x) & \ paulson@1586: \ (! x. hates agatha x --> hates butler x) & \ paulson@1586: \ (! x. ? y. ~hates x y) & \ clasohm@969: \ ~ agatha=butler --> \ paulson@1586: \ killed agatha agatha"; clasohm@969: paulson@1586: (*Halting problem: Formulation of Li Dafa (AAR Newsletter 27, Oct 1994.) paulson@2031: author U. Egly; 46 clauses; 264 Horn clauses*) paulson@1586: goal HOL.thy paulson@1586: "((EX X. (a X) & (ALL Y. (c Y) --> (ALL Z. (d X Y Z)))) --> \ paulson@1586: \ (EX W. (c W) & (ALL Y. (c Y) --> (ALL Z. (d W Y Z))))) \ paulson@1586: \ & \ paulson@1586: \ (ALL W. (c W) & (ALL U. (c U) --> (ALL V. (d W U V))) --> \ paulson@1586: \ (ALL Y Z. \ paulson@1586: \ ((c Y) & (h2 Y Z) --> (h3 W Y Z) & (oo W g)) & \ paulson@1586: \ ((c Y) & ~(h2 Y Z) --> (h3 W Y Z) & (oo W b)))) \ paulson@1586: \ & \ paulson@1586: \ (ALL W. (c W) & \ paulson@1586: \ (ALL Y Z. \ paulson@1586: \ ((c Y) & (h2 Y Z) --> (h3 W Y Z) & (oo W g)) & \ paulson@1586: \ ((c Y) & ~(h2 Y Z) --> (h3 W Y Z) & (oo W b))) --> \ paulson@1586: \ (EX V. (c V) & \ paulson@1586: \ (ALL Y. (((c Y) & (h3 W Y Y)) & (oo W g) --> ~(h2 V Y)) & \ paulson@1586: \ (((c Y) & (h3 W Y Y)) & (oo W b) --> (h2 V Y) & (oo V b))))) \ paulson@1586: \ --> \ paulson@1586: \ ~ (EX X. (a X) & (ALL Y. (c Y) --> (ALL Z. (d X Y Z))))"; clasohm@969: