# HG changeset patch # User wenzelm # Date 1322830765 -3600 # Node ID e77eba3cb2e11b598d1ea096b7dbb2c732173bd9 # Parent 2888e076ac178cab9bbf5ad8cc21f7a8f6a49837 removed dead code, which has never been active in recorded history; diff -r 2888e076ac17 -r e77eba3cb2e1 src/FOLP/IsaMakefile --- a/src/FOLP/IsaMakefile Fri Dec 02 13:51:36 2011 +0100 +++ b/src/FOLP/IsaMakefile Fri Dec 02 13:59:25 2011 +0100 @@ -36,9 +36,8 @@ $(LOG)/FOLP-ex.gz: $(OUT)/FOLP ex/ROOT.ML ex/Foundation.thy ex/If.thy \ ex/Intro.thy ex/Nat.thy ex/Intuitionistic.thy ex/Classical.thy \ - ex/Prolog.ML ex/Prolog.thy ex/Propositional_Int.thy \ - ex/Propositional_Cla.thy ex/Quantifiers_Int.thy \ - ex/Quantifiers_Cla.thy + ex/Propositional_Int.thy ex/Propositional_Cla.thy \ + ex/Quantifiers_Int.thy ex/Quantifiers_Cla.thy @$(ISABELLE_TOOL) usedir $(OUT)/FOLP ex diff -r 2888e076ac17 -r e77eba3cb2e1 src/FOLP/ex/Prolog.ML --- a/src/FOLP/ex/Prolog.ML Fri Dec 02 13:51:36 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -(* Title: FOLP/ex/Prolog.ML - Author: Lawrence C Paulson, Cambridge University Computer Laboratory - Copyright 1992 University of Cambridge - -For ex/prolog.thy. First-Order Logic: PROLOG examples -*) - -open Prolog; - -Goal "app(a:b:c:Nil, d:e:Nil, ?x)"; -by (resolve_tac [appNil,appCons] 1); -by (resolve_tac [appNil,appCons] 1); -by (resolve_tac [appNil,appCons] 1); -by (resolve_tac [appNil,appCons] 1); -result(); - -Goal "app(?x, c:d:Nil, a:b:c:d:Nil)"; -by (REPEAT (resolve_tac [appNil,appCons] 1)); -result(); - - -Goal "app(?x, ?y, a:b:c:d:Nil)"; -by (REPEAT (resolve_tac [appNil,appCons] 1)); -back(); -back(); -back(); -back(); -result(); - - -(*app([x1,...,xn], y, ?z) requires (n+1) inferences*) -(*rev([x1,...,xn], ?y) requires (n+1)(n+2)/2 inferences*) - -Goal "rev(a:b:c:d:Nil, ?x)"; -val rules = [appNil,appCons,revNil,revCons]; -by (REPEAT (resolve_tac rules 1)); -result(); - -Goal "rev(a:b:c:d:e:f:g:h:i:j:k:l:m:n:Nil, ?w)"; -by (REPEAT (resolve_tac rules 1)); -result(); - -Goal "rev(?x, a:b:c:Nil)"; -by (REPEAT (resolve_tac rules 1)); (*does not solve it directly!*) -back(); -back(); - -(*backtracking version*) -val prolog_tac = DEPTH_FIRST (has_fewer_prems 1) (resolve_tac rules 1); - -choplev 0; -by prolog_tac; -result(); - -Goal "rev(a:?x:c:?y:Nil, d:?z:b:?u)"; -by prolog_tac; -result(); - -(*rev([a..p], ?w) requires 153 inferences *) -Goal "rev(a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:Nil, ?w)"; -by (DEPTH_SOLVE (resolve_tac ([refl,conjI]@rules) 1)); -(*Poly/ML: 4 secs >> 38 lips*) -result(); - -(*?x has 16, ?y has 32; rev(?y,?w) requires 561 (rather large) inferences; - total inferences = 2 + 1 + 17 + 561 = 581*) -Goal - "a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:Nil = ?x & app(?x,?x,?y) & rev(?y,?w)"; -by (DEPTH_SOLVE (resolve_tac ([refl,conjI]@rules) 1)); -(*Poly/ML: 29 secs >> 20 lips*) -result(); - -writeln"Reached end of file."; diff -r 2888e076ac17 -r e77eba3cb2e1 src/FOLP/ex/Prolog.thy --- a/src/FOLP/ex/Prolog.thy Fri Dec 02 13:51:36 2011 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -(* Title: FOLP/ex/Prolog.thy - Author: Lawrence C Paulson, Cambridge University Computer Laboratory - Copyright 1992 University of Cambridge - -First-Order Logic: PROLOG examples - -Inherits from FOL the class term, the type o, and the coercion Trueprop -*) - -Prolog = FOL + -types 'a list -arities list :: (term)term -consts Nil :: "'a list" - ":" :: "['a, 'a list]=> 'a list" (infixr 60) - app :: "['a list, 'a list, 'a list] => o" - rev :: "['a list, 'a list] => o" -rules appNil "app(Nil,ys,ys)" - appCons "app(xs,ys,zs) ==> app(x:xs, ys, x:zs)" - revNil "rev(Nil,Nil)" - revCons "[| rev(xs,ys); app(ys, x:Nil, zs) |] ==> rev(x:xs, zs)" -end