Weaking of injectivity assumptions for newK and newN:
authorpaulson
Thu, 28 Nov 1996 10:41:14 +0100
changeset 2264 f298678bd54a
parent 2263 c741309167bf
child 2265 3123fef88dce
Weaking of injectivity assumptions for newK and newN: they are no longer assumed injective over all traces, merely over the length of a trace
src/HOL/Auth/NS_Shared.ML
src/HOL/Auth/OtwayRees.ML
src/HOL/Auth/OtwayRees_AN.ML
src/HOL/Auth/OtwayRees_Bad.ML
src/HOL/Auth/Shared.ML
src/HOL/Auth/Shared.thy
src/HOL/Auth/Yahalom.ML
src/HOL/Auth/Yahalom2.ML
--- a/src/HOL/Auth/NS_Shared.ML	Wed Nov 27 20:36:33 1996 +0100
+++ b/src/HOL/Auth/NS_Shared.ML	Thu Nov 28 10:41:14 1996 +0100
@@ -114,7 +114,8 @@
 \                length evs <= length evs' --> \
 \                Key (newK evs') ~: parts (sees lost Spy evs)";
 by (parts_induct_tac 1);
-by (ALLGOALS (fast_tac (!claset addDs [impOfSubs analz_subset_parts,
+by (ALLGOALS (fast_tac (!claset addEs [leD RS notE]
+				addDs [impOfSubs analz_subset_parts,
                                        impOfSubs parts_insert_subset_Un,
                                        Suc_leD]
                                 addss (!simpset))));
@@ -144,7 +145,8 @@
 by (REPEAT_FIRST
     (fast_tac (!claset addSEs partsEs
                        addSDs  [Says_imp_sees_Spy RS parts.Inj]
-                       addDs  [impOfSubs analz_subset_parts,
+                       addEs [leD RS notE]
+				addDs  [impOfSubs analz_subset_parts,
                                impOfSubs parts_insert_subset_Un, Suc_leD]
                        addss (!simpset))));
 qed_spec_mp "new_nonces_not_seen";
--- a/src/HOL/Auth/OtwayRees.ML	Wed Nov 27 20:36:33 1996 +0100
+++ b/src/HOL/Auth/OtwayRees.ML	Thu Nov 28 10:41:14 1996 +0100
@@ -136,7 +136,8 @@
 \                length evs <= length evs' --> \
 \                Key (newK evs') ~: parts (sees lost Spy evs)";
 by (parts_induct_tac 1);
-by (REPEAT_FIRST (best_tac (!claset addDs [impOfSubs analz_subset_parts,
+by (REPEAT_FIRST (best_tac (!claset addEs [leD RS notE]
+				    addDs [impOfSubs analz_subset_parts,
                                            impOfSubs parts_insert_subset_Un,
                                            Suc_leD]
                                     addss (!simpset))));
@@ -165,7 +166,8 @@
 by (REPEAT_FIRST (fast_tac (!claset 
                               addSEs partsEs
                               addSDs  [Says_imp_sees_Spy RS parts.Inj]
-                              addDs  [impOfSubs analz_subset_parts,
+                              addEs [leD RS notE]
+			      addDs  [impOfSubs analz_subset_parts,
                                       impOfSubs parts_insert_subset_Un,
                                       Suc_leD]
                               addss (!simpset))));
--- a/src/HOL/Auth/OtwayRees_AN.ML	Wed Nov 27 20:36:33 1996 +0100
+++ b/src/HOL/Auth/OtwayRees_AN.ML	Thu Nov 28 10:41:14 1996 +0100
@@ -124,7 +124,8 @@
 \                length evs <= length evs' --> \
 \                Key (newK evs') ~: parts (sees lost Spy evs)";
 by (parts_induct_tac 1);
-by (REPEAT_FIRST (best_tac (!claset addDs [impOfSubs analz_subset_parts,
+by (REPEAT_FIRST (best_tac (!claset addEs [leD RS notE]
+				    addDs [impOfSubs analz_subset_parts,
                                            impOfSubs parts_insert_subset_Un,
                                            Suc_leD]
                                     addss (!simpset))));
@@ -135,7 +136,7 @@
 goal thy 
  "!!evs. [| Says A B X : set_of_list evs;  \
 \           Key (newK evt) : parts {X};    \
-\           evs : otway lost                 \
+\           evs : otway lost               \
 \        |] ==> length evt < length evs";
 by (rtac ccontr 1);
 by (dtac leI 1);
--- a/src/HOL/Auth/OtwayRees_Bad.ML	Wed Nov 27 20:36:33 1996 +0100
+++ b/src/HOL/Auth/OtwayRees_Bad.ML	Thu Nov 28 10:41:14 1996 +0100
@@ -136,7 +136,8 @@
 \                length evs <= length evs' --> \
 \                Key (newK evs') ~: parts (sees lost Spy evs)";
 by (parts_induct_tac 1);
-by (REPEAT_FIRST (best_tac (!claset addDs [impOfSubs analz_subset_parts,
+by (REPEAT_FIRST (best_tac (!claset addEs [leD RS notE]
+				    addDs [impOfSubs analz_subset_parts,
 					   impOfSubs parts_insert_subset_Un,
 					   Suc_leD]
                                 addss (!simpset))));
@@ -165,6 +166,7 @@
 by (REPEAT_FIRST
     (fast_tac (!claset addSEs partsEs
 	               addSDs  [Says_imp_sees_Spy RS parts.Inj]
+		       addEs [leD RS notE]
 		       addDs  [impOfSubs analz_subset_parts,
 			       impOfSubs parts_insert_subset_Un, Suc_leD]
 		       addss (!simpset))));
--- a/src/HOL/Auth/Shared.ML	Wed Nov 27 20:36:33 1996 +0100
+++ b/src/HOL/Auth/Shared.ML	Thu Nov 28 10:41:14 1996 +0100
@@ -56,7 +56,8 @@
 
 
 (*Injectiveness and freshness of new keys and nonces*)
-AddIffs [inj_shrK RS inj_eq, inj_newN RS inj_eq, inj_newK RS inj_eq];
+AddIffs [inj_shrK RS inj_eq];
+AddSDs  [newN_length, newK_length];
 
 (** Rewrites should not refer to  initState(Friend i) 
     -- not in normal form! **)
--- a/src/HOL/Auth/Shared.thy	Wed Nov 27 20:36:33 1996 +0100
+++ b/src/HOL/Auth/Shared.thy	Thu Nov 28 10:41:14 1996 +0100
@@ -54,9 +54,9 @@
 rules
   inj_shrK      "inj shrK"
 
-  inj_newN      "inj newN"
+  newN_length   "(newN evs = newN evt) ==> (length evs = length evt)"
+  newK_length   "(newK evs = newK evt) ==> (length evs = length evt)"
 
-  inj_newK      "inj newK"
   newK_neq_shrK "newK evs ~= shrK A" 
   isSym_newK    "isSymKey (newK evs)"
 
--- a/src/HOL/Auth/Yahalom.ML	Wed Nov 27 20:36:33 1996 +0100
+++ b/src/HOL/Auth/Yahalom.ML	Thu Nov 28 10:41:14 1996 +0100
@@ -123,7 +123,8 @@
 \                length evs <= length evs' --> \
 \                Key (newK evs') ~: parts (sees lost Spy evs)";
 by (parts_induct_tac 1);
-by (REPEAT_FIRST (best_tac (!claset addDs [impOfSubs analz_subset_parts,
+by (REPEAT_FIRST (best_tac (!claset addEs [leD RS notE]
+				    addDs [impOfSubs analz_subset_parts,
                                            impOfSubs parts_insert_subset_Un,
                                            Suc_leD]
                                     addss (!simpset))));
--- a/src/HOL/Auth/Yahalom2.ML	Wed Nov 27 20:36:33 1996 +0100
+++ b/src/HOL/Auth/Yahalom2.ML	Thu Nov 28 10:41:14 1996 +0100
@@ -131,7 +131,8 @@
 \                length evs <= length evs' --> \
 \                Key (newK evs') ~: parts (sees lost Spy evs)";
 by (parts_induct_tac 1);
-by (REPEAT_FIRST (best_tac (!claset addDs [impOfSubs analz_subset_parts,
+by (REPEAT_FIRST (best_tac (!claset addEs [leD RS notE]
+				    addDs [impOfSubs analz_subset_parts,
                                            impOfSubs parts_insert_subset_Un,
                                            Suc_leD]
                                     addss (!simpset))));