# HG changeset patch # User wenzelm # Date 1186937583 -7200 # Node ID 85fb973a8207e5873e421add195de50c686f1990 # Parent f63bca3e574e2b9a01a06b6ace9c142e0ed0e8b0 added type constraints to resolve syntax ambiguities; diff -r f63bca3e574e -r 85fb973a8207 src/HOL/Lambda/Eta.thy --- a/src/HOL/Lambda/Eta.thy Sun Aug 12 14:14:24 2007 +0200 +++ b/src/HOL/Lambda/Eta.thy Sun Aug 12 18:53:03 2007 +0200 @@ -142,11 +142,13 @@ done lemma rtrancl_eta_subst': + fixes s t :: dB assumes eta: "s \\<^sub>\\<^sup>* t" shows "s[u/i] \\<^sub>\\<^sup>* t[u/i]" using eta by induct (iprover intro: eta_subst)+ lemma rtrancl_eta_subst'': + fixes s t :: dB assumes eta: "s \\<^sub>\\<^sup>* t" shows "u[s/i] \\<^sub>\\<^sup>* u[t/i]" using eta by induct (iprover intro: rtrancl_eta_subst rtranclp_trans)+ @@ -238,6 +240,7 @@ *} theorem eta_case: + fixes s :: dB assumes free: "\ free s 0" and s: "s[dummy/0] => u" shows "\t'. Abs (s \ Var 0) => t' \ t' \\<^sub>\\<^sup>* u" diff -r f63bca3e574e -r 85fb973a8207 src/HOL/Nominal/Examples/Crary.thy --- a/src/HOL/Nominal/Examples/Crary.thy Sun Aug 12 14:14:24 2007 +0200 +++ b/src/HOL/Nominal/Examples/Crary.thy Sun Aug 12 18:53:03 2007 +0200 @@ -274,6 +274,7 @@ "\\<^isub>1 \ \\<^isub>2 \ \a T. (a,T)\set \\<^isub>1 \ (a,T)\set \\<^isub>2" lemma valid_monotonicity[elim]: + fixes \ \' :: Ctxt assumes a: "\ \ \'" and b: "x\\'" shows "(x,T\<^isub>1)#\ \ (x,T\<^isub>1)#\'" @@ -373,6 +374,7 @@ done lemma test3a: + fixes \ :: Ctxt and t :: trm assumes a: "\ \ t : T" shows "(supp t) \ ((supp \)::name set)" using a @@ -392,6 +394,7 @@ done lemma test3: + fixes \ :: Ctxt and s t :: trm assumes a: "\ \ s \ t : T" shows "(supp (s,t)) \ ((supp \)::name set)" using a @@ -765,7 +768,8 @@ apply(auto) done -lemma logical_monotonicity : +lemma logical_monotonicity: + fixes \ \' :: Ctxt assumes a1: "\ \ s is t : T" and a2: "\ \ \'" and a3: "valid \'" @@ -915,6 +919,7 @@ qed lemma logical_subst_monotonicity : + fixes \ \' \'' :: Ctxt assumes a: "\' \ \ is \' over \" and b: "\' \ \''" and c: "valid \''" diff -r f63bca3e574e -r 85fb973a8207 src/HOL/Nominal/Examples/LocalWeakening.thy --- a/src/HOL/Nominal/Examples/LocalWeakening.thy Sun Aug 12 14:14:24 2007 +0200 +++ b/src/HOL/Nominal/Examples/LocalWeakening.thy Sun Aug 12 18:53:03 2007 +0200 @@ -143,6 +143,7 @@ "\1 \ \2 \ \x T. (x,T)\set \1 \ (x,T)\set \2" lemma weakening_almost_automatic: + fixes \1 \2 :: cxt assumes a: "\1 \ t : T" and b: "\1 \ \2" and c: "valid \2" @@ -155,6 +156,7 @@ done lemma weakening_in_more_detail: + fixes \1 \2 :: cxt assumes a: "\1 \ t : T" and b: "\1 \ \2" and c: "valid \2" diff -r f63bca3e574e -r 85fb973a8207 src/HOL/Nominal/Examples/SOS.thy --- a/src/HOL/Nominal/Examples/SOS.thy Sun Aug 12 14:14:24 2007 +0200 +++ b/src/HOL/Nominal/Examples/SOS.thy Sun Aug 12 18:53:03 2007 +0200 @@ -366,6 +366,7 @@ qed lemma weakening: + fixes \\<^isub>1 \\<^isub>2 :: "(name\ty) list" assumes "\\<^isub>1 \ e: T" and "valid \\<^isub>2" and "\\<^isub>1 \ \\<^isub>2" shows "\\<^isub>2 \ e: T" using assms diff -r f63bca3e574e -r 85fb973a8207 src/HOL/Nominal/Examples/Weakening.thy --- a/src/HOL/Nominal/Examples/Weakening.thy Sun Aug 12 14:14:24 2007 +0200 +++ b/src/HOL/Nominal/Examples/Weakening.thy Sun Aug 12 18:53:03 2007 +0200 @@ -59,6 +59,7 @@ text {* Now it comes: The Weakening Lemma *} lemma weakening_version1: + fixes \1 \2 :: "(name\ty) list" assumes a: "\1 \ t : T" and b: "valid \2" and c: "\1 \ \2" @@ -97,7 +98,8 @@ with vc show "\2 \ Lam [x].t : T1\T2" by auto qed (auto) (* app case *) -lemma weakening_version3: +lemma weakening_version3: + fixes \1 \2 :: "(name\ty) list" assumes a: "\1 \ t : T" and b: "valid \2" and c: "\1 \ \2" @@ -120,6 +122,7 @@ is not strong enough - even this simple lemma fails to be simple ;o) *} lemma weakening_too_weak: + fixes \1 \2 :: "(name\ty) list" assumes a: "\1 \ t : T" and b: "valid \2" and c: "\1 \ \2"