# HG changeset patch # User wenzelm # Date 1737410824 -3600 # Node ID 7e946a55ab4c3d3c14965cd0216825f8a67cee89 # Parent cb05f8d3fd0503219d9b72b48e317a6af35058f6 tuned proofs; diff -r cb05f8d3fd05 -r 7e946a55ab4c src/HOL/Import/HOL_Light_Maps.thy --- a/src/HOL/Import/HOL_Light_Maps.thy Mon Jan 20 23:00:17 2025 +0100 +++ b/src/HOL/Import/HOL_Light_Maps.thy Mon Jan 20 23:07:04 2025 +0100 @@ -295,7 +295,7 @@ "list_all2 (P::'t18495 \ 't18502 \ bool) [] (l2::'t18502 list) = (l2 = []) \ list_all2 P ((h1::'t18495) # (t1::'t18495 list)) l2 = (if l2 = [] then False else P h1 (hd l2) \ list_all2 P t1 (tl l2))" - by simp (induct_tac l2, simp_all) + by simp (induct l2, simp_all) lemma FILTER[import_const FILTER : filter]: "filter (P::'t18680 \ bool) [] = [] \ @@ -308,18 +308,19 @@ by simp lemma WF[import_const WF : wfP]: - "\u. wfP u \ (\P. (\x :: 'A. P x) \ (\x. P x \ (\y. u y x \ \ P y)))" + "\R. wfP R \ (\P. (\x :: 'A. P x) \ (\x. P x \ (\y. R y x \ \ P y)))" proof (intro allI iffI impI wfI_min[to_pred], elim exE wfE_min[to_pred]) - fix u :: "'a \ 'a \ bool" and x :: "'a" and Q - assume a: "x \ Q" - assume "\P. (\x. P x) \ (\x. P x \ (\y. u y x \ \ P y))" - then have "(\x. x \ Q) \ (\x. (\x. x \ Q) x \ (\y. u y x \ y \ Q))" by auto - with a show "\x\Q. \y. u y x \ y \ Q" by auto -next - fix u P and x :: 'A and z - assume "P x" "z \ {a. P a}" "\y. u y z \ y \ {a. P a}" - then show "\x. P x \ (\y. u y x \ \ P y)" by auto + fix R :: "'a \ 'a \ bool" and P :: "'a \ bool" and x z :: "'a" + { + fix Q + assume a: "x \ Q" + assume "\P. (\x. P x) \ (\x. P x \ (\y. R y x \ \ P y))" + then have "(\x. x \ Q) \ (\x. (\x. x \ Q) x \ (\y. R y x \ y \ Q))" by auto + with a show "\x\Q. \y. R y x \ y \ Q" by auto + next + assume "P x" "z \ {a. P a}" "\y. R y z \ y \ {a. P a}" + then show "\x. P x \ (\y. R y x \ \ P y)" by auto + } qed auto end -