src/HOL/ex/cla.ML
changeset 10212 33fe2d701ddd
parent 6799 95abcc002a21
child 11025 a70b796d9af8
equal deleted inserted replaced
10211:1bece7f35762 10212:33fe2d701ddd
   460 by (Blast_tac 1);
   460 by (Blast_tac 1);
   461 result();
   461 result();
   462 
   462 
   463 (*From Davis, Obvious Logical Inferences, IJCAI-81, 530-531
   463 (*From Davis, Obvious Logical Inferences, IJCAI-81, 530-531
   464   Fast_tac indeed copes!*)
   464   Fast_tac indeed copes!*)
   465 goal Prod.thy "(ALL x. F(x) & ~G(x) --> (EX y. H(x,y) & J(y))) & \
   465 goal Product_Type.thy "(ALL x. F(x) & ~G(x) --> (EX y. H(x,y) & J(y))) & \
   466 \             (EX x. K(x) & F(x) & (ALL y. H(x,y) --> K(y))) &   \
   466 \             (EX x. K(x) & F(x) & (ALL y. H(x,y) --> K(y))) &   \
   467 \             (ALL x. K(x) --> ~G(x))  -->  (EX x. K(x) & J(x))";
   467 \             (ALL x. K(x) --> ~G(x))  -->  (EX x. K(x) & J(x))";
   468 by (Fast_tac 1);
   468 by (Fast_tac 1);
   469 result();
   469 result();
   470 
   470 
   471 (*From Rudnicki, Obvious Inferences, JAR 3 (1987), 383-393.  
   471 (*From Rudnicki, Obvious Inferences, JAR 3 (1987), 383-393.  
   472   It does seem obvious!*)
   472   It does seem obvious!*)
   473 goal Prod.thy
   473 goal Product_Type.thy
   474     "(ALL x. F(x) & ~G(x) --> (EX y. H(x,y) & J(y))) &        \
   474     "(ALL x. F(x) & ~G(x) --> (EX y. H(x,y) & J(y))) &        \
   475 \    (EX x. K(x) & F(x) & (ALL y. H(x,y) --> K(y)))  &        \
   475 \    (EX x. K(x) & F(x) & (ALL y. H(x,y) --> K(y)))  &        \
   476 \    (ALL x. K(x) --> ~G(x))   -->   (EX x. K(x) --> ~G(x))";
   476 \    (ALL x. K(x) --> ~G(x))   -->   (EX x. K(x) --> ~G(x))";
   477 by (Fast_tac 1);
   477 by (Fast_tac 1);
   478 result();
   478 result();
   486 \     (ALL x. ~healthy(x) & cyclist(x) --> ~honest(x))  \
   486 \     (ALL x. ~healthy(x) & cyclist(x) --> ~honest(x))  \
   487 \     --> (ALL x. grocer(x) --> ~cyclist(x))";
   487 \     --> (ALL x. grocer(x) --> ~cyclist(x))";
   488 by (Blast_tac 1);
   488 by (Blast_tac 1);
   489 result();
   489 result();
   490 
   490 
   491 goal Prod.thy
   491 goal Product_Type.thy
   492     "(ALL x y. R(x,y) | R(y,x)) &                \
   492     "(ALL x y. R(x,y) | R(y,x)) &                \
   493 \    (ALL x y. S(x,y) & S(y,x) --> x=y) &        \
   493 \    (ALL x y. S(x,y) & S(y,x) --> x=y) &        \
   494 \    (ALL x y. R(x,y) --> S(x,y))    -->   (ALL x y. S(x,y) --> R(x,y))";
   494 \    (ALL x y. R(x,y) --> S(x,y))    -->   (ALL x y. S(x,y) --> R(x,y))";
   495 by (Blast_tac 1);
   495 by (Blast_tac 1);
   496 result();
   496 result();